:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0b0d;--surface-1:#111318;--surface-2:#171a20;--surface-raised:#1c1f26;--page-plane:#0a0b0d;--text-primary:#e7e8eb;--text-secondary:#9298a3;--text-muted:#7a8089;--gridline:#22252c;--baseline:#33363f;--border:#e7e8eb17;--border-strong:#e7e8eb29;--accent:#d5a441;--accent-soft:#d5a44124;--accent-text:#e8bd6c;--series-1:#4c93d9;--series-2:#c15fa8;--series-3:#22a06a;--series-4:#b8862a;--status-good:#3ec281;--status-good-soft:#3ec28124;--status-critical:#e2585c;--status-critical-soft:#e2585c24;--status-warning:#d5a441;--radius:3px;--radius-sm:2px;--font-mono:"IBM Plex Mono", "IBM Plex Sans KR", ui-monospace, SFMono-Regular, Menlo, monospace;font-family:IBM Plex Sans,IBM Plex Sans KR,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}html{scrollbar-color:var(--baseline) transparent}body{background:var(--page-plane);color:var(--text-primary);-webkit-font-smoothing:antialiased;margin:0;font-size:14px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--baseline);border-radius:var(--radius-sm);border:2px solid var(--page-plane)}button{cursor:pointer;font-family:inherit}input,select{background:var(--surface-2);color:var(--text-primary);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:6px 8px;font-family:inherit;font-size:13.5px;transition:border-color .12s,background .12s}input::placeholder{color:var(--text-muted)}input:hover:not(:disabled),select:hover:not(:disabled){border-color:var(--text-muted)}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:1px solid var(--accent);outline-offset:1px}input:disabled,select:disabled{opacity:.5;cursor:not-allowed}input[type=number]{font-variant-numeric:tabular-nums}.app-shell{flex-direction:column;gap:14px;max-width:1560px;margin:0 auto;padding:0 20px 40px;display:flex}.topbar{z-index:10;background:var(--page-plane);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 0;display:flex;position:sticky;top:0}.brand{align-items:baseline;gap:10px;display:flex}.brand-mark{font-family:var(--font-mono);letter-spacing:.02em;color:var(--text-primary);font-size:18px;font-weight:600}.brand-sub{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:12.5px}.layout-grid{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:14px;display:grid}.layout-main{flex-direction:column;gap:14px;min-width:0;display:flex}.layout-side{flex-direction:column;gap:14px;display:flex}.bottom-grid{grid-template-columns:1.1fr .9fr;align-items:start;gap:14px;display:grid}@media (width<=980px){.layout-grid,.bottom-grid{grid-template-columns:1fr}}.panel{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.panel-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.panel-title{letter-spacing:.07em;text-transform:uppercase;color:var(--text-secondary);margin:0;font-size:13.5px;font-weight:600}.panel-note{color:var(--text-muted);font-size:12.5px;line-height:1.5}.bot-status{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);align-items:center;gap:7px;font-size:12px;display:inline-flex}.bot-status-dot{background:var(--text-muted);border-radius:50%;width:7px;height:7px}.bot-status[data-state=running] .bot-status-dot{background:var(--status-good);box-shadow:0 0 0 3px var(--status-good-soft);animation:2s ease-in-out infinite pulse}.bot-status[data-state=stopping] .bot-status-dot{background:var(--status-warning)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}.badge{font-family:var(--font-mono);letter-spacing:.03em;text-transform:uppercase;border-radius:var(--radius-sm);border:1px solid;align-items:center;gap:5px;padding:2px 6px;font-size:11.5px;font-weight:500;line-height:1.6;display:inline-flex}.badge-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:5px;height:5px}.return-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:600}.stat-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:3px;font-size:12px}.stat-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.hero-stat-row{flex-wrap:wrap;align-items:baseline;gap:40px;display:flex}.hero-stat-value{font-size:48px;font-weight:600}.hero-stat-sub{font-size:22px}.ticker-strip{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;display:grid}.ticker-tile{text-align:left;background:var(--surface-1);border:1px solid var(--border);border-left:3px solid var(--tile-accent,var(--border-strong));border-radius:var(--radius-sm);flex-direction:column;gap:6px;padding:10px 12px;transition:background .12s,border-color .12s;display:flex;position:relative}.ticker-tile:hover{background:var(--surface-2)}.ticker-tile[data-selected=true]{background:var(--surface-2);border-color:var(--accent);border-left-color:var(--tile-accent,var(--accent))}.view-toggle{background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--radius-sm);gap:2px;padding:2px;display:inline-flex}.view-toggle-btn{letter-spacing:.03em;border-radius:var(--radius-sm);color:var(--text-muted);background:0 0;border:none;padding:4px 10px;font-size:11.5px;font-weight:600;transition:background .12s,color .12s}.view-toggle-btn:hover{color:var(--text-primary)}.view-toggle-btn[data-active=true]{background:var(--surface-2);color:var(--accent)}.ticker-tile-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.ticker-symbol{font-family:var(--font-mono);letter-spacing:.01em;font-size:15px;font-weight:600}.ticker-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:18px;font-weight:600}.btn{letter-spacing:.04em;text-transform:uppercase;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-primary);padding:7px 16px;font-size:12.5px;font-weight:600;transition:background .12s,border-color .12s,transform 80ms}.btn:hover:not(:disabled){border-color:var(--text-muted)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-accent{background:var(--status-good-soft);border-color:var(--status-good);color:var(--status-good)}.btn-danger{background:var(--status-critical-soft);border-color:var(--status-critical);color:var(--status-critical)}.btn-ghost{border:1px dashed var(--border-strong);color:var(--text-secondary);background:0 0}.btn-text{color:var(--text-muted);background:0 0;border:none;padding:4px 6px;font-weight:500}.btn-text:hover:not(:disabled){color:var(--status-critical)}.field{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);flex-direction:column;gap:4px;font-size:11.5px;display:flex}.field input,.field select{text-transform:none;letter-spacing:normal}.form-row{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.w-90{width:90px}.w-100{width:100px}.w-140{width:140px}.w-170{width:170px}.error-text{color:var(--status-critical);font-size:12.5px;font-family:var(--font-mono)}.table-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;overflow-x:auto}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-family:var(--font-mono)}th,td{text-align:right;border-bottom:1px solid var(--gridline);white-space:nowrap;padding:5px 10px;font-size:12.5px}th:first-child,td:first-child{text-align:left}th{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:500}tbody tr{transition:background .1s}tbody tr:hover{background:var(--surface-2)}.empty-state{color:var(--text-muted);font-size:13px;font-family:var(--font-mono);padding:4px 0}@media (width<=640px){.app-shell{padding:0 12px 24px}.topbar{flex-wrap:wrap;gap:8px}.panel-header{flex-wrap:wrap}.ticker-strip{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.hero-stat-row{gap:20px}.hero-stat-value{font-size:32px}.hero-stat-sub{font-size:18px}.w-90,.w-100,.w-140,.w-170{width:100%}.btn{padding:10px 14px;font-size:13px}.btn-text{padding:8px 10px}.view-toggle-btn{padding:8px 12px}input,select{padding:10px;font-size:14px}}
