:root{--bg-primary: #1a1a1a;--bg-secondary: #2a2a2a;--bg-panel: #2d2d2d;--text-primary: #ffffff;--text-secondary: #cccccc;--text-muted: #888888;--accent: #4a9eff;--accent-hover: #6bb0ff;--border: #444444;--success: #4caf50;--danger: #f44336;--warning: #ff9800;--clock-gap: 1.5rem;--clock-font-scale: 1;--clock-scale-factor: 1}*{margin:0;padding:0;box-sizing:border-box}html,body,#svelte{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;background:var(--bg-primary);color:var(--text-primary);overflow:hidden;height:100vh;display:flex;flex-direction:column}body.presentation-mode{cursor:none;transition:cursor .3s ease}.center{display:flex;align-items:center;justify-content:center}.full-screen{width:100%;height:100%}.visually-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}.corner-exit-btn{position:fixed;width:40px;height:40px;background:#00000080;border:2px solid var(--accent);border-radius:50%;color:var(--text-primary);font-size:24px;cursor:pointer;z-index:10000;opacity:0;pointer-events:none;transition:opacity .3s ease;display:flex;align-items:center;justify-content:center}.corner-exit-btn.visible{opacity:1;pointer-events:auto}.corner-exit-btn:hover{background:#4a9eff4d;border-color:var(--accent-hover)}#corner-exit-top-left{top:10px;left:10px}#corner-exit-top-right{top:10px;right:10px}#corner-exit-bottom-left{bottom:10px;left:10px}#corner-exit-bottom-right{bottom:10px;right:10px}body.presentation-mode:hover .corner-exit-btn{opacity:.3}body.presentation-mode .corner-exit-btn:hover{opacity:1}.toolbar{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0;z-index:100}.toolbar.hidden{display:none}.toolbar-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--bg-panel);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);cursor:pointer;font-size:14px;transition:all .2s}.toolbar-btn:hover{background:var(--bg-primary);border-color:var(--accent)}.toolbar-btn.active{background:var(--accent);border-color:var(--accent);color:var(--bg-primary)}.toolbar-btn .icon{font-size:16px}.toolbar-btn .text{font-size:14px}.main-display{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative;width:100%;height:100%;min-height:0}.clock-container{flex:1;display:flex;flex-wrap:wrap;align-items:stretch;justify-content:stretch;padding:0;gap:0;overflow:hidden;width:100%;height:100%;background:#000;min-height:0}.clock-container.hidden{display:none}.clock-container.layout-primary-secondary{flex-direction:row;flex-wrap:wrap;align-content:flex-start;height:100%}.clock-container.layout-primary-secondary .clock-item.primary{flex:1 1 100%;width:100%;min-height:50%;order:-1;border-bottom:1px solid #333}.clock-container.layout-primary-secondary .clock-item:not(.primary){flex:0 1 auto;width:auto;min-height:0}.clock-container.layout-equal{display:flex;flex-wrap:wrap;flex-direction:row;align-content:flex-start;gap:0;height:100%;width:100%}.clock-item{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0;margin:0;background:transparent;border:none;outline:none;box-shadow:none;transition:all .3s;box-sizing:border-box;width:100%;height:100%;min-height:0}.clock-item.primary{background:transparent;border:none;outline:none;box-shadow:none}.clock-container.layout-primary-secondary .clock-item:not(.primary){border-right:1px solid #333}.clock-container.layout-primary-secondary .clock-item:not(.primary):last-child{border-right:none}.clock-city-name{font-size:calc(clamp(1.5rem,4vw,3rem) * var(--clock-scale-factor));font-weight:600;color:var(--text-secondary);margin-bottom:10px;transition:font-size .3s ease}.clock-item.primary .clock-city-name{font-size:calc(clamp(2rem,6vw,4rem) * var(--clock-scale-factor));color:var(--accent)}.clock-time{font-size:calc(clamp(4rem,12vw,10rem) * var(--clock-scale-factor));font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-primary);margin:5px 0;letter-spacing:2px;transition:font-size .3s ease;line-height:1}.clock-item.primary .clock-time{font-size:calc(clamp(6rem,18vw,16rem) * var(--clock-scale-factor));letter-spacing:4px}.clock-date,.clock-weekday,.clock-utc{font-size:calc(clamp(1.2rem,3vw,2rem) * var(--clock-scale-factor));color:var(--text-muted);margin-top:5px;transition:font-size .3s ease;line-height:1.2}.clock-item.primary .clock-date,.clock-item.primary .clock-weekday,.clock-item.primary .clock-utc{font-size:calc(clamp(1.5rem,4vw,2.5rem) * var(--clock-scale-factor))}.timer-display{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000;z-index:50;width:100vw;height:100vh}.timer-back-btn{position:absolute;top:20px;left:20px;padding:12px 24px;background:#4a9eff33;border:2px solid var(--accent);border-radius:4px;color:var(--text-primary);font-size:16px;cursor:pointer;z-index:51;transition:all .3s}.timer-back-btn:hover{background:#4a9eff66;border-color:var(--accent-hover)}.timer-display:fullscreen .timer-back-btn,.timer-display:-webkit-full-screen .timer-back-btn,.timer-display:-moz-full-screen .timer-back-btn{display:none}.timer-display.hidden{display:none}.timer-display .timer-display-large{font-size:8em;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-primary);text-align:center;letter-spacing:8px}.timer-display.completed{animation:pulse 1s infinite;background:var(--warning)}.timer-display.completed .timer-display-large{color:var(--bg-primary)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;max-width:600px;max-height:80vh;background:var(--bg-panel);border:2px solid var(--border);border-radius:8px;z-index:1000;display:flex;flex-direction:column;box-shadow:0 10px 40px #00000080}.panel.hidden{display:none}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid var(--border)}.panel-header h2{font-size:1.5em;font-weight:600}.close-btn{width:32px;height:32px;border:none;background:transparent;color:var(--text-primary);font-size:24px;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:background .2s}.close-btn:hover{background:var(--bg-secondary)}.panel-content{flex:1;overflow-y:auto;padding:20px}.panel-section{margin-bottom:30px}.panel-section h3{font-size:1.2em;margin-bottom:15px;color:var(--text-secondary)}.city-list{display:flex;flex-direction:column;gap:10px}.city-list-item{display:flex;align-items:center;justify-content:space-between;padding:15px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;gap:15px}.city-list-item.primary{border-color:var(--accent)}.city-name{font-weight:600;flex:1}.city-timezone{font-size:.9em;color:var(--text-muted);flex:1}.city-actions{display:flex;gap:8px}.primary-badge{padding:4px 12px;background:var(--accent);color:var(--bg-primary);border-radius:4px;font-size:.85em;font-weight:600}.city-search{width:100%;padding:12px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:14px;margin-bottom:15px}.city-search:focus{outline:none;border-color:var(--accent)}.city-search-results{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto}.city-search-item{display:flex;align-items:center;justify-content:space-between;padding:12px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;gap:15px}.city-search-item:hover{border-color:var(--accent)}.custom-city-form{display:flex;flex-direction:column;gap:10px}.input-field{padding:12px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:14px}.input-field:focus{outline:none;border-color:var(--accent)}.btn-primary,.btn-secondary,.btn-small{padding:8px 16px;border:1px solid var(--border);border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s}.btn-primary{background:var(--accent);color:var(--bg-primary);border-color:var(--accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:var(--bg-primary);border-color:var(--accent)}.btn-small{padding:4px 12px;font-size:12px;background:var(--bg-secondary);color:var(--text-primary)}.btn-small:hover{background:var(--bg-primary);border-color:var(--accent)}.btn-danger{background:var(--danger);color:var(--text-primary);border-color:var(--danger)}.btn-danger:hover{background:#e53935}button:disabled{opacity:.5;cursor:not-allowed}.timer-mode-selector{display:flex;gap:10px;margin-bottom:20px}.mode-btn{flex:1;padding:12px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);cursor:pointer;font-size:14px;transition:all .2s}.mode-btn:hover{border-color:var(--accent)}.mode-btn.active{background:var(--accent);border-color:var(--accent);color:var(--bg-primary)}.timer-controls{display:flex;flex-direction:column;align-items:center;gap:20px}.timer-mode{width:100%;display:flex;flex-direction:column;align-items:center;gap:20px}.timer-mode.hidden{display:none}.timer-display-large{font-size:4em;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-primary);text-align:center;letter-spacing:4px}.timer-input-group{display:flex;align-items:flex-start;gap:10px;margin-bottom:20px;justify-content:center}.timer-input-wrapper{display:flex;flex-direction:column;align-items:center;gap:8px}.timer-input{width:80px;padding:12px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:1.5em;text-align:center;font-variant-numeric:tabular-nums}.timer-input:focus{outline:none;border-color:var(--accent)}.timer-input-label{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;font-weight:500}.timer-buttons{display:flex;gap:10px;width:100%}.timer-buttons button{flex:1}.timer-separator{font-size:2em;color:var(--text-primary);font-weight:300;margin:0 5px}.setting-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:4px;cursor:pointer;transition:background .2s}.setting-item:hover{background:var(--bg-secondary)}.setting-item input[type=checkbox]{width:20px;height:20px;cursor:pointer}.settings-group{display:flex;flex-direction:column;gap:0}.clock .meta{opacity:.85;font-size:clamp(.8rem,1.6vw,1.2rem)}.night{filter:brightness(.6)}
