:root{font-family:Space Grotesk,Noto Sans KR,sans-serif;color:#f6f7fb;background:#0b1018;--bg: #0b1018;--bg-soft: #121927;--panel: rgba(14, 20, 31, .92);--panel-strong: rgba(18, 26, 40, .98);--line: rgba(255, 255, 255, .08);--text: #f6f7fb;--muted: #95a2b8;--accent: #47c88a;--accent-strong: #d9fff0;--buy: #47c88a;--sell: #ff7c72;--warning: #f6c76b}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at top left,rgba(71,200,138,.14),transparent 28%),radial-gradient(circle at right top,rgba(88,149,255,.16),transparent 24%),linear-gradient(180deg,#091018,#0b1018 34%,#111827);color:var(--text)}a{color:inherit}button,input,select{font:inherit}.dashboard-shell{width:min(1480px,calc(100vw - 24px));margin:0 auto;padding:18px 0 28px;display:grid;grid-template-columns:260px minmax(0,1fr);gap:18px}.sidebar-shell,.panel,.kpi-card,.rec-card,.connector-card,.check-item{background:var(--panel);border:1px solid var(--line);box-shadow:0 24px 80px #00000047;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.sidebar-shell{position:sticky;top:18px;height:calc(100vh - 36px);border-radius:30px;padding:20px;display:grid;align-content:start;gap:22px}.sidebar-brand{display:flex;align-items:center;gap:14px}.brand-mark{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,#6ef2aa,#5c8fff);color:#071018;font-weight:700;font-size:1.25rem}.sidebar-brand strong,.sidebar-note-card strong,.sidebar-link strong{display:block}.sidebar-brand p,.sidebar-link span,.sidebar-note-card span{margin:0;color:var(--muted)}.sidebar-section{display:grid;gap:10px}.sidebar-label{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.14em}.sidebar-nav{display:grid;gap:8px}.sidebar-link{width:100%;border:1px solid transparent;border-radius:18px;background:transparent;color:var(--text);padding:14px 16px;text-align:left;cursor:pointer}.sidebar-link.active{background:linear-gradient(135deg,#47c88a29,#5c8fff1f);border-color:#47c88a38}.sidebar-summary{align-content:start}.sidebar-note-card{padding:14px;border-radius:20px;background:#ffffff08;border:1px solid rgba(255,255,255,.06)}.dashboard-main{display:grid;gap:18px}.panel,.kpi-card,.rec-card,.connector-card,.check-item{border-radius:28px}.panel{padding:22px}.hero-card{overflow:hidden;background:linear-gradient(135deg,#0f1825f5,#111926d6),radial-gradient(circle at top right,rgba(92,143,255,.26),transparent 28%)}.hero-band{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.hero-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,.95fr);gap:18px;align-items:stretch}.hero-copy h1{margin:0 0 14px;font-size:clamp(2.4rem,5vw,4.8rem);line-height:.96;letter-spacing:-.05em}.hero-copy p{margin:0;max-width:760px;color:var(--muted);line-height:1.7}.market-glance{display:grid;gap:12px}.glance-card{border-radius:24px;padding:18px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}.glance-card strong,.glance-card span{display:block}.glance-card strong{margin:8px 0;font-size:1.15rem}.glance-card p{margin:0;color:var(--muted);line-height:1.55}.highlight-card{background:linear-gradient(135deg,#47c88a29,#5c8fff29)}.market-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.kpi-card{padding:18px}.kpi-card span{display:block;color:var(--muted);font-size:.84rem}.kpi-card strong{display:block;margin:10px 0 8px;font-size:clamp(1.5rem,2vw,2.2rem)}.content-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(340px,.9fr);gap:18px;align-items:start}.primary-column,.secondary-column,.automation-stack,.grid,.config-form,.connector-fields,.rec-list,.timeline,.trade-list,.position-list,.hot-stock-list,.hot-board-columns,.hot-stock-stack{display:grid;gap:14px}.content-panel,.elevated-panel,.broker-panel{background:var(--panel-strong)}.panel h2{margin:0;font-size:1rem;letter-spacing:.04em;text-transform:uppercase}.panel-head,.connector-head,.rec-top,.timeline-row,.trade-row,.section-title-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.compact-head p,.connector-head p,.panel-head p{margin:6px 0 0}.muted{color:var(--muted)}.pill,.status,.status-chip,.check-badge,.factor-chip,.tag{border-radius:999px}.pill{border:1px solid rgba(255,255,255,.08);background:#ffffff0a;padding:9px 13px;color:var(--muted)}.pill-accent{background:#47c88a24;color:var(--accent-strong);border-color:#47c88a3d}.small-pill{font-size:.78rem}.config-panel,.automation-panel{display:grid;gap:16px}.field-block{display:grid;gap:6px}.field-label{font-size:.82rem;color:var(--muted)}.text-input{width:100%;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;color:var(--text);border-radius:16px;padding:14px 16px}.button-row{display:flex;flex-wrap:wrap;gap:10px}.primary-button,.ghost-button{border:1px solid transparent;border-radius:999px;padding:11px 15px;cursor:pointer}.primary-button{background:linear-gradient(135deg,#6ef2aa,#47c88a);color:#06110d;font-weight:600}.ghost-button{background:#ffffff0d;border-color:#ffffff14;color:var(--text)}.config-meta,.strategy-grid,.checklist-grid,.connector-grid,.broker-stat-grid,.broker-info-grid,.order-grid{display:grid;gap:12px}.config-meta strong,.strategy-grid strong,.info-chip strong,.broker-stat-grid strong{display:block;margin-top:5px;overflow-wrap:anywhere}.strategy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.checklist-grid,.connector-grid{grid-template-columns:1fr}.check-item,.connector-card{padding:16px}.check-badge,.status-chip{display:inline-flex;align-items:center;justify-content:center;width:fit-content;padding:6px 10px;font-size:.78rem;margin-bottom:10px}.check-badge.done,.status-chip.ready{background:#47c88a24;color:var(--buy)}.check-badge.todo,.status-chip.optional{background:#f6c76b24;color:var(--warning)}.rec-card{padding:18px}.factor-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.factor-chip,.tag{padding:6px 10px;background:#ffffff0d;border:1px solid rgba(255,255,255,.06);font-size:.82rem}.status{padding:7px 12px;font-size:.78rem}.status.bought,.trade-buy{background:#47c88a24;color:var(--buy)}.status.pending{background:#f6c76b24;color:var(--warning)}.status.sold,.trade-sell{background:#ff7c7224;color:var(--sell)}.timeline-row,.trade-row{padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.06)}.timeline-row:last-child,.trade-row:last-child{padding-bottom:0;border-bottom:0}.sentiment-box,.trade-metrics{text-align:right;min-width:88px}.broker-panel{display:grid;gap:18px}.broker-badges{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.broker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.broker-card{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:24px;padding:18px;display:grid;gap:14px}.broker-card h3{margin:0;font-size:1rem}.broker-card-wide{grid-column:1 / -1}.account-summary-card{background:linear-gradient(180deg,#47c88a14,#ffffff08)}.hot-board-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.small-title-row{align-items:center}.broker-stat-grid,.broker-info-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.position-row,.hot-stock-item,.info-chip,.order-result-box{border-radius:18px;border:1px solid rgba(255,255,255,.06);background:#ffffff08}.position-row,.hot-stock-item{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:14px}.compact-list{gap:10px}.hot-stock-item{width:100%;color:inherit;cursor:pointer;text-align:left}.position-row p,.position-row span,.hot-stock-item span{margin:0}.position-metrics,.hot-stock-metrics{display:grid;gap:4px;justify-items:end}.order-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));align-items:end}.order-actions{display:flex;align-items:end}.info-chip,.order-result-box{padding:14px}.info-chip span,.info-chip strong{display:block}.emphasis-chip{background:linear-gradient(135deg,#5c8fff2e,#47c88a1f)}.order-result-box p{margin:6px 0 0}.error-text{color:#ffb2ad}select.text-input{appearance:none}@media(max-width:1200px){.dashboard-shell{grid-template-columns:1fr}.sidebar-shell{position:static;height:auto}.content-grid,.hero-grid,.market-strip{grid-template-columns:1fr}}@media(max-width:960px){.broker-grid,.hot-board-columns,.strategy-grid{grid-template-columns:1fr}.panel-head,.connector-head,.timeline-row,.trade-row,.rec-top,.section-title-row,.position-row,.hot-stock-item{flex-direction:column}.sentiment-box,.trade-metrics,.position-metrics,.hot-stock-metrics{text-align:left;justify-items:start}}.dashboard-shell{grid-template-columns:1fr;gap:14px;padding:12px 0 24px}.sidebar-shell{position:static;height:auto;border-radius:26px;padding:16px;gap:16px}.sidebar-nav{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.sidebar-nav::-webkit-scrollbar{display:none}.sidebar-link{width:max-content;min-width:132px;padding:12px 14px;flex:0 0 auto}.sidebar-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-main{gap:14px}.panel,.kpi-card,.rec-card,.connector-card,.check-item{border-radius:24px}.panel,.kpi-card,.rec-card,.connector-card,.check-item,.broker-card,.glance-card{padding:16px}.hero-grid,.content-grid,.broker-grid,.hot-board-columns,.order-grid{grid-template-columns:1fr;gap:14px}.hero-copy h1{font-size:clamp(2rem,8vw,4.8rem);line-height:1}.market-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kpi-card strong{font-size:clamp(1.4rem,5vw,2.2rem);margin:8px 0 6px}.panel-head,.connector-head,.rec-top,.timeline-row,.trade-row,.section-title-row,.position-row,.hot-stock-item{flex-direction:column}.broker-stat-grid,.broker-info-grid,.strategy-grid,.sidebar-summary{grid-template-columns:1fr}.position-metrics,.hot-stock-metrics,.sentiment-box,.trade-metrics{justify-items:start;text-align:left}.button-row .primary-button,.button-row .ghost-button,.order-actions .primary-button{width:100%}@media(min-width:961px){.dashboard-shell{grid-template-columns:260px minmax(0,1fr);gap:18px;padding:18px 0 28px}.sidebar-shell{position:sticky;top:18px;height:calc(100vh - 36px);border-radius:30px;padding:20px;gap:22px}.sidebar-nav{display:grid;gap:8px;overflow:visible;padding-bottom:0}.sidebar-link{width:100%;min-width:0;padding:14px 16px}.sidebar-summary{grid-template-columns:1fr}.dashboard-main{gap:18px}.panel,.kpi-card,.rec-card,.connector-card,.check-item{border-radius:28px}.panel,.kpi-card,.rec-card,.connector-card,.check-item,.broker-card,.glance-card{padding:18px}.hero-grid{grid-template-columns:minmax(0,1.6fr) minmax(320px,.95fr);gap:18px}.content-grid{grid-template-columns:minmax(0,1.5fr) minmax(340px,.9fr);gap:18px}.market-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.broker-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.hot-board-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.order-grid,.broker-stat-grid,.broker-info-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.strategy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-head,.connector-head,.rec-top,.timeline-row,.trade-row,.section-title-row,.position-row,.hot-stock-item{flex-direction:row}.position-metrics,.hot-stock-metrics,.sentiment-box,.trade-metrics{justify-items:end;text-align:right}.button-row .primary-button,.button-row .ghost-button,.order-actions .primary-button{width:auto}}.section-chip-row{display:flex;gap:10px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.section-chip-row::-webkit-scrollbar{display:none}.section-chip{border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:var(--muted);border-radius:999px;padding:10px 14px;cursor:pointer;white-space:nowrap}.section-chip.active{background:linear-gradient(135deg,#47c88a2e,#5c8fff1f);color:var(--text);border-color:#47c88a38}.spotlight-panel{background:linear-gradient(180deg,#5c8fff14,#ffffff08)}.us-market-layout{display:grid;grid-template-columns:1fr;gap:16px}.watchlist-card,.detail-card{min-height:100%}.hot-stock-item.selected{border-color:#59d59d61;background:#59d59d14}.detail-metrics-grid,.analysis-grid{margin-bottom:14px}.chart-shell{border:1px solid rgba(255,255,255,.06);background:#080e1cb8;border-radius:22px;padding:12px;margin-bottom:14px}.price-chart{width:100%;height:auto;display:block}.chart-axis-row{display:flex;justify-content:space-between;gap:12px;margin-top:8px;font-size:.82rem}.chart-label{fill:#d3dae7b8;font-size:14px}.chart-empty{min-height:220px;display:grid;place-items:center}@media(min-width:961px){.us-market-layout{grid-template-columns:minmax(320px,.85fr) minmax(0,1.2fr)}}
