@layer o2d-reset{*{box-sizing:border-box}.o2d-app{background:var(--o2d-bg);color:var(--o2d-text);font-family:var(--o2d-sans);font-size:var(--o2d-fs-body);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;height:100%;margin:0;line-height:1.45}.o2d-app button{cursor:pointer;font-family:inherit}.o2d-app ::selection{background:var(--o2d-typical-fill)}*,:before,:after{box-sizing:border-box}body,h1,h2,h3,p{margin:0}html,body,#root{height:100%}}@layer o2d-tokens{:root{--o2d-bg:#faf7f2;--o2d-bg-sunk:#f2ede4;--o2d-surface:#fffdf9;--o2d-surface-2:#f6f1e9;--o2d-text:#2a2622;--o2d-text-muted:#6a6056;--o2d-text-faint:#8c8275;--o2d-divider:#e7e1d7;--o2d-divider-strong:#d8d0c2;--o2d-good:#5e7e63;--o2d-good-fill:#e7eee5;--o2d-typical:#7e9e84;--o2d-typical-fill:#eaf0e9;--o2d-watch:#b25e3e;--o2d-watch-fill:#f4e4db;--o2d-tell:#8c3a20;--o2d-tell-fill:#f1ddd4;--o2d-missing:#b8ae9f;--o2d-missing-fill:#efeae1;--o2d-line-spo2:#5e7e63;--o2d-line-pulse:#a98c6b;--o2d-band:#ece5d9;--o2d-ref-88:#b25e3e;--o2d-ref-90:#c7a98f;--o2d-grid:#ede7dc;--o2d-sleep-shade:#7e9e841a;--o2d-radius-sm:10px;--o2d-radius:16px;--o2d-radius-lg:24px;--o2d-radius-xl:32px;--o2d-shadow-card:0 1px 2px #2a26220a, 0 6px 20px #2a26220d;--o2d-shadow-pop:0 8px 30px #2a262224, 0 2px 6px #2a262214;--o2d-serif:"Source Serif 4", Georgia, serif;--o2d-sans:"Inter", system-ui, sans-serif;--o2d-mono:"IBM Plex Mono", ui-monospace, monospace;--o2d-fs-hero-m:104px;--o2d-fs-hero-d:168px;--o2d-fs-h1:32px;--o2d-fs-h2:26px;--o2d-fs-stat:24px;--o2d-fs-body:18px;--o2d-fs-cap:15px;--o2d-ease:cubic-bezier(.22,.61,.36,1)}[data-theme=dark]{--o2d-bg:#1f1d1a;--o2d-bg-sunk:#181613;--o2d-surface:#2a2723;--o2d-surface-2:#322e29;--o2d-text:#f2ede4;--o2d-text-muted:#b6ac9d;--o2d-text-faint:#8e8475;--o2d-divider:#3a352f;--o2d-divider-strong:#4a443c;--o2d-good:#8fb295;--o2d-good-fill:#2c352d;--o2d-typical:#9dbba2;--o2d-typical-fill:#2b332c;--o2d-watch:#d08763;--o2d-watch-fill:#3c2a20;--o2d-tell:#e0936f;--o2d-tell-fill:#40251a;--o2d-missing:#6a6258;--o2d-missing-fill:#2a2723;--o2d-line-spo2:#9dbba2;--o2d-line-pulse:#c7a988;--o2d-band:#322e28;--o2d-ref-88:#d08763;--o2d-ref-90:#7a6a58;--o2d-grid:#2e2a25;--o2d-sleep-shade:#9dbba21a;--o2d-shadow-card:0 1px 2px #0000004d, 0 8px 24px #00000059;--o2d-shadow-pop:0 10px 36px #00000080}}@layer o2d-primitives{.o2d-press{border:1px solid var(--o2d-divider-strong);background:var(--o2d-surface);color:var(--o2d-text);min-block-size:52px;font-size:var(--o2d-fs-body);transition:transform .15s var(--o2d-ease), background .15s var(--o2d-ease), border-color .15s var(--o2d-ease);border-radius:999px;justify-content:center;align-items:center;gap:10px;padding-inline:22px;font-weight:560;display:inline-flex}.o2d-press[data-variant=primary]:hover{opacity:.92;background:var(--o2d-text)}.o2d-app ::-webkit-scrollbar{width:10px;height:10px}.o2d-app ::-webkit-scrollbar-thumb{background:var(--o2d-divider-strong);background-clip:content-box;border:3px solid #0000;border-radius:999px}.o2d-app ::-webkit-scrollbar-track{background:0 0}.o2d-serif{font-family:var(--o2d-serif)}.o2d-sans{font-family:var(--o2d-sans)}.o2d-mono{font-family:var(--o2d-mono)}.o2d-tnum{font-variant-numeric:tabular-nums}.o2d-card{background:var(--o2d-surface);border:1px solid var(--o2d-divider);border-radius:var(--o2d-radius-lg);box-shadow:var(--o2d-shadow-card)}.o2d-divider{background:var(--o2d-divider);border:0;block-size:1px}.o2d-stack{gap:var(--o2d-stack-gap,16px);flex-direction:column;display:flex}.o2d-inline{align-items:center;gap:var(--o2d-inline-gap,12px);flex-wrap:wrap;display:flex}.o2d-grid{gap:var(--o2d-grid-gap,16px);display:grid}.o2d-container{inline-size:100%;max-inline-size:var(--o2d-container,1040px);padding-inline:var(--o2d-container-pad,24px);margin-inline:auto}.o2d-press{border:1px solid var(--o2d-divider-strong);background:var(--o2d-surface);color:var(--o2d-text);min-block-size:52px;font-family:var(--o2d-sans);font-size:var(--o2d-fs-body);cursor:pointer;transition:transform .15s var(--o2d-ease), background .15s var(--o2d-ease), border-color .15s var(--o2d-ease);border-radius:999px;justify-content:center;align-items:center;gap:10px;padding-inline:22px;font-weight:560;display:inline-flex}.o2d-press:hover{background:var(--o2d-surface-2)}.o2d-press:active{transform:scale(.98)}.o2d-press[data-variant=primary]{background:var(--o2d-text);color:var(--o2d-bg);border-color:var(--o2d-text)}.o2d-press[data-variant=danger]{color:var(--o2d-watch);border-color:var(--o2d-watch)}.o2d-press[data-o2d-touch=mom]{min-block-size:64px;font-size:19px}.o2d-verdict{align-items:center;gap:9px;display:inline-flex}.o2d-verdict__dot{background:var(--o2d-verdict-color);border-radius:999px;flex-shrink:0;block-size:11px;inline-size:11px}.o2d-verdict[data-treatment=pill]{background:var(--o2d-verdict-fill);color:var(--o2d-verdict-color);border:1.5px solid var(--o2d-verdict-color);border-radius:999px;padding:8px 16px;font-weight:650}.o2d-verdict[data-treatment=editorial]{font-family:var(--o2d-serif);color:var(--o2d-verdict-color);font-weight:600}@keyframes o2dBreathe{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(1.35)}}.o2d-breathe{animation:o2dBreathe 2.6s var(--o2d-ease) infinite}@media (prefers-reduced-motion:reduce){.o2d-breathe{animation:none}}.o2d-press[data-variant=danger]{background:var(--o2d-tell);color:#fbf6f1;border-color:var(--o2d-tell)}.o2d-press[data-variant=danger]:hover{background:color-mix(in srgb, var(--o2d-tell) 88%, #000);border-color:color-mix(in srgb, var(--o2d-tell) 88%, #000)}.o2d-press[data-variant=danger][disabled],.o2d-press[data-variant=danger][aria-disabled=true]{background:var(--o2d-tell-fill);color:var(--o2d-tell);border-color:var(--o2d-tell-fill);cursor:not-allowed}.o2d-scrim{z-index:60;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:o2dFade .16s var(--o2d-ease);background:#1f1d1a6b;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.o2d-scrim[data-dock=bottom]{align-items:flex-end;padding:0}.o2d-dialog{inline-size:100%;max-inline-size:var(--o2d-dialog-w,520px);box-shadow:var(--o2d-shadow-pop);max-block-size:calc(100% - 32px);animation:o2dPop .18s var(--o2d-ease);padding:30px;overflow-y:auto}.o2d-scrim[data-dock=bottom] .o2d-dialog{max-inline-size:none;animation:o2dSheet .22s var(--o2d-ease);border-radius:24px 24px 0 0;padding:26px 22px 30px}.o2d-codegroup{inline-size:100%;max-inline-size:calc(56px * var(--o2d-code-len,6) + 10px * (var(--o2d-code-len,6) - 1));gap:10px;display:flex}.o2d-codegroup[data-size=lg]{max-inline-size:calc(60px * var(--o2d-code-len,6) + 12px * (var(--o2d-code-len,6) - 1));gap:12px}.o2d-codecell{text-align:center;block-size:58px;min-inline-size:0;max-inline-size:56px;font-family:var(--o2d-mono);font-variant-numeric:tabular-nums;color:var(--o2d-text);border:1.5px solid var(--o2d-divider-strong);background:var(--o2d-surface-2);border-radius:14px;outline:none;flex:1 1 0;font-size:26px;font-weight:700;transition:border-color .15s,box-shadow .15s}.o2d-codecell:focus{border-color:var(--o2d-typical);box-shadow:0 0 0 3px var(--o2d-typical-fill)}.o2d-codecell[data-status=error]{color:var(--o2d-watch);border-color:var(--o2d-watch)}.o2d-codecell[data-status=error]:focus{box-shadow:0 0 0 3px var(--o2d-watch-fill)}.o2d-codegroup[data-size=lg] .o2d-codecell{block-size:66px;max-inline-size:60px;font-size:30px}.o2d-snackbar{z-index:80;background:var(--o2d-tell);color:#fbf6f1;max-inline-size:min(520px,100% - 32px);box-shadow:var(--o2d-shadow-pop);animation:o2dSheet .24s var(--o2d-ease);border-radius:14px;align-items:center;gap:16px;padding:14px 18px;font-size:15px;font-weight:560;display:inline-flex;position:absolute;inset-block-end:28px;inset-inline-start:50%;transform:translate(-50%)}}@layer o2d-components;@layer o2d-surface{body{background:var(--o2d-bg);color:var(--o2d-text);font-family:var(--o2d-font-sans,ui-sans-serif, system-ui, sans-serif);-webkit-font-smoothing:antialiased;font-size:18px;line-height:1.5}h1,h2,h3{font-family:var(--o2d-font-serif,"Source Serif 4", "Georgia", serif);color:var(--o2d-text);font-weight:600}code,.o2d-num{font-variant-numeric:tabular-nums}}@layer o2d-utilities;@keyframes o2dFade{0%{opacity:0}to{opacity:1}}@keyframes o2dPop{0%{opacity:0;transform:translateY(6px)scale(.985)}to{opacity:1;transform:none}}@keyframes o2dSheet{0%{opacity:.5;transform:translateY(18px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.o2d-scrim,.o2d-dialog,.o2d-snackbar{animation:none}}
