@font-face{font-family:sans;src:url(../media/SpaceGrotesk-s.p.0oxh562_148qc.woff2)format("woff2");font-display:swap;font-weight:300 700}@font-face{font-family:sans Fallback;src:local(Arial);ascent-override:88.78%;descent-override:26.34%;line-gap-override:0.0%;size-adjust:110.84%}.sans_75e7775-module__KfLulq__className{font-family:sans,sans Fallback}.sans_75e7775-module__KfLulq__variable{--font-sans:"sans", "sans Fallback"}
@font-face{font-family:mono;src:url(../media/JetBrainsMono-s.p.2odd3csjijl0b.woff2)format("woff2");font-display:swap;font-weight:100 800}@font-face{font-family:mono Fallback;src:local(Arial);ascent-override:77.57%;descent-override:22.82%;line-gap-override:0.0%;size-adjust:131.49%}.mono_2b6ffb2e-module__6waeiq__className{font-family:mono,mono Fallback}.mono_2b6ffb2e-module__6waeiq__variable{--font-mono:"mono", "mono Fallback"}
:root{--bg:#0b0c0b;--panel:#101310;--panel2:#0d0f0d;--tile:#141714;--line:#232823;--line2:#1b201b;--line3:#2e352e;--text:#e8ebe8;--soft:#c9cfc9;--mute:#8a918a;--dim:#5c635c;--neon:#00ff87;--neon-ink:#04140b;--input:#ffe600;--amber:#ffc53d;--red:#ff6b6b;--red-soft:#ff8a8a;--purple:#c79bff;--bronze:#e0a87e;--silver:#c9cfc9;--radius:16px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--font-sans), system-ui, -apple-system, sans-serif;-webkit-font-smoothing:antialiased;min-height:100%;margin:0;padding:0}body{min-height:100dvh}a{color:var(--neon);text-decoration:none}a:hover{color:#7dffbf}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline:2px solid var(--neon);outline-offset:2px}h1,h2,h3,p{margin:0}.m{font-family:var(--font-mono), ui-monospace, Menlo, monospace;font-variant-numeric:tabular-nums}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.bg-grid{pointer-events:none;background-image:linear-gradient(#e8ebe80b 1px,#0000 1px),linear-gradient(90deg,#e8ebe80b 1px,#0000 1px);background-size:30px 30px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(90% 60% at 50% 30%,#000 20%,#0000 75%);mask-image:radial-gradient(90% 60% at 50% 30%,#000 20%,#0000 75%)}.orb{pointer-events:none;border-radius:50%;position:fixed}.orb.g{background:radial-gradient(circle,#00ff8733,#00ff8700 62%);width:460px;height:460px;margin-left:-250px;animation:16s ease-in-out infinite orb1;top:-140px;left:50%}.orb.p{background:radial-gradient(circle,#b26bff21,#b26bff00 62%);width:480px;height:480px;animation:20s ease-in-out infinite orb2;bottom:-200px;left:-160px}.scan{pointer-events:none;background:linear-gradient(90deg,#0000,#00ff878c,#0000);height:1px;animation:7s linear infinite scan;position:fixed;top:0;left:0;right:0;box-shadow:0 0 18px #00ff8799}.glow-top{pointer-events:none;background:radial-gradient(circle,#00ff871f,#00ff8700 60%);border-radius:50%;width:600px;height:600px;margin-left:-300px;position:absolute;top:40px;left:50%}@keyframes orb1{0%,to{transform:translate(0)scale(1)}50%{transform:translate(-70px,50px)scale(1.18)}}@keyframes orb2{0%,to{transform:translate(0)scale(1)}50%{transform:translate(60px,-60px)scale(.9)}}@keyframes scan{0%{transform:translateY(-40px)}to{transform:translateY(100vh)}}@keyframes up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.up{animation:.7s cubic-bezier(.16,1,.3,1) both up}.d1{animation-delay:60ms}.d2{animation-delay:.12s}.d3{animation-delay:.18s}.d4{animation-delay:.24s}.d5{animation-delay:.3s}@keyframes shake{0%,to{transform:none}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.shake{animation:.45s both shake}@keyframes glowtxt{0%,to{text-shadow:0 0 18px #00ff8773}50%{text-shadow:0 0 34px #00ff87cc}}.glowtxt{animation:3.2s ease-in-out infinite glowtxt}@keyframes caret{0%,49%{opacity:1}50%,to{opacity:0}}.caret{animation:1s step-end infinite caret}@keyframes seg{0%{transform:scaleX(0)}}.grow-x{transform-origin:0;animation:.9s cubic-bezier(.16,1,.3,1) both seg}@keyframes growy{0%{transform:scaleY(0)}}.grow-y{transform-origin:bottom;animation:.9s cubic-bezier(.16,1,.3,1) both growy}@keyframes pulsegold{0%,to{box-shadow:0 0 #ffc53d00}50%{box-shadow:0 0 0 4px #ffc53d1f,0 0 18px #ffc53d4d}}.goldpulse{animation:2.4s ease-in-out infinite pulsegold}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.card{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:16px}.card.glass{-webkit-backdrop-filter:blur(14px);background:#101310d6;border-radius:18px;padding:18px;box-shadow:0 30px 80px -30px #000000e6}.tile{background:var(--bg);border:1px solid #1e231e;border-radius:12px;padding:12px}.eyebrow{letter-spacing:.16em;color:var(--mute);text-transform:uppercase;font-size:11px;font-weight:600}.muted{color:var(--mute)}.dim{color:var(--dim)}.neon{color:var(--neon)}.amber{color:var(--amber)}.red{color:var(--red-soft)}.row{align-items:center;gap:10px;display:flex}.col{flex-direction:column;display:flex}.between{justify-content:space-between}.grid2{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.grid3{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.sec-title{margin:0;font-size:17px;font-weight:700}.btn{background:var(--neon);height:54px;color:var(--neon-ink);border:0;border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:0 20px;font-size:16px;font-weight:700;text-decoration:none;transition:transform .15s,box-shadow .25s,opacity .2s;display:inline-flex;box-shadow:0 0 0 1px #00ff8766,0 14px 34px -12px #00ff87b3}.btn:hover{color:var(--neon-ink);box-shadow:0 0 0 1px #00ff8780,0 0 34px #00ff878c}.btn:active{transform:scale(.97)}.btn:disabled,.btn[aria-disabled=true]{color:var(--dim);box-shadow:none;background:#1c221c}.btn.sm{border-radius:10px;height:40px;padding:0 14px;font-size:14px}.btn.full{width:100%}.btn.ghost{color:var(--mute);border:1px solid var(--line3);box-shadow:none;background:0 0}.btn.ghost:hover{color:var(--text);border-color:#3a423a}.btn.danger{background:var(--red);color:#1a0505;box-shadow:0 0 0 1px #ff6b6b66,0 14px 34px -12px #ff6b6b99}.linkbtn{color:var(--neon);background:0 0;border:0;min-height:32px;padding:0;font-weight:600}.linkbtn.muted{color:var(--mute)}.field{border:1px solid #ffe6004d;border-left:3px solid var(--input);width:100%;height:52px;color:var(--input);background:#15180f;border-radius:10px;padding:0 14px;font-size:15px}.field::placeholder{color:#6b7250}.field:focus{outline:none;box-shadow:0 0 0 1px #ffe600bf,0 0 22px #ffe6002e}.field.plain{color:var(--text);border:1px solid var(--line);background:var(--bg);height:44px}.field.plain:focus{box-shadow:0 0 0 1px #00ff8799}select.field{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238A918A' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:34px}.chip{border:1px solid var(--line3);letter-spacing:.04em;color:var(--mute);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 9px;font-size:11px;font-weight:700;display:inline-flex}.chip.neon{color:var(--neon);background:#00ff871f;border-color:#00ff8773}.chip.amber{color:var(--amber);background:#ffc53d1f;border-color:#ffc53d80}.chip.red{color:var(--red-soft);background:#ff6b6b1a;border-color:#ff6b6b66}.chip.purple{color:var(--purple);background:#b26bff24;border-color:#b26bff66}.alert{border-radius:12px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:13px;line-height:1.45;display:flex}.alert svg{flex:none;margin-top:1px}.alert.info{color:var(--soft);background:#00ff870f;border:1px solid #00ff8738}.alert.warn{color:#efe3c4;background:#ffc53d0f;border:1px solid #ffc53d4d}.alert.err{color:#e3cfcf;background:#ff6b6b14;border:1px solid #ff6b6b66}.alert.neutral{border:1px solid var(--line3);color:var(--soft);background:#e8ebe80a}.avatar{border:1px solid var(--line3);width:44px;height:44px;color:var(--text);background:#1b201b;border-radius:50%;flex:none;place-items:center;font-size:14px;font-weight:700;display:grid}.switch{background:var(--line3);border:0;border-radius:999px;width:48px;height:28px;padding:3px;transition:background .2s;display:flex}.switch span{background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .2s}.switch[aria-checked=true]{background:var(--neon);box-shadow:0 0 18px #00ff8773}.switch[aria-checked=true] span{background:var(--neon-ink);transform:translate(20px)}.gl{transition:border-color .25s,box-shadow .3s}.gl:hover{box-shadow:0 0 0 1px #00ff871f,0 12px 44px -14px #00ff8773;border-color:#00ff8773!important}.app-shell{min-height:100dvh;position:relative;overflow-x:hidden}.app-main{z-index:1;flex-direction:column;gap:14px;max-width:560px;margin:0 auto;padding:18px 16px 110px;display:flex;position:relative}.page-head{align-items:center;gap:8px;min-height:44px;display:flex}.page-head h1{letter-spacing:-.01em;font-size:22px;font-weight:700}.back{width:44px;height:44px;color:var(--soft);border-radius:12px;justify-content:center;align-items:center;margin-left:-8px;display:flex}.bottom-nav{z-index:30;padding:6px 6px calc(10px + env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(18px);border-top:1px solid var(--line);background:#0b0c0beb;grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{min-height:54px;color:var(--mute);flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:11px;font-weight:600;transition:color .2s;display:flex;position:relative}.bottom-nav a:hover{color:var(--text)}.bottom-nav a[aria-current=page]{color:var(--neon)}.bottom-nav a[aria-current=page]:before{content:"";background:var(--neon);width:28px;height:3px;box-shadow:0 0 12px var(--neon);border-radius:0 0 3px 3px;position:absolute;top:-6px}.side-nav{display:none}@media (min-width:1024px){.bottom-nav{display:none}.side-nav{border-right:1px solid var(--line);z-index:30;background:#090a09e6;flex-direction:column;gap:4px;width:240px;padding:24px 14px;display:flex;position:fixed;top:0;bottom:0;left:0}.side-nav .logo{margin:0 10px 26px}.side-nav a{color:var(--mute);border-radius:10px;align-items:center;gap:12px;padding:11px 12px;font-size:14px;font-weight:600;display:flex}.side-nav a:hover{color:var(--text);background:#121512}.side-nav a[aria-current=page]{color:var(--text);background:#00ff871a}.side-nav a[aria-current=page] svg{color:var(--neon);filter:drop-shadow(0 0 6px #00ff87cc)}.side-nav .me{border-top:1px solid var(--line);margin-top:auto;padding:14px 8px 0}.app-shell.with-side .app-main{max-width:1100px;margin-left:240px;margin-right:auto;padding:30px 36px 60px}.wide-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.wide-grid>.col{gap:14px}}.admin-shell{grid-template-columns:250px minmax(0,1fr);min-height:100dvh;display:grid}.admin-side{border-right:1px solid var(--line);background:#090a09;flex-direction:column;gap:4px;height:100dvh;padding:22px 14px;display:flex;position:sticky;top:0}.admin-side a.item{color:var(--mute);border-radius:10px;align-items:center;gap:11px;padding:10px 12px;font-size:14px;font-weight:500;display:flex}.admin-side a.item:hover{color:var(--text);background:#121512}.admin-side a.item[aria-current=page]{color:var(--text);background:#00ff871a;font-weight:700}.admin-side a.item[aria-current=page] svg{color:var(--neon);filter:drop-shadow(0 0 6px #00ff87cc)}.admin-main{min-width:0;padding:30px clamp(18px,3vw,44px) 60px}.admin-main h1{letter-spacing:-.015em;font-size:clamp(24px,2.6vw,32px);font-weight:700}.admin-sub{color:var(--mute);max-width:70ch;margin-top:6px;font-size:14px;line-height:1.55}@media (max-width:900px){.admin-shell{grid-template-columns:1fr}.admin-side{z-index:10;border-right:0;border-bottom:1px solid var(--line);flex-direction:row;height:auto;padding:10px;position:sticky;overflow-x:auto}.admin-side .hide-sm{display:none}.admin-side a.item{white-space:nowrap}}.kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}@media (max-width:1100px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}.kpi .l{letter-spacing:.14em;color:var(--mute);font-size:11px;font-weight:600}.kpi .v{font-family:var(--font-mono), monospace;margin-top:8px;font-size:28px;font-weight:700}.kpi .s{color:var(--dim);margin-top:4px;font-size:12px}.tbl-wrap{overflow-x:auto}.tbl{border-collapse:collapse;width:100%;font-size:14px}.tbl th{text-align:left;color:var(--dim);letter-spacing:.12em;border-bottom:1px solid var(--line);white-space:nowrap;padding:0 12px 10px;font-size:11px;font-weight:600}.tbl td{border-bottom:1px solid var(--line2);vertical-align:middle;padding:12px}.tbl td.n,.tbl th.n{text-align:right}.tbl tr:last-child td{border-bottom:0}.steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}@media (max-width:800px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}.step{background:var(--panel);border:1px solid var(--line);text-align:left;border-radius:14px;align-items:center;gap:12px;padding:12px 14px;display:flex}.step .n{background:var(--line2);width:30px;height:30px;color:var(--dim);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:700;display:grid}.step.on{background:#00ff8714;border-color:#00ff8780}.step.on .n,.step.done .n{background:var(--neon);color:var(--neon-ink)}.step.on .n{box-shadow:0 0 18px #00ff8799}.dropzone{text-align:center;background:#10131099;border:1.5px dashed #3a423a;border-radius:18px;padding:40px 20px;transition:border-color .2s,background .2s}.dropzone.over{border-color:var(--neon);background:#00ff870d}.toast{left:50%;bottom:calc(96px + env(safe-area-inset-bottom,0px));z-index:60;background:#1a1f1a;border:1px solid #00ff8766;border-radius:12px;padding:11px 16px;font-size:13px;animation:.4s both up;position:fixed;transform:translate(-50%)}.me-sticky{bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:5;position:sticky}@media (min-width:1024px){.me-sticky{bottom:16px}}.locked-blur{filter:blur(1.2px)}
