@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap');
:root{--bg:#f6f5f1;--paper:#fff;--line:#e4e5df;--ink:#253d36;--muted:#83908a;--green:#227d62;--lime:#d9edb2;--orange:#d87943;--mono:'IBM Plex Mono',monospace;--font:'DM Sans','Noto Sans KR',sans-serif}*{box-sizing:border-box}body{margin:0;font:14px/1.7 var(--font);background:var(--bg);color:var(--ink)}a{color:inherit;text-decoration:none}button,select,input{font:inherit}button,select{cursor:pointer}button{border:none}a:hover{color:var(--green)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #9ac5a9;outline-offset:3px}header{height:78px;border-bottom:1px solid var(--line);background:#ffffffa0;display:flex;align-items:center;justify-content:space-between;padding:0 4%}.brand{display:flex;align-items:center;gap:5px;font-size:19px;font-weight:700;letter-spacing:-.7px}.brand-mark{display:block;width:34px;height:34px;background:var(--green);color:white;font-size:20px;border-radius:8px;padding:0 5px;margin-right:6px;letter-spacing:-7px}.brand-mark>span{font-weight:400;font-size:17px}.light{font-weight:400;color:#919d94}nav{display:flex;gap:25px;font-size:11px;color:#7d8a83}main{max-width:1440px;margin:auto;padding:42px 4% 65px}.intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}.eyebrow{font:10px var(--mono);letter-spacing:1.5px;color:#6a8b76}h1{font-size:48px;line-height:1.25;letter-spacing:-2.6px;margin:17px 0}h1 br{display:none}h1 em{font-style:normal;color:var(--green)}.intro p{color:#87958b;font-size:12px;line-height:1.9;margin:0}.intro-note{display:flex;gap:10px;font:9px/2 var(--mono);color:#95a297;border-left:1px solid #d9ded3;padding:5px 0 5px 26px}.intro-note strong{font:12px/2 var(--font);color:#526d5e}.tiny-dot{background:#7f9e57;border-radius:50%;height:6px;width:6px;margin-top:7px}.scope-note{display:flex;align-items:center;gap:11px;border:1px solid #dce7cd;background:#edf2e5;border-radius:7px;padding:12px 16px;font-size:10px;color:#7f8d6f;margin-bottom:25px}.scope-note>span{font-size:8px}.scope-note p{margin:0;flex:1}.scope-note strong{color:#5e7851;font-weight:600}.scope-note a{white-space:nowrap}.lab{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.lab-top{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:22px 24px}.lab-top h2{font-size:20px;letter-spacing:-.6px;margin:7px 0 0;font-weight:600}.case-selectors{display:flex;gap:12px;max-width:67%;flex:1;justify-content:flex-end}.case-selectors label{font-size:9px;color:#8d9a91;display:flex;flex-direction:column;gap:4px;min-width:150px}.case-selectors label:last-child{width:255px}.case-selectors select{color:#506759;background:#f9faf7;border:1px solid #e1e7dd;padding:8px 30px 8px 10px;border-radius:5px;font-size:11px;width:100%}.case-context{display:flex;justify-content:space-between;gap:15px;align-items:center;border-top:1px solid var(--line);padding:10px 24px;background:#fcfcfa;font-size:10px;color:#8d978e;min-height:45px}.case-context p{margin:0}.chip{white-space:nowrap;border:1px solid #e3e8df;background:white;border-radius:4px;padding:3px 7px;color:#788a77;font-size:9px}.video-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:19px 24px 0}.video-title{display:flex;align-items:center;gap:7px;margin-bottom:10px}.video-title h3{margin:0;font-size:12px;font-weight:500}.video-title .mono{font-size:10px;color:#8b988e;margin-left:auto}.mono{font-family:var(--mono)}.video-dot{width:6px;height:6px;border-radius:50%;background:#5888df}.video-dot.candidate{background:var(--green)}.stage{position:relative;aspect-ratio:16/10;background:#ecefe8;border-radius:5px;overflow:hidden}.stage video,.stage canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.video-badge{position:absolute;left:10px;top:10px;font:8px var(--mono);letter-spacing:1px;background:#23382ccb;color:white;padding:5px 7px;border-radius:3px}.video-phase{position:absolute;bottom:10px;right:10px;font-size:9px;color:white;background:#23382ccb;padding:4px 8px;border-radius:3px}.player{display:flex;align-items:center;gap:13px;padding:18px 24px 15px}.play{background:var(--green);color:white;border-radius:50%;width:32px;height:32px;flex-shrink:0;font-size:12px}.play:disabled{opacity:.5;cursor:wait}.player>input{width:100%;flex:1;min-width:30px;accent-color:var(--green);height:4px;cursor:pointer}.player>.mono{font-size:10px;white-space:nowrap;color:#819084}.player>select{font-size:10px;color:#748578;border:none;background:#f3f6ef;padding:3px;border-radius:4px}.check{display:flex;align-items:center;gap:3px;font-size:10px;white-space:nowrap;color:#718171}.check input{accent-color:var(--green)}.alignment-controls{border-top:1px solid var(--line);display:flex;align-items:center;gap:17px;padding:13px 24px;font-size:9px;color:#9ba598}.toggle{display:flex;background:#eef1e8;border-radius:5px;padding:3px;flex-shrink:0}.toggle button{padding:6px 10px;border-radius:3px;font-size:10px;color:#85927d;background:transparent}.toggle button[aria-pressed=true]{background:white;color:var(--green);box-shadow:0 1px 4px #23332a16}.alignment-controls p{margin:0;flex:1;font-size:9px}.legend{display:flex;align-items:center;gap:5px;white-space:nowrap}.legend i{width:6px;height:6px;background:var(--orange);border-radius:50%}.diagnostics{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;border-top:1px solid var(--line);background:#fafbf7}.diagnostics>div{padding:17px 24px;border-right:1px solid var(--line)}.diagnostics>div:last-child{border:0}.field-label{display:block;font-size:9px;color:#8e9e8c;margin-bottom:5px}.diagnosis-main strong{font-size:21px;font-weight:600;color:var(--green)}.diagnosis-main div{display:flex;align-items:center;gap:8px}.diagnosis-main #statusHint{font-size:8px;color:#8a9a86}.diagnosis-main p{font-size:9px;color:#8a9785;margin:6px 0 0;line-height:1.6}.diagnosis-metric strong{font:27px/1.5 var(--mono);color:#486749}.diagnosis-metric small{display:block;font-size:8px;color:#a2ab9a}.status-review{color:#b97733!important}.status-unknown{color:#88928b!important}.evidence-row{display:grid;grid-template-columns:2fr 1fr;gap:20px;margin-top:20px}.card{background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden}.card-title{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px 22px}.card-title .eyebrow{font-size:8px}.card-title h2{font-size:15px;margin:5px 0 0;font-weight:600;letter-spacing:-.4px}.chart-legend{display:flex;align-items:center;gap:6px;font-size:8px;color:#8b998a;white-space:nowrap}.chart-legend i{display:inline-block;width:12px;border-top:2px solid #bdc5b7}.chart-legend i.dtw{border-color:var(--green);margin-left:6px}#errorChart{width:100%;height:160px;display:block;cursor:crosshair}.muted{color:#98a293;font-size:10px;line-height:1.9}.chart-note{margin:4px 22px 15px;font-size:9px}.small-tag{font:8px var(--font);padding:3px 5px;border:1px solid #e4e8de;border-radius:4px;color:#8f9b88}.body-parts #parts{padding:0 22px}.part{display:grid;grid-template-columns:45px 1fr 38px;align-items:center;gap:10px;margin-bottom:9px;font-size:9px;color:#82917d}.part .bar{height:5px;background:#edf0e8;border-radius:5px;overflow:hidden}.part .bar span{display:block;height:100%;background:var(--green);border-radius:5px}.part .value{text-align:right;font:10px var(--mono)}.body-parts>p{margin:14px 22px 18px;font-size:8px}.results-section{margin-top:48px}.section-heading h2{font-size:28px;line-height:1.5;letter-spacing:-1px;margin:11px 0}.section-heading h2 br{display:none}.section-heading p{font-size:12px;color:#8b9787;line-height:1.9;margin:0}.negative-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:23px 0}.negative-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:18px;cursor:pointer;text-align:left}.negative-card:hover{border-color:#99b280}.negative-card .eyebrow{font-size:8px}.negative-card h3{font-size:14px;margin:7px 0 12px;font-weight:600}.negative-card strong{font:23px var(--mono);color:var(--green)}.negative-card>p{font-size:9px;color:#8e9c86;line-height:1.8;margin:7px 0 0}.negative-card .label{font-size:9px;border:1px solid #dce6d5;border-radius:4px;padding:3px 6px;color:#6d875b;margin-left:8px}.table-card{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}caption{text-align:left;font-size:12px;font-weight:600;padding:16px 22px}th{font-size:9px;color:#90a083;background:#f6f8f1;padding:10px 18px;border-block:1px solid var(--line);font-weight:500}td{font:10px var(--mono);padding:11px 18px;border-bottom:1px solid #eff1eb;color:#6f8467}td:first-child,td:nth-child(2){font-family:var(--font)}td:first-child{font-weight:500}tbody tr:hover{background:#f8faf3;cursor:pointer}.result-note{font-size:10px}.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:35px}.method{padding:28px}.method h2{font-size:25px;letter-spacing:-.7px;line-height:1.5;margin:12px 0 25px}.method-step{display:flex;gap:15px;margin-bottom:22px}.method-step>b{font:10px var(--mono);color:#80a16e;padding-top:3px}.method h3{font-size:12px;margin:0 0 7px;font-weight:600}.method p{color:#919d87;font-size:11px;line-height:1.9;margin:0}.text-link{font-size:10px;color:var(--green);display:inline-block;margin-top:8px}.physical{background:#f0f3e9}.physical>.eyebrow{color:#99a877}.physical>p{margin:18px 0}.scope-flow{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0}.scope-flow>span{font-size:12px;color:#98a48b}.scope-flow>.implemented,.scope-flow>.future{background:#ffffffb0;border:1px solid #dde5cf;border-radius:6px;padding:14px 10px;flex:1;text-align:center;color:#71815d}.scope-flow>.future{background:transparent;border-style:dashed;color:#a7b09a}.scope-flow small{font-size:8px}.download{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:28px;margin-top:22px}.download h2{font-size:23px;letter-spacing:-.5px;margin:9px 0}.download p{margin:0;color:#95a088;font-size:11px}.download>div:last-child{display:flex;flex-direction:column;gap:8px;min-width:260px}.button{border:1px solid var(--line);border-radius:5px;padding:10px 16px;font-size:11px;display:block}.button.primary{background:var(--green);color:#fff;border-color:var(--green)}#error{padding:20px;color:#986234;background:#fff0dc;margin-top:20px}footer{max-width:1440px;margin:auto;padding:32px 4%;border-top:1px solid var(--line);font-size:10px;color:#8c9a83;display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px}footer strong{font-size:14px;color:#677e5b}footer p{margin:5px 0}footer>div:nth-child(2){display:flex;align-items:center;gap:22px}.credit{font-size:9px;color:#a1aa96;flex-basis:100%;line-height:1.9}.credit a{text-decoration:underline;text-underline-offset:3px}@media(max-width:1050px){.intro-note{display:none}.diagnostics>div{padding:15px 16px}.diagnosis-main div{display:block}.diagnosis-main #statusHint{display:block}.alignment-controls .legend{display:none}.case-selectors label{min-width:145px}.case-selectors label:last-child{width:210px}.negative-cards{gap:10px}.negative-card{padding:15px}.negative-card .label{display:block;margin:8px 0 0;width:fit-content}.card-title{padding:18px}.body-parts #parts{padding-inline:18px}.card-title .chart-legend{font-size:7px}.diagnosis-metric strong{font-size:24px}}@media(max-width:800px){h1{font-size:39px}.intro p{font-size:11px}.lab-top{display:block;padding:20px}.case-selectors{max-width:none;justify-content:flex-start;margin-top:18px}.case-selectors label{flex:1;min-width:0}.case-selectors label:last-child{width:auto;flex:1.3}.case-context{padding:10px 20px}.video-grid{padding:15px 16px 0;gap:12px}.video-title h3{font-size:11px}.video-title .mono{font-size:8px}.stage{aspect-ratio:4/5}.stage video,.stage canvas{object-fit:contain}.video-badge{font-size:6px;padding:4px 6px;left:7px;top:7px}.video-phase{font-size:8px;bottom:7px;right:7px}.player{padding:15px 16px}.alignment-controls{padding:12px 16px;flex-wrap:wrap;gap:8px}.alignment-controls p{font-size:8px;flex:1;min-width:170px}.diagnostics{grid-template-columns:1fr 1fr}.diagnostics>div:nth-child(2){border-right:0}.diagnostics>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.diagnosis-main div{display:flex}.diagnosis-main strong{font-size:20px}.diagnosis-main #statusHint{font-size:7px}.evidence-row{grid-template-columns:1.5fr 1fr;gap:15px}.card-title .chart-legend{display:none}.card-title h2{font-size:13px}.small-tag{display:none}.part{grid-template-columns:35px 1fr 30px;gap:7px;font-size:8px}.part .value{font-size:9px}.body-parts>p{font-size:7px;margin-inline:18px}.negative-cards{grid-template-columns:repeat(2,1fr)}.negative-card .label{display:inline-block;margin:0 0 0 8px}.section-heading h2{font-size:25px}.section-heading h2 br{display:block}.method{padding:22px}.method h2{font-size:21px}.method p{font-size:10px}.download{padding:23px}.download>div:last-child{min-width:220px}.download h2{font-size:20px}.scope-note a{display:none}}@media(max-width:540px){header{height:66px;padding:0 16px}.brand{font-size:17px}.brand-mark{width:30px;height:30px;font-size:18px}nav{gap:12px;font-size:9px}nav>a:first-child{display:none}main{padding:28px 15px 42px}.intro{margin-bottom:24px}.eyebrow{font-size:9px}h1{font-size:40px;line-height:1.3;letter-spacing:-2px;margin:14px 0}h1 br{display:block}.intro p{font-size:10px}.scope-note{font-size:9px;padding:12px;align-items:flex-start;margin-bottom:18px}.lab-top{padding:16px}.lab-top h2{font-size:18px}.case-selectors{gap:8px;margin-top:15px}.case-selectors select{font-size:9px;padding:8px 20px 8px 7px}.case-context{padding:9px 16px;display:block}.case-context p{font-size:9px}.case-context .chip{display:inline-block;margin-top:6px;font-size:8px}.video-grid{gap:7px;padding:12px 8px 0}.video-title{gap:4px;margin-bottom:7px}.video-title h3{font-size:9px}.video-title .mono{font-size:7px}.video-dot{width:4px;height:4px}.stage{aspect-ratio:3/5}.video-phase{font-size:7px;right:4px;bottom:5px;max-width:95%}.video-badge{font-size:5px;left:5px;top:5px;letter-spacing:.5px}.player{gap:8px;padding:13px 12px}.player .mono{font-size:8px}.player select{font-size:9px}.check{font-size:9px}.play{width:28px;height:28px;font-size:10px}.alignment-controls{padding:11px 12px}.toggle{width:100%}.toggle button{flex:1;font-size:9px}.alignment-controls p{font-size:8px;line-height:1.8}.diagnostics>div{padding:13px}.diagnosis-main strong{font-size:18px}.diagnosis-main div{display:block}.diagnosis-main p{font-size:8px}.diagnosis-metric strong{font-size:25px}.field-label{font-size:8px}.diagnosis-metric small{font-size:7px}.evidence-row{grid-template-columns:1fr}.card-title .chart-legend{display:flex;font-size:8px}.card-title h2{font-size:15px}.small-tag{display:inline}#errorChart{height:150px}.body-parts #parts{display:grid;grid-template-columns:1fr 1fr;gap:2px 24px}.part{grid-template-columns:35px 1fr 35px;font-size:9px}.body-parts>p{font-size:8px}.results-section{margin-top:35px}.section-heading h2{font-size:24px}.section-heading p{font-size:10px}.negative-cards{gap:9px;margin-top:18px}.negative-card{padding:13px}.negative-card h3{font-size:13px}.negative-card strong{font-size:23px}.negative-card .label{font-size:8px;padding:2px 4px}.negative-card>p{font-size:8px}.result-note{font-size:9px}.method-grid{grid-template-columns:1fr;gap:16px;margin-top:25px}.method h2{font-size:23px}.method p{font-size:11px}.download{display:block;padding:22px}.download>div:last-child{margin-top:22px}.download h2{font-size:21px}.download p{font-size:10px}.credit{font-size:8px}footer{padding:24px 16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Evidence states and keyboard-accessible case links. */
.case-link{padding:0;background:none;color:inherit;text-align:left;font-size:10px}.case-link:hover{text-decoration:underline;text-underline-offset:3px}.miss-label{font:8px var(--font);margin-left:8px;padding:3px 5px;background:#fff0df;color:#a66532;border-radius:3px}.negative-card.selected{border-color:#6b996e;box-shadow:0 0 0 1px #6b996e}.negative-card:focus-visible{outline:3px solid #9ac5a9;outline-offset:3px}
/* Keep evidence and controls readable at ordinary desktop and phone widths. */
nav{font-size:12px}.intro p{font-size:14px}.scope-note{font-size:12px}.case-selectors label{font-size:11px}.case-selectors select{font-size:12px}.case-context{font-size:12px}.chip{font-size:10px}.video-title h3{font-size:13px}.video-title .mono{font-size:11px}.video-phase{font-size:11px}.player>.mono,.check,.player>select{font-size:12px}.toggle button{font-size:12px}.alignment-controls p{font-size:11px}.field-label{font-size:11px}.diagnosis-main #statusHint{font-size:10px}.diagnosis-main p{font-size:11px}.diagnosis-metric small{font-size:10px}.muted,.chart-note{font-size:11px}.part{font-size:11px;grid-template-columns:50px 1fr 38px}.part .value{font-size:12px}.body-parts>p{font-size:10px}.negative-card>p,.negative-card .label{font-size:11px}th{font-size:11px}td,.case-link{font-size:12px}.method p{font-size:13px}.method h3{font-size:14px}.text-link{font-size:12px}.download p,.button{font-size:12px}.credit{font-size:11px}.result-note{font-size:12px}.miss-label{font-size:10px}.small-tag{font-size:10px}
@media(max-width:800px){.alignment-controls p{flex-basis:100%}.case-selectors{max-width:100%}.diagnosis-main #statusHint{font-size:9px}.diagnosis-main div{display:block}.part{grid-template-columns:44px 1fr 32px}}
@media(max-width:540px){nav{font-size:10px}.intro p{font-size:12px}.scope-note{font-size:11px}.case-context p{font-size:11px}.case-selectors select{font-size:11px}.video-title h3{font-size:10px}.video-title .mono{font-size:9px}.video-phase{font-size:9px}.player>.mono{font-size:9px}.check,.player>select{font-size:10px}.toggle button{font-size:11px}.alignment-controls p{font-size:10px}.diagnosis-main p{font-size:10px}.field-label{font-size:10px}.diagnosis-metric small{font-size:9px}.negative-card .label{display:block;width:fit-content;margin:8px 0 0}.negative-card>p{font-size:10px}.body-parts #parts{gap:2px 18px}.part{font-size:10px;grid-template-columns:37px 1fr 32px}.part .value{font-size:11px}.section-heading p{font-size:12px}.credit{font-size:10px}}
.intro p,.case-context,.method p,.muted,.download p,.negative-card>p,.credit,.diagnosis-main p{color:#687969}.field-label,.case-selectors label,.diagnosis-metric small,.part,.alignment-controls p{color:#65765f}.scope-note{color:#65774f}.section-heading p{color:#697b65}
@media(max-width:540px){.video-grid{grid-template-columns:1fr;gap:15px;padding:14px}.stage{aspect-ratio:16/10}.stage.portrait{aspect-ratio:4/5}.video-title h3{font-size:12px}.video-title .mono{font-size:11px}.video-badge{font-size:8px}.video-phase{font-size:10px}.video-title{margin-bottom:8px}.diagnosis-metric small{font-size:10px}}
