.lp{--lp-ink:#0b1633;--lp-ink-2:#13307f;--lp-brand:#1747c9;--lp-brand-2:#3b6cf6;--lp-accent:#22d3ee;--lp-text:#0f172a;--lp-muted:#5b6b82;--lp-line:#e3e8f2;--lp-soft:#f5f7fc;color:var(--lp-text);background:#fff;font-size:16px;line-height:1.6;overflow-x:hidden}.lp *{box-sizing:border-box}.lp h1,.lp h2,.lp h3{letter-spacing:-.02em}.lp a{text-decoration:none}.lp-wrap{max-width:1180px;margin:0 auto;padding:0 24px}html:has(.lp){scroll-behavior:smooth;scroll-padding-top:76px}.lp-btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;height:48px;padding:0 22px;font-size:15.5px;font-weight:650;transition:transform .15s,box-shadow .15s,background .15s;display:inline-flex}.lp-btn:hover{text-decoration:none;transform:translateY(-1px)}.lp-btn-sm{border-radius:10px;height:38px;padding:0 16px;font-size:14px}.lp-btn-primary{background:linear-gradient(135deg, var(--lp-brand-2), var(--lp-brand));color:#fff;box-shadow:0 8px 24px #1747c959}.lp-btn-primary:hover{box-shadow:0 12px 30px #1747c973}.lp-btn-ghost{color:var(--lp-text)}.lp-btn-ghost:hover{background:var(--lp-soft)}.lp-btn-glass{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff14;border-color:#ffffff38}.lp-btn-glass:hover{background:#ffffff26}.lp-btn-outline{border-color:var(--lp-line);color:var(--lp-text);background:#fff}.lp-btn-outline:hover{border-color:#b9c8ef}.lp-nav{z-index:40;transition:background .2s,box-shadow .2s;position:fixed;inset:0 0 auto}.lp-nav.scrolled{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--lp-line);background:#ffffffeb}.lp-nav-inner{align-items:center;gap:28px;height:72px;display:flex}.lp-logo{color:#fff;align-items:center;gap:12px;display:flex}.lp-logo-sub{letter-spacing:.02em;opacity:.9;border-left:1px solid #ffffff4d;padding-left:12px;font-size:12.5px;font-weight:650;line-height:1.2}.lp-nav.scrolled .lp-logo-sub{border-left-color:var(--lp-line)}.lp-nav.scrolled .lp-logo{color:var(--lp-ink)}.lp-links{gap:26px;margin-left:12px;display:flex}.lp-links a{color:#ffffffd1;font-size:15px;font-weight:550}.lp-links a:hover{color:#fff}.lp-nav.scrolled .lp-links a{color:var(--lp-muted)}.lp-nav.scrolled .lp-links a:hover{color:var(--lp-text)}.lp-nav-cta{align-items:center;gap:8px;margin-left:auto;display:flex}.lp-nav:not(.scrolled) .lp-btn-ghost{color:#fff}.lp-nav:not(.scrolled) .lp-btn-ghost:hover{background:#ffffff1a}.lp-burger{cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;padding:0 9px;display:none}.lp-burger span{background:#fff;border-radius:2px;height:2px}.lp-nav.scrolled .lp-burger span{background:var(--lp-ink)}.lp-hero{color:#fff;background:var(--lp-ink);padding:150px 0 110px;position:relative;overflow:hidden}.lp-hero-bg{background:radial-gradient(900px 500px at 85% 10%,#3b6cf68c,#0000 60%),radial-gradient(700px 500px at 10% 90%,#22d3ee2e,#0000 60%),linear-gradient(160deg,#0b1633 0%,#0f2462 55%,#13307f 100%);position:absolute;inset:0}.lp-hero-bg:after{content:"";background-image:linear-gradient(#ffffff0d 1px,#0000 1px),linear-gradient(90deg,#ffffff0d 1px,#0000 1px);background-size:56px 56px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(at 60% 30%,#000 20%,#0000 75%);mask-image:radial-gradient(at 60% 30%,#000 20%,#0000 75%)}.lp-hero-grid{grid-template-columns:1.02fr 1fr;align-items:center;gap:56px;display:grid;position:relative}.lp-pill{color:#dbe4fa;background:#ffffff14;border:1px solid #ffffff29;border-radius:999px;align-items:center;gap:8px;padding:6px 14px;font-size:13.5px;display:inline-flex}.lp-pill-dot{background:var(--lp-accent);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #22d3ee33}.lp-hero h1{margin:22px 0 20px;font-size:clamp(38px,5.2vw,62px);font-weight:800;line-height:1.06}.lp-grad{background:linear-gradient(90deg, #8fb0ff, var(--lp-accent));color:#0000;-webkit-background-clip:text;background-clip:text}.lp-grad-dark{background:linear-gradient(90deg, var(--lp-brand), #0891b2);color:#0000;-webkit-background-clip:text;background-clip:text}.lp-hero p{color:#c9d5f2;max-width:560px;margin:0;font-size:18.5px}.lp-hero-cta{flex-wrap:wrap;gap:12px;margin-top:34px;display:flex}.lp-hero-points{color:#b7c6ea;flex-wrap:wrap;gap:22px;margin:30px 0 0;padding:0;font-size:14.5px;list-style:none;display:flex}.lp-hero-points li{align-items:center;gap:7px;display:flex}.lp-hero-points svg{color:var(--lp-accent)}.lp-preview{perspective:1400px;position:relative}.lp-browser{color:var(--lp-text);transform-origin:0;background:#fff;border-radius:16px;overflow:hidden;transform:rotateY(-7deg)rotateX(3deg);box-shadow:0 40px 90px #030a288c,0 0 0 1px #ffffff1f}.lp-browser-bar{border-bottom:1px solid var(--lp-line);background:#eef2f9;align-items:center;gap:14px;height:42px;padding:0 14px;display:flex}.lp-dots{gap:6px;display:flex}.lp-dots i{background:#f87171;border-radius:50%;width:11px;height:11px}.lp-dots i:nth-child(2){background:#fbbf24}.lp-dots i:nth-child(3){background:#34d399}.lp-url{max-width:300px;height:26px;color:var(--lp-muted);background:#fff;border-radius:7px;flex:1;align-items:center;gap:6px;padding:0 10px;font-size:12.5px;display:flex}.lp-url svg{color:#16a34a}.lp-browser-body{background:#f6f8fc;padding:18px 20px 24px}.lp-mini-top{justify-content:space-between;align-items:center;font-size:12px;display:flex}.lp-mini-brand{align-items:center;display:flex}.lp-mini-brand .brand-logo{box-shadow:none;border:1px solid var(--lp-line);padding:2px 5px}.lp-mini-user{border:1px solid var(--lp-line);color:var(--lp-muted);background:#fff;border-radius:999px;padding:2px 10px}.lp-mini-title{margin:16px 0 12px;font-size:17px;font-weight:750}.lp-mini-tiles{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.lp-mini-tile{border:1px solid var(--lp-line);text-align:center;background:#fff;border-radius:11px;padding:13px 8px 11px;font-size:12px;font-weight:600;box-shadow:0 1px 2px #0f172a0d}.lp-mini-tile span{color:#fff;border-radius:9px;place-items:center;width:34px;height:34px;margin:0 auto 8px;font-size:12px;font-weight:800;display:grid}.lp-float{color:var(--lp-text);background:#fffffff5;border-radius:14px;align-items:center;gap:11px;padding:11px 15px;font-size:13.5px;animation:6s ease-in-out infinite lp-float;display:flex;position:absolute;box-shadow:0 18px 40px #030a2859}.lp-float small{color:var(--lp-muted);font-size:12px;display:block}.lp-float-a{bottom:36px;left:-34px}.lp-float-b{animation-delay:-3s;top:70px;right:-18px}.lp-float-icon{color:#15803d;background:#e7f6ec;border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.lp-pulse{background:#22c55e;border-radius:50%;width:11px;height:11px;margin:0 4px;animation:2s infinite lp-pulse;box-shadow:0 0 #22c55e99}@keyframes lp-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes lp-pulse{0%{box-shadow:0 0 #22c55e8c}70%{box-shadow:0 0 0 10px #22c55e00}to{box-shadow:0 0 #22c55e00}}.lp-strip{border-bottom:1px solid var(--lp-line);background:#fff;padding:26px 0}.lp-strip .lp-wrap{flex-wrap:wrap;justify-content:center;align-items:center;gap:28px;display:flex}.lp-strip>.lp-wrap>span{color:var(--lp-muted);font-size:14px;font-weight:550}.lp-strip-items{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.lp-strip-items b{background:var(--lp-soft);border:1px solid var(--lp-line);color:#33415c;border-radius:999px;padding:7px 14px;font-size:14px;font-weight:650}.lp-section{padding:104px 0}.lp-section:nth-of-type(2n):not(.lp-dark){background:var(--lp-soft)}.lp-head{text-align:center;max-width:720px;margin:0 auto 56px}.lp-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--lp-brand);margin-bottom:12px;font-size:13px;font-weight:700;display:inline-block}.lp-head h2{margin:0;font-size:clamp(30px,3.6vw,42px);font-weight:800;line-height:1.15}.lp-lead{color:var(--lp-muted);margin:16px 0 0;font-size:18px}.lp-card{border:1px solid var(--lp-line);background:#fff;border-radius:18px;padding:28px;transition:transform .2s,box-shadow .2s,border-color .2s}.lp-card:hover{border-color:#cfdaf3;transform:translateY(-4px);box-shadow:0 20px 40px #0f172a14}.lp-card h3{margin:18px 0 8px;font-size:19px}.lp-card p{color:var(--lp-muted);margin:0;font-size:15.5px}.lp-card-icon{width:48px;height:48px;color:var(--lp-brand);background:linear-gradient(135deg,#e8eefc,#dff6fb);border-radius:13px;place-items:center;display:grid}.lp-card-center{text-align:center}.lp-card-center .lp-card-icon{margin:0 auto}.lp-features{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.lp-deploy{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.lp-steps{counter-reset:s;grid-template-columns:repeat(4,1fr);gap:20px;margin:0;padding:0;list-style:none;display:grid;position:relative}.lp-steps:before{content:"";background:linear-gradient(90deg, var(--lp-brand-2), var(--lp-accent));opacity:.35;height:2px;position:absolute;top:27px;left:12%;right:12%}.lp-steps li{text-align:center;padding:0 8px;position:relative}.lp-step-num{color:#fff;background:linear-gradient(135deg, var(--lp-brand-2), var(--lp-brand));border-radius:50%;place-items:center;width:56px;height:56px;margin:0 auto;font-size:20px;font-weight:800;display:grid;position:relative;box-shadow:0 10px 24px #1747c94d,0 0 0 8px #fff}.lp-section:nth-of-type(2n) .lp-step-num{box-shadow:0 10px 24px #1747c94d, 0 0 0 8px var(--lp-soft)}.lp-steps h3{margin:22px 0 6px;font-size:20px}.lp-steps p{color:var(--lp-muted);margin:0;font-size:15.5px}.lp-dark{color:#fff;position:relative;overflow:hidden;background:var(--lp-ink)!important}.lp-dark:before{content:"";background:radial-gradient(700px 400px at 20% 0,#3b6cf659,#0000 60%);position:absolute;inset:0}.lp-dark .lp-wrap{position:relative}.lp-dark .lp-eyebrow{color:var(--lp-accent)}.lp-dark .lp-lead{color:#b7c6ea}.lp-sec-grid{grid-template-columns:1fr 1fr;align-items:center;gap:56px;display:grid}.lp-arch{flex-direction:column;align-items:center;display:flex}.lp-arch-node{background:#ffffff0f;border:1px solid #ffffff24;border-radius:14px;align-items:center;gap:12px;min-width:260px;padding:14px 20px;display:flex}.lp-arch-node svg{color:#8fb0ff;flex-shrink:0}.lp-arch-node small{color:#93a4c9;font-size:12.5px;display:block}.lp-arch-gw{background:linear-gradient(135deg,#3b6cf659,#22d3ee2e);border-color:#8fb0ff80;box-shadow:0 0 40px #3b6cf659}.lp-arch-gw svg{color:var(--lp-accent)}.lp-arch-link{background:linear-gradient(var(--lp-accent), #8fb0ff);width:2px;height:54px;position:relative}.lp-arch-link span{color:#93a4c9;white-space:nowrap;font-size:12px;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.lp-arch-private{background:repeating-linear-gradient(#8fb0ff 0 6px,#0000 6px 11px)}.lp-arch-servers{gap:12px;display:flex}.lp-arch-srv{min-width:0;padding:12px 16px;font-size:14px}.lp-checks{gap:14px;margin:0;padding:0;list-style:none;display:grid}.lp-checks li{color:#dbe4fa;align-items:flex-start;gap:12px;font-size:16px;display:flex}.lp-checks li span{width:24px;height:24px;color:var(--lp-accent);background:#22d3ee26;border-radius:7px;flex-shrink:0;place-items:center;margin-top:1px;display:grid}.lp-editions{grid-template-columns:repeat(3,1fr);align-items:stretch;gap:22px;display:grid}.lp-edition{border:1px solid var(--lp-line);background:#fff;border-radius:20px;flex-direction:column;padding:32px;display:flex}.lp-edition.featured{border:2px solid var(--lp-brand);transform:translateY(-8px);box-shadow:0 24px 50px #1747c926}.lp-edition-tag{background:var(--lp-soft);color:var(--lp-muted);border-radius:999px;align-self:flex-start;padding:4px 11px;font-size:12.5px;font-weight:700}.lp-edition.featured .lp-edition-tag{background:var(--lp-brand);color:#fff}.lp-edition h3{margin:16px 0 18px;font-size:26px}.lp-edition ul{flex:1;gap:11px;margin:0 0 28px;padding:0;list-style:none;display:grid}.lp-edition li{align-items:flex-start;gap:10px;font-size:15.5px;display:flex}.lp-edition li svg{color:#16a34a;flex-shrink:0;margin-top:4px}.lp-faq{gap:12px;max-width:820px;margin:0 auto;display:grid}.lp-faq-item{border:1px solid var(--lp-line);background:#fff;border-radius:14px;overflow:hidden}.lp-faq-item button{width:100%;font:inherit;text-align:left;cursor:pointer;color:var(--lp-text);background:0 0;border:0;justify-content:space-between;align-items:center;gap:16px;padding:20px 22px;font-size:17px;font-weight:650;display:flex}.lp-faq-sign{color:var(--lp-brand);flex-shrink:0;transition:transform .2s}.lp-faq-item.open .lp-faq-sign{transform:rotate(45deg)}.lp-faq-a{grid-template-rows:0fr;transition:grid-template-rows .25s;display:grid}.lp-faq-item.open .lp-faq-a{grid-template-rows:1fr}.lp-faq-a>p{color:var(--lp-muted);margin:0;padding:0 22px;overflow:hidden}.lp-faq-item.open .lp-faq-a>p{padding-bottom:20px}.lp-cta{padding:0 0 96px}.lp-section:last-of-type+.lp-cta,.lp-cta{background:var(--lp-soft)}.lp-cta-inner{background:radial-gradient(600px 300px at 90% 0%, #22d3ee40, transparent 60%), linear-gradient(135deg, #0f2462, var(--lp-brand));color:#fff;border-radius:26px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:32px;padding:56px;display:flex;box-shadow:0 30px 60px #1747c940}.lp-cta h2{margin:0 0 8px;font-size:clamp(26px,3vw,36px)}.lp-cta p{color:#c9d5f2;margin:0;font-size:17px}.lp-cta .lp-hero-cta{margin-top:0}.lp-cta .lp-btn-primary{color:var(--lp-brand);box-shadow:none;background:#fff}.lp-footer{background:var(--lp-ink);color:#93a4c9;padding:36px 0}.lp-footer-inner{flex-wrap:wrap;align-items:center;gap:28px;display:flex}.lp-footer nav{flex-wrap:wrap;gap:22px;display:flex}.lp-footer nav a{color:#b7c6ea;font-size:14.5px}.lp-footer nav a:hover{color:#fff}.lp-copy{margin-left:auto;font-size:14px}@media (width<=1040px){.lp-hero-grid,.lp-sec-grid{grid-template-columns:1fr}.lp-preview{width:100%;max-width:560px;margin:0 auto}.lp-browser{transform:none}.lp-features,.lp-deploy{grid-template-columns:repeat(2,1fr)}.lp-editions{grid-template-columns:1fr;max-width:480px;margin:0 auto}.lp-edition.featured{transform:none}}@media (width<=860px){.lp-burger{display:flex}.lp-links{background:#fff;flex-direction:column;gap:0;margin:0;padding:8px 0;display:none;position:absolute;top:72px;left:0;right:0;box-shadow:0 16px 30px #0f172a1f}.lp-links.open{display:flex}.lp-links a,.lp-nav.scrolled .lp-links a{color:var(--lp-text);padding:12px 24px}.lp-hide-sm{display:none}.lp-steps{grid-template-columns:1fr 1fr;row-gap:40px}.lp-steps:before{display:none}}@media (width<=620px){.lp-wrap{padding:0 16px}.lp-hero{padding:116px 0 80px}.lp-section{padding:76px 0}.lp-features,.lp-deploy,.lp-steps{grid-template-columns:1fr}.lp-float-a{bottom:-22px;left:8px}.lp-float-b{top:-22px;right:8px}.lp-arch-node{width:100%;min-width:0}.lp-arch-servers{flex-wrap:wrap;justify-content:center}.lp-cta-inner{padding:36px 24px}.lp-copy{margin-left:0}.lp-hero-cta .lp-btn{width:100%}}@media (prefers-reduced-motion:reduce){.lp-float,.lp-pulse{animation:none}html:has(.lp){scroll-behavior:auto}}:root{--brand:#1747c9;--brand-hover:#123aa6;--brand-soft:#e8eefc;--bg:#f4f6fa;--surface:#fff;--surface-2:#f8fafc;--text:#0f172a;--muted:#5b6b82;--border:#e2e8f0;--danger:#c62828;--danger-soft:#fdecec;--success:#15803d;--success-soft:#e7f6ec;--warn:#b45309;--warn-soft:#fdf3e2;--sidebar:#0b1633;--sidebar-text:#b7c3dc;--radius:10px;--shadow:0 1px 2px #0f172a0f, 0 4px 16px #0f172a0d;color:var(--text);background:var(--bg);font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.5}*{box-sizing:border-box}body{background:var(--bg);margin:0}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{margin:0;line-height:1.25}h1{font-size:22px;font-weight:650}h2{font-size:16px;font-weight:650}code,.mono{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:12.5px}.page-loading{height:100vh;color:var(--muted);place-items:center;display:grid}.btn{border:1px solid var(--border);background:var(--surface);height:36px;color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-weight:550;transition:background .15s,border-color .15s;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-2);border-color:#cbd5e1}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.primary:hover:not(:disabled){background:var(--brand-hover)}.btn.danger{color:var(--danger)}.btn.danger:hover:not(:disabled){background:var(--danger-soft);border-color:#f5c2c2}.btn.small{height:28px;padding:0 10px;font-size:12.5px}.btn.block{width:100%}.btn.ghost{background:0 0;border-color:#0000}.field{flex-direction:column;gap:5px;margin-bottom:14px;display:flex}.field>label,.label{font-size:13px;font-weight:550}.field .hint{color:var(--muted);font-size:12.5px}.input,select.input,textarea.input{border:1px solid var(--border);height:38px;font:inherit;color:var(--text);background:var(--surface);border-radius:8px;width:100%;padding:0 11px}textarea.input{resize:vertical;height:auto;min-height:80px;padding:9px 11px}.input:focus{outline:2px solid var(--brand-soft);border-color:var(--brand)}.check{cursor:pointer;align-items:center;gap:8px;margin-bottom:10px;display:flex}.check input{width:16px;height:16px;accent-color:var(--brand)}.grid-2{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}@media (width<=640px){.grid-2{grid-template-columns:1fr}}.alert{border-radius:8px;margin-bottom:14px;padding:10px 12px;font-size:13.5px}.alert.error{background:var(--danger-soft);color:var(--danger)}.alert.success{background:var(--success-soft);color:var(--success)}.alert.warn{background:var(--warn-soft);color:var(--warn)}.alert.info{background:var(--brand-soft);color:var(--brand-hover)}.badge{background:var(--surface-2);color:var(--muted);border:1px solid var(--border);border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-flex}.badge.green{background:var(--success-soft);color:var(--success);border-color:#0000}.badge.red{background:var(--danger-soft);color:var(--danger);border-color:#0000}.badge.amber{background:var(--warn-soft);color:var(--warn);border-color:#0000}.badge.blue{background:var(--brand-soft);color:var(--brand);border-color:#0000}.dot{background:#94a3b8;border-radius:50%;width:8px;height:8px;display:inline-block}.dot.green{background:#22c55e}.dot.red{background:#ef4444}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.card-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.card-body{padding:18px}.table-wrap{overflow-x:auto}table.table{border-collapse:collapse;width:100%}.table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 14px;font-size:12px;font-weight:600}.table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:11px 14px}.table tr:last-child td{border-bottom:none}.table .actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.empty{text-align:center;color:var(--muted);padding:36px 18px}.muted{color:var(--muted)}.small{font-size:12.5px}.row{align-items:center;gap:10px;display:flex}.spacer{flex:1}.stack>*+*{margin-top:18px}.meter{background:#e9eef5;border-radius:3px;min-width:80px;height:6px;overflow:hidden}.meter>span{background:var(--brand);height:100%;display:block}.meter.warn>span{background:#f59e0b}.meter.bad>span{background:#ef4444}.modal-backdrop{z-index:50;background:#0f172a73;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border-radius:12px;flex-direction:column;width:100%;max-width:560px;max-height:calc(100vh - 32px);display:flex;box-shadow:0 20px 60px #00000040}.modal.wide{max-width:760px}.modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-body{padding:20px;overflow-y:auto}.modal-foot{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}.auth-screen{grid-template-columns:1.1fr 1fr;min-height:100vh;display:grid}.auth-hero{color:#fff;background:linear-gradient(145deg,#0b1633 0%,#13307f 60%,#1747c9 100%);flex-direction:column;justify-content:space-between;padding:56px;display:flex}.auth-hero h1{max-width:460px;margin-top:24px;font-size:34px;font-weight:700}.auth-hero p{color:#c9d5f2;max-width:440px;font-size:15px}.auth-hero ul{color:#dbe4fa;padding:0;list-style:none}.auth-hero li{margin:8px 0}.auth-hero li:before{content:"✓";color:#7ea3ff;margin-right:10px}.auth-panel{background:var(--surface);place-items:center;padding:32px;display:grid}.auth-box{width:100%;max-width:360px}.auth-box h2{margin-bottom:6px;font-size:22px}.auth-box .sub{color:var(--muted);margin-bottom:24px}.auth-mobile-brand{display:none}@media (width<=860px){.auth-screen{grid-template-columns:1fr}.auth-hero{display:none}.auth-mobile-brand{margin-bottom:32px;display:block}}.brand{align-items:center;gap:12px;display:flex}.brand-logo{background:#fff;border-radius:9px;flex-shrink:0;align-items:center;padding:4px 9px;display:inline-flex;box-shadow:0 1px 3px #0f172a2e}.brand-logo img{display:block}.brand-sub{letter-spacing:.02em;opacity:.8;white-space:nowrap;border-left:1px solid;padding-left:12px;font-size:12.5px;font-weight:650;line-height:1.2}.topbar .brand-logo,.auth-panel .brand-logo{box-shadow:none;border:1px solid var(--border)}.brand-mark{background:var(--brand);color:#fff;border-radius:8px;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.brand small{opacity:.7;letter-spacing:.02em;font-size:11.5px;font-weight:500;display:block}.topbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:10;align-items:center;gap:16px;height:60px;padding:0 24px;display:flex;position:sticky;top:0}.portal-main{max-width:1120px;margin:0 auto;padding:32px 24px}.tiles{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin-top:20px;display:grid}.tile{background:var(--surface);border:1px solid var(--border);text-align:center;cursor:pointer;box-shadow:var(--shadow);font:inherit;color:inherit;border-radius:12px;padding:20px 16px;transition:transform .12s,box-shadow .12s,border-color .12s}.tile:hover{border-color:#b9c8ef;transform:translateY(-2px);box-shadow:0 8px 24px #1747c91f}.tile-icon{color:#fff;border-radius:14px;place-items:center;width:56px;height:56px;margin:0 auto 12px;font-size:22px;font-weight:700;display:grid}.tile-name{word-break:break-word;font-weight:600}.tile-kind{color:var(--muted);margin-top:2px;font-size:12px}.admin{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--sidebar);color:var(--sidebar-text);flex-direction:column;gap:4px;height:100vh;padding:18px 12px;display:flex;position:sticky;top:0}.sidebar .brand{color:#fff;flex-wrap:wrap;gap:10px;padding:4px 4px 20px}.sidebar .brand-sub{border-left:0;padding-left:2px}.sidebar a{color:var(--sidebar-text);border-radius:8px;align-items:center;gap:10px;padding:9px 12px;font-weight:500;display:flex}.sidebar a:hover{color:#fff;background:#ffffff0f;text-decoration:none}.sidebar a.active{color:#fff;background:#7ea3ff29}.sidebar .section{text-transform:uppercase;letter-spacing:.08em;opacity:.55;padding:14px 12px 4px;font-size:11px}.admin-main{min-width:0}.admin-top{background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:12px;height:60px;padding:0 28px;display:flex}.admin-content{max-width:1400px;padding:28px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.page-head p{color:var(--muted);margin:4px 0 0}@media (width<=900px){.admin{grid-template-columns:1fr}.sidebar{flex-flow:wrap;height:auto;position:static}.sidebar .section{display:none}}.stats{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;display:grid}.stat{padding:16px 18px}.stat .label{color:var(--muted);font-size:12.5px;font-weight:500}.stat .value{margin-top:4px;font-size:26px;font-weight:700}.two-col{grid-template-columns:1fr 1fr;gap:18px;display:grid}@media (width<=1100px){.two-col{grid-template-columns:1fr}}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--surface);border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:13px;display:inline-flex}.chip.on{background:var(--brand-soft);color:var(--brand-hover);border-color:#b9c8ef;font-weight:600}.secret-box{background:var(--surface-2);word-break:break-all;border:1px dashed #b9c8ef;border-radius:8px;padding:12px}.codes{grid-template-columns:1fr 1fr;gap:6px 16px;display:grid}.session-root{background:#0b0f17;position:fixed;inset:0;overflow:hidden}.session-display{cursor:default;outline:none;position:absolute;inset:0}.session-display>div{margin:0 auto}.session-overlay{color:#e2e8f0;z-index:5;background:#0b0f17d1;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.session-card{background:var(--surface);color:var(--text);text-align:center;border-radius:12px;width:100%;max-width:380px;padding:28px;box-shadow:0 20px 60px #0006}.session-card.left{text-align:left}.spinner{border:3px solid #cbd5e1;border-top-color:var(--brand);border-radius:50%;width:34px;height:34px;margin:0 auto 14px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.session-bar{z-index:6;color:#e2e8f0;background:#0f172aeb;border-radius:0 0 10px 10px;align-items:center;gap:8px;padding:6px 10px;font-size:12.5px;transition:transform .2s;display:flex;position:absolute;top:0;left:50%;transform:translate(-50%,-34px)}.session-bar:hover,.session-bar.pinned{transform:translate(-50%)}.session-bar .btn{color:#e2e8f0;background:0 0;border-color:#ffffff2e;height:26px;font-size:12px}.session-bar .btn:hover{background:#ffffff1a}.session-bar .handle{color:#cbd5e1;white-space:nowrap;cursor:pointer;background:#0f172aeb;border-radius:0 0 8px 8px;padding:1px 12px 3px;font-size:11px;position:absolute;bottom:-20px;left:50%;transform:translate(-50%)}.session-bar.pinned .handle{display:none}.drop-hint{color:#fff;z-index:7;pointer-events:none;background:#1747c940;border:3px dashed #7ea3ff;border-radius:14px;place-items:center;font-size:18px;display:grid;position:absolute;inset:12px}.nav-badge{color:#1f1300;background:#f59e0b;border-radius:999px;place-items:center;min-width:20px;height:20px;margin-left:auto;padding:0 6px;font-size:11.5px;font-weight:700;display:inline-grid}
