*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f4f5f7;--bg2: #ffffff;--bg3: #eef0f3;--bg4: #e3e6ea;--bg5: #cdd2da;--border: rgba(17,24,39,.1);--border2: rgba(17,24,39,.16);--hover: rgba(17,24,39,.04);--text: #1a1d24;--text2: #5b6472;--text3: #98a0ad;--accent: #6c5ce7;--accent2: #6c5ce7;--accent-bg: rgba(108,92,231,.12);--green: #0f9d63;--green-bg: rgba(15,157,99,.12);--red: #e03131;--red-bg: rgba(224,49,49,.1);--amber: #c2700b;--amber-bg: rgba(194,112,11,.12);--blue: #2b7fd4;--blue-bg: rgba(43,127,212,.12);--radius: 12px;--radius-lg: 14px;--radius-sm: 8px;--radius-xs: 6px;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--s6: 32px;--ease: cubic-bezier(.25, 1, .5, 1);--t-fast: .13s;--t: .18s;--font: "Onest", -apple-system, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", monospace;--shadow: 0 1px 2px rgba(17,24,39,.04), 0 4px 12px rgba(17,24,39,.05);--shadow-lg: 0 2px 4px rgba(17,24,39,.04), 0 8px 24px rgba(17,24,39,.07)}html,body{height:100%;font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;overflow:hidden}#root{height:100vh;display:flex}body{font-variant-numeric:tabular-nums}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.03em;word-spacing:-.22em}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bg5);border-radius:3px}button{font-family:var(--font);cursor:pointer;border:none;background:none}input,select,textarea{font-family:var(--font);background:var(--bg3);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-sm);outline:none;transition:border-color .15s}input:focus,select:focus,textarea:focus{border-color:var(--accent)}input::placeholder,textarea::placeholder{color:var(--text2)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.fade-in{animation:fadeIn .3s ease}:where(button,a,.tap,.btn,.nav-item,[role=button]){transition:background-color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease),box-shadow var(--t) var(--ease),transform .1s var(--ease)}button:active,.tap:active,.btn:active,[role=button]:active{transform:translateY(.5px)}:focus{outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-xs)}::selection{background:var(--accent-bg);color:var(--text)}.card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.card-interactive{cursor:pointer}.card-interactive:hover{border-color:var(--border2);box-shadow:var(--shadow-lg)}.btn{display:inline-flex;align-items:center;gap:var(--s2);white-space:nowrap;font:600 13px/1 var(--font);padding:var(--s2) var(--s4);border-radius:var(--radius-sm);color:var(--text)}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{filter:brightness(1.06)}.btn-ghost{background:transparent;border:1px solid var(--border)}.btn-ghost:hover{background:var(--hover);border-color:var(--border2)}.nav-item{display:flex;align-items:center;gap:9px;padding:var(--s2) var(--s3);border-radius:var(--radius-sm);color:var(--text2);font:500 13px/1 var(--font);margin-bottom:2px;text-decoration:none}.nav-item:hover{background:var(--hover);color:var(--text)}.nav-item.active{color:var(--accent);background:var(--accent-bg);font-weight:600}.btn-ghost-ui:not(:disabled):hover{background:var(--bg4);border-color:var(--border2);color:var(--text)}.btn-primary-ui:not(:disabled):hover{filter:brightness(1.07)}.btn-green-ui:not(:disabled):hover{filter:brightness(1.04)}.btn-danger-ui:not(:disabled):hover{background:var(--red);color:#fff}
