.button,.icon-button,.segment{border-radius:var(--radius-sm);transition:background var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard),opacity var(--dur-fast) var(--ease-standard);border:0}.button{min-height:var(--space-8);padding:0 var(--space-3);font:var(--text-label);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:var(--space-2);display:inline-flex}.button--md{min-height:var(--space-10);padding:0 var(--space-4)}.button--primary{background:var(--accent);color:var(--accent-contrast)}.button--primary:hover{background:var(--accent-hover)}.button--secondary{background:var(--surface-3);color:var(--text-primary);box-shadow:inset 0 0 0 1px var(--line-strong)}.button--ghost{color:var(--text-secondary);background:0 0}.button--ghost:hover{background:var(--surface-2);color:var(--text-primary)}.button--danger{background:var(--negative-bg);color:var(--negative-text);box-shadow:inset 0 0 0 1px var(--negative-border)}.button:disabled{opacity:.45}.icon-button{width:var(--space-8);height:var(--space-8);color:var(--text-secondary);background:0 0;place-items:center;display:grid}.icon-button:hover{background:var(--surface-2);color:var(--text-primary)}.panel{background:var(--surface-1);box-shadow:inset 0 0 0 1px var(--line)}.panel--inset{background:var(--surface-inset)}.panel__header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line);display:flex}.panel__title{font:var(--text-label);letter-spacing:.08em;text-transform:uppercase}.panel__body{padding:var(--space-4)}.card{background:var(--surface-2);padding:var(--space-4);box-shadow:var(--shadow-1);border-radius:var(--radius-md)}.stat{padding:var(--space-3);border-left:1px solid var(--line-strong)}.stat__label,.label{font:var(--text-label);letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}.stat__value{font:var(--text-mono);font-variant-numeric:tabular-nums;margin-top:var(--space-1);font-size:20px}.stat__meta{gap:var(--space-2);margin-top:var(--space-1);font:var(--text-caption);align-items:center;display:flex}.delta--positive{color:var(--positive-text)}.delta--negative{color:var(--negative-text)}.stat-grid{background:var(--line);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1px;display:grid}.stat-grid>.stat{background:var(--surface-1)}.stat-row{gap:var(--space-2);display:flex;overflow:auto}.stat-row>.stat{flex:1}.table-wrap{background:var(--surface-1);box-shadow:inset 0 0 0 1px var(--line);overflow:auto}.table{border-collapse:collapse;width:100%;font:var(--text-mono);font-variant-numeric:tabular-nums}.table th{font:var(--text-label);letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);text-align:left;background:var(--surface-2)}.table td,.table th{padding:var(--space-3);border-bottom:1px solid var(--line);white-space:nowrap}.table--sticky th{position:sticky;top:0}.table tr:last-child td{border-bottom:0}.segmented{background:var(--surface-inset);box-shadow:inset 0 0 0 1px var(--line);display:inline-flex}.segment{padding:var(--space-2) var(--space-3);color:var(--text-secondary);font:var(--text-label);letter-spacing:.06em;text-transform:uppercase;background:0 0}.segment[aria-checked=true]{background:var(--surface-3);color:var(--text-primary);box-shadow:inset 0 -2px var(--accent)}.tabs{gap:var(--space-4);border-bottom:1px solid var(--line);display:flex}.tab{color:var(--text-secondary);padding:var(--space-2) 0;font:var(--text-label);letter-spacing:.08em;text-transform:uppercase;background:0 0;border:0}.tab[data-state=active]{color:var(--text-primary);box-shadow:inset 0 -2px var(--accent)}.badge,.kbd{min-height:var(--space-5);padding:0 var(--space-2);border-radius:var(--radius-sm);font:var(--text-label);letter-spacing:.06em;text-transform:uppercase;box-shadow:inset 0 0 0 1px var(--line-strong);align-items:center;display:inline-flex}.badge--positive{color:var(--positive-text);background:var(--positive-bg);box-shadow:inset 0 0 0 1px var(--positive-border)}.badge--warning{color:var(--warning-text);background:var(--warning-bg);box-shadow:inset 0 0 0 1px var(--warning-border)}.badge--info{color:var(--info-text);background:var(--info-bg);box-shadow:inset 0 0 0 1px var(--info-border)}.badge--muted{color:var(--text-secondary);background:var(--surface-2)}.badge--rare{color:var(--accent-hover);background:var(--accent-muted);box-shadow:inset 0 0 0 1px var(--accent-muted)}.badge--legendary{color:var(--accent-2-hover);background:var(--warning-bg);box-shadow:inset 0 0 0 1px var(--warning-border)}.kbd{font-family:var(--font-mono);color:var(--text-secondary);background:var(--surface-inset)}.field{gap:var(--space-2);display:grid}.input{min-height:var(--space-10);border:0;border-bottom:1px solid var(--line-strong);border-radius:var(--radius-none);padding:0 var(--space-3);background:var(--surface-inset);color:var(--text-primary)}.input:hover{border-color:var(--text-tertiary)}.input:disabled{color:var(--text-disabled)}.number{font:var(--text-mono);font-variant-numeric:tabular-nums}.tooltip__content{z-index:var(--z-tooltip);width:max-content;max-width:240px;padding:var(--space-2);background:var(--surface-3);color:var(--text-primary);font:var(--text-caption);box-shadow:var(--shadow-2)}.viz-line{width:100%;height:var(--space-10);display:block;overflow:visible}.mini-bar{height:var(--space-2);background:var(--surface-inset);overflow:hidden}.mini-bar__fill{background:var(--accent);height:100%}.radial{width:var(--space-12);height:var(--space-12);display:block;transform:rotate(-90deg)}.radial__track{fill:none;stroke:var(--surface-3);stroke-width:var(--space-1)}.radial__value{fill:none;stroke:var(--accent);stroke-width:var(--space-1);stroke-linecap:square}.overlay{z-index:var(--z-dialog);background:var(--overlay);position:fixed;inset:0}.dialog{z-index:calc(var(--z-dialog) + 1);width:min(calc(100% - var(--space-8)),560px);background:var(--surface-1);box-shadow:var(--shadow-2),inset 0 0 0 1px var(--line-strong);position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.drawer{height:100dvh;width:min(calc(100% - var(--space-8)),560px);top:0;left:auto;right:0;transform:translate(0)}@media (prefers-reduced-motion:no-preference){.drawer{animation:drawer-in var(--dur-base) var(--ease-standard)}@keyframes drawer-in{0%{transform:translate(100%)}to{transform:translate(0)}}}
