:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fbfbfc;--surface:#fff;--ink:#20232a;--muted:#626a73;--line:#dde2e8;--pink:#f48aa5;--pink-deep:#df5f83;--blue:#1491df;--green:#40b96f;--red:#ef4f5f;--purple:#aa55c8;--yellow:#e4bc29;--shadow:0 8px 22px #20232a12;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--bg);min-width:320px}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}a{color:inherit;text-decoration:none}.app{min-height:100vh}.site-header{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fbfbfce6;border-bottom:1px solid #dde2e8d1;justify-content:space-between;align-items:center;gap:24px;padding:16px clamp(18px,4vw,56px);display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;min-width:max-content;font-size:17px;font-weight:760;display:inline-flex}.brand-mark{background:radial-gradient(circle at 42% 38%,#fff 0 13%,#0000 14%),linear-gradient(135deg,#f7a1b9,#dd5f86);border-radius:50%;width:22px;height:22px;box-shadow:inset -3px -4px #7f20411f}.nav-links{scrollbar-width:none;align-items:center;gap:4px;display:flex;overflow-x:auto}.nav-links::-webkit-scrollbar{display:none}.nav-links a{min-height:38px;color:var(--muted);white-space:nowrap;border-radius:8px;align-items:center;padding:0 14px;font-size:14px;font-weight:680;display:inline-flex}.nav-links a:hover,.nav-links a.active{color:#9e244c;background:#ffe8ef}main{width:100%}.home-page{grid-template-columns:minmax(260px,.52fr) minmax(0,1.48fr);align-items:center;gap:clamp(24px,4vw,56px);min-height:calc(100vh - 72px);padding:clamp(28px,5vw,72px) clamp(18px,5vw,68px) 36px;display:grid}.home-copy{max-width:560px}h1,h2,h3,p{margin-top:0}.home-copy h1,.page-intro h1{letter-spacing:0;margin-bottom:18px;font-size:clamp(42px,7vw,82px);line-height:.95}.home-copy p,.page-intro p{color:var(--muted);margin-bottom:28px;font-size:clamp(17px,2vw,21px);line-height:1.6}.home-actions{flex-wrap:wrap;gap:12px;display:flex}.primary-button,.secondary-button{border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;min-height:46px;padding:0 18px;font-size:14px;font-weight:760;display:inline-flex}.primary-button{background:var(--pink-deep);color:#fff;box-shadow:0 12px 24px #df5f8338}.secondary-button{border-color:var(--line);background:var(--surface);color:var(--ink)}.model-layout{min-width:0}.model-stage{isolation:isolate;min-height:min(78vh,720px);position:relative}.model-canvas{min-height:420px;position:absolute;inset:0}.model-canvas canvas{cursor:grab;width:100%;height:100%;display:block}.model-loading{color:var(--muted);place-items:center;font-weight:700;display:grid;position:absolute;inset:0}.model-canvas.model-loaded .model-loading,.model-error canvas{display:none}.model-error:after{border:1px solid var(--line);width:min(260px,85%);color:var(--red);content:"Kirby.glb could not load.";background:#fff;border-radius:8px;padding:14px 16px;position:absolute;inset:40% auto auto 50%;transform:translate(-50%,-50%)}.control-panel,.ability-detail{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px}.control-panel h2,.ability-detail h2{letter-spacing:0;margin-bottom:12px;font-size:clamp(24px,3vw,34px);line-height:1.08}.control-panel p,.ability-detail p{color:var(--muted);font-size:15px;line-height:1.62}.page-shell{padding:38px clamp(18px,5vw,68px) 70px}.page-intro{max-width:920px;margin-bottom:28px}.simulator-layout,.organ-layout,.ability-layout{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);align-items:start;gap:24px;display:grid}.simulator-board,.organ-sketch-card{border:1px solid var(--line);min-width:0;box-shadow:var(--shadow);background:#fff;border-radius:8px;overflow:hidden}.respiration-svg{touch-action:none;width:100%;height:auto;display:block}.respiration-svg.dragging,.lung-area,.lung-handle{cursor:ew-resize}.kirby-body,.organ-body{fill:#ffd2df;stroke:#24272d;stroke-width:5px}.mouth-shape{fill:#fff;stroke:#24272d;stroke-width:4px}.inhaled-target circle{fill:#f2f4f7;stroke:#8c96a3;stroke-width:3px}.inhaled-target path{stroke:#8c96a3;stroke-width:3px;stroke-linecap:round}.air-flow path,.air-flow circle{fill:none;stroke-width:9px;stroke-linecap:round;stroke-dasharray:18 16;animation:1.05s linear infinite dashFlow}.release-flow path{animation-direction:reverse}@keyframes dashFlow{to{stroke-dashoffset:-68px}}.mouth-airway,.foot-airway,.foot-airway-branch{fill:none;stroke:var(--green);stroke-width:7px;stroke-linecap:round;opacity:.86}.foot-airway-branch{stroke-width:5px}.lung-area{stroke:var(--red);stroke-width:6px;stroke-dasharray:16 10}.lung-handle{fill:var(--red);stroke:#fff;stroke-width:5px}.diagram-title,.diagram-label{fill:#2d333a;paint-order:stroke;stroke:#fff;stroke-linejoin:round;stroke-width:5px;font-weight:800}.diagram-title{font-size:18px}.diagram-label{font-size:16px}.airway-text{fill:#21613c}.control-panel{padding:24px}.sim-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:18px 0 16px;display:grid}.sim-actions button{border:1px solid var(--line);color:#30363d;cursor:pointer;background:#fff;border-radius:8px;min-height:38px;font-size:13px;font-weight:760}.sim-actions button:hover{border-color:var(--blue);color:#075b91;box-shadow:0 0 0 3px #1491df1f}.slider-label{color:var(--ink);justify-content:space-between;gap:16px;margin:18px 0 8px;font-size:14px;font-weight:760;display:flex}input[type=range]{width:100%;accent-color:var(--red)}.pressure-readout{color:var(--muted);gap:7px;margin:20px 0;font-size:13px;font-weight:700;display:grid}meter{width:100%;height:10px}.legend-grid{gap:8px;margin-bottom:18px;display:grid}.legend-item{color:#3a424b;align-items:center;gap:9px;font-size:13px;font-weight:720;display:inline-flex}.legend-item span{border-radius:4px;width:12px;height:12px}.small-note{margin-bottom:0}.ability-tabs{gap:8px;display:grid}.ability-tabs button{border:1px solid var(--line);color:var(--ink);text-align:left;cursor:pointer;background:#fff;border-radius:8px;gap:5px;padding:15px 16px;display:grid}.ability-tabs button span{font-size:15px;font-weight:820}.ability-tabs button small{color:var(--muted);font-size:12px;line-height:1.35}.ability-tabs button.active{border-color:var(--pink-deep);box-shadow:0 0 0 4px #df5f831f}.ability-detail{min-height:386px;padding:30px}.ability-detail .lead{color:var(--ink);font-size:20px;font-weight:720;line-height:1.45}.organ-chips{flex-wrap:wrap;gap:8px;margin-top:24px;display:flex}.organ-chips span{color:#323840;background:#f5f7fa;border-radius:8px;align-items:center;min-height:32px;padding:0 11px;font-size:12px;font-weight:760;display:inline-flex}.organ-sketch-card{padding:16px}.organ-sketch-card img{object-fit:contain;width:auto;max-width:100%;max-height:min(46vh,430px);margin:0 auto;display:block}.organ-label-panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:8px;padding:22px}.organ-label-panel h2{margin-bottom:16px;font-size:28px;line-height:1.1}.organ-label-buttons{gap:8px;display:grid}.organ-label-buttons button{border:1px solid var(--line);color:#242a31;text-align:left;cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:10px;min-height:42px;font-size:14px;font-weight:760;display:flex}.organ-label-buttons button span{background:var(--zone-color);border-radius:4px;flex:none;width:13px;height:13px}.organ-label-buttons button.active{border-color:var(--zone-color);box-shadow:0 0 0 3px color-mix(in srgb, var(--zone-color) 16%, transparent)}.organ-summary{border-top:4px solid var(--panel-color);margin-top:18px;padding-top:16px}.organ-summary h3{margin-bottom:8px;font-size:20px}.organ-summary p{color:var(--muted);margin-bottom:0;font-size:15px;line-height:1.6}.reference-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:24px;display:grid}.reference-strip figure{border:1px solid var(--line);background:#fff;border-radius:8px;margin:0;overflow:hidden}.reference-strip img{aspect-ratio:16/9;object-fit:contain;background:#fff;width:100%;display:block}.reference-strip figcaption{color:var(--muted);padding:10px 12px 12px;font-size:12px;font-weight:720}@media (width<=1080px){.home-page,.simulator-layout,.organ-layout,.ability-layout{grid-template-columns:1fr}.home-page{align-items:start;min-height:auto}.model-stage{min-height:520px}.ability-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.site-header{flex-direction:column;align-items:flex-start;gap:12px}.nav-links{width:100%}.nav-links a{padding:0 12px;font-size:13px}.home-page,.page-shell{padding-inline:16px}.home-copy h1,.page-intro h1{font-size:42px}.model-stage{min-height:430px}.simulator-board,.organ-sketch-card,.control-panel,.ability-detail,.organ-label-panel{box-shadow:0 10px 26px #20232a14}.ability-tabs,.reference-strip{grid-template-columns:1fr}.diagram-title{font-size:20px}.diagram-label{font-size:18px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
