:root{font-family:Arial,Helvetica,sans-serif;color:#eeeaf7;background:#121526;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;color-scheme:dark;--muted:#adaac1;--lavender:#c7b8ef;--line:#ffffff12;--peach:#e7bf9e;--surface:#1b1e32}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(ellipse at 86% 14%,#3c335339,transparent 55%),linear-gradient(140deg,#121626 10%,#181a2c 60%,#242137);min-height:100vh}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}a{color:inherit;text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #e2d5ff;outline-offset:5px}button:disabled{cursor:default;opacity:.5}button,a,select{touch-action:manipulation}::selection{background:#c7b8ef;color:#161828}input{caret-color:#ddd0ff}::-webkit-scrollbar{width:9px}::-webkit-scrollbar-track{background:#16192b}::-webkit-scrollbar-thumb{background:#514c6b;border-radius:8px}.icon{width:20px;height:20px;flex-shrink:0;vertical-align:middle}[hidden]{display:none!important}.page-shell{position:relative;max-width:1192px;padding:0 36px;margin:auto}.sky-stars{pointer-events:none;position:absolute;inset:0 0 auto;height:670px;opacity:.45;background-image:radial-gradient(circle at 13% 18%,#c4b7e1 1px,transparent 1.5px),radial-gradient(circle at 36% 8%,#c4b7e1 1px,transparent 1.5px),radial-gradient(circle at 71% 11%,#c4b7e1 1px,transparent 1.5px),radial-gradient(circle at 95% 40%,#c4b7e1 1px,transparent 1.5px),radial-gradient(circle at 4% 65%,#c4b7e1 1px,transparent 1.5px)}.site-header{height:104px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;font-size:23px;font-weight:600;letter-spacing:-1px;text-decoration:none;gap:12px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;color:#d2c5f4;background:#c7b8ef0d;border-radius:13px}.brand-mark .icon{width:25px;height:25px}.brand-dot{color:var(--lavender);margin-left:-11px}.quiet-button{border:0;background:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;color:var(--muted);font-size:13px;padding:8px 0}.quiet-button:hover{color:#f2ecff}.about-button{gap:8px}.about-button .icon{width:17px}.intro{padding:43px 0 35px;display:flex;align-items:center;justify-content:space-between;gap:25px}.intro h1{font-family:Georgia,Times New Roman,serif;font-size:48px;letter-spacing:-1.6px;line-height:1.15;font-weight:400;margin:0 0 19px;text-wrap:balance}.intro h1 span{color:var(--lavender)}.intro p{font-size:14px;line-height:1.8;color:var(--muted);margin:0}.mobile-break{display:none}.moon-scene{width:290px;margin-right:44px;text-align:center;align-self:center}.moon-scene svg{display:block;width:100%;height:180px}.moon-scene>span{font-size:10px;letter-spacing:.5px;color:#a39bb9}.workbench{display:grid;grid-template-columns:36% 64%;background:#1b1e32;border:1px solid #ffffff10;border-radius:16px;overflow:hidden;box-shadow:0 20px 55px #080b161c}.controls-panel{padding:31px 30px;background:#191c2e;border-right:1px solid var(--line)}h2,h3,p{margin-top:0}.controls-panel h2,.results-header h2{font-size:19px;font-weight:500;letter-spacing:-.3px;margin:0 0 9px}.panel-description{font-size:12px;color:var(--muted);margin:0 0 24px}.mode-switch{display:flex;gap:4px;background:#111526;border-radius:9px;padding:5px}.mode-switch button{border:0;background:transparent;color:#a9a6be;min-height:44px;border-radius:6px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;flex:1;white-space:nowrap}.mode-switch button .icon{width:16px;height:16px}.mode-switch button[aria-pressed=true]{color:#e2d9fa;background:#38334e}.mode-switch button:hover{color:#f5eeff}.time-control{margin:27px 0 29px;min-height:123px}label,.field-label{font-size:12px;color:#d3cee3;display:block}.time-input-wrap{position:relative;margin-top:11px;border:1px solid #6560785c;background:#141829;border-radius:9px;display:flex;align-items:center;min-height:72px;padding:0 15px}.time-input-wrap:focus-within{border-color:var(--lavender)}input[type=time]{width:100%;min-width:0;min-height:70px;background:none;border:0;color:#f2edfc;font-size:32px;font-weight:400;letter-spacing:-1px;font-variant-numeric:tabular-nums;outline-offset:0;padding:0}input[type=time]::-webkit-calendar-picker-indicator{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}input[type=time]:focus-visible{outline:none}.time-input-wrap>.icon{color:#c5bad9;margin-left:5px;pointer-events:none}.input-help{font-size:10px;line-height:1.7;color:var(--muted);margin:9px 0 0}.now-time{font-size:36px;margin:14px 0 8px;font-variant-numeric:tabular-nums}.now-time .period{font-size:17px}.text-button{padding:0;min-height:44px;color:var(--lavender);display:flex;align-items:center;gap:8px;background:none;border:0;font-size:11px}.text-button .icon{width:15px}.field-line{display:flex;align-items:center;justify-content:space-between;gap:8px}output{padding:5px 8px;background:#c7b8ef10;color:#d2c3f5;border-radius:5px;font-size:11px;font-variant-numeric:tabular-nums}input[type=range]{appearance:none;width:100%;height:44px;background:transparent;margin:9px 0 -5px;cursor:pointer}input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:3px;background:linear-gradient(to right,#bba8e7 0 var(--range-progress),#3c3c54 var(--range-progress) 100%)}input[type=range]::-webkit-slider-thumb{appearance:none;width:15px;height:15px;border-radius:50%;background:#d3c3f9;margin-top:-5.5px;box-shadow:0 2px 6px #0004}input[type=range]::-moz-range-track{height:4px;border-radius:3px;background:#49455e}input[type=range]::-moz-range-progress{height:4px;background:#bba8e7}input[type=range]::-moz-range-thumb{width:15px;height:15px;border:0;border-radius:50%;background:#d3c3f9}.range-ends{display:flex;justify-content:space-between;font-size:10px;color:#a7a2bc}.buffer-control>.input-help{margin-top:13px}.format-line{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:23px;padding-top:15px}.format-line select{min-height:44px;font-size:11px;background:#191c2e;border:0;color:#b8b2cb;padding:0 5px;cursor:pointer}.saved-state{display:flex;align-items:center;gap:6px;font-size:10px;color:#a19cb7;margin-top:15px;line-height:1.5}.saved-state .icon{width:13px;height:13px;color:#a4b8b6}.results-panel{padding:31px 32px 22px;background:linear-gradient(125deg,#20223788,#25243b66)}.results-header{display:flex;justify-content:space-between;gap:12px;align-items:start;margin-bottom:23px}.results-header h2{font-size:21px}.results-header p{color:#b6b0c9;font-size:12px;line-height:1.5;margin:0}.cycle-key{font-size:10px;color:#b8afce;display:flex;align-items:center;gap:5px;white-space:nowrap;margin-top:5px}.cycle-key .icon{width:13px;height:13px}.plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.plan-option{text-align:left;padding:14px 16px 13px;background:#ffffff03;border:1px solid #ffffff12;border-radius:10px;min-height:123px;transition:background .18s,border-color .18s}.plan-option:hover{background:#c7b8ef0d;border-color:#a99bc166}.plan-option.selected{background:#c7b8ef10;border-color:#b7a5df}.plan-top,.plan-bottom{display:flex;justify-content:space-between;align-items:center;gap:6px}.plan-date{font-size:10px;color:#c0b9d0}.plan-tag{font-size:9px;color:#aaa4bd;white-space:nowrap}.plan-tag.full-night{color:#c8b8ee}.plan-time{display:block;font-size:32px;letter-spacing:-1px;margin:12px 0 11px;font-weight:400;font-variant-numeric:tabular-nums;color:#f1edfa}.period{font-size:13px;letter-spacing:0;color:#c1b6d9;margin-left:2px}.plan-bottom{font-size:10px;color:#b6b0c8}.separator{padding:0 3px;color:#6f6888}.selection-mark{width:16px;height:16px;border-radius:50%;border:1px solid #68607d;display:grid;place-items:center}.selected .selection-mark{background:#c7b8ef;border-color:#c7b8ef;color:#292138}.selection-mark .icon{width:10px;height:10px;stroke-width:2.5}.selected-summary{display:flex;align-items:center;gap:7px;color:#bbb1d0;font-size:11px;margin-top:12px;min-height:38px}.selected-summary>.icon{color:#c7b8ef;width:14px;height:14px}.selected-summary strong{font-weight:400;color:#e2d6f7}.selected-summary>.icon-button{margin-left:auto}.icon-button{border:0;background:transparent;display:inline-grid;place-items:center;min-width:44px;min-height:44px;color:#b2a9c8;border-radius:8px}.icon-button:hover{background:#c7b8ef10;color:#eee4ff}.icon-button .icon{width:16px;height:16px}.plan-notice{font-size:10px;line-height:1.6;color:#b0a8c3;margin:0;min-height:16px}.timeline-section{border-top:1px solid #ffffff0d;padding-top:22px;margin-top:20px}.timeline-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.timeline-heading h3{font-size:12px;font-weight:400;margin:0;color:#e0d9ee}.timeline-heading>span{font-size:10px;color:#b1a7c4}.cycle-chart{width:100%;display:block;overflow:visible;margin-top:12px}.cycle-waves>path{stroke:url(#wave-color);fill:none;stroke-width:2.3}.cycle-waves text{fill:#aba1c0;font-size:9px;text-anchor:middle;font-family:Arial,sans-serif}.cycle-waves .cycle-divider{stroke:#b5a4d523;stroke-dasharray:2 5}.chart-baseline{stroke:#9c8eb324}.buffer-line{stroke:#c1b7d8;stroke-dasharray:3 4;fill:none}.start-point{fill:#bca9e6}.end-point{fill:var(--peach)}.chart-label{fill:#a9a0bc;font:9px Arial,sans-serif}.timeline-times{display:flex;justify-content:space-between;margin-top:-4px}.timeline-times>span{display:grid;grid-template-columns:16px auto;column-gap:6px;row-gap:4px}.timeline-times>span:last-child{text-align:right;grid-template-columns:auto 16px}.timeline-times .icon{width:13px;height:13px;color:#c3b1e9;grid-row:1}.timeline-times strong{font-size:11px;font-weight:400;grid-row:1}.timeline-times small{grid-column:1/-1;font-size:9px;color:#a79dbb}.timeline-times>span:last-child .icon{grid-column:2;color:var(--peach)}.timeline-times>span:last-child strong{grid-column:1}.timeline-caption{font-size:9px;color:#a69db9;margin:12px 0 0;text-align:center}.result-footnote{margin-top:19px;display:flex;align-items:center;justify-content:center;gap:6px;color:#aca2bf}.result-footnote .icon{height:12px;width:12px}.result-footnote p{margin:0;font-size:9px;line-height:1.6}.lower-section{display:grid;grid-template-columns:1.37fr 1fr;gap:48px;margin:28px 0 38px;align-items:center}.tip-card{display:flex;gap:17px;padding:24px;background:#c3aec807;border:1px solid #c3aec80d;border-radius:13px}.tip-symbol{color:#d4bca6;background:#ddbd9c0a;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;flex-shrink:0}.tip-symbol .icon{width:18px;height:18px}.tip-copy{flex:1;min-width:0}.tip-top{display:flex;align-items:center;justify-content:space-between;color:#bba6a0;font-size:9px;margin-bottom:10px}.tip-top>span:last-child{font-variant-numeric:tabular-nums;color:#a89ab6}.tip-card h2{font-size:15px;font-weight:400;margin:0 0 9px}.tip-card p{font-size:11px;line-height:1.8;color:#b6aec5;margin-bottom:10px;min-height:39px}.tip-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px}.tip-bottom a{font-size:9px;color:#a99fb9}.tip-bottom button{font-size:10px;min-height:44px}.tip-bottom button .icon{width:14px;height:14px}.explainer{padding-right:10px}.explainer h2{font-family:Georgia,serif;font-size:23px;font-weight:400;letter-spacing:-.5px;margin-bottom:12px}.explainer p{font-size:11px;line-height:1.9;color:#b2a9c4;margin-bottom:12px;max-width:46ch}.explainer a{font-size:10px;color:#cbb9ec;text-decoration:none;display:inline-flex;align-items:center;gap:8px;min-height:35px}.explainer a:hover{text-decoration:underline}.explainer a .icon{width:14px;height:14px}footer{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid var(--line);padding:24px 0 27px;font-size:9px;color:#a29ab5}footer>span:first-child{display:flex;gap:7px;align-items:center}footer .icon{width:12px;height:12px}dialog{max-width:460px;width:calc(100% - 40px);background:#222238;color:#efe8fc;border:1px solid #73648666;border-radius:16px;padding:27px;box-shadow:0 20px 70px #0006}dialog::backdrop{background:#0c0e1bd9;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}dialog h2{font-family:Georgia,serif;font-size:27px;font-weight:400;line-height:1.3}.about-lines p{font-size:13px;line-height:1.8;color:#c1b7d4;margin-bottom:18px}.dialog-note{font-size:11px;padding-top:20px;border-top:1px solid var(--line);color:#cbb9ec}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:16px;top:-100px;background:#d5c6fa;padding:14px;color:#17192a;z-index:5;border-radius:8px}.skip-link:focus{top:12px}@media(min-width:1300px){.intro{padding-top:51px;padding-bottom:42px}.intro h1{font-size:53px}.page-shell{padding:0 36px}.moon-scene{margin-right:65px}}@media(max-width:1000px){.page-shell{padding:0 25px}.workbench{grid-template-columns:36% 64%}.controls-panel{padding:27px 22px}.results-panel{padding:27px 23px 22px}.results-header{flex-direction:column;gap:9px}.cycle-key{margin:0}.moon-scene{margin-right:15px;width:240px}.intro h1{font-size:43px}.plan-option{padding:12px}.plan-time{font-size:29px}.lower-section{gap:28px;grid-template-columns:1.4fr 1fr}.tip-card{padding:20px;gap:12px}.tip-bottom{align-items:start;flex-direction:column;gap:0}.tip-bottom button{align-self:flex-end}}@media(max-width:740px){.page-shell{padding:0 20px;max-width:580px}.site-header{height:79px}.brand{font-size:21px}.brand-mark{width:33px;height:33px}.intro{padding:32px 0 29px;position:relative;min-height:210px}.intro h1{font-size:35px;line-height:1.16;letter-spacing:-1px;position:relative;z-index:1}.intro p{font-size:12px;line-height:1.8;max-width:260px;position:relative;z-index:1}.mobile-break{display:block}.moon-scene{position:absolute;right:-12px;top:7px;width:120px;margin:0;opacity:.45;--moon-opacity:.45}.moon-scene svg{height:100px}.moon-scene>span{display:none}.workbench{grid-template-columns:1fr}.controls-panel{padding:25px 23px 20px;border-right:0;border-bottom:1px solid var(--line)}.controls-panel h2{font-size:20px}.panel-description{margin-bottom:20px}.mode-switch button{font-size:12px}.time-control{margin:23px 0;min-height:0}.time-input-wrap{min-height:70px}input[type=time]{font-size:35px}.input-help{font-size:11px}.buffer-control>.input-help{font-size:10px}.format-line{margin-top:20px;padding-top:9px}.saved-state{margin-top:8px;font-size:10px}.results-panel{padding:27px 20px 23px}.results-header{flex-direction:row;align-items:start;gap:8px;margin-bottom:20px}.results-header h2{font-size:20px}.results-header p{font-size:11px;max-width:215px;line-height:1.7}.cycle-key{font-size:0;margin-top:3px}.cycle-key .icon{width:18px;height:18px}.plan-grid{gap:10px}.plan-option{padding:12px 11px}.plan-time{font-size:30px;margin:14px 0}.plan-date,.plan-tag,.plan-bottom{font-size:9px}.plan-bottom .separator{padding:0 1px}.period{font-size:11px}.plan-notice{font-size:10px}.selected-summary{font-size:10px;gap:6px}.timeline-heading h3{font-size:12px}.timeline-heading>span{font-size:9px}.cycle-chart{margin-top:17px}.cycle-chart .chart-label{font-size:12px}.cycle-waves text{font-size:12px}.timeline-times strong{font-size:11px}.timeline-times small{font-size:9px}.timeline-caption{font-size:9px;line-height:1.7}.result-footnote{align-items:start;justify-content:start}.result-footnote .icon{margin-top:2px}.result-footnote p{font-size:9px}.lower-section{display:flex;flex-direction:column;align-items:stretch;margin-top:22px;gap:30px;margin-bottom:30px}.tip-card{padding:21px 18px;gap:13px}.tip-card p{font-size:12px;min-height:0}.tip-card h2{line-height:1.5;font-size:16px}.tip-top{font-size:9px}.tip-bottom{flex-direction:row;align-items:center;gap:8px}.tip-bottom a{font-size:9px}.tip-bottom button{min-height:44px;white-space:nowrap}.explainer{padding:0 12px}.explainer h2{font-size:24px}.explainer p{font-size:12px;max-width:none}.explainer a{font-size:11px;min-height:44px}footer{flex-direction:column;align-items:center;gap:12px;padding-top:24px;font-size:9px}}@media(prefers-reduced-motion:no-preference){.moon-scene{animation:moon-reveal 1s cubic-bezier(.16,1,.3,1) both}@keyframes moon-reveal{0%{opacity:.25;filter:blur(3px);transform:translateY(8px)}to{opacity:var(--moon-opacity,1);filter:blur(0);transform:translateY(0)}}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.brand{min-height:44px}.tip-bottom a{display:inline-flex;align-items:center;min-height:44px}.explainer a{min-height:44px}
