/* Bio's existing system typography, blue surfaces and mint observation accent. */
.o-fields{padding:22px 0 8px;border-bottom:1px solid var(--border,#2c405a);margin-bottom:16px}
.o-heading{display:flex;gap:14px;align-items:flex-start}.o-heading>.icon{color:#63deb0;flex:none;margin-top:3px}
.o-heading p,.o-test-card p,.o-test-link p{color:#a3b5cd;font-size:14px;line-height:1.55;margin:7px 0 12px}
.o-fields .field{margin-top:20px}.o-question{font-size:14px;color:#a3b5cd;line-height:1.5;display:block;margin-bottom:8px}
.o-fields select{width:100%;min-height:48px;background:#0c192a;color:#e6eefc;border:1px solid #46617f;border-radius:12px;padding:12px 32px 12px 12px;font:inherit;font-size:14px;text-overflow:ellipsis}
.o-observed input{max-width:180px}.o-observed{margin-bottom:0}.o-sleep-card{margin:20px 0}.o-observations{display:grid}
.o-observation{display:grid;grid-template-columns:minmax(0,1fr) minmax(115px,.6fr);gap:16px;padding:18px 0;border-bottom:1px solid #2b3d53}
.o-observation p{margin:6px 0;color:#c8d9ed;font-size:14px;line-height:1.5}.o-observation small,.o-count span{color:#9baec8;font-size:12px;line-height:1.5}.o-count{text-align:right;display:flex;flex-direction:column;gap:4px}.o-count b{font-size:22px;color:#79dfbf;font-variant-numeric:tabular-nums}.o-count span{display:block}
.o-explain{margin-top:16px;font-size:13px;color:#a5b8d1;line-height:1.65}.o-explain summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:#a4caff}.o-explain summary::before{content:'+';margin-right:10px}.o-explain[open] summary::before{content:'−'}.o-explain p{margin:8px 0}
.o-entry-summary{flex-basis:100%;display:grid;gap:7px;padding:12px 0;font-size:13px;color:#abc1d9;line-height:1.5}.o-entry-summary strong{color:#83d9bc}
.o-test-link{margin-top:20px}.o-test-link .icon{color:#51d6e8}.o-test-link h3{margin-top:8px}.o-test-link .btn{width:100%}
.o-attention-hub{margin:20px 0}.o-test-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.o-test-card{min-width:0;padding:22px;background:#0d1c2f;border-radius:16px;border:1px solid #304960;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.o-test-card>small{color:#9eb4cf;line-height:1.5}.o-test-card .btn{margin-top:auto;min-height:44px}.o-test-card .text-btn{min-height:44px;text-align:left}.o-test-symbol{font-size:40px;letter-spacing:.12em;color:#69dce9;line-height:1.4;margin-bottom:14px;white-space:nowrap}.o-hub-foot{display:flex;align-items:center;gap:20px;justify-content:space-between;margin-top:14px}.o-hub-foot .field-hint{max-width:65ch}.o-hub-foot .text-btn{min-height:44px;flex:none}
dialog.o-sheet{max-width:760px;width:calc(100% - 32px)}.o-sheet .o-attention-hub{border:0;padding:0;margin:0;box-shadow:none;background:none}.o-sheet .modal-body{overflow-wrap:anywhere}.o-instructions p{color:#bccfe5;line-height:1.65;margin:12px 0}.o-instructions strong{color:#edf4ff}.o-device-reset{display:flex;gap:12px;align-items:center;min-height:44px;font-size:14px}.o-device-reset input{width:20px;height:20px;flex:none}.o-start-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.o-run-body{text-align:center}.o-rule{font-size:14px;color:#adbed5;line-height:1.5}.o-counter{color:#a4b9d3;font-size:13px;margin:20px 0 0;font-variant-numeric:tabular-nums}.o-stimulus{display:flex;align-items:center;justify-content:center;min-height:170px;font-size:72px;letter-spacing:.05em;line-height:1;color:#e5f7ff;border:1px solid #304960;border-radius:16px;background:#0b1626;margin-top:12px;font-family:system-ui,sans-serif;user-select:none}.o-feedback{min-height:44px;font-size:14px;line-height:1.5;color:#82d9c0;margin:12px 0}.o-response-controls{display:flex;gap:14px}.o-response{flex:1;min-width:0;min-height:60px;touch-action:manipulation;user-select:none}.o-running .btn{transition:none}.o-result-status{color:#86dfc2;margin:8px 0 20px}.o-result-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0}.o-result-facts>div{padding:16px;border:1px solid #304960;border-radius:14px}.o-result-facts dt{font-size:13px;color:#a4b9d3;line-height:1.5}.o-result-facts dd{margin:8px 0;font-size:23px;color:#d8f2fa;font-variant-numeric:tabular-nums}.o-result-facts small{font-size:12px;color:#99afca;line-height:1.5;display:block}
.o-history-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:18px 0;border:0;border-bottom:1px solid #304960;background:none;color:#d9e9fc;text-align:left;min-height:64px;font:inherit}.o-history-row small{display:block;color:#9db3cc;font-size:13px;margin-top:7px}.o-history-row .icon{flex:none}.o-day-tests{margin-top:20px}
.o-fields select:focus-visible,.o-sheet button:focus-visible,.o-explain summary:focus-visible,.o-history-row:focus-visible{outline:3px solid #8cbcff;outline-offset:3px}
@media(max-width:700px){.o-test-grid{grid-template-columns:1fr}.o-hub-foot{display:block}.o-heading h2{font-size:21px}.o-observation{grid-template-columns:1fr;gap:10px}.o-count{text-align:left;display:block}.o-count b{font-size:19px;margin-right:10px}.o-count span{margin-top:4px}.o-fields select{font-size:16px}.o-result-facts{grid-template-columns:1fr}.o-stimulus{font-size:58px;min-height:150px}.o-start-actions{display:grid;grid-template-columns:1fr}.o-response-controls{gap:8px}.o-response{padding-left:8px;padding-right:8px;font-size:14px}dialog.o-sheet{width:100%;max-width:100%;margin:0;bottom:0;top:auto;border-radius:22px 22px 0 0;max-height:94dvh}.o-sheet .modal-body{padding:20px}.o-sheet .modal-header{padding:20px}.o-sheet h2{font-size:22px}.o-sheet .modal-header .icon-btn{flex:none}.o-run-body .field-hint{text-align:left}}
@media(prefers-reduced-motion:reduce){.o-sheet *{animation:none!important;transition:none!important}}

/* Energy keeps Bio's amber accent and the same question pattern as sleep. */
.o-energy-fields .o-heading>.icon,.o-energy-card .o-heading>.icon,.o-energy-card h3>.icon{color:#ffbf69}
.o-energy-card{margin:20px 0}.o-energy-card .o-count b,.o-energy-summary strong{color:#ffcf89}
.o-energy-selected{display:block;color:#b8c9dc;font-size:13px;line-height:1.5;margin-top:6px}.o-energy-selected:empty{display:none}
.o-energy-card .o-count small{max-width:25ch;align-self:flex-end}
@media(max-width:700px){.o-energy-card .o-count small{max-width:none}.o-energy-fields .o-heading h3{font-size:20px}}

/* Focus uses Bio's cyan attention accent, without an aggregate score. */
.o-focus-fields .o-heading>.icon,.o-focus-card .o-heading>.icon,.o-focus-card h3>.icon{color:#69dce9}
.o-focus-card{margin:20px 0;min-width:0}.o-focus-card .o-count b,.o-focus-summary strong{color:#80dce8}
.o-focus-selected{display:block;color:#b8c9dc;font-size:13px;line-height:1.5;margin-top:6px}.o-focus-selected:empty{display:none}
.o-focus-card .o-count small{max-width:25ch;align-self:flex-end}
.o-focus-pair-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;margin-top:22px;justify-content:space-between}
.o-focus-pair-head h3{font-size:16px}.o-focus-pair-head .text-btn{min-height:44px}
.o-focus-tests{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:12px;margin:14px 0}
.o-focus-test{padding:18px;border:1px solid #304960;border-radius:14px;background:#0c192a;min-width:0;display:flex;flex-direction:column;gap:8px}
.o-focus-kicker{color:#85cbd9;font-size:12px}.o-focus-test h4{font-size:16px;margin:0;line-height:1.45}.o-focus-test small{color:#9db3cc;line-height:1.6;font-size:12px}.o-focus-test .text-btn{min-height:44px;align-self:flex-start;text-align:left}.o-focus-facts{color:#b8c9dc;font-size:13px;line-height:1.7;margin:0}.o-focus-facts strong{font-size:25px;color:#a2eaf2;font-variant-numeric:tabular-nums}.o-focus-test .field-hint{margin:0}.o-focus-card>.btn{min-height:44px;margin-top:12px;white-space:normal}.o-sheet .o-focus-card{padding:0;border:0;background:none;box-shadow:none}.o-focus-summary{overflow-wrap:anywhere}
@media(max-width:700px){.o-focus-card .o-count small{max-width:none}.o-focus-fields .o-heading h3{font-size:20px}.o-focus-card>.btn{width:100%}}
/* Long correction labels must not push the mobile diary sideways. */
@media(max-width:700px){#diary-form .modal-footer{flex-wrap:wrap}#diary-form .modal-footer .btn{min-height:44px;max-width:100%;white-space:normal}#diary-form #draft-status{flex-basis:100%;order:2}#diary-form .field{min-width:0}}

/* Visible answer tiles: same stored values, no extra scoring or radio dots. */
.o-survey{--o-tone:#b2a4ff;--o-rgb:178,164,255;padding:20px 0 12px;margin-bottom:12px;min-width:0;container-type:inline-size}
.o-survey.o-energy-fields{--o-tone:#ffbf69;--o-rgb:255,191,105}
.o-survey.o-focus-fields{--o-tone:#69dce9;--o-rgb:105,220,233}
.o-survey-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:4px}
.o-survey .o-heading{gap:10px;min-width:0}.o-survey .o-heading>.icon{color:var(--o-tone);width:22px;height:22px}
.o-survey .o-heading h3{font-size:18px;line-height:1.35;margin:0;letter-spacing:-.2px}
.o-survey .o-heading p{font-size:12px;line-height:1.5;margin:5px 0 0}
.o-survey-count{color:var(--o-tone);font-size:12px;line-height:24px;white-space:nowrap;font-variant-numeric:tabular-nums}
.o-survey-question{min-width:0;border:0;padding:16px 0 0;margin:0}
.o-survey-question+.o-survey-question{margin-top:14px;border-top:1px solid var(--line,#28374c)}
.o-survey-question legend{float:left;width:100%;padding:0;margin:0 0 10px;font-size:14px;line-height:1.5;font-weight:500;color:var(--text,#edf3fd)}
.o-answer-grid{clear:both;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.o-answer{position:relative;display:block;min-width:0;cursor:pointer;touch-action:manipulation}
.o-answer input{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);opacity:0;padding:0;border:0;white-space:nowrap}
.o-answer span{display:flex;align-items:center;justify-content:center;text-align:center;min-height:58px;height:100%;box-sizing:border-box;padding:10px 12px;border-radius:11px;border:1px solid #33465e;background:#0d1829;color:#d0dced;font-size:13px;line-height:1.35;transition:background-color .16s,border-color .16s,color .16s;overflow-wrap:break-word}
.o-answer-other span{min-height:44px;background:transparent;color:#a9bbd3;font-size:12px;padding:8px 10px}
.o-answer:last-child:nth-child(odd){grid-column:1/-1}
.o-answer input:checked+span{color:var(--o-tone);border-color:var(--o-tone);background:rgba(var(--o-rgb),.16);box-shadow:inset 0 0 0 1px rgba(var(--o-rgb),.24)}
.o-answer input:focus-visible+span{outline:3px solid var(--o-tone);outline-offset:3px}
@media(hover:hover){.o-answer:hover span{border-color:#63809f}}
.o-survey-extra{margin:10px 0 0;font-size:12px;color:var(--muted,#a0b1c8)}
.o-survey-extra summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:8px;list-style:none;flex-wrap:wrap;padding:6px 0}
.o-survey-extra summary::-webkit-details-marker{display:none}.o-survey-extra summary:after{content:'+';margin-left:auto;color:var(--o-tone);font-size:20px}.o-survey-extra[open] summary:after{content:'−'}
.o-survey-extra summary span{color:#b9cbe1;font-variant-numeric:tabular-nums}.o-survey-extra .field{margin:4px 0 10px}.o-survey-extra .field-hint{font-size:12px}
.o-survey-extra summary:focus-visible{outline:3px solid var(--o-tone);outline-offset:3px;border-radius:6px}
.o-survey-legacy{font-size:12px;color:var(--muted,#a0b1c8);line-height:1.5;margin:4px 0 0}
@media(max-width:420px){.o-survey .o-heading h3{font-size:17px}.o-survey-question legend{font-size:14px}.o-answer span{font-size:13px;padding:9px 7px;min-height:58px}.o-answer-other span{min-height:44px;font-size:12px}.o-survey-head{gap:6px}.o-survey .o-heading{gap:8px}}
@media(prefers-reduced-motion:reduce){.o-answer span{transition:none}}
body[data-motion="reduced"] .o-answer span{transition:none}
@container(min-width:520px){.o-answer-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.o-answer-other{grid-column:span 2}.o-answer:last-child:nth-child(odd){grid-column:1/-1}}

/* Compact weekly observations: one coloured score, answers on demand. */
.o-week-observations .bio-help-heading h3{margin:0}.o-week-caption{font-size:13px;color:var(--muted);margin:6px 0 18px}.o-week-metric{border-top:1px solid #304156}.o-week-metric:last-child{border-bottom:1px solid #304156}.o-week-metric>summary{list-style:none;display:flex;align-items:center;gap:14px;min-height:82px;padding:14px 4px;cursor:pointer;border-radius:10px}.o-week-metric>summary::-webkit-details-marker{display:none}.o-week-metric>summary:focus-visible{outline:2px solid var(--o-week-tone);outline-offset:3px}.o-week-icon{color:var(--o-week-tone);display:grid;place-items:center;width:38px;flex:none}.o-week-icon svg{width:25px;height:25px}.o-week-name{flex:1;min-width:0}.o-week-name strong{display:block;font-size:17px;font-weight:600;line-height:1.35}.o-week-name small{display:block;font-size:12px;color:var(--muted);margin-top:5px}.o-week-score{color:var(--o-week-tone);font-size:28px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.o-week-chevron{color:var(--muted);display:flex;flex:none}.o-week-chevron svg{width:18px;height:18px}.o-week-metric[open]>.o-week-answers{padding:0 8px 18px 56px}.o-week-metric[open]>summary .o-week-chevron{transform:rotate(90deg)}.o-week-answers ul{padding:0;margin:0;list-style:none}.o-week-answers li{display:flex;align-items:center;gap:20px;padding:14px 0;border-top:1px solid #2c3b4e}.o-week-answer-copy{flex:1;min-width:0}.o-week-answer-copy strong{font-size:14px;font-weight:600}.o-week-answer-copy p{font-size:14px;line-height:1.5;color:#c2d1e4;margin:4px 0;overflow-wrap:anywhere}.o-week-answer-copy small{font-size:11px;color:var(--muted)}.o-week-answer-count{flex:none;text-align:right;max-width:120px}.o-week-answer-count b{display:block;font-size:18px;color:var(--o-week-tone);font-variant-numeric:tabular-nums}.o-week-answer-count small{display:block;font-size:11px;color:var(--muted);line-height:1.4;margin-top:3px}.o-week-note{font-size:12px!important;line-height:1.5;color:var(--muted);margin:12px 0 0!important}.o-week-tests{margin-top:12px}.o-week-tests>summary{font-size:13px;color:var(--o-week-tone);cursor:pointer;min-height:44px;align-content:center}.o-week-tests .o-history-row{font-size:13px}.o-week-tests .o-history-row small{font-size:11px}
@media(max-width:600px){.o-week-metric>summary{gap:8px;min-height:78px;padding:12px 0}.o-week-icon{width:26px}.o-week-icon svg{width:22px;height:22px}.o-week-name strong{font-size:15px}.o-week-name small{font-size:11px}.o-week-score{font-size:25px}.o-week-chevron svg{width:16px;height:16px}.o-week-metric[open]>.o-week-answers{padding:0 0 16px}.o-week-answers li{gap:12px;padding:12px 0}.o-week-answer-count{max-width:84px}.o-week-answer-count small{font-size:10px}.o-week-answer-copy p{font-size:13px}}
@media(prefers-reduced-motion:no-preference){.o-week-chevron{transition:transform .18s ease}.o-week-metric[open]>.o-week-answers{animation:o-week-reveal .18s ease-out}@keyframes o-week-reveal{from{opacity:.5;transform:translateY(-3px)}to{opacity:1;transform:none}}}
[data-motion="reduced"] .o-week-chevron{transition:none}[data-motion="reduced"] .o-week-metric[open]>.o-week-answers{animation:none}
