*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}button{border:none;background:none;cursor:pointer;font-family:inherit}:root{--phase-color: #e53e3e;--surface: rgba(255, 255, 255, .88);--text: #1a202c;--text-muted: #718096;--border: rgba(0, 0, 0, .08);--ring-track: #e2e8f0;--btn-ghost-bg: rgba(0, 0, 0, .06);--btn-ghost-hover: rgba(0, 0, 0, .1);--btn-ghost-text: #4a5568;--dot-inactive: #cbd5e0;--card-shadow: 0 8px 40px rgba(0, 0, 0, .35), 0 2px 12px rgba(0, 0, 0, .25)}[data-theme=dark]{--surface: rgba(18, 24, 38, .8);--text: #e2e8f0;--text-muted: #718096;--border: rgba(255, 255, 255, .07);--ring-track: #2d3748;--btn-ghost-bg: rgba(255, 255, 255, .07);--btn-ghost-hover: rgba(255, 255, 255, .12);--btn-ghost-text: #a0aec0;--dot-inactive: #2d3748;--card-shadow: 0 8px 40px rgba(0, 0, 0, .6), 0 2px 12px rgba(0, 0, 0, .4)}html,body,#root{height:100%}body{background:#05050e;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-shell{position:relative;min-height:100%;width:100%;overflow:hidden}.app-center{position:relative;z-index:1;min-height:100vh;display:flex;justify-content:center;align-items:center;padding:1.5rem}.lava-lamp{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;background:#05050e;filter:blur(22px) contrast(22);pointer-events:none;--blob-color: hsl(130, 72%, 30%)}@keyframes blob-morph{0%{border-radius:58% 42% 32% 68%/57% 33% 67% 43%}16%{border-radius:38% 62% 55% 45%/29% 62% 38% 71%}33%{border-radius:68% 32% 44% 56%/48% 72% 28% 52%}50%{border-radius:44% 56% 68% 32%/65% 28% 72% 35%}66%{border-radius:28% 72% 38% 62%/38% 55% 45% 62%}83%{border-radius:52% 48% 26% 74%/72% 38% 62% 28%}to{border-radius:58% 42% 32% 68%/57% 33% 67% 43%}}.lava-blob{position:absolute;top:0;left:0;border-radius:50%;background:var(--blob-color);will-change:transform,opacity;transition:opacity 1s ease;animation:blob-morph ease-in-out infinite}.card{width:100%;max-width:400px;background:var(--surface);border-radius:24px;box-shadow:var(--card-shadow);border:1px solid var(--border);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);transition:background-color .4s ease,box-shadow .4s ease}.card-header{display:flex;align-items:center;justify-content:space-between;padding:1.125rem 1.5rem;border-bottom:1px solid var(--border)}.app-title{font-size:.9375rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.header-actions{display:flex;gap:.375rem}.card-body{padding:2rem 1.5rem 1.75rem;display:flex;flex-direction:column;align-items:center;gap:1.75rem}.card-footer{padding:.75rem 1.5rem;border-top:1px solid var(--border);text-align:center}.shortcut-hint{font-size:.6875rem;color:var(--text-muted);letter-spacing:.04em}.icon-btn{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:background-color .15s ease,color .15s ease}.icon-btn:hover{background:var(--btn-ghost-bg);color:var(--text)}.icon-btn--active{color:var(--phase-color)}.icon-btn--muted{opacity:.35;cursor:not-allowed;pointer-events:none}.theme-toggle{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:background-color .15s ease,color .15s ease}.theme-toggle:hover{background:var(--btn-ghost-bg);color:var(--text)}.session-dots{display:flex;gap:8px;align-items:center}.session-dot{width:9px;height:9px;border-radius:50%;transition:background-color .35s ease,transform .2s ease}.session-dot--active{background:var(--phase-color);transform:scale(1.2)}.session-dot--inactive{background:var(--dot-inactive)}.timer-ring-wrapper{position:relative;width:220px;height:220px}.timer-ring-svg{width:100%;height:100%;overflow:visible}.ring-track{stroke:var(--ring-track);fill:none;transition:stroke .3s ease}.ring-progress{stroke:var(--phase-color);fill:none;stroke-linecap:round}.timer-ring-content{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;pointer-events:none}.timer-phase-label{font-size:.6875rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);transition:color .3s ease}.timer-time{font-size:3.375rem;font-weight:600;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Courier New,monospace;font-variant-numeric:tabular-nums;letter-spacing:.03em;color:var(--text);line-height:1;transition:color .3s ease}@keyframes ring-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.timer-ring-wrapper.running{animation:ring-pulse 2.5s ease-in-out infinite}.controls{display:flex;gap:.75rem}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1.375rem;border-radius:100px;font-size:.9375rem;font-weight:600;transition:background-color .25s ease,filter .15s ease,transform .1s ease}.btn:active{transform:scale(.96)}.btn--primary{background:var(--phase-color);color:#fff;min-width:100px;justify-content:center;box-shadow:0 2px 10px #0000002e}.btn--primary:hover{filter:brightness(1.1)}.btn--ghost{background:var(--btn-ghost-bg);color:var(--btn-ghost-text)}.btn--ghost:hover{background:var(--btn-ghost-hover);color:var(--text)}.length-controls{display:flex;align-items:center;gap:1rem;border-top:1px solid var(--border);padding-top:1.5rem;width:100%}.length-divider{width:1px;height:44px;background:var(--border);flex-shrink:0}.length-control{flex:1;display:flex;flex-direction:column;align-items:center;gap:.375rem}.length-label{font-size:.6875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.stepper{display:flex;align-items:center;gap:.625rem}.stepper-btn{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--btn-ghost-bg);color:var(--text);transition:background-color .15s ease,opacity .15s ease}.stepper-btn:hover:not(:disabled){background:var(--btn-ghost-hover)}.stepper-btn:disabled{opacity:.3;cursor:not-allowed}.stepper-value{font-size:1.5rem;font-weight:600;font-variant-numeric:tabular-nums;min-width:2ch;text-align:center;color:var(--text)}.length-unit{font-size:.6875rem;color:var(--text-muted);letter-spacing:.06em;text-transform:lowercase}
