:root{--bg:#06131d;--panel:#071c2a;--panel2:#0a2232;--line:#17415c;--line2:#1f4c68;--text:#f1f7fb;--muted:#96adbd;--blue:#6fbbff;--green:#32dc90;--red:#ff4e5d;--yellow:#f4c24e;--orange:#f09b43;--thead:#102c3f;--up-color:var(--red);--down-color:var(--blue)}
*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:Segoe UI,Arial,"Malgun Gothic",sans-serif}body{min-width:1180px}.shell{max-width:1920px;margin:auto;padding-bottom:18px}.topbar{height:56px;border-bottom:1px solid #173a52;display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:#061724}.brand{display:flex;align-items:center;gap:10px;min-width:0}.logo{width:34px;height:34px;border:2px solid #d8efff;border-radius:50%;display:grid;place-items:center;position:relative;box-shadow:0 0 0 2px #244b65 inset}.logo:before,.logo:after{content:"";position:absolute;width:2px;background:#9cd2f4;border-radius:3px}.logo:before{height:22px;left:11px}.logo:after{height:24px;right:11px}.logo i{width:2px;height:26px;background:#e5f7ff;border-radius:3px}.title{font-size:21px;font-weight:800;white-space:nowrap}.live{font-size:11px;color:#31e09b;border:1px solid #177650;background:#063924;border-radius:999px;padding:3px 8px;font-weight:800}.tagline{color:#8eabc1;font-size:12px;margin-left:12px;white-space:nowrap}.actions{display:flex;align-items:center;gap:10px}.updated{font-size:11px;color:#9eb1c1}.updated b{color:#d8e4ec;margin-left:8px}.realtime{font-size:11px;color:#42e6a2;background:#063a29;border:1px solid #147453;border-radius:999px;padding:4px 9px;font-weight:700}.realtime:before{content:"";display:inline-block;width:7px;height:7px;background:#31dd95;border-radius:50%;margin-right:6px}.refresh{height:38px;min-width:160px;border:1px solid #ff5864;background:#b71f30;color:white;border-radius:10px;font-weight:800;font-size:13px;cursor:pointer}.gear{width:42px;height:38px;border:1px solid #244b65;background:#0a2231;color:#e7f2f9;border-radius:9px;font-size:18px;cursor:pointer}.content{padding:10px 16px 0}.overview{display:grid;grid-template-columns:1.33fr 1fr .56fr;gap:8px;height:122px}.overview-card{background:#061b29;border:1px solid #1b465f;border-radius:8px;padding:10px 14px;position:relative;overflow:hidden}.overview-card h2{margin:0 0 8px;font-size:16px}.overview-view{padding-left:28px;padding-right:118px}.overview-view:before{content:"";position:absolute;left:12px;top:10px;bottom:10px;width:4px;background:#52b8ff;border-radius:4px}.overview-main{font-size:14px;font-weight:600;line-height:1.55}.market-score{position:absolute;right:10px;top:10px;width:96px;height:96px;border:2px solid #31566c;border-radius:10px;padding:7px 5px 5px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;line-height:1;font-weight:900;background:#0a2231;box-shadow:0 0 0 1px #0003;overflow:hidden}.market-score .score-label{font-size:11px;line-height:1.1;letter-spacing:-.2px;white-space:nowrap;flex:0 0 auto}.market-score .score-num{display:flex;align-items:center;justify-content:center;width:100%;flex:1 1 auto;font-size:58px;line-height:.82;letter-spacing:-3px;font-variant-numeric:tabular-nums}.market-score .score-num.three{font-size:47px;letter-spacing:-3px}.market-score.good{color:var(--green);border-color:#177650;background:#063924}.market-score.mid{color:var(--yellow);border-color:#7b6424;background:#30270c}.market-score.risk{color:var(--red);border-color:#7d2933;background:#35131a}.reason-grid{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:24px;gap:0 18px;font-size:12.5px}.reason-item{display:flex;gap:7px;align-items:center;min-width:0}.reason-item b{font-size:10px}.reason-item.negative b{color:var(--down-color)}.reason-item.positive b{color:var(--up-color)}.reason-item.warning b{color:var(--orange)}.reason-item span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.checkpoint-card{display:flex;flex-direction:column}.checkpoint-card h2{flex:0 0 auto}.checkpoint-list{font-size:12px;line-height:1.55;flex:1 1 auto;min-height:0;overflow:hidden}.checkpoint-list div{white-space:nowrap}.checkpoint-list i{display:inline-block;width:9px;height:9px;border-radius:50%;background:#75b7f0;margin-right:8px;box-shadow:0 0 4px #75b7f0}.ticker{height:40px;margin-top:10px;border:1px solid #652735;border-radius:8px;display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;background:#35131a}.tick{display:flex;align-items:center;gap:11px;padding:0 14px;border-right:1px solid #783241;font-size:12px;min-width:0}.tick:nth-child(3),.tick:nth-child(4){background:linear-gradient(90deg,#47151c,#3b2514)}.tick:last-child{border-right:0}.news-tag{font-weight:800}.tick .time{color:#d8b7b7}.tick .txt{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}.market-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;height:178px}.lower-row{display:grid;grid-template-columns:.86fr 1.14fr;gap:8px;margin-top:8px;height:150px}.bottom-row{display:grid;grid-template-columns:1.25fr .95fr 250px;gap:8px;margin-top:12px;height:308px}.panel{background:linear-gradient(180deg,#081f2f,#071a28);border:1px solid #16435e;border-radius:9px;padding:11px 13px;overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.head-left{display:flex;align-items:center;gap:9px}.panel h2{font-size:17px;margin:0}.badge{font-size:10px;border:1px solid #2e5872;color:#93adc0;border-radius:999px;padding:3px 8px}.badge.livebadge{border-color:#168156;color:#38e49b;background:#063c29}.chartbtn,.morebtn{border:1px solid #2b6385;background:#092338;color:#d6ebf7;border-radius:999px;font-size:11px;padding:5px 10px;cursor:pointer}.cards{display:grid;gap:8px}.cards.three{grid-template-columns:repeat(3,1fr)}.cards.five{grid-template-columns:repeat(5,1fr)}.cards.four{grid-template-columns:repeat(4,1fr)}.cards.six{grid-template-columns:repeat(6,1fr)}.cards.seven{grid-template-columns:repeat(7,1fr)}.mcard{height:102px;border:1px solid #1b4862;background:#071b29;border-radius:8px;padding:12px 13px;display:flex;flex-direction:column;justify-content:center}.mcard .lab{font-size:11.5px;color:#d7e8f3;margin-bottom:8px}.mcard .val{font-size:22px;font-weight:800;line-height:1}.mcard .chg{font-size:12px;font-weight:700;margin-top:8px}.up{color:var(--up-color)}.dn{color:var(--down-color)}.neu{color:var(--muted)}.kr-time{font-size:10.5px;color:#9eb6c6;margin-top:8px}.macro-card{height:84px;padding:9px 11px}.macro-card .lab{margin-bottom:5px}.macro-card .val{font-size:20px}.macro-card .chg{margin-top:5px}.macro-card{position:relative}.fx-toggle{position:absolute;right:7px;top:6px;border:1px solid #315c77;background:#0a2638;color:#b9cfdd;border-radius:999px;padding:2px 6px;font-size:9px;line-height:1.1;cursor:pointer}.fx-toggle:hover{border-color:#69bcff;color:#e7f6ff}.macro-meta{font-size:8.5px;color:#89a6b8;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.krgold{border-color:#cc8e12;box-shadow:inset 0 0 0 1px #6f4d08}.krgold .lab{color:#ffd44d;font-weight:800}.stock-panel{padding-bottom:8px}.stock-toolbar{display:flex;align-items:center;gap:6px}.seg{border:1px solid #315c77;background:#0a2638;color:#a9c2d3;border-radius:999px;padding:5px 13px;font-size:11px}.seg.active{background:#59adf2;color:#07131d;border-color:#69bcff;font-weight:800}.monitor{font-size:10.5px;color:#b8cede;margin-left:auto}.monitor:before{content:"";display:inline-block;width:9px;height:9px;background:#32dc90;border-radius:50%;margin-right:6px}.data-table{width:100%;border-collapse:collapse;font-size:11.5px;table-layout:fixed;border:1px solid #173d54;border-radius:7px;overflow:hidden}.data-table th{background:#102b3d;color:#b6c9d5;font-weight:500;text-align:left;padding:7px 10px;border-bottom:1px solid #24506a}.data-table td{padding:7px 10px;border-bottom:1px solid #12354a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.data-table tbody tr:last-child td{border-bottom:0}.note{font-size:10.5px;color:#87a6b9;margin-top:10px}.score{color:#33e38f;font-weight:800}.fear-panel{padding:11px 12px}.fear-wrap{display:flex;justify-content:center;margin-top:6px}.semigauge{width:150px;height:82px;position:relative;overflow:hidden}.semigauge .arc{width:150px;height:150px;border-radius:50%;background:conic-gradient(from 270deg,var(--red) 0 19%,var(--yellow) 19% 38%,var(--green) 38% 50%,transparent 50%);position:absolute;top:0}.semigauge .hole{width:105px;height:105px;border-radius:50%;background:#071a28;position:absolute;left:22.5px;top:22.5px}.semigauge .num{position:absolute;left:0;right:0;top:42px;text-align:center;font-size:27px;font-weight:900;color:var(--red)}.fear-label{text-align:center;font-size:14px;font-weight:900;color:var(--red);margin-top:-5px}.gauge-ends{display:flex;justify-content:space-between;font-size:11px;margin-top:-1px;padding:0 8px}.warn-title{font-size:13px;font-weight:800;margin-top:8px}.warns{font-size:11.5px;line-height:1.95;margin-top:4px}.warns div:before{content:"";display:inline-block;width:10px;height:10px;background:var(--red);border-radius:50%;margin-right:8px}.calendar{margin:8px 16px 0}.calendar.panel{height:auto;min-height:118px}.calendar table{width:100%;border-collapse:collapse;font-size:11px}.calendar th,.calendar td{padding:6px;border-bottom:1px solid #173a50;text-align:left}.calendar th{color:#8fa8ba;font-weight:500}.muted{color:var(--muted)}.drawer{position:fixed;right:-430px;top:0;width:410px;height:100vh;background:#071724;border-left:1px solid #28526d;z-index:100;transition:.2s;padding:16px;box-shadow:-20px 0 50px #0008}.drawer.open{right:0}.drawer h3{margin-top:0}.drawer p{font-size:12px;color:#9cb2c1;line-height:1.6}.close{float:right;background:#12324a;border:1px solid #2f5e7e;color:white;border-radius:6px;padding:6px 10px}.hidden{display:none!important}
@media(max-width:1350px){body{min-width:0}.tagline{display:none}.overview{grid-template-columns:1fr 1fr}.overview-card:last-child{display:none}.market-row,.lower-row,.bottom-row{height:auto;grid-template-columns:1fr}.cards.six,.cards.seven{grid-template-columns:repeat(3,1fr)}.bottom-row{grid-template-columns:1fr}.fear-panel{min-height:260px}.title{font-size:18px}.content{padding:8px}}

/* v4.5.4-TEST stock-watch detail: change amount + volume/day/value */
:root{--bg:#03131f;--panel:#071c2c;--panel2:#081d2e;--line:#17425e;--line2:#204e6a;--text:#f4f7fa;--muted:#91a8b9;--blue:#5bb8f4;--green:#2ee28f;--red:#ff4c59;--yellow:#f6c64c;--orange:#e8983e;--thead:#102b3d;--up-color:var(--red);--down-color:var(--blue)}
html,body{background:radial-gradient(1200px 500px at 50% -120px,#0a2940 0,#041725 52%,#03131f 100%);font-family:Arial,"Malgun Gothic","Segoe UI",sans-serif}
body{min-width:1180px}.shell{max-width:none;width:100%;margin:0;padding:0 0 18px}.topbar{height:58px;padding:0 17px;background:linear-gradient(180deg,#071c2d 0%,#061725 100%);border-bottom:1px solid #173a52}
.brand{gap:11px}.logo{width:35px;height:35px;border-color:#dff4ff;box-shadow:0 0 0 2px #31536a inset}.logo:before{height:23px;left:10px;transform:rotate(7deg)}.logo:after{height:23px;right:10px;transform:rotate(-7deg)}.logo i{height:26px}.title{font-size:22.5px;font-weight:800;letter-spacing:-.25px}.live{font-size:10px;padding:3px 8px;margin-left:7px}.tagline{font-size:12px;margin-left:23px;color:#8ea9bc}.actions{gap:12px}.updated{font-size:11px}.refresh{height:41px;min-width:170px;border-radius:10px}.gear{width:43px;height:41px}
.content{padding:8px 16px 0}.overview{grid-template-columns:1.34fr 1.02fr .56fr;gap:8px;height:123px}.overview-card{background:linear-gradient(180deg,#071c2d 0%,#061623 100%);border-color:#1a4661;border-radius:8px;padding:10px 14px}.overview-card h2{font-size:17.5px;font-weight:800;margin:0 0 8px}.overview-main{font-size:14.5px;line-height:1.55}.overview-view{padding-left:28px;padding-right:118px}.overview-view:before{left:12px;top:7px;bottom:7px;width:4px}.reason-grid{grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,25px);grid-auto-flow:column;grid-auto-rows:25px;gap:0 20px;font-size:13px}.checkpoint-list{font-size:12.5px;line-height:1.92}
.ticker{height:40px;margin-top:8px;border-radius:8px}.tick{padding:0 14px;font-size:12px}.market-row{gap:8px;margin-top:10px;height:179px}.lower-row{gap:8px;margin-top:8px;height:151px}.bottom-row{grid-template-columns:1fr 1fr 250px;gap:8px;margin-top:11px;height:291px}
.panel{background:linear-gradient(180deg,#081d2f 0%,#071827 100%);border-color:#17445f;border-radius:9px;padding:10px 13px}.panel-head{margin-bottom:8px}.panel h2{font-size:19px;font-weight:800;letter-spacing:-.25px}.badge{font-size:10px;padding:3px 8px}.chartbtn,.morebtn{font-size:11px;padding:5px 11px}.cards{gap:8px}.mcard{height:103px;background:linear-gradient(180deg,#081f31 0%,#071b2a 100%);border-color:#1b4862;border-radius:8px;padding:11px 13px}.mcard .lab{font-size:12px;margin-bottom:8px}.mcard .val{font-size:23px}.mcard .chg{font-size:12.5px;margin-top:8px}.kr-time{font-size:11px;margin-top:7px}.macro-card{height:84px;padding:9px 11px}.macro-card .val{font-size:21px}.krgold{border-color:#c8900d}
/* v4.5.4-TEST basic futures card size normalization */
#usFutures .mcard{height:84px;padding:9px 11px}
#usFutures .mcard .lab{font-size:calc(11.5px + var(--panel-font-add));margin-bottom:5px}
#usFutures .mcard .val{font-size:calc(20px + var(--panel-font-add));line-height:1}
#usFutures .mcard .chg{font-size:calc(12px + var(--panel-font-add));margin-top:5px}

.stock-panel{padding:10px 13px 8px}.bottom-row .panel-head{margin-bottom:17px}.bottom-row .data-table{font-size:13px}.bottom-row .data-table th,.bottom-row .data-table td{padding:8.5px 10px}.bottom-row .note{font-size:11.5px;margin-top:13px}.bottom-row .seg{font-size:12px;padding:5px 14px}.bottom-row .monitor{font-size:11px}.bottom-row .morebtn{font-size:11.5px}.fear-panel{padding:10px 12px}.fear-panel h2{font-size:19px}.warn-title{font-size:14px}.warns{font-size:12.5px}.gauge-ends{font-size:11.5px}.calendar{display:none!important}
#krIndices .mcard .lab{font-size:11.5px}
#krIndices .mcard .val{font-size:21px}
#krIndices .mcard .chg{font-size:12px}
#recommendList td:nth-child(4){text-align:center}



/* visual density round 3 */
.overview-card h2{font-size:18.5px}.overview-main{font-size:15px}.reason-grid{font-size:13.5px}.checkpoint-list{font-size:13px}
.panel{background:linear-gradient(180deg,#092236 0%,#071c2c 100%)}.panel h2{font-size:20px}.badge{font-size:10.5px}.chartbtn,.morebtn{font-size:11.5px}.mcard .lab{font-size:12.5px}.mcard .val{font-size:24px}.mcard .chg{font-size:13px}.kr-time{font-size:11.5px}.macro-card .val{font-size:22px}
.bottom-row .data-table{font-size:13.5px}.bottom-row .note{font-size:12px}.bottom-row .seg{font-size:12.5px}.fear-panel h2{font-size:20px}.warn-title{font-size:14.5px}.warns{font-size:13px}


/* Detail screen + market flow (Fix2) */
.view-switch{display:flex;gap:4px;margin-left:8px}
.view-btn{border:1px solid #315c77;background:#0a2638;color:#a9c2d3;border-radius:999px;padding:6px 12px;font-size:11px;cursor:pointer}
.view-btn.active{background:#59adf2;color:#07131d;border-color:#69bcff;font-weight:900}
.detail-screen{padding:10px 16px 0}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.detail-wide{grid-column:1/-1}
.detail-screen .panel{min-height:170px}
.detail-screen .cards{margin-top:4px}
.flow-tabs{display:flex;gap:6px;flex-wrap:wrap}
.flow-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}
.flow-card{border:1px solid #1b4862;background:#071b29;border-radius:8px;padding:14px}
.flow-card .flab{font-size:12px;color:#a9c2d3}
.flow-card .fval{font-size:22px;font-weight:900;margin-top:8px}
.flow-card .fval.pos{color:var(--up-color)}
.flow-card .fval.neg{color:var(--down-color)}
.flow-source{font-size:10.5px;color:#87a6b9;margin-top:10px}
.detail-stock-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.detail-screen .data-table{font-size:11px}
.energy-cards{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:4px}.energy-cards .mcard{min-width:0}@media(max-width:1350px){.energy-cards{grid-template-columns:repeat(3,1fr)}}
.detail-empty{padding:18px;color:var(--muted);text-align:center}
.commodity-panel{overflow:visible}.commodity-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:4px}.commodity-grid .macro-card{min-width:0;height:88px}.commodity-grid .lab{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.commodity-card .commodity-foot{display:flex;justify-content:space-between;gap:8px;align-items:center}.commodity-card .commodity-note{font-size:10px;color:#7f9caf;white-space:nowrap}.detail-stock-grid .stock-toolbar{margin-left:8px}
@media(max-width:1500px){.commodity-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1100px){.commodity-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.commodity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1350px){.detail-grid,.detail-stock-grid{grid-template-columns:1fr}.detail-wide{grid-column:1}.flow-cards{grid-template-columns:1fr 1fr 1fr}}

/* Detail compact layout: fit most of the detail dashboard in one desktop viewport */
#detailScreen{padding:8px 14px 9px}
#detailScreen .detail-grid{gap:7px}
#detailScreen .panel{min-height:0;padding:9px 11px;border-radius:8px}
#detailScreen .panel-head{margin-bottom:6px;min-height:23px}
#detailScreen .panel h2{font-size:15.5px;line-height:1.18}
#detailScreen .badge{font-size:9.5px;padding:2px 7px}
#detailScreen .cards{gap:6px;margin-top:3px}
#detailScreen .mcard{height:82px;padding:8px 10px;border-radius:7px}
#detailScreen .mcard .lab{font-size:10.8px;margin-bottom:5px;line-height:1.08}
#detailScreen .mcard .val{font-size:19.5px;line-height:1}
#detailScreen .mcard .chg{font-size:11px;margin-top:5px;line-height:1}
#detailScreen .macro-card{height:74px;padding:7px 9px}
#detailScreen .macro-card .val{font-size:18px}
#detailScreen .macro-card .chg{font-size:10.3px;margin-top:4px}
#detailScreen .macro-meta{font-size:8.2px;margin-top:2px}
#detailScreen .fx-toggle{right:5px;top:5px;padding:2px 5px;font-size:8.5px}
#detailScreen .energy-cards{gap:6px;margin-top:3px}
#detailScreen .energy-cards .mcard{height:76px}
#detailScreen .flow-tabs{gap:5px}
#detailScreen .flow-tabs .seg{padding:4px 10px;font-size:10.2px}
#detailScreen .flow-cards{gap:7px;margin-top:7px}
#detailScreen .flow-card{padding:9px 11px;border-radius:7px;min-height:64px}
#detailScreen .flow-card .flab{font-size:11px}
#detailScreen .flow-card .fval{font-size:19.5px;margin-top:5px;line-height:1}
#detailScreen .flow-source{font-size:9.8px;margin-top:5px;line-height:1.18}
#detailScreen .detail-stock-grid{gap:7px}
#detailScreen .stock-panel{padding-bottom:7px}
#detailScreen .data-table{font-size:10.3px;line-height:1.08}
#detailScreen .data-table td,#detailScreen .data-table th{padding:5px 7px}
#detailScreen .detail-empty{padding:12px;font-size:10.5px}
@media(min-width:1351px){ #detailScreen .detail-grid{grid-template-columns:1fr 1fr} #detailScreen .detail-wide{grid-column:1/-1} }


/* Flow detail popup + tighter detail layout */
#detailScreen .flow-card{cursor:pointer;transition:.12s}
#detailScreen .flow-card:hover{border-color:#4b88aa;background:#092336}
#detailScreen .flow-card .flow-hint{font-size:9px;color:#6f91a8;margin-top:4px}
#detailScreen .panel-head{min-height:20px}
#detailScreen .mcard{height:78px}
#detailScreen .macro-card{height:70px}
#detailScreen .energy-cards .mcard{height:72px}
#detailScreen .flow-card{min-height:60px;padding:8px 10px}
#detailScreen .detail-stock-grid .panel{max-height:250px}
.flow-modal{position:fixed;inset:0;background:#0009;z-index:500;display:flex;align-items:center;justify-content:center;padding:24px}
.flow-modal.hidden{display:none!important}
.flow-dialog{width:min(1180px,96vw);max-height:88vh;overflow:auto;background:#061724;border:1px solid #2b6385;border-radius:12px;box-shadow:0 24px 80px #000b;padding:12px 14px}
.flow-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;position:sticky;top:-12px;background:#061724;padding:8px 0;z-index:2}
.flow-dialog-title{font-size:18px;font-weight:900}.flow-dialog-sub{font-size:11px;color:#8fa8ba;margin-top:2px}
.flow-dialog-actions{display:flex;gap:6px;align-items:center}.flow-dialog .seg{padding:5px 10px;font-size:11px;cursor:pointer}
.flow-close{border:1px solid #315c77;background:#0a2638;color:#dbeaf3;border-radius:7px;padding:5px 9px;cursor:pointer}
.flow-rank-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.flow-rank-box{border:1px solid #173d54;border-radius:8px;overflow:hidden;background:#071b29}.flow-rank-title{padding:7px 9px;font-size:12px;font-weight:900;background:#0c2637}.flow-rank-title.buy{color:var(--up-color)}.flow-rank-title.sell{color:var(--down-color)}
.flow-rank-table{width:100%;border-collapse:collapse;font-size:11.2px}.flow-rank-table th,.flow-rank-table td{padding:6px 8px;border-bottom:1px solid #12354a;text-align:right;white-space:nowrap}.flow-rank-table th:first-child,.flow-rank-table td:first-child{text-align:left}.flow-rank-table th{color:#91aabd;background:#0b2130;font-weight:600}.flow-rank-table tr:last-child td{border-bottom:0}.flow-rank-empty{padding:26px;text-align:center;color:#849daf;font-size:11.5px}
@media(max-width:900px){.flow-rank-grid{grid-template-columns:1fr}}

/* User-adjustable panel font size. Default is two steps larger than the previous build. */
:root{--panel-font-add:2px}
.overview-card h2{font-size:calc(16px + var(--panel-font-add))}
.overview-main{font-size:calc(14px + var(--panel-font-add))}
.reason-grid{font-size:calc(12.5px + var(--panel-font-add))}
.reason-item b{font-size:calc(10px + var(--panel-font-add))}
.checkpoint-list{font-size:calc(12px + var(--panel-font-add))}
.tick{font-size:calc(12px + var(--panel-font-add))}
.panel h2{font-size:calc(17px + var(--panel-font-add))}
.badge{font-size:calc(10px + var(--panel-font-add))}
.chartbtn,.morebtn{font-size:calc(11px + var(--panel-font-add))}
.mcard .lab{font-size:calc(11.5px + var(--panel-font-add))}
.mcard .val{font-size:calc(22px + var(--panel-font-add))}
.mcard .chg{font-size:calc(12px + var(--panel-font-add))}
.kr-time{font-size:calc(10.5px + var(--panel-font-add))}
.macro-card .val{font-size:calc(20px + var(--panel-font-add))}
.fx-toggle{font-size:calc(9px + var(--panel-font-add))}
.macro-meta{font-size:calc(8.5px + var(--panel-font-add))}
.seg{font-size:calc(11px + var(--panel-font-add))}
.monitor{font-size:calc(10.5px + var(--panel-font-add))}
.data-table{font-size:calc(11.5px + var(--panel-font-add))}
.note{font-size:calc(10.5px + var(--panel-font-add))}
.fear-label{font-size:calc(14px + var(--panel-font-add))}
.gauge-ends{font-size:calc(11px + var(--panel-font-add))}
.warn-title{font-size:calc(13px + var(--panel-font-add))}
.warns{font-size:calc(11.5px + var(--panel-font-add))}
.calendar table{font-size:calc(11px + var(--panel-font-add))}

/* Keep detail view compact while honoring the user's font-size setting. */
#detailScreen .panel h2{font-size:calc(15.5px + var(--panel-font-add))}
#detailScreen .badge{font-size:calc(9.5px + var(--panel-font-add))}
#detailScreen .mcard .lab{font-size:calc(10.8px + var(--panel-font-add))}
#detailScreen .mcard .val{font-size:calc(19.5px + var(--panel-font-add))}
#detailScreen .mcard .chg{font-size:calc(11px + var(--panel-font-add))}
#detailScreen .macro-card .val{font-size:calc(18px + var(--panel-font-add))}
#detailScreen .macro-card .chg{font-size:calc(10.3px + var(--panel-font-add))}
#detailScreen .macro-meta{font-size:calc(8.2px + var(--panel-font-add))}
#detailScreen .fx-toggle{font-size:calc(8.5px + var(--panel-font-add))}
#detailScreen .flow-tabs .seg{font-size:calc(10.2px + var(--panel-font-add))}
#detailScreen .flow-card .flab{font-size:calc(11px + var(--panel-font-add))}
#detailScreen .flow-card .fval{font-size:calc(19.5px + var(--panel-font-add))}
#detailScreen .flow-card .flow-hint{font-size:calc(9px + var(--panel-font-add))}
#detailScreen .flow-source{font-size:calc(9.8px + var(--panel-font-add))}
#detailScreen .data-table{font-size:calc(10.3px + var(--panel-font-add))}
#detailScreen .detail-empty{font-size:calc(10.5px + var(--panel-font-add))}
.flow-dialog-title{font-size:calc(18px + var(--panel-font-add))}
.flow-dialog-sub{font-size:calc(11px + var(--panel-font-add))}
.flow-dialog .seg{font-size:calc(11px + var(--panel-font-add))}
.flow-rank-title{font-size:calc(12px + var(--panel-font-add))}
.flow-rank-table{font-size:calc(11.2px + var(--panel-font-add))}
.flow-rank-empty{font-size:calc(11.5px + var(--panel-font-add))}

.font-setting{margin:14px 0;padding:12px;border:1px solid #244b65;border-radius:9px;background:#0a2231}
.font-setting-title{font-size:13px;font-weight:800;margin-bottom:9px}
.font-setting-row{display:grid;grid-template-columns:34px 1fr 34px;gap:8px;align-items:center}
.font-step-btn{height:32px;border:1px solid #315c77;background:#0d2b40;color:#eef8ff;border-radius:7px;font-size:18px;cursor:pointer}
.font-step-slider{width:100%;accent-color:#59adf2}
.font-setting-meta{display:flex;justify-content:space-between;align-items:center;margin-top:7px;font-size:11px;color:#9eb6c6}
.font-reset{border:0;background:transparent;color:#69bcff;font-size:11px;cursor:pointer;padding:0}

.color-mode-setting{margin:14px 0;padding:12px;border:1px solid #244b65;border-radius:9px;background:#0a2231}
.color-mode-title{font-size:13px;font-weight:800;margin-bottom:6px}
.color-mode-desc{font-size:11px;color:#9eb6c6;line-height:1.5;margin-bottom:9px}
.color-mode-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.color-mode-btn{height:36px;border:1px solid #315c77;background:#0d2b40;color:#dcecf5;border-radius:8px;font-size:11px;font-weight:800;cursor:pointer}
.color-mode-btn.active{border-color:#69bcff;background:#123b56;box-shadow:inset 0 0 0 1px #69bcff66}
.color-mode-sample{display:flex;justify-content:space-between;margin-top:7px;font-size:10.5px;font-weight:700}
.color-mode-up{color:var(--up-color)}.color-mode-down{color:var(--down-color)}


/* v4.5.4-TEST Korean + U.S. market maps */
.market-map-screen{padding:16px 20px 24px}
.market-map-panel{background:#0b1f2c;border:1px solid #1d4057;border-radius:12px;padding:14px;min-height:720px}
.market-map-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}
.market-map-titlebox h2{margin:0;font-size:18px}.market-map-titlebox p{margin:4px 0 0;color:#8faabc;font-size:11px}
.market-map-controls{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.map-seg{border:1px solid #315c77;background:#0d2b40;color:#cfe5f1;border-radius:7px;padding:7px 11px;font-size:11px;font-weight:800;cursor:pointer}
.map-seg.active{border-color:#69bcff;background:#123b56;color:white;box-shadow:inset 0 0 0 1px #69bcff55}
.map-mode-controls{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:10px 0 8px;padding-top:8px;border-top:1px solid #16394d}
.map-mode-label{color:#8faabc;font-size:10.5px;font-weight:800;margin-right:2px}
.map-search{display:flex;gap:6px;align-items:center;flex:1;min-width:300px;margin-left:auto}
.map-search input{flex:1;min-width:180px;height:34px;border:1px solid #315c77;background:#071b29;color:#e8f5fb;border-radius:7px;padding:0 10px;font-size:11px;outline:none}
.map-search input:focus{border-color:#69bcff;box-shadow:0 0 0 2px #69bcff22}
.map-search-result{display:none;margin:8px 0 10px;padding:10px 12px;background:#0a2638;border:1px solid #2b5872;border-radius:9px;color:#dcecf5;font-size:11px}
.map-search-result.show{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.map-search-result b{font-size:13px;color:#fff}.map-search-result .muted{color:#8faabc}.map-search-result .up{color:var(--up-color);font-weight:900}.map-search-result .down{color:var(--down-color);font-weight:900}
.market-map-meta{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:8px 0;color:#8faabc;font-size:10.5px}
.market-map-legend{display:flex;gap:8px;align-items:center}.map-dot{width:9px;height:9px;border-radius:2px;display:inline-block}.map-dot.up{background:var(--up-color)}.map-dot.down{background:var(--down-color)}
.market-map-wrap{position:relative;width:100%;height:620px;background:#061722;border:1px solid #15374b;border-radius:10px;overflow:hidden}
.market-tile{position:absolute;border:1px solid rgba(255,255,255,.13);overflow:hidden;cursor:pointer;transition:filter .12s,transform .12s;box-sizing:border-box;padding:6px;color:white;text-shadow:0 1px 2px #000a}
.market-tile:hover{filter:brightness(1.18);z-index:5;box-shadow:0 0 0 2px #ffffff55 inset}
.market-tile .map-name{font-weight:900;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.market-tile .map-pct{font-weight:900;font-size:12px;margin-top:2px}.market-tile .map-cap{font-size:9px;opacity:.82;margin-top:3px}
.market-sector{position:absolute;border:2px solid #315c77;background:#071a26;border-radius:7px;overflow:hidden;box-sizing:border-box}
.market-sector-head{position:absolute;left:0;right:0;top:0;height:24px;display:flex;align-items:center;justify-content:space-between;padding:0 7px;background:rgba(4,17,25,.88);border-bottom:1px solid #315c77;color:#d9eef8;font-size:10.5px;font-weight:900;z-index:4;white-space:nowrap;overflow:hidden;box-sizing:border-box}
.market-sector-head span:last-child{color:#7f9caf;font-weight:700;font-size:9px;margin-left:5px}
.market-sector .market-tile{border-color:rgba(255,255,255,.10)}
.market-tile.map-highlight{z-index:20!important;box-shadow:0 0 0 3px #ffd54a inset,0 0 14px 4px rgba(255,213,74,.75)!important;filter:brightness(1.30);transform:scale(.985)}
.market-tile.map-dim{filter:brightness(.55) saturate(.65);opacity:.66}
.market-map-empty{display:flex;align-items:center;justify-content:center;height:100%;color:#9eb6c6;font-size:13px;text-align:center;padding:20px}
@media(max-width:900px){.market-map-wrap{height:520px}.market-map-head{align-items:flex-start;flex-direction:column}}

.anomaly-click{cursor:pointer}.anomaly-click:hover td{background:#0d2b3e}.detail-link{color:#6fbbff;font-weight:800;margin-left:5px}.anomaly-modal{position:fixed;inset:0;background:#000a;z-index:250;display:flex;align-items:center;justify-content:center;padding:30px}.anomaly-modal.hidden{display:none}.anomaly-box{width:min(980px,92vw);max-height:86vh;overflow:auto;background:#071c2a;border:1px solid #2b6385;border-radius:12px;box-shadow:0 20px 70px #000b;padding:18px}.anomaly-box-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #17415c;padding-bottom:12px;margin-bottom:12px}.anomaly-box-head h3{margin:0;font-size:20px}.anomaly-close{border:1px solid #315c77;background:#0a2638;color:#d9edf8;border-radius:7px;padding:6px 12px;cursor:pointer}.anomaly-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:12px}.anomaly-section{border:1px solid #173f58;background:#061824;border-radius:8px;padding:12px}.anomaly-section h4{margin:0 0 10px;font-size:14px}.metric-line{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid #12354a;font-size:12px}.metric-line:last-child{border-bottom:0}.metric-line.trigger b{color:var(--orange)}.news-item{padding:9px 0;border-bottom:1px solid #12354a}.news-item:last-child{border-bottom:0}.news-item a{color:#8dccff;text-decoration:none;font-size:12px;font-weight:700}.news-item a:hover{text-decoration:underline}.news-meta{font-size:10px;color:#91aabc;margin-top:4px}.cause-box{margin-top:12px;border:1px solid #6b5520;background:#2b230c;border-radius:8px;padding:10px 12px;font-size:12px;color:#f4d57b}.anomaly-notice{font-size:10px;color:#8ea9ba;margin-top:10px}.knews-btn{margin-left:7px;border:1px solid #3c7598;background:#0b2b40;color:#bfe5ff;border-radius:999px;padding:3px 7px;font-size:10px;cursor:pointer;white-space:nowrap}.knews-btn:hover{border-color:#75c7ff;color:#fff;background:#103b56}.knews-rec{display:inline-flex;align-items:center;justify-content:center;min-width:64px;padding:5px 9px;font-size:11px;font-weight:800;box-shadow:inset 0 0 0 1px #163f58}
.korean-news-detail{border-width:2px}.korean-news-detail h4{font-size:14px}.news-tabs{display:flex;gap:7px;margin-bottom:10px}.news-tab{border:1px solid #315c77;background:#081f2e;color:#9db7c8;border-radius:7px;padding:6px 12px;font-size:11px;font-weight:800;cursor:pointer}.news-tab.active{background:#0e496b;border-color:#73c9ff;color:#fff}.news-pane.hidden{display:none}
.sentiment-tabs{display:flex;justify-content:center;gap:6px;margin-top:2px}.sentiment-tab{border:1px solid #315c77;background:#0a2638;color:#a9c2d3;border-radius:999px;padding:4px 10px;font-size:10.5px;cursor:pointer}.sentiment-tab.active{background:#59adf2;color:#07131d;border-color:#69bcff;font-weight:800}.sentiment-source{text-align:center;color:#7898ab;font-size:9.5px;margin-top:3px;min-height:12px}

.chart-modal{position:fixed;inset:0;background:#000b;z-index:320;display:flex;align-items:center;justify-content:center;padding:24px}.chart-modal.hidden{display:none}.chart-box{width:min(1280px,95vw);height:min(760px,91vh);background:#061925;border:1px solid #2b6385;border-radius:12px;padding:14px;display:flex;flex-direction:column}.chart-head{display:flex;align-items:center;gap:8px;margin-bottom:10px}.chart-head h3{margin:0 12px 0 0;font-size:19px}.chart-select,.chart-period{border:1px solid #315c77;background:#092338;color:#d8edf8;border-radius:7px;padding:7px 10px}.chart-period.active{background:#59adf2;color:#07131d;border-color:#69bcff;font-weight:800}.chart-interval{border:1px solid #315c77;background:#092338;color:#d8edf8;border-radius:7px;padding:6px 8px;cursor:pointer}.chart-interval.active{background:#2c759f;color:#fff;border-color:#69bcff;font-weight:800}.chart-axis-note{font-size:10px;color:#7898ab;margin-left:6px}.chart-close{margin-left:auto;border:1px solid #315c77;background:#0a2638;color:#fff;border-radius:7px;padding:7px 12px;cursor:pointer}.chart-meta{font-size:11px;color:#8faabd;margin-bottom:6px}.chart-stage{position:relative;flex:1;min-height:0;border:1px solid #173f58;background:#04131d;border-radius:8px;overflow:hidden}.chart-stage canvas{width:100%;height:100%;display:block;cursor:grab}.chart-stage canvas.dragging{cursor:grabbing}.chart-help{font-size:10.5px;color:#7898ab;margin-top:6px}.chart-tools{display:flex;gap:6px;align-items:center;margin-bottom:7px}.chart-tool{border:1px solid #315c77;background:#092338;color:#b9d0df;border-radius:6px;padding:5px 9px;font-size:10.5px;cursor:pointer}.chart-tool.active{background:#174c6b;color:#fff;border-color:#69bcff}.chart-legend{margin-left:auto;font-size:10px;color:#8faabd}.chart-stage{display:flex;flex-direction:column}.chart-price-wrap{position:relative;flex:1;min-height:0}.chart-price-wrap canvas{position:absolute;inset:0}.chart-volume-wrap{height:110px;border-top:1px solid #173f58;position:relative;flex:0 0 110px}.chart-volume-wrap canvas{position:absolute;inset:0}

/* v4.5.4-TEST: recent warning carousel + manual scroll */
.warns{max-height:92px;overflow-y:auto;scroll-behavior:smooth;padding-right:4px;scrollbar-width:thin}
.warns div{min-height:23px;white-space:normal;line-height:1.35;padding:4px 2px;border-radius:4px}
.warns div.warn-active{background:#102b3d}
.warns:hover{overflow-y:auto}

/* v4.5.4-TEST: prominent stock analysis tabs inside recommendation detail */
.stock-analysis-entry{margin:12px 0 14px;padding:12px;border:1px solid #d7dfeb;border-radius:12px;background:#f7f9fc}
.stock-analysis-entry h4{margin:0 0 9px;font-size:14px}
.stock-analysis-tabs{display:flex;gap:8px;flex-wrap:wrap}
.stock-analysis-tab{border:1px solid #b8c5d8;background:#fff;border-radius:8px;padding:8px 12px;font-weight:700;cursor:pointer}
.stock-analysis-tab.active{background:#173b70;color:#fff;border-color:#173b70}
.stock-analysis-body{margin-top:10px;padding:10px;background:#fff;border:1px solid #e0e6ef;border-radius:8px;min-height:42px}
.analysis-score-row{display:grid;grid-template-columns:110px 1fr 55px;gap:8px;align-items:center;margin:8px 0}
/* v4.5.4 analysis visual normalization */
.stock-analysis-entry{background:linear-gradient(180deg,#081f2f,#071a28);border-color:#1b4862;color:var(--text)}
.stock-analysis-entry h4{font-size:15px;color:#dcebf4}.stock-analysis-tab{border-color:#315c77;background:#0a2638;color:#b9cfdd}.stock-analysis-tab.active{background:#59adf2;color:#07131d;border-color:#69bcff}.stock-analysis-body{background:#071a28;border-color:#1b4862;color:var(--text)}
.analysis-score-track{background:#173449}.analysis-score-fill{background:#59adf2}.analysis-reason{color:#9fb7c7;font-size:11px;line-height:1.45;grid-column:1/-1}
.correlation-help{margin:8px 0;padding:9px 11px;border:1px solid #28536d;border-radius:8px;background:#0a2638;color:#b8ccda;font-size:11.5px;line-height:1.55}
.correlation-key{display:flex;gap:6px;flex-wrap:wrap;margin:7px 0}.correlation-key span{border:1px solid #315c77;border-radius:999px;padding:4px 8px;background:#092338;font-size:10.5px;color:#b8cddb}

.analysis-score-track{height:8px;background:#e7ebf1;border-radius:999px;overflow:hidden}.analysis-score-fill{height:100%;background:#315f9d}
.analysis-reason{grid-column:2/4;font-size:12px;color:#657184}

/* v4.5.7-TEST: analysis typography normalization */
#roadmapModal .modal-box{font-family:Segoe UI,Arial,"Malgun Gothic",sans-serif;font-size:12px;line-height:1.5}
#roadmapModal #roadmapTitle{font-size:16px;font-weight:800;line-height:1.3;margin:0 0 10px}
#roadmapModal #roadmapBody{font-size:12px;line-height:1.5;color:inherit}
#roadmapModal #roadmapBody h4{font-size:13px;font-weight:700;line-height:1.35;margin:10px 0 5px}
#roadmapModal #roadmapBody b,#roadmapModal #roadmapBody strong{font-size:12px;font-weight:700}
#roadmapModal #roadmapBody p,#roadmapModal #roadmapBody li{font-size:12px;line-height:1.5;margin:4px 0}
#roadmapModal #roadmapBody ul{margin:5px 0 8px;padding-left:18px}
#roadmapModal #roadmapBody .muted{font-size:11px}
#roadmapModal .stock-analysis-entry{font-size:12px}
#roadmapModal .stock-analysis-entry h4{font-size:13px;font-weight:700;margin:0 0 7px}
#roadmapModal .stock-analysis-tab{font-size:11px;font-weight:700;padding:6px 10px}
#roadmapModal .stock-analysis-body{font-size:12px;line-height:1.5}
#roadmapModal .analysis-score-row{font-size:12px}
#roadmapModal .analysis-score-row>b,#roadmapModal .analysis-score-row>strong{font-size:12px}
#roadmapModal .analysis-reason{font-size:11px;line-height:1.45}
#roadmapModal .correlation-help{font-size:11px;line-height:1.5}
#roadmapModal .correlation-key span{font-size:10px}

/* v4.5.7-TEST compact analysis typography */
#recAnalysisBody .analysis-loading{color:#ffd54a;font-size:9.5px;line-height:1.3;font-weight:600;padding:2px 0}
#recAnalysisBody .analysis-score-row>b,#recAnalysisBody .analysis-score-row>strong{font-size:10px}
#recAnalysisBody .analysis-score-row{font-size:10px;margin:5px 0}
#recAnalysisBody .analysis-reason{font-size:9.5px;line-height:1.3}
#recAnalysisBody .correlation-help{font-size:9.5px;line-height:1.35;padding:6px 8px;margin:5px 0}
#recAnalysisBody .correlation-key span{font-size:9px}
#recAnalysisBody>p.muted{font-size:9px;line-height:1.3;margin:4px 0}
#recAnalysisBody .judgment-compact{font-size:9.5px;line-height:1.35}
#recAnalysisBody .judgment-compact h4{font-size:11px;margin:5px 0 4px}
#recAnalysisBody .judgment-compact b,#recAnalysisBody .judgment-compact strong{font-size:9.5px}
#recAnalysisBody .judgment-compact p,#recAnalysisBody .judgment-compact li{font-size:9.5px;line-height:1.35;margin:2px 0}
#recAnalysisBody .judgment-compact ul{margin:2px 0 5px;padding-left:16px}
#recAnalysisBody .judgment-compact .muted{font-size:8.8px;line-height:1.3;margin-top:5px}
.flow-rank-table.sell th:last-child{color:var(--down-color)}
.flow-rank-table.buy th:last-child{color:var(--up-color)}

/* v4.5.7-TEST: v4.3/v4.4/v4.5 recommendation analysis typography unified */
#recAnalysisBody{font-size:11px;line-height:1.4}
#recAnalysisBody h4{font-size:11px;line-height:1.35;margin:5px 0 4px}
#recAnalysisBody .analysis-loading{font-size:11px;line-height:1.35}
#recAnalysisBody .analysis-score-row,
#recAnalysisBody .analysis-score-row>b,
#recAnalysisBody .analysis-score-row>strong,
#recAnalysisBody .analysis-reason{font-size:11px;line-height:1.35}
#recAnalysisBody .correlation-help,
#recAnalysisBody .correlation-help b,
#recAnalysisBody .correlation-tip,
#recAnalysisBody .correlation-tip b{font-size:11px;line-height:1.4}
#recAnalysisBody .correlation-key span{font-size:10.5px;line-height:1.3}
#recAnalysisBody .data-table,
#recAnalysisBody .data-table th,
#recAnalysisBody .data-table td{font-size:11px;line-height:1.35}
#recAnalysisBody>p.muted,
#recAnalysisBody .judgment-compact,
#recAnalysisBody .judgment-compact h4,
#recAnalysisBody .judgment-compact b,
#recAnalysisBody .judgment-compact strong,
#recAnalysisBody .judgment-compact p,
#recAnalysisBody .judgment-compact li,
#recAnalysisBody .judgment-compact .muted{font-size:11px;line-height:1.4}


/* #################################################################
   PAGE 03. 추천 종목 상세 / 추가 분석
   사용자가 설정 화면의 "스타일 리모컨"으로 조절하는 CSS 변수
   ################################################################# */
:root{
  --analysis-font-title:11px;
  --analysis-font-body:11px;
  --analysis-font-note:10px;
  --analysis-v43-top-gap:8px;
  --analysis-v45-block-gap:10px;
  --analysis-v45-label-color:#ffd166;
  --analysis-v45-body-color:#dcebf4;
  --analysis-v45-label-weight:800;
}

/* ===== SECTION 03-1. v4.3 종목 종합점수 ===== */
#recAnalysisBody{font-size:var(--analysis-font-body);line-height:1.4}
#recAnalysisBody h4{font-size:var(--analysis-font-title);line-height:1.35}
#recAnalysisBody .analysis-score-row{font-size:var(--analysis-font-body)}
#recAnalysisBody .analysis-score-row>b,
#recAnalysisBody .analysis-score-row>strong,
#recAnalysisBody .analysis-reason{font-size:var(--analysis-font-body)}
#recAnalysisBody .correlation-help + .analysis-score-row{margin-top:var(--analysis-v43-top-gap)}
#recAnalysisBody .analysis-loading{font-size:var(--analysis-font-note);color:#ffd54a}

/* ===== SECTION 03-2. v4.4 Pearson 상관관계 ===== */
#recAnalysisBody .correlation-help,
#recAnalysisBody .correlation-help b,
#recAnalysisBody .correlation-tip,
#recAnalysisBody .correlation-tip b,
#recAnalysisBody .data-table,
#recAnalysisBody .data-table th,
#recAnalysisBody .data-table td{font-size:var(--analysis-font-body)}
#recAnalysisBody .correlation-key span,
#recAnalysisBody>p.muted{font-size:var(--analysis-font-note)}

/* ===== SECTION 03-3. v4.5 종합판단 ===== */
#recAnalysisBody .judgment-compact{font-size:var(--analysis-font-body);color:var(--analysis-v45-body-color)}
#recAnalysisBody .judgment-compact h4{font-size:var(--analysis-font-title)}
#recAnalysisBody .judgment-block{margin-top:var(--analysis-v45-block-gap)}
#recAnalysisBody .judgment-label{display:block;color:var(--analysis-v45-label-color);font-size:var(--analysis-font-title);font-weight:var(--analysis-v45-label-weight);margin-bottom:3px}
#recAnalysisBody .judgment-block p,
#recAnalysisBody .judgment-block li{font-size:var(--analysis-font-body);color:var(--analysis-v45-body-color)}
#recAnalysisBody .judgment-compact .muted{font-size:var(--analysis-font-note)}

/* #################################################################
   PAGE 06. 설정 화면 / 스타일 리모컨
   ################################################################# */
/* ===== SECTION 06-1. 스타일 리모컨 공통 ===== */
.style-remote{margin-top:16px;padding-top:14px;border-top:1px solid #24465c}
.style-remote h4{margin:0 0 6px;font-size:14px;color:#e7f3fa}
.style-remote-desc{font-size:11px;line-height:1.45;color:#8faabd;margin-bottom:10px}
.style-remote-page{margin:10px 0;padding:9px;border:1px solid #24465c;border-radius:8px;background:#081d2b}
.style-remote-page-title{font-size:12px;font-weight:800;color:#cfe7f5;margin-bottom:7px}
.style-control{display:grid;grid-template-columns:1fr 72px;gap:8px;align-items:center;margin:7px 0}
.style-control label{font-size:11px;color:#a9c2d2}
.style-control input[type=number],.style-control input[type=color]{width:100%;box-sizing:border-box;background:#061722;color:#e7f3fa;border:1px solid #315c77;border-radius:6px;padding:5px}
.style-control input[type=color]{height:30px;padding:2px}
.style-remote-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
.style-remote-btn{border:1px solid #315c77;background:#0d2b40;color:#eef8ff;border-radius:7px;padding:7px 10px;font-size:11px;cursor:pointer}
.style-remote-btn.primary{background:#173b70;border-color:#4a83c2}
.style-remote-status{font-size:10px;color:#ffd166;margin-top:7px;min-height:14px}

/* Phase 2 discovery (introduced before v4.6.3-G) */
.discovery-panel{margin:16px}.discovery-meta{font-size:11px;color:var(--muted);margin:8px 0 12px}.discovery-tabs{display:flex;gap:6px;margin-bottom:10px}.discovery-tabs button:disabled{opacity:.42;cursor:not-allowed}.phase-badge{font-size:10px;color:var(--yellow);font-weight:700;margin-left:6px}.discovery-table td{vertical-align:middle}.discovery-status{font-size:10px;font-weight:700;color:var(--yellow)}.discovery-row{cursor:pointer}.discovery-row:hover{background:rgba(255,255,255,.035)}.discovery-detail{margin-top:12px;padding:14px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.018)}.discovery-detail-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.discovery-detail-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;font-size:11px}.discovery-detail-grid>div{padding:8px;border:1px solid var(--line);border-radius:7px}.discovery-detail-summary{margin-top:10px;font-size:11px;color:var(--muted)}.history-row{display:grid;grid-template-columns:170px 1.5fr 70px 120px 80px 120px;gap:8px;padding:8px 0;border-bottom:1px solid var(--line);font-size:11px;align-items:center}@media(max-width:900px){.discovery-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.history-row{grid-template-columns:1fr 1fr}}


/* market-detail stock readability + visible discovery entry */
#detailScreen .detail-stock-grid .data-table{font-size:12.5px;line-height:1.35}
#detailScreen .detail-stock-grid .data-table th,#detailScreen .detail-stock-grid .data-table td{padding:8px 9px;line-height:1.35;vertical-align:middle}
#detailScreen .detail-stock-grid .data-table tbody tr{height:42px}
#detailScreen .detail-stock-grid .muted{line-height:1.35}
.rec-head-actions{display:flex;align-items:center;gap:6px}
.discovery-open-btn{border-color:#4f91bd;color:#dff3ff;background:#0b3048;font-weight:700;white-space:nowrap}
.discovery-open-btn:hover{border-color:#69bcff;background:#10415f}

/* v4.6.3-G: discovery readability + valuation/fundamentals */
.discovery-panel{font-size:13px}
.discovery-panel h2{font-size:17px}
.discovery-meta{font-size:12.5px;line-height:1.5}
.discovery-tabs .seg{font-size:12.5px;padding:7px 13px}
.phase-badge{font-size:11px}
.discovery-table{font-size:13px;line-height:1.45}
.discovery-table th,.discovery-table td{padding:9px 10px;line-height:1.45}
.discovery-table tbody tr{min-height:42px}
.discovery-status{font-size:12px}
.discovery-detail{font-size:13px;line-height:1.5}
.discovery-detail-head{font-size:14px}
.discovery-detail-grid{font-size:13px;gap:9px}
.discovery-detail-grid>div{padding:10px}
.discovery-detail-summary{font-size:12.5px;line-height:1.55}
.history-row{font-size:12.5px;line-height:1.45;padding:10px 0}
.valuation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:14px}
.valuation-card,.fund-grid>div,.valuation-targets>div{padding:11px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.015)}
.valuation-card span,.fund-grid span,.valuation-targets span{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}
.valuation-card b,.fund-grid b,.valuation-targets b{font-size:14px;color:#eef8ff}
.valuation-section-title{font-size:13px;font-weight:800;margin:12px 0 8px}
.valuation-targets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.valuation-targets small{display:block;color:var(--muted);font-size:11px;margin-top:4px}
.fund-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}
.data-unavailable{padding:14px;border:1px dashed #46677c;border-radius:8px;color:#b9cfdb;line-height:1.6}
@media(max-width:1100px){.valuation-grid,.valuation-targets{grid-template-columns:repeat(2,minmax(0,1fr))}.fund-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* v4.6.3-G: discovery list readability */
.discovery-table{font-size:15px;line-height:1.55}
.discovery-table th{font-size:14px;font-weight:700;padding:11px 12px;white-space:nowrap}
.discovery-table td{font-size:15px;padding:12px 12px;line-height:1.55}
.discovery-table tbody tr{height:50px}
.discovery-table .discovery-name b{font-size:15px}
.discovery-table .discovery-symbol{font-size:13px;color:var(--muted);white-space:nowrap}
.discovery-table .discovery-status{font-size:12px}
.discovery-meta{font-size:13px;line-height:1.5}

/* v4.6.3-L: valuation readability */
.valuation-head{justify-content:flex-start!important;align-items:flex-start!important}
.current-price-hero{display:flex;align-items:baseline;gap:12px;margin-top:10px;padding:10px 14px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.025);width:max-content;max-width:100%}
.current-price-hero span{font-size:15px;color:var(--muted);font-weight:700}
.current-price-hero strong{font-size:24px;line-height:1.15;color:#f5fbff;letter-spacing:.2px}
.valuation-card span,.fund-grid span,.valuation-targets span{font-size:13px}
.valuation-card b,.fund-grid b,.valuation-targets b{font-size:17px}
.valuation-targets small{font-size:12px}
.valuation-section-title{font-size:15px}


/* v4.6.3-L: final valuation comparison + beginner explanations */
.current-price-hero{border-color:#8a761f;background:rgba(255,213,0,.07)}
.current-price-hero span{font-size:16px;color:#ffe58a}
.current-price-hero strong{font-size:29px;color:#ffd500;text-shadow:0 0 12px rgba(255,213,0,.12)}
.valuation-section-title{font-size:16px;margin-top:18px}
.section-warning{display:inline-block;margin-left:8px;padding:2px 7px;border-radius:999px;background:rgba(255,177,64,.12);border:1px solid rgba(255,177,64,.45);color:#ffbd5b;font-size:11px;vertical-align:middle}
.nova-fair{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:12px}
.beginner-box{margin-top:18px;padding:16px 18px;border:1px solid #365d73;border-radius:10px;background:rgba(20,49,66,.45);font-size:14px;line-height:1.7}
.beginner-box>div{margin:5px 0}.beginner-box b{color:#e8f6ff;margin-right:6px}
.beginner-title{font-size:17px;font-weight:800;color:#e8f6ff;margin-bottom:9px!important}
.beginner-caution{display:inline-block;margin-left:8px;padding:2px 7px;border-radius:999px;background:rgba(255,91,91,.12);border:1px solid rgba(255,91,91,.45);color:#ff8585;font-size:11px;vertical-align:middle}
.caution-line,.caution-line b{color:#ffb36b!important}
@media(max-width:900px){.nova-fair{grid-template-columns:1fr}.current-price-hero strong{font-size:25px}}


/* v4.6.3-O: visual identity for USD/KRW and NOVA fair value */
.fx-highlight{border-color:#8a761f!important;background:linear-gradient(180deg,rgba(255,213,0,.08),#071b2a)!important}
.fx-highlight .lab{color:#ffe58a!important;font-weight:800}
.fx-highlight .val{color:#ffd500!important;font-weight:900;text-shadow:0 0 10px rgba(255,213,0,.16)}
.nova-fair>div{border-color:#ff8a1f!important;background:linear-gradient(180deg,rgba(255,122,0,.10),rgba(57,255,20,.025))!important}
.nova-fair span{color:#ffad55!important;font-weight:800}
.nova-fair b{color:#ff7a00!important;font-size:19px!important;font-weight:900;text-shadow:0 0 10px rgba(255,122,0,.22)}
.nova-fair>div:nth-child(2){border-color:#39ff14!important;background:rgba(57,255,20,.055)!important}
.nova-fair>div:nth-child(2) span,.nova-fair>div:nth-child(2) b{color:#39ff14!important;text-shadow:0 0 10px rgba(57,255,20,.20)}


/* v4.6.3-Q: final NOVA growth color + beginner financial guide */
.nova-fair>div:nth-child(3){border-color:#00bfff!important;background:rgba(0,191,255,.06)!important}
.nova-fair>div:nth-child(3) span,.nova-fair>div:nth-child(3) b{color:#00bfff!important;text-shadow:0 0 11px rgba(0,191,255,.28)}
.fund-positive{border-color:#00bfff!important;background:linear-gradient(180deg,rgba(0,191,255,.075),rgba(7,27,42,.25))!important}
.fund-positive span,.fund-positive b{color:#00bfff!important;text-shadow:0 0 9px rgba(0,191,255,.20)}
.fund-positive-tag{display:block;margin-top:5px;color:#67d8ff!important;font-size:10px!important;font-weight:800}
.fund-guide{margin-top:16px;padding:16px 18px;border:1px solid #2b6385;border-radius:10px;background:rgba(8,31,46,.72);font-size:13px;line-height:1.55}
.fund-guide-title{font-size:17px;font-weight:900;color:#dff5ff;margin-bottom:12px}
.fund-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 14px}
.fund-guide-grid>div{padding:9px 10px;border:1px solid #173f58;border-radius:8px;background:#061824}
.fund-guide-grid b{display:block;color:#8edcff;font-size:14px;margin-bottom:3px}
.fund-guide-grid span{color:#b8cfdd}
.fund-color-guide{margin-top:12px;padding:10px 12px;border:1px solid rgba(0,191,255,.38);border-radius:8px;background:rgba(0,191,255,.045);color:#bfeaff}
.fund-color-guide .blue-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#00bfff;box-shadow:0 0 8px rgba(0,191,255,.55);margin-right:6px}
.fund-color-guide strong{color:#ffbd5b;font-weight:800}
@media(max-width:900px){.fund-guide-grid{grid-template-columns:1fr}}

/* v4.6.3-T discovery status badges: visual-only; scoring algorithm unchanged */
.discovery-table .discovery-status,.discovery-detail-head .discovery-status,.history-row .discovery-status{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:24px;padding:3px 8px;border-radius:999px;font-size:13px!important;font-weight:800;line-height:1.1;white-space:nowrap;border:1px solid currentColor;background:rgba(255,255,255,.035);box-shadow:0 0 10px rgba(255,255,255,.035)}
.discovery-status .status-icon{display:inline-flex;align-items:center;justify-content:center;min-width:16px;font-size:11px;font-weight:900;letter-spacing:.2px}
.discovery-status.status-new{color:#ffb13b;background:rgba(255,177,59,.10);box-shadow:0 0 12px rgba(255,177,59,.10)}
.discovery-status.status-new .status-icon{font-size:8px;padding:2px 4px;border-radius:5px;background:#ffb13b;color:#101820}
.discovery-status.status-watch{color:#ffd84d;background:rgba(255,216,77,.08)}
.discovery-status.status-turn{color:#24d9ff;background:rgba(36,217,255,.09);box-shadow:0 0 12px rgba(36,217,255,.12)}
.discovery-status.status-strong{color:#39ff88;background:rgba(57,255,136,.10);box-shadow:0 0 14px rgba(57,255,136,.16)}
.discovery-status.status-strong .status-icon{font-size:15px;text-shadow:0 0 8px currentColor}
.discovery-status.status-invalid{color:#ff6f7d;background:rgba(255,111,125,.08);opacity:.78}
.discovery-status.status-default{color:#9fb6c5}

/* v4.6.3-T NOVA 2.0 quant cross-check */
.quant-guide{margin:10px 0;padding:12px 14px;border:1px solid rgba(0,229,255,.28);border-radius:10px;background:rgba(0,229,255,.045);font-size:15px;line-height:1.6}.quant-chips{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0}.quant-chip{padding:4px 8px;border-radius:999px;border:1px solid rgba(0,191,255,.35);background:rgba(0,191,255,.08)}.quant-chip b{color:#00bfff}.quant-explain{font-size:14px}.warn-text{color:#ffb347}
