:root{
--map-bg:#070B1A;--map-surface:#10162C;--map-surface-2:#171F3D;--map-ink:#F6F7FF;
--map-sub:#B6BDD9;--map-line:rgba(226,230,255,.18);--map-indigo:#7C8CFF;
--map-indigo-deep:#29348F;--map-indigo-bright:#B8C2FF;--map-focus:#FFD166;
--map-up-1:#7A2632;--map-up-2:#982D3B;--map-up-3:#BA3446;--map-up-4:#D94559;
--map-down-1:#174A78;--map-down-2:#185B91;--map-down-3:#146FB0;--map-down-4:#0983CC;
--map-flat:#303750;--map-neutral:#222940;--map-tile-line:rgba(255,255,255,.34);
}
@media (prefers-color-scheme:light){:root{
--map-bg:#F5F7FF;--map-surface:#FFFFFF;--map-surface-2:#E9EDFF;--map-ink:#10152C;
--map-sub:#4E5879;--map-line:rgba(27,36,83,.20);--map-indigo:#4859DA;
--map-indigo-deep:#24328A;--map-indigo-bright:#8998F8;--map-focus:#6B4300;
--map-up-1:#F4D7DB;--map-up-2:#EEB8C0;--map-up-3:#E88E9B;--map-up-4:#D85B70;
--map-down-1:#D5E7F5;--map-down-2:#AFD2EC;--map-down-3:#7EB8E2;--map-down-4:#438FC5;
--map-flat:#E1E4ED;--map-neutral:#ECEEF5;--map-tile-line:rgba(20,27,56,.36);
}}
:root[data-theme="dark"]{
--map-bg:#070B1A;--map-surface:#10162C;--map-surface-2:#171F3D;--map-ink:#F6F7FF;
--map-sub:#B6BDD9;--map-line:rgba(226,230,255,.18);--map-indigo:#7C8CFF;
--map-indigo-deep:#29348F;--map-indigo-bright:#B8C2FF;--map-focus:#FFD166;
--map-up-1:#7A2632;--map-up-2:#982D3B;--map-up-3:#BA3446;--map-up-4:#D94559;
--map-down-1:#174A78;--map-down-2:#185B91;--map-down-3:#146FB0;--map-down-4:#0983CC;
--map-flat:#303750;--map-neutral:#222940;--map-tile-line:rgba(255,255,255,.34);
}
:root[data-theme="light"]{
--map-bg:#F5F7FF;--map-surface:#FFFFFF;--map-surface-2:#E9EDFF;--map-ink:#10152C;
--map-sub:#4E5879;--map-line:rgba(27,36,83,.20);--map-indigo:#4859DA;
--map-indigo-deep:#24328A;--map-indigo-bright:#8998F8;--map-focus:#6B4300;
--map-up-1:#F4D7DB;--map-up-2:#EEB8C0;--map-up-3:#E88E9B;--map-up-4:#D85B70;
--map-down-1:#D5E7F5;--map-down-2:#AFD2EC;--map-down-3:#7EB8E2;--map-down-4:#438FC5;
--map-flat:#E1E4ED;--map-neutral:#ECEEF5;--map-tile-line:rgba(20,27,56,.36);
}
body{background:var(--map-bg);color:var(--map-ink)}
.app{max-width:1680px}
.market-topbar{align-items:flex-start;background:color-mix(in srgb,var(--map-bg) 94%,transparent)}
.market-clocks{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:3px 12px;color:var(--map-sub);
font-family:var(--mono);font-size:12px;font-variant-numeric:tabular-nums;text-align:right}
.market-main{max-width:none;padding:24px 22px 92px}
.market-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,480px);gap:24px;
align-items:end}
.market-kicker{display:block;color:var(--map-indigo-bright);font-size:12px;font-weight:850;
letter-spacing:.1em;margin-bottom:8px}
.market-title{font-size:clamp(34px,5.2vw,58px);font-weight:880;line-height:1.04;letter-spacing:-.05em}
.market-lede{max-width:720px;margin-top:12px;color:var(--map-sub);font-size:14px;line-height:1.72}
.level-card{padding:17px 18px;border:1px solid var(--map-line);border-radius:18px;background:var(--map-surface)}
.level-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px}
.level-title{font-size:14px;font-weight:820}
.level-value{font-family:var(--mono);font-size:31px;font-weight:820;line-height:1;
font-variant-numeric:tabular-nums}
.reservoir{position:relative;height:44px;margin-top:13px;overflow:hidden;border:2px solid var(--map-indigo-deep);
box-shadow:inset 0 0 0 2px var(--map-indigo-bright);border-radius:11px;background:var(--map-surface-2)}
.reservoir-fill{position:absolute;left:0;right:0;bottom:0;height:var(--level);background:var(--map-indigo)}
.reservoir-line{position:absolute;left:0;right:0;bottom:var(--level);height:2px;background:var(--map-indigo-bright)}
.level-counts{margin-top:11px;color:var(--map-ink);font-size:12.5px;font-weight:750}
.level-note{margin-top:7px;color:var(--map-sub);font-size:11.5px;line-height:1.6}
.scope-notice{display:flex;align-items:flex-start;gap:10px;margin-top:18px;padding:13px 15px;
border:1px solid var(--map-line);border-radius:13px;background:var(--map-surface);color:var(--map-sub);
font-size:12.5px;line-height:1.65}
.scope-notice strong{color:var(--map-ink);white-space:nowrap}
.map-controls{display:grid;grid-template-columns:auto minmax(230px,1fr) auto auto;gap:10px;
align-items:end;margin-top:18px;padding:13px;border:1px solid var(--map-line);border-radius:15px;
background:var(--map-surface)}
.control-group{display:flex;gap:5px;padding:4px;border:1px solid var(--map-line);border-radius:11px;
background:var(--map-bg)}
.control-group button,.map-control-button{min-height:44px;padding:8px 13px;border:1px solid transparent;
border-radius:8px;background:transparent;color:var(--map-sub);font-weight:780;cursor:pointer;white-space:nowrap}
.control-group button[aria-pressed="true"]{background:var(--map-surface-2);color:var(--map-ink);
border-color:var(--map-line)}
.market-search label{display:block;margin-bottom:5px;color:var(--map-sub);font-size:11.5px;font-weight:760}
.market-search input{width:100%;min-height:46px;padding:9px 12px;border:1px solid var(--map-line);
border-radius:10px;background:var(--map-bg);color:var(--map-ink);font-size:16px}
.market-search input::placeholder{color:var(--map-sub);opacity:1}
.badge-toggle{display:flex;min-height:46px;align-items:center;gap:8px;padding:8px 11px;
border:1px solid var(--map-line);border-radius:10px;color:var(--map-ink);font-size:12.5px;
font-weight:760;white-space:nowrap}
.badge-toggle input{width:18px;height:18px;accent-color:var(--map-indigo)}
.map-control-button{border-color:var(--map-line);background:var(--map-bg);color:var(--map-ink)}
.map-status{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;
margin:12px 0 9px;color:var(--map-sub);font-size:12px}
.drill-back{min-height:40px;padding:7px 11px;border:1px solid var(--map-line);border-radius:9px;
background:var(--map-surface);color:var(--map-ink);font-weight:760;cursor:pointer}
.treemap-shell{position:relative}
.treemap{position:relative;width:100%;height:clamp(580px,70vh,880px);overflow:hidden;
border:1px solid var(--map-line);border-radius:18px;background:var(--map-surface)}
.sector{position:absolute;overflow:hidden;border:2px solid var(--map-indigo-deep);
box-shadow:inset 0 0 0 2px var(--map-indigo-bright);background:var(--map-surface)}
.sector-head{position:absolute;z-index:5;left:6px;top:6px;display:flex;max-width:calc(100% - 12px);
align-items:center;gap:7px;min-height:30px;padding:4px 8px;border:1px solid var(--map-line);
border-radius:8px;background:color-mix(in srgb,var(--map-surface) 91%,transparent);
color:var(--map-ink);font-size:11.5px;font-weight:820;cursor:pointer}
.sector-head .sector-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sector-mini{position:relative;flex:0 0 30px;height:9px;overflow:hidden;border:1px solid var(--map-indigo-deep);
box-shadow:inset 0 0 0 1px var(--map-indigo-bright);border-radius:4px;background:var(--map-surface-2)}
.sector-mini-fill{position:absolute;left:0;bottom:0;width:var(--sector-level);height:100%;background:var(--map-indigo)}
.sector-head .sector-level{color:var(--map-indigo-bright);font-family:var(--mono);font-size:10.5px;
font-variant-numeric:tabular-nums;white-space:nowrap}
.stock-tile{container-type:size;position:absolute;display:block;overflow:hidden;padding:7px;
border:1px solid var(--map-tile-line);border-radius:0;color:#FFF;text-align:left;cursor:pointer;
font-family:var(--sans)}
:root[data-theme="light"] .stock-tile{color:#12172E}
@media (prefers-color-scheme:light){:root:not([data-theme]) .stock-tile{color:#12172E}}
.stock-tile.up-1{background:var(--map-up-1)}.stock-tile.up-2{background:var(--map-up-2)}
.stock-tile.up-3{background:var(--map-up-3)}.stock-tile.up-4{background:var(--map-up-4)}
.stock-tile.down-1{background:var(--map-down-1)}.stock-tile.down-2{background:var(--map-down-2)}
.stock-tile.down-3{background:var(--map-down-3)}.stock-tile.down-4{background:var(--map-down-4)}
.stock-tile.flat{background:var(--map-flat)}
.stock-tile.unavailable,.stock-tile.suspended{background-color:var(--map-neutral);
background-image:repeating-linear-gradient(135deg,transparent 0,transparent 7px,
color-mix(in srgb,var(--map-indigo) 32%,transparent) 7px,
color-mix(in srgb,var(--map-indigo) 32%,transparent) 10px)}
.stock-tile:focus-visible{z-index:8;outline:4px solid var(--map-focus);outline-offset:-4px;border-color:var(--map-focus)}
.stock-copy{position:relative;z-index:2;display:flex;height:100%;min-width:0;flex-direction:column}
.stock-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:850;
text-shadow:0 1px 2px rgba(0,0,0,.25)}
:root[data-theme="light"] .stock-name{text-shadow:none}
.stock-change{display:block;margin-top:2px;font-family:var(--mono);font-size:11.5px;font-weight:820;
font-variant-numeric:tabular-nums;white-space:nowrap}
.stock-badges{display:flex;min-width:0;gap:3px;margin-top:auto;overflow:hidden}
.stock-badge{display:inline-flex;min-width:0;max-width:48%;align-items:center;padding:2px 5px;
overflow:hidden;border:1px solid var(--map-indigo-bright);border-radius:5px;
background:color-mix(in srgb,var(--map-surface) 86%,transparent);color:var(--map-ink);
font-size:9.5px;font-weight:780;text-overflow:ellipsis;white-space:nowrap}
.stock-badge-more{max-width:none;flex:none}
.badge-marker{display:none;width:8px;height:8px;margin-top:auto;border:2px solid var(--map-indigo-bright);
background:var(--map-surface);border-radius:50%}
.badges-hidden .stock-badges,.badges-hidden .badge-marker{display:none!important}
.stock-tile.is-dimmed{opacity:.16}
.stock-tile.is-match{z-index:7;outline:3px solid var(--map-focus);outline-offset:-3px}
@container (max-width:95px){.stock-badges{display:none}.badge-marker{display:block}}
@container (max-height:57px){.stock-badges{display:none}.badge-marker{display:block}}
@container (max-width:63px){.stock-name{display:none}.stock-change{margin:auto;font-size:10px}}
@container (max-height:35px){.stock-name{display:none}.stock-change{margin:auto;font-size:10px}}
@container (max-width:35px){.stock-copy{display:none}}
@container (max-height:21px){.stock-copy{display:none}}
.legend-panel{margin-top:12px;border:1px solid var(--map-line);border-radius:13px;background:var(--map-surface)}
.legend-panel summary{min-height:46px;padding:11px 14px;color:var(--map-ink);font-size:12.5px;
font-weight:800;cursor:pointer}
.legend-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 14px 14px}
.legend-scale{display:grid;grid-template-columns:repeat(9,1fr);height:24px;overflow:hidden;border-radius:7px}
.legend-scale span{display:flex;align-items:center;justify-content:center;font-size:9px}
.legend-scale .up-1{background:var(--map-up-1)}.legend-scale .up-2{background:var(--map-up-2)}
.legend-scale .up-3{background:var(--map-up-3)}.legend-scale .up-4{background:var(--map-up-4)}
.legend-scale .down-1{background:var(--map-down-1)}.legend-scale .down-2{background:var(--map-down-2)}
.legend-scale .down-3{background:var(--map-down-3)}.legend-scale .down-4{background:var(--map-down-4)}
.legend-scale .flat{background:var(--map-flat)}
.legend-copy{color:var(--map-sub);font-size:11.5px;line-height:1.65}
.legend-symbols{display:flex;flex-wrap:wrap;gap:7px 13px;margin-top:6px;color:var(--map-ink)}
.coverage-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:14px;
overflow:hidden;border:1px solid var(--map-line);border-radius:13px;background:var(--map-line)}
.coverage-cell{min-width:0;padding:12px 13px;background:var(--map-surface)}
.coverage-cell strong{display:block;font-family:var(--mono);font-size:14px;font-variant-numeric:tabular-nums}
.coverage-cell span{display:block;margin-top:2px;color:var(--map-sub);font-size:10.5px}
.map-ad{min-height:112px;margin:28px 0 0;border:1px dashed var(--map-line);border-radius:13px;
display:flex;align-items:center;justify-content:center;background:var(--map-surface);color:var(--map-sub);
font-size:11.5px}
.map-ad::before{content:"광고";padding:3px 7px;border:1px solid var(--map-line);border-radius:5px}
.table-view{margin-top:28px;border:1px solid var(--map-line);border-radius:15px;background:var(--map-surface)}
.table-view>summary{min-height:52px;padding:13px 15px;color:var(--map-ink);font-size:13px;font-weight:820;
cursor:pointer}
.table-intro{padding:0 15px 12px;color:var(--map-sub);font-size:11.5px;line-height:1.65}
.table-scroll{max-height:680px;overflow:auto;border-top:1px solid var(--map-line)}
.stock-table{width:100%;border-collapse:collapse;font-size:11.5px}
.stock-table th{position:sticky;top:0;z-index:2;padding:10px 9px;background:var(--map-surface-2);
color:var(--map-sub);text-align:left;white-space:nowrap}
.stock-table td{padding:10px 9px;border-top:1px solid var(--map-line);vertical-align:top}
.stock-table .stock-id strong{display:block;color:var(--map-ink);font-size:12.5px}
.stock-table .stock-id span{display:block;color:var(--map-sub);font-family:var(--mono);font-size:10.5px}
.direction-text{white-space:nowrap;font-family:var(--mono);font-variant-numeric:tabular-nums}
.table-observation{max-width:280px;color:var(--map-sub)}
.table-observation a{display:inline-block;margin:2px 7px 2px 0}
.method-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:28px}
.method-card{padding:17px;border:1px solid var(--map-line);border-radius:15px;background:var(--map-surface)}
.method-card h2{font-size:14px}.method-card p{margin-top:7px;color:var(--map-sub);font-size:11.5px;line-height:1.7}
.map-links{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}
.map-links a{display:inline-flex;min-height:44px;align-items:center;padding:9px 13px;border:1px solid var(--map-line);
border-radius:10px;background:var(--map-surface);color:var(--map-ink);font-size:12.5px;font-weight:790;
text-decoration:none}
.map-links a.primary{border-color:var(--map-indigo);background:var(--map-indigo);color:#FFF}
.map-footer{margin-top:25px;padding-top:17px;border-top:1px solid var(--map-line);color:var(--map-sub);
font-size:11.5px;line-height:1.72}
.drawer{width:min(520px,calc(100% - 24px));max-height:min(86vh,820px);margin:auto 0 auto auto;padding:0;
overflow:auto;border:1px solid var(--map-line);border-radius:18px 0 0 18px;background:var(--map-bg);
color:var(--map-ink)}
.drawer::backdrop{background:rgba(2,5,16,.72)}
.drawer-head{position:sticky;top:0;z-index:3;display:flex;align-items:flex-start;justify-content:space-between;
gap:14px;padding:18px;border-bottom:1px solid var(--map-line);background:var(--map-bg)}
.drawer-head h2{font-size:23px;line-height:1.2}
.drawer-sub{margin-top:4px;color:var(--map-sub);font-family:var(--mono);font-size:11.5px}
.drawer-close{min-width:44px;min-height:44px;border:1px solid var(--map-line);border-radius:10px;
background:var(--map-surface);color:var(--map-ink);font-size:18px;cursor:pointer}
.drawer-body{padding:18px}
.drawer-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.drawer-fact{padding:11px;border:1px solid var(--map-line);border-radius:10px;background:var(--map-surface)}
.drawer-fact dt{color:var(--map-sub);font-size:10.5px}.drawer-fact dd{margin-top:3px;font-size:13px;font-weight:780}
.drawer-section{margin-top:22px}.drawer-section h3{font-size:14px}
.drawer-section-note{margin-top:7px;color:var(--map-sub);font-size:11.5px;line-height:1.68}
.drawer-flags{display:grid;gap:9px;margin-top:10px}
.drawer-flag{padding:12px;border:1px solid var(--map-line);border-radius:11px;background:var(--map-surface)}
.drawer-flag strong{font-size:12.5px}.drawer-evidence{display:grid;gap:5px;margin-top:7px}
.drawer-evidence a{font-size:11.5px}.no-observation{margin-top:9px;font-size:16px;font-weight:850}
.drawer-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.drawer-actions a{display:inline-flex;min-height:44px;align-items:center;padding:9px 12px;border:1px solid var(--map-line);
border-radius:9px;color:var(--map-ink);font-size:12px;font-weight:780;text-decoration:none}
.drawer-scope{margin-top:20px;padding:12px;border:1px solid var(--map-line);border-radius:10px;
color:var(--map-sub);font-size:11px;line-height:1.65}
.market-main button:focus-visible,.market-main input:focus-visible,.drawer button:focus-visible,
.market-main summary:focus-visible{outline:3px solid var(--map-focus);outline-offset:3px}
@media (max-width:1050px){
.market-hero{grid-template-columns:1fr}.level-card{max-width:none}
.map-controls{grid-template-columns:auto minmax(220px,1fr) auto}
.map-theme{grid-column:3}.badge-toggle{grid-column:1 / 3;grid-row:2;width:max-content}
}
@media (max-width:899px){
.market-main{padding-bottom:104px}.market-clocks{font-size:10.5px}
.treemap{height:64svh;min-height:520px}.drawer{margin:auto auto 0;width:100%;max-height:84vh;
border-radius:18px 18px 0 0}
}
@media (max-width:680px){
.market-main{padding-left:14px;padding-right:14px}.market-topbar{padding-left:14px;padding-right:14px}
.market-topbar .brand{display:none}.market-clocks{justify-content:flex-start;text-align:left}
.market-title{font-size:36px}.scope-notice{flex-direction:column;gap:4px}
.map-controls{grid-template-columns:1fr}.control-group{width:100%}.control-group button{flex:1;padding:7px 9px}
.market-search,.badge-toggle,.map-theme{grid-column:1;grid-row:auto}.badge-toggle{width:100%}
.treemap{height:60svh;min-height:480px;border-radius:13px}
.sector-head{left:5px;top:5px}.legend-body{grid-template-columns:1fr}
.coverage-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
.method-grid{grid-template-columns:1fr}.drawer-facts{grid-template-columns:1fr}
.stock-table th:nth-child(3),.stock-table td:nth-child(3){display:none}
}
@media (max-width:350px){
.control-group button{font-size:11.5px}.coverage-cell{padding:10px}
.market-clocks{font-size:10px}.treemap{min-height:440px}
}
@media (forced-colors:active){
.sector{border:3px double CanvasText;box-shadow:none}.stock-tile{forced-color-adjust:none;border-color:CanvasText}
.stock-tile.up-1,.stock-tile.up-2,.stock-tile.up-3,.stock-tile.up-4{background:Canvas;color:CanvasText}
.stock-tile.down-1,.stock-tile.down-2,.stock-tile.down-3,.stock-tile.down-4{background:Canvas;color:CanvasText}
.stock-change,.stock-badge{color:CanvasText}.reservoir-fill{background:Highlight}
}
@media print{
.rail,.map-controls,.map-ad,.drawer,.map-theme{display:none!important}.app{display:block!important}
.topbar{position:static}.market-main{padding:14px}.treemap{height:620px;break-inside:avoid}
.table-view{break-before:page}.stock-table{font-size:9px}
}
