:root{--brand-primary: #0E0E10;--brand-accent: #F2F2F2;--bg: #0E0E10;--bg-elev: #16161A;--bg-elev-2: #1E1E22;--border: #2A2A30;--border-strong: #3A3A42;--text: #F2F2F2;--text-dim: #A8A8B0;--text-muted: #6E6E76;--accent: #F2F2F2;--accent-pressed: #D8D8DE;--success: #5DD39E;--danger: #E5484D;--warn: #F5A524;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--shadow-sm: 0 1px 2px rgba(0,0,0,.4);--shadow-md: 0 4px 12px rgba(0,0,0,.5);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;--font-display: "Inter", var(--font-sans);--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--tap-target: 44px}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100vh;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior-y:contain}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}button{font-family:inherit;cursor:pointer;background:transparent;border:1px solid var(--border);color:var(--text);padding:12px 20px;border-radius:var(--radius-md);min-height:var(--tap-target);font-size:1rem;transition:border-color .15s ease,background .15s ease}button:hover{border-color:var(--border-strong)}button:active{background:var(--bg-elev)}button.primary{background:var(--accent);color:var(--bg);border-color:var(--accent);font-weight:600;letter-spacing:.02em}button.primary:hover{background:var(--accent-pressed);border-color:var(--accent-pressed)}input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]),select,textarea{font-family:inherit;font-size:1rem;background:var(--bg-elev);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px 14px;min-height:var(--tap-target);width:100%}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%23a0a0a8' stroke-width='1.5'><path d='M1 1.5L6 6.5L11 1.5'/></svg>");background-repeat:no-repeat;background-position:right 12px center;background-size:12px 8px;padding-right:34px}input[type=checkbox],input[type=radio]{width:18px;height:18px;min-height:0;flex-shrink:0;accent-color:var(--accent);cursor:pointer}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}input::placeholder,textarea::placeholder{color:var(--text-muted);opacity:.55;font-style:italic}.centered{display:flex;align-items:center;justify-content:center;min-height:100vh;color:var(--text-dim)}.wordmark{font-family:var(--font-display);font-weight:900;letter-spacing:.22em;text-transform:uppercase}.tagline{color:var(--text-muted);letter-spacing:.3em;text-transform:uppercase;font-size:.75rem}.shell{max-width:720px;margin:0 auto;padding:24px 20px 96px}@keyframes tf-spin{to{transform:rotate(360deg)}}.tf-spinner{display:inline-block;width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:tf-spin .7s linear infinite;vertical-align:-2px}@keyframes tf-ellipsis{0%,20%{content:"."}40%{content:".."}60%,to{content:"..."}}.tf-ellipsis:after{content:".";display:inline-block;width:1em;text-align:left;animation:tf-ellipsis 1.4s steps(1,end) infinite}
