@font-face{font-family:DM;src:url('../assets/dm-sans-400.woff2')}@font-face{font-family:DM;src:url('../assets/dm-sans-700.woff2');font-weight:700}@font-face{font-family:DM;src:url('../assets/dm-sans-900.woff2');font-weight:900}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#101312;color:#f4f6f3;font-family:DM,Arial,sans-serif;font-size:16px;line-height:1.55}a{color:inherit;text-underline-offset:5px}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #8ce0b8;outline-offset:5px}header,footer{padding:25px 5vw;display:flex;gap:30px;align-items:center;justify-content:space-between;border-bottom:1px solid #38433e}header>a:last-child{font-size:13px;text-decoration:none}.brand{font-weight:900;font-size:26px;letter-spacing:-1px;text-decoration:none}.brand span{display:block;font-size:10px;letter-spacing:3px;font-weight:700}.skip{position:fixed;z-index:9;left:16px;top:-80px;background:white;color:black;padding:10px}.skip:focus{top:16px}.opening{padding:90px 7vw 65px;max-width:1600px;margin:auto}.eyebrow,.section-title>span{font-size:11px;letter-spacing:2px;font-weight:700;color:#a6b5ad}h1,h2,p{margin-top:0}h1{font-size:clamp(44px,6.5vw,100px);letter-spacing:-.055em;line-height:1.02;margin:24px 0 38px;font-weight:900}h1 em{font-style:normal;color:#8ce0b8}.opening-bottom{display:flex;justify-content:space-between;align-items:end;gap:40px}.opening-bottom p{max-width:530px;color:#bec9c2;font-size:20px;margin-bottom:0}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:13px 22px;background:#8ce0b8;color:#101312;border:0;font-weight:700;text-decoration:none;cursor:pointer;white-space:nowrap}.button:disabled{background:#43534a;color:#ced5d0;cursor:not-allowed}.planner,.night,.actions,.learning{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:36px 7vw;padding:70px 7vw;border-top:1px solid #38433e;max-width:1600px;margin:auto}.section-title h2{font-size:clamp(30px,3.1vw,46px);line-height:1.09;letter-spacing:-.04em;margin:17px 0 22px}.section-title p{font-size:15px;color:#aebbb3;max-width:390px}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:22px}label{display:block;font-size:13px;font-weight:700}select,input:not([type=radio]):not([type=checkbox]){display:block;width:100%;min-height:48px;background:#1c2420;color:#f4f6f3;border:1px solid #536159;padding:10px 12px;margin-top:9px;border-radius:0;color-scheme:dark;min-width:0}.dst-control{margin-top:15px;color:#a9e9c8}.error{font-size:14px;color:#ffbfb3;margin:12px 0 0;min-height:0}.error:empty{display:none}.trip-results{grid-column:2}.clock-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid #536159;padding-top:25px}.clock-pair strong{display:block;font-size:clamp(30px,3.4vw,55px);line-height:1.15;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.clock-pair div:first-child strong{color:#8ce0b8}.clock-pair span{font-size:13px;color:#aebbb3}.clock-pair .eyebrow{font-size:10px;letter-spacing:1px;margin-bottom:10px}.trip-measures{display:flex;gap:55px;margin:25px 0 0}.trip-measures p{display:flex;flex-direction:column}.trip-measures b{font-size:25px;font-variant-numeric:tabular-nums}.trip-measures span{font-size:12px;color:#aebbb3}.reading{font-size:16px;color:#e0e7e2;margin-bottom:12px;max-width:700px}.small{font-size:12px;color:#aebbb3;line-height:1.6}.night{background:#eef2ed;color:#141c17;max-width:none}.night .section-title>span,.night .section-title p,.night .small{color:#526058}.night label{color:#35483d}.night input:not([type=checkbox]){background:#fff;color:#101912;border-color:#82958a;color-scheme:light}.sleep-inputs{display:grid;grid-template-columns:1fr 1fr;gap:18px}.sleep-results{padding-top:20px}.sleep-number{display:flex;align-items:baseline;gap:20px;margin:10px 0 25px}.sleep-number strong{font-size:clamp(40px,5vw,72px);line-height:1;letter-spacing:-.05em;font-variant-numeric:tabular-nums}.sleep-number span{font-size:13px;color:#526058}.night .reading{color:#22342a}.night .error{color:#97331c}.night-line{display:grid;grid-template-columns:auto 1fr auto;gap:15px;align-items:center;margin-bottom:24px;font-size:12px;font-variant-numeric:tabular-nums}.night-bar{height:12px;background:#c8d1cb;display:flex}.night-bar i{display:block;height:100%}#available-bar{background:#246c4b;flex:1}#lost-bar{background:repeating-linear-gradient(45deg,#7d4c31,#7d4c31 4px,#d4b49c 4px,#d4b49c 8px);width:0}.action-list>label{display:flex;gap:18px;padding:20px 0;border-bottom:1px solid #38433e;font-size:19px;font-weight:700;cursor:pointer}.action-list>label:first-child{padding-top:0}.action-list input{width:20px;height:20px;accent-color:#8ce0b8;flex:0 0 20px;margin-top:5px}.action-list small{display:block;font-weight:400;font-size:14px;color:#aebbb3;margin-top:5px}.export-row{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin:30px 0 13px}.export-row>a{font-size:13px}.questions fieldset{border:0;border-bottom:1px solid #38433e;padding:0 0 28px;margin:0 0 28px}.questions legend{font-size:19px;font-weight:700;line-height:1.4;margin-bottom:17px}.questions label{display:flex;align-items:start;gap:12px;font-weight:400;padding:10px 0;cursor:pointer}.questions input{accent-color:#8ce0b8;flex-shrink:0;margin-top:5px}.feedback{font-size:14px;margin:12px 0 0;color:#8ce0b8}.research{background:#8ce0b8;color:#10271b;padding:70px 7vw}.research .eyebrow,.research .small{color:#24563b}.research h2{font-size:clamp(34px,4.8vw,70px);line-height:1.08;letter-spacing:-.045em}.research>p:not(.eyebrow){max-width:720px}.research .small{margin-top:25px}.research a{font-weight:700}footer{border:0;align-items:center;flex-wrap:wrap}footer p,footer>a:last-child{font-size:13px;color:#aebbb3;margin:0}[hidden]{display:none!important}@media(max-width:760px){header{padding:20px 6vw}header>a:last-child{max-width:140px;text-align:right}.opening{padding:65px 6vw 50px}.opening-bottom{align-items:start;flex-direction:column;gap:25px}.opening-bottom p{font-size:18px}.planner,.night,.actions,.learning{padding:48px 6vw;grid-template-columns:1fr;gap:24px}.trip-results{grid-column:1}.section-title p{max-width:100%;margin-bottom:0}.field-pair{gap:14px}.field-pair label{font-size:12px}.field-pair input{padding:10px 6px;font-size:14px}.clock-pair strong{font-size:36px}.trip-measures{gap:30px}.sleep-number{align-items:start;flex-direction:column;gap:8px}.research{padding:50px 6vw}footer{padding:30px 6vw}.night-line{gap:8px}.export-row{gap:20px}}@media(max-width:380px){.field-pair,.sleep-inputs{grid-template-columns:1fr}.clock-pair strong{font-size:30px}.clock-pair .eyebrow{font-size:9px}.trip-measures{flex-direction:column;gap:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Date/time controls have browser-specific intrinsic widths; contain them within the mobile grid. */
.planner>*,.night>*,.actions>*,.learning>*,.field-pair>*,.sleep-inputs>*,.clock-pair>*,form,label{min-width:0}
.field-pair,.sleep-inputs,.clock-pair{grid-template-columns:repeat(2,minmax(0,1fr))}
input,select{max-width:100%;min-inline-size:0}
input::-webkit-date-and-time-value{min-width:0;text-align:left}
input::-webkit-datetime-edit{min-width:0;padding:0}
.trip-results,.sleep-results,.night-line,.action-list,.questions{min-width:0;max-width:100%}
.error,.small,.reading{overflow-wrap:anywhere}
@media(max-width:760px){.planner,.night,.actions,.learning{grid-template-columns:minmax(0,1fr)}}
@media(max-width:380px){.field-pair,.sleep-inputs{grid-template-columns:minmax(0,1fr)}}

.clock-pair .eyebrow{min-height:30px}.opening{padding-top:48px;padding-bottom:38px}.opening h1{font-size:clamp(42px,5.5vw,78px);margin:18px 0 24px}.opening-bottom p{font-size:18px}.planner{padding-top:42px}.section-title h2{margin-top:12px}.button{white-space:normal}@media(max-width:760px){.opening{padding:32px 6vw}.opening h1{font-size:42px;margin:14px 0 18px}.opening-bottom{gap:18px}.opening-bottom p{font-size:16px}.planner{padding-top:30px}.planner .section-title p{font-size:13px}.planner .section-title h2{font-size:28px}.planner .section-title h2 br{display:none}header>a:last-child{max-width:none;font-size:12px}}
