@font-face{font-family:Cairo;src:url(./Cairo-arabic-CJWMIGCx.woff2) format("woff2");font-weight:200 900;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFC}@font-face{font-family:Cairo;src:url(./Cairo-latin-PfPtmrPZ.woff2) format("woff2");font-weight:200 900;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Cairo,system-ui,Segoe UI,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.static{position:static}.ms-auto{margin-inline-start:auto}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.flex{display:flex}.grid{display:grid}.hidden{display:none}.min-h-0{min-height:0px}.w-full{width:100%}.min-w-0{min-width:0px}.flex-1{flex:1 1 0%}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-center{align-items:center}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.text-\[0\.78rem\]{font-size:.78rem}.text-\[0\.85rem\]{font-size:.85rem}.text-\[0\.87rem\]{font-size:.87rem}.leading-relaxed{line-height:1.625}.text-\[var\(--muted\)\]{color:var(--muted)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{--ink: #08050a;--ink-2: #100a0e;--ink-3: #180d12;--glass: rgba(26, 14, 18, .72);--glass-2: rgba(38, 20, 25, .6);--line: rgba(255, 255, 255, .09);--line-strong: rgba(255, 255, 255, .18);--text: #f7efee;--muted: #b3a0a3;--crimson: #e23a3a;--crimson-soft: #ff6a5a;--blood: #8b1a20;--arterial: #ff5a45;--venous: #5b8fe0;--gold: #e8c88f;--ok: #58d68d;--warn: #f5b041;--radius: 16px;--radius-lg: 24px;--shadow: 0 26px 80px -34px rgba(0, 0, 0, .95);--font: "Cairo", "Segoe UI", system-ui, sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{font-family:var(--font);background:radial-gradient(1200px 700px at 50% -10%,rgba(120,22,28,.5),transparent 62%),radial-gradient(900px 600px at 90% 110%,rgba(58,12,20,.55),transparent 60%),linear-gradient(180deg,#0a0508,#08050a 45%,#050306);color:var(--text);-webkit-font-smoothing:antialiased;overflow:hidden;touch-action:manipulation}button{font-family:inherit;color:inherit}::-moz-selection{background:#e23a3a66}::selection{background:#e23a3a66}.boot{height:100%;display:grid;place-content:center;justify-items:center;gap:1rem;color:var(--muted);font-size:.9rem}.boot-heart{width:42px;height:42px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ff6a5a,#8b1a20 70%);animation:bootPulse 1.1s ease-in-out infinite;box-shadow:0 0 40px #e23a3a8c}@keyframes bootPulse{0%,to{transform:scale(.9);opacity:.75}45%{transform:scale(1.08);opacity:1}}.app{position:relative;height:100%;isolation:isolate}.canvas-wrap{position:fixed;inset:0;z-index:0}.canvas-wrap canvas{display:block;touch-action:none}.vignette{position:fixed;inset:0;z-index:1;pointer-events:none;background:radial-gradient(58% 52% at 50% 48%,transparent 35%,rgba(4,2,5,.55) 100%),linear-gradient(0deg,rgba(4,2,5,.75),transparent 28%)}.header{position:fixed;inset-inline:0;top:0;height:70px;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 18px;background:linear-gradient(180deg,#08050af0,#08050a40);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand-mark{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:radial-gradient(circle at 32% 28%,#ff7a63,#8b1a20 68%);box-shadow:0 0 24px #e23a3a73,inset 0 1px #ffffff40;flex:none}.brand-title{font-size:1.02rem;font-weight:800;letter-spacing:-.01em;line-height:1.15;white-space:nowrap}.brand-sub{font-size:.68rem;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.mode-tabs{display:flex;gap:4px;padding:5px;border-radius:999px;background:#ffffff0a;border:1px solid var(--line)}.mode-tab{display:inline-flex;align-items:center;gap:7px;padding:7px 15px;border-radius:999px;border:0;background:transparent;color:var(--muted);font-size:.82rem;font-weight:700;cursor:pointer;transition:color .2s,background .25s,transform .2s;white-space:nowrap}.mode-tab:hover{color:var(--text);background:#ffffff0d}.mode-tab.is-active{color:#fff;background:linear-gradient(135deg,#d62f34,#7d1418);box-shadow:0 10px 26px -12px #e23a3ae6}.toolbar{position:fixed;right:16px;top:50%;transform:translateY(-50%);z-index:36;display:flex;flex-direction:column;gap:4px;padding:8px 6px;border-radius:22px;background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(18px);box-shadow:var(--shadow)}.tool-btn{position:relative;width:42px;height:42px;display:grid;place-items:center;border-radius:14px;border:1px solid transparent;background:transparent;color:#d9c8c8;cursor:pointer;transition:background .2s,color .2s,transform .18s,border-color .2s}.tool-btn:hover{background:#ffffff12;color:#fff;transform:translateY(-1px)}.tool-btn.is-on{background:linear-gradient(135deg,#e23a3a47,#8b1a2080);border-color:#ff6a5a73;color:#ffd9d2;box-shadow:inset 0 0 18px #e23a3a40}.tool-btn:focus-visible{outline:2px solid var(--crimson-soft);outline-offset:2px}.tool-divider{height:1px;margin:3px 6px;background:var(--line)}.tool-tip{position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%) translate(4px);padding:5px 10px;border-radius:9px;background:#0c070af2;border:1px solid var(--line);color:#f0e2e0;font-size:.72rem;font-weight:600;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .18s,transform .18s}.tool-btn:hover .tool-tip,.tool-btn:focus-visible .tool-tip{opacity:1;transform:translateY(-50%) translate(0)}.side-panel{position:fixed;top:86px;left:16px;width:392px;max-height:calc(100dvh - 222px);z-index:34;display:flex;flex-direction:column;border-radius:var(--radius-lg);background:linear-gradient(180deg,#1c0f14db,#0e080ce6);border:1px solid var(--line);backdrop-filter:blur(20px);box-shadow:var(--shadow);overflow:hidden}.side-panel__head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line);background:#ffffff05}.side-panel__title{font-size:.82rem;font-weight:800;letter-spacing:.02em;display:flex;align-items:center;gap:8px}.side-panel__body{overflow-y:auto;padding:14px 16px 18px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}.side-panel__body::-webkit-scrollbar{width:6px}.side-panel__body::-webkit-scrollbar-thumb{background:#ffffff29;border-radius:99px}.icon-btn{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;border:1px solid var(--line);background:#ffffff08;color:var(--muted);cursor:pointer;transition:all .18s}.icon-btn:hover{color:#fff;background:#ffffff17}.model-badge{font-size:.66rem;font-weight:700;padding:5px 9px;border-radius:999px;border:1px solid var(--line-strong);color:var(--muted);letter-spacing:.02em;white-space:nowrap}.model-badge.is-glb{color:#9fe0b8;border-color:#58d68d66;background:#58d68d14}.hint-text{font-size:.78rem;line-height:1.75;color:var(--muted);margin:0 0 .75rem}.part-color{width:8px;height:8px;border-radius:50%;flex:none;box-shadow:0 0 10px currentColor}.part-group{margin-bottom:.85rem}.part-group__title{font-size:.68rem;font-weight:700;color:var(--muted);letter-spacing:.06em;margin-bottom:.4rem;padding-inline-start:2px}.part-chip{display:flex;align-items:center;gap:7px;padding:9px 10px;border-radius:11px;border:1px solid var(--line);background:#ffffff06;color:#eadadb;font-size:.76rem;font-weight:600;text-align:right;cursor:pointer;transition:background .18s,border-color .18s,transform .18s,color .18s}.part-chip:hover{background:#ffffff12;border-color:var(--line-strong);transform:translateY(-1px);color:#fff}.part-chip.is-active{background:linear-gradient(135deg,#e23a3a3d,#8b1a2052);border-color:#ff6a5a80;color:#fff}.part-chip__ar{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.part-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:.75rem}.part-name{font-size:1.42rem;font-weight:800;line-height:1.2;margin:0;letter-spacing:-.02em}.part-en{font-size:.82rem;color:#e6b7ad;font-weight:600;margin-top:2px}.part-latin{font-size:.72rem;color:var(--muted);font-style:italic}.sys-badge{font-size:.66rem;font-weight:700;padding:4px 9px;border-radius:999px;white-space:nowrap;border:1px solid var(--line-strong);color:var(--muted)}.sys-right{color:#8fb6e6;border-color:#5b8fe066;background:#5b8fe01a}.sys-left{color:#ff9d8c;border-color:#ff5a4566;background:#ff5a451a}.sys-valves{color:#e8c88f;border-color:#e8c88f66;background:#e8c88f1a}.sys-vessels{color:#d9a0d9;border-color:#d9a0d959;background:#d9a0d914}.sys-muscle{color:#f0a3a3;border-color:#f0a3a359;background:#f0a3a314}.narration-btn{width:100%;display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,106,90,.35);background:linear-gradient(135deg,#e23a3a2e,#8b1a2038);color:#ffd9d2;font-size:.8rem;font-weight:700;cursor:pointer;transition:all .2s;margin-bottom:.85rem}.narration-btn:hover{background:linear-gradient(135deg,#e23a3a4d,#8b1a2057);transform:translateY(-1px)}.narration-wave{margin-inline-start:auto;display:flex;align-items:flex-end;gap:2px;height:14px}.narration-wave i{width:3px;border-radius:2px;background:#ff8a74;height:6px}.narration-btn.is-playing .narration-wave i{animation:wave .9s ease-in-out infinite}.narration-btn.is-playing .narration-wave i:nth-child(2){animation-delay:.15s}.narration-btn.is-playing .narration-wave i:nth-child(3){animation-delay:.3s}@keyframes wave{0%,to{height:5px;opacity:.6}50%{height:14px;opacity:1}}.info-row{display:flex;gap:10px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.05)}.info-row__icon{width:26px;height:26px;flex:none;display:grid;place-items:center;border-radius:8px;background:#ffffff0d;color:#ff9d8c}.info-row__title{font-size:.72rem;font-weight:800;color:#ffc9bd;letter-spacing:.02em;margin-bottom:3px}.info-row__text{margin:0;font-size:.82rem;line-height:1.85;color:#ddd0d1}.fact-box{display:flex;gap:9px;margin-top:12px;padding:11px 12px;border-radius:12px;background:linear-gradient(135deg,#e8c88f1f,#e8c88f0a);border:1px solid rgba(232,200,143,.28);color:#f2e3c8}.fact-box strong{font-size:.72rem;display:block;margin-bottom:2px;letter-spacing:.02em}.fact-box p{margin:0;font-size:.8rem;line-height:1.8;color:#e6d8bb}.mini-quiz{margin-top:14px;padding:12px;border-radius:14px;background:#ffffff09;border:1px solid var(--line)}.mini-quiz__head{display:flex;align-items:center;gap:7px;font-size:.72rem;font-weight:800;color:#ffb4a4;margin-bottom:8px}.mini-quiz__q{font-size:.86rem;font-weight:700;line-height:1.7;margin:0 0 9px}.mini-quiz__explain{margin:10px 0 0;font-size:.79rem;line-height:1.8;color:#cfc0c1;border-top:1px dashed var(--line);padding-top:9px}.quiz-opt{display:flex;align-items:center;gap:9px;width:100%;padding:9px 11px;border-radius:10px;border:1px solid var(--line);background:#ffffff08;color:#e9dddd;font-size:.8rem;text-align:right;cursor:pointer;transition:all .16s}.quiz-opt:hover:not(:disabled){background:#ffffff13;border-color:var(--line-strong)}.quiz-opt:disabled{cursor:default}.quiz-opt__key{width:22px;height:22px;flex:none;display:grid;place-items:center;border-radius:7px;background:#ffffff14;font-size:.7rem;font-weight:700;color:#cfbebe}.quiz-opt.is-correct{border-color:#58d68d8c;background:#58d68d1f;color:#c8f5d8}.quiz-opt.is-wrong{border-color:#e23a3a99;background:#e23a3a24;color:#ffc9c4}.quiz-opt.is-dim{opacity:.5}.label-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;background:#0a0609b8;border:1px solid rgba(255,255,255,.16);color:#f4e8e6;font-size:11px;font-weight:600;font-family:var(--font);white-space:nowrap;cursor:pointer;backdrop-filter:blur(6px);transition:background .2s,border-color .2s,transform .2s}.label-pill:hover,.label-pill.is-active{background:#e23a3ad9;border-color:#ffbeaacc;transform:scale(1.06);color:#fff}.label-dot{width:6px;height:6px;border-radius:50%;flex:none}.dock{position:fixed;bottom:12px;left:50%;transform:translate(-50%);width:min(900px,calc(100% - 28px));z-index:36;display:flex;flex-direction:column;gap:7px;padding:10px 14px;border-radius:20px;background:linear-gradient(180deg,#1a0e13db,#0c070beb);border:1px solid var(--line);backdrop-filter:blur(20px);box-shadow:var(--shadow)}.dock-main{display:flex;align-items:center;gap:14px}.play-btn{width:46px;height:46px;flex:none;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(255,130,110,.5);background:radial-gradient(circle at 35% 30%,#e8474a,#7c1418);color:#fff;cursor:pointer;transition:transform .18s,box-shadow .25s;box-shadow:0 0 #e23a3a80}.play-btn:hover{transform:scale(1.05)}.play-btn.is-playing{animation:beatGlow 1s ease-in-out infinite}@keyframes beatGlow{0%,to{box-shadow:0 0 #e23a3a73}40%{box-shadow:0 0 0 12px #e23a3a00}}.bpm-block{flex:1;min-width:0}.bpm-readout{display:flex;align-items:baseline;gap:6px;margin-bottom:2px}.bpm-value{font-size:1.35rem;font-weight:800;color:#ff8a74;font-variant-numeric:tabular-nums;line-height:1}.bpm-unit{font-size:.68rem;color:var(--muted)}.bpm-dot{width:7px;height:7px;border-radius:50%;background:#4a3034;margin-inline-start:4px}.bpm-dot.is-live{background:#ff5a45;animation:dotPulse 1s ease-in-out infinite}@keyframes dotPulse{0%,to{opacity:.35;transform:scale(.8)}45%{opacity:1;transform:scale(1.15)}}.range{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;border-radius:99px;background:linear-gradient(90deg,#4a1b22,#b02a2f 55%,#ff6a5a);outline:none;cursor:pointer}.range::-webkit-slider-thumb{-webkit-appearance:none;width:15px;height:15px;border-radius:50%;background:#ffe7e0;border:2px solid #e23a3a;box-shadow:0 0 12px #e23a3ab3;cursor:pointer}.range::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#ffe7e0;border:2px solid #e23a3a}.bpm-scale{display:flex;justify-content:space-between;font-size:.6rem;color:#7d6a6d;margin-top:3px}.dock-actions{display:flex;gap:6px;flex:none}.dock-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border-radius:11px;border:1px solid var(--line);background:#ffffff08;color:#d8c7c7;font-size:.74rem;font-weight:700;cursor:pointer;transition:all .18s;white-space:nowrap}.dock-btn:hover{background:#ffffff14;color:#fff}.dock-btn.is-on{background:#e23a3a33;border-color:#ff6a5a80;color:#ffd1c8}.dock-phases{display:flex;align-items:center;gap:8px;border-top:1px solid rgba(255,255,255,.06);padding-top:7px}.phase-strip{display:flex;gap:4px;flex:1;overflow-x:auto;scrollbar-width:none}.phase-strip::-webkit-scrollbar{display:none}.phase-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:9px;border:1px solid transparent;background:transparent;color:#98828a;font-size:.68rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .18s}.phase-chip:hover{background:#ffffff0d;color:#e6d6d6}.phase-chip.is-active{background:#e23a3a29;border-color:#ff6a5a66;color:#ffc9bd}.phase-idx{width:16px;height:16px;border-radius:50%;display:grid;place-items:center;background:#ffffff14;font-size:.6rem}.phase-chip.is-active .phase-idx{background:#e23a3a;color:#fff}.phase-controls{display:flex;gap:3px;flex:none}.mini-btn{width:27px;height:27px;display:grid;place-items:center;border-radius:8px;border:1px solid var(--line);background:#ffffff08;color:var(--muted);cursor:pointer;transition:all .18s}.mini-btn:hover{color:#fff;background:#ffffff17}.mini-btn.is-on{color:#ffd1c8;border-color:#ff6a5a73;background:#e23a3a2e}.section-bar{display:flex;align-items:center;gap:10px;border-top:1px solid rgba(255,255,255,.06);padding-top:8px}.section-label{font-size:.7rem;color:var(--muted);white-space:nowrap}.section-hint{font-size:.62rem;color:#7d6a6d;white-space:nowrap;letter-spacing:.06em}.loader{position:fixed;inset:0;z-index:80;display:grid;place-content:center;justify-items:center;gap:12px;background:radial-gradient(circle at 50% 40%,#1a0a0e,#060306 70%);transition:opacity .4s}.loader__heart{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#ff7a634d,#8b1a2033);animation:bootPulse 1.2s ease-in-out infinite}.loader__title{font-weight:800;font-size:1rem}.loader__bar{width:190px;height:3px;border-radius:99px;background:#ffffff14;overflow:hidden}.loader__bar span{display:block;width:40%;height:100%;border-radius:99px;background:linear-gradient(90deg,transparent,#e23a3a,#ff8a74);animation:barSlide 1.2s ease-in-out infinite}@keyframes barSlide{0%{transform:translate(-100%)}to{transform:translate(320%)}}.loader__hint{font-size:.72rem;color:#6f5c60;margin:0}.toast{position:fixed;bottom:132px;left:50%;transform:translate(-50%);z-index:90;display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:12px;font-size:.82rem;font-weight:600;background:#120b0ef5;border:1px solid var(--line-strong);color:#f2e6e4;box-shadow:var(--shadow);max-width:min(520px,calc(100% - 32px));cursor:pointer}.toast--ok{border-color:#58d68d73;color:#c9f2d8}.toast--err{border-color:#e23a3a8c;color:#ffc5bd}.toast--info{border-color:#5b8fe073;color:#ccdcf7}.sheet-backdrop{position:fixed;inset:0;z-index:70;display:flex;align-items:center;justify-content:center;padding:76px 16px 100px;background:#040205bd;backdrop-filter:blur(7px)}.sheet{width:min(1080px,100%);max-height:100%;display:flex;flex-direction:column;border-radius:24px;background:linear-gradient(180deg,#180e13fa,#0a0609fc);border:1px solid var(--line-strong);box-shadow:0 40px 120px -30px #000000f2;overflow:hidden}.sheet--md{width:min(700px,100%)}.sheet__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 20px;border-bottom:1px solid var(--line);background:#ffffff05}.sheet__icon{width:38px;height:38px;flex:none;display:grid;place-items:center;border-radius:12px;background:#ffffff0d;border:1px solid var(--line)}.sheet__title{font-size:1.12rem;font-weight:800;margin:0;letter-spacing:-.01em}.sheet__sub{margin:2px 0 0;font-size:.74rem;color:var(--muted)}.sheet__body{padding:18px 20px 26px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.risk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:12px}.risk-card{position:relative;display:flex;gap:12px;align-items:flex-start;text-align:right;padding:15px;border-radius:16px;border:1px solid var(--line);background:linear-gradient(150deg,#ffffff0b,#ffffff04);cursor:pointer;transition:transform .2s,border-color .2s,background .2s}.risk-card:hover{transform:translateY(-3px);border-color:#ff6a5a73;background:linear-gradient(150deg,#e23a3a24,#ffffff05)}.risk-card__icon{width:38px;height:38px;flex:none;display:grid;place-items:center;border-radius:12px;background:#e23a3a24;color:#ff9d8c;border:1px solid rgba(255,106,90,.25)}.risk-card__title{font-size:.95rem;font-weight:800;color:#f7eceb}.risk-card__en{font-size:.68rem;color:#a98f92;margin-bottom:5px}.risk-card__summary{font-size:.76rem;line-height:1.7;color:var(--muted);margin:0}.risk-card__arrow{position:absolute;top:14px;left:14px;color:#7d666a}.back-btn{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:#ff9d8c;font-size:.76rem;font-weight:700;cursor:pointer;padding:0;margin-bottom:10px}.disease__title{font-size:1.35rem;font-weight:800;margin:0}.disease__en{font-size:.76rem;color:#b08f92;margin-bottom:8px}.disease__lead{font-size:.88rem;line-height:1.95;color:#ddd0d1;margin:0 0 14px}.disease-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;margin-bottom:14px}.info-block{padding:13px 14px;border-radius:14px;border:1px solid var(--line);background:#ffffff07}.info-block__title{display:flex;align-items:center;gap:6px;font-size:.78rem;font-weight:800;color:#ffc0b2;margin-bottom:7px}.info-block ul{margin:0;padding-inline-start:16px;display:flex;flex-direction:column;gap:5px}.info-block li{font-size:.79rem;line-height:1.75;color:#d6c7c9}.info-block li::marker{color:#b85454}.info-block--ok{border-color:#58d68d47;background:#58d68d0e}.info-block--ok .info-block__title{color:#9fe0b8}.info-block--ok li::marker{color:#4fae77}.red-flag{display:flex;gap:11px;padding:14px;border-radius:14px;border:1px solid rgba(226,58,58,.45);background:linear-gradient(135deg,#e23a3a29,#e23a3a0d);color:#ffd4cc;margin-bottom:14px}.red-flag strong{font-size:.8rem;display:block;margin-bottom:3px}.red-flag p{margin:0;font-size:.82rem;line-height:1.8}.tip-box{display:flex;gap:11px;padding:14px;border-radius:14px;border:1px solid rgba(232,200,143,.3);background:linear-gradient(135deg,#e8c88f21,#e8c88f0a);color:#f4e5c9}.tip-box strong{font-size:.8rem;display:block;margin-bottom:3px}.tip-box p{margin:0;font-size:.84rem;line-height:1.85}.disease__actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.btn-primary,.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 16px;border-radius:11px;font-size:.8rem;font-weight:700;cursor:pointer;transition:all .2s;border:1px solid transparent}.btn-primary{background:linear-gradient(135deg,#d62f34,#8d171b);color:#fff;box-shadow:0 12px 28px -14px #e23a3ae6}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 16px 34px -14px #e23a3a}.btn-ghost{background:#ffffff0a;border-color:var(--line-strong);color:#e8dadb}.btn-ghost:hover:not(:disabled){background:#ffffff17}.btn-ghost:disabled,.btn-primary:disabled{opacity:.4;cursor:not-allowed}.sources{border-top:1px dashed var(--line);padding-top:10px;margin-top:6px;display:flex;flex-direction:column;gap:4px}.sources__title{display:flex;align-items:center;gap:6px;font-size:.72rem;font-weight:800;color:var(--muted);margin-bottom:2px}.sources a,.source-link{display:inline-flex;align-items:center;gap:5px;font-size:.75rem;color:#9fc0e8;text-decoration:none;line-height:1.8}.sources a:hover,.source-link:hover{color:#cfe2ff;text-decoration:underline}.review-note{display:block;font-size:.7rem;color:#77666a;margin-top:8px;line-height:1.7}.prevent-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:11px}.prevent-card{text-align:right;padding:15px;border-radius:16px;border:1px solid var(--line);background:linear-gradient(160deg,#58d68d12,#ffffff05);cursor:pointer;transition:transform .2s,border-color .2s,background .2s}.prevent-card:hover{transform:translateY(-3px);border-color:#58d68d66;background:linear-gradient(160deg,#58d68d24,#ffffff05)}.prevent-card__icon{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:#58d68d24;color:#8fe0b0;margin-bottom:9px;border:1px solid rgba(88,214,141,.25)}.prevent-card__title{font-size:.92rem;font-weight:800;margin-bottom:4px}.prevent-card__summary{font-size:.76rem;line-height:1.7;color:var(--muted);margin:0 0 8px}.prevent-card__more{display:inline-flex;align-items:center;gap:4px;font-size:.7rem;font-weight:700;color:#8fe0b0}.quiz-panel{position:fixed;top:86px;left:16px;width:392px;max-height:calc(100dvh - 222px);z-index:34;display:flex;flex-direction:column;border-radius:var(--radius-lg);background:linear-gradient(180deg,#1c0f14e6,#0c070bf0);border:1px solid var(--line);backdrop-filter:blur(20px);box-shadow:var(--shadow);overflow:hidden}.quiz-progress{height:3px;background:#ffffff0f}.quiz-progress__bar{height:100%;background:linear-gradient(90deg,#8d171b,#ff6a5a);transition:width .35s ease}.quiz-meta{display:flex;align-items:center;justify-content:space-between;font-size:.72rem;color:var(--muted);margin-bottom:8px}.quiz-score{color:#9fe0b8;font-weight:700}.quiz-question{font-size:1rem;font-weight:800;line-height:1.65;margin:0 0 12px}.identify-box{display:flex;gap:10px;align-items:center;padding:13px;border-radius:13px;border:1px dashed rgba(255,106,90,.45);background:#e23a3a14;color:#ffd2c9;font-size:.82rem;line-height:1.7}.identify-box strong{display:block;font-size:.84rem}.identify-box p{margin:2px 0 0;font-size:.76rem;color:#d9b6b1}.identify-box.is-correct{border-color:#58d68d8c;background:#58d68d1a;color:#c9f2d8}.identify-box.is-wrong{border-color:#e23a3a99;background:#e23a3a1f}.quiz-explain{margin-top:12px;padding-top:12px;border-top:1px dashed var(--line)}.quiz-verdict{display:inline-flex;align-items:center;gap:5px;font-size:.78rem;font-weight:800;padding:4px 10px;border-radius:999px;margin-bottom:7px}.quiz-verdict.ok{background:#58d68d26;color:#9fe0b8}.quiz-verdict.err{background:#e23a3a29;color:#ffb0a4}.quiz-explain p{font-size:.81rem;line-height:1.85;color:#d8c9cb;margin:0 0 11px}.score-ring{width:148px;height:148px;margin:10px auto 14px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#e23a3a var(--pct),rgba(255,255,255,.07) 0);position:relative}.score-ring:after{content:"";position:absolute;inset:10px;border-radius:50%;background:#120a0e}.score-ring__inner{position:relative;z-index:1;text-align:center}.score-value{display:block;font-size:1.6rem;font-weight:800;color:#ffe4dc}.score-pct{font-size:.76rem;color:var(--muted)}.score-msg{text-align:center;font-size:.85rem;line-height:1.85;color:#d7c8c9;margin:0 0 14px}.quiz-result-actions{display:flex;flex-direction:column;gap:8px}.tour-panel{position:fixed;bottom:136px;left:16px;width:400px;max-width:calc(100% - 32px);z-index:35;padding:14px 16px;border-radius:20px;background:linear-gradient(180deg,#1a0f14eb,#0c070bf2);border:1px solid var(--line);backdrop-filter:blur(20px);box-shadow:var(--shadow)}.tour-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.tour-chip{display:inline-flex;align-items:center;gap:6px;font-size:.68rem;font-weight:700;color:#ffb0a0;background:#e23a3a24;border:1px solid rgba(255,106,90,.3);padding:3px 9px;border-radius:999px}.tour-title{font-size:1.02rem;font-weight:800;margin:0 0 5px}.tour-body{font-size:.82rem;line-height:1.9;color:#d5c6c8;margin:0 0 10px}.tour-progress{display:flex;gap:5px;margin-bottom:11px}.tour-dot{flex:1;height:3px;border-radius:99px;border:0;background:#ffffff1a;cursor:pointer;transition:background .2s}.tour-dot.is-done{background:#e23a3a73}.tour-dot.is-active{background:#ff6a5a}.tour-actions{display:flex;gap:7px}.tour-actions .btn-primary,.tour-actions .btn-ghost{flex:1;padding:9px 10px;font-size:.78rem}.about-block{padding:12px 14px;border-radius:13px;border:1px solid var(--line);background:#ffffff06}.about-block__title{display:flex;align-items:center;gap:7px;font-size:.8rem;font-weight:800;color:#ffc0b2;margin-bottom:6px}.about-block p{margin:0 0 6px;font-size:.83rem;line-height:1.9}.about-block code{font-size:.74rem;background:#ffffff12;padding:1px 5px;border-radius:5px;color:#ffd7cb}.fallback{position:fixed;inset:0;z-index:0;display:grid;place-items:center;padding:84px 16px 180px}.fallback__note{position:absolute;top:82px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:2px;text-align:center;font-size:.76rem;color:var(--muted);max-width:560px}.fallback__note strong{color:#ffb0a0;font-size:.82rem}.fallback__stage{display:flex;gap:24px;align-items:center;justify-content:center;flex-wrap:wrap;max-height:100%}.hb-svg{width:min(340px,46vw);max-height:62vh;filter:drop-shadow(0 30px 60px rgba(120,10,20,.45))}.hb-region{cursor:pointer;outline:none}.hb-region:hover{filter:brightness(1.25)}.hb-region:focus-visible{outline:2px solid #ff8a74}.hb-region.is-on{filter:drop-shadow(0 0 12px rgba(255,122,77,.95)) brightness(1.3)}.hb-chamber{stroke:#00000059;stroke-width:1.5;transition:filter .2s}.hb-chamber--art{fill:#a63a34}.hb-chamber--ven{fill:#7d4a62}.hb-artery{fill:none;stroke:url(#hbArtery);stroke-width:13;stroke-linecap:round}.hb-artery--v{stroke:#6f7fa8;stroke-width:9}.hb-vein{fill:none;stroke:url(#hbVein);stroke-width:11;stroke-linecap:round}.hb-valve{fill:#e3cba6;opacity:.92;stroke:#0000004d}.hb-septum{fill:none;stroke:#5d1517;stroke-width:7;opacity:.8}.hb-coronary{fill:none;stroke:#e2574c;stroke-width:3.4;stroke-linecap:round}.hb-myocardium{fill:none;stroke:#d8a09a;stroke-width:2;opacity:.35}.fallback__legend{display:grid;grid-template-columns:repeat(2,minmax(130px,1fr));gap:5px;max-height:62vh;overflow-y:auto;padding:4px}@media (max-width: 1100px){.side-panel,.quiz-panel,.tour-panel{width:340px}}@media (max-width: 860px){.header{height:60px;padding:0 12px}.brand-title{font-size:.88rem}.brand-sub,.model-badge{display:none}.brand-mark{width:34px;height:34px;border-radius:11px}.mode-tab{padding:6px 10px}.toolbar{inset:auto 8px 152px;transform:none;flex-direction:row;overflow-x:auto;justify-content:flex-start;border-radius:16px;padding:6px;gap:3px;scrollbar-width:none}.toolbar::-webkit-scrollbar{display:none}.tool-btn{width:38px;height:38px;flex:none}.tool-divider{width:1px;height:24px;margin:0 3px;flex:none}.tool-tip{display:none}.side-panel,.quiz-panel{inset:auto 8px 196px;width:auto;max-height:44dvh;transform:translateY(calc(100% + 210px));transition:transform .32s cubic-bezier(.22,1,.36,1)}.side-panel.is-open,.quiz-panel{transform:none}.quiz-panel{bottom:196px}.dock{bottom:8px;width:calc(100% - 16px);padding:8px 10px;gap:5px}.play-btn{width:40px;height:40px}.bpm-value{font-size:1.1rem}.dock-actions .dock-btn{padding:7px 8px}.phase-chip{font-size:.62rem;padding:4px 7px}.phase-chip .phase-name{max-width:92px;overflow:hidden;text-overflow:ellipsis}.tour-panel{bottom:196px;left:8px;right:8px;width:auto;max-height:40dvh;overflow-y:auto}.toast{bottom:220px}.sheet-backdrop{padding:66px 8px 190px}.sheet{border-radius:18px}.sheet__body{padding:14px 14px 20px}.risk-grid,.disease-grid{grid-template-columns:1fr}.prevent-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.fallback{padding:76px 10px 200px}.fallback__stage{flex-direction:column;gap:10px}.hb-svg{width:min(260px,62vw);max-height:40vh}.fallback__legend{grid-template-columns:repeat(2,1fr);width:100%;max-height:22vh}}@media (max-width: 520px){.brand-title{font-size:.78rem}.mode-tabs{padding:3px}.mode-tab{padding:6px 8px}.bpm-scale .hidden,.dock-btn span,.section-hint{display:none}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.mobile-panel-btn{position:fixed;bottom:210px;left:12px;z-index:37;display:none;align-items:center;gap:6px;padding:9px 13px;border-radius:999px;border:1px solid rgba(255,106,90,.45);background:#180c11eb;color:#ffd1c8;font-size:.76rem;font-weight:700;backdrop-filter:blur(12px);cursor:pointer}@media (max-width: 860px){.mobile-panel-btn{display:inline-flex}}body.clean-ui .header,body.clean-ui .side-panel,body.clean-ui .dock,body.clean-ui .toolbar,body.clean-ui .toast,body.clean-ui .mobile-panel-btn,body.clean-ui .label-pill,body.clean-ui .tour-panel,body.clean-ui .quiz-panel{display:none!important}@media (min-width: 640px){.sm\:inline{display:inline}}@media (min-width: 768px){.md\:inline{display:inline}}
