@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;600;800&display=swap";.timer-container{position:relative;display:flex;align-items:center;justify-content:center;width:100%;max-width:55vh;aspect-ratio:1 / 1;margin:0 auto}.timer-svg{transform:rotate(-90deg);width:100%;height:100%;overflow:visible}.progress-ring{transition:stroke-dashoffset .1s linear,stroke var(--transition-normal)}.color-green{color:var(--timer-green);stroke:var(--timer-green)}.color-orange{color:var(--timer-orange);stroke:var(--timer-orange)}.color-red{color:var(--timer-red);stroke:var(--timer-red);animation:pulse-red 1s infinite alternate}@keyframes pulse-red{0%{transform:scale(1);filter:brightness(1)}to{transform:scale(1.02);filter:brightness(1.2)}}.timer-text-container{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.timer-text{font-size:clamp(3rem,10vw,10rem);font-weight:800;letter-spacing:-2px;text-shadow:0 4px 10px rgba(0,0,0,.2);transition:color var(--transition-normal);line-height:1;margin-top:-.5rem}.controls-container{display:flex;flex-direction:column;align-items:center;gap:1.25rem;width:100%;margin-top:.5rem}.main-actions{display:flex;gap:1.5rem;align-items:center;justify-content:center}.btn{display:flex;align-items:center;justify-content:center;gap:.5rem;border-radius:var(--radius-full);font-weight:600;transition:all var(--transition-normal);cursor:pointer}.primary-btn{background:var(--accent);color:#fff;width:4.5rem;height:4.5rem;box-shadow:0 8px 24px #3b82f680}.primary-btn svg{width:36px;height:36px}.primary-btn:hover{background:var(--accent-hover);transform:translateY(-4px) scale(1.05);box-shadow:0 12px 32px #3b82f699}.warning-btn{background:var(--timer-orange);color:#fff;width:4.5rem;height:4.5rem;box-shadow:0 8px 24px #f59e0b80}.warning-btn svg{width:36px;height:36px}.warning-btn:hover{background:#d97706;transform:translateY(-4px) scale(1.05);box-shadow:0 12px 32px #f59e0b99}.outline-btn{background:transparent;color:var(--text-primary);border:2px solid var(--panel-border);width:4rem;height:4rem}.outline-btn:hover{background:#64748b1a;transform:translateY(-2px);border-color:var(--text-secondary)}.presets-container{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;max-width:600px}.preset-btn{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--panel-border);padding:.5rem 1rem;font-size:.95rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.preset-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow-md)}.custom-duration-input{display:flex;align-items:center;justify-content:center;margin-top:.5rem}.custom-duration-input input{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--panel-border);padding:.75rem;border-radius:var(--radius-sm);width:6rem;font-family:var(--font-body);outline:none;font-size:1.1rem;text-align:center;box-shadow:inset 0 2px 4px #0000000d}.custom-duration-input input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #3b82f633}.utility-actions{display:flex;gap:1rem;margin-top:1.5rem;opacity:.7}.utility-actions:hover{opacity:1}.icon-btn{background:transparent;color:var(--text-secondary);padding:.75rem;border-radius:var(--radius-full);border:1px solid transparent}.icon-btn:hover{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--panel-border)}.minimal-time-display{display:flex;align-items:center;justify-content:center;gap:1.5rem;font-size:1.25rem;color:var(--text-secondary);margin-top:-1rem;margin-bottom:2rem;opacity:.8}.time-label{font-size:.9rem;text-transform:uppercase;letter-spacing:1px;opacity:.7;margin-right:.5rem}.time-endpoint{display:flex;align-items:center}.time-separator{opacity:.3}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0006;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease-out}.modal-content{width:90%;max-width:500px;padding:2rem;display:flex;flex-direction:column;gap:1.5rem;animation:slideUp .3s cubic-bezier(.16,1,.3,1);background:var(--bg-primary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.close-btn{color:var(--text-secondary)}.close-btn:hover{color:var(--text-primary);background:#64748b1a;padding:.25rem;border-radius:50%}.settings-group{display:flex;flex-direction:column;gap:1rem}.settings-title{font-size:.9rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid var(--panel-border);padding-bottom:.5rem}.theme-options{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.theme-btn{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--panel-border);padding:.75rem;border-radius:var(--radius-md);font-weight:500;text-align:center}.theme-btn:hover{border-color:var(--accent)}.theme-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.toggle-label{display:flex;justify-content:space-between;align-items:center;font-size:1.05rem;cursor:pointer}.toggle-input{width:2.5rem;height:1.25rem;appearance:none;background:var(--text-secondary);border-radius:1rem;position:relative;outline:none;cursor:pointer;transition:background .3s}.toggle-input:checked{background:var(--timer-green)}.toggle-input:after{content:"";position:absolute;top:2px;left:2px;width:1rem;height:1rem;background:#fff;border-radius:50%;transition:transform .3s}.toggle-input:checked:after{transform:translate(1.25rem)}.app-container{display:flex;flex-direction:column;height:100vh;max-height:100vh;align-items:center;justify-content:center;padding:1rem;position:relative;transition:padding .5s ease;overflow:hidden}.app-container.fullscreen-active{padding:0}.app-container.fullscreen-active .focus-main{max-width:100vw}.focus-main{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:800px;height:100%;z-index:10;animation:fadeIn .5s ease}.main-title{font-size:2rem;font-weight:800;letter-spacing:-1px;margin-bottom:.5rem;opacity:.9}.top-right-actions{position:absolute;top:2rem;right:2rem;z-index:50}.subtle-glass-btn{background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);color:var(--text-primary);padding:.75rem;border-radius:var(--radius-full)}.subtle-glass-btn:hover{background:#ffffff26;transform:translateY(-1px)}[data-theme=light] .subtle-glass-btn{background:#0000000d;border-color:#0000001a}[data-theme=light] .subtle-glass-btn:hover{background:#0000001a}.timer-fullscreen-wrapper{display:flex;flex-direction:column;align-items:center;width:100%;transition:all .3s ease}.timer-fullscreen-wrapper.is-fullscreen,.timer-fullscreen-wrapper:fullscreen{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100vw;height:100vh}.timer-fullscreen-wrapper.is-fullscreen .timer-svg,.timer-fullscreen-wrapper:fullscreen .timer-svg{display:none}.timer-fullscreen-wrapper.is-fullscreen .timer-container,.timer-fullscreen-wrapper:fullscreen .timer-container{max-width:none;width:100%;aspect-ratio:auto}.timer-fullscreen-wrapper.is-fullscreen .timer-text-container,.timer-fullscreen-wrapper:fullscreen .timer-text-container{position:static}.timer-fullscreen-wrapper.is-fullscreen .timer-text,.timer-fullscreen-wrapper:fullscreen .timer-text{font-size:28vw;font-weight:900;text-align:center;line-height:1;margin:0;letter-spacing:-2px}.timer-fullscreen-wrapper.is-fullscreen .minimal-time-display,.timer-fullscreen-wrapper:fullscreen .minimal-time-display{font-size:2.5vw;margin-top:1rem;opacity:.6}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}:root{--bg-primary: #f0f4f8;--bg-secondary: #ffffff;--text-primary: #1e293b;--text-secondary: #64748b;--accent: #3b82f6;--accent-hover: #2563eb;--timer-green: #10b981;--timer-orange: #f59e0b;--timer-red: #ef4444;--panel-bg: rgba(255, 255, 255, .7);--panel-border: rgba(255, 255, 255, .5);--font-body: "Inter", sans-serif;--font-display: "Outfit", sans-serif;--radius-sm: 8px;--radius-md: 16px;--radius-lg: 24px;--radius-full: 9999px;--shadow-sm: 0 4px 6px -1px rgba(0, 0, 0, .05), 0 2px 4px -1px rgba(0, 0, 0, .03);--shadow-md: 0 10px 15px -3px rgba(0, 0, 0, .05), 0 4px 6px -2px rgba(0, 0, 0, .025);--shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--glass-blur: blur(16px);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--bg-primary: #0f172a;--bg-secondary: #1e293b;--text-primary: #f8fafc;--text-secondary: #94a3b8;--accent: #60a5fa;--accent-hover: #3b82f6;--panel-bg: rgba(30, 41, 59, .7);--panel-border: rgba(255, 255, 255, .1)}[data-theme=focus-black]{--bg-primary: #000000;--bg-secondary: #000000;--text-primary: #ffffff;--text-secondary: #666666;--accent: #333333;--accent-hover: #555555;--panel-bg: rgba(20, 20, 20, .8);--panel-border: rgba(255, 255, 255, .05)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;margin:0;transition:background-color var(--transition-normal),color var(--transition-normal);overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fullscreen-mode{overflow:hidden}.glass-panel{background:var(--panel-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--panel-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:background var(--transition-normal),border var(--transition-normal)}.title-font{font-family:var(--font-display)}.bg-gradient{background:linear-gradient(135deg,#1e3a8a,#0f172a,#312e81);background-size:200% 200%;animation:gradientShift 15s ease infinite}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}button{font-family:var(--font-body);border:none;background:none;cursor:pointer;color:inherit;transition:all var(--transition-fast)}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
