@charset "UTF-8";
:root{--ink:#183039;--muted:#788680;--teal:#376c60;--line:#e1e7e2;--paper:#f4f5f1;--navy:#10232e;--salmon:#efa085;--green-pale:#edf2ed;--sans:"Pretendard","Noto Sans KR",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{color-scheme:light}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,canvas:focus-visible{outline:3px solid #87bba9;outline-offset:4px}a{color:inherit}svg{display:block}button svg{pointer-events:none}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.app-shell{width:min(1600px,100%);height:100vh;height:100svh;min-height:600px;margin:0 auto;padding:0 clamp(16px,2.5vw,42px);display:grid;grid-template-rows:64px 64px minmax(0,1fr) 32px}
.topbar{display:flex;align-items:center;gap:20px;min-width:0;border-bottom:1px solid #dfe5de}.brand{display:flex;gap:8px;align-items:center;font-size:18px;font-weight:700;letter-spacing:-.7px;text-decoration:none;white-space:nowrap}.brand svg{width:30px;height:30px;fill:none;stroke:var(--teal);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.top-divider{display:block;width:1px;height:20px;background:#d3dbd3}.disease-title{display:flex;align-items:center;gap:16px;border:0;background:none;padding:8px 0}.disease-title h1{margin:0;font-size:20px;line-height:1.2;font-weight:650;letter-spacing:-.65px}.disease-title>span{font-size:18px;color:#87978a}.top-actions{display:flex;align-items:center;gap:7px;margin-left:auto}.icon-button{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:8px;background:none;color:#6f8178}.icon-button:hover{background:#e7ede5;color:var(--ink)}.icon-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.stepper{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;gap:7px;padding:9px 0 11px}.step{height:42px;display:flex;justify-content:center;align-items:center;gap:12px;border:1px solid transparent;border-radius:8px;background:none;color:#7c8982;font-size:13px;font-weight:500;white-space:nowrap;transition:background .15s,color .15s}.step>span{font-size:10px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.5px;color:#96a296}.step:hover{background:#eaf0e7}.step.active{border-color:#dfe7de;background:#fff;color:#315b4c;font-weight:650;box-shadow:0 2px 5px #243b2810}.step.active>span{color:#517d68}
.consultation{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);min-height:0;overflow:hidden;border:1px solid #dce4dc;border-radius:15px;background:white;box-shadow:0 10px 30px #1e3c2b08}.viewer{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;background:radial-gradient(ellipse at 48% 40%,#25434e 0,#152f3b 42%,#10232e 77%,#0c1d28 100%);color:#ebf0ec}.viewer-top{position:absolute;top:23px;left:28px;right:28px;z-index:4;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.viewer-top>span:first-child{font-size:13px;font-weight:500;letter-spacing:.1px;color:#c6d6d8}.model-tag{display:inline-flex;align-items:center;justify-content:center;min-width:31px;min-height:25px;padding:5px 8px;border:1px solid #91aab233;border-radius:20px;font-size:9px;letter-spacing:.7px;color:#a5bcc2}.scene-wrap{position:relative;flex:1;min-height:0;overflow:hidden}.scene-grid{position:absolute;inset:10% 8%;pointer-events:none;background-image:linear-gradient(#93b3bd08 1px,transparent 1px),linear-gradient(90deg,#93b3bd08 1px,transparent 1px);background-size:60px 60px;mask-image:radial-gradient(ellipse at center,#000 15%,transparent 72%)}#anatomy-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1;touch-action:none;cursor:grab;transition:opacity .25s}#anatomy-canvas:active{cursor:grabbing}.fallback-active #anatomy-canvas{display:none}.organ-overview{position:absolute;z-index:4;right:23px;bottom:46px;width:49px;height:80px;display:grid;place-items:center;padding:7px;border:1px solid #87a5b334;border-radius:9px;background:#ffffff04;color:#a2b8bd;cursor:pointer}.organ-overview:hover{background:#ffffff0c;border-color:#9ab9c466}.organ-overview svg{width:100%;height:100%}.scene-caption{position:absolute;bottom:18px;left:28px;z-index:3;max-width:calc(100% - 120px);font-size:14px;font-weight:500;letter-spacing:-.2px;color:#e8e6d8;pointer-events:none}.scene-caption:empty{display:none}.viewer-controls{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 25px 17px;z-index:4}.focus-options{display:flex;gap:3px;padding:3px;border:1px solid #859fa92f;border-radius:8px;background:#07192340}.focus-options button{min-width:54px;height:31px;padding:0 12px;border:0;border-radius:5px;background:none;color:#a5bdc0;font-size:11px;white-space:nowrap}.focus-options button.selected{background:#ecf0e6;color:#2a4b43;font-weight:650}.orbit-buttons{display:flex;align-items:center;gap:5px;margin-left:auto}.orbit-buttons button{display:grid;place-items:center;width:33px;height:33px;padding:0;border:1px solid #8ba9b330;border-radius:50%;background:#ffffff03;color:#b4c9cc;font-size:20px;line-height:1}.orbit-buttons button:hover{background:#ffffff10;border-color:#a4bdc153}.orbit-buttons button:disabled{opacity:.28}.data-overlay{display:none;position:absolute;inset:70px 34px 17px;z-index:3}.viewer.stats-view #anatomy-canvas{display:none}.viewer.stats-view .scene-grid{opacity:.3}.viewer.stats-view .data-overlay{display:flex;flex-direction:column}.viewer.stats-view .viewer-controls{visibility:hidden}.viewer.stats-view .organ-overview,.viewer.stats-view .scene-caption{display:none}.chart-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;column-gap:12px;row-gap:6px;margin:4px 0 23px;color:#e2ebdf}.chart-heading>.eyebrow{grid-column:1/-1}.chart-heading p{margin:0;font-size:10px;line-height:1.5;color:#99b0b5;text-align:right;white-space:nowrap}.chart-heading h3{margin:0;font-size:17px;font-weight:500;letter-spacing:-.4px}.chart-heading span,.chart-heading small{font-size:10px;color:#99b0b5}.age-chart{display:block;min-height:0;width:100%;height:auto;flex:1;overflow:visible}.age-chart text{font-family:var(--sans)}.age-chart .grid-line{stroke:#93b1ba1a;stroke-width:1}.age-chart .axis-line{stroke:#93b1ba36;stroke-width:1}.age-chart .bar{fill:#799f9d}.age-chart .bar.active,.age-chart .bar.selected{fill:#eca28a}.chart-legend{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;margin:18px 0 0;color:#a1b6b6;font-size:10px;line-height:1.7}.chart-legend span{display:inline-flex;gap:7px;align-items:center}.chart-legend i{display:inline-block;width:9px;height:9px;border-radius:2px;background:#eca28a;font-style:normal}
.detail-panel{display:flex;flex-direction:column;min-width:0;min-height:0;padding:30px 32px 23px}.step-content{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#cfdad1 transparent;animation:content-in .18s ease}.step-content::-webkit-scrollbar{width:4px}.step-content::-webkit-scrollbar-thumb{background:#d2ddd4;border-radius:4px}.step-content h2{margin:10px 0 23px;font-size:31px;font-weight:650;line-height:1.25;letter-spacing:-1px;word-break:keep-all}.eyebrow{display:block;font-size:10px;font-weight:650;letter-spacing:1.8px;color:#829588;line-height:1.5}.section-meta{display:flex;flex-wrap:wrap;gap:4px 10px;margin:8px 0 14px;font-size:11px;line-height:1.6;color:#89958e}.location-subtitle{margin:0;color:#738179;font-size:14px;line-height:1.7;word-break:keep-all}.anatomy-parts{display:grid;margin:29px 0 22px}.anatomy-part{display:flex;align-items:center;gap:14px;padding:18px 0;border-bottom:1px solid #e6ebe5;font-size:15px;line-height:1.5}.anatomy-part strong{display:block;font-weight:600}.anatomy-part small,.anatomy-part p{display:block;margin:4px 0 0;color:#8a968c;font-size:12px;font-weight:400;line-height:1.6}.part-swatch{display:block;flex-shrink:0;width:11px;height:11px;border-radius:50%;background:#da8d76;box-shadow:0 0 0 5px #da8d7611}.part-swatch.rectum,.rectum .part-swatch{background:#cbaa83;box-shadow:0 0 0 5px #cbaa8314}.anatomy-part>div{flex:1;min-width:0}.location-index{display:block;flex-shrink:0;margin:0 0 0 auto;color:#94a08f;font-size:11px;line-height:1.7}.location-index strong{font-weight:500;color:#7d8b78}.subtle-note{font-size:11px;line-height:1.75;color:#8a958d;margin:19px 0 0;word-break:keep-all}.subtle-note strong{font-weight:500;color:#718172}
.state-list{display:grid;gap:10px;margin:26px 0 21px}.state-option{display:flex;align-items:center;gap:14px;text-align:left;padding:15px 16px;border:1px solid #e0e7dd;border-radius:10px;background:#fff;transition:background .15s,border-color .15s}.state-option:hover{background:#f6f8f2}.state-option.active{border-color:#7e9f85;background:#f0f4eb}.state-num{display:grid;place-items:center;flex:0 0 27px;width:27px;height:27px;border-radius:50%;font-size:11px;background:#f0f3ec;color:#8c9986}.state-option.active .state-num{background:#4f775b;color:white}.state-copy{display:grid;gap:5px;min-width:0}.state-copy strong{font-size:14px;line-height:1.4;font-weight:600}.state-copy small,.state-copy span,.state-copy p{margin:0;font-size:11px;line-height:1.55;color:#87957c;word-break:keep-all}
.filter-label{display:block;margin:18px 0 8px;color:#7d8c7f;font-size:11px;font-weight:500}.gender-filter{display:flex;gap:3px;padding:4px;background:#f0f3ed;border-radius:8px}.gender-filter button{flex:1;height:34px;border:0;border-radius:5px;background:none;color:#8a9985;font-size:12px}.gender-filter button.active{background:#fff;color:#456840;font-weight:600;box-shadow:0 1px 5px #25462510}.age-select{width:100%;height:42px;padding:0 12px;border:1px solid #dce5d7;border-radius:7px;background:white;color:#4f6a48;font-size:13px}.stat-value{margin:26px 0 5px}.number-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:7px;font-size:66px;font-weight:600;line-height:1.06;letter-spacing:-2.5px;color:#325c45;font-variant-numeric:tabular-nums}.number-line strong,.stat-value>strong{font-size:66px;font-weight:600;line-height:1.06;letter-spacing:-2.5px;color:#325c45}.unit{font-size:12px;font-weight:400;letter-spacing:0;color:#7d8c77;white-space:nowrap}.stat-value>p,.stat-value>small,.stat-value>span{display:block;margin:9px 0 0;font-size:11px;line-height:1.65;color:#83917d}.stat-cases{display:flex;align-items:baseline;justify-content:space-between;gap:15px;margin:21px 0 0;padding:16px 0;border-top:1px solid #e2e9dc;border-bottom:1px solid #e2e9dc;color:#7c8b71;font-size:11px;line-height:1.6}.stat-cases strong{font-size:21px;font-weight:550;color:#4b6840;letter-spacing:-.5px;font-variant-numeric:tabular-nums}.stat-cases strong span,.stat-cases strong>small{display:inline;margin-left:4px;font-size:11px;font-weight:400;color:#8b9a7d;letter-spacing:0}.stats-foot{margin-top:18px;font-size:10px;line-height:1.8;color:#95a08c;word-break:keep-all}.stats-foot p{margin:5px 0}.stats-foot a{text-underline-offset:3px;color:#708567}
.treatment-tabs{display:flex;gap:3px;padding:4px;border-radius:8px;background:#f0f3ed;margin:0 0 22px}.treatment-tabs button{flex:1;min-height:34px;padding:6px 8px;border:0;border-radius:5px;background:none;font-size:12px;color:#86947b;line-height:1.4;white-space:nowrap}.treatment-tabs button.active{background:white;color:#416336;font-weight:600;box-shadow:0 1px 5px #27481c10}.surgery-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:18px 0 12px;font-size:12px;line-height:1.5;color:#6e8262}.surgery-heading strong{font-size:13px;font-weight:550;color:#47663b}.surgery-heading span,.surgery-heading small{font-size:10px;color:#95a189}.surgery-list{display:grid;gap:3px;list-style:none;margin:0;padding:0}.surgery-step{display:flex;align-items:center;gap:12px;width:100%;min-height:41px;padding:7px 10px;border:0;border-radius:7px;background:none;text-align:left;color:#88977b;font-size:13px;line-height:1.45}.surgery-step>span:first-child,.surgery-step .step-no{display:grid;place-items:center;flex-shrink:0;width:24px;height:24px;border:1px solid #e0e6da;border-radius:50%;font-size:10px;color:#98a58b;font-variant-numeric:tabular-nums}.surgery-step strong{font-size:13px;font-weight:500}.surgery-step small{font-size:10px;line-height:1.5;color:#8d9b7d}.surgery-step.done{color:#6b8459}.surgery-step.done>span:first-child{border-color:#cbd9bf;background:#f2f6ec;color:#75935d}.surgery-step.active{background:#edf3e6;color:#446531;font-weight:600}.surgery-step.active>span:first-child,.surgery-step.active .step-no{border-color:#648448;background:#648448;color:white}.playback{display:flex;align-items:center;gap:8px;margin:16px 0 18px}.play-button,.restart-button{min-height:39px;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:7px;font-size:12px}.play-button{flex:1;border:1px solid #476436;background:#476436;color:white}.play-button:hover{background:#39552a}.play-button svg{width:14px;height:14px;fill:currentColor}.restart-button{width:auto;min-width:68px;flex-shrink:0;padding:0 10px;border:1px solid #dbe4d3;background:white;color:#718660;font-size:12px;white-space:nowrap}.restart-button:hover{background:#f5f8ef}.treatment-copy{margin:16px 0;color:#7b8d6b;font-size:12px;line-height:1.8;word-break:keep-all}.treatment-copy strong{font-weight:500;color:#5d7950}.therapy-timeline{display:grid;gap:18px;margin:27px 0;padding:0 0 0 17px;border-left:1px solid #d7e3cd;list-style:none;color:#718865;font-size:13px;line-height:1.75}.therapy-timeline>*{position:relative}.therapy-timeline>*:before{content:"";position:absolute;left:-22px;top:8px;width:8px;height:8px;border-radius:50%;background:#95ae7e;box-shadow:0 0 0 4px white}.therapy-timeline strong{display:block;font-size:13px;font-weight:600;color:#577743}.therapy-timeline span,.therapy-timeline small,.therapy-timeline p{display:block;margin:5px 0 0;font-size:11px;color:#8d9f7e}
.cost-period{display:block;margin:0 0 15px;font-size:11px;color:#8d9b80;line-height:1.7}.cost-title{margin:24px 0 9px;font-size:13px;font-weight:500;line-height:1.6;color:#778b66}.cost-amount{display:flex;align-items:baseline;flex-wrap:wrap;gap:3px;margin:8px 0 12px;line-height:1.1;color:#3f642b;white-space:nowrap}.cost-amount .approx{margin-right:6px;color:#8b9d79;font-size:15px}.cost-amount strong{font-size:clamp(54px,5.5vw,78px);font-weight:550;letter-spacing:-3px;font-variant-numeric:tabular-nums}.cost-amount .won{margin-left:3px;font-size:16px;color:#6d8657}.cost-meta{font-size:11px;line-height:1.8;color:#899b77;word-break:keep-all}.cost-meta p{margin:5px 0}.cost-components{display:grid;margin:21px 0 12px;border-top:1px solid #e2ead8}.cost-components>div,.cost-components>li{display:flex;align-items:baseline;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid #e7eddc;font-size:12px;color:#8c9b7b;line-height:1.65}.cost-components strong{font-size:14px;font-weight:550;color:#5d7c42;font-variant-numeric:tabular-nums;white-space:nowrap}.cost-components small{display:block;font-size:10px;color:#9fac8b}.cost-components strong>small{display:inline;margin-left:4px;font-weight:400;line-height:inherit}.cost-edit{display:inline-flex;align-items:center;gap:7px;border:0;background:none;padding:7px 0;font-size:11px;color:#6b8850;text-decoration:underline;text-underline-offset:4px}.cost-edit:hover{color:#395e21}.source-inline{margin:16px 0 0;font-size:10px;line-height:1.8;color:#99a78b;word-break:keep-all}.source-inline a,.source-inline button{font-size:inherit;color:#738c5e;text-underline-offset:3px}.source-inline button{border:0;background:none;padding:0;text-decoration:underline}.cost-mode-label{display:inline-block;padding:4px 8px;border:1px solid #dce6d0;border-radius:5px;background:#f5f8ef;color:#839b69;font-size:10px;line-height:1.4}.cost-selector{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0 10px}.cost-selector button{padding:7px 9px;border:1px solid #e0e7d6;border-radius:6px;background:white;color:#8b9f76;font-size:11px}.cost-selector button.active{border-color:#9bb782;background:#f1f6e9;color:#5a803a}.cost-selector select{width:100%;padding:9px 11px;border:1px solid #dae6ce;border-radius:6px;background:white;color:#648449;font-size:12px}
.panel-navigation{display:flex;align-items:center;gap:13px;flex-shrink:0;border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.previous{display:grid;place-items:center;width:33px;height:36px;border:0;border-radius:6px;background:none;color:#7d9278;font-size:19px}.previous:hover{background:#f2f5ec}.previous:disabled{opacity:.27}.panel-navigation>span{margin-right:auto;color:#9aa88f;font-size:10px;letter-spacing:.4px;font-variant-numeric:tabular-nums;white-space:nowrap}.next{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:41px;padding:10px 15px;border:0;border-radius:7px;background:#355d48;color:#fff;font-size:12px;font-weight:500;white-space:nowrap}.next:hover{background:#2a4c39}.next span{font-size:17px;font-weight:400;line-height:1}.next:disabled{opacity:.45}.footer{display:flex;align-items:center;justify-content:space-between;font-size:8px;letter-spacing:1.4px;color:#9ba997}.footer button{border:0;background:none;padding:4px 0;color:#96a68e;font-size:9px;letter-spacing:0}
.dialog{width:min(600px,calc(100% - 40px));max-height:85vh;max-height:85svh;padding:0;overflow:hidden;border:1px solid #dce6d9;border-radius:16px;background:#fff;color:var(--ink);box-shadow:0 25px 85px #071b2260}.dialog::backdrop{background:#1027338c;backdrop-filter:blur(5px)}.dialog>header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 27px 18px;border-bottom:1px solid #e7ece2}.dialog>header h2{margin:0;font-size:20px;font-weight:600;letter-spacing:-.65px}.close-dialog{display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:#f0f4e9;color:#82976f;font-size:23px;line-height:1}.close-dialog:hover{background:#e7efdc}.dialog-body{padding:22px 27px 26px;max-height:calc(85svh - 83px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#cfdfc3 transparent}.dialog-body>p{font-size:13px;line-height:1.85;color:#7f9570;word-break:keep-all}.dialog-body h3{font-size:14px;font-weight:600;letter-spacing:-.2px}.dialog-body ul,.dialog-body ol{padding-left:20px;font-size:12px;line-height:1.9;color:#7a9269}.source-record{padding:18px 0;border-bottom:1px solid #e4edda}.source-record:first-child{padding-top:0}.source-record h3{margin:0 0 9px;font-size:14px;line-height:1.6;color:#526f43}.source-record p{margin:6px 0;font-size:12px;line-height:1.8;color:#849875;word-break:keep-all}.source-record small{display:block;margin-bottom:5px;font-size:10px;line-height:1.6;color:#9aac8a}.source-record a{display:inline-block;margin-top:8px;font-size:11px;color:#5d7f44;line-height:1.75;overflow-wrap:anywhere;text-underline-offset:4px}.model-disclosure{padding:16px 18px;border-radius:8px;background:#f4f7ed;margin-top:20px}.model-disclosure h3{margin:0 0 8px;font-size:13px;color:#68884d}.model-disclosure p{font-size:11px;line-height:1.85;color:#879e72;margin:6px 0}.notes-dialog{width:min(560px,calc(100% - 40px))}.notes-dialog .dialog-body{font-size:13px;line-height:1.9}.disease-dialog{width:min(460px,calc(100% - 40px))}.disease-option{display:flex;align-items:center;gap:15px;width:100%;padding:15px;border:1px solid #e1ebd8;border-radius:10px;background:#fff;text-align:left;margin-bottom:10px;color:#628546}.disease-option.active{background:#f3f8eb;border-color:#aec895}.disease-option:disabled{opacity:.48}.disease-option strong{display:block;font-size:15px;font-weight:600}.disease-option small,.disease-option p{display:block;margin:5px 0 0;font-size:11px;line-height:1.6;color:#9ab381}.disease-icon{width:40px;height:40px;flex-shrink:0;display:grid;place-items:center;border:1px solid #dfebd1;border-radius:10px;background:#f9fbf5;font-size:21px;color:#93b373}.disease-icon svg{width:25px;height:25px}.cost-dialog{width:min(450px,calc(100% - 40px))}.modal-hint{margin:0 0 22px;font-size:12px!important;color:#90a777!important;line-height:1.75}.cost-dialog label{display:block;margin:16px 0;font-size:12px;color:#738f59;line-height:1.6}.money-input{display:flex;align-items:center;height:45px;margin-top:7px;border:1px solid #dce7cf;border-radius:7px;background:#fff;overflow:hidden}.money-input:focus-within{border-color:#90b273;box-shadow:0 0 0 3px #a7c48820}.money-input input{width:100%;min-width:0;height:100%;padding:10px 13px;border:0;outline:none;background:none;font-size:15px;color:#4d7334;font-variant-numeric:tabular-nums}.money-input input:focus-visible{outline:0}.money-input span{padding-right:12px;flex-shrink:0;font-size:11px;color:#98b17c}.error-text{margin:11px 0;font-size:11px;color:#b97057;line-height:1.6}.error-text:empty{display:none}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-top:25px}.primary-button,.secondary-button{display:flex;align-items:center;justify-content:center;min-height:40px;padding:10px 15px;border:1px solid #557d38;border-radius:7px;font-size:12px;font-weight:500}.primary-button{background:#557d38;color:white}.secondary-button{border-color:#d9e7ca;background:white;color:#829f67}.primary-button:hover{background:#43672a}.secondary-button:hover{background:#f5f9ee}
button.source-inline{display:flex;align-items:center;gap:5px;max-width:100%;padding:0;border:0;background:none;text-align:left;color:#718469;text-decoration:underline;text-underline-offset:3px}.cost-amount.compact strong{font-size:40px;letter-spacing:-1.7px}
@keyframes content-in{from{opacity:.55;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1400px) and (min-height:820px){.detail-panel{padding:38px 42px 27px}.step-content h2{font-size:35px;margin-bottom:29px}.anatomy-parts{margin-top:39px}.anatomy-part{padding:22px 0;font-size:16px}.state-list{gap:14px;margin-top:34px}.state-option{padding:18px}.state-copy strong{font-size:15px}.surgery-step{min-height:47px}.viewer-top{top:29px;left:34px;right:34px}.viewer-controls{padding:17px 32px 22px;min-height:75px}.number-line,.number-line strong,.stat-value>strong{font-size:76px}.stat-value{margin-top:33px}.cost-amount strong{font-size:83px}.cost-components>div{padding:17px 0}.data-overlay{inset:85px 43px 30px}}
@media(min-width:821px) and (max-height:720px){.app-shell{grid-template-rows:57px 55px minmax(0,1fr) 25px;min-height:565px}.detail-panel{padding:21px 25px 17px}.step-content h2{font-size:28px;margin-top:7px;margin-bottom:18px}.state-list{margin-top:17px;gap:8px}.state-option{padding:11px 13px}.state-copy strong{font-size:13px}.anatomy-parts{margin-top:19px}.anatomy-part{padding:13px 0}.treatment-tabs{margin-bottom:13px}.surgery-heading{margin-top:11px;margin-bottom:8px}.surgery-step{min-height:35px;padding-top:5px;padding-bottom:5px}.playback{margin:11px 0}.subtle-note{margin-top:13px;font-size:10px}.cost-amount strong{font-size:59px}.cost-title{margin-top:17px}.cost-components{margin-top:15px}.cost-components>div{padding:9px 0}.panel-navigation{margin-top:13px;padding-top:12px}.viewer-controls{min-height:60px;padding-bottom:12px}.stat-value{margin-top:18px}.number-line,.number-line strong,.stat-value>strong{font-size:58px}.filter-label{margin-top:13px}.stats-foot{margin-top:12px}.data-overlay{inset:67px 30px 9px}}
@media(min-width:821px) and (max-width:1100px){.app-shell{padding:0 20px}.detail-panel{padding:26px 26px 21px}.step-content h2{font-size:29px}.topbar{gap:17px}.viewer-top{left:24px;right:24px}.viewer-controls{padding-left:21px;padding-right:21px}.focus-options button{min-width:48px;padding:0 10px}.orbit-buttons{gap:4px}.orbit-buttons button{width:31px;height:31px}.data-overlay{left:27px;right:27px}.number-line,.number-line strong,.stat-value>strong{font-size:62px}.cost-amount strong{font-size:60px}.cost-amount .won{font-size:14px}.treatment-tabs button{padding-left:5px;padding-right:5px;font-size:11px}.next{gap:14px;padding:10px 13px;font-size:11px}.panel-navigation{gap:9px}.state-option{gap:11px;padding:14px}.cost-components>div{gap:10px}.chart-heading h3{font-size:15px}}
@media(max-width:820px){.app-shell{height:auto;min-height:100vh;min-height:100svh;grid-template-rows:60px 60px auto 31px;padding:0 16px}.topbar{gap:16px}.brand{font-size:17px}.disease-title h1{font-size:19px}.consultation{grid-template-columns:1fr;border-radius:13px;overflow:hidden}.viewer{height:55vh;height:55svh;min-height:350px;max-height:610px}.viewer-top{top:20px;left:26px;right:26px}.viewer-controls{min-height:61px;padding:11px 25px 15px}.scene-caption{left:26px;bottom:14px}.organ-overview{width:46px;height:74px;right:25px;bottom:42px}.detail-panel{padding:29px 32px 25px;min-height:390px}.step-content{overflow:visible;min-height:auto}.step-content h2{font-size:30px}.panel-navigation{margin-top:27px;padding-top:18px}.anatomy-parts{margin-top:24px;margin-bottom:17px}.anatomy-part{padding:16px 0}.state-list{margin-top:22px}.state-option{padding:17px}.state-copy strong{font-size:15px}.state-copy small,.state-copy span{font-size:12px}.number-line,.number-line strong,.stat-value>strong{font-size:70px}.stat-value{margin-top:28px}.stat-cases{margin-top:22px}.stats-foot{font-size:11px}.data-overlay{inset:61px 34px 3px}.chart-heading{margin-bottom:10px}.chart-heading h3{font-size:16px}.chart-legend{margin-top:10px}.surgery-step{min-height:44px}.surgery-heading{margin-top:24px}.treatment-copy{font-size:13px}.playback{margin-top:18px}.cost-amount strong{font-size:74px}.cost-components{margin-top:24px}.cost-components>div{padding:14px 0}.cost-meta{font-size:12px}.cost-edit{font-size:12px}.source-inline{font-size:11px}.footer{font-size:8px}.next{font-size:12px;min-height:42px}.dialog-body{max-height:calc(85svh - 83px)}}
@media(max-width:480px){.app-shell{padding:0 10px;grid-template-rows:57px 56px auto 29px}.topbar{gap:12px}.brand{gap:6px;font-size:16px}.brand svg{width:26px;height:26px}.top-divider{height:17px}.disease-title{gap:9px}.disease-title h1{font-size:18px}.top-actions{gap:3px}.icon-button{width:29px;height:32px}.icon-button svg{width:17px;height:17px}.stepper{gap:3px;padding:7px 0 9px}.step{height:39px;font-size:12px;gap:5px}.step>span{display:none}.viewer{height:55svh;min-height:350px;max-height:470px}.viewer-top{top:18px;left:20px;right:20px}.viewer-top>span:first-child{font-size:12px}.viewer-controls{padding:10px 17px 14px;gap:7px;min-height:59px}.focus-options button{min-width:46px;height:29px;padding:0 9px}.orbit-buttons{gap:4px}.orbit-buttons button{width:30px;height:30px;font-size:19px}.scene-caption{left:21px;font-size:13px}.organ-overview{right:19px;bottom:40px;width:42px;height:67px}.detail-panel{padding:25px 24px 22px}.step-content h2{font-size:28px}.eyebrow{font-size:9px;letter-spacing:1.5px}.location-subtitle{font-size:13px}.anatomy-part{font-size:14px}.anatomy-part small{font-size:11px}.state-option{padding:14px;gap:12px}.state-copy strong{font-size:14px}.state-copy span,.state-copy small{font-size:11px}.data-overlay{inset:57px 23px 2px}.chart-heading{gap:10px;margin-bottom:9px}.chart-heading h3{font-size:14px}.chart-heading span{font-size:9px}.chart-legend{font-size:9px;gap:6px 12px}.number-line,.number-line strong,.stat-value>strong{font-size:63px}.treatment-tabs button{font-size:11px}.cost-amount strong{font-size:65px}.cost-amount .won{font-size:15px}.cost-components>div{font-size:11px}.cost-components strong{font-size:13px}.panel-navigation{gap:10px}.next{padding:11px 14px;gap:15px}.dialog,.notes-dialog,.disease-dialog,.cost-dialog{width:calc(100% - 24px);border-radius:13px}.dialog>header{padding:19px 21px 16px}.dialog>header h2{font-size:19px}.dialog-body{padding:20px 21px 23px}.source-record p{font-size:11px}.form-actions{gap:7px}.primary-button,.secondary-button{padding:10px 12px;font-size:11px}}
@media(max-width:480px){.cost-amount.compact strong{font-size:36px;letter-spacing:-1.6px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Return to the independent location map from concept scenes. */
.organ-overview{width:48px;height:56px;padding:8px;bottom:43px}
.scene-unavailable{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;margin:0;padding:35px;color:#d8e4e5;font-size:17px;text-align:center}
.scene-unavailable span{font-size:12px;color:#a6bac0}
.model-tag{letter-spacing:0;font-size:10px;white-space:nowrap}
.source-parts{padding-left:19px;font-size:12px;line-height:1.9;color:#667a71}
.model-disclosure .license-review{padding:12px 14px;border-left:3px solid #a88955;background:#f5f1e8;color:#6e5b37;line-height:1.85}
@media(max-width:480px){.organ-overview{width:44px;height:52px;right:19px;bottom:40px}.model-tag{font-size:9px;padding:5px 7px}.source-parts{font-size:11px}}
@media(max-width:380px){.viewer-controls{flex-wrap:wrap;justify-content:center;gap:7px;padding:8px 13px 12px;min-height:92px}.viewer-controls .focus-options{margin:0 auto}.viewer-controls .orbit-buttons{margin-left:0;width:100%;justify-content:center}.viewer-controls .focus-options[hidden]+.orbit-buttons{width:auto}.viewer:has(.focus-options[hidden]) .viewer-controls{min-height:59px}.viewer-top{left:17px;right:17px}}

/* Match the two labels to the independently authored location map. */
.anatomy-parts .part-swatch{background:#efa98e}
.anatomy-parts .part-swatch.rectum{background:#afcabd}
.model-disclosure details{margin:14px 0}.model-disclosure summary{cursor:pointer;font-size:12px;color:var(--muted)}
.source-parts{overflow-wrap:anywhere}

/* Local comparison: label map for location and reference-only viewer branches. */
.location-diagram-host{position:absolute;inset:0;z-index:2;overflow:auto;overscroll-behavior:contain;touch-action:pan-y}
.viewer.location-view .scene-grid{opacity:.25}
.viewer.location-view .viewer-controls{justify-content:center}
.viewer.location-view .focus-options button{min-height:36px;min-width:62px;font-size:12px}
.organ-overview{display:flex;flex-direction:column;gap:3px;justify-content:center;font-size:10px;line-height:1.2}
.organ-overview>span:first-child{font-size:14px;letter-spacing:.5px}
@media(max-width:820px){.viewer.location-view{height:auto;min-height:0;max-height:none}.viewer.location-view .scene-wrap{flex:none;height:370px}.viewer.location-view .viewer-controls{min-height:62px;flex-wrap:nowrap;padding:9px 17px 13px}.viewer.location-view .focus-options{margin:0 auto}}

/* Keep the selected BodyParts3D model visible on stages 02 and 04, with concept overlays only. */
.selected-location-host{position:absolute;inset:0;z-index:1;border:0;width:100%;height:100%;background:transparent}
.viewer.overlay-view .selected-location-host{display:block}
.viewer.overlay-view #anatomy-canvas{z-index:2;pointer-events:none;opacity:.98}
.viewer.overlay-view .scene-caption{z-index:4;left:28px;bottom:20px;padding:7px 10px;border:1px solid #92aeb433;border-radius:999px;background:#081823c9;color:#eaf0ea;font-size:12px;backdrop-filter:blur(3px)}
.viewer.overlay-view .viewer-controls{justify-content:center}
.viewer.overlay-view .scene-grid{opacity:.22}
.viewer.overlay-view .organ-overview{z-index:5}
.viewer.overlay-view .data-overlay{display:none!important}

/* QA inset correction: concept drawings MUST NOT obscure the selected original anatomy.
   The source iframe remains the full-sized base layer; concept canvas is an inset. */
.viewer.overlay-view .selected-location-host {z-index:1!important;display:block!important}
.viewer.overlay-view #anatomy-canvas:not([hidden]) {
  position:absolute!important; inset:auto 22px 74px auto!important;
  width:245px!important;height:230px!important;
  z-index:4!important;display:block!important;opacity:1!important;
  border:1px solid rgba(171,207,214,.55);border-radius:12px;
  background:radial-gradient(ellipse at 50% 40%,#25434e,#10232e 76%)!important;
  box-shadow:0 9px 32px #06111ac9;
  pointer-events:none;
}
.viewer.overlay-view .scene-caption:not([hidden]) {
  position:absolute!important;left:auto!important;right:22px!important;
  bottom:85px!important;z-index:5!important;
  width:245px;max-width:245px!important;
  box-sizing:border-box;pointer-events:none;
  padding:6px 8px!important;border:0!important;border-radius:0 0 10px 10px!important;
  font-size:11px!important;text-align:center;white-space:normal;
  background:linear-gradient(transparent,#071924ed)!important;
}
.viewer.overlay-view .organ-overview:not([hidden]) {
  position:absolute!important;left:22px!important;right:auto!important;
  bottom:22px!important;z-index:5!important;
}
@media(max-width:820px) {
 .viewer.overlay-view {height:58svh;min-height:400px;max-height:590px}
 .viewer.overlay-view #anatomy-canvas:not([hidden]) {
    width:min(205px,43vw)!important;height:184px!important;
    right:12px!important;bottom:66px!important;
 }
 .viewer.overlay-view .scene-caption:not([hidden]) {
    width:min(205px,43vw);max-width:min(205px,43vw)!important;
    right:12px!important;bottom:77px!important;font-size:10px!important;
 }
 .viewer.overlay-view .organ-overview:not([hidden]) {
    left:12px!important;bottom:15px!important;width:42px!important;height:50px!important;
 }
}
@media(max-width:480px) {
 .viewer.overlay-view {min-height:385px;max-height:510px}
 .viewer.overlay-view #anatomy-canvas:not([hidden]) {
    width:min(165px,44vw)!important;height:158px!important;right:9px!important;bottom:62px!important
 }
 .viewer.overlay-view .scene-caption:not([hidden]) {
    width:min(165px,44vw);max-width:min(165px,44vw)!important;
    right:9px!important;bottom:72px!important;font-size:9px!important;
 }
 .viewer.overlay-view .organ-overview:not([hidden]) {left:9px!important;bottom:10px!important}
}

/* The five-stage navigation already provides a way back to 01. Hide the duplicated inset button on all selected-3D screens. */
.viewer.selected-3d-view .organ-overview { display:none!important; }
