:root,[data-theme=dark]{--bg-primary:#0a0a0f;--bg-secondary:#12121a;--bg-card:#1a1a25;--text-primary:#f0f0f5;--text-secondary:#a0a0b0;--accent-1st:#00d4ff;--accent-2nd:#ff6b35;--accent-prediction:#a855f7;--border-color:#ffffff1a;--gradient-1st:linear-gradient(135deg, #00d4ff, #09c);--gradient-2nd:linear-gradient(135deg, #ff6b35, #c52);--shadow:#00000059;--hover-overlay:#ffffff08;--scrollbar-track:#12121a;--scrollbar-thumb:#555}[data-theme=light]{--bg-primary:#f5f6fa;--bg-secondary:#eaedf3;--bg-card:#fff;--text-primary:#1a1a2e;--text-secondary:#555570;--accent-1st:#0090b3;--accent-2nd:#d4500a;--accent-prediction:#7c3aed;--border-color:#00000014;--gradient-1st:linear-gradient(135deg, #0090b3, #006680);--gradient-2nd:linear-gradient(135deg, #d4500a, #b34000);--shadow:#00000014;--hover-overlay:#00000005;--scrollbar-track:#eaedf3;--scrollbar-thumb:#bbb}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-primary);color:var(--text-primary);min-height:100vh;font-family:Noto Sans KR,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;transition:background .3s,color .3s}.container{max-width:1400px;margin:0 auto;padding:2rem}header{text-align:center;background:linear-gradient(180deg, var(--bg-secondary) 0%, transparent 100%);border-radius:24px;margin-bottom:2.5rem;padding:2.5rem 1rem 2rem;position:relative}.header-top{justify-content:flex-end;margin-bottom:1rem;display:flex}header h1{background:linear-gradient(90deg, var(--accent-1st), var(--accent-2nd));-webkit-text-fill-color:transparent;letter-spacing:-.5px;-webkit-background-clip:text;background-clip:text;margin-bottom:.4rem;font-size:2.5rem;font-weight:800}header p{color:var(--text-secondary);font-size:1.05rem}.data-badge{opacity:.7;margin-top:.5rem;font-size:.85rem!important}.theme-toggle{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;border-radius:10px;align-items:center;gap:6px;padding:.45rem 1rem;font-family:inherit;font-size:.85rem;transition:all .2s;display:inline-flex}.theme-toggle:hover{color:var(--text-primary);border-color:var(--accent-1st);box-shadow:0 0 12px #00d4ff26}.trading-panel{grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem;display:grid}.trading-card{background:var(--bg-card);border:1px solid var(--border-color);text-align:center;border-radius:18px;padding:1.5rem;transition:transform .2s,box-shadow .2s}.trading-card:hover{box-shadow:0 10px 30px var(--shadow);transform:translateY(-3px)}.trading-card.today{border-color:var(--accent-2nd);box-shadow:0 0 25px #ff6b351f}.trading-card.tomorrow{border-color:#a855f766}.trading-card.dayafter{opacity:.85;border-color:#a855f733}.trading-date{color:var(--text-secondary);margin-bottom:.25rem;font-family:JetBrains Mono,Fira Code,monospace;font-size:.78rem}.trading-label{color:var(--text-secondary);margin-bottom:.7rem;font-size:.85rem}.trading-value{margin-bottom:.5rem;font-size:2rem;font-weight:700}.trading-card.yesterday .trading-value{color:var(--text-secondary)}.trading-card.today .trading-value{color:var(--accent-2nd)}.trading-card.tomorrow .trading-value{color:var(--accent-prediction)}.trading-card.dayafter .trading-value{color:#a855f7a6}.trading-badge{border-radius:20px;padding:.2rem .65rem;font-size:.72rem;font-weight:600;display:inline-block}.trading-badge.actual{color:#22c55e;background:#22c55e1f;border:1px solid #22c55e4d}.trading-badge.predict{color:var(--accent-prediction);background:#a855f71f;border:1px solid #a855f74d}.legend{flex-wrap:wrap;justify-content:center;gap:2rem;margin-bottom:2rem;display:flex}.legend-item{color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.9rem;display:flex}.legend-color{border-radius:2px;width:22px;height:4px}.legend-color.first{background:var(--accent-1st)}.legend-color.second{background:var(--accent-2nd)}.legend-color.prediction{background:var(--accent-prediction);border:1px dashed var(--accent-2nd)}.chart-section{background:var(--bg-card);border:1px solid var(--border-color);box-shadow:0 8px 40px var(--shadow);border-radius:22px;margin-bottom:2rem;padding:2rem;transition:transform .3s,box-shadow .3s}.chart-section:hover{box-shadow:0 12px 50px var(--shadow);transform:translateY(-2px)}.chart-section h2{color:var(--text-primary);align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:1.3rem;display:flex}.chart-section h2:before{content:"";background:var(--gradient-1st);border-radius:2px;width:4px;height:22px}.chart-subtitle{color:var(--text-secondary);margin-bottom:1rem;font-size:.9rem}.chart-container{width:100%;position:relative}.table-section{background:var(--bg-card);border:1px solid var(--border-color);box-shadow:0 8px 40px var(--shadow);border-radius:22px;padding:2rem}.table-section.full .table-container{max-height:none}.table-section h2{color:var(--text-primary);align-items:center;gap:.5rem;font-size:1.3rem;display:flex}.table-section h2:before{content:"";background:var(--gradient-2nd);border-radius:2px;width:4px;height:22px}.table-header-row{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.btn-full-table{color:var(--accent-1st);background:#00d4ff14;border:1px solid #00d4ff4d;border-radius:10px;padding:.45rem 1.1rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:all .2s}.btn-full-table:hover{color:var(--text-primary);background:#00d4ff2e}.table-container{border:1px solid var(--border-color);border-radius:14px;max-height:520px;margin-top:1rem;overflow-y:auto}.table-container.compact{max-height:520px}.table-container::-webkit-scrollbar{width:8px}.table-container::-webkit-scrollbar-track{background:var(--scrollbar-track)}.table-container::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}table{border-collapse:collapse;width:100%;font-size:.88rem}thead{background:var(--bg-secondary);z-index:10;position:sticky;top:0}th{text-align:center;color:var(--text-secondary);border-bottom:2px solid var(--border-color);text-transform:uppercase;letter-spacing:.5px;padding:.9rem 1rem;font-size:.82rem;font-weight:600}td{text-align:center;border-bottom:1px solid var(--border-color);padding:.7rem .9rem}tr:hover{background:var(--hover-overlay)}.date-1st{color:var(--accent-1st)}.date-2nd{color:var(--accent-2nd)}.prediction-row{background:#a855f70f}.today-row{background:#facc150f;outline:1px solid #facc1533}.badge{border-radius:6px;padding:.18rem .55rem;font-size:.7rem;font-weight:600;display:inline-block}.prediction-badge{color:var(--accent-prediction);background:#a855f726}.actual-badge{color:#22c55e;background:#22c55e26}.today-badge{color:#a88500;background:#facc1540;font-weight:700}[data-theme=dark] .today-badge{color:#fbbf24}.page-header{border-bottom:1px solid var(--border-color);align-items:center;gap:1.2rem;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.page-header h1{background:linear-gradient(90deg, var(--accent-1st), var(--accent-2nd));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;flex:1;font-size:1.5rem}.btn-back{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:10px;padding:.5rem 1.2rem;font-size:.85rem;text-decoration:none;transition:all .2s}.btn-back:hover{background:var(--hover-overlay);color:var(--text-primary)}.main-footer{text-align:center;color:var(--text-secondary);opacity:.8;margin-top:2rem;font-size:.82rem}.main-footer p+p{margin-top:.3rem}.loading{height:60vh;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex}.spinner{border:3px solid var(--border-color);border-top-color:var(--accent-1st);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-msg{text-align:center;color:#ef4444;padding:3rem;font-size:1.1rem}@media (width<=900px){.trading-panel{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.container{padding:1rem}header h1{font-size:1.8rem}.legend{gap:.8rem;font-size:.82rem}}@media (width<=480px){.trading-panel{grid-template-columns:1fr}.trading-value{font-size:1.6rem}.page-header{flex-wrap:wrap}}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:var(--border-color)}.recharts-legend-item-text{color:var(--text-secondary)!important;font-size:.82rem!important}
