:root{--bg:#f6f7f9;--card:#fff;--card-2:#f8fafc;--line:rgba(15,23,42,.08);--line-strong:rgba(15,23,42,.14);--text:#0f172a;--text-2:#475569;--heading:#0f172a;--muted:#94a3b8;--accent:#e4573d;--accent-hover:#c94a33;--accent-soft:rgba(228,87,61,.1);--accent-ring:rgba(228,87,61,.22);--green:#1d9e75;--green-soft:rgba(29,158,117,.12);--amber:#ba7517;--amber-soft:#faeeda;--red:#a32d2d;--red-soft:#fcebeb;--blue:#378add;--violet:#7f77dd;--teal:#1d9e75;--grey:#94a3b8;--radius:14px;--shadow-hover:0 6px 20px rgba(15,23,42,.06);--sans:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--mono:ui-monospace,SFMono-Regular,Menlo,monospace}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);font-family:var(--sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a,body{color:var(--text)}a{text-decoration:none}h1,h2,h3{color:var(--heading);letter-spacing:-.01em;line-height:1.2;font-weight:600;margin:0 0 8px}button,input,select,textarea{font:inherit}code{font-family:var(--mono)}::selection{background:rgba(228,87,61,.18)}.auth{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg)}.panel{width:100%;max-width:400px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:28px 28px 26px}.panel--wide{max-width:460px}.panel__brand{display:flex;align-items:center;gap:10px;margin-bottom:20px;color:var(--heading);font-weight:600;font-size:1.05rem;letter-spacing:-.01em}.panel__brand .mark{width:34px;height:34px;border-radius:10px;background:var(--accent);color:#fff;display:grid;place-items:center}.panel__brand .mark svg{width:20px;height:20px}.panel__brand i{font-style:normal;color:var(--accent)}.panel__title{font-size:1.25rem;margin:0 0 6px}.panel__sub{color:var(--text-2);font-size:.88rem;margin:0 0 14px}.panel .lbl{display:block;color:var(--text-2);font-size:.74rem;font-weight:600;margin:12px 0 5px}.panel .fld{width:100%;background:#fff;border:1px solid var(--line-strong);color:var(--heading);border-radius:10px;padding:10px 12px;font-size:.92rem}.panel .fld:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.panel .fld--code{letter-spacing:6px;text-align:center;font-size:1.3rem;font-family:var(--mono)}.panel .abtn{width:100%;justify-content:center;margin-top:18px;cursor:pointer;display:inline-flex;align-items:center;gap:7px;border:1px solid transparent;border-radius:10px;padding:11px 14px;font-weight:600;font-size:.92rem}.panel .abtn--primary{background:var(--accent);color:#fff}.panel .abtn--primary:hover{background:var(--accent-hover)}.err{color:var(--red);font-size:.85rem;margin-top:10px;padding:8px 10px;border-radius:8px;background:var(--red-soft)}.panel__link{display:block;text-align:center;margin-top:14px;color:var(--text-2);font-size:.84rem}.panel__link:hover{color:var(--accent)}.qr{display:grid;place-items:center;margin:14px 0 8px}.qr svg{width:200px;height:200px;border-radius:10px}.keybox,.qr svg{border:1px solid var(--line)}.keybox{font-family:var(--mono);font-size:.82rem;color:var(--heading);background:var(--card-2);border-radius:8px;padding:8px 10px;word-break:break-all;text-align:center}.auth__foot{margin-top:14px;text-align:center;color:var(--muted);font-size:.76rem}.term-bg{--t-bg:#07090c;--t-panel:#0b0f14;--t-line:#1b232c;--t-text:#c9d4de;--t-dim:#5c6b7a;--t-ok:#3fd68a;--t-warn:#f5b84a;--t-acc:#ff6a4d;--t-blue:#5ab4ff;position:relative;min-height:100vh;display:grid;place-items:center;align-content:center;grid-gap:18px;gap:18px;padding:32px 18px;background:radial-gradient(1200px 600px at 50% -10%,rgba(255,106,77,.1),transparent 60%),radial-gradient(900px 500px at 80% 110%,rgba(90,180,255,.08),transparent 60%),var(--t-bg);font-family:var(--mono);color:var(--t-text);overflow:hidden}.term-bg:before{content:"";inset:0;opacity:.35;background-image:linear-gradient(hsla(0,0%,100%,.035) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.035) 1px,transparent 0);background-size:28px 28px;mask-image:radial-gradient(60% 60% at 50% 45%,#000 20%,transparent 100%);-webkit-mask-image:radial-gradient(60% 60% at 50% 45%,#000 20%,transparent 100%)}.term-bg:before,.term-scan{position:absolute;pointer-events:none}.term-scan{left:0;right:0;top:-20%;height:18%;background:linear-gradient(180deg,transparent,hsla(0,0%,100%,.025),transparent);animation:term-scan 7s linear infinite}@keyframes term-scan{to{top:110%}}.term{position:relative;width:100%;max-width:520px;background:var(--t-panel);border:1px solid var(--t-line);border-radius:14px;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.02),0 30px 80px rgba(0,0,0,.6),0 0 60px rgba(255,106,77,.06);animation:term-in .6s cubic-bezier(.2,.8,.2,1) both}@keyframes term-in{0%{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}.term__bar{display:flex;align-items:center;gap:12px;padding:11px 14px;border-bottom:1px solid var(--t-line);font-size:.74rem;color:var(--t-dim)}.term__dots{display:inline-flex;gap:6px}.term__dots i{width:10px;height:10px;border-radius:50%;background:#2a333d}.term__dots i:first-child{background:#ff5f57}.term__dots i:nth-child(2){background:#febc2e}.term__dots i:nth-child(3){background:#28c840}.term__title{flex:1 1;text-align:center;letter-spacing:.04em}.term__clock{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:62px;text-align:right}.term__body{padding:18px 20px 20px;font-size:.86rem;line-height:1.55}.term__boot{min-height:40px}.term__line{white-space:pre-wrap;word-break:break-word;animation:term-line .18s ease both}@keyframes term-line{0%{opacity:0;transform:translateX(-3px)}to{opacity:1;transform:none}}.term__ps{color:var(--t-acc);font-weight:700}.term__line--ok{color:var(--t-ok)}.term__line--warn{color:var(--t-warn)}.term__line--dim{color:var(--t-dim)}.term__line--accent{color:var(--t-blue)}.term__cursor{display:inline-block;width:9px;height:1.05em;vertical-align:-.18em;margin-left:2px;background:var(--t-text);animation:term-blink 1s steps(2,start) infinite}@keyframes term-blink{to{visibility:hidden}}.term__form{margin-top:14px;padding-top:14px;border-top:1px dashed var(--t-line);animation:term-line .35s ease both}.term__form[hidden]{display:none}.term__p{margin:0 0 12px;color:var(--t-text)}.term__p--dim{color:var(--t-dim);font-size:.78rem}.term__field{margin:10px 0}.term__lbl{display:block;color:var(--t-dim);font-size:.78rem;margin-bottom:4px;letter-spacing:.02em}.term__lbl .term__ps{color:var(--t-ok)}.term__in{width:100%;background:#05070a;color:#f1f5f9;border:1px solid var(--t-line);border-radius:8px;padding:10px 12px;font-family:var(--mono);font-size:.9rem;caret-color:var(--t-acc);transition:border-color .15s,box-shadow .15s}.term__in::placeholder{color:#2e3a46}.term__in:focus{outline:none;border-color:var(--t-acc);box-shadow:0 0 0 3px rgba(255,106,77,.18),0 0 24px rgba(255,106,77,.1)}.term__in:-webkit-autofill{-webkit-box-shadow:inset 0 0 0 1000px #05070a;-webkit-text-fill-color:#f1f5f9}.term__in--code{letter-spacing:.5em;text-align:center;font-size:1.4rem}.term__btn{width:100%;margin-top:14px;padding:11px 14px;border-radius:8px;border:1px solid rgba(255,106,77,.5);background:rgba(255,106,77,.12);color:#ffb7a6;font-family:var(--mono);font-size:.88rem;letter-spacing:.04em;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background .15s,transform .1s,box-shadow .15s}.term__btn:before{content:"> ";color:var(--t-acc)}.term__btn:hover{background:rgba(255,106,77,.22);box-shadow:0 0 28px rgba(255,106,77,.18)}.term__btn:active{transform:translateY(1px)}.term__err{margin-top:10px;padding:8px 10px;border-radius:8px;border:1px solid rgba(255,95,87,.4);background:rgba(255,95,87,.08);color:#ff8a84;font-size:.8rem}.term__err .term__ps{color:#ff5f57}.term__link{display:block;margin-top:12px;text-align:center;color:var(--t-dim);font-size:.78rem;text-decoration:none}.term__link:hover{color:var(--t-text)}.term__link--inline{display:inline;margin:0;text-decoration:underline}.term__qr{display:grid;place-items:center;margin:12px 0}.term__qr svg{width:188px;height:188px;border-radius:10px;background:#e6edf3;padding:6px}.term__key,.term__qr svg{border:1px solid var(--t-line)}.term__key{font-size:.8rem;color:var(--t-ok);background:#05070a;border-radius:8px;padding:8px 10px;word-break:break-all;text-align:center;margin-bottom:10px}.term__foot{position:relative;margin:0;color:var(--t-dim);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;text-align:center}@media (prefers-reduced-motion:reduce){.term,.term-scan,.term__form,.term__line{animation:none}}.welcome{position:fixed;inset:0;z-index:1000;background:radial-gradient(1200px 700px at 50% 40%,#12161c,#07090c 70%);font-family:var(--mono);color:#c9d4de;overflow:hidden;transition:opacity .7s ease,transform .7s ease}.welcome--out{opacity:0;transform:scale(1.03);pointer-events:none}.welcome__canvas{position:absolute;inset:0}.welcome__text{position:absolute;left:0;right:0;top:50%;transform:translateY(calc(-50% - 120px));text-align:center;padding:0 24px;opacity:0;transition:opacity .6s ease,transform .6s ease}.welcome--greet .welcome__text,.welcome--out .welcome__text{opacity:1;transform:translateY(calc(-50% - 130px))}.welcome__eyebrow{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:#5c6b7a;margin-bottom:14px}.welcome__title{font-family:var(--sans,inherit);font-weight:600;font-size:clamp(2rem,5vw,3.6rem);letter-spacing:-.02em;margin:0;color:#f1f5f9}.welcome__title span{color:#ff6a4d}.welcome__sites{margin-top:18px;display:flex;justify-content:center;gap:22px;flex-wrap:wrap;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase}.welcome__sites span{color:var(--c);opacity:0;transform:translateY(6px);transition:opacity .5s ease,transform .5s ease;transition-delay:calc(.25s + var(--i) * .12s);position:relative;padding-left:14px}.welcome__sites span:before{content:"";position:absolute;left:0;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:var(--c);box-shadow:0 0 10px var(--c)}.welcome--greet .welcome__sites span,.welcome--out .welcome__sites span{opacity:1;transform:none}.welcome__skip{position:absolute;bottom:22px;left:0;right:0;text-align:center;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:#3a4652}