.section-id{color:#999;font:11px/1.6 var(--f-mono);letter-spacing:.12em}h2{font-weight:400}.study-shell button,.study-shell select{min-height:44px;padding:8px 13px;border:1px solid #343434;background:#111;color:#bdbdbd;font-size:12px;line-height:1.5}.study-shell button:hover{border-color:#777;color:#fff}.study-shell button[aria-pressed=true]{background:#ddd;color:#090909;border-color:#ddd}.study-shell button:disabled{opacity:.45;cursor:wait}.study-shell select{max-width:100%}.button-group{display:flex;gap:5px;flex-wrap:wrap}.source-strip{display:grid;grid-template-columns:1.15fr 1fr;gap:24px;border-block:1px solid var(--line);padding:20px 0}.demo-picker .button-group{margin-top:10px}.demo-picker p,.upload-box>span>span{display:block;margin-top:8px;color:#929292;font-size:12px}.upload-box{position:relative;display:flex;gap:19px;align-items:center;justify-content:center;padding:17px 24px;border:1px dashed #484848;background:#0b0b0b;cursor:pointer}.upload-box:hover,.upload-box.dragging,.upload-box:focus-within{border-color:#ddd;background:#161616}.upload-box strong{font-size:14px;font-weight:400}.upload-box small{margin-left:14px;color:#999;font:11px var(--f-mono)}.upload-symbol{color:#ccc;font:34px var(--f-lat)}.file-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 0}.file-row p{font:12px var(--f-mono);overflow-wrap:anywhere}.file-row label{display:flex;align-items:center;gap:10px;font-size:12px;color:#999}.file-row select{max-width:300px}.feedback{min-height:22px;margin-bottom:14px;color:#9daea1;font-size:12px}.feedback.error{color:#ecad98}.resolution-strip{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:19px 22px;border:1px solid #333;background:#0c0c0c}.resolution-strip h2{font-size:17px;margin-top:4px}.resolution-controls .button-group{gap:3px}.resolution-controls button{min-width:44px;font:12px var(--f-mono)}.resolution-controls p{font:11px/1.6 var(--f-mono);color:#999;margin-top:10px;text-align:right}.view-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:21px 0 12px}.view-toolbar button{border-color:transparent;background:transparent}.view-toolbar p{color:#999;font-size:11px;text-align:right}.inspectors{display:grid;grid-template-columns:1fr 1fr;gap:16px}.viewport{min-width:0;border:1px solid #343434;background:#080808}.pane-heading{display:flex;align-items:center;justify-content:space-between;padding:11px 16px;border-bottom:1px solid var(--line);gap:12px}.pane-heading h2{font:15px var(--f-lat)}.pane-heading h2 span{font:10px var(--f-mono);margin-left:12px;color:#828282}.pane-heading button{border:0;background:none;min-height:36px;padding:5px 10px}.mini-controls{display:flex;gap:2px}.mini-controls button{min-width:38px;min-height:44px}.canvas-wrap{position:relative;height:clamp(330px,37vw,580px);overflow:hidden}.canvas-wrap canvas{display:block;width:100%;height:100%;touch-action:none}.canvas-wrap canvas:focus-visible{outline:2px solid #c4d8c6;outline-offset:-4px}.specimen-tag{position:absolute;top:18px;left:20px;pointer-events:none;color:#a2a8a5;font:10px/1.8 var(--f-mono);letter-spacing:.06em}.specimen-tag span{display:block}.specimen-tag b{color:#ddd;font-weight:400}.pane-foot{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 16px;border-top:1px solid var(--line);color:#999;font-size:10px}.pane-foot label{display:flex;align-items:center;gap:7px;min-height:26px}.pane-foot input{accent-color:#aaa}.metrics{display:grid;grid-template-columns:repeat(4,1fr);margin:18px 0 28px;border:1px solid #343434;background:#090909}.metrics article{padding:17px 22px;position:relative;border-right:1px solid var(--line)}.metrics article:last-child{border:0}.metrics article>span{color:#aaa;font-size:12px}.metrics strong{display:block;font:300 29px/1.4 var(--f-mono);margin:8px 0 3px;color:#e9eee9}.metrics p{font-size:11px;color:#8e8e8e}.meter{position:absolute;left:0;bottom:0;height:2px;width:100%;background:#1e2420}.meter i{display:block;height:100%;background:#96af9e;transition:width .3s}.lower-workspace{display:grid;grid-template-columns:1.15fr 1fr;gap:26px}.section-heading{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #343434;padding-bottom:10px;gap:12px}.section-heading h2{font:12px var(--f-mono);letter-spacing:.05em}.section-heading h2 span{color:#777;margin-left:10px}.section-heading button{border:0;background:none}.island-columns,.island-row{display:grid;grid-template-columns:1fr 1.15fr 1fr 1fr;align-items:center;gap:10px}.island-columns{padding:13px 10px;color:#858585;font-size:10px}.island-columns span:not(:first-child),.island-row span:not(:first-child){text-align:right}.study-shell .island-row{width:100%;padding:11px 10px;background:none;border:0;border-top:1px solid #232323;min-height:44px;font:11px var(--f-mono);text-align:left}.study-shell .island-row[aria-pressed=true]{color:#eaf6ec;background:#1a2420}.island-row>span:first-child{display:flex;align-items:center;gap:10px}.island-row i{display:inline-block;width:9px;height:9px;border:1px solid #ffffff44;background:var(--island-color)}.fine-print{font-size:10px;line-height:1.8;color:#858585;margin-top:11px}.selection-section{border:1px solid #333;background:#0b0b0b;padding:23px;align-self:start}.selection-section h2{font-size:18px;margin:10px 0}.selection-section p{font-size:12px;color:#aaa;line-height:1.85}#selection-values{margin-top:16px}#selection-values>div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-top:1px solid #292929;font-size:11px;color:#999}#selection-values strong{font:12px var(--f-mono);color:#d9e4dc}.check-notes{margin-top:25px;padding-top:15px;border-top:1px solid #343434}.check-notes h3{font-size:12px;font-weight:400}.check-notes ul{padding-left:15px;color:#9b9b9b;font-size:11px;line-height:1.9;margin-bottom:0}.check-notes li+li{margin-top:6px}.learning-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:34px;padding:27px 0;border-block:1px solid #333}.learning-notes h2{font-size:16px;margin:9px 0}.learning-notes p{color:#a0a0a0;font-size:12px;line-height:1.9}.method-notes{margin:25px 0;color:#999;font-size:12px;line-height:1.9}.method-notes summary{display:flex;justify-content:space-between;cursor:pointer;padding:10px 0;color:#bbb;list-style:none}.method-notes p{margin:14px 0;max-width:1000px}.reference-links{display:flex;gap:22px;flex-wrap:wrap}#more-islands{margin-top:14px;width:100%}#render-error{position:absolute;left:8%;right:8%;top:40%;font-size:13px;background:#171717;padding:18px;color:#ccc}
@media(min-width:1500px){.canvas-wrap{height:570px}}
@media(max-width:1050px){.resolution-strip{align-items:flex-start}.resolution-controls{max-width:390px}.resolution-controls p{text-align:left}.view-toolbar{align-items:flex-start;flex-direction:column;gap:8px}.view-toolbar p{text-align:left}.canvas-wrap{height:360px}.metrics article{padding:15px}.metrics strong{font-size:25px}.lower-workspace{grid-template-columns:1fr 1fr;gap:18px}}
@media(max-width:720px){.source-strip{grid-template-columns:1fr;gap:17px}.upload-box{justify-content:flex-start;padding:16px 20px}.file-row{align-items:flex-start;flex-direction:column;gap:10px}.file-row label{width:100%}.file-row select{flex:1;max-width:100%;min-width:0}.resolution-strip{flex-direction:column;padding:16px;gap:14px}.resolution-controls{max-width:none;width:100%}.resolution-controls .button-group{display:grid;grid-template-columns:repeat(8,1fr);gap:3px}.resolution-controls button{min-width:0;padding:8px 3px}.inspectors{grid-template-columns:1fr;gap:14px}.canvas-wrap{height:clamp(320px,83vw,510px)}.metrics{grid-template-columns:repeat(2,1fr);margin-bottom:22px}.metrics article:nth-child(2){border-right:0}.metrics article:nth-child(-n+2){border-bottom:1px solid #333}.lower-workspace{grid-template-columns:1fr;gap:22px}.learning-notes{grid-template-columns:1fr;gap:22px}.view-toolbar .button-group{gap:1px}.view-toolbar button{padding:8px 11px}.pane-foot{padding:8px 12px;font-size:10px}.section-heading button{min-height:44px}.island-row{gap:6px}.upload-box small{margin-left:8px}.lab-heading p{max-width:29em!important}}
@media(prefers-reduced-motion:reduce){.meter i{transition:none}}
.file-row{padding:12px 0 18px;align-items:center}.file-row .feedback{margin:0;min-height:0;font:11px/1.6 var(--f-ko)}
.inspection-workbench{position:relative}.quick-controls{position:sticky;top:calc(var(--lab-site-header-height) + var(--lab-navigation-height));z-index:20;display:grid;grid-template-columns:minmax(250px,1fr) auto;align-items:end;gap:28px;padding:12px 16px;background:#101010;border:1px solid #414141;box-shadow:0 6px 18px #0005}.scope-control{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:12px;color:#ddd}.scope-control small{margin-left:10px;font-size:10px;color:#999}.scope-control select{width:100%;max-width:440px;background:#181818}.quick-controls .resolution-controls{max-width:none}.control-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;line-height:1.6;color:#aaa;margin-bottom:7px}.control-caption output{font:10px var(--f-mono);color:#aaa}.quick-controls .resolution-controls button{min-width:43px;min-height:44px}.view-toolbar{padding:11px 0 5px;display:block}.view-toolbar .button-group{gap:3px}.view-toolbar button{padding-inline:12px}.view-legend{padding:5px 2px 11px;font-size:11px;color:#9ba49d;line-height:1.8}.mode-settings{display:flex;align-items:end;flex-wrap:wrap;gap:12px 20px;padding:12px 14px;margin:4px 0;background:#111;border:1px solid #333}.mode-settings .button-group{gap:3px}.mode-settings select{min-width:120px}.mode-settings>button{min-height:44px}.mode-settings>p{flex:1;min-width:180px;align-self:center;font-size:11px;color:#a8b3ab;line-height:1.8}.mode-settings>p.error{color:#efb69c}.mode-settings .filter-control{flex:0 0 auto}.angle-settings{align-items:center;gap:12px 25px}.angle-settings>p{flex:0 1 auto;min-width:0;color:#bbb}.angle-settings strong{font:12px var(--f-mono);color:#e3ece5;margin-left:10px}.angle-settings>span{font-size:10px;color:#999}.angle-dot{display:inline-block;width:7px;height:7px;margin-right:8px;background:#8fbfa3}.angle-dot.tilted{background:#efa464}.view-readout{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:49px;padding:8px 12px;border:1px solid #343434;border-top:0;background:#0b0b0b;font-size:11px;color:#b1bcb5;line-height:1.8}.view-readout button{flex-shrink:0;min-height:36px;padding:5px 10px;border:0;background:transparent}.budget-note{font:10px/1.8 var(--f-mono);color:#999;text-align:right;margin:10px 0 4px}.study-shell .island-row.lost-texels{border-left:2px solid #e9a174}.island-row .pixel-count{color:#eee}.island-row .pixel-count small{display:block;font-size:9px;color:#bfa083}.canvas-wrap.is-busy::after{content:'컬러 맵 계산 중…';position:absolute;inset:auto 15% 30%;padding:15px;background:#090d0ff2;border:1px solid #7d9284;color:#d3e4d7;text-align:center;font-size:12px;pointer-events:none}.canvas-wrap.is-busy canvas{opacity:.3}
@media(max-width:1050px){.quick-controls{grid-template-columns:minmax(200px,1fr) auto;gap:16px}.quick-controls .resolution-controls button{min-width:36px;padding-inline:8px}.view-toolbar .button-group{gap:1px}.view-toolbar button{padding-inline:10px}}
@media(max-width:720px){.quick-controls{grid-template-columns:1fr;gap:9px;padding:10px 11px}.scope-control{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px}.scope-control small{display:none}.scope-control select{min-height:40px;font-size:11px;padding:7px}.quick-controls .control-caption{margin-bottom:4px;font-size:10px}.quick-controls .resolution-controls button{min-width:0;min-height:40px;padding:5px 2px}.quick-controls .resolution-controls .button-group{gap:3px}.view-toolbar{padding-top:9px}.view-toolbar button{padding:8px 10px;min-height:40px}.view-legend{font-size:10px}.mode-settings{gap:12px;padding:11px}.mode-settings>p{flex-basis:100%;font-size:10px}.mode-settings>button{align-self:end;flex:1;min-width:115px}.mode-settings .filter-control{flex:1}.mode-settings .filter-control .button-group{flex-wrap:nowrap}.mode-settings button{padding:8px 10px}.mode-settings .padding-control{flex:1}.mode-settings select{width:100%;min-width:110px}.angle-settings>p{flex:1 1 100%;margin:0}.view-readout{font-size:10px;gap:8px;align-items:flex-start}.budget-note{text-align:left}.file-row{gap:6px;align-items:flex-start}.canvas-wrap{height:clamp(300px,79vw,460px)}}
.quick-controls #bleed-settings{grid-column:1/-1;margin:0;padding:8px 0 0;border:0;border-top:1px solid #333;background:transparent;gap:12px 20px;justify-content:flex-end}.quick-controls:has(#bleed-settings:not([hidden])){row-gap:10px}.quick-controls #bleed-settings .control-caption{font-size:10px;margin-bottom:4px}.quick-controls #bleed-settings>button{flex:0 0 auto}.atlas-status{color:#a4b4a8;font-size:11px;line-height:1.7;margin:0 2px 12px}.atlas-status.error{color:#efb69c}.shuffle-small{display:none}
@media(max-width:720px){.quick-controls #bleed-settings{gap:8px;flex-wrap:nowrap}.quick-controls #bleed-settings .filter-control{flex:1;min-width:0}.quick-controls #bleed-settings .filter-control button{flex:1;white-space:nowrap;font-size:10px;padding:6px 8px;min-height:40px}.quick-controls #bleed-settings .padding-control{flex:0 0 86px}.quick-controls #bleed-settings select{min-width:0;min-height:40px;font-size:10px;padding:6px}.quick-controls #bleed-settings>button{min-width:44px;min-height:40px;padding:6px;font-size:11px}.shuffle-wide{display:none}.shuffle-small{display:inline}.atlas-status{font-size:10px}}

/* Keep source selection and comparison controls with the two previews. */
.quick-controls{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px 18px;padding:12px 14px}
.source-switch{flex-wrap:nowrap;gap:4px}.source-switch button{white-space:nowrap}
.source-controls{display:flex;justify-content:flex-end;min-width:0;gap:12px;align-items:center}
.demo-buttons{justify-content:flex-end;gap:4px}.demo-buttons button{white-space:nowrap}
#file-controls .upload-box{flex:0 0 auto;gap:8px;padding:6px 12px;min-height:44px;border-style:solid;background:#181818}
#file-controls .upload-symbol{font-size:20px}#file-controls .upload-box strong{font-size:12px}#file-controls .upload-box small{margin-left:9px;font-size:10px}
#file-controls .scope-control{display:flex;flex-direction:row;align-items:center;gap:10px;flex:1;max-width:450px}
#file-controls .scope-control>span{white-space:nowrap;font-size:11px}#file-controls .scope-control select{min-width:0;flex:1;width:0;max-width:none}
.quick-controls>.resolution-controls{grid-column:1;grid-row:2;align-self:center}.quick-controls>.resolution-controls .control-caption{display:none}
.quick-controls>.resolution-controls .button-group{flex-wrap:nowrap}.quick-controls>.resolution-controls button{min-width:40px;padding-inline:7px}
.quick-controls .view-toolbar{grid-column:2;grid-row:2;padding:0}.quick-controls .view-toolbar .button-group{justify-content:flex-end;gap:2px}.quick-controls .view-toolbar button{min-height:40px;padding:7px 9px;font-size:11px}
.quick-controls #bleed-settings{padding-top:8px;gap:10px 18px;align-items:center}
.quick-controls #bleed-settings .filter-control,.quick-controls #bleed-settings .padding-control{display:flex;align-items:center;gap:9px}
.quick-controls #bleed-settings .control-caption{margin:0;white-space:nowrap}.quick-controls #bleed-settings select{min-width:110px}
.quick-controls #bleed-settings button,.quick-controls #bleed-settings select{min-height:38px;padding-block:6px}
.compact-choice{display:none}.workbench-note{display:flex;flex-wrap:wrap;gap:4px 20px;padding:10px 2px 3px;font-size:11px;line-height:1.7;color:#999;overflow-wrap:anywhere}.workbench-note .feedback{font:inherit;margin:0;min-height:0}.workbench-note #demo-note{flex-basis:100%;color:#aaa}
#preview-content{padding-top:12px}#preview-content>.view-legend{padding-top:9px}.empty-model{min-height:390px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:17px;margin-top:12px;padding:35px 20px;border:1px dashed #444;background:#0b0d0e;text-align:center}.empty-model h2{font-size:21px}.empty-model p{font-size:12px;line-height:1.9;color:#999}.empty-model.dragging{background:#172019;border-color:#acc5b1}.empty-model button{padding-inline:22px}
@media(max-width:1100px) and (min-width:721px){.quick-controls{grid-template-columns:1fr 1fr;gap:8px}.source-switch{grid-column:1}.source-controls{grid-column:2}.demo-buttons{display:none}.source-controls .compact-choice{display:flex;align-items:center;gap:10px;width:100%}.compact-choice select{flex:1;min-width:0}.compact-choice>span{font-size:11px;color:#999;white-space:nowrap}.quick-controls .view-toolbar{display:none}.mode-choice{display:flex;align-items:center;justify-content:flex-end;gap:10px;grid-row:2;grid-column:2}.mode-choice select{max-width:190px}.quick-controls>.resolution-controls button{min-width:33px;padding-inline:5px}#file-controls .upload-box small{display:none}#file-controls .scope-control>span{display:none}}
@media(max-width:720px){
.quick-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;padding:9px 10px}
.source-switch{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.source-switch button{min-height:40px;padding:7px;font-size:11px}
.source-controls{grid-column:1;grid-row:2;display:block}.demo-buttons,.quick-controls .view-toolbar{display:none}
.compact-choice{display:flex;flex-direction:column;gap:4px;min-width:0}.compact-choice>span{color:#999;font-size:10px;line-height:1.6}.compact-choice select{width:100%;min-height:40px;padding:6px 8px;font-size:11px}
.mode-choice{grid-column:2;grid-row:2}.quick-controls>.resolution-controls{grid-column:1/-1;grid-row:3}.quick-controls>.resolution-controls .control-caption{display:flex;font-size:10px;margin-bottom:4px}.quick-controls>.resolution-controls button{min-width:0;min-height:38px;padding:4px 2px}
#file-controls{display:flex;flex-direction:column;align-items:stretch;gap:4px;position:relative;padding-top:20px}
#file-controls .upload-box{position:absolute;top:-1px;right:0;padding:0;gap:3px;min-height:20px;border:0;background:none}
#file-controls .upload-box strong{font-size:10px;text-decoration:underline;text-underline-offset:3px}#file-controls .upload-symbol{font-size:13px}#file-controls .upload-box small{display:none}
#file-controls .scope-control{position:relative;display:block;max-width:none}#file-controls .scope-control>span{position:absolute;top:-20px;left:0;font-size:10px;line-height:1.6;color:#999}#file-controls .scope-control select{width:100%;min-height:40px;padding:6px 8px;font-size:11px}
.quick-controls #bleed-settings{gap:6px;padding-top:7px}.quick-controls #bleed-settings .filter-control,.quick-controls #bleed-settings .padding-control{display:block}.quick-controls #bleed-settings .control-caption{margin-bottom:4px;font-size:9px}.quick-controls #bleed-settings button,.quick-controls #bleed-settings select{min-height:36px}.quick-controls #bleed-settings select{min-width:0}.quick-controls #bleed-settings>button{align-self:end}
.workbench-note{font-size:10px;gap:4px 12px}.empty-model{min-height:330px}.empty-model h2{font-size:18px}
}
@media(min-width:721px){.inspection-workbench .canvas-wrap{height:clamp(220px,min(calc(100dvh - var(--lab-site-header-height) - var(--lab-navigation-height) - var(--uv-controls-height,180px) - 122px),40vw),570px)}}
@media(max-width:720px){#file-controls{padding-top:0}#file-controls .upload-box{position:static;min-height:40px;padding:6px 8px;justify-content:flex-start;border:1px solid #444}#file-controls .upload-box strong{font-size:11px;text-decoration:none}#file-controls .scope-control>span{position:static;display:block;margin-bottom:4px}.quick-controls:has(#file-controls:not([hidden])) .mode-choice{align-self:end}}
@media(min-width:721px){.quick-controls>.resolution-controls{display:flex;align-items:center;gap:10px}.quick-controls>.resolution-controls .control-caption{display:block;margin:0;white-space:nowrap;font-size:10px}.quick-controls>.resolution-controls .control-caption output{display:none}}
.quick-controls[data-ready=false]>.resolution-controls,.quick-controls[data-ready=false]>.view-toolbar,.quick-controls[data-ready=false]>.mode-choice,.quick-controls[data-ready=false]>#bleed-settings,.quick-controls[data-ready=false] #atlas-scope,.quick-controls[data-ready=false] .scope-control{display:none}

.source-feedback{padding:10px 13px;margin-top:8px;border:1px solid #745347;background:#211815;color:#ecc2ad;font-size:12px;line-height:1.8}
