@import "https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable.min.css";
@import "https://fonts.googleapis.com/css2?family=Agbalumo&family=Orbitron:wght@400;500;600;700;800;900&family=Share+Tech+Mono&display=swap";
:root{--bg:#000a12;--bg-2:#060f1a;--panel:#0a162880;--panel-hover:#0d1f3599;--panel-border:#00d4b81f;--accent:#00d4b8;--accent-dim:#00d4b81f;--accent-glow:#00d4b866;--ink:#d0e8ff;--ink-90:#d0e8ffe6;--ink-60:#d0e8ff99;--ink-40:#d0e8ff66;--muted:#6b9db899;--ok:#00d4b8;--ok-soft:#00d4b81a;--bad:#f36;--bad-soft:#ff33661f;--warn:#ffb800;--warn-soft:#ffb8001f;--line:#00d4b81a;--shadow:0 8px 32px #000c, 0 0 0 1px #00d4b80d;--radius:4px;--neon-cyan:#00d4b8;--neon-magenta:#ff6b35}*,:before,:after{box-sizing:border-box;min-width:0}html,body,#root{min-height:100%}body{color:var(--ink);background-color:var(--bg);background-image:radial-gradient(at top,#00d4b826 0%,#0000 60%);margin:0;font-family:Pretendard Variable,Pretendard,Noto Sans KR,-apple-system,BlinkMacSystemFont,sans-serif;position:relative;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:0;transform-origin:top;background-image:linear-gradient(#00d4b80a 1px,#0000 1px),linear-gradient(90deg,#00d4b80a 1px,#0000 1px);background-size:60px 60px;position:fixed;inset:0;transform:perspective(800px)rotateX(55deg)translateY(-80px)scale(2.2);-webkit-mask-image:linear-gradient(#0000 5%,#000 30% 60%,#0000 100%);mask-image:linear-gradient(#0000 5%,#000 30% 60%,#0000 100%)}body:after{content:"";opacity:.35;pointer-events:none;z-index:9999;background:linear-gradient(90deg,#0000,#00d4b8,#0000);height:2px;animation:6s linear infinite tron-scan;position:fixed;top:-2px;left:0;right:0;box-shadow:0 0 8px #00d4b8,0 0 16px #00d4b8}@keyframes tron-scan{0%{top:-2px}to{top:100vh}}@keyframes neon-pulse{0%,to{text-shadow:none;box-shadow:0 0 #0000}50%{box-shadow:0 0 8px 1px var(--accent-glow), 0 0 20px 2px #00d4b833;text-shadow:0 0 8px var(--accent-glow)}}@keyframes neon-pulse-border{0%,to{border-color:#00d4b866;box-shadow:inset 0 0 10px #00d4b81a}50%{border-color:#00d4b8e6;box-shadow:inset 0 0 20px #00d4b840,0 0 15px #00d4b84d}}@keyframes light-sweep{0%{left:-80%}to{left:180%}}@keyframes dot-pulse{0%,to{opacity:1}50%{opacity:.25}}@keyframes fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes skeleton-pulse{0%,to{opacity:.4}50%{opacity:.15}}@keyframes brand-flicker{0%,89%,91%,93%,95%,to{opacity:1}90%,92%,94%{opacity:.6}}.app-shell{z-index:1;width:100%;max-width:calc(var(--afin-shell-max-width) + (var(--afin-shell-gutter) * 2));padding:0 var(--afin-shell-gutter) 48px;margin:0 auto;position:relative}button{font-family:inherit}h1,h2,h3{margin:0;font-family:Pretendard Variable,Pretendard,sans-serif;font-weight:700}p{margin-top:0}.service-hub{-webkit-backdrop-filter:blur(18px);background:linear-gradient(135deg,#00d4b81f,#000a1200 48%),#000a12b8;border:1px solid #00d4b829;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;margin-bottom:14px;padding:18px;display:grid;box-shadow:inset 0 0 0 1px #ffffff05,0 8px 32px #00000073}.service-hub-copy{min-width:0}.service-hub-eyebrow{letter-spacing:.18em;color:var(--ink-40);text-transform:uppercase;margin:0 0 8px;font-family:Share Tech Mono,monospace;font-size:10px;font-weight:700}.service-hub-title{letter-spacing:-.03em;color:var(--ink);margin:0 0 8px;font-size:clamp(1.5rem,3vw,2rem)}.service-hub-desc{max-width:62ch;color:var(--ink-60);margin:0;font-size:14px;line-height:1.6}.service-hub-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.service-hub-meta{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:8px;display:flex}.service-hub-meta-item{letter-spacing:.08em;text-transform:uppercase;min-height:28px;color:var(--ink-60);background:#ffffff08;border:1px solid #00d4b824;border-radius:999px;align-items:center;padding:6px 10px;font-size:11px;font-weight:600;display:inline-flex}.toggle-group{background:#00000080;border:1px solid #ffffff14;border-radius:10px;gap:2px;padding:4px;display:inline-flex;box-shadow:inset 0 2px 8px #00000080}.toggle{color:var(--ink-40);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:8px;padding:6px 14px;font-size:13px;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1)}.toggle:hover{color:var(--ink-90);background:#ffffff0d}.toggle.active{color:var(--accent);text-shadow:0 0 8px #00d4b899;background:#00d4b81a;border:1px solid #00d4b880;font-weight:700;animation:3s ease-in-out infinite neon-pulse;box-shadow:0 0 12px #00d4b84d,inset 0 0 8px #00d4b833}.toggle:disabled{opacity:.25;cursor:not-allowed}.status-pill{letter-spacing:.01em;white-space:nowrap;border:1px solid #0000;border-radius:8px;align-items:center;gap:6px;padding:5px 11px;font-size:12px;font-weight:600;display:inline-flex}.status-pill.compact{padding:3px 8px;font-size:11px}.tone-ok{color:var(--ok);background:var(--ok-soft);border-color:#00d4b833}.tone-ok:before{content:"";background:var(--ok);border-radius:50%;flex-shrink:0;width:5px;height:5px;animation:2s ease-in-out infinite dot-pulse}.tone-bad{color:var(--bad);background:var(--bad-soft);border-color:#ff4d6a33}.tone-warn{color:var(--warn);background:var(--warn-soft);border-color:#f5a62333}.tone-neutral{color:var(--ink-60);border-color:var(--panel-border);background:#ffffff0d}.status-banner{-webkit-backdrop-filter:blur(16px);background:#00d4b814;border:1px solid #00d4b84d;border-radius:10px;flex-wrap:wrap;align-items:center;gap:20px;margin-bottom:14px;padding:10px 18px;animation:4s ease-in-out infinite neon-pulse-border;display:flex;box-shadow:inset 0 0 10px #00d4b81a,0 4px 20px #00d4b80d}.status-banner-title{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-size:11px;font-weight:600}.status-banner-sep{background:var(--panel-border);flex-shrink:0;width:1px;height:14px}.status-banner-item{align-items:baseline;gap:6px;display:flex}.status-banner-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:500}.status-banner-value{font-variant-numeric:tabular-nums;color:var(--ink-90);font-size:13px;font-weight:700}.status-banner-value.pos{color:var(--ok)}.status-banner-value.neg{color:var(--bad)}.tron-layout{grid-template-columns:1fr 360px;align-items:start;gap:12px;display:grid}.tron-left,.tron-right{flex-direction:column;gap:12px;display:flex}.panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);-webkit-backdrop-filter:blur(24px);padding:16px;transition:all .3s;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff05,0 8px 32px #0009}.panel:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#00d4b814,#0000);width:45%;height:100%;position:absolute;top:0;left:-80%;transform:skew(-12deg)}.panel:hover{border-color:#00d4b84d;box-shadow:inset 0 0 0 1px #00d4b81a,0 8px 32px #00d4b80d}.panel:hover:after{animation:.75s forwards light-sweep}.section-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.panel-eyebrow,.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 3px;font-size:10px;font-weight:500}.panel-title{letter-spacing:-.02em;color:var(--ink);margin:0;font-size:15px;font-weight:700}.coin-cards-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.coin-card{appearance:none;border:1px solid var(--panel-border);background:var(--panel);text-align:left;cursor:pointer;-webkit-backdrop-filter:blur(24px);border-radius:12px;width:100%;padding:14px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff05,0 4px 16px #00000080}.coin-card:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#00d4b826,#0000);width:45%;height:100%;position:absolute;top:0;left:-80%;transform:skew(-12deg)}.coin-card:hover{z-index:2;border-color:#00d4b880;transform:translateY(-2px);box-shadow:inset 0 0 0 1px #00d4b833,0 8px 24px #00d4b826}.coin-card:hover:after{animation:.6s forwards light-sweep}.coin-card.active{z-index:3;background:#00d4b814;border-color:#00d4b8cc;animation:3.5s ease-in-out infinite neon-pulse;box-shadow:0 0 16px #00d4b840,inset 0 0 0 1px #00d4b866}.coin-card-symbol{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-shadow:0 0 10px #ffffff1a;margin-bottom:6px;font-size:10px;font-weight:600}.coin-card-price{letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--ink);text-shadow:0 0 12px #ffffff4d;margin-bottom:10px;font-size:20px;font-weight:800;line-height:1.1;animation:.5s fade-up}.coin-card-row{justify-content:space-between;align-items:center;gap:6px;display:flex}.coin-card-row-left{align-items:center;gap:5px;display:flex}.coin-direction{letter-spacing:.05em;text-transform:uppercase;border-radius:5px;padding:2px 8px;font-size:10px;font-weight:700}.direction-long{color:var(--ok);background:var(--ok-soft);border:1px solid #00d4b833}.direction-short{color:var(--bad);background:var(--bad-soft);border:1px solid #ff4d6a33}.direction-idle{color:var(--muted);border:1px solid var(--panel-border);background:#ffffff0a}.coin-pnl{font-variant-numeric:tabular-nums;font-size:12px;font-weight:700}.pnl-pos{color:var(--ok)}.pnl-neg{color:var(--bad)}.pnl-zero{color:var(--muted)}.coin-intent{letter-spacing:.04em;border:1px solid #0000;border-radius:4px;padding:2px 7px;font-size:10px;font-weight:600;display:inline-block}.coin-intent--ok{color:var(--ok);background:var(--ok-soft);border-color:#00d4b833}.coin-intent--bad{color:var(--bad);background:var(--bad-soft);border-color:#ff4d6a33}.coin-intent--warn{color:var(--warn);background:var(--warn-soft);border-color:#f5a62333}.coin-intent--neutral{color:var(--muted);border-color:var(--panel-border);background:#ffffff0a}.chart-panel{flex-direction:column;gap:12px;display:flex}.focus-inline-metrics{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-bottom:0;display:grid}.focus-inline-metrics span{border:1px solid var(--panel-border);color:var(--ink-60);background:#ffffff0a;border-radius:8px;padding:6px 10px;font-size:12px}.tradingview-chart{cursor:default;-webkit-user-select:none;user-select:none;background:#0009;border:1px solid #ffffff0f;border-radius:10px;width:100%;min-height:360px;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff05,0 8px 32px #000c}.tradingview-chart-shell{position:relative}.chart-reset-button{z-index:3;border:1px solid var(--panel-border);color:var(--ink-60);font:inherit;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0a0cd9;border-radius:7px;padding:5px 10px;font-size:11px;font-weight:600;transition:all .2s;position:absolute;top:10px;right:10px}.chart-reset-button:hover{color:var(--accent);border-color:#00d4b866}.chart-overlay{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.chart-summary{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:4px;font-size:11px;display:flex}.filter-tabs{background:#00000080;border:1px solid #ffffff14;border-radius:9px;flex-wrap:wrap;align-items:center;gap:2px;padding:4px;display:inline-flex;box-shadow:inset 0 2px 8px #00000080}.filter-tab{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:7px;padding:4px 10px;font-size:12px;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1)}.filter-tab:hover{color:var(--ink-90);background:#ffffff0d}.filter-tab.active{color:var(--accent);text-shadow:0 0 8px #00d4b880;background:#00d4b81a;border:1px solid #00d4b880;font-weight:700;box-shadow:0 0 10px #00d4b833,inset 0 0 6px #00d4b833}.asset-panel{flex-direction:column;gap:14px;display:flex}.equity-card{flex-direction:column;gap:12px;display:flex}.equity-chart{background:#0009;border:1px solid #ffffff0f;border-radius:10px;padding:10px;box-shadow:inset 0 0 0 1px #ffffff05,0 8px 32px #000c}.equity-chart svg{width:100%;height:auto;display:block}.equity-area{fill:#00d4b814}.equity-line{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.equity-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.equity-meta>div{border:1px solid var(--panel-border);background:#ffffff08;border-radius:10px;min-width:0;padding:12px}.metric-label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;font-size:10px;font-weight:500;display:block}.equity-meta>div strong{font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--ink);overflow-wrap:anywhere;font-size:14px;font-weight:700;animation:.6s fade-up;display:block}.trades-panel{flex-direction:column;gap:12px;display:flex}.trade-list{border:1px solid var(--panel-border);border-radius:10px;flex-direction:column;margin-bottom:4px;display:flex;overflow:hidden}.trade-list-header{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--panel-border);background:#ffffff0a;grid-template-columns:3.5rem 3rem 6.5rem 1fr;gap:8px;padding:8px 12px;font-size:10px;font-weight:500;display:grid}.trade-list-row{border-top:1px solid #ffffff0a;grid-template-columns:3.5rem 3rem 6.5rem 1fr;gap:8px;padding:9px 12px;font-size:12px;transition:background .15s;display:grid}.trade-list-row:first-of-type{border-top:none}.trade-list-row:hover{background:#ffffff08}.tl-symbol{color:var(--ink-90);font-size:13px;font-weight:700}.tl-side{color:var(--muted);align-self:center;font-size:11px}.tl-pnl{font-variant-numeric:tabular-nums;font-weight:700}.tl-time{color:var(--muted);align-self:center;font-size:10px}.tl-pnl.pos{color:var(--ok)}.tl-pnl.neg{color:var(--bad)}.symbol-pnl-strip{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.symbol-pnl-box{border:1px solid var(--panel-border);background:#ffffff05;border-radius:10px;flex-direction:column;gap:3px;padding:10px 12px;display:flex}.symbol-pnl-box--pos{background:#00d4b80a;border-color:#00d4b840}.symbol-pnl-box--neg{background:#ff4d6a0a;border-color:#ff4d6a40}.symbol-pnl-box--neutral{opacity:.5}.symbol-pnl-name{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0;font-size:10px;font-weight:600}.symbol-pnl-value{font-variant-numeric:tabular-nums;color:var(--ink);font-size:13px;font-weight:700}.symbol-pnl-box--pos .symbol-pnl-value{color:var(--ok)}.symbol-pnl-box--neg .symbol-pnl-value{color:var(--bad)}.symbol-pnl-meta{color:var(--muted);gap:8px;font-size:10px;display:flex}.pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;padding:4px 0;display:flex}.page-btn{border:1px solid var(--panel-border);min-width:28px;height:26px;color:var(--ink-60);cursor:pointer;background:0 0;border-radius:6px;padding:0 7px;font-family:inherit;font-size:11px;transition:all .15s}.page-btn:hover:not(:disabled){color:var(--accent);background:#00d4b814;border-color:#00d4b84d}.page-btn:disabled{opacity:.25;cursor:default}.page-btn--active{color:var(--accent);background:#00d4b81f;border-color:#00d4b866;font-weight:700}.empty-state{text-align:center;color:var(--muted);border:1px dashed #ffffff1a;border-radius:10px;padding:28px;font-size:13px}.loading-panel{min-height:120px;color:var(--muted);place-items:center;font-size:13px;display:grid}.toast-stack{z-index:9999;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:1.5rem;right:1.5rem}.toast-item{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);pointer-events:none;border-radius:10px;padding:10px 16px;font-size:13px;font-weight:600;animation:.2s toast-in}.toast-item--ok{color:var(--ok);background:#00d4b81f;border:1px solid #00d4b84d}.toast-item--bad{color:var(--bad);background:#ff4d6a1f;border:1px solid #ff4d6a4d}.toast-item--warn{color:var(--warn);background:#f5a6231f;border:1px solid #f5a6234d}.skeleton{color:#0000;background:#ffffff14;border-radius:4px;min-width:4rem;min-height:1em;animation:1.4s ease-in-out infinite skeleton-pulse;display:inline-block}@media (max-width:1100px){.tron-layout{grid-template-columns:1fr}.tron-right{grid-template-columns:1fr 1fr;display:grid}.focus-inline-metrics{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.app-shell{padding-bottom:40px}.afin-primary-header-inner{padding:10px var(--afin-shell-gutter)}.service-hub{grid-template-columns:1fr;padding:16px}.service-hub-controls{justify-content:flex-start}.tron-right{grid-template-columns:1fr}.coin-cards-grid{grid-template-columns:repeat(3,1fr);gap:8px}.status-banner{flex-wrap:wrap;gap:10px}.status-banner-sep{display:none}.focus-inline-metrics{grid-template-columns:repeat(3,1fr)}}@media (max-width:520px){.service-hub-controls{align-items:stretch}.service-hub-controls .toggle-group,.service-hub-controls .status-pill{justify-content:center;width:100%}.coin-cards-grid{grid-template-columns:1fr}.coin-card-price{font-size:18px}.equity-meta{grid-template-columns:1fr}.trade-list-header,.trade-list-row{grid-template-columns:3rem 2.5rem 5.5rem 1fr;padding:7px 10px;font-size:11px}.symbol-pnl-strip{grid-template-columns:repeat(3,1fr);gap:6px}.symbol-pnl-value{font-size:11px}.focus-inline-metrics{grid-template-columns:1fr 1fr}}
