.site{--ink-50:#f2f5fa;--ink-100:#e2e8f2;--ink-200:#c3cfe2;--ink-300:#93a6c6;--ink-400:#5f78a3;--ink-500:#3a537f;--ink-600:#263d63;--ink-700:#1a2d4d;--ink-800:#12203a;--ink-900:#0b162a;--ink-950:#060d1a;--saffron-50:#fff7ed;--saffron-100:#ffedd3;--saffron-200:#fed7a5;--saffron-300:#fdba6d;--saffron-400:#fb9433;--saffron-500:#f2760f;--saffron-600:#e05d07;--saffron-700:#b9460a;--saffron-800:#93380f;--steel-50:#f8f9fb;--steel-100:#f1f3f7;--steel-200:#e3e7ee;--steel-300:#cbd2dd;--steel-400:#9aa5b8;--steel-500:#6b7890;--steel-600:#505c73;--steel-700:#3e485c;--steel-800:#2a3142;--steel-900:#1b202c;--teal-50:#e8f8f5;--teal-500:#0f9d8a;--teal-600:#0b7f70;color:var(--steel-900);background:var(--steel-50);-webkit-font-smoothing:antialiased;flex-direction:column;min-height:100vh;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;display:flex}.site *{box-sizing:border-box}.site a{color:inherit}.site h1,.site h2,.site h3,.site h4{letter-spacing:-.01em;margin:0}.site p{margin:0}.site main{flex:1}.container-x{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}@media (width>=640px){.container-x{padding:0 24px}}@media (width>=1024px){.container-x{padding:0 32px}}.section{padding:64px 0}@media (width>=640px){.section{padding:80px 0}}.section--white{background:#fff}.section--muted{background:var(--steel-100)}.section--dark{background:var(--ink-900);color:var(--ink-100)}.section--tight{padding:40px 0}.narrow{max-width:860px}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--saffron-600);margin-bottom:8px;font-size:12px;font-weight:600}.section--dark .eyebrow{color:var(--saffron-300)}.h1{letter-spacing:-.02em;font-size:34px;font-weight:600;line-height:1.15}@media (width>=640px){.h1{font-size:44px}}@media (width>=1024px){.h1{font-size:56px}}.h2{letter-spacing:-.02em;color:var(--steel-900);font-size:26px;font-weight:600;line-height:1.2}@media (width>=640px){.h2{font-size:32px}}.section--dark .h2{color:#fff}.h3{color:var(--steel-900);font-size:17px;font-weight:600}.lead{color:var(--steel-600);font-size:17px;line-height:1.65}.section--dark .lead{color:var(--ink-200)}.muted{color:var(--steel-500)}.small{font-size:13px}.heading-block{max-width:760px;margin-bottom:40px}.heading-block.center{text-align:center;margin-left:auto;margin-right:auto}.heading-block .lead{margin-top:12px;font-size:16px}.site .btn-primary,.site .btn-accent,.site .btn-secondary,.site .btn-ghost,.site .btn-outline-light{cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-family:inherit;font-size:14px;font-weight:500;line-height:1.2;text-decoration:none;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.site .btn-primary{background:var(--ink-800);color:#fff}.site .btn-primary:hover{background:var(--ink-700)}.site .btn-accent{background:var(--saffron-500);color:#fff}.site .btn-accent:hover{background:var(--saffron-600)}.site .btn-secondary{color:var(--steel-800);border-color:var(--steel-300);background:#fff}.site .btn-secondary:hover{background:var(--steel-100)}.site .btn-ghost{color:var(--steel-700);background:0 0}.site .btn-ghost:hover{background:var(--steel-100)}.site .btn-outline-light{color:#fff;background:#ffffff1a;border-color:#ffffff4d}.site .btn-outline-light:hover{background:#fff3}.site .btn-lg{padding:14px 26px;font-size:16px}.site .btn-sm{padding:7px 12px;font-size:13px}.site button:disabled{opacity:.6;cursor:not-allowed}.site .card{border:1px solid var(--steel-200);background:#fff;border-radius:12px;padding:0;box-shadow:0 1px 2px #0000000a}.site .card-pad{padding:22px}.site .card-title{color:var(--steel-900);font-size:16px;font-weight:600}.grid{gap:20px;display:grid}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}@media (width>=640px){.grid-2,.grid-4{grid-template-columns:repeat(2,1fr)}}@media (width>=900px){.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}}.feature{flex-direction:column;height:100%;display:flex}.feature .icon{background:var(--saffron-50);width:fit-content;color:var(--saffron-600);border-radius:8px;margin-bottom:14px;padding:10px;font-size:20px;display:inline-flex}.feature p{color:var(--steel-600);flex:1;margin-top:8px;font-size:14px;line-height:1.6}.stat{border:1px solid var(--steel-200);background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 2px #0000000a}.stat .v{letter-spacing:-.02em;color:var(--ink-900);font-size:28px;font-weight:600}.stat .s{color:var(--steel-400);margin-top:8px;font-size:11px}.section--dark .stat{background:#ffffff0d;border-color:#ffffff1a}.section--dark .stat .v{color:#fff}.section--dark .stat .l{color:var(--ink-200)}.checklist{color:var(--steel-700);gap:8px;margin:0;padding:0;font-size:14px;list-style:none;display:grid}.checklist li{align-items:flex-start;gap:10px;line-height:1.5;display:flex}.checklist li:before{content:"✓";color:var(--teal-500);flex:none;font-weight:700}.steps li{grid-template-columns:40px 1fr;gap:4px 16px;display:grid}.steps li>*{grid-column:2}.steps li:before{counter-increment:st;content:counter(st);background:var(--ink-800);color:#fff;border-radius:50%;grid-area:1/1/span 2;place-items:center;width:36px;height:36px;font-weight:700;display:grid}.section--dark .steps li:before{background:var(--saffron-500)}.steps span{color:var(--steel-600);margin-top:4px;font-size:14px;line-height:1.6;display:block}.section--dark .steps span{color:var(--ink-200)}.hero{background:var(--ink-900);color:#fff;position:relative;overflow:hidden}.hero .backdrop{pointer-events:none;background:radial-gradient(at 100% 0,#f2760f38,#0000 55%),radial-gradient(at 0 100%,#3a537f80,#0000 60%);position:absolute;inset:0}.hero .backdrop:after{content:"";opacity:.07;background-image:linear-gradient(90deg,#fff 1px,#0000 1px),linear-gradient(#fff 1px,#0000 1px);background-size:40px 40px;position:absolute;inset:0}.hero .inner{padding:72px 0;position:relative}@media (width>=640px){.hero .inner{padding:96px 0}}.hero.compact .inner{padding:48px 0}.hero .lead{color:var(--ink-200);max-width:620px;margin-top:20px;font-size:18px}.hero .chip{color:var(--ink-100);background:#ffffff0d;border:1px solid #ffffff26;border-radius:999px;align-items:center;gap:8px;margin-bottom:18px;padding:4px 12px;font-size:12px;font-weight:500;display:inline-flex}.hero .chip:before{content:"";background:var(--teal-500);border-radius:50%;width:6px;height:6px}.hero .accent{color:var(--saffron-400)}.hero .actions{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.hero .fine{color:var(--ink-300);margin-top:20px;font-size:12px}.hero .fine a{color:#fff;text-underline-offset:3px;text-decoration:underline}.hero-grid{align-items:center;gap:40px;display:grid}@media (width>=1024px){.hero-grid{grid-template-columns:7fr 5fr}}.hero-card{color:var(--ink-100);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff0f;border:1px solid #ffffff1f;border-radius:14px;padding:20px;font-size:13px}.hero-card .row{border-bottom:1px solid #ffffff14;justify-content:space-between;gap:12px;padding:8px 0;display:flex}.hero-card .row:last-child{border-bottom:0}.hero-card .k{color:var(--ink-300)}.hero-card .v{color:#fff;font-weight:600}.cta-band{background:var(--ink-900);color:#fff;position:relative;overflow:hidden}.cta-band.saffron{background:var(--saffron-500)}.cta-band .inner{flex-direction:column;gap:24px;padding:64px 0;display:flex;position:relative}@media (width>=900px){.cta-band .inner{flex-direction:row;justify-content:space-between;align-items:center}}.cta-band .lead{color:var(--ink-200);margin-top:10px}.cta-band.saffron .lead{color:var(--saffron-50)}.site-header{z-index:40;border-bottom:1px solid var(--steel-200);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffeb;position:sticky;top:0}.site-header .bar{justify-content:space-between;align-items:center;gap:16px;height:64px;display:flex}.site-header nav{align-items:center;gap:2px;display:none}.site-header nav a{color:var(--steel-700);border-radius:8px;padding:8px 12px;font-size:14px;font-weight:500;text-decoration:none}.site-header nav a:hover,.site-header nav a.active{background:var(--steel-100);color:var(--ink-900)}.site-header .cta{align-items:center;gap:8px;display:none}.site-header .burger{border:1px solid var(--steel-300);font:inherit;cursor:pointer;background:#fff;border-radius:8px;padding:8px 10px;display:inline-flex}@media (width>=1024px){.site-header nav,.site-header .cta{display:flex}.site-header .burger{display:none}}.mobile-nav{border-top:1px solid var(--steel-200);background:#fff;padding:12px 0 18px}.mobile-nav a{color:var(--steel-800);border-bottom:1px solid var(--steel-100);padding:10px 0;font-size:15px;text-decoration:none;display:block}.mobile-nav .actions{gap:8px;margin-top:14px;display:flex}.logo{align-items:center;gap:10px;text-decoration:none;display:inline-flex}.logo .mark{background:var(--ink-800);color:#fff;letter-spacing:-.04em;border-radius:9px;place-items:center;width:34px;height:34px;font-size:17px;font-weight:800;display:grid}.logo.dark .mark{background:var(--saffron-500)}.logo .word{letter-spacing:-.03em;color:var(--ink-900);font-size:19px;font-weight:800;line-height:1}.logo .tag{letter-spacing:.2em;text-transform:uppercase;color:var(--saffron-600);margin-top:4px;font-size:9px;font-weight:600;display:block}.logo.dark .word{color:#fff}.logo.dark .tag{color:var(--saffron-300)}.site-footer{border-top:1px solid var(--ink-800);background:var(--ink-900);color:var(--ink-200)}.site-footer .inner{padding:56px 0 28px}.site-footer .cols{gap:32px;display:grid}@media (width>=900px){.site-footer .cols{grid-template-columns:2fr 1fr 1fr 1fr 1fr}}.site-footer .col-title{text-transform:uppercase;letter-spacing:.1em;color:#fff;font-size:12px;font-weight:600}.site-footer ul{gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.site-footer a{color:var(--ink-300);font-size:14px;text-decoration:none}.site-footer a:hover{color:#fff}.site-footer .blurb{max-width:360px;color:var(--ink-300);margin-top:16px;font-size:14px;line-height:1.6}.site-footer .particulars{color:var(--ink-300);margin-top:18px;font-size:12px;line-height:1.7}.site-footer .legal{border-top:1px solid var(--ink-800);margin-top:44px;padding-top:22px}.site-footer .legal ul{flex-wrap:wrap;gap:8px 20px;margin:0;display:flex}.site-footer .legal a{font-size:12px}.site-footer .copy{color:var(--ink-400);margin-top:16px;font-size:12px;line-height:1.6}.cookie-banner{z-index:50;border-top:1px solid var(--steel-200);background:#fff;padding:16px 0;position:fixed;inset:auto 0 0;box-shadow:0 -4px 16px #00000014}.cookie-banner .inner{color:var(--steel-700);flex-direction:column;align-items:flex-start;gap:12px;font-size:14px;display:flex}@media (width>=640px){.cookie-banner .inner{flex-direction:row;justify-content:space-between;align-items:center}}.site .label{text-transform:uppercase;letter-spacing:.05em;color:var(--steel-600);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.site .input{border:1px solid var(--steel-300);width:100%;font:inherit;color:var(--steel-900);background:#fff;border-radius:8px;padding:10px 12px;font-size:14px;display:block}.site .input:focus{border-color:var(--ink-500);box-shadow:0 0 0 3px var(--ink-100);outline:none}.site textarea.input{resize:vertical;min-height:120px}.site .help{color:var(--steel-500);margin-top:6px;font-size:12px}.site .field{margin-bottom:16px}.site .form-grid{gap:0 16px;display:grid}@media (width>=640px){.site .form-grid{grid-template-columns:1fr 1fr}.site .form-grid .full{grid-column:1/-1}}.site .alert{border-radius:8px;margin:12px 0;padding:12px 14px;font-size:14px}.site .alert.info{background:var(--ink-50);color:var(--ink-700);border:1px solid var(--ink-100)}.site .alert.ok{background:var(--teal-50);color:var(--teal-600)}.site .alert.error{color:#b91c1c;background:#fee2e2}.site .alert.warn{background:var(--saffron-50);color:var(--saffron-800)}.site .badge{white-space:nowrap;background:var(--steel-100);color:var(--steel-700);border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-size:12px;font-weight:500;display:inline-flex}.site .badge-blue{background:var(--ink-100);color:var(--ink-700)}.site .badge-green{background:var(--teal-50);color:var(--teal-600)}.site .badge-amber{background:var(--saffron-100);color:var(--saffron-800)}.site .badge-red{color:#b91c1c;background:#fee2e2}.site table.table{border-collapse:collapse;width:100%;font-size:14px}.site table.table th{background:var(--steel-50);text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--steel-500);padding:10px 12px;font-size:12px;font-weight:600}.site table.table td{border-top:1px solid var(--steel-200);vertical-align:top;color:var(--steel-700);padding:12px}.site .table-wrap{overflow-x:auto}.pricing-toggle{border:1px solid var(--steel-300);background:#fff;border-radius:999px;gap:4px;padding:4px;display:inline-flex}.pricing-toggle button{font:inherit;color:var(--steel-600);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:500}.pricing-toggle button.on{background:var(--ink-800);color:#fff}.pricing-toggle .save{color:var(--teal-600);margin-left:4px;font-size:11px;font-weight:600}.plan{flex-direction:column;height:100%;display:flex;position:relative}.plan.recommended{box-shadow:0 0 0 2px var(--saffron-400)}.plan .ribbon{background:var(--saffron-500);color:#fff;text-transform:uppercase;letter-spacing:.08em;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:600;position:absolute;top:-12px;left:22px}.plan .price{letter-spacing:-.02em;color:var(--ink-900);margin-top:12px;font-size:34px;font-weight:600}.plan .price small{color:var(--steel-500);letter-spacing:0;font-size:14px;font-weight:400}.plan .per{color:var(--steel-500);min-height:18px;margin-top:2px;font-size:12px}.plan .checklist{flex:1;margin-top:18px}.plan .cta{margin-top:22px}.faq{gap:10px;display:grid}.faq details{border:1px solid var(--steel-200);background:#fff;border-radius:10px;padding:0 18px}.faq summary{cursor:pointer;color:var(--steel-900);justify-content:space-between;gap:12px;padding:14px 0;font-size:15px;font-weight:600;list-style:none;display:flex}.faq summary:after{content:"+";color:var(--steel-400);font-weight:400}.faq details[open] summary:after{content:"–"}.faq .a{color:var(--steel-600);padding:0 0 16px;font-size:14px;line-height:1.65}.legal-grid{gap:36px;padding:48px 0 64px;display:grid}@media (width>=1024px){.legal-grid{grid-template-columns:3fr 9fr}}.legal-toc{position:sticky;top:88px}.legal-toc .t{text-transform:uppercase;letter-spacing:.08em;color:var(--steel-500);font-size:12px;font-weight:600}.legal-toc ol{gap:6px;margin:12px 0 0;padding:0;font-size:14px;list-style:none;display:grid}.legal-toc a{color:var(--steel-600);text-decoration:none}.legal-toc a:hover{color:var(--ink-700)}.legal-toc .n{color:var(--steel-400);margin-right:6px;font-size:12px}.legal-meta{border:1px solid var(--steel-200);color:var(--steel-500);background:#fff;border-radius:8px;margin-top:20px;padding:12px;font-size:12px}.prose-legal{color:var(--steel-700);font-size:15px;line-height:1.75}.prose-legal h2{color:var(--steel-900);margin:36px 0 12px;scroll-margin-top:90px;font-size:20px}.prose-legal h2:first-child{margin-top:0}.prose-legal h3{color:var(--steel-900);margin:22px 0 8px;font-size:16px}.prose-legal p{margin:0 0 14px}.prose-legal ul,.prose-legal ol{margin:0 0 14px;padding-left:24px}.prose-legal li{margin-bottom:6px}.prose-legal a{color:var(--ink-600);text-decoration:underline}.prose-legal table{border-collapse:collapse;width:100%;margin:0 0 16px;font-size:14px}.prose-legal th{background:var(--steel-100);text-align:left;padding:8px 12px;font-weight:600}.prose-legal td{border-top:1px solid var(--steel-200);vertical-align:top;padding:8px 12px}.legal-links{border-top:1px solid var(--steel-200);flex-wrap:wrap;gap:8px 18px;margin-top:32px;padding-top:18px;font-size:13px;display:flex}.legal-links a{color:var(--steel-600)}.ad-slot{border:1px dashed var(--steel-300);background:repeating-linear-gradient(45deg, #fff 0 12px, var(--steel-50) 12px 24px);color:var(--steel-500);text-align:center;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:6px;margin:0 auto;display:flex}.ad-slot .lbl{text-transform:uppercase;letter-spacing:.12em;color:var(--steel-400);font-size:10px;font-weight:600}.ad-slot .txt{font-size:13px}.ad-slot .txt a{color:var(--ink-600)}.ad-slot--leaderboard{width:100%;max-width:728px;min-height:90px}.ad-slot--rectangle{width:100%;max-width:300px;min-height:250px}.ad-slot--banner{width:100%;max-width:320px;min-height:50px}.ad-slot--skyscraper{width:100%;max-width:160px;min-height:600px}.ad-slot--wide{width:100%;max-width:970px;min-height:90px}.ad-row{justify-content:center;padding:24px 0;display:flex}.ad-row.tight{padding:8px 0 0}.aside-grid{gap:32px;display:grid}@media (width>=1024px){.aside-grid{grid-template-columns:1fr 320px;align-items:start}}.kv dd{color:var(--steel-800);margin:0}.pill-row{flex-wrap:wrap;gap:8px;display:flex}.compare td.yes{color:var(--teal-600);font-weight:600}.compare td.no{color:var(--steel-400)}.spacer{height:24px}.ad-creative{text-align:left;border:1px solid var(--steel-200);color:var(--steel-800);background:#fff;border-radius:12px;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:8px;padding:12px 14px;text-decoration:none;transition:box-shadow .15s,transform .15s;display:flex;position:relative;box-shadow:0 1px 2px #0000000a}.ad-creative:hover{transform:translateY(-1px);box-shadow:0 8px 20px #0b162a1a}.ad-creative .lbl{align-self:flex-start}.ad-creative .ad-body{flex:1;align-items:flex-start;gap:12px;display:flex}.ad-creative .ad-mark{background:var(--ad,var(--ink-800));color:#fff;border-radius:10px;flex:none;place-items:center;width:40px;height:40px;font-size:14px;font-weight:800;display:grid}.ad-creative .ad-text{flex:1;gap:2px;min-width:0;display:grid}.ad-creative .ad-text b{color:var(--steel-900);font-size:13px}.ad-creative .ad-head{color:var(--ink-800);font-size:14px;font-weight:600;line-height:1.35}.ad-creative .ad-copy{color:var(--steel-600);font-size:12px;line-height:1.5}.ad-creative .ad-cta{color:var(--ad,var(--ink-700));white-space:nowrap;align-self:flex-end;margin-top:auto;font-size:12px;font-weight:600}.ad-creative.compact{flex-direction:row;align-items:center;gap:12px;padding:8px 14px}.ad-creative.compact .lbl{writing-mode:vertical-rl;align-self:center;font-size:9px;transform:rotate(180deg)}.ad-creative.compact .ad-body{align-items:center}.ad-creative.compact .ad-head{font-size:13px}.ad-creative.compact .ad-cta{margin:0}.ad-creative .ad-body.stack{flex-direction:column;align-items:stretch;gap:6px}.ad-creative .ad-top{align-items:center;gap:10px;display:flex}.ad-creative .ad-top b{color:var(--steel-900);font-size:13px}.ad-creative .ad-body.stack .ad-head{font-size:15px}.ad-creative .ad-body.stack .ad-copy{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ad-slot--rectangle.ad-creative{height:250px;min-height:250px;overflow:hidden}.ad-slot--skyscraper.ad-creative{height:600px;overflow:hidden}.ad-slot--leaderboard.ad-creative,.ad-slot--wide.ad-creative{min-height:72px}.ad-slot--banner.ad-creative{min-height:50px}.site.auth{background:var(--steel-50);grid-template-columns:1fr;min-height:100vh;display:grid}@media (width>=960px){.site.auth{grid-template-columns:minmax(380px,46%) 1fr}}.auth-side{background:var(--ink-900);color:#fff;position:relative;overflow:hidden}.auth-side .backdrop{pointer-events:none;background:radial-gradient(at 100% 0,#f2760f47,#0000 55%),radial-gradient(at 0 100%,#3a537f8c,#0000 60%);position:absolute;inset:0}.auth-side .glow{filter:blur(90px);opacity:.35;pointer-events:none;border-radius:50%;width:520px;height:520px;animation:18s ease-in-out infinite alternate auth-drift;position:absolute}.auth-side .glow.a{background:var(--saffron-500);top:-180px;right:-140px}.auth-side .glow.b{background:var(--ink-500);animation-delay:-9s;bottom:-220px;left:-160px}@keyframes auth-drift{0%{transform:translate(0,0)scale(1)}to{transform:translate(-40px,30px)scale(1.12)}}@media (prefers-reduced-motion:reduce){.auth-side .glow{animation:none}}.auth-side .backdrop:after{content:"";opacity:.07;background-image:linear-gradient(90deg,#fff 1px,#0000 1px),linear-gradient(#fff 1px,#0000 1px);background-size:40px 40px;position:absolute;inset:0}.auth-side-inner{flex-direction:column;gap:24px;min-height:100%;padding:28px 32px;display:flex;position:relative}@media (width>=960px){.auth-side-inner{padding:36px 44px}}.auth-pitch .chip{color:var(--ink-100);background:#ffffff0f;border:1px solid #ffffff26;border-radius:999px;align-items:center;gap:8px;margin-bottom:16px;padding:4px 12px;font-size:12px;display:inline-flex}.auth-pitch .chip:before{content:"";background:var(--teal-500);border-radius:50%;width:6px;height:6px}.auth-pitch .h1{color:#fff;font-size:28px;line-height:1.2}@media (width>=1200px){.auth-pitch .h1{font-size:32px}}.auth-points{gap:14px;margin:22px 0 0;padding:0;list-style:none;display:grid}.auth-points li{border-left:2px solid var(--saffron-400);gap:2px;padding-left:18px;display:grid}.auth-points b{color:#fff;font-size:14px}.auth-points span{color:var(--ink-200);font-size:13px;line-height:1.55}.auth-ad{margin-top:auto}.auth-ad .ad-slot--rectangle{margin:0}@media (height<=760px) and (width>=960px){.auth-ad{display:none}}.auth-ad .ad-row{justify-content:flex-start;padding:0}.auth-side-foot{color:var(--ink-300);font-size:12px}.auth-side-foot a{color:var(--ink-200);text-decoration:none}.auth-side-foot a:hover{color:#fff}.auth-main{flex-direction:column;justify-content:center;align-items:center;gap:22px;padding:40px 20px;display:flex}.auth-card{border:1px solid var(--steel-200);background:#fff;border-radius:14px;width:100%;max-width:440px;padding:30px 30px 26px;box-shadow:0 10px 30px #0b162a14}.auth-card.wide{max-width:560px}.auth-ws{border-bottom:1px solid var(--steel-200);align-items:center;gap:12px;margin-bottom:18px;padding-bottom:16px;display:flex}.auth-ws img{object-fit:contain;max-width:140px;height:36px}.auth-ws-mark{background:var(--ink-800);color:#fff;border-radius:10px;place-items:center;width:38px;height:38px;font-size:14px;font-weight:700;display:grid}.auth-ws-mark.platform{background:var(--saffron-500)}.auth-ws-name{color:var(--steel-900);font-size:15px;font-weight:600}.auth-ws-host{color:var(--steel-500);font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px}.auth-title{letter-spacing:-.02em;color:var(--steel-900);margin:0 0 6px;font-size:24px;font-weight:600}.auth-sub{color:var(--steel-600);margin:0 0 18px;font-size:14px;line-height:1.55}.auth-card .field{margin-bottom:14px}.auth-card .btn-primary,.auth-card .btn-accent{width:100%;padding:12px 18px;font-size:15px}.auth-foot{color:var(--steel-600);text-align:center;margin-top:16px;font-size:13px;line-height:1.7}.auth-foot a{color:var(--ink-600)}.auth-below{justify-content:center;width:100%;display:flex}.auth-links{flex-wrap:wrap;justify-content:center;gap:6px 18px;font-size:13px;display:flex}.auth-links a{color:var(--steel-500);text-decoration:none}.auth-links a:hover{color:var(--ink-700)}.auth-card .alert{margin:0 0 14px}.auth-check{color:var(--steel-600);align-items:center;gap:8px;margin-bottom:14px;font-size:13px;display:flex}@media (width<=959px){.site.auth{grid-template-rows:auto auto}.auth-main{order:0}.auth-side{order:1}.auth-points,.auth-ad{display:none}.auth-side-inner{gap:14px;min-height:0;padding:22px 20px}}@media (width<=720px){.auth-main{padding:20px 16px}.auth-below{display:none}}:root{--brand:#1f4e79;--brand-d:#163a5a;--brand-l:#e8f0f8;--accent:#0e9f6e;--txt:#111827;--txt2:#374151;--txt3:#6b7280;--txt4:#9ca3af;--bg:#f5f7fb;--surface:#fff;--surface2:#f3f4f6;--border:#e5e7eb;--red:#b91c1c;--red-l:#fee2e2;--amber:#b45309;--amber-l:#fef3c7;--green:#047857;--green-l:#d1fae5;--blue:#1d4ed8;--blue-l:#dbeafe;--radius:10px;--shadow:0 1px 2px #0000000f;--shadow-md:0 4px 12px #00000014;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;color:var(--txt);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg)}a{color:var(--brand)}button{font:inherit}.page{max-width:880px;margin:0 auto;padding:32px 20px 60px}.page--wide{max-width:1180px}.topbar{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:12px 20px;display:flex}.topbar .brand{color:var(--brand);letter-spacing:.3px;font-weight:700}.topbar .brand small{color:var(--txt3);margin-left:8px;font-weight:400}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.card+.card{margin-top:16px}h1{margin:0 0 8px;font-size:24px}h2{margin:0 0 12px;font-size:18px}p.muted,.muted{color:var(--txt3)}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.grid2{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=720px){.grid2{grid-template-columns:1fr}}label.field{margin:12px 0;display:block}label.field span{color:var(--txt2);margin-bottom:4px;font-size:13px;display:block}input[type=text],input[type=password],input[type=email],textarea,select{border:1px solid var(--border);width:100%;font:inherit;background:var(--surface);color:var(--txt);border-radius:8px;padding:10px 12px}input:focus,textarea:focus,select:focus{outline:2px solid var(--brand-l);border-color:var(--brand)}textarea.code{font-family:var(--mono);tab-size:4;white-space:pre;min-height:320px;font-size:14px;line-height:1.45}.btn{border:1px solid var(--border);background:var(--surface);color:var(--txt);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:10px 18px;display:inline-flex}.btn:hover{background:var(--surface2)}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.primary:hover{background:var(--brand-d)}.btn.big{padding:14px 28px;font-size:17px}.btn:disabled{opacity:.5;cursor:not-allowed}.alert{border-radius:8px;margin:12px 0;padding:12px 14px}.alert.error{background:var(--red-l);color:var(--red)}.alert.warn{background:var(--amber-l);color:var(--amber)}.alert.ok{background:var(--green-l);color:var(--green)}.alert.info{background:var(--blue-l);color:var(--blue)}.check{align-items:flex-start;gap:10px;margin:10px 0;display:flex}.check input{margin-top:4px}.pill{background:var(--surface2);color:var(--txt2);border-radius:999px;padding:2px 10px;font-size:12px;display:inline-block}.pill.ok{background:var(--green-l);color:var(--green)}.pill.warn{background:var(--amber-l);color:var(--amber)}.pill.bad{background:var(--red-l);color:var(--red)}.runner{background:var(--bg);min-height:100vh}.runner .hud{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 20px;font-size:14px;display:flex}.runner .hud .clock{font-variant-numeric:tabular-nums;font-weight:600}.question{-webkit-user-select:none;user-select:none;max-width:900px;margin:28px auto;padding:0 20px}.question .stem{white-space:pre-wrap;margin-bottom:20px;font-size:19px;line-height:1.5}.options{gap:10px;display:grid}.option{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;text-align:left;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.option:hover{background:var(--surface2)}.option.selected{border-color:var(--brand);background:var(--brand-l)}.option .letter{color:var(--brand);min-width:22px;font-weight:700}.ring{width:56px;height:56px;position:relative}.ring svg{transform:rotate(-90deg)}.ring .num{font-variant-numeric:tabular-nums;place-items:center;font-weight:700;display:grid;position:absolute;inset:0}.overlay{color:#fff;z-index:50;text-align:center;background:#111827eb;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.overlay h2{color:#fff;font-size:26px}.overlay .btn{margin-top:18px}.watermark{color:var(--txt4);pointer-events:none;font-size:11px;position:fixed;bottom:8px;right:12px}video.preview{background:#000;border-radius:8px;width:200px}table.simple{border-collapse:collapse;width:100%}table.simple th,table.simple td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:8px 10px;font-size:14px}table.simple th{color:var(--txt3);text-transform:uppercase;letter-spacing:.4px;font-size:12px;font-weight:600}.topbar{z-index:20;position:sticky;top:0}.topbar nav a{color:var(--txt2);border-radius:8px;padding:6px 10px;font-size:14px;text-decoration:none}.topbar nav a:hover{background:var(--surface2)}.topbar nav a.active{background:var(--brand-l);color:var(--brand);font-weight:600}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.page-head h1{margin:0}.page-head .sub{color:var(--txt3);margin-top:4px;font-size:14px}.page-head .crumbs{color:var(--txt3);margin-bottom:6px;font-size:13px}.page-head .crumbs a{color:var(--txt3);text-decoration:none}.page-head .crumbs a:hover{color:var(--brand)}.card h2{color:var(--txt);margin:0 0 12px;font-size:15px;font-weight:600}.card.flush{padding:0;overflow:hidden}.card.flush>.card-head{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.card.flush>.card-head h2{margin:0}.card.flush>.card-pad{padding:16px 20px}.btn.sm{border-radius:7px;padding:5px 10px;font-size:13px}.btn.ghost{color:var(--brand);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--brand-l)}.btn.danger{color:var(--red)}table.simple th{background:#f8fafc}table.simple td{color:var(--txt2)}table.simple tbody tr:hover td{background:#fbfcfe}table.simple td.primary,table.simple td.primary a{color:var(--txt);font-weight:600;text-decoration:none}table.simple td.primary a:hover{color:var(--brand)}table.simple td.actions{text-align:right;white-space:nowrap}table.simple td.actions .btn+.btn{margin-left:6px}table.simple td.empty{text-align:center;color:var(--txt3);padding:28px 16px}.pill.info{background:var(--blue-l);color:var(--blue)}.pill.brand{background:var(--brand-l);color:var(--brand)}.stat-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.stat{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:12px 14px}.stat .v{font-size:22px;font-weight:700;line-height:1.1}.stat .l{color:var(--txt3);margin-top:3px;font-size:12px}.bar{grid-template-columns:90px 1fr 56px;align-items:center;gap:10px;margin:6px 0;font-size:13px;display:grid}.bar .track{background:var(--border);border-radius:4px;height:8px;overflow:hidden}.bar .fill{background:var(--brand);border-radius:4px;height:100%}.bar .fill.ok{background:var(--green)}.bar .fill.warn{background:#d97706}.bar .fill.bad{background:var(--red)}.bar .n{text-align:right;font-variant-numeric:tabular-nums;color:var(--txt2)}.callout{background:var(--surface2);border-radius:8px;margin:8px 0;padding:10px 12px;font-size:13px}.help{color:var(--txt3);margin-top:4px;font-size:12px;line-height:1.45}label.field span{font-size:13px}label.field.inline{border-bottom:1px solid var(--border);grid-template-columns:1fr auto;align-items:center;gap:12px;margin:8px 0;padding:8px 0;display:grid}label.field.inline:last-of-type{border-bottom:0}label.field.inline span{margin:0}label.field.inline .help{margin:2px 0 0}label.field.inline input[type=text],label.field.inline select{width:140px}.kv{grid-template-columns:140px 1fr;gap:6px 12px;font-size:13px;display:grid}.kv dt{color:var(--txt3)}.kv dd{margin:0}.steps{counter-reset:s;gap:10px;margin:0;padding:0;list-style:none;display:grid}.steps li{grid-template-columns:28px 1fr;align-items:start;gap:12px;display:grid}.steps li:before{counter-increment:s;content:counter(s);background:var(--brand-l);width:26px;height:26px;color:var(--brand);border-radius:50%;place-items:center;font-size:13px;font-weight:700;display:grid}.steps b{font-size:14px;display:block}.steps span{color:var(--txt3);font-size:13px}code.id{font-family:var(--mono);background:var(--surface2);border-radius:5px;padding:1px 6px;font-size:13px}.toast{z-index:60;color:#fff;box-shadow:var(--shadow-md);background:#111827;border-radius:10px;max-width:420px;padding:12px 16px;font-size:14px;position:fixed;bottom:20px;right:20px}.toast.error{background:var(--red)}:root{--sidebar-w:236px;--topbar-h:56px;--ink-900:#0b162a;--ink-800:#12203a;--ink-700:#1a2d4d;--saffron-500:#f2760f;--saffron-400:#fb9433}.center-screen{place-items:center;min-height:100vh;display:grid}.app-shell{background:var(--bg);height:100svh;display:flex;overflow:hidden}.sidebar{width:var(--sidebar-w);background:var(--ink-900);color:#fff;flex-direction:column;flex-shrink:0;display:flex;overflow:hidden}.sidebar-logo{cursor:pointer;background:#fff;border-bottom:1px solid #0000000f;flex-shrink:0;align-items:center;gap:10px;height:64px;padding:0 18px;display:flex}.sidebar-logo .mark{background:var(--ink-800);color:#fff;letter-spacing:-.04em;border-radius:9px;place-items:center;width:34px;height:34px;font-size:16px;font-weight:800;display:grid}.sidebar-logo .word{letter-spacing:-.03em;color:var(--ink-900);font-size:18px;font-weight:800;line-height:1}.sidebar-logo .word small{letter-spacing:.2em;text-transform:uppercase;color:var(--saffron-500);margin-top:3px;font-size:9px;font-weight:600;display:block}.sidebar-ws{color:#ffffff8c;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;text-overflow:ellipsis;padding:12px 18px 6px;font-size:12px;font-weight:600;overflow:hidden}.sidebar-nav{flex:1;padding:4px 0 12px;overflow-y:auto}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-thumb{background:#fff3;border-radius:2px}.nav-group-header{color:#ffffffd9;border-radius:6px;align-items:center;gap:10px;margin:6px 8px 0;padding:8px 10px;font-size:13px;font-weight:600;display:flex}.nav-group-label{flex:1}.nav-item{color:#ffffffb3;border-radius:6px;align-items:center;gap:10px;margin:1px 8px;padding:7px 10px 7px 34px;font-size:13px;text-decoration:none;transition:background .15s,color .15s;display:flex}.nav-item:hover{color:#fff;background:#ffffff1a}.nav-item.active{background:var(--saffron-500);color:#fff;font-weight:600}.nav-icon{text-align:center;flex-shrink:0;width:18px;font-size:13px}.nav-group-items>div{overflow:hidden}.sidebar-user{border-top:1px solid #ffffff1a;align-items:center;gap:10px;padding:12px 14px;display:flex}.user-av{color:#fff;background:var(--ink-700);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:12px;font-weight:700;display:inline-flex}.user-av.sm{background:var(--ink-800);width:28px;height:28px;font-size:11px}.user-info{flex:1;overflow:hidden}.user-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.user-role{color:#ffffff80;font-size:11px}.btn-icon{color:#fff9;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:16px}.btn-icon:hover{color:#fff;background:#ffffff1a}.main{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.app-shell .topbar{height:var(--topbar-h);border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;justify-content:space-between;align-items:center;padding:0 24px;display:flex;position:static}.topbar-left{align-items:center;gap:14px;min-width:0;display:flex}.topbar-right{align-items:center;gap:12px;display:flex}.topbar-user{color:var(--txt2);align-items:center;gap:8px;font-size:13px;font-weight:600;display:inline-flex}.crumbs{color:var(--txt3);white-space:nowrap;align-items:center;gap:6px;font-size:14px;font-weight:600;display:flex;overflow:hidden}.crumbs a{color:var(--brand);text-decoration:none}.crumbs a:hover{text-decoration:underline}.crumbs .sep{color:var(--txt4);margin:0 6px;font-weight:400}.crumbs .cur{color:var(--txt)}.app-shell .topbar .crumbs a,.app-shell .topbar .crumbs a.active{background:0 0;padding:0;font-weight:600}.hamburger{border:1px solid var(--border);color:var(--txt2);background:0 0;border-radius:6px;padding:3px 9px;font-size:18px;line-height:1;display:none}.sidebar-backdrop{display:none}.page-content{flex:1;overflow-y:auto}.app-shell .page{max-width:none;padding:24px 24px 60px}@media (width<=860px){.sidebar{z-index:60;transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar.open{transform:none}.sidebar-backdrop{z-index:55;background:#0006;display:block;position:fixed;inset:0}.hamburger{display:inline-flex}.app-shell .topbar{padding:0 14px}}table.simple th[aria-sort]{color:var(--brand)}table.simple th:hover{color:var(--txt)}.card.flush{overflow-x:auto}.card.flush>table.simple{min-width:640px}.list-bar select,.list-bar input[type=search],.list-bar input[type=text]{width:auto;min-width:0}.card-head .list-bar{margin-left:auto}
