@tailwind base;@tailwind components;@tailwind utilities;:root{--c0:#ffffff;--c25:#fbfcfd;--c50:#f6f7f9;--c75:#eff1f5;--c100:#e8ebf0;--c150:#dde1e8;--c200:#cfd4dd;--c300:#aeb4c0;--c400:#878d9b;--c500:#666c7a;--c600:#4b5160;--c700:#363b47;--c800:#23272f;--c850:#1a1d24;--c900:#121419;--c950:#0c0d11;--bg:var(--c50);--surface:var(--c0);--line:var(--c100);--line-2:var(--c150);--ink:var(--c900);--ink-2:var(--c600);--ink-3:var(--c400);--ink-4:var(--c300);--ok:#1c8a4e;--ok-2:#15703f;--ok-bg:#e9f6ee;--ok-bg2:#d7eede;--ok-bd:#b4e2c4;--warn:#bd7a00;--warn-2:#9a6300;--warn-bg:#fbf2dd;--warn-bg2:#f6e7c2;--warn-bd:#efd79f;--bad:#cf3a2c;--bad-2:#ab2c20;--bad-bg:#fceae7;--bad-bg2:#f8d6d0;--bad-bd:#f1bdb4;--wait:#2f5fda;--wait-2:#244fbd;--wait-bg:#eaeffb;--wait-bg2:#d8e3f8;--wait-bd:#c2d2f4;--neutral:#5b616f;--neutral-bg:#eef0f3;--neutral-bd:#dde0e6;--brand:linear-gradient(100deg,#f0853b 0%,#ec5a8d 28%,#9b5de5 52%,#4d7cf0 76%,#2bc4c0 100%);--brand-soft:linear-gradient(100deg,rgba(240,133,59,.14),rgba(155,93,229,.14),rgba(43,196,192,.14));--brand-on:.92;--r-xl:18px;--r-lg:15px;--r-md:11px;--r-sm:8px;--r-xs:6px;--sh-xs:0 1px 1.5px rgba(16,19,28,.05);--sh-sm:0 1px 2px rgba(16,19,28,.06), 0 1px 1px rgba(16,19,28,.04);--sh-md:0 6px 18px -6px rgba(16,19,28,.12), 0 2px 6px -2px rgba(16,19,28,.07);--sh-lg:0 18px 40px -12px rgba(16,19,28,.22), 0 6px 14px -6px rgba(16,19,28,.12);--sh-pop:0 22px 60px -14px rgba(16,19,28,.32);--font:"Hanken Grotesk", ui-sans-serif, system-ui, sans-serif;--mono:"Spline Sans Mono", ui-monospace, Menlo, monospace;--ease:cubic-bezier(.22,.61,.36,1);--dur:.22s;--side-w:264px}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%}body{font-family:var(--font);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button{font-family:inherit;cursor:pointer;border:0;background:none}input,textarea,select{font-family:inherit}::selection{background:#d6def9}a{color:inherit;text-decoration:none}.mono{font-family:var(--mono)}.muted{color:var(--ink-3)}.scroll::-webkit-scrollbar{width:10px;height:10px}.scroll::-webkit-scrollbar-thumb{background:var(--c150);border-radius:99px;border:3px solid var(--surface)}.scroll::-webkit-scrollbar-thumb:hover{background:var(--c200)}.app{height:100vh;background:var(--bg)}.viewport{width:100%;height:100vh;background:var(--bg);display:grid;grid-template-columns:var(--side-w) 1fr;overflow:hidden;position:relative}.side{background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:20px 16px;position:relative;overflow-y:auto}.brand{display:flex;align-items:center;gap:12px;padding:4px 8px 0}.brand__logo{width:40px;height:40px;flex:none;position:relative;background:var(--ink);-webkit-mask:url(/brand/mark-dark.png) center/contain no-repeat;mask:url(/brand/mark-dark.png) center/contain no-repeat}.brand__logo:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--brand);opacity:var(--brand-on,.92)}.brand__logo span{display:none}.brand__name{font-weight:800;font-size:19px;letter-spacing:-.025em}.brand__sub{font-size:11.5px;color:var(--ink-3);margin:2px 0 0 8px}.workspace-pick{margin:18px 8px 6px;border:1px solid var(--line-2);border-radius:var(--r-md);padding:9px 11px;display:flex;align-items:center;gap:10px;cursor:pointer;transition:var(--dur) var(--ease);background:var(--c25)}.workspace-pick:hover{border-color:var(--c200);box-shadow:var(--sh-xs)}.workspace-pick .av{width:28px;height:28px;border-radius:7px;background:var(--c900);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:800;flex:none}.workspace-pick .nm{font-size:12.5px;font-weight:700;line-height:1.15}.workspace-pick .rl{font-size:10.5px;color:var(--ink-3)}.nav-cap{font-size:10px;font-weight:700;letter-spacing:.14em;color:var(--ink-4);text-transform:uppercase;padding:16px 10px 8px}.nav{display:flex;flex-direction:column;gap:2px}.nav a{display:flex;align-items:center;gap:12px;padding:9px 11px;border-radius:10px;color:var(--ink-2);font-size:13.5px;font-weight:600;cursor:pointer;position:relative;transition:var(--dur) var(--ease)}.nav a span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat .val{white-space:nowrap}.nav a .ic{width:18px;height:18px;color:var(--ink-3);flex:none;transition:var(--dur) var(--ease)}.nav a .tail{margin-left:auto}.nav a:hover{background:var(--c50);color:var(--ink)}.nav a:hover .ic{color:var(--ink-2)}.nav a.active{background:var(--c900);color:#fff;box-shadow:var(--sh-sm)}.nav a.active .ic{color:#fff}.nav .pip{font-size:10.5px;font-weight:800;min-width:18px;height:18px;padding:0 5px;border-radius:99px;display:grid;place-items:center;background:var(--c100);color:var(--ink-2)}.nav a.active .pip{background:#ffffff2e;color:#fff}.nav .pip.bad{background:var(--bad-bg);color:var(--bad)}.side__foot{margin-top:auto;padding-top:14px}.upgrade{border:1px solid var(--line-2);border-radius:var(--r-lg);padding:14px;background:linear-gradient(180deg,var(--c25),var(--c50));position:relative;overflow:hidden}.upgrade:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--brand)}.upgrade .t{font-weight:800;font-size:13.5px;margin-top:2px}.upgrade .d{font-size:11.5px;color:var(--ink-3);margin:4px 0 11px;line-height:1.45}.main{display:flex;flex-direction:column;min-width:0;height:100vh}.top{height:64px;flex:none;border-bottom:1px solid var(--line);background:#ffffffd1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;gap:16px;padding:0 28px;z-index:5}.crumb{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--ink-3);font-weight:600}.crumb b{color:var(--ink);font-weight:700}.searchbox{flex:1;max-width:420px;display:flex;align-items:center;gap:9px;background:var(--c50);border:1px solid var(--line-2);border-radius:10px;padding:8px 13px;color:var(--ink-3);font-size:13px;transition:var(--dur) var(--ease);cursor:text}.searchbox:hover{border-color:var(--c200)}.searchbox .k{margin-left:auto;font-family:var(--mono);font-size:10.5px;border:1px solid var(--line-2);border-radius:5px;padding:1px 6px;background:var(--surface)}.top__sp{flex:1}.iconbtn{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;color:var(--ink-2);border:1px solid var(--line);background:var(--surface);position:relative;transition:var(--dur) var(--ease)}.iconbtn:hover{background:var(--c50);color:var(--ink)}.iconbtn .ndot{position:absolute;top:8px;right:9px;width:7px;height:7px;border-radius:99px;background:var(--bad);border:1.5px solid var(--surface)}.scrollarea{flex:1;overflow:auto;min-height:0}.page{padding:30px 36px 60px;max-width:1180px;margin:0 auto;animation:pageIn .22s var(--ease) both}@keyframes pageIn{0%{transform:translateY(9px)}to{transform:none}}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.ph{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px;flex-wrap:wrap}.ph h1{margin:0;font-size:27px;font-weight:800;letter-spacing:-.03em}.ph p{margin:6px 0 0;color:var(--ink-3);font-size:14.5px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-sm)}.card.pad{padding:22px}.card.hov{transition:var(--dur) var(--ease);cursor:pointer}.card.hov:hover{box-shadow:var(--sh-md);border-color:var(--line-2);transform:translateY(-2px)}.ch{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.ch h3{margin:0;font-size:16.5px;font-weight:800;letter-spacing:-.02em}.grid{display:grid;gap:18px}.row{display:flex;align-items:center}.col{display:flex;flex-direction:column}.g6{gap:6px}.g8{gap:8px}.g10{gap:10px}.g12{gap:12px}.g16{gap:16px}.g20{gap:20px}.wrap{flex-wrap:wrap}.sb{justify-content:space-between}.ac{align-items:center}.as{align-items:flex-start}.btn{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);border-radius:10px;font-size:13px;font-weight:600;padding:9px 14px;transition:var(--dur) var(--ease);white-space:nowrap}.btn:hover{background:var(--c50);border-color:var(--c200)}.btn:active{transform:translateY(1px)}.btn .ic{width:15px;height:15px}.btn--pri{background:var(--c900);color:#fff;border-color:var(--c900)}.btn--pri:hover{background:var(--c800);border-color:var(--c800)}.btn--sm{padding:7px 11px;font-size:12.5px}.btn--lg{padding:11px 18px;font-size:14px}.btn--ghost{border-color:transparent;background:transparent}.btn--ghost:hover{background:var(--c75)}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--wait-bd)}.btn:disabled{opacity:.5;cursor:not-allowed}.chip{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;padding:4px 9px;border-radius:99px;border:1px solid var(--line-2);background:var(--c50);color:var(--ink-2)}.kbd{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.08em;border:1px solid var(--line-2);border-radius:6px;padding:3px 8px;background:var(--c25);color:var(--ink-2)}.badge{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;padding:4px 10px;border-radius:99px;border:1px solid var(--neutral-bd);background:var(--neutral-bg);color:var(--neutral);white-space:nowrap}.badge .d{width:7px;height:7px;border-radius:50%;background:currentColor}.badge.ok{background:var(--ok-bg);border-color:var(--ok-bd);color:var(--ok-2)}.badge.warn{background:var(--warn-bg);border-color:var(--warn-bd);color:var(--warn-2)}.badge.bad{background:var(--bad-bg);border-color:var(--bad-bd);color:var(--bad-2)}.badge.wait{background:var(--wait-bg);border-color:var(--wait-bd);color:var(--wait-2)}.badge.solid.ok{background:var(--ok);color:#fff;border-color:var(--ok)}.badge.solid.bad{background:var(--bad);color:#fff;border-color:var(--bad)}.dot{width:9px;height:9px;border-radius:50%;flex:none}.dot.ok{background:var(--ok)}.dot.warn{background:var(--warn)}.dot.bad{background:var(--bad)}.dot.wait{background:var(--wait)}.dot.neutral{background:var(--ink-4)}.dot.ring{box-shadow:0 0 0 4px var(--ringc)}.bar{height:8px;border-radius:99px;background:var(--c75);overflow:hidden}.bar>i{display:block;height:100%;border-radius:99px;background:var(--c900);transition:width .9s var(--ease)}.bar.ok>i{background:var(--ok)}.bar.warn>i{background:var(--warn)}.bar.bad>i{background:var(--bad)}.bar.wait>i{background:var(--wait)}.bar.lg{height:11px}.stat{display:flex;align-items:center;gap:15px}.stat .ic{width:48px;height:48px;border-radius:13px;display:grid;place-items:center;flex:none}.stat .ic.ok{background:var(--ok-bg);color:var(--ok)}.stat .ic.warn{background:var(--warn-bg);color:var(--warn)}.stat .ic.bad{background:var(--bad-bg);color:var(--bad)}.stat .ic.wait{background:var(--wait-bg);color:var(--wait)}.stat .ic.neutral{background:var(--c75);color:var(--ink-2)}.stat .lbl{font-size:12.5px;color:var(--ink-3);font-weight:600}.stat .val{font-size:27px;font-weight:800;letter-spacing:-.03em;line-height:1.05}.stat .val .u{font-size:15px;color:var(--ink-3);font-weight:700}.ring{position:relative;display:grid;place-items:center}.ring svg{transform:rotate(-90deg)}.ring .rv{position:absolute;text-align:center}.ring .rv b{font-weight:800;letter-spacing:-.03em;display:block;line-height:1}.ring .rv span{font-size:11px;color:var(--ink-3);font-weight:600}.board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(248px,1fr);gap:14px;overflow-x:auto;padding-bottom:8px}.kcol{background:var(--c50);border:1px solid var(--line);border-radius:var(--r-lg);padding:12px;display:flex;flex-direction:column;gap:10px;min-height:130px}.kcol__h{display:flex;align-items:center;justify-content:space-between;font-size:12.5px;font-weight:800;padding:2px 4px}.kcol__h .n{font-family:var(--mono);font-size:11px;color:var(--ink-3);background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:1px 7px}.kcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:13px;box-shadow:var(--sh-xs);position:relative;transition:var(--dur) var(--ease);cursor:grab}.kcard:hover{box-shadow:var(--sh-md);transform:translateY(-2px);border-color:var(--line-2)}.kcard__edge{position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:99px}.kcard__edge.ok{background:var(--ok)}.kcard__edge.warn{background:var(--warn)}.kcard__edge.bad{background:var(--bad)}.kcard__edge.wait{background:var(--wait)}.kcard__edge.neutral{background:var(--ink-4)}.kcard .t{font-weight:700;font-size:13px;line-height:1.32;padding-left:8px}.kcard .m{font-size:11.5px;color:var(--ink-3);margin-top:7px;display:flex;align-items:center;gap:7px;padding-left:8px}.kadd{border:1px dashed var(--line-2);border-radius:var(--r-md);padding:9px;color:var(--ink-3);font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:6px;transition:var(--dur) var(--ease)}.kadd:hover{background:var(--surface);color:var(--ink-2);border-color:var(--c200)}.item{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);transition:var(--dur) var(--ease)}.item:hover{border-color:var(--line-2);box-shadow:var(--sh-sm)}.item+.item{margin-top:10px}.item .fic{width:42px;height:42px;border-radius:10px;background:var(--c50);border:1px solid var(--line);display:grid;place-items:center;color:var(--ink-2);flex:none}.item .nm{font-weight:700;font-size:14px;white-space:nowrap}.item .mt{font-size:12px;color:var(--ink-3);margin-top:2px}.tag{font-size:11px;font-weight:700;color:var(--ink-2);background:var(--c50);border:1px solid var(--line);border-radius:6px;padding:2px 7px}.tabs{display:flex;gap:4px;background:var(--c75);border:1px solid var(--line);border-radius:12px;padding:4px;position:relative}.tabs button{position:relative;z-index:1;display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--ink-2);padding:8px 14px;border-radius:8px;transition:color var(--dur) var(--ease)}.tabs button .n{font-family:var(--mono);font-size:10.5px;opacity:.7}.tabs button[data-on=true]{color:var(--ink)}.tabs .glider{position:absolute;top:4px;bottom:4px;background:var(--surface);border-radius:8px;box-shadow:var(--sh-sm);transition:transform .28s var(--ease),width .28s var(--ease);z-index:0}.cell{width:38px;height:38px;border-radius:9px;display:grid;place-items:center;font-size:12px;font-weight:800;border:1px solid;transition:var(--dur) var(--ease);cursor:pointer}.cell:hover{transform:scale(1.08);box-shadow:var(--sh-sm);z-index:1}.cell.ok{background:var(--ok-bg);color:var(--ok-2);border-color:var(--ok-bd)}.cell.warn{background:var(--warn-bg);color:var(--warn-2);border-color:var(--warn-bd)}.cell.bad{background:var(--bad-bg);color:var(--bad-2);border-color:var(--bad-bd)}.cell.wait{background:var(--wait-bg);color:var(--wait-2);border-color:var(--wait-bd)}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}.field label{font-size:13px;font-weight:700}.input{border:1px solid var(--line-2);border-radius:10px;background:var(--surface);padding:11px 13px;font-size:13.5px;color:var(--ink);transition:var(--dur) var(--ease);width:100%}.input::placeholder{color:var(--ink-4)}.input:focus{outline:none;border-color:var(--wait);box-shadow:0 0 0 3px var(--wait-bd)}select.input{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23878d9b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.sugg{border:1px solid var(--line);background:var(--surface);border-radius:var(--r-md);padding:14px;display:flex;gap:12px;align-items:flex-start;transition:var(--dur) var(--ease)}.sugg:hover{box-shadow:var(--sh-sm);border-color:var(--line-2)}.sugg .si{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;flex:none}.bubble{max-width:80%;padding:12px 15px;border-radius:16px;font-size:13.5px;line-height:1.55}.bubble.bot{background:var(--surface);border:1px solid var(--line);border-top-left-radius:5px;align-self:flex-start;box-shadow:var(--sh-xs)}.bubble.me{background:var(--c900);color:#fff;border-top-right-radius:5px;align-self:flex-end}.dz{border:2px dashed var(--line-2);border-radius:var(--r-lg);padding:42px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;transition:var(--dur) var(--ease);cursor:pointer;background:var(--c25)}.dz:hover{border-color:var(--wait);background:var(--wait-bg)}.dz .dzi{width:58px;height:58px;border-radius:16px;background:var(--surface);border:1px solid var(--line);display:grid;place-items:center;color:var(--ink-2);box-shadow:var(--sh-sm)}.toasts{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:80;display:flex;flex-direction:column;gap:10px;align-items:center}.toast{background:var(--c900);color:#fff;padding:11px 16px;border-radius:11px;font-size:13px;font-weight:600;display:flex;align-items:center;gap:10px;box-shadow:var(--sh-pop);animation:toastin .3s var(--ease) both}.toast .tk{width:20px;height:20px;border-radius:99px;background:var(--ok);display:grid;place-items:center;color:#fff;flex:none}@keyframes toastin{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:none}}.divh{height:1px;background:var(--line);margin:0}.skel{background:linear-gradient(90deg,var(--c75),var(--c100),var(--c75));background-size:200% 100%;animation:sk 1.4s infinite;border-radius:6px}@keyframes sk{0%{background-position:200% 0}to{background-position:-200% 0}}.accent-line{height:3px;border-radius:99px;background:var(--brand)}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}.viewport.compact .page{padding:20px 28px 48px}.viewport.compact .card.pad{padding:16px}.viewport.compact .ph{margin-bottom:18px}.viewport.compact .grid{gap:13px}@media (max-width:980px){.viewport{grid-template-columns:1fr}.side{display:none}}:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:4px}.pub-shell{min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.pub-shell main{flex:1}.pub-skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:10px 16px;border-radius:0 0 8px;z-index:999;font-size:13px;font-weight:700}.pub-skip:focus{left:0}.pub-container{max-width:1120px;margin:0 auto;padding:0 24px}.pub-section{padding:72px 0}.pub-section--tight{padding:48px 0}.pub-section--dark{background:var(--c900);color:#fff}.pub-section--dark .muted{color:var(--c400)}.pub-section--soft{background:var(--surface)}.pub-eyebrow{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:10px}.pub-section-title{max-width:640px;margin:0 auto 40px;text-align:center}.pub-section-title h2{font-size:clamp(24px,3vw,32px);font-weight:800;letter-spacing:-.03em;margin:0 0 10px}.pub-section-title p{color:var(--ink-3);font-size:15.5px;line-height:1.6;margin:0}.pub-header{position:sticky;top:0;z-index:40;background:#ffffffdb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.pub-header__inner{max-width:1120px;margin:0 auto;padding:0 24px;height:68px;display:flex;align-items:center;justify-content:space-between;gap:20px}.pub-header__brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:17px;letter-spacing:-.02em;color:var(--ink);text-decoration:none;flex:none}.pub-header__brand-mark{width:34px;height:34px;border-radius:9px;background:var(--ink);display:grid;place-items:center;flex:none}.pub-header__nav{display:flex;align-items:center;gap:4px}.pub-header__nav a{padding:8px 13px;border-radius:8px;font-size:13.5px;font-weight:600;color:var(--ink-2);text-decoration:none;transition:var(--dur) var(--ease)}.pub-header__nav a:hover{background:var(--c75);color:var(--ink)}.pub-header__actions{display:flex;align-items:center;gap:10px;flex:none}.pub-header__burger{display:none;width:40px;height:40px;border-radius:10px;border:1px solid var(--line);background:var(--surface);align-items:center;justify-content:center}@media (max-width:900px){.pub-header__nav,.pub-header__actions .pub-header__cta-desktop{display:none}.pub-header__burger{display:inline-flex}}.pub-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0c0d1173;z-index:60}.pub-drawer{position:fixed;top:0;right:0;bottom:0;width:min(86vw,360px);background:var(--surface);z-index:61;box-shadow:var(--sh-pop);display:flex;flex-direction:column;padding:20px}.pub-drawer__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.pub-drawer__close{width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:var(--surface);display:grid;place-items:center}.pub-drawer nav{display:flex;flex-direction:column;gap:2px}.pub-drawer nav a{padding:13px 12px;border-radius:10px;font-size:15px;font-weight:600;color:var(--ink);text-decoration:none}.pub-drawer nav a:hover,.pub-drawer nav a:focus-visible{background:var(--c75)}.pub-drawer__cta{margin-top:auto;display:flex;flex-direction:column;gap:10px}@media (prefers-reduced-motion:no-preference){.pub-drawer{transition:transform .24s var(--ease)}}.pub-footer{background:var(--c900);color:var(--c300);padding:56px 0 28px}.pub-footer__grid{display:grid;grid-template-columns:1.4fr repeat(5,1fr);gap:28px}.pub-footer__brand{color:#fff;font-weight:800;font-size:17px;margin-bottom:10px;display:flex;align-items:center;gap:10px}.pub-footer__tagline{font-size:13px;line-height:1.6;color:var(--c400);max-width:220px}.pub-footer h3{font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--c400);margin:0 0 14px}.pub-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}.pub-footer a{color:var(--c300);text-decoration:none;font-size:13.5px}.pub-footer a:hover{color:#fff}.pub-footer__bottom{margin-top:44px;padding-top:22px;border-top:1px solid var(--c800);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--c500)}@media (max-width:900px){.pub-footer__grid{grid-template-columns:1fr 1fr}}@media (max-width:520px){.pub-footer__grid{grid-template-columns:1fr}}.pub-hero{max-width:1120px;margin:0 auto;padding:76px 24px 40px;display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center}.pub-hero__text h1{font-size:clamp(32px,4.4vw,52px);font-weight:800;letter-spacing:-.035em;line-height:1.06;margin:14px 0 18px}.pub-hero__text p{font-size:17px;line-height:1.6;color:var(--ink-3);max-width:520px;margin:0}.pub-eyebrow-chip{background:var(--brand-soft);border-color:transparent}.pub-hero__visual{min-width:0}@media (max-width:900px){.pub-hero{grid-template-columns:1fr;padding-top:44px}.pub-hero__visual{order:2}}.pub-cta{max-width:640px;margin:0 auto;padding:64px 24px;text-align:center}.pub-cta h2{font-size:clamp(24px,3.4vw,34px);font-weight:800;letter-spacing:-.03em;margin:0 0 12px}.pub-cta p{color:var(--ink-3);font-size:15.5px;margin:0}.pub-btn-invert{background:transparent;border-color:var(--line-2)}.pub-section--dark .pub-btn-invert{color:#fff;border-color:var(--c700)}.pub-section--dark .pub-cta p{color:var(--c400)}.pub-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.pub-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.pub-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}@media (max-width:900px){.pub-grid-3,.pub-grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.pub-grid-2,.pub-grid-3,.pub-grid-4{grid-template-columns:1fr}}.pub-feature{display:block;text-decoration:none;color:inherit}.pub-feature__icon{width:42px;height:42px;border-radius:11px;background:var(--c75);color:var(--ink-2);display:grid;place-items:center;margin-bottom:14px}.pub-feature__title{font-weight:700;font-size:15.5px;margin-bottom:6px;color:var(--ink)}.pub-feature__desc{font-size:13.5px;color:var(--ink-3);line-height:1.55;margin:0}.pub-persona{display:flex;align-items:center;gap:16px;text-decoration:none;color:inherit}.pub-persona__icon{width:44px;height:44px;border-radius:11px;background:var(--c75);color:var(--ink-2);display:grid;place-items:center;flex:none}.pub-persona__title{font-weight:700;font-size:15px;color:var(--ink)}.pub-persona__desc{font-size:13px;color:var(--ink-3);margin:3px 0 0}.pub-persona__arrow{color:var(--ink-4);flex:none;transition:var(--dur) var(--ease)}.pub-persona:hover .pub-persona__arrow{color:var(--ink);transform:translate(3px)}.pub-mockup{max-width:420px}.pub-mockup__stats{display:grid;grid-template-columns:1fr;gap:10px}.pub-timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}.pub-timeline li{display:flex;gap:16px;padding:16px 0;border-top:1px solid var(--line)}.pub-timeline li:first-child{border-top:0}.pub-timeline__num{width:30px;height:30px;border-radius:99px;background:var(--c900);color:#fff;font-weight:800;font-size:12.5px;display:grid;place-items:center;flex:none}.pub-timeline__label{font-weight:700;font-size:14.5px}.pub-timeline__desc{font-size:13px;color:var(--ink-3);margin:4px 0 0;line-height:1.55}.pub-compare-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-lg)}.pub-compare{width:100%;border-collapse:collapse;font-size:13.5px;min-width:520px}.pub-compare th,.pub-compare td{padding:13px 16px;text-align:left;border-bottom:1px solid var(--line)}.pub-compare thead th{background:var(--c50);font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);font-weight:800}.pub-compare tbody th{font-weight:600;color:var(--ink-2)}.pub-compare tr:last-child td,.pub-compare tr:last-child th{border-bottom:0}.pub-faq h2{font-size:clamp(22px,3vw,28px);font-weight:800;letter-spacing:-.03em;margin:0 0 22px;text-align:center}.pub-faq__list{display:flex;flex-direction:column;gap:10px;max-width:760px;margin:0 auto}.pub-faq__item{border:1px solid var(--line);border-radius:var(--r-md);padding:16px 18px;background:var(--surface)}.pub-faq__item summary{cursor:pointer;font-weight:700;font-size:14.5px;list-style:none;display:flex;justify-content:space-between;align-items:center}.pub-faq__item summary::-webkit-details-marker{display:none}.pub-faq__item summary:after{content:"+";font-size:20px;font-weight:400;color:var(--ink-3);flex:none;margin-left:12px}.pub-faq__item[open] summary:after{content:"–"}.pub-faq__item p{margin:12px 0 0;color:var(--ink-3);font-size:13.5px;line-height:1.6}.pub-resource-card{display:block;text-decoration:none;color:inherit}.pub-resource-card__title{font-weight:700;font-size:15.5px;margin:12px 0 6px;color:var(--ink)}.pub-resource-card__excerpt{font-size:13.5px;color:var(--ink-3);line-height:1.55;margin:0 0 12px}.pub-pricing-card{position:relative;display:flex;flex-direction:column}.pub-pricing-card--featured{border-color:var(--ink);box-shadow:var(--sh-md)}.pub-pricing-card__badge{position:absolute;top:-12px;left:22px;background:var(--ink);color:#fff;border-color:var(--ink)}.pub-pricing-card__name{font-weight:800;font-size:16px}.pub-pricing-card__price{font-size:28px;font-weight:800;letter-spacing:-.02em;margin-bottom:4px}.pub-pricing-card__note{font-size:12px;color:var(--ink-3);line-height:1.5;margin:0 0 14px}.pub-pricing-card__tagline{font-size:13px;color:var(--ink-2);margin:0 0 16px;line-height:1.5}.pub-pricing-card__features{list-style:none;margin:0 0 22px;padding:0;display:flex;flex-direction:column;gap:9px;flex:1}.pub-pricing-card__features li{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--ink-2)}.pub-breadcrumbs{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-3);margin-bottom:20px}.pub-breadcrumbs a{color:var(--ink-3);text-decoration:none}.pub-breadcrumbs a:hover{color:var(--ink);text-decoration:underline}.pub-answer{background:var(--c50);border:1px solid var(--line);border-left:3px solid var(--ink);border-radius:var(--r-md);padding:18px 20px;font-size:15.5px;line-height:1.65;color:var(--ink-2);margin:0 0 28px}.pub-takeaways{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:20px;margin:0 0 28px}.pub-takeaways__title{font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);margin-bottom:12px}.pub-takeaways ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.pub-takeaways li{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.5}.pub-sources ul{margin:8px 0 0;padding-left:18px}.pub-sources li{font-size:13px;color:var(--ink-3);margin-bottom:4px}.pub-sources a{color:var(--wait)}.pub-placeholder{background:var(--warn-bg);border:1px dashed var(--warn-bd);color:var(--warn-2);border-radius:var(--r-sm);padding:12px 14px;font-size:13px;font-weight:600;margin:0}.pub-updated{margin:0 0 22px}.pub-loading{padding:24px 0}.pub-spinner{width:16px;height:16px;border-radius:99px;border:2px solid var(--line-2);border-top-color:var(--ink);flex:none}@media (prefers-reduced-motion:no-preference){.pub-spinner{animation:pub-spin .8s linear infinite}}@keyframes pub-spin{to{transform:rotate(360deg)}}.pub-error{display:flex;align-items:center;gap:10px;background:var(--bad-bg);border:1px solid var(--bad-bd);color:var(--bad-2);border-radius:var(--r-sm);padding:12px 14px;font-size:13.5px}.pub-prose{font-size:15px;line-height:1.7;color:var(--ink-2);max-width:720px}.pub-prose p{margin:0 0 14px}.pub-prose ul{margin:0 0 14px;padding-left:20px}.pub-prose li{margin-bottom:6px}.pub-prose h3{font-size:18px;font-weight:800;letter-spacing:-.02em;margin:28px 0 10px;color:var(--ink)}.pub-trust{padding:36px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.pub-trust__label{text-align:center;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-4);margin-bottom:18px}.pub-trust__row{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}.pub-article{max-width:760px;margin:0 auto}.pub-article__header{margin-bottom:28px}.pub-article__header h1{font-size:clamp(26px,3.6vw,36px);font-weight:800;letter-spacing:-.03em;margin:10px 0}.pub-article__toc{background:var(--c50);border:1px solid var(--line);border-radius:var(--r-md);padding:16px 20px;margin-bottom:32px}.pub-article__toc-title{font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);margin-bottom:10px}.pub-article__toc ol{margin:0;padding-left:18px}.pub-article__toc a{color:var(--ink-2);text-decoration:none;font-size:13.5px}.pub-article__toc a:hover{text-decoration:underline}.pub-article__section{margin-bottom:32px}.pub-article__section h2{font-size:20px;font-weight:800;letter-spacing:-.02em;margin:0 0 12px}.pub-article__links{background:var(--c50);border-radius:var(--r-md);padding:18px 20px;margin-top:32px}.pub-article__links ul{margin:8px 0 0;padding-left:18px}.pub-hub-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}@media (max-width:900px){.pub-hub-strip{grid-template-columns:repeat(4,1fr)}}@media (max-width:520px){.pub-hub-strip{grid-template-columns:repeat(2,1fr)}}.pub-hub-strip__item{text-decoration:none;color:inherit;text-align:center;padding:16px 10px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}.pub-hub-strip__num{font-weight:800;font-size:20px;color:var(--ink)}.pub-hub-strip__label{font-size:11px;color:var(--ink-3);margin-top:4px;line-height:1.35}.pub-indicator-row{border:1px solid var(--line);border-radius:var(--r-md);padding:16px 18px;margin-bottom:12px;background:var(--surface)}.pub-indicator-row__head{display:flex;align-items:center;gap:10px;margin-bottom:6px}.pub-indicator-row__title{font-weight:700;font-size:14.5px}.pub-indicator-row__desc{font-size:13.5px;color:var(--ink-3);line-height:1.55;margin:0 0 8px}.pub-indicator-row__proof{font-size:12.5px;color:var(--ink-3);background:var(--c50);border-radius:var(--r-sm);padding:8px 10px}.pub-form{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;max-width:640px}.pub-form__full{grid-column:1 / -1}.pub-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.pub-form__consent{display:flex;align-items:flex-start;gap:10px;font-size:12.5px;color:var(--ink-2);line-height:1.5}.pub-form__success{display:flex;flex-direction:column;align-items:flex-start;gap:8px;background:var(--ok-bg);border:1px solid var(--ok-bd);color:var(--ok-2);border-radius:var(--r-md);padding:20px;max-width:640px}@media (max-width:640px){.pub-form{grid-template-columns:1fr}}.pub-legal{max-width:760px;margin:0 auto}.pub-legal h2{font-size:19px;font-weight:800;margin:32px 0 10px}.pub-legal p,.pub-legal li{font-size:14px;line-height:1.7;color:var(--ink-2)}.pub-legal .pub-placeholder-inline{color:var(--warn-2);font-weight:700}.pub-404{text-align:center;padding:100px 24px}.pub-404__code{font-size:80px;font-weight:800;letter-spacing:-.04em;background:var(--brand);-webkit-background-clip:text;background-clip:text;color:transparent}.pub-404__links{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:26px}
