:root{--color-primary: #3498db;--color-primary-hover: #2980b9;--color-success: #27ae60;--color-success-hover: #229954;--color-danger: #e74c3c;--color-danger-hover: #c0392b;--color-warning: #f39c12;--color-info: #007bff;--color-neutral: #95a5a6;--color-neutral-hover: #7f8c8d;--color-text: #2c3e50;--color-text-light: #7f8c8d;--color-text-muted: #666;--color-text-dark: #333;--color-bg: #f8f9fa;--color-bg-white: #ffffff;--color-bg-light: #f8f9fa;--color-bg-muted: #e9ecef;--color-border: #ddd;--color-border-light: #e9ecef;--color-border-muted: #bdc3c7;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-xxl: 3rem;--transition-fast: .2s ease;--transition-normal: .3s ease;--transition-slow: .5s ease;--radius-sm: 4px;--radius-md: 5px;--radius-lg: 6px;--radius-xl: 8px;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .1);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 40px rgba(0, 0, 0, .1);--font-size-xs: .75rem;--font-size-sm: .85rem;--font-size-md: .9rem;--font-size-lg: 1rem;--font-size-xl: 1.2rem;--font-size-xxl: 3.5rem;--z-elevated: 10;--z-modal: 1000;--z-notification: 10000}*{margin:0;padding:0;box-sizing:border-box}body{height:100vh;background:var(--color-bg);color:var(--color-text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;transition:background var(--transition-slow)}button{font-family:inherit}body.focus-mode .controls,body.focus-mode .corner-btn,body.focus-mode .status-bar,body.focus-mode .timer-btn{opacity:0;pointer-events:none;transition:opacity 1s ease}body.focus-mode.show-ui .controls,body.focus-mode.show-ui .corner-btn,body.focus-mode.show-ui .status-bar,body.focus-mode.show-ui .timer-btn{opacity:1;pointer-events:auto}body.modal-open{overflow:hidden}.container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;max-width:800px;margin:0 auto;padding:var(--space-xl)}.flex-space-between{flex:1}.empty-state{padding:20px;color:var(--color-text-muted);font-style:italic;text-align:center}.show{display:block!important}.session-details{display:none;flex-direction:column;align-items:center;justify-content:space-between;margin-bottom:var(--space-md);color:var(--color-text-light);font-size:1.5rem;font-weight:300}.timer-container{margin-bottom:var(--space-xxl);text-align:center}.timer-display{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:300px;min-height:200px;margin-bottom:var(--space-md);padding:var(--space-xxl) 4rem;border-radius:20px;background:var(--color-bg-white);color:var(--color-text);font-size:var(--font-size-xxl);font-weight:200;font-variant-numeric:tabular-nums;letter-spacing:-.02em;box-shadow:var(--shadow-lg)}.interval-info{margin-top:var(--space-md);color:var(--color-text-light);font-size:1.5rem;font-weight:300}.timer-btn{position:absolute;border:none;background:none;color:var(--color-border);cursor:pointer;transition:all .3s ease}.timer-btn:hover{transform:scale(1.1)}.timer-btn:active{transform:scale(.95)}.audio-btn{top:.9rem;left:1rem}.repeat-btn{top:.9rem;right:1rem}.focus-mode-btn{bottom:.9rem;right:1rem}.wake-lock-btn{bottom:.9rem;left:1rem}.interval-status-btn{top:.7rem;left:50%;font-size:1rem;font-weight:500;transform:translate(-50%)}.interval-status-btn:hover{transform:translate(-50%) scale(1.1)}.interval-status-btn:active{transform:translate(-50%) scale(.95)}.volume-bar-3{display:none}.focus-mode-disabled-line,.repeat-disabled-line,.wake-lock-disabled-line{display:block}.controls{display:flex;gap:var(--space-md)}.control-btn{display:flex;align-items:center;justify-content:center;width:60px;height:60px;border:2px solid var(--color-border-light);border-radius:50px;background:var(--color-bg-white);font-size:1.5rem;cursor:pointer;transition:all var(--transition-fast)}.control-btn:hover{border-color:#dee2e6;background:var(--color-bg-light);transform:scale(1.05)}.control-btn:active{transform:scale(.95)}.control-btn.start{border-color:var(--color-success);background:var(--color-success);color:#fff}.control-btn.pause{border-color:var(--color-warning);background:var(--color-warning);color:#fff}.control-btn.reset{border-color:var(--color-danger);background:var(--color-danger);color:#fff}.control-btn.next{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.interval-item{margin-bottom:var(--space-md);padding:var(--space-md);border:1px solid var(--color-border-light);border-radius:10px;background:var(--color-bg-light)}.interval-item:last-of-type{margin-bottom:0}.interval-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md)}.interval-collapse{flex-shrink:0;padding:var(--space-xs);border:none;background:none;color:var(--color-text-light);font-size:var(--font-size-xs);cursor:pointer;transform:rotate(90deg);transition:transform var(--transition-fast)}.interval-collapse:hover{color:var(--color-text)}.interval-name{flex:1;padding:var(--space-sm);border:1px solid var(--color-border-light);border-radius:var(--radius-md);font-size:var(--font-size-lg)}.interval-duration{width:60px;padding:var(--space-sm);border:1px solid var(--color-border-light);border-radius:var(--radius-md);font-size:var(--font-size-md)}.interval-delete{flex-shrink:0;width:30px;height:30px;margin-left:auto;border-radius:var(--radius-sm);transition:background-color var(--transition-fast)}.interval-details{max-height:1000px;overflow:hidden;opacity:1;transition:all var(--transition-normal)}.interval-item.collapsed .interval-collapse{transform:rotate(0)}.interval-item.collapsed .interval-details{max-height:0;margin-top:0;padding-top:0;opacity:0}.interval-item.collapsed .interval-header{margin-bottom:0}.interval-audio{margin-bottom:1rem}.interval-audio label{display:block;margin-bottom:.5rem;color:#2c3e50;font-weight:500}.interval-audio-controls{display:flex;align-items:center;gap:1rem}.interval-audio-cue{flex:1;min-width:150px;padding:.5rem;border:1px solid #e9ecef;border-radius:5px;background:#fff;font-size:.9rem}.interval-audio-cue:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db33;outline:none}.test-audio-btn{border:none;background:transparent;font-size:1rem;cursor:pointer;transition:all var(--transition-fast)}.test-audio-btn:hover{transform:scale(1.05)}.test-audio-btn:active{transform:scale(.95)}.interval-styles label{display:block;margin-bottom:.5rem;font-weight:500}.interval-css{width:100%;min-height:120px;padding:.75rem;border:1px solid #e9ecef;border-radius:5px;background:#fff;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.85rem;resize:vertical;transition:border-color .2s ease,box-shadow .2s ease}.interval-css:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db33;outline:none}.css-help{display:block;margin-top:.5rem;color:#7f8c8d;font-size:.8rem;font-style:italic}.corner-btn{position:fixed;z-index:999;border:none;background:transparent;color:var(--color-neutral);font-size:1.8rem;cursor:pointer;transition:all var(--transition-fast)}.corner-btn:hover{color:var(--color-text);transform:scale(1.1)}.corner-btn:active{transform:scale(.9)}.corner-btn-topleft{top:var(--space-md);left:var(--space-md)}.corner-btn-topright{top:var(--space-md);right:var(--space-md)}.corner-btn-bottomleft{bottom:var(--space-md);left:var(--space-md)}.btn-small{padding:6px 8px;font-size:12px}.btn-medium{padding:10px;font-size:14px}.btn-danger{border:none;border-radius:var(--radius-sm);background:var(--color-danger);color:#fff;cursor:pointer;transition:background var(--transition-normal)}.btn-danger:hover{background:var(--color-danger-hover)}.btn-neutral{border:none;border-radius:var(--radius-sm);background:var(--color-neutral);color:#fff;cursor:pointer;transition:background var(--transition-normal)}.btn-neutral:hover{background:var(--color-neutral-hover)}.btn-full-width{width:100%}.modal{position:fixed;top:0;left:0;z-index:var(--z-modal);display:none;align-items:center;justify-content:center;width:100%;height:100%;background-color:#00000080;backdrop-filter:blur(5px)}.modal.show{display:flex!important}.modal-content{position:relative;display:flex;flex-direction:column;width:90%;max-width:500px;max-height:90vh;margin:5% auto;border-radius:15px;background-color:var(--color-bg-white);box-shadow:var(--shadow-xl)}.modal-body{flex:1;overflow-y:auto;padding:var(--space-xl);min-height:0}.close{position:absolute;top:-10px;right:-10px;z-index:var(--z-elevated);display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:2px solid #fff;border-radius:50%;background:#1a1a1a;color:#fff;font-size:1.5rem;font-weight:700;box-shadow:var(--shadow-md);cursor:pointer;user-select:none;transition:all var(--transition-fast);text-align:center}.close:hover{background:#333;box-shadow:0 4px 12px #0003;transform:scale(1.1)}.close:active{box-shadow:var(--shadow-sm);transform:scale(.95)}.close:focus{box-shadow:0 0 0 3px #1a1a1a4d;outline:none}.notification{position:fixed;top:var(--space-md);left:50%;z-index:var(--z-notification);max-width:300px;padding:12px 20px;border-radius:var(--radius-xl);background:#4a5568;color:#fff;font-size:var(--font-size-md);box-shadow:0 4px 12px #0000004d;transform:translate(-50%,-100%);animation:slideDownUp 5s cubic-bezier(.65,0,.35,1) forwards}.notification.success{background:#48bb78}.notification.error{background:#f56565}@keyframes slideDownUp{0%{opacity:0;transform:translate(-50%) translateY(-100%)}15%{opacity:1;transform:translate(-50%) translateY(0)}80%{opacity:1;transform:translate(-50%) translateY(0)}95%{opacity:.5;transform:translate(-50%) translateY(-50%)}to{opacity:0;transform:translate(-50%) translateY(-100%)}}.status-bar{position:fixed;bottom:var(--space-md);right:var(--space-md);display:flex;align-items:center;gap:10px;color:var(--color-neutral);font-size:var(--font-size-xs)}.share-btn{border:none;background:transparent;color:var(--color-neutral);cursor:pointer;transition:all var(--transition-fast)}.share-btn:hover{transform:scale(1.1)}.share-info{color:var(--color-text-light);font-size:var(--font-size-sm)}.share-qr-code{text-align:center}.share-qr-code canvas{border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.share-url-container{display:flex;gap:var(--space-sm);margin:var(--space-md) 0}.share-url{flex:1;padding:.75rem;border:1px solid var(--color-border-light);border-radius:var(--radius-xl);background:var(--color-bg-light);font-size:var(--font-size-md)}.copy-btn{padding:.75rem var(--space-md);border:none;border-radius:var(--radius-xl);background:var(--color-primary);color:#fff;cursor:pointer;transition:background var(--transition-fast)}.copy-btn:hover{background:var(--color-primary-hover)}.setting-btn{display:inline-flex;align-items:center;justify-content:center}.intervals-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.intervals-container h4{margin:0}.intervals-actions{display:flex;justify-content:flex-end;gap:.4rem}.add-btn,.export-btn,.import-btn{padding:var(--space-sm) var(--space-md);border:none;border-radius:var(--radius-md);background:var(--color-success);color:#fff;font-size:var(--font-size-lg);cursor:pointer;transition:background var(--transition-fast)}.add-btn:hover,.export-btn:hover{background:var(--color-success-hover)}.import-btn{background:var(--color-primary)}.import-btn:hover{background:var(--color-primary-hover)}.import-file-input{display:none}.settings-section{margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--color-border)}.settings-section h4{margin:0 0 var(--space-lg) 0;color:var(--color-text-dark);font-size:var(--font-size-lg);font-weight:600}.toggle-group{margin-bottom:var(--space-lg)}.toggle-group:last-of-type{margin-bottom:0}.toggle-label{display:flex;align-items:center;justify-content:space-between;cursor:pointer;user-select:none}.toggle-text{color:var(--color-text-dark);font-weight:600}.toggle-switch{position:relative;width:50px;height:26px}.toggle-input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;inset:0;background-color:var(--color-border-muted);border-radius:26px;transition:var(--transition-normal);cursor:pointer}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;border-radius:50%;transition:var(--transition-normal)}.toggle-input:checked+.toggle-slider{background-color:var(--color-primary)}.toggle-input:checked+.toggle-slider:before{transform:translate(24px)}.user-profile-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin-left:10px;border:3px solid var(--color-border-muted);border-radius:50%;cursor:pointer;transition:all var(--transition-normal)}.user-profile-btn:hover{transform:scale(1.1)}.user-avatar{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:var(--color-text-dark);font-size:14px;font-weight:700}.connection-status.connected,.user-profile-btn.connected,.connected-users-count.connected,.user-avatar-large.connected{border-color:var(--color-success);color:var(--color-success)}.connection-status.error,.connection-status.disconnected,.user-profile-btn.error,.user-profile-btn.disconnected,.connected-users-count.error,.connected-users-count.disconnected,.user-avatar-large.error,.user-avatar-large.disconnected{border-color:var(--color-danger);color:var(--color-danger)}.connection-status.connecting,.user-profile-btn.connecting,.connected-users-count.connecting,.user-avatar-large.connecting{border-color:var(--color-warning);color:var(--color-warning)}.connected-users-count{cursor:pointer;transition:color var(--transition-normal)}.connected-users-count:hover{color:var(--color-info);text-decoration:underline}.user-avatar-container{display:flex;align-items:center;justify-content:center;margin-bottom:20px}.user-avatar-large{width:130px;height:130px;border:6px solid var(--color-border-muted);border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:var(--shadow-md);object-fit:cover;transition:all var(--transition-normal)}.user-avatar-large:hover{box-shadow:0 6px 20px #00000026;transform:scale(1.05)}.form-group{margin-bottom:20px}.form-group:last-of-type{margin-bottom:0}.form-group label{display:block;margin-bottom:5px;color:var(--color-text-dark);font-weight:600}.form-group input{width:100%;padding:10px;border:1px solid var(--color-border);border-radius:var(--radius-lg);font-size:14px;transition:border-color var(--transition-normal)}.form-group input:focus{border-color:var(--color-info);box-shadow:0 0 0 2px #007bff40;outline:none}.form-group small{display:block;margin-top:5px;color:var(--color-text-muted);font-size:12px}.popup{position:fixed;z-index:var(--z-modal);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:#fff;box-shadow:0 4px 20px #00000026;overflow:hidden}.popup.hidden{display:none}.popup-header{display:flex;align-items:center;justify-content:space-between;padding:15px;border-bottom:1px solid var(--color-border);background-color:var(--color-bg-light)}.popup-header h4{margin:0;color:var(--color-text-dark);font-size:16px}.close-popup-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;background:none;color:#666;font-size:18px;cursor:pointer}.close-popup-btn:hover{color:#333}.users-popup{bottom:80px;right:20px;width:300px;max-height:400px}.users-list{max-height:300px;padding:10px;overflow-y:auto}.user-item{display:flex;align-items:center;margin-bottom:8px;padding:10px;border-radius:var(--radius-lg);transition:background-color var(--transition-normal)}.user-item:hover{background-color:var(--color-bg-light)}.user-item:last-child{margin-bottom:0}.user-item-avatar{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;margin-right:12px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:14px;font-weight:700}.user-item-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.user-item-info{flex:1;min-width:0}.user-item-name{margin-bottom:2px;color:var(--color-text-dark);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-status-online{border:3px solid var(--color-success)!important}.user-status-offline{border:3px solid var(--color-danger)!important}.sessions-popup{bottom:80px;left:20px;display:flex;flex-direction:column;width:350px;max-height:500px}.sessions-list{flex:1;max-height:350px;padding:10px;overflow-y:auto}.sessions-popup-footer{flex-shrink:0;padding:15px;border-top:1px solid var(--color-border);background-color:var(--color-bg-light)}.session-item{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;padding:12px;border:1px solid var(--color-border-light);border-radius:var(--radius-lg);background-color:var(--color-bg-light);cursor:pointer;transition:all var(--transition-normal)}.session-item:hover{border-color:var(--color-primary);background-color:var(--color-bg-muted)}.session-item:last-child{margin-bottom:0}.session-item-info{flex:1;min-width:0;margin-right:10px}.session-item-name{margin-bottom:4px;color:var(--color-text-dark);font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-item-details{display:flex;flex-direction:column;gap:2px;color:var(--color-text-muted);font-size:12px}.session-item-actions{display:flex;flex-shrink:0;gap:8px}.session-delete-btn{border-radius:var(--radius-sm);transition:background var(--transition-normal)}.clear-all-btn{border-radius:var(--radius-lg);transition:background var(--transition-normal)}.confirm-dialog{width:auto;max-width:400px;margin:0;text-align:center;padding:var(--space-md)}.confirm-message{margin-bottom:var(--space-lg);color:var(--color-text);font-size:14px;line-height:1.6}.confirm-actions{display:flex;justify-content:center;gap:var(--space-md)}.confirm-btn{min-width:80px;padding:var(--space-sm) var(--space-md);font-size:14px}@media (max-width: 480px){.container{padding:var(--space-md)}.timer-display{min-width:250px;padding:var(--space-xl);font-size:var(--font-size-xxl)}.controls{gap:var(--space-sm)}.control-btn{width:50px;height:50px;font-size:var(--font-size-xl)}.corner-btn{padding:var(--space-xs);font-size:1.6rem}.corner-btn-topright{top:.75rem;right:.75rem}.corner-btn-bottomleft{bottom:.75rem;left:.75rem}.interval-name{flex:2;min-width:0}.interval-duration{width:70px;font-size:var(--font-size-sm)}.confirm-dialog{padding:var(--space-lg)}.confirm-actions{flex-direction:column}.confirm-btn{width:100%}.sessions-popup,.users-popup{width:calc(100vw - 40px);left:20px;right:20px}.status-bar{flex-wrap:wrap;gap:5px}.user-profile-btn{width:32px;height:32px}.user-avatar{width:28px;height:28px;font-size:12px}}@media (max-height: 400px){.timer-container{margin-bottom:var(--space-md)}.timer-display{min-width:300px;min-height:150px;padding:0;font-size:var(--font-size-xxl)}.control-btn{width:55px;height:55px}.interval-info{font-size:1.4rem}.users-popup-header,.sessions-popup-header{padding:8px 15px}.users-popup-header h4,.sessions-popup-header h4{font-size:15px}.sessions-list{max-height:100px;padding:3px 10px}.user-item{padding:0}.user-avatar-container{display:none}}
