h1,h2,h3{line-height:var(--fl-leading-tight);text-wrap:balance;margin:0}h1{font-size:var(--fl-text-xl);font-weight:var(--fl-weight-quiet);letter-spacing:var(--fl-tracking-display)}h2{font-size:var(--fl-text-lg);font-weight:var(--fl-weight-quiet);letter-spacing:var(--fl-tracking-display)}h3{font-size:var(--fl-text-md);font-weight:var(--fl-weight-body)}a{color:var(--fl-link);text-underline-offset:var(--fl-underline-offset);text-decoration-color:currentColor}a:hover{color:var(--fl-ink)}:focus-visible{outline:2px solid var(--fl-signal);outline-offset:2px;border-radius:var(--fl-radius-sm)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}fl-icon{inline-size:var(--fl-icon);block-size:var(--fl-icon);vertical-align:middle;flex:none;display:inline-flex}fl-icon[size=sm]{inline-size:var(--fl-icon-sm);block-size:var(--fl-icon-sm)}fl-icon[size=lg]{inline-size:var(--fl-icon-lg);block-size:var(--fl-icon-lg)}fl-icon>svg{block-size:100%;inline-size:100%;display:block}summary{align-items:center;gap:var(--fl-space-2);min-height:var(--fl-touch);cursor:pointer;width:fit-content;list-style:none;display:inline-flex}summary::-webkit-details-marker{display:none}summary:after{content:"";inline-size:var(--fl-chevron);block-size:var(--fl-chevron);transition:transform var(--fl-dur) var(--fl-ease);border-bottom:1.5px solid;border-right:1.5px solid;flex:none;transform:translateY(-25%)rotate(45deg)}details[open]>summary:after{transform:translateY(25%)rotate(-135deg)}.meter{block-size:var(--fl-strip-h);border-radius:var(--fl-radius-pill);background:var(--fl-border);display:block;overflow:hidden}.meter>span{border-radius:inherit;background:var(--fl-accent);block-size:100%;display:block}.button{min-height:var(--fl-touch);padding:var(--fl-space-2) var(--fl-space-4);border-radius:var(--fl-radius-pill);background:var(--fl-accent);color:var(--fl-ink-on-accent);font-weight:var(--fl-weight-body);transition:background var(--fl-dur) var(--fl-ease);border:1px solid #0000;text-decoration:none;display:inline-block}.button:hover{background:var(--fl-accent-hover)}button{min-height:var(--fl-touch);padding:var(--fl-space-2) var(--fl-space-4);border:1px solid var(--fl-border-strong);border-radius:var(--fl-radius-pill);background:var(--fl-surface);color:var(--fl-ink);font:inherit;font-weight:var(--fl-weight-body);cursor:pointer;transition:background var(--fl-dur) var(--fl-ease)}button:hover:not(:disabled){background:var(--fl-surface-sunk)}button:disabled{color:var(--fl-ink-faint);cursor:not-allowed}button.primary{background:var(--fl-accent);color:var(--fl-ink-on-accent);border-color:#0000}button.primary:hover:not(:disabled){background:var(--fl-accent-hover)}button.primary:disabled{border-color:var(--fl-border);background:var(--fl-surface-sunk);color:var(--fl-ink-faint)}button.link,a.link{color:var(--fl-link);font-weight:var(--fl-weight-body);text-underline-offset:var(--fl-underline-offset);background:0 0;border:0;padding:0;text-decoration:underline}button.link:hover:not(:disabled),a.link:hover{color:var(--fl-ink);background:0 0}select{appearance:none;padding:var(--fl-space-2) var(--fl-space-6) var(--fl-space-2) var(--fl-space-3);border:1px solid var(--fl-border-strong);border-radius:var(--fl-radius);background-color:var(--fl-surface);background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:right var(--fl-space-4) top 50%, right var(--fl-space-3) top 50%;background-size:var(--fl-chevron) var(--fl-chevron);color:var(--fl-ink);font:inherit;cursor:pointer;background-repeat:no-repeat}select:disabled{color:var(--fl-ink-faint);cursor:not-allowed}input[type=checkbox],input[type=radio]{accent-color:var(--fl-accent)}:where(input[type=checkbox],input[type=radio]){inline-size:var(--fl-control-dot);block-size:var(--fl-control-dot);margin:0}fieldset{border:0;margin:0;padding:0}legend{font-size:var(--fl-text-lg);font-weight:var(--fl-weight-quiet);letter-spacing:var(--fl-tracking-display);line-height:var(--fl-leading-tight);text-wrap:balance;padding:0}.card{gap:var(--fl-space-4);padding:var(--fl-space-5);border-radius:var(--fl-radius-lg);background:var(--fl-surface);box-shadow:var(--fl-shadow);display:grid}.stack{gap:var(--fl-space-4);display:grid}.cluster{align-items:center;gap:var(--fl-space-3);flex-wrap:wrap;display:flex}.hint{color:var(--fl-ink-muted);font-size:var(--fl-text-sm);line-height:var(--fl-leading-body)}.noscript{max-width:var(--fl-measure);margin:var(--fl-space-8) auto;padding:0 var(--fl-screen-pad);color:var(--fl-ink-muted)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important;animation-delay:0s!important}button:hover,button:active,.card:hover{transform:none}}@media print{:host,:root{--fl-bg:var(--fl-paper-bg);--fl-surface:var(--fl-paper-bg);--fl-surface-sunk:var(--fl-paper-bg);--fl-surface-raised:var(--fl-paper-bg);--fl-border:var(--fl-paper-border);--fl-border-strong:var(--fl-paper-border-strong);--fl-ink:var(--fl-paper-ink);--fl-ink-muted:var(--fl-paper-ink-muted);--fl-ink-faint:var(--fl-paper-ink-faint);--fl-link:var(--fl-paper-ink);--fl-shadow:none;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{background:var(--fl-paper-bg);color:var(--fl-paper-ink);font-size:10pt;line-height:1.4}fl-offline-strip,fl-update-banner,fl-top-bar,fl-nav-bar,fl-segmented,fl-now-card,fl-timeline,fl-stay-targets,nav,.no-print{display:none!important}.day,.print-day{break-inside:avoid;page-break-inside:avoid}a{color:var(--fl-paper-ink);text-decoration:none}@page{margin:.6in .5in}}.landing{gap:var(--fl-section-gap);max-width:var(--fl-measure-page);padding:var(--fl-space-6) var(--fl-screen-pad) var(--fl-space-8);grid-template-columns:minmax(0,1fr);margin:0 auto;display:grid}.masthead .inner,.landing-footer .inner{max-width:var(--fl-measure-page);padding-inline:var(--fl-screen-pad);margin:0 auto}.masthead{border-block-end:1px solid var(--fl-border)}.masthead .inner{justify-content:space-between;align-items:center;gap:var(--fl-space-4);min-height:var(--fl-top-bar-h);padding-block:var(--fl-space-2);display:flex}.brand{align-items:center;gap:var(--fl-space-2);min-height:var(--fl-touch);color:var(--fl-ink);letter-spacing:var(--fl-tracking-display);text-decoration:none;display:inline-flex}.brand:hover{color:var(--fl-ink)}.brand img{inline-size:var(--fl-icon-lg);block-size:var(--fl-icon-lg);border-radius:var(--fl-radius-sm)}.masthead-action{display:none}.landing-footer{border-block-start:1px solid var(--fl-border);background:var(--fl-surface-sunk)}.landing-footer .inner{gap:var(--fl-space-5);padding-block:var(--fl-space-6) var(--fl-space-7);color:var(--fl-ink-muted);font-size:var(--fl-text-sm);display:grid}.landing-footer p{line-height:var(--fl-leading-body);margin:0}.landing-footer .name{color:var(--fl-ink);font-size:var(--fl-text-base);letter-spacing:var(--fl-tracking-display)}.landing-footer nav ul{gap:var(--fl-space-2) var(--fl-space-5);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.landing-footer nav a{min-height:var(--fl-touch);color:var(--fl-ink-muted);-webkit-text-decoration-color:var(--fl-border-strong);text-decoration-color:var(--fl-border-strong);align-items:center;display:inline-flex}.landing-footer nav a:hover{color:var(--fl-ink);text-decoration-color:currentColor}.landing-footer section{gap:var(--fl-space-3);border-block-start:1px solid var(--fl-border);padding-block-start:var(--fl-space-4);display:grid}.landing section{gap:var(--fl-space-4);align-content:start;display:grid}.landing h2{font-size:var(--fl-text-xl)}.landing .banner{padding:var(--fl-space-4) var(--fl-space-5);border:1px solid var(--fl-border-strong);border-radius:var(--fl-radius-lg);background:var(--fl-surface-sunk);line-height:var(--fl-leading-body);grid-column:1/-1;margin:0}.landing #hero{gap:var(--fl-space-6);grid-template-columns:minmax(0,1fr)}.landing .hero-copy{gap:var(--fl-space-5);max-width:var(--fl-measure);align-content:start;display:grid}.landing h1{font-size:clamp(var(--fl-text-2xl), 5.2vw, var(--fl-text-4xl));text-wrap:balance}.landing .subhead{max-width:34ch;color:var(--fl-ink-muted);font-size:var(--fl-text-lg);font-weight:var(--fl-weight-quiet);line-height:var(--fl-leading-body);text-wrap:pretty;margin:0}.landing .actions{align-items:center;gap:var(--fl-space-5);min-height:var(--fl-touch);flex-wrap:wrap;margin:0;display:flex}.landing .actions .button{padding-inline:var(--fl-space-6);align-items:center;display:inline-flex}.landing .actions .link{color:var(--fl-ink-muted);-webkit-text-decoration-color:var(--fl-border-strong);text-decoration-color:var(--fl-border-strong)}.landing .actions .link:hover{color:var(--fl-ink);text-decoration-color:currentColor}.landing .legend{gap:var(--fl-space-3) var(--fl-space-5);color:var(--fl-ink-muted);font-size:var(--fl-text-sm);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.landing .legend li{align-items:center;gap:var(--fl-space-2);display:flex}.landing .legend li:before{content:"";inline-size:var(--fl-space-3);block-size:var(--fl-space-5);border-radius:var(--fl-radius-pill);border:1px solid;flex:none}.landing .legend .key-bright:before{border-color:var(--fl-advice-bright-edge);background:var(--fl-advice-bright)}.landing .legend .key-avoid:before{border-color:var(--fl-advice-avoid-light-edge);background:var(--fl-bg)}.landing .legend .key-sleep:before{border-color:var(--fl-advice-sleep-edge);background:var(--fl-advice-sleep)}.landing .legend .key-melatonin:before{inline-size:var(--fl-space-4);block-size:var(--fl-space-4);border-width:1.25px;border-color:var(--fl-melatonin-ring);background:var(--fl-melatonin-core)}.landing .hero-figure{gap:var(--fl-space-3);width:100%;max-width:var(--fl-hero-plot);justify-self:start;margin:0;display:grid}.landing .plot-frame{border:1px solid var(--fl-border);border-radius:var(--fl-radius-lg);background:var(--fl-bg);box-shadow:var(--fl-shadow);position:relative;overflow:hidden}.landing .plot-frame:before,.landing .plot-frame:after{content:"";block-size:var(--fl-plot-fade);pointer-events:none;position:absolute;inset-inline:0}.landing .plot-frame:before{background:linear-gradient(to bottom, var(--fl-bg), transparent);inset-block-start:0}.landing .plot-frame:after{background:linear-gradient(to top, var(--fl-bg), transparent);inset-block-end:0}.landing .plot{width:100%;height:auto;color:var(--fl-ink);display:block}.landing figcaption{color:var(--fl-ink-faint);font-size:var(--fl-text-sm);line-height:var(--fl-leading-body);text-wrap:pretty}.landing .plot .rail{fill:var(--fl-ink-muted);font-size:var(--fl-text-2xs)}.landing .plot .rule{stroke:var(--fl-hour-rule);stroke-width:1px}.landing .plot .divider{stroke:var(--fl-lane-divider);stroke-width:1px}.landing .plot .band-ground{fill:var(--fl-band-bg)}.landing .plot .band-date,.landing .plot .band-city,.landing .plot .band-right,.landing .plot .band-time{fill:var(--fl-ink-muted);font-size:var(--fl-text-2xs)}.landing .plot .band-time.changed{fill:var(--fl-ink);font-weight:var(--fl-weight-emphasis)}.landing .plot .band-summary{fill:var(--fl-ink-faint);font-size:var(--fl-text-2xs)}.landing .plot .pill-ground{fill:var(--fl-surface);stroke:var(--fl-border)}.landing .plot .capsule{stroke-width:var(--fl-capsule-stroke)}.landing .plot .capsule.stipple path{fill-opacity:var(--fl-stipple-alpha)}.landing .plot .slash,.landing .plot .badge{fill:none;stroke-width:var(--fl-capsule-stroke)}.landing .plot .flight-rule{stroke:var(--fl-track-flight);stroke-width:1px}@media (forced-colors:active){.landing .plot .band-hatch{fill:none;stroke:canvastext}}.landing .steps{gap:var(--fl-space-5);max-width:var(--fl-measure);counter-reset:step;margin:0;padding:0;list-style:none;display:grid}.landing .steps li{grid-template-columns:var(--fl-space-7) minmax(0, 1fr);gap:var(--fl-space-4);color:var(--fl-ink-muted);counter-increment:step;align-items:baseline;display:grid}.landing .steps li:before{content:counter(step);color:var(--fl-ink-faint);font-size:var(--fl-text-xl);font-weight:var(--fl-weight-quiet);font-variant-numeric:tabular-nums;letter-spacing:var(--fl-tracking-display);line-height:var(--fl-leading-tight);text-align:end}.landing .costs{gap:var(--fl-space-4);max-width:var(--fl-measure);color:var(--fl-ink-muted);line-height:var(--fl-leading-body);margin:0;padding:0;list-style:none;display:grid}.landing .costs .lead{color:var(--fl-ink)}.landing #install{max-width:var(--fl-page-aside)}.landing .card{gap:var(--fl-space-3);padding:var(--fl-space-5);border:1px solid var(--fl-border);border-radius:var(--fl-radius-lg);background:var(--fl-surface-raised);box-shadow:var(--fl-shadow);display:grid}.landing .card h3{font-size:var(--fl-text-md);font-weight:var(--fl-weight-body);margin:0}.landing .card ol{gap:var(--fl-space-2);font-size:var(--fl-text-sm);margin:0;padding-inline-start:var(--fl-space-5);display:grid}.landing .card p{color:var(--fl-ink-muted);font-size:var(--fl-text-sm);margin:0}.landing[data-installed] #install,.landing[data-installed] .actions .link{display:none}.landing-footer summary{color:var(--fl-ink-muted);font-size:var(--fl-text-sm)}.landing-footer summary:hover{color:var(--fl-ink)}.landing-footer .disclaimer{gap:var(--fl-space-3);max-width:var(--fl-measure);padding-top:var(--fl-space-3);color:var(--fl-ink-muted);font-size:var(--fl-text-sm);line-height:var(--fl-leading-body);display:grid}@media (width>=48rem){.landing #hero{grid-template-columns:minmax(0, 1fr) var(--fl-page-aside);align-items:center;column-gap:var(--fl-space-7)}}@media (width>=60rem){.landing{grid-template-columns:minmax(0, 1fr) var(--fl-page-aside);column-gap:var(--fl-space-8);padding-block:var(--fl-space-8)}.landing #hero{column-gap:var(--fl-space-8);grid-column:1/-1}.landing #what-it-does{grid-area:2/1/span 2}.landing #install{grid-area:2/2}.landing #what-it-costs{max-width:var(--fl-page-aside);grid-area:3/2}.landing .costs{gap:var(--fl-space-3);font-size:var(--fl-text-sm)}.landing .hero-figure{justify-self:stretch}.masthead-action{align-items:center;display:inline-flex}.landing .actions .button{display:none}.landing-footer .inner{grid-template-columns:minmax(0,1fr) auto;align-items:start}.landing-footer section{grid-column:1/-1}.landing-footer .disclaimer{columns:2;column-gap:var(--fl-space-8);max-width:none;display:block}.landing-footer .disclaimer p{margin:0 0 var(--fl-space-3)}}
