/* Base page styles */
@font-face{font-family:Pretendard;src:url('../PretendardVariable.woff2') format('woff2');font-display:swap}
    :root{--ink:var(--text-primary);--muted:var(--text-secondary);--line:var(--border-default);--bg:var(--bg-page);--card:var(--bg-surface);--navy:var(--bg-deep);--blue:var(--brand);--sky:var(--brand-weak);--mint:var(--success-weak);--amber:var(--caution-weak);--violet:var(--accent-violet-weak)}
    *{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Pretendard,system-ui,sans-serif;font-weight:430;letter-spacing:-.013em;line-height:1.68}.wrap{max-width:1120px;margin:auto;padding:22px 18px 62px}.hero{position:relative;overflow:hidden;padding:30px;border-radius:24px;background:linear-gradient(128deg,#142946,#315f98);color:#fff}.hero:after{content:"";position:absolute;width:340px;height:340px;right:-125px;top:-205px;border-radius:50%;border:1px solid #ffffff2e;box-shadow:0 0 0 38px #ffffff0d,0 0 0 76px #ffffff08}.eyebrow,.hero h1,.hero p,.rule{position:relative;z-index:1}.eyebrow{font-size:12px;font-weight:650;letter-spacing:.08em;color:#cadfff}.hero h1{margin:8px 0 9px;font-size:clamp(28px,5vw,42px);font-weight:680;letter-spacing:-.052em;line-height:1.18}.hero p{max-width:700px;margin:0;color:#dce8f8;font-size:15px}.rule{display:inline-flex;align-items:center;gap:7px;margin-top:17px;padding:7px 10px;border:1px solid #ffffff31;border-radius:999px;background:#ffffff16;color:#e8f2ff;font-size:12px}.overview{display:grid;grid-template-columns:1.14fr .86fr;gap:14px;margin:16px 0}.card{background:#fff;color:#14233b;border:1px solid #e1e7f0;border-radius:19px;padding:18px;box-shadow:0 8px 23px #223a5607}.card h2,.card h3{margin:0;color:#14233b;font-weight:650;letter-spacing:-.035em}.card h2{font-size:19px;line-height:1.35}.card h3{font-size:15px;line-height:1.42}.card p{margin:7px 0 0;color:#5d6f88;font-size:13px;line-height:1.65}.guide-list{display:grid;gap:8px;margin:14px 0 0;padding:0;list-style:none}.guide-list li{display:flex;gap:9px;align-items:flex-start;color:#43536c;font-size:13px}.guide-list b{display:grid;flex:0 0 22px;place-items:center;width:22px;height:22px;border-radius:7px;background:#6c4ac6;color:#fff;font-size:11px}.stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:13px}.stat{padding:13px;border:1px solid #e1e7f0;border-radius:14px;background:#fff;color:#14233b}.stat b{display:block;font-size:23px;font-weight:680;line-height:1;color:#14233b}.stat span{display:block;margin-top:6px;color:var(--muted);font-size:12px}.controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;margin:18px 0 12px}.search{width:100%;min-height:47px;padding:0 14px;border:1px solid #cddcf0;border-radius:14px;background:#fff;color:var(--ink);font:500 14px Pretendard,system-ui,sans-serif;outline:none}.search:focus{border-color:#6e94db;box-shadow:0 0 0 4px #6c4ac61a}.reset{min-height:44px!important;box-sizing:border-box;padding:11px 13px;line-height:1.2;border:1px solid #cddcf0;border-radius:12px;background:#fff;color:#42608e;font:600 13px Pretendard,system-ui,sans-serif;cursor:pointer}.reset:hover{background:var(--sky)}.filter-row{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:16px} .filter{min-height:44px;padding:10px 12px;touch-action:manipulation;border:1px solid #d7e2f1;border-radius:999px;background:#fff;color:#5c6e87;font:560 12px Pretendard,system-ui,sans-serif;cursor:pointer;transition:.18s}.filter:hover{border-color:#8b5bd5;background:#f7f3ff;color:#6c4ac6}.filter[aria-pressed="true"]{border-color:#6c4ac6;background:#6c4ac6;color:#fff}.section-head{display:flex;justify-content:space-between;gap:12px;align-items:end;margin:22px 0 10px}.section-head h2{margin:0;font-size:20px;font-weight:660;letter-spacing:-.04em}.section-head p{margin:2px 0 0;color:var(--muted);font-size:12px}.count{flex:0 0 auto;padding:5px 9px;border-radius:999px;background:#f0ebfa;color:#6c4ac6;font-size:12px;font-weight:650}.sector-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.sector{min-height:145px;padding:16px;border:1px solid #e1e7f0;border-radius:17px;background:#fff;color:#14233b;text-align:left;cursor:pointer;transition:.18s;box-shadow:0 8px 20px #233c5706}.sector:hover{transform:translateY(-2px);border-color:#8b5bd5;box-shadow:0 13px 26px rgba(108,74,198,.12)}.sector[aria-pressed="true"]{transform:translateY(-2px);border-color:#6c4ac6;background:#6c4ac6;color:#fff;box-shadow:0 13px 26px rgba(108,74,198,.18)}.sector .top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.sector b{font-size:15px;font-weight:650;letter-spacing:-.03em;line-height:1.35}.sector em{flex:0 0 auto;padding:4px 7px;border-radius:99px;background:#f0ebfa;color:#6c4ac6;font-style:normal;font-size:11px;font-weight:650}.sector span{display:block;margin-top:8px;color:var(--muted);font-size:12px;line-height:1.5}.stock-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,.67fr);gap:14px;align-items:start}.stock-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stock{position:relative;min-height:125px;padding:15px;border:1px solid var(--line);border-radius:16px;background:#fff;text-align:left;cursor:pointer;transition:.18s}.stock:hover{border-color:#8b5bd5;background:#f7f3ff;box-shadow:0 10px 22px rgba(108,74,198,.12)}.stock[aria-pressed="true"]{border-color:#6c4ac6;background:#6c4ac6;color:#fff;box-shadow:0 10px 22px rgba(108,74,198,.18)}.stock h3{margin:0;font-size:15px;font-weight:650;letter-spacing:-.03em;line-height:1.32}.stock .code{display:block;margin-top:2px;color:#7d8ba0;font-size:11px}.stock .keywords{display:-webkit-box;overflow:hidden;margin:8px 0 0;color:#516078;font-size:12px;line-height:1.55;-webkit-line-clamp:2;-webkit-box-orient:vertical}.chips{display:flex;gap:5px;flex-wrap:wrap;margin-top:9px}.chip{padding:3px 6px;border-radius:7px;background:var(--mint);color:#237260;font-size:10px;font-weight:590}.detail{position:sticky;top:14px;min-height:250px;padding:19px;border:1px solid #e1e7f0;border-radius:19px;background:#fff;color:#14233b;box-shadow:0 12px 30px rgba(20,35,59,.08)}.detail .kicker{margin:0;color:#577095;font-size:11px;font-weight:640;letter-spacing:.055em}.detail h2{margin:7px 0 0;font-size:23px;font-weight:670;letter-spacing:-.045em;line-height:1.25}.detail .detail-code{margin:2px 0 0;color:#71839a;font-size:12px}.detail h3{margin:17px 0 5px;font-size:13px;font-weight:650}.detail p{margin:0;color:#4f6078;font-size:13px;line-height:1.68}.detail-note{margin-top:15px;padding:11px 12px;border-radius:12px;background:var(--amber);color:#765420;font-size:12px;line-height:1.6}.empty{grid-column:1/-1;padding:30px 18px;border:1px dashed #cbd9eb;border-radius:16px;background:#fbfdff;color:#65768e;text-align:center;font-size:13px}.footnote{margin-top:20px;padding:14px 16px;border-left:3px solid #6f99de;border-radius:0 13px 13px 0;background:#edf4ff;color:#50637d;font-size:12px;line-height:1.7}.footnote b{color:#264c92;font-weight:650}@media(max-width:820px){.overview,.stock-layout{grid-template-columns:1fr}.detail{position:static}.sector-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.wrap{padding:15px 13px 42px}.hero{padding:23px 20px}.hero h1{font-size:29px}.overview{gap:10px;margin:11px 0}.card{padding:15px}.controls{grid-template-columns:1fr}.reset{width:100%}.sector-grid,.stock-grid{grid-template-columns:1fr}.section-head{align-items:flex-start;flex-direction:column;gap:6px}.detail{padding:16px}}
    .market-panel{margin-top:17px;padding:14px;border:1px solid #dce7f4;border-radius:15px;background:#fbfdff}.market-panel h3{margin:0;font-size:13px;font-weight:650}.market-caption{margin:3px 0 10px;color:#718199;font-size:11px;line-height:1.55}.spark-wrap{padding:8px;border-radius:12px;background:#f4f8fe}.spark{display:block;width:100%;height:84px}.spark-base{stroke:#d8e4f4;stroke-width:1}.spark-line{fill:none;stroke:#376bc8;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.spark-dot{fill:#376bc8}.market-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px}.market-metric{padding:9px 8px;border:1px solid #e2eaf5;border-radius:10px;background:#fff}.market-metric span{display:block;color:#75859a;font-size:10px;line-height:1.3}.market-metric b{display:block;margin-top:4px;color:#263b58;font-size:12px;font-weight:650;line-height:1.3}.flow-box{margin-top:11px;padding:10px;border:1px solid #e1e9f4;border-radius:12px;background:#fff}.flow-head{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#53657d;font-size:11px}.flow-bars{display:flex;align-items:flex-end;gap:13px;min-height:70px;margin-top:8px;padding:6px 10px;border-radius:9px;background:#f5f8fc}.flow-unit{display:grid;justify-items:center;gap:4px;min-width:56px;color:#63758e;font-size:10px}.flow-track{display:flex;align-items:flex-end;width:28px;height:43px;border-bottom:1px solid #b8c8dd}.flow-bar{width:28px;min-height:4px;border-radius:6px 6px 2px 2px;background:#3a9a82}.flow-bar.negative{background:#d76d70}.flow-unavailable{margin-top:8px;padding:12px;border-radius:9px;background:#f5f8fc;color:#718199;font-size:11px;line-height:1.55}.observation-rule{margin-top:10px;color:#5f7189;font-size:11px;line-height:1.6}.sector-grid.sectorgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.sector-card,.sector{cursor:pointer;transition:transform .18s,box-shadow .18s,border-color .18s;text-align:left;width:100%;font:inherit;color:#14233b;background:#fff;border:1px solid #e1e7f0;border-top:5px solid #6c4ac6;border-radius:14px;padding:14px 14px 12px}.sector-card:hover,.sector:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(20,40,75,.12)}.sector-card[aria-pressed="true"],.sector[aria-pressed="true"]{border-color:#6c4ac6;box-shadow:0 0 0 2px #6c4ac633,0 12px 24px rgba(108,74,198,.12);background:#6c4ac6;color:#fff}.sector-card .top,.sector .top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.sector-card .top b,.sector .top b{font-size:15px;font-weight:660;letter-spacing:-.03em;line-height:1.35}.sector-count,.sector em{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:40px;padding:3px 8px;border-radius:999px;background:#f0ebfa;color:#6c4ac6;font-size:11px;font-weight:650;font-style:normal}.sector-card p,.sector-def{margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.55}.sector-card .sample,.sector>span:last-child{display:block;margin-top:8px;color:#51637e;font-size:12px}.macro-prompt{grid-column:1/-1;padding:22px 18px;border:1px dashed #b8cce8;border-radius:16px;background:linear-gradient(180deg,#f7fbff,#eef5ff);text-align:center}.macro-prompt h3{margin:0 0 8px;font-size:18px;font-weight:670;letter-spacing:-.03em;color:#1a3358}.macro-prompt p{margin:0;color:#51637e;font-size:14px;line-height:1.65}.macro-prompt .hint{margin-top:10px;font-size:12px;color:#6a7d96}.macro-chip-row{display:flex;flex-wrap:wrap;gap:8px}.macro-chip{min-height:44px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#456079;padding:10px 13px;font:inherit;font-size:13px;touch-action:manipulation;cursor:pointer}.macro-chip[aria-pressed="true"]{color:#fff;background:#6c4ac6;border-color:#6c4ac6}.leaf-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}.leaf-toolbar .back-sector{margin:0}.empty-explore{padding:28px 18px;border:1px dashed #c5d5ea;border-radius:16px;background:#f8fbff;text-align:center}.empty-explore h3{margin:0 0 8px;font-size:17px;font-weight:660;color:#1a3358}.empty-explore p{margin:0;color:#5f7189;font-size:13px;line-height:1.65}@media(max-width:760px){.sector-grid.sectorgrid{grid-template-columns:1fr 1fr;gap:10px}.sector-card,.sector{padding:12px}.macro-prompt,.empty-explore{padding:18px 14px}}@media(max-width:430px){.sector-grid.sectorgrid{grid-template-columns:1fr}.overview{grid-template-columns:1fr}.stock-layout{grid-template-columns:1fr}}
.macro-group{grid-column:1/-1;margin-top:6px}.macro-group:first-child{margin-top:0}.macro-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:4px 0 8px}.macro-head h3{margin:0;font-size:15px;font-weight:660;letter-spacing:-.03em}.macro-head p{margin:0;color:var(--muted);font-size:11px}.macro-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.sector-def{min-height:34px;margin-top:8px;color:#516078;font-size:11px;line-height:1.55} .back-sector{display:inline-flex;align-items:center;gap:5px;min-height:44px;touch-action:manipulation;margin:0 0 9px;padding:7px 10px;border:1px solid #8b5bd5;border-radius:10px;background:#fff;color:#6c4ac6;font:600 12px Pretendard,system-ui,sans-serif;cursor:pointer}.selected-sector-note{margin:0;color:#5d708b;font-size:12px;line-height:1.6}@media(max-width:820px){.macro-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.market-metrics{grid-template-columns:1fr 1fr}.market-metric:last-child{grid-column:1/-1}.macro-cards{grid-template-columns:1fr}.sector-def{min-height:0}}
    .knowledge-canvas{margin:0 0 14px;padding:18px;border:1px solid #e1e7f0;border-radius:18px;background:#fff;color:#14233b;box-shadow:0 8px 22px #223a5608}.knowledge-canvas[hidden]{display:none!important}.knowledge-kicker{margin:0 0 6px;color:#6c4ac6;font-size:11px;font-weight:650;letter-spacing:.06em}.knowledge-canvas h2{margin:0 0 8px;font-size:clamp(20px,4vw,26px);font-weight:680;letter-spacing:-.04em;line-height:1.25}.knowledge-hook{margin:0 0 14px;padding:10px 12px;border-left:4px solid #6c4ac6;border-radius:0 12px 12px 0;background:#f2ecfc;color:#14233b;font-size:13px;line-height:1.6}.knowledge-split{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 12px}.knowledge-split .insight{margin:0;padding:14px 15px;border:1px solid #e8eef5;border-radius:14px;background:#fff;line-height:1.65}.knowledge-split .insight b{display:block;margin-bottom:6px;font-size:14px;letter-spacing:-.02em}.knowledge-split .insight p{margin:0;color:#40536d;font-size:13px}.knowledge-split .insight.good{border-top:4px solid #6c4ac6}.knowledge-split .insight.view{border-top:4px solid #6c4ac6}.knowledge-split .insight.warn{border-top:4px solid #6D5BD0}.knowledge-split .insight.ask{border-top:4px solid #6c4ac6}.observe-list{margin:0 0 14px;padding:14px;border:1px solid #e1e9f4;border-radius:14px;background:#fff}.observe-list h3{margin:0 0 8px;font-size:14px}.observe-list ol{margin:0;padding-left:18px;color:#40536d;font-size:13px}.observe-list li{margin:6px 0}.flow.chain-flow{display:flex;gap:8px;align-items:stretch;overflow:auto;padding:4px 0 6px;margin:0 0 8px}.flow.chain-flow .node{min-width:148px;flex:1;border:1px solid #dbe5f1;background:#fff;border-radius:12px;padding:12px;font-size:12px}.flow.chain-flow .node b{display:block;margin-bottom:4px;font-size:13px;font-weight:650}.flow.chain-flow .node span{color:#66758b;line-height:1.5}.flow.chain-flow .arrow{color:#7c8ba1;align-self:center;font-size:18px;flex:0 0 auto}.chain-svg-wrap{margin:0 0 14px;padding:10px;border-radius:14px;background:#f4f8fe;border:1px solid #e2ebf6}.chain-svg{display:block;width:100%;height:auto;max-height:120px}.stocks-anchor{margin:4px 0 0;padding-top:12px;border-top:1px dashed #d3e0ef}.stocks-anchor h3{margin:0 0 4px;font-size:15px}.stocks-anchor p{margin:0;color:var(--muted);font-size:12px}@media(max-width:760px){.knowledge-split{grid-template-columns:1fr}.flow.chain-flow .node{min-width:132px}}@media(max-width:430px){.knowledge-canvas{padding:14px}.flow.chain-flow{gap:6px}.flow.chain-flow .node{min-width:120px;padding:10px}}
    .detail{display:flex;flex-direction:column;gap:12px}.detail .kicker{margin:0;color:#6c4ac6;font-size:11px;font-weight:650;letter-spacing:.06em}.detail h2{margin:0;font-size:22px;letter-spacing:-.04em;line-height:1.25}.detail-code{margin:0;color:var(--muted);font-size:12px}.detail-kpi{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.detail-kpi .chip{border:1px solid #e1e9f3;border-radius:12px;padding:11px 12px;background:#fbfdff;min-height:74px;display:flex;flex-direction:column;justify-content:space-between}.detail-kpi .chip span{display:block;color:#6d7b8f;font-size:11px;font-weight:600;line-height:1.35}.detail-kpi .chip b{display:block;margin-top:6px;color:#152238;font-size:14px;font-weight:680;letter-spacing:-.02em;line-height:1.35}.detail .insights{display:grid;gap:8px}.detail .insight{padding:12px 13px;border:1px solid #e8eef5;border-radius:12px;background:#fff;line-height:1.65;font-size:13px;color:#40536d}.detail .insight b{display:block;margin-bottom:5px;font-size:13px;color:var(--ink)}.detail .insight.stage{border-top:4px solid #6c4ac6}.detail .insight.ask{border-top:4px solid #6c4ac6}.followup-list{margin:0;padding:12px 13px;border:1px solid #e1e9f4;border-radius:12px;background:#f8fbff}.followup-list h3{margin:0 0 8px;font-size:13px}.followup-list ol{margin:0;padding-left:18px;color:#40536d;font-size:12px;line-height:1.55}.followup-list li{margin:5px 0}.vendor-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:2px} .vendor-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;touch-action:manipulation;padding:9px 11px;border-radius:11px;border:1px solid #d9cef7;background:linear-gradient(180deg,#fff,#f3f8ff);color:#5636ae;font:650 12px Pretendard,system-ui,sans-serif;text-decoration:none;text-align:center;line-height:1.35;transition:transform .15s,box-shadow .15s}.vendor-btn:hover{transform:translateY(-1px);box-shadow:0 8px 16px rgba(37,86,170,.12)}.vendor-btn.out-consensus{border-color:#b7c8e8}.vendor-btn.out-profile{border-color:#c8b9f1;color:#6c4ac6;background:linear-gradient(180deg,#fff,#f1edff)}.vendor-note{margin:0;color:#718199;font-size:11px;line-height:1.5}.detail-note{margin:0;padding:11px 12px;border-radius:11px;background:#F1EEFF;border-left:4px solid #6D5BD0;color:#172033;font-size:12px;line-height:1.55}@media(max-width:520px){.detail-kpi,.vendor-actions{grid-template-columns:1fr}}
    /* P1-029 empty + macro + knowledge polish */
    .empty-explore,.empty,.macro-prompt,.macro-bridge{padding:22px 20px;border:1px dashed #e1e7f0;border-radius:18px;background:#fff;color:#14233b;text-align:left}
    .empty-explore h3,.empty h3,.macro-prompt h3,.macro-bridge h3{margin:0 0 8px;font-size:17px;letter-spacing:-.03em;color:var(--ink)}
    .empty-explore p,.empty p,.macro-prompt p,.macro-bridge p{margin:0;color:#5c6d86;font-size:13px;line-height:1.65}
    .empty-steps{display:grid;gap:8px;margin:14px 0 0;padding:0;list-style:none}
    .empty-steps li{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid #e3ebf5;border-radius:12px;background:#fff;color:#40536d;font-size:12px;line-height:1.55}
    .empty-steps b{display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;border-radius:7px;background:#6c4ac6;color:#fff;font-size:11px}
    .macro-hook{display:block;margin-top:8px;color:#6c4ac6;font-size:12px;font-weight:600;line-height:1.5}
    .macro-next{display:inline-flex;margin-top:10px;padding:5px 9px;border-radius:999px;background:#f0ebfa;color:#6c4ac6;font-size:11px;font-weight:650}
    .knowledge-next{margin:12px 0 0;padding:12px 14px;border:1px solid #d5e4f8;border-radius:14px;background:#f3f8ff}
    .knowledge-next p{margin:0;color:#3a5273;font-size:13px;line-height:1.6}
    .knowledge-next strong{color:#1f3f72}
    .knowledge-canvas.is-macro{border-style:dashed}
    .knowledge-kicker-ko{letter-spacing:.04em}
    @media(max-width:520px){.empty-steps li{font-size:12px}.macro-hook{font-size:11px}.wrap{padding-left:12px;padding-right:12px}.filter,.macro-chip{min-height:44px}}/* P1-031 touch */@media(max-width:360px){.hero{padding:20px 14px}.hero h1{font-size:clamp(22px,7vw,32px)}.macro-cards{grid-template-columns:1fr}}

    /* CT1_SECTORMAP: pressed-state child text on violet */
    .sector[aria-pressed="true"] span,.sector[aria-pressed="true"] .sector-def,.sector[aria-pressed="true"] .learner-q,.sector[aria-pressed="true"] .sample,.sector[aria-pressed="true"] .macro-next,.sector[aria-pressed="true"] em,
    .sector-card[aria-pressed="true"] span,.sector-card[aria-pressed="true"] .sector-def,.sector-card[aria-pressed="true"] .learner-q,.sector-card[aria-pressed="true"] .sample,.sector-card[aria-pressed="true"] .macro-next,.sector-card[aria-pressed="true"] em,
    .stock[aria-pressed="true"] .code,.stock[aria-pressed="true"] .keywords{color:#fff!important}
    .sector[aria-pressed="true"] em,.sector-card[aria-pressed="true"] .sector-count,.sector-card[aria-pressed="true"] em{background:var(--brand-action)!important;color:#fff!important}
    .sector[aria-pressed="true"] .macro-next,.sector-card[aria-pressed="true"] .macro-next{background:var(--brand-action)!important;color:#fff!important}
    .quest-handoff h3{color:#fff}

/* Treasure-map presentation */
.treasure-route{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:16px 0;padding:12px;border:1px solid #dce6f2;border-radius:17px;background:#fff}
    .treasure-route span{display:flex;align-items:center;gap:7px;min-height:44px;padding:8px 10px;border-radius:11px;background:#f5f8fc;color:#6a7b92;font-size:12px}
    .treasure-route b{display:grid;place-items:center;width:23px;height:23px;border-radius:8px;background:#e7eef8;color:#45607e;font-size:11px}
    .treasure-route span.is-active{background:#6c4ac6;color:#fff;font-weight:650}.treasure-route span.is-active b{background:#8b5bd5;color:#fff}.treasure-route span.is-done b{background:var(--success,#13745f);color:#fff}.treasure-route span.is-done{background:var(--success-weak,#F1EEFF);color:var(--success,#13745f)}
    .stock-layout{grid-template-columns:1fr}.stock-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.detail{position:static;min-height:0}
    .knowledge-next{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.treasure-next{min-height:44px;padding:9px 12px;border:0;border-radius:11px;background:#6c4ac6;color:#fff;font:650 12.5px Pretendard,system-ui,sans-serif;cursor:pointer}
    .flow-question{margin:9px 0 0;color:#4b607b;font-size:11.5px}.krx-source-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:9px;padding:9px 11px;border:1px solid #bfd3ef;border-radius:10px;background:#f7faff;color:#5636ae;font-size:12px;font-weight:650;text-decoration:none}.krx-source-link:hover{background:#f1edff}
    .krx-note{margin:7px 0 0;color:#8a6a1f;font-size:11px;line-height:1.5}.krx-note a{color:#5636ae;font-weight:650;text-decoration:underline}
    @media(max-width:760px){.stock-grid{grid-template-columns:1fr 1fr}.treasure-route{grid-template-columns:1fr 1fr}}
    @media(max-width:430px){.stock-grid{grid-template-columns:1fr}.treasure-route{gap:6px;padding:8px}.treasure-route span{min-height:40px;padding:6px;font-size:11px}.flow-head{align-items:flex-start;flex-direction:column}}
    /* GB-08: entry focus — question first, one open panel, no initial detail */
    .learner-q{display:block;margin-top:8px;color:#6c4ac6;font-size:12.5px;font-weight:650;line-height:1.5}
    .sector-card .sector-def{margin-top:6px;font-size:11px;color:#66788f}
    .sector-card .sample{margin-top:6px}
    .sector-card .macro-next{margin-top:8px}
    .knowledge-canvas.is-collapsed{padding:12px 14px;border-style:dashed}
    .knowledge-canvas.is-collapsed .knowledge-collapse-body{display:none}
    .knowledge-reopen{display:inline-flex;align-items:center;min-height:44px;margin-top:8px;padding:8px 12px;border:1px solid #d9cef7;border-radius:11px;background:#f7faff;color:#5636ae;font:650 12.5px Pretendard,system-ui,sans-serif;cursor:pointer}
    .detail[hidden]{display:none!important}
    .detail-placeholder{margin:0;padding:16px;border:1px dashed #c9d8ec;border-radius:16px;background:#f8fbff;color:#5d708b;font-size:13px;line-height:1.6}
    .detail-placeholder b{display:block;margin-bottom:4px;color:#1a3358;font-size:14px}
    #stockStage.is-waiting .stock-layout{grid-template-columns:1fr}
    /* GB-09: learning depth pattern */
    .depth-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 12px}
    .depth-tab{min-height:44px;padding:8px 12px;border:1px solid #d9cef7;border-radius:999px;background:#fff;color:#456079;font:650 12px Pretendard,system-ui,sans-serif;cursor:pointer;touch-action:manipulation}
    .depth-tab[aria-selected="true"]{background:#6c4ac6;border-color:#6c4ac6;color:#fff}
    .depth-panel{display:grid;gap:10px}
    .depth-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:999px;background:#f0ebfa;color:#6c4ac6;font-size:11px;font-weight:700}
    .depth-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
    .depth-card{padding:12px 13px;border:1px solid #e1e9f4;border-radius:12px;background:#fff}
    .depth-card b{display:block;margin:0 0 5px;font-size:12.5px;color:#1a3358}
    .depth-card p{margin:0;color:#40536d;font-size:12.5px;line-height:1.6}
    .depth-card.asp{border-top:3px solid #6c4ac6}
    .depth-card.cost{border-top:3px solid #6c4ac6}
    .depth-card.margin{border-top:3px solid #6c4ac6}
    .depth-card.risk{border-top:3px solid #6D5BD0}
    .depth-card.counter{border-top:3px solid #b7414f;grid-column:1/-1}
    .depth-visual{margin:0;padding:10px;border:1px solid #e2ebf6;border-radius:14px;background:#f4f8fe}
    .depth-visual figcaption{margin-top:6px;color:var(--text-secondary);font-size:11px;line-height:1.5}
    .depth-visual .src-synthetic{display:inline-flex;padding:2px 7px;border-radius:999px;background:#efe9ff;color:#6c4ac6;font-size:10.5px;font-weight:700}
    .quest-handoff{padding:14px;border:1px solid #8b5bd5;border-radius:14px;background:#6c4ac6;color:#fff}
    .quest-handoff h3{margin:0 0 6px;font-size:15px}
    .quest-handoff p{margin:0 0 10px;color:#f2ecfc;font-size:13px;line-height:1.6}
    .quest-actions{display:flex;flex-wrap:wrap;gap:8px}
    .quest-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 12px;border-radius:11px;font:650 12.5px Pretendard,system-ui,sans-serif;text-decoration:none}
    .quest-actions .primary{background:#10233f;color:#fff;border:0}
    .quest-actions .secondary{background:#ffffff1f;color:#fff;border:1px solid #ffffff55}
    @media(max-width:520px){.depth-grid{grid-template-columns:1fr}.depth-card.counter{grid-column:auto}}
    @media(max-width:430px){
      .knowledge-canvas:not([hidden]),.detail:not([hidden]){scroll-margin-top:12px}
      .sector-card .learner-q{font-size:12px}
      .depth-tab{flex:1 1 calc(50% - 6px);justify-content:center}
    }
    /* GB-10: company-role cards + official reference links (link-only) */
    .company-role-card{display:flex;flex-direction:column;align-items:stretch;gap:8px;min-height:0;padding:14px;border-top:3px solid var(--accent-violet);border-radius:14px;background:var(--bg-surface);box-shadow:0 6px 16px rgba(23,32,51,.08)}
    .company-role-card .role-row{display:flex;flex-wrap:wrap;gap:6px;margin:0}
    .company-role-card .role-pill{display:inline-flex;align-items:center;width:auto;min-height:0;padding:4px 8px;border:1px solid var(--border-default);border-radius:999px;background:var(--brand-weak);color:var(--brand-text);font-size:10.5px;font-weight:700}
    .company-role-card .role-pill.role-sector{background:var(--accent-violet-weak);color:var(--accent-violet)}
    .company-role-card .role-q{margin:2px 0 0;color:var(--text-secondary);font-size:12px;line-height:1.55;font-weight:600}
    .company-role-card .keywords{margin:0;color:var(--text-secondary);line-height:1.5}
    .company-role-panel{padding:14px;border:1px solid #d5e4f8;border-radius:14px;background:linear-gradient(180deg,#fff,#f5f9ff)}
    .company-role-panel h3{margin:0 0 8px;font-size:14px;letter-spacing:-.02em}
    .company-role-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
    .company-role-grid .cell{padding:10px 11px;border:1px solid #e4ecf6;border-radius:11px;background:#fff}
    .company-role-grid .cell span{display:block;color:#6d7b8f;font-size:10.5px;font-weight:650;margin-bottom:4px}
    .company-role-grid .cell b{display:block;color:#152238;font-size:13px;font-weight:670;line-height:1.4}
    .company-role-grid .cell.q{grid-column:1/-1}
    .official-refs{display:grid;gap:8px;margin-top:2px}
    .official-refs h3{margin:0;font-size:13px}
    .official-refs p{margin:0;color:#66788f;font-size:11.5px;line-height:1.5}
    .vendor-actions{display:grid;grid-template-columns:1fr;gap:8px}
    @media(min-width:520px){.vendor-actions{grid-template-columns:1fr 1fr}}
    @media(max-width:520px){.company-role-grid{grid-template-columns:1fr}}
    /* S-5 semiconductor value chain */
    .semi-chain{margin:0 0 14px;padding:16px;border:1px solid #e1e7f0;border-radius:18px;background:#fff;color:#14233b}
    .semi-stage-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
    .semi-stage{min-height:44px;padding:10px 12px;border:1px solid #d9cef7;border-radius:14px;background:#fff;color:#2a4468;font:650 12.5px Pretendard,system-ui,sans-serif;cursor:pointer;touch-action:manipulation;text-align:left}
    .semi-stage[aria-pressed="true"]{background:#6c4ac6;border-color:#6c4ac6;color:#fff}
    .semi-stage small{display:block;margin-top:3px;font-weight:500;opacity:.85;font-size:11px}
    .semi-panel{margin-top:12px;padding:14px;border:1px solid #d7e5f5;border-radius:14px;background:#fff}
    .semi-panel h3{margin:0 0 6px;font-size:16px}
    .semi-panel .semi-block{margin-top:10px;padding-top:10px;border-top:1px dashed #e1e9f4}
    .semi-panel .semi-block:first-of-type{margin-top:0;padding-top:0;border-top:0}
    .semi-panel ul{margin:6px 0 0;padding-left:18px;color:#40536d;font-size:13px;line-height:1.55}
    .semi-panel a{color:#5636ae;font-weight:620}
    @media(max-width:520px){.semi-stage{flex:1 1 calc(50% - 8px)}}
    @media (prefers-color-scheme: dark){
      .guide-list li,.detail p,.detail .insight,.knowledge-split .insight p,.observe-list ol,.depth-card p,.quest-handoff p,.semi-panel ul,.followup-list ol,.company-role-card .role-q{color:var(--text-secondary)}
      .guide-list b,.empty-steps b{background:var(--brand-weak);color:var(--brand-text)}
      .stat,.search,.reset,.filter,.macro-chip,.back-sector,.sector,.stock,.detail,.market-panel,.market-metric,.flow-box,.knowledge-canvas,.knowledge-split .insight,.observe-list,.flow.chain-flow .node,.empty-explore,.empty,.macro-prompt,.macro-bridge,.depth-tab,.depth-card,.semi-chain,.semi-stage,.semi-panel,.company-role-panel,.company-role-grid .cell,.detail-kpi .chip,.detail .insight,.followup-list,.vendor-btn,.detail-placeholder,.treasure-route{background:var(--bg-surface);border-color:var(--border-default);color:var(--text-primary)}
      .stat b,.knowledge-kicker,.detail .kicker,.depth-badge,.role-pill,.company-role-card .role-pill,.macro-hook,.macro-next,.knowledge-next strong,.krx-source-link,.learner-q,.vendor-btn,.semi-panel a{color:var(--brand-text)}
      .filter:hover,.filter[aria-pressed="true"],.macro-chip[aria-pressed="true"],.depth-tab[aria-selected="true"],.semi-stage[aria-pressed="true"],.sector[aria-pressed="true"],.sector-card[aria-pressed="true"],.stock[aria-pressed="true"]{background:var(--brand-action);border-color:var(--brand-action);color:#fff;box-shadow:none}
      .filter[aria-pressed="true"] *, .macro-chip[aria-pressed="true"] *, .sector[aria-pressed="true"] *, .sector-card[aria-pressed="true"] *, .stock[aria-pressed="true"] *{color:#fff}
      .count,.sector-count,.sector em,.depth-badge,.role-pill,.company-role-card .role-pill,.macro-next{background:var(--brand-weak);color:var(--brand-text)}
      .sector-def,.sector-card .sample,.stock .code,.stock .keywords,.detail-code,.detail-kpi .chip span,.vendor-note,.official-refs p,.depth-visual figcaption,.market-caption,.market-metric span,.flow-unit,.flow-unavailable,.observation-rule,.empty-explore p,.empty p,.macro-prompt p,.macro-bridge p,.detail-placeholder,.selected-sector-note,.knowledge-next p,.flow-question{color:var(--text-secondary)}
      .sector:hover,.sector-card:hover,.stock:hover{border-color:var(--brand);background:var(--bg-surface-raised)}
      .detail,.knowledge-canvas,.semi-chain,.company-role-panel,.quest-handoff,.empty-explore,.empty,.macro-prompt,.macro-bridge{background:linear-gradient(180deg,var(--bg-surface),var(--bg-surface-raised))}
      .spark-wrap,.flow-bars,.flow-unavailable,.chain-svg-wrap,.depth-visual,.knowledge-next,.detail-note,.footnote,.quest-handoff,.detail-placeholder{background:var(--bg-surface-raised);border-color:var(--border-default)}
      .knowledge-hook{background:var(--brand-weak);color:var(--brand-text);border-left-color:var(--brand)}
      .treasure-route span{background:var(--bg-surface-raised);color:var(--text-secondary)}
      .treasure-route b{background:var(--brand-weak);color:var(--brand-text)}
      .treasure-route span.is-active{background:var(--brand-weak);color:var(--brand-text)}
      .treasure-route span.is-active b,.treasure-route span.is-done b{background:var(--brand-action);color:#fff}
      .treasure-route span.is-done{background:var(--success-weak);color:var(--success)}
      .treasure-next,.quest-actions .primary{background:var(--brand-action);color:#fff}
      .quest-actions .secondary,.vendor-btn.out-profile{background:var(--bg-surface);color:var(--brand-text);border-color:var(--border-default)}
      .company-role-card .role-pill.role-sector{background:var(--accent-violet-weak);color:#c1aef5}
      .depth-visual .src-synthetic{background:var(--accent-violet-weak);color:#c1aef5}
      .macro-prompt h3,.empty-explore h3,.detail-placeholder b,.depth-card b,.company-role-grid .cell b{color:var(--text-primary)}
      .sector-card .sector-def,.sector .sector-def,.macro-prompt .hint{color:var(--text-secondary)}
      .sector-card .macro-next,.sector .macro-next{background:var(--brand-weak);color:var(--brand-text)}
      .footnote{color:var(--text-secondary)}
      .footnote b{color:var(--brand-text)}
    }

/* Final light/dark card-tier overrides */
/* After product-theme.css + page dark media: fixed white/violet two-tier.
       Loaded after the base rules to define the final card tiers. */
    .card,.stat,.sector,.sector-card,.stock,.detail,.market-panel,.market-metric,.flow-box,
    .knowledge-canvas,.knowledge-split .insight,.observe-list,.flow.chain-flow .node,
    .empty-explore,.empty,.macro-prompt,.macro-bridge,.depth-tab,.depth-card,.semi-chain,
    .semi-stage,.semi-panel,.company-role-panel,.company-role-grid .cell,.detail-kpi .chip,
    .detail .insight,.followup-list,.vendor-btn,.detail-placeholder,.treasure-route,
    .filter,.macro-chip,.reset,.search,.back-sector{background:var(--bg-surface)!important;color:var(--text-primary)!important;border-color:var(--border-default)!important}
    .card h2,.card h3,.stat b,.macro-prompt h3,.empty-explore h3,.empty h3,.depth-card b,
    .detail h2,.detail .insight b,.company-role-grid .cell b,.detail-placeholder b,.semi-panel h3{color:var(--text-primary)!important}
    .card p,.stat span,.sector span,.sector-def,.sector-card p,.stock .code,.stock .keywords,
    .detail p,.detail-code,.market-caption,.market-metric span,.empty-explore p,.empty p,
    .macro-prompt p,.macro-bridge p,.depth-card p,.observe-list ol,.semi-panel ul,
    .selected-sector-note,.detail-placeholder,.flow-question,.section-head p{color:var(--text-secondary)!important}
    /* Current-step / selected → solid violet */
    .filter[aria-pressed="true"],.macro-chip[aria-pressed="true"],.depth-tab[aria-selected="true"],
    .semi-stage[aria-pressed="true"],.sector[aria-pressed="true"],.sector-card[aria-pressed="true"],
    .stock[aria-pressed="true"],.treasure-route span.is-active{background:var(--brand-action)!important;color:#fff!important;border-color:var(--accent-violet)!important}
    .filter[aria-pressed="true"] *,.macro-chip[aria-pressed="true"] *,.sector[aria-pressed="true"] *,
    .sector-card[aria-pressed="true"] *,.stock[aria-pressed="true"] *{color:#fff!important}
    .sector[aria-pressed="true"] b,.sector-card[aria-pressed="true"] b,.stock[aria-pressed="true"] h3,
    .treasure-route span.is-active{color:#fff!important}
    .quest-handoff{background:var(--brand-action)!important;color:#fff!important;border-color:var(--accent-violet)!important}
    .quest-handoff p,.quest-handoff h3{color:#fff!important}
    .quest-handoff p{color:#fff!important}
    .treasure-next{background:var(--brand-action)!important;color:#fff!important}
    .count,.sector-count,.sector em,.depth-badge,.macro-next{background:var(--accent-violet-weak)!important;color:var(--accent-violet)!important}
    .learner-q,.macro-hook,.knowledge-kicker,.back-sector{color:var(--accent-violet)!important}
    .knowledge-hook{background:var(--accent-violet-weak)!important;color:var(--text-primary)!important;border-left-color:var(--accent-violet)!important}
    /* Semantic success / caution / danger — not violet */
    .chip{background:var(--mint,var(--success-weak))!important;color:#237260!important}
    .detail-note,.krx-note{/* caution surfaces kept by page rules */}
    .treasure-route span.is-done{background:var(--success-weak,#F1EEFF)!important;color:var(--success,#13745f)!important}
    .treasure-route span.is-done b{background:var(--brand-action)!important;color:#fff!important}
    .company-role-card .role-pill.role-sector{background:var(--accent-violet-weak)!important;color:var(--accent-violet)!important}
    .company-role-card[aria-pressed="true"] .role-pill{background:rgba(255,255,255,.14)!important;border-color:rgba(255,255,255,.28)!important;color:#fff!important}
    .knowledge-split .insight.good{border-top-color:var(--accent-violet)!important}
    .knowledge-split .insight.warn,.depth-card.risk{border-top-color:#6D5BD0!important}
    .depth-card.counter{border-top-color:#b7414f!important}
    .flow-bar.negative{background:#d76d70!important}

/* Consolidated from #sectorMapCardTierPatch; keep in page CSS, never inline. */
/* After product-theme.css: fixed white/violet two-tier.
       Same source-order technique as #academyCardTierPatch. */
    .card,.stat,.sector,.sector-card,.stock,.detail,.market-panel,.market-metric,.flow-box,
    .knowledge-canvas,.knowledge-split .insight,.observe-list,.flow.chain-flow .node,
    .empty-explore,.empty,.macro-prompt,.macro-bridge,.depth-tab,.depth-card,.semi-chain,
    .semi-stage,.semi-panel,.company-role-panel,.company-role-grid .cell,.detail-kpi .chip,
    .detail .insight,.followup-list,.vendor-btn,.detail-placeholder,.treasure-route,
    .filter,.macro-chip,.reset,.search,.back-sector{background:var(--bg-surface)!important;color:var(--text-primary)!important;border-color:var(--border-default)!important}
    .card h2,.card h3,.stat b,.macro-prompt h3,.empty-explore h3,.empty h3,.depth-card b,
    .detail h2,.detail .insight b,.company-role-grid .cell b,.detail-placeholder b,.semi-panel h3{color:var(--text-primary)!important}
    .card p,.card li,.guide-list li,.stat span,.sector span,.sector-def,.sector-card p,.stock .code,.stock .keywords,
    .detail p,.detail-code,.market-caption,.market-metric span,.empty-explore p,.empty p,
    .macro-prompt p,.macro-bridge p,.depth-card p,.observe-list ol,.semi-panel ul,
    .selected-sector-note,.detail-placeholder,.flow-question{color:var(--text-secondary)!important}
    .section-head p{color:var(--text-secondary)!important}
    .filter[aria-pressed="true"],.macro-chip[aria-pressed="true"],.depth-tab[aria-selected="true"],
    .semi-stage[aria-pressed="true"],.sector[aria-pressed="true"],.sector-card[aria-pressed="true"],
    .stock[aria-pressed="true"],.treasure-route span.is-active{background:var(--brand-action)!important;color:#fff!important;border-color:var(--brand-action)!important}
    .filter[aria-pressed="true"] *,.macro-chip[aria-pressed="true"] *,.sector[aria-pressed="true"] *,
    .sector-card[aria-pressed="true"] *,.stock[aria-pressed="true"] *{color:#fff!important}
    .sector[aria-pressed="true"] b,.sector-card[aria-pressed="true"] b,.stock[aria-pressed="true"] h3,
    .treasure-route span.is-active{color:#fff!important}
    .quest-handoff{background:var(--brand-action)!important;color:#fff!important;border-color:var(--accent-violet)!important}
    .quest-handoff h3{color:#fff!important}
    .quest-handoff p{color:#fff!important}
    .treasure-next{background:var(--brand-action)!important;color:#fff!important}
    .count,.sector-count,.sector em,.depth-badge,.macro-next{background:var(--accent-violet-weak)!important;color:var(--accent-violet)!important}
    .learner-q,.macro-hook,.knowledge-kicker{color:var(--accent-violet)!important}
    .knowledge-hook{background:#f2ecfc!important;color:var(--text-primary)!important;border-left-color:#6c4ac6!important}
    .chip{background:var(--mint,var(--success-weak))!important;color:#237260!important}
    .detail-note,.krx-note{background:var(--bg-surface)6e5!important;color:var(--text-primary)!important;border-color:var(--accent-violet)!important}
    .detail-note *,.krx-note *{color:inherit!important}
    .treasure-route span{background:var(--bg-surface)!important;color:var(--text-secondary)!important}
    .treasure-route span.is-done{background:var(--success-weak,#eaf8f1)!important;color:var(--success,#13745f)!important}
    .treasure-route span.is-done b{background:var(--success,#13745f)!important;color:#fff!important}
    .treasure-route span.is-active{background:var(--brand-action)!important;color:#fff!important}
    .company-role-card .role-pill.sector{background:var(--success-weak)!important;color:var(--success)!important}
    .knowledge-split .insight.good{border-top-color:#137d69!important}
    .knowledge-split .insight.warn,.depth-card.risk{border-top-color:#a86f1d!important}
    .knowledge-split .insight.counter,.depth-card.counter{border-top-color:#b7414f!important}
    .flow-bar.negative{background:#d76d70!important}
    .footnote{color:var(--text-secondary)!important}
