:root{color:#243643;font-synthesis:none;--bg:#f7f6f2;--paper:#fffefa;--ink:#243643;--muted:#5c6c74;--line:#dcdfda;--blue:#547d94;--amber:#d6a051;--soft:#eeeee7;--primary:#293f49;--primary-text:#fffefa;--error:#9b3633;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#f7f6f2;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.6}:root[data-theme=dark]{--bg:#131f28;--paper:#1b2b35;--ink:#edf0e9;--muted:#afc0c6;--line:#3e5059;--blue:#7da8c0;--amber:#e8b96f;--soft:#243741;--primary:#e9c78e;--primary-text:#1b2b35;--error:#ffa99e;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root[data-theme=system],:root:not([data-theme]){--bg:#131f28;--paper:#1b2b35;--ink:#edf0e9;--muted:#afc0c6;--line:#3e5059;--blue:#7da8c0;--amber:#e8b96f;--soft:#243741;--primary:#e9c78e;--primary-text:#1b2b35;--error:#ffa99e;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root{background:var(--bg);color:var(--ink)}body{min-height:100dvh;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}@media (display-mode:standalone){body:before{content:"";z-index:50;height:env(safe-area-inset-top,0px);pointer-events:none;background:#131f28;position:fixed;top:0;left:0;right:0}}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.6;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:4px}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.04em;margin-bottom:16px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,4.6vw,3.7rem);font-weight:400;line-height:1.14}h2{letter-spacing:-.015em;font-size:1.25rem;line-height:1.35}h3{margin-top:24px;margin-bottom:8px;font-size:1rem}p{margin-bottom:16px}.muted{color:var(--muted)}.small,small{font-size:.85rem}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;max-width:1160px;margin:auto;padding:26px 38px;display:flex}.brand{color:var(--ink);background:0 0;border:0;align-items:center;gap:10px;min-height:44px;padding:0;font-size:1.05rem;font-weight:650;display:flex}.brand-mark{width:1.5em;height:1.5em;color:var(--blue);flex:none;display:block}.navigation{gap:8px;display:flex}.nav-button{color:var(--muted);background:0 0;border:0;border-radius:24px;min-height:44px;padding:10px 18px;font-size:.9rem}.nav-button[aria-current=page]{color:var(--ink);background:var(--soft);font-weight:600}main{max-width:1080px;margin:auto;padding:48px 36px 20px}main:focus{outline:none}.intro{text-align:center}.intro .muted{font-size:1rem}.eyebrow{letter-spacing:.18em;color:var(--muted);margin-bottom:14px;font-size:.7rem;font-weight:650}.clock-layout{grid-template-columns:1.2fr 1fr;align-items:center;gap:60px;margin-top:30px;display:grid}.clock-face{min-width:0}.dial-wrap{aspect-ratio:1;max-width:490px;margin:auto;position:relative}.dial-graphic,.dial{width:100%;height:100%;display:block}.dial{overflow:visible}.dial-base{stroke:var(--blue)}.dial-eating{stroke:var(--amber)}.dial-tick{stroke:var(--muted);opacity:.6}.dial-label{fill:var(--ink);font-family:inherit;font-size:20px;font-weight:600}.dial-marker{fill:var(--ink);stroke:var(--bg)}.dial-center{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:27% 14%}.phase-label{color:var(--muted);margin-bottom:6px;font-size:.82rem}.countdown{letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:clamp(2rem,4.6vw,3.5rem);font-weight:500;line-height:1.25}.countdown-sub{color:var(--muted);margin:2px 0 16px;font-size:.8rem}.current-time{border-top:1px solid var(--line);color:var(--muted);font-variant-numeric:tabular-nums;margin:0;padding-top:12px;font-size:.85rem}.legend{color:var(--muted);justify-content:center;gap:25px;margin-top:10px;font-size:.8rem;display:flex}.legend span{align-items:center;gap:7px;display:flex}.legend span:before{content:"";background:var(--blue);border-radius:50%;width:8px;height:8px;display:inline-block}.legend .legend-eating:before{background:var(--amber)}.schedule-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:30px 32px}.window-times{letter-spacing:-.04em;margin-bottom:4px;font-size:clamp(1.35rem,2.8vw,1.9rem);font-weight:500}.window-duration{color:var(--muted);margin-bottom:24px;font-size:.85rem}.example-note{color:var(--muted);max-width:30ch;font-size:.85rem}.next-change{border-top:1px solid var(--line);padding-top:22px}.next-change p{margin-bottom:3px}.next-time{letter-spacing:-.03em;font-size:1.5rem;font-weight:500}.clock-actions{flex-direction:column;gap:10px;margin-top:24px;display:flex}.button{border:1px solid var(--primary);background:var(--primary);color:var(--primary-text);text-align:center;border-radius:9px;min-height:46px;padding:11px 19px;font-size:.9rem;font-weight:550;line-height:1.5}.button:hover{filter:brightness(1.1)}.button.secondary{border-color:var(--line);color:var(--ink);background:0 0}.text-button{min-height:44px;color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);text-underline-offset:4px;background:0 0;border:0;padding:8px 4px;font-size:.85rem}.text-button:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.zone-label{color:var(--muted);overflow-wrap:anywhere;margin:20px 0 0;font-size:.72rem}.utility-strip{border-top:1px solid var(--line);justify-content:center;gap:40px;margin-top:35px;padding-top:16px;display:flex}.utility-item{align-items:center;gap:15px;display:flex}.utility-label{color:var(--muted);font-size:.8rem}.reminder-hint{text-align:center;max-width:65ch;margin:0 auto}.fullscreen-button{margin:10px auto;display:block}.site-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;max-width:1080px;margin:auto;padding:20px 36px 8px;display:flex}.site-footer p{margin:0}.build-note{text-align:center;color:var(--muted);margin:16px 20px 25px;font-size:.67rem}.message{border:1px solid var(--line);background:var(--paper);border-radius:8px;max-width:1000px;margin:16px auto 0;padding:12px 20px;font-size:.85rem}.message[hidden]{display:none}.settings-view{max-width:720px;margin:0 auto}.settings-view>h1{font-size:2.8rem}.settings-section{border-top:1px solid var(--line);padding:28px 0}.settings-section h2{margin-bottom:8px}.settings-section>.button{margin:4px 10px 6px 0}.settings-section>.danger-text{margin-top:14px;display:block}.field{flex-direction:column;gap:8px;min-width:0;margin:16px 0;font-size:.9rem;display:flex}.field-label{font-size:.85rem;font-weight:600}.field:has(input[type=checkbox]){flex-direction:row-reverse;justify-content:flex-end;align-items:center;gap:12px;min-height:44px}input,select{border:1px solid var(--line);background:var(--paper);max-width:100%;min-height:46px;color:var(--ink);border-radius:8px;width:100%;padding:9px 12px;font-size:1rem}input[type=checkbox]{width:22px;height:22px;min-height:22px;accent-color:var(--primary)}input[type=range]{accent-color:var(--blue);padding:0}.time-fields{grid-template-columns:1fr 1fr;gap:18px;display:grid}.tone-row{grid-template-columns:1fr auto;align-items:end;gap:20px;display:grid}.tone-row .button,.tone-row .field{margin-bottom:16px}.settings-section details{margin-top:20px}summary{cursor:pointer;min-height:44px;color:var(--ink);padding:10px 0;font-size:.9rem}.status-line{font-size:.9rem}.dialog{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:18px;width:calc(100% - 32px);max-width:560px;max-height:90dvh;padding:28px;overflow:auto;box-shadow:0 30px 100px #0003}.dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#13232c80}.dialog-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.dialog-head h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.6rem;font-weight:400}.icon-button{color:var(--ink);background:0 0;border:0;min-width:44px;min-height:44px;font-size:1.5rem}.dialog>p{font-size:.9rem}.presets{border:0;min-width:0;margin:22px 0 0;padding:0}.presets legend{margin-bottom:12px}.preset-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.preset{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:9px;flex-direction:column;align-items:flex-start;min-height:78px;padding:14px;display:flex}.preset strong{font-size:.95rem}.preset span{color:var(--muted);font-size:.75rem}.preset[aria-pressed=true]{border:2px solid var(--blue);background:var(--soft);padding:13px}.presets .small{margin:10px 0 0}.schedule-preview{background:var(--soft);border-radius:8px;margin-top:10px;padding:14px;font-size:.9rem}.error{color:var(--error);font-size:.9rem}.error:empty{display:none}.actions{justify-content:flex-end;gap:12px;margin-top:20px;display:flex}.danger{background:var(--error);border-color:var(--error);color:var(--paper)}.danger-text{color:var(--error)}.recording-card{border:1px solid var(--line);border-radius:12px;max-width:700px;margin:24px auto;padding:25px}.entry{border-top:1px solid var(--line);padding:24px 0}.entry h2{font-size:1.1rem}.entry p{margin-bottom:6px}.entry .button{margin-right:12px}.skip-link{z-index:20;background:var(--paper);color:var(--ink);padding:12px;position:fixed;top:-100px;left:16px}.skip-link:focus{top:10px}.exit-wall,.wall-view .site-header,.wall-view .intro,.wall-view .utility-strip,.wall-view .site-footer,.wall-view .build-note,.wall-view .fullscreen-button,.wall-view .reminder-hint,.wall-view .recording-card{display:none}.wall-view main{max-width:1500px;padding-top:16px}.wall-view .clock-layout{grid-template-columns:1.3fr 1fr}.wall-view .dial-wrap{max-width:75vh}.wall-view .countdown{font-size:clamp(3rem,7vw,6rem)}.wall-view .exit-wall{margin:20px auto;display:block}.wall-view .clock-actions{display:none}.wall-view .window-times,.wall-view .next-time{font-size:clamp(1.5rem,3.5vw,3rem)}@media (width<=760px){.site-header{padding:16px 22px}.brand{font-size:.9rem}.nav-button{padding:10px 13px}.navigation{gap:0}main{padding:30px 22px 20px}.clock-layout{grid-template-columns:1fr;gap:24px;margin-top:18px}.dial-wrap{max-width:370px}.phase-label{font-size:.78rem}.countdown{font-size:2.8rem}.countdown-sub{font-size:.75rem}.legend{margin-top:0}.schedule-card{width:100%;max-width:500px;margin:auto;padding:24px}.window-times{font-size:1.6rem}.clock-actions{flex-direction:row}.clock-actions .button{flex:1}.intro h1{font-size:2.45rem}.intro .muted{font-size:.9rem}.eyebrow{font-size:.64rem}.utility-strip{flex-direction:column;align-items:center;gap:0;margin-top:24px}.utility-item{justify-content:space-between;width:100%;max-width:400px}.site-footer{text-align:center;flex-direction:column;gap:0;padding:20px 22px 4px}.message{margin:12px 16px 0}.settings-view>h1{font-size:2.4rem}.wall-view .clock-layout{grid-template-columns:1fr}.wall-view .dial-wrap{max-width:60vh}.wall-view .schedule-card{padding:15px}.wall-view .schedule-card .eyebrow,.wall-view .window-duration,.wall-view .next-change{margin-bottom:6px}.wall-view .next-change{padding-top:10px}.tone-row{grid-template-columns:1fr;gap:0}.tone-row .button{justify-self:start;margin-top:0}.dialog{padding:20px}.dialog-head h2{font-size:1.45rem}.actions{flex-wrap:wrap}.preset{padding:10px}.preset[aria-pressed=true]{padding:9px}}@media (width<=360px){.site-header{padding:12px}.brand{gap:4px;font-size:.8rem}.nav-button{padding:10px}.time-fields{grid-template-columns:1fr;gap:0}.countdown{font-size:2.3rem}.phase-label{font-size:.7rem}.clock-actions{flex-direction:column}.preset-grid{gap:5px}.preset strong{font-size:.85rem}.utility-label{font-size:.7rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.site-footer{flex-wrap:wrap}.site-footer .build-note{text-align:center;flex-basis:100%;margin:12px 0 16px}.dim-wall{display:none}.wall-view .dim-wall{margin:10px auto;display:block}.wall-view.clock-dim{filter:brightness(.65);min-height:100vh}@media (width<=760px){.is-example .schedule-card{order:-1}.is-example .clock-layout{gap:30px}}.research-panel{border:1px solid var(--line);background:var(--soft);border-radius:10px;margin:18px 0 20px;padding:18px;font-size:.85rem}.research-panel[hidden]{display:none}.research-panel h3{margin:0 0 8px;font-size:1rem}.research-intro{margin-bottom:12px;font-weight:550}.research-findings{margin:0 0 14px;padding-left:20px}.research-findings li{margin-bottom:10px}.research-link{color:var(--ink);text-underline-offset:3px;overflow-wrap:anywhere;text-decoration:underline}.research-link:hover{text-decoration-thickness:2px}.research-limits{border-top:1px solid var(--line);padding-top:12px}.research-panel>p:last-child{margin-bottom:0}.research-sources{margin-bottom:12px}.research-sources summary{font-weight:550}.publication-list{padding-left:22px}.publication-list>li{border-top:1px solid var(--line);padding:14px 0}.publication-list p{margin:8px 0}.publication-list .source-citation{font-size:.8rem;font-weight:650}.goal-filter{margin-bottom:10px}.goal-fields{border:0;grid-template-columns:1fr 1fr;gap:4px 14px;min-width:0;margin:0;padding:0;display:grid}.goal-fields .field{margin:0;font-size:.8rem}.goal-fields .field-label{font-size:.8rem}.goal-fields input{flex-shrink:0}.goal-fields legend{margin-bottom:8px}.presets .preset-evidence{margin-top:8px;font-size:.65rem;line-height:1.4}.preset-grid .preset{min-width:0}.order-explanation summary{font-size:.78rem}.goal-notes>details{border-top:1px solid var(--line);padding:4px 0}.goal-notes summary{font-size:.8rem}.goal-notes>details>p{margin:4px 0 12px}.goal-notes .research-sources{margin-left:10px}.preset[hidden]{display:none}.research-context>details>summary{font-size:1rem;font-weight:650}.research-topic{border-top:1px solid var(--line);margin:20px 0;padding-top:16px}.research-topic p{margin:8px 0}@media (width<=420px){.goal-fields{grid-template-columns:1fr}.research-panel{padding:14px}.preset-grid{grid-template-columns:repeat(2,1fr)}}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.setup-dialog .actions{background:var(--paper);border-top:1px solid var(--line);z-index:1;margin-bottom:-28px;padding:16px 0;position:sticky;bottom:-28px}.setup-dialog{scroll-padding-bottom:90px}.setup-dialog .dialog-head{background:var(--paper);z-index:2;padding:12px 0;position:sticky;top:-28px}.setup-dialog{scroll-padding-top:85px}@media (width<=760px){.setup-dialog .actions{margin-bottom:-20px;bottom:-20px}.setup-dialog .dialog-head{top:-20px}}.setup-dialog .dialog-head{flex-wrap:wrap}.setup-dialog .dialog-head h2{flex:1;min-width:0}.research-shortcut{border:1px solid var(--line);background:var(--soft);border-radius:8px;flex-basis:100%;justify-content:space-between;align-items:center;gap:8px 14px;padding:8px 12px;display:flex}.research-shortcut[hidden]{display:none}.research-shortcut p{margin:0;font-size:.78rem;line-height:1.4}.research-shortcut .text-button{-webkit-text-decoration-color:var(--muted);text-decoration-color:var(--muted);flex-shrink:0;font-weight:600}.research-panel h3:focus{outline:2px solid var(--blue);outline-offset:4px}.setup-dialog:has(.research-shortcut:not([hidden])){scroll-padding-top:160px}@media (width<=360px){.research-shortcut{flex-wrap:wrap;gap:0;padding:8px 10px}.research-shortcut .text-button{padding-left:0}}.clock-view .clock-layout{margin-top:0}.dial-base{filter:drop-shadow(0 0 8px #659bb84d)drop-shadow(0 0 20px #659bb833)}.dial-eating{filter:drop-shadow(0 0 7px #e8b96fa6)drop-shadow(0 0 19px #e8b96f66)}.dial-eating-edge{stroke:color-mix(in srgb,var(--amber) 60%,#fff5d6);filter:drop-shadow(0 0 3px #ffe6b3b3)}.dial-marker{filter:drop-shadow(0 0 4px #edf0e966)}.privacy-link{color:var(--ink);text-underline-offset:4px;text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line)}.settings-actions{flex-wrap:wrap;align-items:center;gap:12px;margin:4px 0 6px;display:flex}.notification-result{border:1px solid var(--line);background:var(--soft);border-radius:8px;margin:12px 0 0;padding:12px 16px}.privacy-banner{background:var(--paper);border:1px solid var(--line);border-radius:12px;max-width:1000px;margin:20px auto 0;padding:20px 24px;font-size:.9rem}.privacy-banner[hidden]{display:none}.privacy-banner h2{margin-bottom:8px;font-size:1rem}.privacy-banner p{max-width:82ch;margin-bottom:12px}.privacy-banner .error:empty{display:none}.privacy-banner .actions{flex-wrap:wrap;align-items:center;margin:0}.privacy-controls{border-top:1px solid var(--line);margin-top:22px;padding-top:4px}.privacy-controls .error:empty{display:none}.privacy-controls .small{margin-top:12px}.data-tools>.button{margin:4px 10px 6px 0}.data-tools>.danger-text{margin-top:12px;display:block}.wall-view .privacy-banner{display:none}@media (width<=760px){.privacy-banner{margin:16px 18px 0;padding:18px}.site-header{flex-wrap:wrap}.navigation{gap:2px;margin-left:auto}.privacy-banner .actions .button{flex:1}}@media (width<=360px){.navigation{justify-content:space-between;width:100%}.privacy-banner .actions{flex-direction:column;align-items:stretch}}.privacy-banner .actions>.button{align-self:stretch}.reminder-notice{z-index:40;border:2px solid var(--amber);background:var(--paper);border-radius:1rem;width:min(26rem,100vw - 2rem);max-height:calc(100dvh - 2rem);padding:1.25rem;position:fixed;bottom:1rem;right:1rem;overflow:auto;box-shadow:0 8px 32px #0004}.reminder-notice h2{margin:0 0 .5rem;font-size:1.25rem}.reminder-notice p{margin:0 0 1rem}.desktop-features{border:1px solid var(--line);background:var(--soft);text-align:left;border-radius:1rem;max-width:54rem;margin:1.5rem auto;padding:1.5rem}.desktop-features h2{margin-top:0}.desktop-features-distinction{font-weight:600}.desktop-features-status{color:var(--ink);font-size:.8rem;font-weight:650}.desktop-features-dialog .desktop-features{background:0 0;border:0;margin:0 0 1rem;padding:0}.navigation{flex-wrap:wrap}.wall-view .desktop-features{display:none}.site-header,.installation-menu{position:relative}.installation-menu>.nav-button:after{content:" ▾"}.installation-menu>.nav-button[aria-expanded=true]{background:var(--soft);color:var(--ink)}.installation-actions{z-index:30;background:var(--paper);border:1px solid var(--line);border-radius:12px;gap:18px;width:min(320px,100vw - 32px);padding:18px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 36px #0003}.installation-actions[hidden]{display:none}.installation-option{text-align:center;min-width:0}.installation-option .button{width:100%;min-height:48px}.installation-option p{margin:6px 0 0;font-size:.75rem}.installation-option .button:disabled{opacity:1;color:var(--muted);background:var(--soft);border-style:dashed}.wall-view .installation-actions{display:none}.reminder-notice{bottom:calc(1rem + env(safe-area-inset-bottom,0px));right:calc(1rem + env(safe-area-inset-right,0px))}.dialog{max-height:calc(90dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}@media (width<=760px){.installation-menu{position:static}.installation-actions{right:16px}.installation-option .button{padding:10px;font-size:.85rem}.nav-button{padding:10px 8px;font-size:.8rem}}.download-checksum{margin:20px 0}.download-checksum code{overflow-wrap:anywhere;margin:12px 0;font-size:.8rem;display:block}.desktop-download-dialog>a.button{text-align:center;text-decoration:none;display:inline-block}.desktop-download-dialog li+li{margin-top:10px}.download-command{overflow-wrap:anywhere;background:var(--soft);border-radius:6px;padding:12px;font-size:.85rem;display:block}@media (width<=760px){.dial-label{font-size:26px}}.update-notice{top:env(safe-area-inset-top,0px);z-index:35;background:var(--soft);border-bottom:2px solid var(--amber);justify-content:space-between;align-items:center;gap:16px;max-width:1160px;margin:0 auto;padding:14px 24px;display:flex;position:sticky;box-shadow:0 4px 16px #0001}.update-notice[hidden]{display:none}.update-notice h2{margin:0 0 2px;font-size:1rem}.update-notice p{margin:0}.update-notice>.button{flex-shrink:0}.skip-link:focus{z-index:50}@media (width<=600px){.update-notice{flex-wrap:wrap;gap:10px;padding:12px 18px}.update-notice>.button{width:100%}}
