:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#070b16;--surface:#0c1220d1;--surface-strong:#111827;--surface-soft:#162035b8;--line:#ffffff24;--line-strong:#67e8f980;--text:#eef6ff;--muted:#9fb0c7;--cyan:#67e8f9;--teal:#2dd4bf;--blue:#38bdf8;--amber:#f59e0b}*{box-sizing:border-box}html{height:100%;min-height:100%}body{min-height:100vh;color:var(--text);background:radial-gradient(circle at 12% 12%,#2dd4bf1f,#0000 30%),radial-gradient(circle at 88% 16%,#38bdf81f,#0000 28%),linear-gradient(145deg,#070b16 0%,#0b1020 54%,#121a2d 100%);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.site-frame{grid-template-rows:auto 1fr auto;min-height:100vh;display:grid}.site-header{z-index:10;justify-content:flex-end;align-items:center;padding:8px 24px 0;display:flex;position:relative}.language-toggle{border:1px solid var(--line);color:var(--muted);background:#070b16a3;border-radius:8px;align-items:center;gap:8px;padding:6px 9px;font-size:.82rem;font-weight:900;display:inline-flex}.language-toggle a{color:var(--muted);text-decoration:none}.language-toggle a[aria-current=true]{color:var(--cyan)}.app-shell{place-items:start center;min-height:0;padding:8px 20px 10px;display:grid}.site-footer{color:var(--muted);text-align:center;justify-content:center;gap:6px;padding:0 24px 10px;font-size:.82rem;display:flex}.site-footer a{color:var(--cyan);text-decoration:none}.legal-shell{place-items:start center;padding:32px 28px 36px;display:grid}.legal-panel{border:1px solid var(--line);background:var(--surface);border-radius:8px;width:min(100%,880px);padding:28px;box-shadow:0 24px 80px #00000052}.legal-panel h1{max-width:760px;font-size:clamp(2rem,4vw,3.6rem)}.legal-intro{max-width:720px;color:var(--text);font-size:1.08rem;line-height:1.7}.legal-updated{color:var(--muted);font-size:.92rem}.legal-section{margin-top:28px}.legal-section h2{color:var(--cyan);letter-spacing:0;margin-bottom:10px;font-size:1.25rem}.legal-section p{max-width:760px;color:var(--muted);line-height:1.75}h1,h2,p{margin-top:0}.visually-hidden-time-input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.calculator-panel,.focused-calculator{--tone-bg-start:#061820;--tone-bg-end:#102a2f;--tone-button:#76f7d7;--tone-button-text:#03231d;--tone-moon:#f3c46d;--tone-blanket:#6fa8ff;--tone-accent:#9df4ea;background:radial-gradient(circle at 78% 12%, color-mix(in srgb, var(--tone-button) 14%, transparent), transparent 20%), radial-gradient(circle at 18% 4%, color-mix(in srgb, var(--tone-blanket) 12%, transparent), transparent 24%), linear-gradient(180deg, var(--tone-bg-start), var(--tone-bg-end));border:1px solid #ffffff1a;border-radius:18px;align-content:center;justify-items:center;width:100%;max-width:920px;min-height:min(760px,100svh - 180px);padding:clamp(14px,2.5vw,28px);display:grid;position:relative;overflow:hidden;box-shadow:0 24px 80px #00000057}.focused-calculator[data-theme-tone=dusk]{--tone-bg-start:#111725;--tone-bg-end:#241c2a;--tone-button:#ff9b8a;--tone-button-text:#2a0805;--tone-moon:#ffd07a;--tone-blanket:#7fb7d8;--tone-accent:#ffb5a8}.focused-calculator[data-theme-tone=periwinkle]{--tone-bg-start:#0c1326;--tone-bg-end:#172044;--tone-button:#c8d7ff;--tone-button-text:#07122d;--tone-moon:#f8df9e;--tone-blanket:#72d8cc;--tone-accent:#c8d7ff}@media (min-width:861px){.calculator-panel,.focused-calculator{min-height:min(780px,100svh - 140px)}}.focused-calculator>*{z-index:2;position:relative}.sleep-brand-illustration{width:min(128px,34vw);height:auto;color:var(--tone-moon);margin:0 auto 10px}.sleep-brand-illustration.compact{width:92px;margin:0}.sleep-illustration-star{fill:#ffffff94}.sleep-illustration-moon{fill:currentColor}.sleep-illustration-headboard,.sleep-illustration-pillow,.sleep-illustration-base{fill:#f3fbff}.sleep-illustration-face{fill:#f1cfaa}.sleep-illustration-eye{fill:none;stroke:#243047;stroke-linecap:round;stroke-width:3px}.sleep-illustration-blanket{fill:var(--tone-blanket)}.calculator-copy{text-align:center;justify-items:center;width:100%;min-width:0;max-width:660px;display:grid}.eyebrow{color:var(--tone-accent);letter-spacing:.08em;text-transform:uppercase;margin:0 0 7px;font-size:.72rem;font-weight:800}.calculator-copy h1{max-width:100%;color:var(--text);letter-spacing:0;overflow-wrap:break-word;margin:0;font-size:clamp(2.1rem,5vw,3.5rem);line-height:1}.calculator-copy p{color:#ffffffb8;max-width:34rem;margin:8px auto 0;font-size:.92rem;line-height:1.45}.calculator-copy .eyebrow{color:var(--tone-accent);margin:0 0 7px;font-size:.72rem;line-height:1.2}.mode-switch{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;min-width:0;max-width:420px;margin:16px 0 14px;display:grid}.mode-switch button{color:#ffffffbd;background:#ffffff0d;border:1px solid #ffffff21;border-radius:999px;min-width:0;min-height:40px;padding:0 14px;font-weight:900}.mode-switch button.active{border-color:color-mix(in srgb, var(--tone-button) 70%, transparent);background:color-mix(in srgb, var(--tone-button) 18%, transparent);color:var(--tone-button)}.mode-button-content{justify-content:center;align-items:center;gap:10px;min-width:0;display:inline-flex}.mode-button-label{white-space:nowrap;min-width:0}.mode-button-label-short{display:none}.input-row,.time-field{width:100%;min-width:0;max-width:560px}.input-row{justify-items:center;gap:12px;display:grid}.time-field{justify-items:center;min-width:0;display:grid}.time-field h2,.results-section h2{color:var(--text);letter-spacing:0;text-align:center;margin:0 0 12px;font-size:clamp(1.45rem,3.5vw,2.2rem);line-height:1.18}.inline-time-picker{width:100%;min-width:0;margin-bottom:10px}.inline-time-wheel-frame{border:1.5px solid color-mix(in srgb, var(--tone-button) 74%, white 4%);background:#ffffff0b;border-radius:18px;grid-template-columns:repeat(2,minmax(0,1fr));height:140px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 32px 42px #0000001f,inset 0 -32px 42px #0000001f}.inline-time-wheel-selection{pointer-events:none;border-top:1px solid #ffffff1a;border-bottom:1px solid #ffffff1a;height:44px;position:absolute;top:48px;left:0;right:0}.time-wheel{overscroll-behavior:contain;scroll-snap-type:y mandatory;scrollbar-width:none;-ms-overflow-style:none;align-content:start;height:100%;padding:48px 0;scroll-padding-block:48px;display:grid;overflow-y:auto}.time-wheel::-webkit-scrollbar{display:none}.time-wheel-option{color:#ffffff57;letter-spacing:0;scroll-snap-align:center;background:0 0;border:0;height:44px;min-height:44px;font-size:clamp(1.35rem,4vw,1.9rem);font-weight:900;line-height:1}.time-wheel-option[aria-pressed=true]{color:var(--text);transform:scale(1.08)}.input-row>.secondary-action{min-height:34px;color:var(--tone-accent);background:#ffffff0d;border:1px solid #ffffff29;border-radius:999px;margin:-6px 0 10px;padding:0 16px;font-weight:800}.focused-calculator>.primary-action,.results-section+.secondary-action,.current-time-shortcut .secondary-action,.result-back-action{border-radius:10px;width:100%;max-width:560px;min-height:48px;font-size:clamp(1.05rem,3vw,1.55rem);font-weight:900}.focused-calculator>.primary-action,.results-section+.secondary-action{background:var(--tone-button);color:var(--tone-button-text);box-shadow:inset 0 -2px 0 #00000029, 0 18px 28px color-mix(in srgb, var(--tone-button) 16%, transparent);border:0}.focused-calculator>.primary-action{margin-top:0}.current-time-shortcut{text-align:center;width:100%;max-width:560px;margin-top:16px}.current-time-shortcut p{color:var(--text);margin:0 0 8px;font-size:clamp(1rem,2.6vw,1.35rem);line-height:1.3}.current-time-shortcut .secondary-action{border:1px solid color-mix(in srgb, var(--tone-button) 48%, transparent);color:var(--tone-button);background:#ffffff0a}.results-section{text-align:center;width:100%;max-width:760px;margin:0 auto}.calculator-result-header{justify-items:center;gap:8px;margin:0 auto 10px;display:grid}.result-explanation,.result-intro{color:var(--text);font-size:clamp(.98rem,2.4vw,1.25rem);line-height:1.38}.result-intro,.result-explanation{margin:0}.results-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;max-width:680px;margin:14px auto;display:grid}.result-card{text-align:left;background:#ffffff1a;border:1px solid #ffffff1a;border-radius:10px;flex-direction:column;justify-content:space-between;min-height:92px;padding:12px;display:flex}.result-card h3{color:var(--text);letter-spacing:0;margin:0 0 4px;font-size:clamp(1.5rem,4vw,2rem);line-height:1}.result-card p{color:#ffffffad;margin:6px 0 0;line-height:1.45}.result-label{color:var(--tone-button);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:.68rem;font-weight:900;display:inline-flex}.results-section+.secondary-action{margin-top:18px}.result-back-action{border:1px solid color-mix(in srgb, var(--tone-button) 54%, transparent);max-width:220px;min-height:38px;color:var(--tone-button);background:#ffffff0d;border-radius:999px;margin:0 0 12px;font-size:.92rem}.empty-state{color:#fed7aa;background:#f59e0b1a;border:1px solid #f59e0b5c;border-radius:8px;margin:0;padding:16px;line-height:1.5}:focus-visible{outline-offset:3px;outline:3px solid #67e8f9cc}@media (min-width:861px) and (max-height:760px){.app-shell{padding-block:6px}.calculator-panel,.focused-calculator{min-height:auto;padding-block:12px}.sleep-brand-illustration{width:92px;margin-bottom:6px}.calculator-copy h1{font-size:clamp(2rem,4vw,3rem)}.calculator-copy p{margin-top:6px;font-size:.86rem;line-height:1.32}.calculator-copy .eyebrow{margin-bottom:5px}.mode-switch{margin:10px 0 8px}.time-field h2,.results-section h2{margin-bottom:8px;font-size:clamp(1.28rem,3vw,1.8rem)}.inline-time-picker{margin-bottom:8px}.inline-time-wheel-frame{height:124px}.inline-time-wheel-selection{top:40px}.time-wheel{padding-block:40px;scroll-padding-block:40px}.focused-calculator>.primary-action,.current-time-shortcut .secondary-action,.result-back-action{min-height:44px}.current-time-shortcut{margin-top:12px}.current-time-shortcut p{margin-bottom:6px;font-size:1rem}.calculator-result-header{gap:6px;margin-bottom:8px}.sleep-brand-illustration.compact{width:78px}.result-explanation,.result-intro{font-size:1rem;line-height:1.32}.results-grid{gap:8px;margin:10px auto}.result-card{min-height:82px;padding:10px}.result-card h3{font-size:clamp(1.35rem,3vw,1.7rem)}}@media (max-width:860px){.app-shell{place-items:stretch stretch;padding:8px 14px}.site-header{padding:8px 14px 0}.legal-shell{padding:18px}.legal-panel{padding:20px}.calculator-panel,.focused-calculator{padding:14px}.mode-button-content{gap:8px}.mode-button-label-full{display:none}.mode-button-label-short{display:inline}.input-row>.secondary-action,.current-time-shortcut .secondary-action,.results-section+.secondary-action{width:100%}}@media (max-width:540px){.app-shell{padding:6px 10px}.calculator-panel,.focused-calculator{padding:12px}.calculator-copy,.mode-switch,.input-row,.time-field,.focused-calculator>.primary-action,.current-time-shortcut{max-width:280px}.sleep-brand-illustration{width:min(112px,36vw);margin-bottom:7px}.calculator-copy h1{font-size:clamp(1.7rem,7.6vw,2rem);line-height:1.04}.calculator-copy p{width:100%;margin-top:6px;font-size:.8rem;line-height:1.35}.time-field h2,.results-section h2{margin-bottom:9px;font-size:clamp(1.2rem,6vw,1.55rem)}.mode-switch{gap:6px;margin:12px 0 10px}.mode-switch button{min-height:36px;padding:0 10px}.results-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px auto}.inline-time-wheel-frame{height:132px}.inline-time-wheel-selection{top:44px}.time-wheel{padding-block:44px;scroll-padding-block:44px}.time-wheel-option{height:44px;min-height:44px}.focused-calculator>.primary-action,.results-section+.secondary-action,.current-time-shortcut .secondary-action,.result-back-action{min-height:44px;font-size:1rem}.current-time-shortcut{margin-top:12px}.current-time-shortcut p{margin-bottom:6px;font-size:.95rem}.result-card{min-height:78px;padding:10px}.result-card h3{font-size:1.35rem}.result-card p{font-size:.78rem}.result-back-action{min-height:36px;margin-bottom:10px;font-size:.88rem}}
