:root{--bg:#071019;--surface:#0c1724;--surface-2:#101e2d;--surface-3:#142538;--line:#26394f;--text:#eff6ff;--muted:#8fa3bb;--gold:#f6b500;--gold-soft:#ffd96a;--cyan:#38bdf8;--green:#22c55e;--red:#fb7185;--blue:#60a5fa;--shadow:0 18px 55px rgba(0,0,0,.25)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;max-width:100%}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR","Malgun Gothic",sans-serif;font-variant-numeric:tabular-nums}button,input,select{font:inherit}button{cursor:pointer}.lp-shell{width:min(1500px,100%);margin:0 auto;padding:18px 22px 48px}.app-nav{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:7px;margin-bottom:20px;padding:10px 12px;border:1px solid var(--line);background:rgba(7,16,25,.96);backdrop-filter:blur(14px);overflow-x:auto}.app-nav a{flex:0 0 auto;color:#9fb0c5;text-decoration:none;font-size:12px;font-weight:850;padding:8px 10px;white-space:nowrap}.app-nav a.brand{margin-right:auto;color:#f5f8ff;font-size:14px}.app-nav a.active{color:#171305;background:var(--gold)}.app-nav a:hover{color:#fff;background:#16273a}.lp-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end;margin:24px 0}.eyebrow{color:var(--gold-soft);font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.lp-hero h1{margin:8px 0 10px;font-size:clamp(34px,5vw,58px);line-height:.98;letter-spacing:-.06em}.lp-hero h1 em{color:var(--gold);font-style:normal}.lp-hero p{max-width:760px;margin:0;color:#a9bad0;font-size:15px;line-height:1.65}.source-status{min-width:300px;padding:15px 17px;border-left:3px solid var(--gold);background:var(--surface)}.source-status span,.source-status small{display:block;color:var(--muted);font-size:11px}.source-status b{display:block;margin:5px 0;color:#fff4c2;font-size:18px}.source-status.stale{border-color:var(--red)}.source-status.stale b{color:#fecdd3}.toolbar{display:flex;align-items:end;gap:10px;flex-wrap:wrap;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:18px}.periods{display:flex;gap:5px;overflow-x:auto}.period-btn,.toolbar button,.toolbar select{min-height:38px;border:1px solid var(--line);background:var(--surface-2);color:var(--text);padding:8px 12px}.period-btn.active{border-color:var(--gold);background:var(--gold);color:#171305;font-weight:900}.toolbar label{display:grid;gap:5px;color:var(--muted);font-size:11px}.toolbar select{min-width:180px}.toolbar .refresh{margin-left:auto;color:#fff4c2}.toolbar button:hover,.toolbar select:hover{border-color:#52708e}.loading-line{height:3px;background:transparent;overflow:hidden}.loading-line i{display:block;width:32%;height:100%;background:var(--gold);animation:load 1s ease-in-out infinite}.loading-line[hidden]{display:none}@keyframes load{from{transform:translateX(-110%)}to{transform:translateX(340%)}}
.custom-range-form{display:grid;grid-template-columns:auto minmax(132px,150px) auto minmax(132px,150px) auto;grid-template-rows:auto auto;align-items:end;gap:5px 7px;padding-left:10px;border-left:1px solid var(--line)}.custom-range-title{align-self:center;color:var(--gold-soft);font-size:11px;font-weight:900;white-space:nowrap}.custom-range-form label{display:grid;gap:4px;color:var(--muted);font-size:10px;font-weight:800}.custom-range-form input,.custom-range-apply{min-height:38px;border:1px solid var(--line);background:var(--surface-2);color:var(--text);padding:7px 9px}.custom-range-form input:focus-visible,.custom-range-apply:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.custom-range-form input:disabled,.custom-range-apply:disabled{cursor:wait;opacity:.72}.range-separator{align-self:center;color:var(--muted);font-size:12px}.custom-range-apply{font-weight:850;white-space:nowrap}.custom-range-apply:hover{border-color:var(--gold);color:#fff}.custom-range-apply.active{border-color:var(--gold);background:var(--gold);color:#171305}.custom-range-status{grid-column:2/-1;min-height:14px;color:#71869e;font-size:9px;line-height:1.35}.custom-range-status.error{color:#fda4af}
.market-scope-panel{margin:0 0 18px;border:1px solid var(--line);background:var(--surface)}.market-scope-panel>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 15px;border-bottom:1px solid var(--line)}.market-scope-panel>header div{display:grid;gap:3px}.market-scope-panel>header b{font-size:13px}.market-scope-panel>header span,.market-scope-panel>header small{color:var(--muted);font-size:10px}.market-scope-panel>header small{text-align:right}.market-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line)}.market-btn{min-width:0;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:5px 10px;text-align:left;padding:13px 15px;border:0;background:var(--surface-2);color:var(--text)}.market-btn span{color:var(--muted);font-size:10px;font-weight:800}.market-btn b{grid-column:1/2;font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.market-btn small{grid-column:2/3;grid-row:1/3;align-self:center;color:#9fb0c5;font-size:11px}.market-btn.domestic b{color:var(--cyan)}.market-btn.overseas b{color:var(--gold-soft)}.market-btn.other b{color:#b7c5d7}.market-btn:hover{background:var(--surface-3)}.market-btn.active{position:relative;background:#18283a;box-shadow:inset 0 -3px 0 var(--gold)}.market-btn.active span{color:#fff}.market-btn:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}.market-btn:disabled{cursor:wait;opacity:.72}
.style-scope-panel{margin:-6px 0 18px;border:1px solid #3a3650;background:#0d1725}.style-scope-panel[hidden]{display:none}.style-scope-panel>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 15px;border-bottom:1px solid #3a3650}.style-scope-panel>header div{display:grid;gap:3px}.style-scope-panel>header b{font-size:13px;color:#f8e7b0}.style-scope-panel>header span,.style-scope-panel>header small{color:var(--muted);font-size:10px}.style-scope-panel>header small{text-align:right}.style-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#3a3650}.style-btn{min-width:0;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:5px 10px;text-align:left;padding:12px 15px;border:0;background:#111c2b;color:var(--text)}.style-btn span{color:var(--muted);font-size:10px;font-weight:800}.style-btn b{grid-column:1/2;font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.style-btn small{grid-column:2/3;grid-row:1/3;align-self:center;color:#9fb0c5;font-size:11px}.style-btn.representative b{color:var(--gold-soft)}.style-btn.theme b{color:#c4b5fd}.style-btn.other b{color:#b7c5d7}.style-btn:hover{background:var(--surface-3)}.style-btn.active{position:relative;background:#1a2638;box-shadow:inset 0 -3px 0 #c4b5fd}.style-btn.active span{color:#fff}.style-btn:focus-visible{outline:2px solid #c4b5fd;outline-offset:-2px}.style-btn:disabled{cursor:wait;opacity:.72}
.kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:18px}.kpi{min-width:0;padding:15px 16px;background:var(--surface)}.kpi span{display:block;color:var(--muted);font-size:11px;font-weight:750}.kpi b{display:block;margin:8px 0 4px;color:#f8fbff;font-size:22px;letter-spacing:-.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi small{display:block;color:#71869e;font-size:10px}.kpi.net.positive b{color:var(--red)}.kpi.net.negative b{color:var(--blue)}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(320px,.75fr);gap:16px}.panel{min-width:0;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow)}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 18px 12px;border-bottom:1px solid var(--line)}.panel-head h2{margin:0;font-size:17px;letter-spacing:-.03em}.panel-head p{margin:4px 0 0;color:var(--muted);font-size:11px}.panel-head .legend{display:flex;gap:11px;color:var(--muted);font-size:10px;white-space:nowrap}.legend i{display:inline-block;width:9px;height:9px;margin-right:4px}.legend .turnover{background:var(--gold)}.legend .sell{background:var(--red)}.legend .buy{background:var(--blue)}.chart-wrap{height:350px;padding:12px}.chart-wrap svg{width:100%;height:100%;display:block}.chart-grid{stroke:#203347;stroke-width:1}.chart-axis{fill:#8298b0;font-size:10px}.chart-area{fill:rgba(246,181,0,.10)}.chart-line{fill:none;stroke:var(--gold);stroke-width:2.2;vector-effect:non-scaling-stroke}.chart-dot{fill:var(--gold);stroke:#071019;stroke-width:1}.net-sell-bar{fill:var(--red)}.net-buy-bar{fill:var(--blue)}.zero-line{stroke:#526b83;stroke-width:1}.ranking{padding:12px 16px 16px;display:grid;gap:10px;max-height:350px;overflow:auto}.rank-row{display:grid;grid-template-columns:28px minmax(90px,1fr) 74px;gap:9px;align-items:center;padding:7px 8px;border-left:2px solid transparent}.rank-row.selected{background:#15273a;border-left-color:var(--gold)}.rank-no{color:#6e849d;font-size:11px}.rank-name{min-width:0}.rank-name b{display:flex;justify-content:space-between;gap:8px;font-size:12px}.rank-name b span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-name b span:last-child{color:#b9c8da}.rank-bar{height:5px;margin-top:6px;background:#1c3044}.rank-bar i{display:block;height:100%;background:var(--gold)}.rank-net{text-align:right;font-size:11px}.rank-net.pos{color:var(--red)}.rank-net.neg{color:var(--blue)}
.insights{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.insight{padding:14px 16px;background:var(--surface-2)}.insight span{display:block;color:var(--muted);font-size:10px}.insight b{display:block;margin:6px 0 3px;font-size:15px}.insight small{color:#8ea4bd;font-size:11px}.products-panel{grid-column:1/-1}.product-tools{display:flex;gap:7px;flex-wrap:wrap}.product-tools input,.product-tools select{min-height:34px;border:1px solid var(--line);background:var(--surface-2);color:var(--text);padding:7px 9px}.product-tools input{min-width:210px}.table-wrap{overflow:auto;max-height:650px}.product-table{width:100%;min-width:920px;border-collapse:collapse}.product-table th,.product-table td{padding:10px 12px;border-bottom:1px solid #1d3043;text-align:right;font-size:12px}.product-table th{position:sticky;top:0;z-index:2;background:#101d2a;color:#8fa3bb;font-size:10px;letter-spacing:.04em}.product-table th:nth-child(1),.product-table th:nth-child(2),.product-table td:nth-child(1),.product-table td:nth-child(2){text-align:left}.product-name{display:grid;gap:3px}.product-name b{font-size:12px}.product-name span{color:#71869e;font-size:10px}.amount-cell{min-width:160px}.amount-bar{height:4px;margin-top:5px;background:#1b3043}.amount-bar i{display:block;height:100%;background:var(--cyan)}.pos{color:var(--red)}.neg{color:var(--blue)}.empty,.error-state{padding:50px 20px;text-align:center;color:var(--muted)}.error-state b{display:block;color:#fecdd3;margin-bottom:8px}.notes{margin-top:18px;padding:14px 18px;border-left:3px solid #4d657d;background:#0a1420;color:#8da2bb;font-size:11px;line-height:1.7}.notes b{color:#cbd9e8}.footer{display:flex;justify-content:space-between;gap:16px;margin-top:20px;color:#667d95;font-size:10px}
.product-broker-panel{grid-column:1/-1;scroll-margin-top:78px;border-color:#4a6078}.product-broker-panel[hidden]{display:none}.detail-eyebrow{display:block;margin-bottom:5px;color:var(--gold-soft);font-size:10px;font-weight:900;letter-spacing:.12em}.detail-close{min-height:34px;padding:7px 12px;border:1px solid var(--line);background:var(--surface-2);color:#cbd9e8;font-size:11px;font-weight:800}.detail-close:hover{border-color:var(--gold);color:#fff}.detail-close:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.product-broker-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border-bottom:1px solid var(--line)}.broker-summary-item{min-width:0;padding:13px 16px;background:#0f1c2a}.broker-summary-item span{display:block;color:var(--muted);font-size:10px}.broker-summary-item b{display:block;margin-top:5px;overflow:hidden;color:#f5f8ff;font-size:16px;text-overflow:ellipsis;white-space:nowrap}.product-broker-ranking{max-height:460px}.broker-table{min-width:900px}.broker-table th:nth-child(2),.broker-table td:nth-child(2){text-align:left}.broker-table tr.selected-broker{background:#15273a}.broker-table tr.selected-broker td:first-child{box-shadow:inset 3px 0 0 var(--gold)}.product-button{width:100%;display:grid;gap:3px;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.product-button b{color:#f4f8ff;font-size:12px}.product-button span{color:#71869e;font-size:10px}.product-button small{color:var(--gold-soft);font-size:9px;font-weight:800}.product-button:hover b{color:var(--gold-soft)}.product-button:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.product-table tr.product-row.selected-product{background:#14273a}.product-table tr.product-row.selected-product td:first-child{box-shadow:inset 3px 0 0 var(--gold)}
@media(max-width:1120px){.market-buttons,.style-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-grid{grid-template-columns:repeat(3,1fr)}.dashboard-grid{grid-template-columns:1fr}.insights{grid-template-columns:repeat(2,1fr)}.product-broker-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.lp-shell{padding:10px 10px 30px}.app-nav{margin-bottom:14px;padding:8px}.app-nav a.brand{display:none}.lp-hero{grid-template-columns:1fr;margin:18px 0}.source-status{min-width:0}.toolbar{align-items:stretch}.periods{width:100%}.period-btn{flex:1;white-space:nowrap;padding:8px}.toolbar label,.toolbar select{width:100%}.toolbar .refresh{margin-left:0;width:100%}.market-scope-panel>header,.style-scope-panel>header{align-items:flex-start}.market-scope-panel>header small,.style-scope-panel>header small{max-width:46%;text-align:right}.market-btn,.style-btn{padding:11px 12px}.market-btn b,.style-btn b{font-size:16px}.kpi-grid{grid-template-columns:repeat(2,1fr)}.kpi{padding:13px}.kpi b{font-size:19px}.panel-head{flex-direction:column}.chart-wrap{height:300px;padding:6px}.insights{grid-template-columns:1fr}.product-tools{width:100%}.product-tools input,.product-tools select{width:100%;min-width:0}.footer{flex-direction:column}}
@media(max-width:980px){.custom-range-form{width:100%;padding:10px 0 0;border-top:1px solid var(--line);border-left:0}}
@media(max-width:720px){.custom-range-form{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.custom-range-title{grid-column:1/-1}.custom-range-form input{width:100%;min-width:0}.custom-range-apply,.custom-range-status{grid-column:1/-1}.custom-range-status{font-size:10px}}
.hedge-scenario-panel{margin:-6px 0 18px;border:1px solid #4b4268;background:linear-gradient(135deg,#101827 0%,#171b31 100%);box-shadow:var(--shadow)}.hedge-scenario-panel[hidden]{display:none}.hedge-scenario-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:14px 16px;border-bottom:1px solid #403956}.hedge-scenario-panel>header>div{display:grid;gap:4px}.hedge-scenario-panel>header span{color:#c4b5fd;font-size:9px;font-weight:900;letter-spacing:.14em}.hedge-scenario-panel h2{margin:0;font-size:16px;letter-spacing:-.025em}.hedge-scenario-panel header p{margin:0;color:var(--muted);font-size:10px;line-height:1.55}.hedge-scenario-panel>header small{flex:0 0 auto;color:#b9c8da;font-size:10px;text-align:right}.hedge-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#403956}.hedge-metrics article{min-width:0;padding:14px 16px;background:#111b2a}.hedge-metrics span{display:block;color:var(--muted);font-size:10px;font-weight:800}.hedge-metrics b{display:block;margin:7px 0 4px;overflow:hidden;color:#f8fbff;font-size:21px;letter-spacing:-.04em;text-overflow:ellipsis;white-space:nowrap}.hedge-metrics small{display:block;color:#8196ad;font-size:10px}.hedge-metrics article.positive b{color:var(--red)}.hedge-metrics article.negative b{color:var(--blue)}.hedge-formula{margin:0;padding:10px 16px;color:#98aac0;font-size:10px;line-height:1.6}.hedge-scenario-panel.unavailable{border-color:#4d5968}.hedge-scenario-panel.unavailable>header small{color:#fda4af}
.hedge-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.hedge-leg-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#403956;border-top:1px solid #403956}.hedge-leg-metrics article{min-width:0;padding:14px 16px;background:#0e1928}.hedge-leg-metrics span{display:block;color:var(--muted);font-size:10px;font-weight:800}.hedge-leg-metrics b{display:block;margin:7px 0 4px;overflow:hidden;color:#f8fbff;font-size:21px;letter-spacing:-.04em;text-overflow:ellipsis;white-space:nowrap}.hedge-leg-metrics small{display:block;color:#8196ad;font-size:10px}.hedge-leg-metrics article.positive b{color:var(--red)}.hedge-leg-metrics article.negative b{color:var(--blue)}.hedge-breakdown-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:12px 16px;border-top:1px solid #403956}.hedge-breakdown-head>div{display:grid;gap:3px}.hedge-breakdown-head b{font-size:12px}.hedge-breakdown-head small,.hedge-breakdown-head>span{color:#8196ad;font-size:9px}.hedge-breakdown-head>span{text-align:right}.hedge-breakdown{max-height:480px;overflow:auto;border-top:1px solid #2c3548}.hedge-breakdown table{width:100%;min-width:1180px;border-collapse:collapse}.hedge-breakdown th,.hedge-breakdown td{padding:9px 10px;border-bottom:1px solid #202c3e;text-align:right;font-size:11px}.hedge-breakdown th{position:sticky;top:0;z-index:2;background:#111d2c;color:#8fa3bb;font-size:9px}.hedge-breakdown th:first-child,.hedge-breakdown td:first-child{text-align:left}.hedge-breakdown tr.excluded{opacity:.62}.hedge-notional-cell b,.hedge-notional-cell small{display:block}.hedge-notional-cell b{font-size:11px}.hedge-notional-cell small{margin-top:2px;color:#71869e;font-size:9px;font-weight:600}.hedge-etf-details summary{cursor:pointer;list-style:none}.hedge-etf-details summary::-webkit-details-marker{display:none}.hedge-etf-details summary b,.hedge-etf-details summary small{display:block}.hedge-etf-details summary b{color:#f4f8ff;font-size:11px}.hedge-etf-details summary small{margin-top:3px;color:#71869e;font-size:9px}.hedge-etf-details[open] summary b{color:#c4b5fd}.hedge-contributors{display:grid;gap:3px;margin-top:8px;padding:7px 8px;background:#0b1421}.hedge-contributor{display:grid;grid-template-columns:minmax(90px,1fr) repeat(4,minmax(56px,auto));gap:7px;color:#9fb1c7;font-size:9px}.hedge-contributor span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#d6e0ec}.hedge-scenario-panel.partial{border-color:#8b6b24}.hedge-scenario-panel.partial>header small{color:#ffd96a}
.hedge-region-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 16px 10px}.hedge-region-header b{font-size:14px}.hedge-region-header button{min-height:36px;border:1px solid var(--line);background:var(--surface-2);color:var(--muted);padding:7px 10px;font-size:11px}.hedge-region-header button[aria-pressed=true]{border-color:var(--gold);color:var(--gold-soft)}.hedge-region-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 16px}.hedge-region-card{display:grid;gap:6px;min-width:0;text-align:left;background:var(--surface-2);border:1px solid var(--line);color:var(--text);padding:15px}.hedge-region-card.active{border-color:var(--gold);box-shadow:inset 0 3px var(--gold)}.hedge-region-card span{font-size:13px;font-weight:800}.hedge-region-card b{font-size:24px;white-space:nowrap}.hedge-region-card small{font-size:10px;color:var(--muted);line-height:1.5}.hedge-region-card:focus-visible,.hedge-region-header button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.hedge-region-note{font-size:11px;color:var(--muted);line-height:1.7;padding:0 16px;margin:12px 0}.hedge-scenario-panel h3{margin:18px 16px 10px;font-size:14px;color:var(--gold-soft)}
@media(max-width:720px){.hedge-region-grid{grid-template-columns:1fr}.hedge-region-header{align-items:flex-start;flex-wrap:wrap}}
@media(max-width:1120px){.hedge-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.hedge-scenario-panel>header{display:grid}.hedge-scenario-panel>header small{text-align:left}.hedge-metrics,.hedge-leg-metrics{grid-template-columns:1fr}.hedge-metrics b,.hedge-leg-metrics b{font-size:19px}.hedge-breakdown-head{align-items:flex-start;flex-direction:column}.hedge-breakdown-head>span{text-align:left}.hedge-contributor{grid-template-columns:minmax(90px,1fr) repeat(2,minmax(58px,auto))}.hedge-contributor span:nth-child(4),.hedge-contributor span:nth-child(5){display:none}}
