:root{--ink:#1d1d1f;--ink-2:#424245;--ink-3:#6e6e73;--ink-4:#86868b;--hairline:#d2d2d7;--hairline-2:#e8e8ed;--surface:#fff;--surface-2:#f5f5f7;--surface-3:#fafafc;--black:#000;--white:#fff;--accent:#1d1d1f;--link:#06c;--danger:#d70015;--success:#1d8a3f;--ok:#1d8a3f;--warn:#b25e00;--bad:#d70015;--ai-blue:#5e9bff;--ai-violet:#b08cff;--ai-mint:#6fe0c8;--ai-rose:#ff9ec4;--ai-amber:#ffd27a;--r-sm:8px;--r-md:14px;--r-lg:20px;--r-xl:28px;--r-pill:980px;--t-micro:11px;--t-meta:13px;--t-body:15px;--t-lede:19px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:36px;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 20px #00000014;--shadow-lg:0 18px 50px #00000029;--shadow-ring:0 0 0 4px #0066cc2e;--ease:cubic-bezier(.4, 0, .2, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--spring:cubic-bezier(0, .95, .38, .98);--font:-apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", "Inter", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}html{scrollbar-gutter:stable}body.scroll-locked{overflow:hidden}body{font-family:var(--font);color:var(--ink);background:var(--surface);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;letter-spacing:-.011em;margin:0}h1,h2,h3,h4,p{margin:0}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit}.display{letter-spacing:-.025em;font-size:clamp(40px,6vw,80px);font-weight:700;line-height:1.04}.headline{letter-spacing:-.02em;font-size:clamp(28px,4vw,48px);font-weight:600;line-height:1.08}.title{letter-spacing:-.018em;font-size:24px;font-weight:600}.subhead{color:var(--ink-3);font-size:19px;font-weight:400;line-height:1.4}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-4);font-size:12px;font-weight:600}.mono-tag{font-variant-numeric:tabular-nums}.btn{appearance:none;cursor:pointer;border-radius:var(--r-pill);transition:transform .18s var(--ease-out), background .2s var(--ease), box-shadow .2s var(--ease), opacity .2s var(--ease);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:8px;padding:12px 22px;font-size:16px;font-weight:500;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--ink);color:var(--white)}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-md);background:#000}.btn-secondary{background:var(--surface);color:var(--ink);border:1px solid var(--hairline);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){background:var(--surface-3);border-color:var(--ink-4)}.btn-ghost{color:var(--ink);border:1px solid var(--hairline);background:0 0}.btn-ghost:hover:not(:disabled){border-color:var(--ink-3)}.btn-danger{color:var(--danger);background:0 0;border:1px solid #d700154d}.btn-danger:hover:not(:disabled){background:#d700150f}.btn-sm{padding:8px 16px;font-size:14px}.btn-lg{padding:15px 30px;font-size:18px}.btn-block{width:100%}.field{width:100%;color:var(--ink);background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-md);transition:border .18s var(--ease), box-shadow .18s var(--ease);outline:none;padding:13px 16px;font-family:inherit;font-size:16px}.field:focus{border-color:var(--link);box-shadow:var(--shadow-ring)}.field::placeholder{color:var(--ink-4)}.label{color:var(--ink-2);margin-bottom:7px;font-size:13px;font-weight:600;display:block}.card{background:var(--surface);border:1px solid var(--hairline-2);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.glass{-webkit-backdrop-filter:saturate(180%)blur(20px);background:#ffffffb8}.auth-dark{--ink:#f5f5f7;--ink-2:#d2d2d7;--ink-3:#a9a9af;--ink-4:#8a8a8f;--hairline:#48484a;--hairline-2:#3a3a3c;--surface:#1c1c1e;--surface-2:#2c2c2e;--surface-3:#242426;--white:#1c1c1e;--link:#4aa3ff;--danger:#ff6961;color:var(--ink)}.auth-dark .btn-primary:hover:not(:disabled){background:#e8e8ed}.dot{background:var(--hairline);width:14px;height:14px;transition:background .4s var(--ease), box-shadow .4s var(--ease), transform .4s var(--spring);border-radius:50%}.dot.lit{animation:dot-pop .5s var(--spring);transform:scale(1);box-shadow:0 0}@keyframes dot-pop{0%{transform:scale(.4)}60%{transform:scale(1.25)}to{transform:scale(1)}}.dot.pulse:after{content:""}.row{align-items:center;display:flex}.col{flex-direction:column;display:flex}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-6{gap:24px}.spread{justify-content:space-between}.center{justify-content:center;align-items:center}.wrap{flex-wrap:wrap}.fill{flex:1}.muted{color:var(--ink-3)}.faint{color:var(--ink-4)}.center-screen{place-items:center;min-height:100%;padding:24px;display:grid}.rise{animation:rise .6s var(--ease-out) both}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fade-in .34s var(--ease-out) both}@keyframes fade-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.stagger>*{animation:fade-in .4s var(--ease-out) both;animation-delay:calc(var(--i,0) * 45ms)}@keyframes glow-pulse{0%,to{box-shadow:0 0 0 3px #0066cc24}50%{box-shadow:0 0 0 6px #0066cc42,0 0 18px #0066cc2e}}@keyframes soft-pulse{0%,to{opacity:1;box-shadow:0 0}50%{opacity:.7;box-shadow:0 0 0 6px #0000}}.live-dot{animation:soft-pulse 1.8s var(--ease) infinite}.lift{transition:transform .22s var(--ease-out), box-shadow .22s var(--ease)}.lift:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.navbtn{border:1px solid var(--hairline);background:var(--surface);color:var(--ink-2);border-radius:var(--r-pill);cursor:pointer;transition:background .2s var(--ease), border-color .2s var(--ease), color .2s var(--ease), transform .15s var(--ease-out), box-shadow .2s var(--ease);align-items:center;gap:6px;padding:6px 13px;font-size:13px;font-weight:500;display:inline-flex}.navbtn:hover{background:var(--surface-2);border-color:var(--ink-4);color:var(--ink);box-shadow:var(--shadow-sm)}.navbtn:active{transform:scale(.96)}.rowlink{text-align:left;cursor:pointer;border-radius:var(--r-md);width:100%;transition:background .18s var(--ease);background:0 0;border:none;align-items:center;display:flex}.rowlink:hover{background:var(--surface-3)}.rowlink:active{transform:scale(.995)}.roll-row{transition:background .18s var(--ease)}.roll-row:hover{background:var(--surface-3)}.simnav{text-align:left;cursor:pointer;border-radius:var(--r-sm);color:var(--ink-2);transition:background .2s var(--ease), color .2s var(--ease);background:0 0;border:none;justify-content:space-between;align-items:center;padding:10px 12px;font-size:14px;font-weight:500;display:flex;position:relative}.simnav>span:first-child{transition:transform .18s var(--ease-out)}.simnav:hover>span:first-child{transform:translate(3px)}.simnav:hover{background:var(--surface-2)}.simnav[data-on=true]{background:var(--ink);color:#fff;font-weight:600}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes toast-out{to{opacity:0;transform:translate(12px)scale(.97)}}@keyframes slide-in-right{0%{opacity:0;transform:translate(38px)}to{opacity:1;transform:translate(0)}}@keyframes slide-in-left{0%{opacity:0;transform:translate(-38px)}to{opacity:1;transform:translate(0)}}.pop{animation:pop .32s var(--spring) both}@keyframes pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}:focus-visible{outline:2px solid var(--link);outline-offset:2px;border-radius:5px}:focus:not(:focus-visible){outline:none}::selection{background:#0000001a}*{scrollbar-width:thin;scrollbar-color:var(--hairline) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--hairline);background-clip:content-box;border:3px solid #0000;border-radius:10px}.ai-mesh{overflow:hidden}.ai-mesh:before{content:"";will-change:transform;background:radial-gradient(38% 48% at 18% 20%,#5e9bff80 0%,#0000 60%),radial-gradient(42% 52% at 84% 26%,#b08cff73 0%,#0000 62%),radial-gradient(48% 56% at 62% 90%,#6fe0c866 0%,#0000 60%),radial-gradient(40% 50% at 38% 78%,#ff9ec452 0%,#0000 60%);animation:26s ease-in-out infinite alternate mesh-drift-t;position:absolute;inset:-35%}.ai-mesh-faint{overflow:hidden}.ai-mesh-faint:before{content:"";background:radial-gradient(40% 44% at 12% 8%,#5e9bff29 0%,#0000 58%),radial-gradient(44% 50% at 92% 14%,#b08cff24 0%,#0000 60%),radial-gradient(50% 52% at 78% 96%,#6fe0c81f 0%,#0000 60%);position:absolute;inset:-35%}@keyframes mesh-drift-t{0%{transform:translate(0,0)}50%{transform:translate(-6%,4%)}to{transform:translate(4%,-5%)}}.text-ai{background:linear-gradient(100deg, var(--ink) 0%, var(--ink) 38%, #4b6cff 50%, #9a6cff 60%, var(--ink) 74%, var(--ink) 100%);color:#0000;animation:gradient-pan 6s var(--ease) 2 both;background-size:260% 100%;-webkit-background-clip:text;background-clip:text}@keyframes gradient-pan{0%{background-position:120% 0}to{background-position:-120% 0}}@keyframes shimmer{0%{transform:translate(-130%)}to{transform:translate(130%)}}@keyframes float-y{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.float{animation:float-y 5.5s var(--ease) infinite}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.018)}}.lift-ai{transition:transform .26s var(--ease-out), box-shadow .26s var(--ease);position:relative}.lift-ai:hover{box-shadow:0 14px 38px #3c5ab41f, var(--shadow-md);transform:translateY(-3px)}.btn-primary{position:relative;overflow:hidden}.btn-primary:after{content:"";transition:transform .7s var(--ease);background:linear-gradient(100deg,#0000 30%,#ffffff2e 50%,#0000 70%);position:absolute;inset:0;transform:translate(-130%)}.btn-primary:hover:not(:disabled):after{transform:translate(130%)}@media (prefers-reduced-motion:reduce){*{transition-duration:.001ms!important;animation-duration:.001ms!important}}.row-danger{color:var(--ink-4);opacity:.55;transition:opacity .15s var(--ease), color .15s var(--ease), background .15s var(--ease)}.roll-row:hover .row-danger,.row-danger:hover,.row-danger:focus-visible{opacity:1;color:var(--danger)}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}.pulse-dot{animation:pulse-dot 2.2s var(--ease) infinite}@media (prefers-reduced-motion:reduce){.pulse-dot{animation:none}}
