[data-theme=dark]{--bg:#101013;--card:#17171c;--up:#f5445a;--down:#4391ff;--accent:#3485fa;--text:#c3c3c6;--text-strong:#fff;--radius:16px}[data-theme=light]{--bg:#f4f5f8;--card:#fbfcfd;--up:#de2b39;--down:#2272eb;--accent:#3182f6;--text:#4e5968;--text-strong:#191f28;--radius:16px}:root{--app-top-clearance:116px}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:Pretendard,Noto Sans KR,sans-serif}*{box-sizing:border-box}.up{color:var(--up)}.down{color:var(--down)}.flat{color:var(--text)}.has-hint{cursor:help;border-bottom:1px dotted var(--text)}@keyframes flash-up{0%{background-color:color-mix(in srgb, var(--up) 32%, transparent)}to{background-color:#0000}}@keyframes flash-down{0%{background-color:color-mix(in srgb, var(--down) 32%, transparent)}to{background-color:#0000}}.flash-up{animation:.7s ease-out flash-up}.flash-down{animation:.7s ease-out flash-down}@media (prefers-reduced-motion:reduce){.flash-up,.flash-down{animation:none}}.app-top{z-index:10;position:sticky;top:0}.app-nav{background:var(--bg);border-bottom:1px solid var(--card);align-items:center;gap:20px;padding:12px 20px;display:flex}.app-brand{color:var(--text-strong);font-size:16px;font-weight:700}.app-spacer{flex:1}.app-main{max-width:1280px;margin:0 auto;padding:20px}.card{background:var(--card);border-radius:var(--radius);padding:16px}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.card-title{color:var(--text-strong);margin:0;font-size:15px;font-weight:700}.badge{border:1px solid var(--card);background:var(--bg);color:var(--text);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px;line-height:1.6;display:inline-block}.theme-toggle,.tab,.ai-button,.retry-button{font:inherit;cursor:pointer;border:0}.theme-toggle{background:var(--card);color:var(--text);border-radius:999px;padding:6px 14px}.tabs{gap:6px;display:flex}.tab{background:var(--card);color:var(--text);border-radius:999px;padding:6px 16px}.tab:hover{color:var(--text-strong)}.tab-active{background:var(--accent);color:#fff;font-weight:700}.coin-search{align-items:center;gap:8px;display:inline-flex}.coin-search-input{font:inherit;color:var(--text-strong);background:var(--bg);border:1px solid var(--card);border-radius:999px;width:180px;padding:6px 14px}.coin-search-input::placeholder{color:var(--text)}.coin-search-input:focus{border-color:var(--accent);outline:none}.ticker-bar{background:var(--card);border-bottom:1px solid var(--bg);align-items:center;display:flex;overflow:hidden}.ticker-viewport{flex:1;overflow:hidden}.ticker-track{width:max-content;animation:40s linear infinite ticker-scroll;display:flex}.ticker-group{display:flex}.ticker-item{white-space:nowrap;align-items:baseline;gap:6px;padding:8px 18px;font-size:13px;display:inline-flex}.ticker-name{color:var(--text)}.ticker-value{color:var(--text-strong);font-weight:700}@keyframes ticker-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.ticker-track{animation:none}}.index-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px;display:grid}.index-name{margin:0 0 6px;font-size:13px}.index-value{color:var(--text-strong);margin:0 0 4px;font-size:20px;font-weight:700}.dashboard{grid-template-columns:1fr 320px;align-items:start;gap:16px;display:grid}.dashboard-main{flex-direction:column;gap:16px;min-width:0;display:flex}.dashboard-side{top:var(--app-top-clearance);max-height:calc(100vh - var(--app-top-clearance));min-width:0;position:sticky;overflow-y:auto}.table-scroll{overflow-x:auto}.stock-table{border-collapse:collapse;width:100%;font-size:13px}.stock-table th{text-align:left;color:var(--text);border-bottom:1px solid var(--bg);padding:8px 10px;font-weight:400}.stock-table td{border-bottom:1px solid var(--bg);padding:9px 10px}.stock-table tbody tr{cursor:pointer}.stock-table tbody tr:hover{background:var(--bg)}.cell-number{text-align:right;font-variant-numeric:tabular-nums}.stock-table th.cell-number{text-align:right}.cell-symbol{color:var(--text-strong);font-weight:700}.th-sort{cursor:pointer;-webkit-user-select:none;user-select:none}.stock-table th.th-sort:hover{color:var(--text-strong)}.leader-lists{flex-direction:column;gap:16px;display:flex}.leader-label{margin:0 0 8px;font-size:12px}.leader-items{margin:0;padding:0;list-style:none}.leader-item{justify-content:space-between;gap:8px;padding:5px 0;font-size:13px;display:flex}.leader-name{color:var(--text-strong)}.notice-back{color:var(--accent);margin-bottom:12px;font-size:13px;text-decoration:none;display:inline-block}.detail{flex-direction:column;gap:16px;display:flex}.detail-name{margin:0 0 6px;font-size:14px}.detail-price{color:var(--text-strong);margin:0;font-size:28px;font-weight:700;line-height:1.2}.detail-meta{margin-top:8px;font-size:13px}.detail-grid{grid-template-columns:1fr 1fr;align-items:start;gap:16px;display:grid}.price-chart{width:100%;height:360px}.returns-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.returns-label{font-size:12px}.returns-value{font-variant-numeric:tabular-nums;font-size:16px;font-weight:700}.range-gauge{align-items:center;gap:8px;font-size:12px;display:flex}.range-track{background:var(--bg);border-radius:999px;flex:1;height:4px;position:relative}.range-marker{background:var(--accent);border-radius:50%;width:8px;height:8px;position:absolute;top:50%;transform:translate(-50%,-50%)}.range-label{color:var(--text-strong);margin-top:8px;font-size:13px}.ai-button{background:var(--accent);color:#fff;border-radius:8px;padding:6px 12px;font-weight:700}.ai-button:disabled{background:var(--bg);color:var(--text);cursor:default}.ai-body{white-space:pre-wrap;font-size:14px;line-height:1.65}.spinner{border:2px solid var(--bg);border-top-color:var(--accent);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spinner-rotate}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.error-card{color:var(--up);font-size:13px}.empty{color:var(--text);padding:12px 0;font-size:13px}@media (width<=900px){.dashboard,.detail-grid{grid-template-columns:1fr}.dashboard-side{max-height:none;position:static;overflow-y:visible}.returns-row{grid-template-columns:repeat(2,minmax(0,1fr))}.price-chart{height:280px}}@media (width<=560px){.app-nav{gap:12px;padding:12px}.app-main{padding:12px}.coin-search,.coin-search-input{width:100%}}
