*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0}html{-webkit-text-size-adjust:100%;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}body{min-width:1280px;background:var(--bg-muted);color:var(--text-default);font-family:var(--font-sans);font-size:var(--font-body-size);line-height:var(--font-body-line);-webkit-font-smoothing:antialiased}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,ol,p,ul{margin:0}ol,ul{padding:0;list-style:none}img,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit;margin:0}button{border:0;background:none;padding:0;cursor:pointer}a{color:inherit;text-decoration:none}.link{color:var(--text-brand);text-decoration:underline;text-underline-offset:3px}:focus{outline:none}:focus-visible{outline:var(--focus-outline-width) solid var(--focus-outline-color);outline-offset:var(--focus-outline-offset);box-shadow:var(--focus-inner)}.focus-ring-owner:focus-within{outline:var(--focus-outline-width) solid var(--focus-outline-color);outline-offset:var(--focus-outline-offset)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{min-height:44px;display:inline-flex;align-items:center;position:fixed;top:var(--space-2);left:var(--space-2);z-index:var(--z-toast);padding:var(--space-2) var(--space-4);background:var(--surface-elevated);color:var(--text-strong);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:var(--font-body-sm-size);line-height:var(--font-body-sm-line);font-weight:var(--fw-semibold);transform:translateY(calc(-100% - var(--space-4)));box-shadow:none}.skip-link:focus-visible{transform:translateY(0);box-shadow:var(--shadow-2)}@media (prefers-reduced-motion:no-preference){.skip-link{transition:transform var(--dur-fast) var(--ease-standard)}}.price-cell{transition:background-color var(--dur-flash) var(--ease-standard);border-radius:var(--radius-xs)}.price-cell[data-tick=up]{background:var(--color-up-flash)}.price-cell[data-tick=down]{background:var(--color-down-flash)}.price-cell[data-pop]{transition:transform var(--dur-pop) var(--ease-emphasized),box-shadow var(--dur-pop) var(--ease-standard),background-color var(--dur-flash) var(--ease-standard)}.price-cell[data-pop=up]{box-shadow:var(--effect-glow-up)}.price-cell[data-pop=down]{box-shadow:var(--effect-glow-down)}.price-cell[data-pop][data-intensity=normal]{transform:scale(var(--effect-pop-scale-normal))}.price-cell[data-pop][data-intensity=strong],.price-cell[data-pop][data-strong=true]{transform:scale(var(--effect-pop-scale-strong))}.trade-flash{transition:background-color var(--dur-flash) var(--ease-standard)}.trade-flash[data-flash=up]{background:var(--color-up-flash)}.trade-flash[data-flash=down]{background:var(--color-down-flash)}.hit-tint[data-hit=up]{background:var(--color-up-flash)}.hit-tint[data-hit=down]{background:var(--color-down-flash)}.hit-tint[data-hit] [data-dir=up].dir-text{color:var(--color-up-strong)}.hit-tint[data-hit] [data-dir=down].dir-text{color:var(--color-down-strong)}.hit-tint[data-hit] [data-dir=flat].dir-text,.hit-tint[data-hit] td,.hit-tint[data-hit] th{color:var(--text-default)}[data-dir=up].dir-text{color:var(--color-up-text)}[data-dir=down].dir-text{color:var(--color-down-text)}[data-dir=flat].dir-text{color:var(--color-flat)}[data-dir=up].dir-hero{color:var(--color-up)}[data-dir=down].dir-hero{color:var(--color-down)}[data-dir=flat].dir-hero{color:var(--color-flat)}.card{background:var(--surface-default);border:1px solid var(--border-subtle);border-radius:var(--panel-radius);padding:var(--space-5)}.sym-chip{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);font-size:var(--font-micro-size);font-weight:var(--fw-bold);color:var(--text-on-brand-light);flex-shrink:0}.sym-chip--sm{width:30px;height:30px;font-size:10px;border-radius:var(--radius-sm)}.status-pill{display:inline-flex;align-items:center;gap:var(--space-1);border-radius:var(--radius-full);padding:var(--space-1) var(--space-2);font-size:var(--font-micro-size);line-height:var(--font-micro-line);font-weight:var(--font-micro-weight);transition:background-color var(--dur-flash) var(--ease-standard)}.status-pill[data-health=success]{color:var(--color-success-text);background:var(--color-success-bg)}.status-pill[data-health=warning]{color:var(--color-warning-text);background:var(--color-warning-bg)}.status-pill[data-health=danger]{color:var(--color-danger);background:var(--color-danger-bg)}.status-pill[data-order=bid]{color:var(--color-up-strong);background:var(--color-up-bg)}.status-pill[data-order=ask]{color:var(--color-down-strong);background:var(--color-down-bg)}.status-pill[data-transition=success]{background:var(--color-health-flash-success)}.status-pill[data-transition=warning]{background:var(--color-health-flash-warning)}.status-pill[data-transition=danger]{background:var(--color-health-flash-danger)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-md);color:var(--text-secondary)}.icon-btn:active{background:var(--pressed-layer)}.icon-btn[data-size=sm]{position:relative;width:36px;height:36px}.icon-btn[data-size=sm]:after{content:"";position:absolute;left:50%;top:50%;width:44px;height:44px;transform:translate(-50%,-50%)}.hit-44{position:relative}.hit-44:after{content:"";position:absolute;left:50%;top:50%;width:max(100%,44px);height:max(100%,44px);transform:translate(-50%,-50%)}.hit-44-y{position:relative}.hit-44-y:after{content:"";position:absolute;left:0;right:0;top:50%;height:max(100%,44px);transform:translateY(-50%)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-10) var(--layout-gutter);text-align:center}.empty-state--compact{padding:var(--space-6) var(--layout-gutter)}.empty-state__title{font-size:var(--font-body-size);line-height:var(--font-body-line);font-weight:var(--fw-semibold)}.empty-state__desc,.empty-state__title{color:var(--text-secondary);text-wrap:balance;word-break:keep-all;overflow-wrap:break-word}.empty-state__desc{font-size:var(--font-caption-size);line-height:var(--font-caption-line)}.empty-state__mark{width:64px;height:40px;border-radius:var(--control-radius);border:1px solid var(--border-subtle);background-color:var(--surface-sunken);background-image:repeating-linear-gradient(to right,var(--rule-tick) 0,var(--rule-tick) 1px,transparent 1px,transparent 10px)}.empty-state__mark--sm{width:48px;height:30px}.unit-suffix{font-size:var(--font-micro-size);line-height:var(--font-micro-line);font-weight:var(--fw-regular);color:var(--text-secondary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border-radius:var(--panel-radius);font-size:var(--font-body-lg-size);line-height:var(--font-body-lg-line);font-weight:var(--fw-semibold);min-height:44px;padding:0 var(--space-5);transition:background-color var(--dur-fast) var(--ease-standard)}.btn--full{display:flex;width:100%}.btn--xl{min-height:56px}.btn--primary{background:var(--brand-primary-fill);color:var(--text-on-brand)}.btn--primary:active{background:var(--brand-primary-pressed)}.btn--secondary{background:var(--surface-sunken);color:var(--text-strong);border:1px solid var(--btn-secondary-border)}.btn--buy{background:var(--color-buy);color:var(--text-inverse)}.btn--buy:active{background:var(--color-buy-pressed)}.btn--sell{background:var(--color-sell);color:var(--text-inverse)}.btn--sell:active{background:var(--color-sell-pressed)}.btn:disabled{background:var(--surface-sunken);color:var(--text-disabled);cursor:default}.gauge-plate{font-size:var(--font-micro-size);line-height:var(--font-micro-line);font-weight:var(--fw-medium);letter-spacing:.08em;color:var(--text-secondary)}.rule-rail{pointer-events:none;background-image:repeating-linear-gradient(to right,var(--rule-tick) 0,var(--rule-tick) 1px,transparent 1px,transparent var(--rule-tick-gap))}.rule-rail[data-axis=y]{background-image:repeating-linear-gradient(to bottom,var(--rule-tick) 0,var(--rule-tick) 1px,transparent 1px,transparent var(--rule-tick-gap))}.route-transition{display:flex;align-items:center;justify-content:center;min-height:40vh;padding:var(--space-10) var(--layout-gutter)}.route-transition__text{font-size:var(--font-body-size);line-height:var(--font-body-line);color:var(--text-secondary)}