@charset "UTF-8";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-base: #0a0a0c;--bg-surface: #121216;--bg-raised: #18181e;--bg-overlay: #1f1f27;--bg-hover: rgba(255, 255, 255, .045);--bg-active: rgba(255, 255, 255, .08);--border-subtle: #1c1c22;--border: #26262e;--border-strong: #37373f;--text-primary: #ededf2;--text-secondary: #a2a2ae;--text-muted: #70707c;--text-dim: #4b4b55;--accent: #3ecf8e;--accent-hover: #5adfa4;--accent-pressed: #2fb87a;--accent-contrast: #06251a;--accent-dim: rgba(62, 207, 142, .12);--accent-border: rgba(62, 207, 142, .35);--accent-glow: rgba(62, 207, 142, .18);--danger: #f26d6d;--danger-dim: rgba(242, 109, 109, .12);--warning: #e8c55a;--warning-dim: rgba(232, 197, 90, .12);--info: #6aa5f8;--info-dim: rgba(106, 165, 248, .12);--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--radius-full: 999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 2px 6px rgba(0, 0, 0, .35), 0 8px 24px rgba(0, 0, 0, .35);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .4), 0 24px 64px rgba(0, 0, 0, .5);--shadow-glow: 0 0 0 1px var(--accent-border), 0 4px 24px var(--accent-glow);--transition-fast: .12s cubic-bezier(.4, 0, .2, 1);--transition: .2s cubic-bezier(.4, 0, .2, 1);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "Consolas", monospace;--sq-size: 64px}html{scrollbar-gutter:stable}html,body{height:100%;font-family:var(--font-sans);background:var(--bg-base);color:var(--text-primary);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}a{color:var(--accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-hover)}button,input,select,textarea{font-family:inherit;font-size:inherit}.tnum{font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--accent-border);outline-offset:2px;border-radius:var(--radius-sm)}::selection{background:var(--accent-dim);color:var(--text-primary)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full);border:3px solid var(--bg-base)}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;border-radius:var(--radius);border:1px solid transparent;font-size:13px;font-weight:600;letter-spacing:.01em;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:active:not(:disabled){transform:translateY(1px)}.btn-primary{background:linear-gradient(180deg,var(--accent) 0%,var(--accent-pressed) 100%);color:var(--accent-contrast);box-shadow:0 1px 2px #0000004d,inset 0 1px #ffffff2e}.btn-primary:hover:not(:disabled){background:linear-gradient(180deg,var(--accent-hover) 0%,var(--accent) 100%);box-shadow:var(--shadow-glow)}.btn-ghost{background:transparent;border-color:var(--border);color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-strong);color:var(--text-primary)}.btn-danger{background:var(--danger-dim);border-color:transparent;color:var(--danger)}.btn-danger:hover:not(:disabled){background:#f26d6d33}.input{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);padding:8px 12px;font-size:13px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input::placeholder{color:var(--text-dim)}.input:hover{border-color:var(--border-strong)}.input:focus{outline:none;border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-glow)}.section-label{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}
