:root{--bg:#eef2f5;--glass:#ffffffdb;--glass-strong:#fffffff5;--line:#1825361a;--line-strong:#1825362e;--text:#18232c;--muted:#687582;--chip:#eef1f3;--ink:#263b48;--accent:#f2b632;--accent-ink:#2b2004;--poor:#5a1e4a;--rich:#e3352c;--focus:#2f7fd1;--shadow:0 2px 5px #2433440a, 0 16px 48px #2433441a;--gap:20px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-family:Inter,Segoe UI,system-ui,-apple-system,Roboto,sans-serif;font-size:14px;line-height:1.5}*{box-sizing:border-box}html,body,#root{block-size:100%;margin:0;overflow:hidden}body{background:var(--bg)}h1,h2,h3,p{margin:0}a{color:var(--focus)}button,input{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.muted{color:var(--muted)}.small{font-size:.86rem}.block{display:block}.mobile-only{display:none!important}.app{block-size:100dvh;position:relative;overflow:hidden}.stage{background:radial-gradient(120% 90% at 50% 45%, #fff 0%, var(--bg) 60%, #e3e9ee 100%);position:absolute;inset:0}.glass{background:var(--glass);border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(20px);border-radius:16px}.identity{pointer-events:none;z-index:5;position:absolute;inset-block-start:26px;inset-inline-start:28px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);align-items:center;gap:8px;font-size:.7rem;font-weight:600;display:flex}.status-dot{background:var(--rich);border-radius:50%;block-size:7px;inline-size:7px;box-shadow:0 0 0 3px #c8443b26}.identity h1{letter-spacing:-.02em;margin-block:6px 2px;font-size:2.1rem;font-weight:650}.identity-meta{color:var(--muted);font-size:.78rem}.top-actions{z-index:6;gap:8px;display:flex;position:absolute;inset-block-start:26px;inset-inline-end:28px}.modes{border-radius:12px;gap:2px;padding:4px;display:flex}.modes button{color:var(--muted);background:0 0;border:0;border-radius:8px;padding:7px 14px;font-weight:500}.modes button[aria-pressed=true]{background:var(--ink);color:#fff}.icon-button{border-radius:12px;block-size:42px;inline-size:42px;padding:0;font-family:Georgia,serif;font-size:1.05rem;font-style:italic;font-weight:700}.left{z-index:4;scrollbar-width:thin;inline-size:270px;position:absolute;inset-block:150px 96px;inset-inline-start:28px;overflow-y:auto}.right{z-index:4;scrollbar-width:thin;inline-size:340px;position:absolute;inset-block:92px 96px;inset-inline-end:28px;overflow-y:auto}.dock{z-index:6;border-radius:14px;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;inline-size:max-content;max-inline-size:calc(100% - 32px);margin-inline:auto;padding:6px;display:flex;position:absolute;inset-block-end:24px;inset-inline:0}.dock-sep{background:var(--line-strong);block-size:24px;inline-size:1px;margin-inline:4px}.seg{gap:2px;display:flex}.seg button{color:var(--muted);background:0 0;border-color:#0000;border-radius:8px;padding:6px 10px;font-weight:500}.seg button[aria-pressed=true]{background:var(--ink);color:#fff}.toolbar-check{padding-inline:6px}.studio-footer{color:var(--muted);pointer-events:none;z-index:3;justify-content:space-between;align-items:center;font-size:.72rem;display:flex;position:absolute;inset-block-end:10px;inset-inline:28px}.studio-footer button{pointer-events:auto;color:var(--muted);font-size:.72rem}button{cursor:pointer;border:1px solid var(--line-strong);background:#fff;border-radius:8px;padding:6px 11px}button:hover{border-color:#1825364d}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--ink);color:#fff;border-color:var(--ink);font-weight:600}button.secondary{background:#ffffffb3}button.ghost{color:var(--muted);background:0 0;border-color:#0000}button.link{color:var(--text);text-align:start;text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:3px;background:0 0;border:0;padding:0}button.link[aria-pressed=true],button.link[aria-current=step]{color:var(--ink);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);font-weight:600}.check{cursor:pointer;align-items:center;gap:7px;display:inline-flex}.check input{accent-color:var(--ink);block-size:15px;inline-size:15px}.viewer{outline:none;position:absolute;inset:0}.viewer:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.viewer canvas{touch-action:none}.viewer-status{text-align:center;color:var(--muted);place-content:center;justify-items:center;gap:10px;padding:24px;display:grid;position:absolute;inset:0}.viewer-status.is-error{color:var(--text)}.viewer-fallback{text-align:center;place-content:center;gap:10px;max-inline-size:520px;margin-inline:auto;padding:32px;display:grid}.spinner{border:3px solid var(--line-strong);border-block-start-color:var(--ink);border-radius:50%;block-size:28px;inline-size:28px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.label-layer{pointer-events:none;position:absolute;inset:0;overflow:hidden}.scene-label{white-space:nowrap;border:1px solid var(--line-strong);color:var(--text);will-change:transform;background:#ffffffeb;border-radius:6px;padding:2px 8px;font-size:.74rem;position:absolute;inset-block-start:0;inset-inline-start:0;box-shadow:0 2px 6px #24334414}.scene-label:after{content:"";background:var(--muted);block-size:6px;inline-size:1px;position:absolute;inset-block-end:-6px;inset-inline-start:50%}.scene-label.is-focus{background:var(--ink);color:#fff;border-color:var(--ink);font-weight:600}.offmodel-tag{color:var(--muted);white-space:nowrap;pointer-events:none;font-size:.7rem;font-style:italic}.panel,.sheet{flex-direction:column;gap:10px;padding:16px 18px;display:flex}.panel-title,.sheet-title{letter-spacing:-.01em;font-size:1.15rem;font-weight:650}.group-title{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-block-start:4px;font-size:.7rem;font-weight:600}.lead{font-size:.98rem}.detail-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.search input{border:1px solid var(--line-strong);background:#f7f9fa;border-radius:9px;inline-size:100%;padding:8px 10px}.layers{border:0;gap:3px;margin:0;padding:0;display:grid}.layers legend{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-block-end:4px;padding:0;font-size:.7rem;font-weight:600}.group{gap:3px;display:grid}.struct-list{gap:1px;margin:0;padding:0;list-style:none;display:grid}.struct-list button{text-align:start;background:0 0;border:0;border-radius:7px;align-items:center;gap:6px;inline-size:100%;padding:5px 8px;display:flex}.struct-list button:hover{background:var(--chip)}.struct-list button[aria-pressed=true]{background:var(--ink);color:#fff;font-weight:600}.struct-list button.is-hidden{color:var(--muted)}.tag{background:var(--chip);color:var(--muted);border-radius:4px;margin-inline-start:auto;padding:0 5px;font-size:.66rem;font-weight:400}[aria-pressed=true]>.tag{color:#fff;background:#fff3}.blood-chip{background:var(--chip);border-radius:999px;align-items:center;gap:6px;inline-size:max-content;padding:2px 9px;font-size:.8rem;display:inline-flex}.dot{border-radius:50%;flex:none;block-size:10px;inline-size:10px;display:inline-block}.blood-chip.oxygen-poor .dot{background:var(--poor)}.blood-chip.oxygen-rich .dot{background:var(--rich)}.io{grid-template-columns:auto 1fr;gap:4px 12px;margin:0;font-size:.9rem;display:grid}.io dt{color:var(--muted)}.io dd{margin:0}.chips{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.chips button,.chip-static{border:1px solid var(--line);background:#fff;border-radius:999px;padding:3px 10px;font-size:.8rem;display:inline-block}.more{border-block-start:1px solid var(--line);padding-block-start:10px}.more summary{cursor:pointer;color:var(--muted);font-size:.82rem}.more[open] summary{margin-block-end:8px}.model-note{background:var(--chip);border-radius:8px;margin-block-end:8px;padding:8px 10px;font-size:.84rem}.sources,.objectives,.disclaimers{gap:4px;margin:0;padding-inline-start:18px;display:grid}.flow-steps{gap:6px;margin:0;padding:0;list-style:none;display:grid}.flow-steps li{grid-template-columns:14px 1fr;align-items:baseline;column-gap:8px;display:grid}.flow-steps li .block{grid-column:2}.offmodel{color:var(--muted);font-style:italic}.legend{flex-wrap:wrap;gap:6px 14px;display:flex}.legend>span,.legend-row>span{align-items:center;gap:7px;display:inline-flex}.legend-row{flex-wrap:wrap;gap:6px 16px;display:flex}.progress{background:var(--line);border-radius:2px;block-size:4px;overflow:hidden}.progress span{background:var(--ink);block-size:100%;transition:inline-size .3s;display:block}.tour-nav{justify-content:space-between}.tour-index{gap:3px;margin:4px 0 0;padding-inline-start:18px;display:grid}.sheet-backdrop{z-index:50;background:#18232c2e;justify-content:flex-end;display:flex;position:fixed;inset:0}.about-sheet{background:var(--glass-strong);border-radius:16px 0 0 16px;flex-direction:column;gap:12px;block-size:100%;inline-size:min(420px,100%);padding:28px 26px;display:flex;position:relative;overflow-y:auto}.sheet-close{block-size:36px;inline-size:36px;position:absolute;inset-block-start:12px;inset-inline-end:12px}.sheet-title:focus{outline:none}.link-list{gap:6px;display:grid}.fatal{padding:32px}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:3s}.progress span{transition:none}}@media (width<=1100px){.left{inline-size:230px;inset-inline-start:20px}.right{inline-size:300px;inset-inline-end:20px}.identity{inset-inline-start:20px}.top-actions{inset-inline-end:20px}.seg button{padding:6px 7px}}.sheet-handle{display:none}.app:not([data-layout=desktop]) .mobile-only{display:inline-flex!important}.app:not([data-layout=desktop]) .left{display:none}.app:not([data-layout=desktop]) .dock-structures{font-weight:600}.app:not([data-layout=desktop]) .dock-structures[aria-pressed=true]{background:var(--ink);color:#fff}.app:not([data-layout=desktop]) .dock-sep,.app:not([data-layout=desktop]) .studio-footer .hint{display:none}.app:not([data-layout=desktop]) .right{z-index:10;overscroll-behavior:contain;background:#fff}.app:not([data-layout=desktop]) .right>:is(.panel,.sheet){padding-block-start:0}.app:not([data-layout=desktop]) .left.mobile-open{z-index:20;background:var(--glass-strong);overscroll-behavior:contain;display:block}.app:not([data-layout=desktop]) .sheet-handle{z-index:1;cursor:grab;touch-action:none;background:#fff;border:0;border-radius:0;block-size:24px;inline-size:100%;padding:0;display:block;position:sticky;inset-block-start:0}.sheet-handle span{background:var(--line-strong);border-radius:3px;block-size:5px;inline-size:40px;margin:9px auto 0;display:block}.sheet-handle:hover span{background:var(--muted)}.app:not([data-layout=desktop]) .modes{scrollbar-width:none;flex-wrap:nowrap;flex:1;justify-content:flex-start;min-inline-size:0;overflow-x:auto}.app:not([data-layout=desktop]) .modes::-webkit-scrollbar{display:none}.app:not([data-layout=desktop]) .modes button{white-space:nowrap;flex:1 0 auto;padding:8px 12px}.app[data-layout=sheet] .identity{inset-block-start:calc(env(safe-area-inset-top) + 14px);inset-inline-start:calc(env(safe-area-inset-left) + 16px)}.app[data-layout=sheet] .identity h1{margin-block:2px 0;font-size:1.5rem}.app[data-layout=sheet] .identity-meta{display:none}.app[data-layout=sheet] .top-actions{inset-block-start:calc(env(safe-area-inset-top) + 74px);inset-inline:calc(env(safe-area-inset-left) + 12px) calc(env(safe-area-inset-right) + 12px)}.app[data-layout=sheet] .left.mobile-open{inset:calc(var(--top-space,120px) + 8px) 12px calc(var(--dock-space,110px) + 8px);inline-size:auto;max-inline-size:560px;margin-inline:auto}.app[data-layout=sheet] .right{block-size:38dvh;inline-size:100%;max-inline-size:720px;border-radius:18px 18px 0 0;margin-inline:auto;padding-block-end:env(safe-area-inset-bottom);transition:block-size .2s;inset:auto 0 0}.app[data-layout=sheet] .right[data-sheet=full]{block-size:calc(100dvh - var(--top-space,130px) - 10px - env(safe-area-inset-top))}.app[data-layout=sheet] .right[data-sheet=peek]{block-size:72px;border-radius:16px;inline-size:calc(100% - 24px);padding-block-end:0;inset-block-end:calc(var(--dock-space,110px) + 8px);overflow:hidden}.app[data-layout=sheet] .dock{gap:4px;max-inline-size:calc(100% - 24px);padding:5px;inset-block-end:calc(env(safe-area-inset-bottom) + 28px)}.app[data-layout=sheet] .studio-footer{justify-content:center;inset-block-end:calc(env(safe-area-inset-bottom) + 6px)}@media (width<=599px){.app[data-layout=sheet] .dock .seg{flex-basis:100%;order:1;justify-content:center}.app[data-layout=sheet] .dock .dock-structures{order:2}.app[data-layout=sheet] .dock .toolbar-check,.app[data-layout=sheet] .dock>.secondary{order:3}.app[data-layout=sheet] .seg button{padding:5px 6px;font-size:.76rem}}.app[data-layout=landscape] .identity{inset-block-start:calc(env(safe-area-inset-top) + 10px);inset-inline-start:calc(env(safe-area-inset-left) + 14px)}.app[data-layout=landscape] .eyebrow,.app[data-layout=landscape] .identity-meta,.app[data-layout=landscape] .studio-footer{display:none}.app[data-layout=landscape] .identity h1{margin:6px 0 0;font-size:1.15rem}.app[data-layout=landscape] .top-actions{max-inline-size:calc(100% - 230px);inset-block-start:calc(env(safe-area-inset-top) + 8px);inset-inline-end:calc(env(safe-area-inset-right) + 12px)}.app[data-layout=landscape] .modes button{padding:5px 10px}.app[data-layout=landscape] .icon-button{block-size:38px;inline-size:38px}.app[data-layout=landscape] .left.mobile-open{inset:calc(var(--top-space,52px) + 8px) auto calc(var(--dock-space,60px) + 8px) calc(env(safe-area-inset-left) + 12px);inline-size:min(300px,42vw)}.app[data-layout=landscape] .right{inset:calc(var(--top-space,52px) + 8px) calc(env(safe-area-inset-right) + 12px) calc(env(safe-area-inset-bottom) + 10px) auto;inline-size:min(46vw,380px)}.app[data-layout=landscape] .right[data-sheet=peek]{block-size:64px;inset-block-end:auto;overflow:hidden}.app[data-layout=landscape] .dock{gap:3px;padding:4px;inset-block-end:calc(env(safe-area-inset-bottom) + 8px)}.app[data-layout=landscape]:is([data-sheet=half],[data-sheet=full]) .dock{margin-inline:calc(env(safe-area-inset-left) + 12px) auto;max-inline-size:calc(100% - min(46vw,380px) - 44px)}.app[data-layout=landscape] .seg button{padding:4px 7px;font-size:.76rem}.app:not([data-layout=desktop])[data-detail=open] :is(.identity,.top-actions){display:none}.app:not([data-layout=desktop]) .sheet-handle,.app:not([data-layout=desktop]) .detail-head{touch-action:none}.app:not([data-layout=desktop]) .detail-head{cursor:grab}@media (pointer:coarse){.modes button,.seg button,.dock button,.icon-button,.dock .toolbar-check{min-block-size:44px}.detail-head .ghost{min-block-size:44px;min-inline-size:44px;font-size:1.1rem}.struct-list button{min-block-size:40px}.chips button,.seg-toggle button,.small-button{min-block-size:36px}.check input{block-size:20px;inline-size:20px}.app:not([data-layout=desktop]) .sheet-handle{block-size:28px}}@media (width<=767px){.about-sheet{border-radius:0;inline-size:100%;padding-block-start:56px}}
