@import url("https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=IBM+Plex+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap");:root{--bg:#f8f9fa;--bg-elevated:#f1f3f5;--panel:#ffffff;--panel-hover:#eef0f2;--border:rgba(0,0,0,0.09);--border-strong:rgba(0,0,0,0.14);--text:#2d3436;--text-primary:#1a1a2e;--muted:#636e72;--faint:#95a5a6;--accent:#3ecf8e;--accent-deep:#34b87d;--accent-dim:rgba(62,207,142,0.12);--accent-border:rgba(62,207,142,0.28);--accent-text:#ffffff;--success:#22c55e;--warm:#f59e0b;--danger:#ef4444;--surface:#eef0f2;--surface-raised:#e2e5e9;--code-bg:#eef0f2;--overlay:rgba(0,0,0,0.3);--shadow:0 1px 3px rgba(0,0,0,0.06),0 4px 12px rgba(0,0,0,0.04);--shadow-lg:0 20px 60px -20px rgba(0,0,0,0.12);--shadow-accent:0 12px 40px -12px rgba(62,207,142,0.35);--heat-0:rgba(0,0,0,0.04);--heat-1:rgba(62,207,142,0.2);--heat-2:rgba(62,207,142,0.4);--heat-3:rgba(62,207,142,0.65);--grid-line:rgba(0,0,0,0.035);--c-1:var(--accent);--c-2:#22c55e;--c-3:#f59e0b;--c-4:#ef4444;--c-5:#38bdf8;--font-head:"Space Grotesk",system-ui,sans-serif;--font-body:"IBM Plex Sans",system-ui,sans-serif;--font-mono:"JetBrains Mono","Cascadia Code",Consolas,monospace;--r-sm:6px;--r:11px;--r-lg:14px;--r-xl:18px;--r-pill:999px;--ease:200ms ease;--ease-lg:300ms ease;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;--sp-9:96px;--container:1120px;--nav-h:60px;color-scheme:light dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0a0a0a;--bg-elevated:#0d0d0d;--panel:#0d0d0d;--panel-hover:#161616;--border:rgba(255,255,255,0.08);--border-strong:rgba(255,255,255,0.14);--text:#ededed;--text-primary:#fafafa;--muted:#a3a3a3;--faint:#6b7280;--accent:#4ade9b;--accent-deep:#6ee7b0;--accent-dim:rgba(74,222,155,0.18);--accent-border:rgba(74,222,155,0.3);--accent-text:#04120c;--surface:#111;--surface-raised:#141414;--code-bg:#111;--overlay:rgba(0,0,0,0.6);--shadow:0 1px 0 rgba(0,0,0,0.35),0 16px 40px rgba(0,0,0,0.45);--shadow-lg:0 40px 120px -40px rgba(0,0,0,0.9);--shadow-accent:0 12px 40px -12px rgba(74,222,155,0.6);--heat-0:rgba(255,255,255,0.04);--heat-1:rgba(74,222,155,0.2);--heat-2:rgba(74,222,155,0.4);--heat-3:rgba(74,222,155,0.65);--grid-line:rgba(255,255,255,0.028);color-scheme:dark}}:root[data-theme=dark]{--bg:#0a0a0a;--bg-elevated:#0d0d0d;--panel:#0d0d0d;--panel-hover:#161616;--border:rgba(255,255,255,0.08);--border-strong:rgba(255,255,255,0.14);--text:#ededed;--text-primary:#fafafa;--muted:#a3a3a3;--faint:#6b7280;--accent:#4ade9b;--accent-deep:#6ee7b0;--accent-dim:rgba(74,222,155,0.18);--accent-border:rgba(74,222,155,0.3);--accent-text:#04120c;--surface:#111;--surface-raised:#141414;--code-bg:#111;--overlay:rgba(0,0,0,0.6);--shadow:0 1px 0 rgba(0,0,0,0.35),0 16px 40px rgba(0,0,0,0.45);--shadow-lg:0 40px 120px -40px rgba(0,0,0,0.9);--shadow-accent:0 12px 40px -12px rgba(74,222,155,0.6);--heat-0:rgba(255,255,255,0.04);--heat-1:rgba(74,222,155,0.2);--heat-2:rgba(74,222,155,0.4);--heat-3:rgba(74,222,155,0.65);--grid-line:rgba(255,255,255,0.028);color-scheme:dark}*,:after,:before{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{transition:none!important;animation:none!important}}body{font-family:var(--font-body);font-size:16px;line-height:1.6;color:var(--text);background:var(--bg);min-height:100vh;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img,svg{display:block;max-width:100%}svg{flex-shrink:0}a{color:inherit;text-decoration:none;cursor:pointer}a:hover{color:var(--accent)}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}ul{list-style:none;padding:0}:focus{outline:none}:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(62,207,142,.3);border-radius:var(--r-sm)}::selection{background:var(--accent);color:var(--accent-text)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--r-pill);border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--muted)}h1,h2,h3,h4{font-family:var(--font-head);font-weight:700;line-height:1.1;letter-spacing:-.02em;color:var(--text-primary)}h1{font-size:clamp(2.2rem,5vw,3.4rem)}h2{font-size:clamp(1.6rem,3.5vw,2.6rem)}h3{font-size:1.2rem}p{color:var(--text)}code,kbd,pre{font-family:var(--font-mono)}:not(pre)>code{background:var(--surface-raised);border:1px solid var(--border);padding:.15em .4em;border-radius:6px;font-size:.875em;color:var(--accent)}.eyebrow{font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.muted{color:var(--muted)}.faint{color:var(--faint)}.grad{background:linear-gradient(135deg,var(--accent),var(--accent-deep));-webkit-background-clip:text;background-clip:text;color:transparent}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:40px}@media (max-width:640px){.container{padding-inline:20px}}.section{padding-block:clamp(56px,9vw,96px)}.section-head{max-width:640px;margin:0 auto clamp(32px,5vw,48px);text-align:center}.section-head h2{margin:16px 0 0}.section-head p{color:var(--muted);font-size:17px;margin-top:14px;line-height:1.6}.depth-grid{inset:0;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse 85% 65% at 50% 0,#000 35%,transparent 100%);mask-image:radial-gradient(ellipse 85% 65% at 50% 0,#000 35%,transparent 100%)}.depth-glow,.depth-grid{position:fixed;z-index:0;pointer-events:none}.depth-glow{inset:-25%;background:radial-gradient(38% 38% at 18% 12%,rgba(62,207,142,.12),transparent 60%),radial-gradient(42% 42% at 84% 34%,rgba(62,207,142,.14),transparent 60%),radial-gradient(48% 48% at 50% 102%,rgba(62,207,142,.07),transparent 60%);animation:drift 20s ease-in-out infinite alternate}@keyframes drift{0%{transform:translate3d(-2%,-1%,0) scale(1)}to{transform:translate3d(2%,2%,0) scale(1.08)}}.depth-content{position:relative;z-index:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:12px 22px;font-family:var(--font-body);font-weight:600;font-size:15px;border-radius:var(--r);border:1px solid transparent;transition:background var(--ease),border-color var(--ease),transform var(--ease-lg),box-shadow var(--ease-lg),color var(--ease);white-space:nowrap;cursor:pointer}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn-primary{background:var(--accent);color:var(--accent-text);border-color:transparent;box-shadow:0 0 0 1px var(--accent-border),var(--shadow-accent)}.btn-primary:hover{background:var(--accent-deep);color:var(--accent-text);box-shadow:0 0 0 1px var(--accent-border),0 16px 50px -14px var(--shadow-accent)}.btn-ghost{background:var(--surface)}.btn-ghost,.btn-ghost:hover{border-color:var(--border-strong);color:var(--text)}.btn-ghost:hover{background:var(--surface-raised)}.btn-subtle{background:var(--surface);color:var(--text);border-color:var(--border)}.btn-subtle:hover{background:var(--panel-hover)}.btn-danger{background:transparent;border-color:var(--border-strong);color:var(--danger)}.btn-danger:hover{background:rgba(239,68,68,.1)}.btn-lg{padding:13px 26px;font-size:15px}.btn-sm{padding:8px 14px;font-size:13px}.btn-block{width:100%}.icon-btn{width:40px;height:40px;border-radius:var(--r-sm);display:inline-flex;align-items:center;justify-content:center;color:var(--muted);background:transparent;border:1px solid transparent;transition:background var(--ease),color var(--ease)}.icon-btn:hover{background:var(--surface);color:var(--text)}.pill{gap:8px;border:1px solid var(--accent-border);background:rgba(62,207,142,.06);color:var(--accent);border-radius:var(--r-pill);padding:6px 12px;font-size:12px;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.chip,.pill{display:inline-flex;align-items:center;font-weight:500}.chip{gap:6px;background:var(--surface);color:var(--muted);border:1px solid var(--border);border-radius:var(--r-pill);padding:4px 12px;font-size:.8125rem}.badge-success{background:rgba(34,197,94,.15);color:var(--success);border:0}.badge-warm{background:rgba(245,158,11,.15);color:var(--warm);border:0}.badge-accent{background:var(--accent-dim);color:var(--accent);border:0}.card,.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);transition:box-shadow var(--ease),border-color var(--ease)}.panel:hover{box-shadow:0 2px 8px rgba(0,0,0,.06),0 8px 24px rgba(0,0,0,.04)}.card,.panel-pad{padding:var(--sp-5)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-4)}.panel-head h3{font-size:1.05rem}.divider{height:1px;background:var(--border);border:0;margin-block:var(--sp-5)}.field-group{display:flex;flex-direction:column;gap:7px;margin-bottom:var(--sp-4)}.field-group label{font-size:13px;font-weight:500;color:var(--muted)}.input-pw-wrap{position:relative}.input-pw-wrap input{padding-right:44px}.pw-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--muted);cursor:pointer;padding:4px;display:flex;align-items:center;transition:color var(--ease)}.pw-toggle:hover{color:var(--text)}.field,input[type=email],input[type=password],input[type=search],input[type=text],select,textarea{width:100%;padding:12px 14px;background:var(--surface);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--r);font:inherit;font-size:14.5px;transition:border-color var(--ease),box-shadow var(--ease)}textarea{height:auto;min-height:130px;resize:vertical;line-height:1.5}.field:focus,input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}::placeholder{color:var(--faint)}.field-hint{font-size:.8125rem;color:var(--muted)}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 12px center;padding-right:38px}.table{width:100%;border-collapse:collapse;font-size:.9375rem}.table th{text-align:left;font-weight:500;color:var(--faint);font-size:.8125rem;padding:10px 14px}.table td,.table th{border-bottom:1px solid var(--border)}.table td{padding:14px}.table tbody tr:last-child td{border-bottom:0}.table tbody tr{transition:background var(--ease)}.table tbody tr:hover{background:var(--surface)}.logo{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-head)}.logo,.logo:hover{color:var(--text)}.logo-mark{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,var(--accent),var(--accent-deep));color:var(--accent-text);font-family:var(--font-mono);font-weight:600;font-size:15px}.logo-word{font-weight:600;font-size:16px;letter-spacing:-.01em}.site-root{display:flex;flex-direction:column;min-height:100vh}.site-body{flex:1 1}.site-nav{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 72%,transparent);-webkit-backdrop-filter:saturate(180%) blur(14px);backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--border)}.nav-inner{justify-content:space-between;height:var(--nav-h);padding-block:8px}.nav-inner,.nav-links{display:flex;align-items:center}.nav-links{gap:30px;font-size:14px}.nav-links a{color:var(--muted);font-weight:500;padding:8px 0;position:relative}.nav-links a:hover{color:var(--text)}.nav-links a.active{color:var(--text-primary)}.nav-links a.active:after{content:"";position:absolute;bottom:-2px;left:50%;transform:translateX(-50%);width:5px;height:5px;border-radius:9999px;background:var(--accent)}.nav-actions{display:flex;align-items:center;gap:var(--sp-2)}.nav-install-btn{padding-block:10px}.nav-login-btn{font-size:14px}.nav-pfp-wrap{position:relative}.nav-pfp-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--border-strong);background:var(--surface);color:var(--muted);cursor:pointer;transition:border-color var(--ease),color var(--ease)}.nav-pfp-btn:hover{border-color:var(--accent-border);color:var(--text)}.nav-pfp-initials{font-size:13px;font-weight:600;line-height:1;color:inherit}.nav-pfp-dropdown{position:absolute;top:calc(100% + 8px);right:50%;transform:translateX(50%);min-width:170px;background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--r);box-shadow:var(--shadow-lg);padding:6px;z-index:60;animation:fadeIn .15s ease}.nav-pfp-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border-radius:var(--r-sm);background:transparent;border:none;cursor:pointer;color:var(--muted);font:inherit;font-size:14px;text-align:left;transition:background var(--ease),color var(--ease)}.nav-pfp-item:hover{background:var(--accent-dim);color:var(--text)}.nav-burger{display:none}@media (max-width:768px){.nav-install-btn,.nav-links,.nav-login{display:none}.nav-burger{display:inline-flex}}.nav-drawer{position:fixed;inset:0;height:100vh;height:100dvh;z-index:200;isolation:isolate}.nav-drawer-scrim{position:absolute;inset:0;background:rgba(0,0,0,.55);z-index:0}.nav-drawer-panel{position:absolute;top:0;bottom:0;right:0;height:100%;width:min(320px,86vw);overscroll-behavior:contain;background:var(--panel);border-left:1px solid var(--border);padding:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-2);animation:slideIn var(--ease-lg);z-index:1;overflow-y:auto}.nav-drawer-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-3)}.nav-drawer-links{display:flex;flex-direction:column;gap:2px}.nav-drawer-links a{padding:12px;border-radius:var(--r-sm);color:var(--text);font-weight:500}.nav-drawer-links a:hover{background:var(--accent-dim)}.nav-drawer-actions{margin-top:auto;display:flex;flex-direction:column;gap:var(--sp-2)}@keyframes slideIn{0%{transform:translateX(100%)}to{transform:translateX(0)}}.site-footer{border-top:1px solid var(--border)}.footer-inner{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;grid-gap:var(--sp-6);gap:var(--sp-6);padding-block:var(--sp-7) var(--sp-6)}.footer-brand p{color:var(--faint);font-size:13.5px;margin:var(--sp-3) 0 0;max-width:280px;line-height:1.6}.footer-cols{display:contents}.footer-col h4{font-family:var(--font-body);font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--faint);margin-bottom:14px;font-weight:600}.footer-col a{display:block;color:var(--muted);font-size:14px;padding:5px 0}.footer-col a:hover{color:var(--text)}.footer-bottom{padding-block:var(--sp-5);border-top:1px solid var(--border);color:var(--faint);font-size:12px;line-height:1.6}@media (max-width:820px){.footer-inner{grid-template-columns:1fr 1fr;gap:var(--sp-5)}}@media (max-width:520px){.footer-inner{grid-template-columns:1fr}}.hero{position:relative;text-align:center;padding:96px 0 72px}@media (max-width:768px){.hero{padding:64px 0 48px}}.hero-glow{position:absolute;top:-40px;left:50%;transform:translateX(-50%);width:620px;height:420px;max-width:130vw;background:radial-gradient(50% 50% at 50% 50%,rgba(62,207,142,.16),transparent 70%);pointer-events:none}.hero-title{font-size:clamp(2.8rem,6vw,4rem);line-height:1.03;letter-spacing:-.03em;margin:26px 0 0;max-width:14ch;margin-inline:auto}.hero-sub{color:var(--muted);font-size:clamp(1rem,1.6vw,19px);max-width:620px;margin:24px auto 0;line-height:1.6}.hero-cta{gap:14px;margin-top:34px}.hero-cta,.hero-trust{display:flex;flex-wrap:wrap;justify-content:center}.hero-trust{gap:24px;margin-top:26px;font-size:13px;color:var(--faint)}@media (max-width:480px){.hero-trust{gap:12px;font-size:12px}}.editor-mock-wrap{position:relative;max-width:1040px;margin:0 auto}.editor-mock{border:1px solid rgba(255,255,255,.1);border-radius:16px;overflow:hidden;background:#0c0c0c;box-shadow:0 60px 140px -40px rgba(0,0,0,.95),0 0 0 1px rgba(255,255,255,.04)}.mock-head{display:flex;align-items:center;gap:8px;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.06);background:linear-gradient(180deg,#151515,#111)}.mock-dot{width:12px;height:12px;border-radius:50%}.mock-dot-red{background:#ff5f57}.mock-dot-yellow{background:#febc2e}.mock-dot-green{background:#28c840}.mock-file{margin-left:14px;font-size:12px;color:var(--faint);letter-spacing:.01em}.mock-file,.mock-file-title{font-family:var(--font-mono)}.mock-file-title{margin-left:auto;font-size:11px;color:#4a4a4a;letter-spacing:.02em}.mock-split{display:grid;grid-template-columns:1.35fr 1fr;min-height:320px}@media (max-width:768px){.mock-split{grid-template-columns:1fr;min-height:auto}}.mock-code-pane{padding:24px 28px;font-family:var(--font-mono);font-size:13px;line-height:2;color:#7d8590;border-right:1px solid rgba(255,255,255,.05);overflow-x:auto}.mock-code-pane div{white-space:pre}.mock-code-pane .highlight{background:rgba(62,207,142,.08);border-left:3px solid var(--accent);padding-left:10px;margin-left:-14px;color:#b5bdc8}.mock-line-num{display:inline-block;width:28px;color:#3a3a3a;-webkit-user-select:none;-moz-user-select:none;user-select:none;text-align:right;margin-right:16px;font-size:12px}.mock-chat-pane{display:flex;flex-direction:column;background:#0a0a0a}.mock-chat-header{padding:14px 20px;border-bottom:1px solid rgba(255,255,255,.05);display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text)}.mock-chat-header .dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 6px rgba(62,207,142,.5)}.mock-chat-header .chat-sub{font-weight:400;font-size:11px;color:var(--faint);margin-left:auto}.mock-chat-body{padding:20px;display:flex;flex-direction:column;gap:16px;font-size:13.5px;flex:1 1}.mock-msg-user{align-self:flex-end;max-width:82%;background:linear-gradient(135deg,#1a1a1a,#161616);padding:11px 15px;border-radius:14px 14px 3px 14px;border:1px solid rgba(255,255,255,.06);color:#e0e0e0;font-size:13px;line-height:1.5}.mock-msg-ai{align-self:flex-start;max-width:90%;color:#c9d1d9;line-height:1.65;font-size:13px;padding:2px 0}.mock-steps{font-family:var(--font-mono);font-size:12px;color:#6b7280;display:flex;flex-direction:column;gap:8px;margin-top:4px}.mock-steps .done{color:var(--accent);display:flex;align-items:center;gap:6px}.mock-steps .done:before{content:"";display:inline-block;width:16px;height:16px;border-radius:50%;background:rgba(62,207,142,.15);border:1.5px solid var(--accent);flex-shrink:0}.hl-kw{color:#c586c0}.hl-fn{color:#dcdcaa}.hl-v{color:#9cdcfe}.hl-obj{color:#4ec9b0}.hl-p{color:#808080}.hl-num{color:#b5cea8}.hl-str{color:#ce9178}.hl-cm{color:#6a9955;font-style:italic}.stat-band{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--sp-5);gap:var(--sp-5);padding:48px 0 72px;border-bottom:1px solid var(--border)}@media (max-width:720px){.stat-band{grid-template-columns:repeat(2,1fr);gap:var(--sp-5)}}.stat-value{display:block;font-family:var(--font-head);font-weight:700;font-size:clamp(2rem,4vw,2.4rem);color:var(--text-primary)}.stat-label{color:var(--faint);font-size:13px;margin-top:4px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:20px;gap:20px}@media (max-width:900px){.feature-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.feature-grid{grid-template-columns:1fr}}.feature-card{padding:24px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--panel);transition:border-color var(--ease-lg),box-shadow var(--ease-lg),transform var(--ease-lg),background var(--ease-lg)}.feature-card:hover{border-color:var(--accent-border);background:var(--panel-hover);box-shadow:var(--shadow-accent);transform:translateY(-4px)}.feature-ico{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:var(--accent-dim);color:var(--accent);font-family:var(--font-mono);font-size:16px;font-weight:600;margin-bottom:var(--sp-3)}.feature-card h3{font-size:18px;font-weight:600;margin-bottom:8px}.feature-card p{color:var(--muted);font-size:14px;line-height:1.6}.floating-logo-wrap{position:absolute;bottom:-40px;right:-36px;z-index:10;perspective:800px;pointer-events:none}.floating-logo{width:130px;height:130px;border-radius:28px;background:linear-gradient(135deg,var(--accent),var(--accent-deep));display:flex;align-items:center;justify-content:center;box-shadow:0 30px 80px -10px rgba(62,207,142,.45),0 12px 30px -4px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.18);will-change:transform;transition:box-shadow .3s ease;pointer-events:auto}.floating-logo:hover{box-shadow:0 40px 100px -10px rgba(62,207,142,.6),0 16px 40px -4px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.22)}.floating-logo-mark{font-family:var(--font-mono);font-size:46px;font-weight:700;color:#04120c;-webkit-user-select:none;-moz-user-select:none;user-select:none;text-shadow:0 1px 0 rgba(255,255,255,.12)}@media (max-width:768px){.floating-logo-wrap{bottom:-28px;right:-16px}.floating-logo{width:90px;height:90px;border-radius:20px}.floating-logo-mark{font-size:32px}}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:24px;gap:24px}@media (max-width:768px){.steps-grid{grid-template-columns:1fr}}.step-card{padding:28px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--panel)}.step-num{font-family:var(--font-head);font-size:14px;font-weight:600;color:var(--accent)}.step-card h3{font-size:20px;font-weight:600;margin:12px 0 10px}.step-card p{font-size:14.5px;line-height:1.6;color:var(--muted)}.quote-grid{column-count:3;column-gap:20px}@media (max-width:900px){.quote-grid{column-count:2}}@media (max-width:560px){.quote-grid{column-count:1}}.quote-card{page-break-inside:avoid;break-inside:avoid;margin-bottom:20px;padding:22px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--panel)}.quote-card blockquote{font-size:14.5px;line-height:1.65;color:var(--text);margin:0 0 16px}.quote-card figcaption{display:flex;align-items:center;gap:11px}.quote-avatar{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--surface);color:var(--accent);font-family:var(--font-head);font-weight:600;font-size:13px}.quote-name{font-size:13.5px;font-weight:600;color:var(--text)}.quote-date{font-size:11.5px;color:var(--faint)}.byok-band{display:grid;grid-template-columns:1fr 1fr;grid-gap:48px;gap:48px;align-items:center;border:1px solid var(--border);border-radius:var(--r-xl);padding:48px;background:radial-gradient(120% 120% at 0 0,rgba(62,207,142,.08),transparent 55%),var(--panel)}@media (max-width:860px){.byok-band{grid-template-columns:1fr;gap:var(--sp-6)}}.provider-row{display:flex;justify-content:space-between;padding:14px 16px;border:1px solid var(--border);border-radius:12px}.provider-row,.provider-tag{align-items:center;background:var(--surface)}.provider-tag{display:inline-flex;justify-content:center;width:30px;height:30px;border-radius:8px;font-weight:600;font-size:14px}.provider-status,.provider-tag{color:var(--accent);font-family:var(--font-mono)}.provider-status{font-size:11px}.faq{display:flex;flex-direction:column;gap:12px;max-width:820px;margin-inline:auto}.faq-item{border:1px solid var(--border);border-radius:12px;background:var(--panel);overflow:hidden}.faq-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;background:transparent;border:none;cursor:pointer;text-align:left;color:var(--text);font-family:var(--font-body);font-size:16px;font-weight:500}.faq-btn:hover{color:var(--text-primary)}.faq-sign{color:var(--accent);font-family:var(--font-mono);font-size:20px;line-height:1}.faq-answer{padding:0 20px 20px;font-size:14.5px;line-height:1.65;color:var(--muted)}.plans-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:22px;gap:22px;align-items:stretch}@media (max-width:860px){.plans-grid{grid-template-columns:1fr;max-width:420px;margin-inline:auto}}.price-card{display:flex;flex-direction:column;padding:32px;border-radius:var(--r-xl);border:1px solid var(--border);background:var(--panel);position:relative}.price-card.featured{border-color:var(--accent-border);background:var(--accent-dim)}.price-badge{position:absolute;top:20px;right:20px;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-text);background:var(--accent);padding:4px 10px;border-radius:var(--r-pill)}.price-tag{font-size:14px;color:var(--muted);margin:8px 0 0;line-height:1.55;min-height:42px}.price-amount{display:flex;align-items:baseline;gap:8px;margin:22px 0 4px}.price-num{font-family:var(--font-head);font-weight:700;font-size:46px;color:var(--text-primary)}.price-per{color:var(--faint);font-size:14px}.price-feats{display:flex;flex-direction:column;gap:12px;margin-bottom:var(--sp-5);flex:1 1}.price-feats li{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--text);line-height:1.5}.price-feats li .check{color:var(--accent);flex-shrink:0}.cta-band{text-align:center;padding:72px 40px;border:1px solid var(--accent-border);border-radius:20px;background:radial-gradient(80% 120% at 50% 0,rgba(62,207,142,.12),transparent 60%),var(--panel)}@media (max-width:768px){.cta-band{padding:48px 24px}}.cta-band h2{margin:0}.cta-band p{color:var(--muted);font-size:17px;margin:16px auto 0;max-width:520px;line-height:1.6}.guide-toc{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:34px}.guide-toc a{font-size:13px;color:var(--muted);border:1px solid var(--border-strong);border-radius:var(--r-pill);padding:7px 15px;transition:border-color var(--ease),color var(--ease)}.guide-toc a:hover{border-color:var(--accent-border);color:var(--accent)}.move-card{display:grid;grid-template-columns:1fr 1fr;grid-gap:0;gap:0;border:1px solid var(--border);border-radius:16px;overflow:hidden;background:var(--panel)}@media (max-width:768px){.move-card{grid-template-columns:1fr}}.move-text{padding:32px}.move-text h3{font-size:20px;font-weight:600}.move-text p{font-size:14.5px;line-height:1.65;color:var(--muted);margin:14px 0 0}.move-mock{background:var(--code-bg);border-left:1px solid var(--border);padding:24px;font-family:var(--font-mono);font-size:12.5px;line-height:1.8;color:var(--muted);display:flex;align-items:center}@media (max-width:768px){.move-mock{border-left:0;border-top:1px solid var(--border)}}kbd{font-family:var(--font-mono);font-size:12px;color:var(--accent);background:var(--surface-raised);border:1px solid var(--border-strong);border-bottom:1px solid rgba(0,0,0,.6);border-radius:6px;padding:3px 8px}.keys-table{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--panel);overflow:hidden}.key-row{display:flex;align-items:center;gap:20px;padding:15px 22px;border-bottom:1px solid var(--border)}.key-row:last-child{border-bottom:0}.key-action{font-size:14.5px;color:var(--text)}.safety-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:14px;gap:14px}@media (max-width:640px){.safety-grid{grid-template-columns:1fr}}.safety-item{display:flex;align-items:flex-start;gap:12px;padding:18px 20px;border:1px solid var(--border);border-radius:12px;background:var(--panel)}.safety-item .arrow{color:var(--accent);flex-shrink:0;font-family:var(--font-mono)}.safety-item span:last-child{font-size:14.5px;color:var(--text);line-height:1.55}.prompt-compare{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px}@media (max-width:640px){.prompt-compare{grid-template-columns:1fr}}.prompt-bad{padding:24px;border:1px solid rgba(239,68,68,.28);border-radius:var(--r-lg);background:rgba(239,68,68,.05)}.prompt-good{padding:24px;border:1px solid var(--accent-border);border-radius:var(--r-lg);background:var(--accent-dim)}.prompt-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.prompt-bad .prompt-label{color:var(--danger)}.prompt-good .prompt-label{color:var(--accent)}.prompt-text{font-family:var(--font-mono);font-size:14px;color:var(--text);margin:14px 0 0;line-height:1.6}.auth-root{display:grid;grid-template-columns:1.05fr 1fr;min-height:100vh;width:100%;background:var(--bg)}@media (max-width:860px){.auth-root{grid-template-columns:1fr}}.auth-brand{position:relative;overflow:hidden;padding:48px;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--border);background:var(--bg-elevated)}@media (max-width:860px){.auth-brand{display:none}}.auth-brand-glow{background:radial-gradient(45% 45% at 15% 10%,var(--accent-dim),transparent 60%),radial-gradient(50% 50% at 90% 85%,rgba(62,207,142,.12),transparent 60%)}.auth-brand-glow,.auth-brand-grid{position:absolute;inset:0;z-index:0;pointer-events:none}.auth-brand-grid{opacity:.5;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:52px 52px;-webkit-mask-image:radial-gradient(ellipse 80% 80% at 30% 30%,#000 30%,transparent 100%);mask-image:radial-gradient(ellipse 80% 80% at 30% 30%,#000 30%,transparent 100%)}.auth-brand>*{position:relative;z-index:1}.auth-brand-pitch h2{font-size:38px;line-height:1.1;letter-spacing:-.02em;max-width:420px}.auth-brand-pitch p{font-size:16px;color:var(--muted);margin:20px 0 0;line-height:1.6}.auth-brand-checks{display:flex;flex-direction:column;gap:14px;margin-top:32px}.auth-brand-checks div{display:flex;align-items:center;gap:11px;font-size:14.5px;color:var(--muted)}.auth-brand-checks .check{color:var(--accent)}.auth-brand-terminal{font-family:var(--font-mono);font-size:12px;color:var(--faint)}.auth-form-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 40px}.auth-card{width:100%;max-width:380px}.auth-card h1{font-size:30px;letter-spacing:-.02em;margin:0}.auth-card .sub{font-size:15px;color:var(--muted);margin:10px 0 28px}.auth-divider{display:flex;align-items:center;gap:12px;color:var(--faint);font-size:12px;margin:22px 0}.auth-divider:after,.auth-divider:before{content:"";flex:1 1;height:1px;background:var(--border)}.auth-foot{text-align:center;color:var(--faint);font-size:13.5px;margin-top:22px}.auth-foot a{color:var(--accent);font-weight:500}.auth-error{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.4);color:var(--danger);border-radius:var(--r-sm);padding:10px 12px;font-size:.875rem;margin-bottom:var(--sp-4)}.auth-legal{font-size:12px;color:var(--faint);text-align:center;margin-top:36px;line-height:1.6}.auth-google{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:12px;border-radius:var(--r);border:1px solid var(--border-strong);background:var(--surface-raised);color:var(--text);font-size:14.5px;font-weight:500;cursor:pointer;transition:border-color var(--ease)}.auth-google:hover{border-color:var(--accent-border)}.auth-google .g{font-family:var(--font-head);font-weight:700;color:var(--accent)}.page-hero{text-align:center;padding:88px 0 48px}.page-hero h1{margin:18px 0 0;line-height:1.05}.page-hero p{color:var(--muted);font-size:18px;max-width:560px;margin:20px auto 0;line-height:1.6}.prose{max-width:68ch;margin-inline:auto}.prose>*+*{margin-top:var(--sp-4)}.prose h2{margin-top:var(--sp-7)}.prose h3{margin-top:var(--sp-5)}.prose ol,.prose ul{padding-left:1.4em;color:var(--text)}.prose li{margin-bottom:6px}.prose blockquote{border-left:3px solid var(--accent);padding:4px 0 4px 20px;color:var(--muted);font-style:italic}.prose a{color:var(--accent);text-decoration:underline}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--sp-5);gap:var(--sp-5)}@media (max-width:900px){.blog-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.blog-grid{grid-template-columns:1fr}}.blog-card{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;transition:transform var(--ease-lg),box-shadow var(--ease-lg)}.blog-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.blog-cover{height:158px;background:linear-gradient(135deg,var(--accent-dim),var(--surface));display:grid;place-items:center;color:var(--accent)}.blog-body{padding:var(--sp-4);display:flex;flex-direction:column;gap:8px;flex:1 1}.blog-meta{display:flex;align-items:center;gap:10px;font-size:.8rem;color:var(--muted)}.blog-body h3{font-size:1.05rem;color:var(--text)}.blog-body p{color:var(--muted);font-size:.9rem;flex:1 1}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:20px;gap:20px}@media (max-width:780px){.value-grid{grid-template-columns:1fr}}.support-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--sp-5);gap:var(--sp-5);align-items:start}@media (max-width:820px){.support-grid{grid-template-columns:1fr}}.contact-item{display:flex;gap:14px;align-items:flex-start;padding:var(--sp-4) 0;border-bottom:1px solid var(--border)}.contact-item:last-child{border-bottom:0}.contact-item .ci-ico{width:42px;height:42px;border-radius:var(--r);background:var(--accent-dim);color:var(--accent);display:grid;place-items:center;flex-shrink:0}.contact-item h4{font-size:.95rem;margin-bottom:2px}.contact-item p{color:var(--muted);font-size:.9rem}.reveal{opacity:0;transition:opacity .62s var(--ease-lg),transform .62s var(--ease-lg);will-change:opacity,transform}.reveal-up{transform:translateY(26px)}.reveal-fade{transform:none}.reveal-scale{transform:scale(.94)}.reveal-left{transform:translateX(-32px)}.reveal-right{transform:translateX(32px)}.reveal.is-in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important}}.dash-root{display:grid;grid-template-columns:250px 1fr;min-height:100vh;transition:grid-template-columns var(--ease-lg)}.dash-root.sidebar-collapsed{grid-template-columns:64px 1fr}.dash-sidebar{grid-column:1;position:-webkit-sticky;position:sticky;top:0;height:100vh;height:100dvh;background:var(--panel);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:var(--sp-4);gap:var(--sp-2);z-index:40;transition:width var(--ease-lg),padding var(--ease-lg)}.dash-sidebar.collapsed{padding:var(--sp-3) var(--sp-2);align-items:center}.dash-sidebar.collapsed .dash-nav-item{justify-content:center;padding:10px}.dash-sidebar.collapsed .dash-nav-item span{display:none}.dash-sidebar-top{padding:var(--sp-2) var(--sp-2) var(--sp-5);display:flex;align-items:center;justify-content:space-between}.dash-sidebar.collapsed .dash-sidebar-top{padding:var(--sp-2) 0 var(--sp-4);justify-content:center}.dash-collapse-btn{color:var(--muted);transition:all .1s var(--ease)}.dash-collapse-btn:hover{color:var(--text)}.dash-nav{display:flex;flex-direction:column;gap:2px}.dash-nav-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--r-sm);color:var(--muted);font-weight:500;font-size:.9375rem;transition:background var(--ease),color var(--ease)}.dash-nav-item:hover{background:var(--panel-hover);color:var(--text)}.dash-nav-item.active{background:var(--accent-dim);color:var(--accent)}.dash-nav-btn{width:100%;background:none;border:none;cursor:pointer;font-family:inherit;text-align:left}.dash-sidebar-foot{margin-top:auto;display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--border);padding-top:var(--sp-3)}.dash-gate{display:flex;align-items:center;justify-content:center;min-height:60vh}.spinner{width:28px;height:28px;border-radius:50%;border:3px solid var(--border);border-top-color:var(--accent);animation:sp-spin .7s linear infinite}@keyframes sp-spin{to{transform:rotate(1turn)}}.dash-main{grid-column:2;min-width:0;display:flex;flex-direction:column;position:relative}.dash-bg-code{position:fixed;top:0;left:250px;right:0;bottom:0;z-index:0;pointer-events:none;overflow:hidden}.dash-bg-code:before{content:"";position:absolute;top:0;left:0;right:0;height:200%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='800' fill='none'%3E%3Cstyle%3Etext%7Bfont-family:monospace;font-size:11px;fill:%233ecf8e;opacity:.22%7D%3C/style%3E%3Ctext x='20' y='24'%3Efunction onEdit(e) %7B%3C/text%3E%3Ctext x='40' y='48'%3Econst sheet = e.source;%3C/text%3E%3Ctext x='40' y='72'%3Econst range = e.range;%3C/text%3E%3Ctext x='40' y='96'%3Eif (range.getColumn() === 1) %7B%3C/text%3E%3Ctext x='60' y='120'%3ELogger.log(range.getValue());%3C/text%3E%3Ctext x='40' y='144'%3E%7D%3C/text%3E%3Ctext x='20' y='168'%3E%7D%3C/text%3E%3Ctext x='20' y='216'%3Econst API_KEY = PropertiesService%3C/text%3E%3Ctext x='40' y='240'%3E.getScriptProperties()%3C/text%3E%3Ctext x='40' y='264'%3E.getProperty(%22key%22);%3C/text%3E%3Ctext x='20' y='312'%3Efunction doGet(req) %7B%3C/text%3E%3Ctext x='40' y='336'%3Ereturn ContentService%3C/text%3E%3Ctext x='60' y='360'%3E.createTextOutput(%22ok%22);%3C/text%3E%3Ctext x='20' y='384'%3E%7D%3C/text%3E%3Ctext x='20' y='432'%3E// deploy as web app%3C/text%3E%3Ctext x='20' y='456'%3Efunction createTrigger() %7B%3C/text%3E%3Ctext x='40' y='480'%3EScriptApp.newTrigger(%22run%22)%3C/text%3E%3Ctext x='60' y='504'%3E.timeBased()%3C/text%3E%3Ctext x='60' y='528'%3E.everyHours(1)%3C/text%3E%3Ctext x='60' y='552'%3E.create();%3C/text%3E%3Ctext x='20' y='576'%3E%7D%3C/text%3E%3Ctext x='320' y='60'%3Eclass SpreadsheetApp %7B%3C/text%3E%3Ctext x='340' y='84'%3EgetActiveSheet() %7B%3C/text%3E%3Ctext x='360' y='108'%3Ereturn this.sheets%5B0%5D;%3C/text%3E%3Ctext x='340' y='132'%3E%7D%3C/text%3E%3Ctext x='320' y='156'%3E%7D%3C/text%3E%3Ctext x='320' y='204'%3Econst ss = SpreadsheetApp%3C/text%3E%3Ctext x='340' y='228'%3E.getActiveSpreadsheet();%3C/text%3E%3Ctext x='320' y='252'%3Econst data = ss.getRange(%22A1:D10%22)%3C/text%3E%3Ctext x='340' y='276'%3E.getValues();%3C/text%3E%3Ctext x='320' y='324'%3Efunction sendEmail(to, subj) %7B%3C/text%3E%3Ctext x='340' y='348'%3EGmailApp.sendEmail(%3C/text%3E%3Ctext x='360' y='372'%3Eto, subj, %22body%22%3C/text%3E%3Ctext x='340' y='396'%3E);%3C/text%3E%3Ctext x='320' y='420'%3E%7D%3C/text%3E%3Ctext x='320' y='468'%3E// fetch external API%3C/text%3E%3Ctext x='320' y='492'%3Econst resp = UrlFetchApp%3C/text%3E%3Ctext x='340' y='516'%3E.fetch(endpoint, options);%3C/text%3E%3Ctext x='320' y='540'%3Econst json = JSON.parse(%3C/text%3E%3Ctext x='340' y='564'%3Eresp.getContentText()%3C/text%3E%3Ctext x='320' y='588'%3E);%3C/text%3E%3Ctext x='20' y='624'%3Efunction formatCells(range) %7B%3C/text%3E%3Ctext x='40' y='648'%3Erange.setBackground(%22%233ecf8e%22);%3C/text%3E%3Ctext x='40' y='672'%3Erange.setFontWeight(%22bold%22);%3C/text%3E%3Ctext x='20' y='696'%3E%7D%3C/text%3E%3Ctext x='320' y='648'%3EDriveApp.createFile(blob);%3C/text%3E%3Ctext x='320' y='672'%3ECalendarApp.createEvent(t,s,e);%3C/text%3E%3Ctext x='320' y='720'%3Ereturn %7B status: 200 %7D;%3C/text%3E%3C/svg%3E");background-size:600px 800px;background-repeat:repeat;animation:codeScroll 120s linear infinite}@keyframes codeScroll{0%{transform:translateY(0)}to{transform:translateY(-50%)}}.dash-root.sidebar-collapsed .dash-bg-code{left:64px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .dash-bg-code:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='800' fill='none'%3E%3Cstyle%3Etext%7Bfont-family:monospace;font-size:11px;fill:%234ade9b;opacity:.15%7D%3C/style%3E%3Ctext x='20' y='24'%3Efunction onEdit(e) %7B%3C/text%3E%3Ctext x='40' y='48'%3Econst sheet = e.source;%3C/text%3E%3Ctext x='40' y='72'%3Econst range = e.range;%3C/text%3E%3Ctext x='40' y='96'%3Eif (range.getColumn() === 1) %7B%3C/text%3E%3Ctext x='60' y='120'%3ELogger.log(range.getValue());%3C/text%3E%3Ctext x='40' y='144'%3E%7D%3C/text%3E%3Ctext x='20' y='168'%3E%7D%3C/text%3E%3Ctext x='20' y='216'%3Econst API_KEY = PropertiesService%3C/text%3E%3Ctext x='40' y='240'%3E.getScriptProperties()%3C/text%3E%3Ctext x='40' y='264'%3E.getProperty(%22key%22);%3C/text%3E%3Ctext x='20' y='312'%3Efunction doGet(req) %7B%3C/text%3E%3Ctext x='40' y='336'%3Ereturn ContentService%3C/text%3E%3Ctext x='60' y='360'%3E.createTextOutput(%22ok%22);%3C/text%3E%3Ctext x='20' y='384'%3E%7D%3C/text%3E%3Ctext x='20' y='432'%3E// deploy as web app%3C/text%3E%3Ctext x='20' y='456'%3Efunction createTrigger() %7B%3C/text%3E%3Ctext x='40' y='480'%3EScriptApp.newTrigger(%22run%22)%3C/text%3E%3Ctext x='60' y='504'%3E.timeBased()%3C/text%3E%3Ctext x='60' y='528'%3E.everyHours(1)%3C/text%3E%3Ctext x='60' y='552'%3E.create();%3C/text%3E%3Ctext x='20' y='576'%3E%7D%3C/text%3E%3Ctext x='320' y='60'%3Eclass SpreadsheetApp %7B%3C/text%3E%3Ctext x='340' y='84'%3EgetActiveSheet() %7B%3C/text%3E%3Ctext x='360' y='108'%3Ereturn this.sheets%5B0%5D;%3C/text%3E%3Ctext x='340' y='132'%3E%7D%3C/text%3E%3Ctext x='320' y='156'%3E%7D%3C/text%3E%3Ctext x='320' y='204'%3Econst ss = SpreadsheetApp%3C/text%3E%3Ctext x='340' y='228'%3E.getActiveSpreadsheet();%3C/text%3E%3Ctext x='320' y='252'%3Econst data = ss.getRange(%22A1:D10%22)%3C/text%3E%3Ctext x='340' y='276'%3E.getValues();%3C/text%3E%3Ctext x='320' y='324'%3Efunction sendEmail(to, subj) %7B%3C/text%3E%3Ctext x='340' y='348'%3EGmailApp.sendEmail(%3C/text%3E%3Ctext x='360' y='372'%3Eto, subj, %22body%22%3C/text%3E%3Ctext x='340' y='396'%3E);%3C/text%3E%3Ctext x='320' y='420'%3E%7D%3C/text%3E%3Ctext x='320' y='468'%3E// fetch external API%3C/text%3E%3Ctext x='320' y='492'%3Econst resp = UrlFetchApp%3C/text%3E%3Ctext x='340' y='516'%3E.fetch(endpoint, options);%3C/text%3E%3Ctext x='320' y='540'%3Econst json = JSON.parse(%3C/text%3E%3Ctext x='340' y='564'%3Eresp.getContentText()%3C/text%3E%3Ctext x='320' y='588'%3E);%3C/text%3E%3Ctext x='20' y='624'%3Efunction formatCells(range) %7B%3C/text%3E%3Ctext x='40' y='648'%3Erange.setBackground(%22%234ade9b%22);%3C/text%3E%3Ctext x='40' y='672'%3Erange.setFontWeight(%22bold%22);%3C/text%3E%3Ctext x='20' y='696'%3E%7D%3C/text%3E%3Ctext x='320' y='648'%3EDriveApp.createFile(blob);%3C/text%3E%3Ctext x='320' y='672'%3ECalendarApp.createEvent(t,s,e);%3C/text%3E%3Ctext x='320' y='720'%3Ereturn %7B status: 200 %7D;%3C/text%3E%3C/svg%3E")}}:root[data-theme=dark] .dash-bg-code:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='800' fill='none'%3E%3Cstyle%3Etext%7Bfont-family:monospace;font-size:11px;fill:%234ade9b;opacity:.15%7D%3C/style%3E%3Ctext x='20' y='24'%3Efunction onEdit(e) %7B%3C/text%3E%3Ctext x='40' y='48'%3Econst sheet = e.source;%3C/text%3E%3Ctext x='40' y='72'%3Econst range = e.range;%3C/text%3E%3Ctext x='40' y='96'%3Eif (range.getColumn() === 1) %7B%3C/text%3E%3Ctext x='60' y='120'%3ELogger.log(range.getValue());%3C/text%3E%3Ctext x='40' y='144'%3E%7D%3C/text%3E%3Ctext x='20' y='168'%3E%7D%3C/text%3E%3Ctext x='20' y='216'%3Econst API_KEY = PropertiesService%3C/text%3E%3Ctext x='40' y='240'%3E.getScriptProperties()%3C/text%3E%3Ctext x='40' y='264'%3E.getProperty(%22key%22);%3C/text%3E%3Ctext x='20' y='312'%3Efunction doGet(req) %7B%3C/text%3E%3Ctext x='40' y='336'%3Ereturn ContentService%3C/text%3E%3Ctext x='60' y='360'%3E.createTextOutput(%22ok%22);%3C/text%3E%3Ctext x='20' y='384'%3E%7D%3C/text%3E%3Ctext x='20' y='432'%3E// deploy as web app%3C/text%3E%3Ctext x='20' y='456'%3Efunction createTrigger() %7B%3C/text%3E%3Ctext x='40' y='480'%3EScriptApp.newTrigger(%22run%22)%3C/text%3E%3Ctext x='60' y='504'%3E.timeBased()%3C/text%3E%3Ctext x='60' y='528'%3E.everyHours(1)%3C/text%3E%3Ctext x='60' y='552'%3E.create();%3C/text%3E%3Ctext x='20' y='576'%3E%7D%3C/text%3E%3Ctext x='320' y='60'%3Eclass SpreadsheetApp %7B%3C/text%3E%3Ctext x='340' y='84'%3EgetActiveSheet() %7B%3C/text%3E%3Ctext x='360' y='108'%3Ereturn this.sheets%5B0%5D;%3C/text%3E%3Ctext x='340' y='132'%3E%7D%3C/text%3E%3Ctext x='320' y='156'%3E%7D%3C/text%3E%3Ctext x='320' y='204'%3Econst ss = SpreadsheetApp%3C/text%3E%3Ctext x='340' y='228'%3E.getActiveSpreadsheet();%3C/text%3E%3Ctext x='320' y='252'%3Econst data = ss.getRange(%22A1:D10%22)%3C/text%3E%3Ctext x='340' y='276'%3E.getValues();%3C/text%3E%3Ctext x='320' y='324'%3Efunction sendEmail(to, subj) %7B%3C/text%3E%3Ctext x='340' y='348'%3EGmailApp.sendEmail(%3C/text%3E%3Ctext x='360' y='372'%3Eto, subj, %22body%22%3C/text%3E%3Ctext x='340' y='396'%3E);%3C/text%3E%3Ctext x='320' y='420'%3E%7D%3C/text%3E%3Ctext x='320' y='468'%3E// fetch external API%3C/text%3E%3Ctext x='320' y='492'%3Econst resp = UrlFetchApp%3C/text%3E%3Ctext x='340' y='516'%3E.fetch(endpoint, options);%3C/text%3E%3Ctext x='320' y='540'%3Econst json = JSON.parse(%3C/text%3E%3Ctext x='340' y='564'%3Eresp.getContentText()%3C/text%3E%3Ctext x='320' y='588'%3E);%3C/text%3E%3Ctext x='20' y='624'%3Efunction formatCells(range) %7B%3C/text%3E%3Ctext x='40' y='648'%3Erange.setBackground(%22%234ade9b%22);%3C/text%3E%3Ctext x='40' y='672'%3Erange.setFontWeight(%22bold%22);%3C/text%3E%3Ctext x='20' y='696'%3E%7D%3C/text%3E%3Ctext x='320' y='648'%3EDriveApp.createFile(blob);%3C/text%3E%3Ctext x='320' y='672'%3ECalendarApp.createEvent(t,s,e);%3C/text%3E%3Ctext x='320' y='720'%3Ereturn %7B status: 200 %7D;%3C/text%3E%3C/svg%3E")}@media (max-width:960px){.dash-bg-code{left:0!important}}@media (prefers-reduced-motion:reduce){.dash-bg-code:before{animation:none!important}}.dash-main>*{position:relative;z-index:1}.dash-topbar{position:-webkit-sticky;position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:var(--sp-3);padding:12px var(--sp-5);background:color-mix(in srgb,var(--bg) 85%,transparent);-webkit-backdrop-filter:saturate(180%) blur(10px);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--border)}.dash-title{font-size:1.15rem}.dash-topbar-actions{display:flex;align-items:center;gap:6px;margin-left:auto}.dash-avatar{width:36px;height:36px;border-radius:50%;background:var(--accent);color:var(--accent-text);display:grid;place-items:center;font-family:var(--font-head);font-weight:700;font-size:.85rem;flex-shrink:0}.dash-content{padding:var(--sp-5);width:100%;max-width:1280px;margin-inline:auto;position:relative;z-index:1}.dash-burger,.dash-scrim{display:none}.dash-scrim{position:fixed;inset:0;background:var(--overlay);z-index:150}@media (max-width:960px){.dash-root,.dash-root.sidebar-collapsed{grid-template-columns:1fr}.dash-sidebar{position:fixed;left:0;top:0;bottom:0;height:100vh;height:100dvh;width:min(280px,84vw);transform:translateX(-100%);transition:transform var(--ease-lg);overflow-y:auto;overscroll-behavior:contain;z-index:160}.dash-sidebar.collapsed{width:min(280px,84vw);padding:var(--sp-4);align-items:stretch}.dash-sidebar.collapsed .dash-nav-item{justify-content:flex-start;padding:10px 12px}.dash-sidebar.collapsed .dash-nav-item span{display:inline}.dash-sidebar.open{transform:translateX(0);box-shadow:var(--shadow-lg)}.dash-main{grid-column:1}.dash-burger{display:inline-flex}.dash-collapse-btn{display:none}.dash-scrim.show{display:block}}.page-intro{margin-bottom:var(--sp-5)}.page-intro p{color:var(--muted)}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--sp-4);gap:var(--sp-4)}@media (max-width:1080px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.kpi-grid{grid-template-columns:1fr}}.kpi-tile{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:var(--sp-4)}.kpi-top{display:flex;align-items:flex-start;justify-content:space-between}.kpi-ico{width:38px;height:38px;border-radius:var(--r-sm);background:var(--accent-dim);color:var(--accent);display:grid;place-items:center}.kpi-label{color:var(--muted);font-size:.8125rem;font-weight:500}.kpi-value{font-family:var(--font-head);font-weight:600;font-size:1.75rem;margin-top:6px;letter-spacing:-.02em}.kpi-foot{margin-top:10px;display:flex;gap:8px;font-size:.8125rem;color:var(--muted)}.delta,.kpi-foot{align-items:center}.delta{display:inline-flex;gap:3px;font-weight:600}.delta.up{color:var(--success)}.delta.down{color:var(--danger)}.dash-grid{display:grid;grid-template-columns:1.7fr 1fr;grid-gap:var(--sp-4);gap:var(--sp-4);margin-top:var(--sp-4)}@media (max-width:1080px){.dash-grid{grid-template-columns:1fr}}.seg{display:inline-flex;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);padding:3px;gap:2px}.seg button{padding:5px 12px;font-size:.8125rem;font-weight:500;border-radius:6px;color:var(--muted);transition:background var(--ease),color var(--ease)}.seg button.active{background:var(--panel);color:var(--text);box-shadow:var(--shadow)}.donut-wrap{display:flex;align-items:center;gap:var(--sp-5);flex-wrap:wrap;overflow:visible}.donut-total{font-family:var(--font-head);font-weight:700;font-size:1.7rem;fill:var(--text)}.donut-sub{font-size:.75rem;fill:var(--muted)}.legend{flex-direction:column;flex:1 1;min-width:150px}.legend,.legend li{display:flex;gap:10px}.legend li{align-items:center;font-size:.875rem}.legend-dot{width:10px;height:10px;border-radius:3px;flex-shrink:0}.legend-label{color:var(--text)}.legend-val{margin-left:auto;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bars{display:flex;flex-direction:column;gap:var(--sp-4)}.bar-head{display:flex;justify-content:space-between;font-size:.875rem;margin-bottom:6px}.bar-val{color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bar-track{height:14px;background:var(--surface);overflow:visible}.bar-fill,.bar-track{border-radius:var(--r-pill)}.bar-fill{display:block;height:10px;transition:height .2s ease}.bar-row:hover .bar-fill{height:14px}.heatmap-scroll{overflow-x:auto}.heatmap{display:block}.heat-axis{fill:var(--muted);font-size:9px;font-family:var(--font-body)}.heat-cell,.heat-key{transition:filter var(--ease)}.heat-cell:hover{stroke:var(--accent);stroke-width:1.5}.heat-l0{fill:var(--heat-0)}.heat-l1{fill:var(--heat-1)}.heat-l2{fill:var(--heat-2)}.heat-l3{fill:var(--heat-3)}.heat-l4{fill:var(--accent)}.heat-legend{display:flex;align-items:center;gap:5px;justify-content:flex-end;margin-top:var(--sp-3);font-size:.75rem;color:var(--muted)}.heat-key{display:inline-block;width:12px;height:12px;border-radius:3px}.heat-legend .heat-l0{background:var(--heat-0)}.heat-legend .heat-l1{background:var(--heat-1)}.heat-legend .heat-l2{background:var(--heat-2)}.heat-legend .heat-l3{background:var(--heat-3)}.heat-legend .heat-l4{background:var(--accent)}.activity-list{display:flex;flex-direction:column}.act-item{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid var(--border)}.act-item:last-child{border-bottom:0}.act-ico{width:34px;height:34px;border-radius:var(--r-sm);display:grid;place-items:center;flex-shrink:0;background:var(--surface);color:var(--muted)}.act-ico.ok{background:rgba(34,197,94,.14);color:var(--success)}.act-ico.err{background:rgba(239,68,68,.14);color:var(--danger)}.act-body{min-width:0;flex:1 1}.act-title{font-size:.9375rem}.act-meta,.act-time{font-size:.8125rem;color:var(--muted)}.act-time{white-space:nowrap}.settings-layout{display:grid;grid-template-columns:190px 1fr;grid-gap:var(--sp-6);gap:var(--sp-6);align-items:start}@media (max-width:820px){.settings-layout{grid-template-columns:1fr}}.settings-nav{display:flex;flex-direction:column;gap:2px;position:-webkit-sticky;position:sticky;top:84px}@media (max-width:820px){.settings-nav{flex-direction:row;overflow-x:auto;position:static;padding-bottom:4px}}.settings-nav a{padding:9px 12px;border-radius:var(--r-sm);color:var(--muted);font-weight:500;font-size:.9375rem;white-space:nowrap}.settings-nav a:hover{background:var(--panel-hover);color:var(--text)}.settings-nav a.active{background:var(--accent-dim);color:var(--accent)}.set-section{scroll-margin-top:84px}.set-section+.set-section{margin-top:var(--sp-4)}.set-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-4) 0;border-bottom:1px solid var(--border)}.set-row:last-child{border-bottom:0}.set-row .set-info h4{font-size:.9375rem;margin-bottom:2px}.set-row .set-info p{font-size:.8125rem;color:var(--muted)}.sub-summary{display:flex;flex-wrap:wrap;gap:var(--sp-5);align-items:center;justify-content:space-between}.sub-usage{min-width:240px;flex:1 1}.usage-bar{height:8px;background:var(--surface);overflow:hidden;margin-top:8px}.usage-bar,.usage-bar>span{border-radius:var(--r-pill)}.usage-bar>span{display:block;height:100%;background:var(--accent)}.switch{position:relative;display:inline-block;width:44px;height:26px;flex-shrink:0}.switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.switch .track{position:absolute;inset:0;background:var(--surface-raised);border-radius:var(--r-pill);transition:background var(--ease)}.switch .thumb{position:absolute;top:3px;left:3px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform var(--ease);box-shadow:0 1px 3px rgba(0,0,0,.3)}.switch input:checked~.track{background:var(--accent)}.switch input:checked~.thumb{transform:translateX(18px)}.danger-zone{border-color:rgba(239,68,68,.3)}.text-center{text-align:center}.mt-4{margin-top:var(--sp-4)}.mt-5{margin-top:var(--sp-5)}.mt-6{margin-top:var(--sp-6)}.grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--sp-5);gap:var(--sp-5)}@media (max-width:700px){.grid-2{grid-template-columns:1fr}}.stack-sm>*+*{margin-top:var(--sp-2)}.skeleton{position:relative;overflow:hidden;background:var(--surface);border-radius:var(--r-sm)}.skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,var(--panel-hover),transparent);animation:shimmer 1.4s ease-in-out infinite}@keyframes shimmer{to{transform:translateX(100%)}}.sk-line{height:12px;margin-bottom:10px}.sk-line.w-60{width:60%}.sk-line.w-40{width:40%}.sk-line.w-80{width:80%}.sk-tile{height:116px}.sk-block,.sk-tile{border-radius:var(--r-lg)}.sk-block{height:280px}.empty-state{text-align:center;padding:var(--sp-8) var(--sp-5);color:var(--muted)}.empty-state .empty-ico{width:56px;height:56px;border-radius:var(--r-lg);margin:0 auto var(--sp-4);display:grid;place-items:center;background:var(--accent-dim);color:var(--accent)}.empty-state h3{font-size:1.05rem;color:var(--text);margin-bottom:6px}.empty-state p{font-size:.9375rem;max-width:40ch;margin:0 auto}.status{display:inline-flex;align-items:center;gap:7px;font-size:.8125rem;font-weight:600;white-space:nowrap}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--muted)}.status.active .status-dot,.status.ok .status-dot,.status.operational .status-dot,.status.paid .status-dot,.status.success .status-dot{background:var(--success);box-shadow:0 0 0 3px rgba(34,197,94,.18)}.status.active,.status.ok,.status.operational,.status.paid,.status.success{color:var(--success)}.status.degraded .status-dot,.status.past_due .status-dot,.status.trialing .status-dot,.status.warn .status-dot{background:var(--warm);box-shadow:0 0 0 3px rgba(245,158,11,.18)}.status.degraded,.status.past_due,.status.trialing,.status.warn{color:var(--warm)}.status.canceled .status-dot,.status.down .status-dot,.status.err .status-dot,.status.error .status-dot{background:var(--danger);box-shadow:0 0 0 3px rgba(239,68,68,.18)}.status.canceled,.status.down,.status.err,.status.error{color:var(--danger)}.tag-pill{display:inline-flex;align-items:center;padding:3px 9px;border-radius:var(--r-pill);font-size:.75rem;font-weight:600;font-family:var(--font-head);background:var(--surface);color:var(--muted);border:1px solid var(--border);text-transform:capitalize}.tag-pill.accent,.tag-pill.pro{background:var(--accent-dim);color:var(--accent);border-color:transparent}.tag-pill.free{color:var(--muted)}.tag-pill.team{background:rgba(34,197,94,.15);color:var(--success);border-color:transparent}.astat-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--sp-4);gap:var(--sp-4)}@media (max-width:1080px){.astat-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:520px){.astat-grid{grid-template-columns:1fr}}.astat{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:var(--sp-4);position:relative;overflow:hidden;transition:transform var(--ease-lg),box-shadow var(--ease-lg),border-color var(--ease-lg)}.astat:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--border-strong)}.astat-top{display:flex;align-items:center;gap:10px;margin-bottom:var(--sp-3)}.astat-ico{width:34px;height:34px;border-radius:var(--r-sm);background:var(--accent-dim);color:var(--accent);display:grid;place-items:center;flex-shrink:0}.astat-label{color:var(--muted);font-size:.8125rem;font-weight:500}.astat-value{font-family:var(--font-head);font-weight:600;font-size:1.85rem;letter-spacing:-.02em;line-height:1}.astat-foot{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:.8125rem;color:var(--muted)}.astat-spark{margin-top:var(--sp-3)}.a-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap;margin-bottom:var(--sp-5)}.a-head h2{font-size:1.4rem}.a-head p{color:var(--muted);font-size:.9375rem;margin-top:4px}.a-head-actions{gap:var(--sp-2)}.a-head-actions,.filter-bar{display:flex;align-items:center}.filter-bar{gap:var(--sp-3);flex-wrap:wrap;margin-bottom:var(--sp-4)}.search-field{position:relative;flex:1 1;min-width:220px}.search-field svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.search-field input{padding-left:38px;height:40px}.data-table-wrap{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);overflow:hidden}.data-table-scroll{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:.9375rem;min-width:720px}.data-table thead th{position:-webkit-sticky;position:sticky;top:0;z-index:1;text-align:left;white-space:nowrap;background:var(--surface);color:var(--muted);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:12px 16px;border-bottom:1px solid var(--border)}.data-table thead th.sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.data-table thead th.sortable:hover{color:var(--text)}.data-table thead th .th-in{display:inline-flex;align-items:center;gap:5px}.data-table tbody td{padding:13px 16px;border-bottom:1px solid var(--border);vertical-align:middle}.data-table tbody tr{transition:background var(--ease)}.data-table tbody tr:hover{background:var(--surface)}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr.clickable{cursor:pointer}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.cell-user{display:flex;align-items:center;gap:11px;min-width:0}.cell-avatar{width:34px;height:34px;border-radius:50%;background:var(--accent);color:var(--accent-text);display:grid;place-items:center;font-family:var(--font-head);font-weight:700;font-size:.78rem;flex-shrink:0}.cell-avatar.alt2{background:var(--c-2)}.cell-avatar.alt3{background:var(--c-3)}.cell-avatar.alt4{background:var(--c-4)}.cell-avatar.alt5{background:var(--c-5)}.cell-user-meta{min-width:0}.cell-user-name{font-weight:600;font-size:.9375rem}.cell-user-email,.cell-user-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cell-user-email,.table-foot{font-size:.8125rem;color:var(--muted)}.table-foot{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-top:1px solid var(--border);flex-wrap:wrap;gap:var(--sp-2)}.barlist{display:flex;flex-direction:column;gap:var(--sp-4)}.barlist-row .barlist-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px;font-size:.9rem}.barlist-row .barlist-val{color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.barlist-track{height:9px;background:var(--surface);border-radius:var(--r-pill);overflow:hidden}.barlist-fill{height:100%;border-radius:var(--r-pill)}.inline-code{font-family:var(--font-mono);font-size:.78rem;padding:2px 6px;border-radius:5px;background:var(--surface);border:1px solid var(--border);color:var(--muted)}.status-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap;border-left:3px solid var(--success)}.status-banner.degraded{border-left-color:var(--warm)}.status-banner.down{border-left-color:var(--danger)}.svc-row{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-4) 0;border-bottom:1px solid var(--border)}.svc-row:last-child{border-bottom:0}.svc-ico{width:40px;height:40px;border-radius:var(--r-sm);background:var(--surface);color:var(--muted);display:grid;place-items:center;flex-shrink:0}.svc-main{flex:1 1;min-width:0}.svc-name{font-weight:600;font-size:.9375rem}.svc-detail{font-size:.8125rem;color:var(--muted)}.svc-metrics{display:flex;gap:var(--sp-5);text-align:right}@media (max-width:620px){.svc-metrics{gap:var(--sp-3)}.svc-metric.hide-sm{display:none}}.svc-metric .m-val{font-family:var(--font-head);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.svc-metric .m-label{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.drawer-scrim{position:fixed;inset:0;background:var(--overlay);z-index:60;animation:fadeIn var(--ease)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.drawer{position:fixed;top:0;right:0;height:100%;width:min(440px,92vw);z-index:61;background:var(--panel);border-left:1px solid var(--border);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;animation:slideIn var(--ease-lg)}.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border)}.drawer-body{padding:var(--sp-5);overflow-y:auto;flex:1 1}.drawer-profile{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-5)}.drawer-profile .cell-avatar{width:52px;height:52px;font-size:1.05rem}.def-list{display:grid;grid-template-columns:auto 1fr;grid-gap:12px var(--sp-5);gap:12px var(--sp-5);align-items:center}.def-list dt{color:var(--muted);font-size:.875rem}.def-list dd{text-align:right;font-weight:500;font-size:.9375rem}.dash-nav-admin{color:var(--accent)}.dash-nav-admin:hover{background:var(--accent-dim)}.modal-overlay{position:fixed;inset:0;z-index:300;background:var(--overlay);display:grid;place-items:center;animation:fadeIn .15s ease}.modal-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:var(--sp-6);max-width:380px;width:90vw;text-align:center;animation:modalIn .2s ease}.modal-card h3{margin:var(--sp-3) 0 var(--sp-2);font-size:1.15rem}.modal-card p{color:var(--muted);font-size:.9rem;margin-bottom:var(--sp-5)}.modal-icon{color:var(--danger);margin:0 auto}.modal-actions{display:flex;gap:var(--sp-3);justify-content:center}.modal-actions .btn{min-width:100px}@keyframes modalIn{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.admin-badge{display:inline-flex;align-items:center;gap:5px;margin-top:8px;padding:3px 9px;border-radius:var(--r-pill);font-family:var(--font-head);letter-spacing:.04em;background:rgba(245,158,11,.16);color:var(--warm)}.admin-badge,.dash-nav-section{font-size:.7rem;font-weight:700;text-transform:uppercase}.dash-nav-section{letter-spacing:.06em;color:var(--muted);padding:var(--sp-4) 12px 6px}.collapsed-logo{transform:rotate(180deg)}@media (max-width:480px){.auth-form-panel{padding:32px 16px}.auth-card h1{font-size:24px}.page-hero{padding:56px 0 32px}.page-hero p{font-size:15px}}@media (max-width:520px){.key-row{flex-wrap:wrap;gap:8px;padding:12px 16px}}@media (max-width:480px){.byok-band{padding:24px;gap:var(--sp-5)}.provider-row{flex-wrap:wrap;gap:8px}.svc-row{flex-wrap:wrap;gap:var(--sp-3)}.svc-metrics{width:100%;justify-content:space-between}}@media (max-width:520px){.set-row{flex-direction:column;align-items:flex-start;gap:var(--sp-3)}}@media (max-width:640px){.filter-bar{flex-direction:column}.search-field{min-width:0;width:100%}}@media (max-width:480px){.drawer{width:100vw}}@media (max-width:640px){.dash-content{padding:var(--sp-3)}.dash-topbar{padding:10px var(--sp-3)}}@media (max-width:480px){.act-item{flex-wrap:wrap}.act-time{width:100%;text-align:left;font-size:.75rem}.stat-band{text-align:center}.def-list,.stat-band{grid-template-columns:1fr}.def-list{gap:4px var(--sp-3)}.def-list dd{text-align:left;margin-bottom:8px}}@media (max-width:420px){.modal-card{padding:var(--sp-4)}.modal-actions{flex-direction:column}.modal-actions .btn{width:100%}}@media (max-width:520px){.sub-summary{flex-direction:column;align-items:flex-start}.sub-usage{min-width:0;width:100%}}@media (max-width:480px){.donut-wrap{flex-direction:column;align-items:center}.legend{min-width:0;width:100%}}@media (max-width:420px){.hero-cta{flex-direction:column;align-items:stretch}.hero-cta .btn{width:100%}}@media (max-width:520px){.a-head{flex-direction:column;align-items:flex-start}}.container.wide{max-width:1320px;padding-inline:32px}@media (max-width:640px){.container.wide{padding-inline:20px}}.sec-head{max-width:760px;margin:0 auto clamp(36px,5vw,56px);text-align:center}.sec-eyebrow{display:block;font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--muted)}.sec-title{font-size:clamp(2rem,4.2vw,3.375rem);line-height:1.05;letter-spacing:-.025em;font-weight:700;margin:14px 0 0}.sec-sub{font-size:17px;line-height:1.6;color:var(--muted);margin:14px 0 0}.sec-quiet{background:var(--bg-elevated);border-block:1px solid var(--border)}.hero2{position:relative;text-align:center;padding:clamp(56px,8vw,104px) 0 clamp(48px,6vw,80px)}.hero2-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:var(--r-pill);border:1px solid var(--border-strong);background:var(--panel);font-size:12.5px;font-weight:500;color:var(--muted)}.hero2-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.hero2-title{font-size:clamp(2.6rem,7vw,5.75rem);line-height:1.05;letter-spacing:-.035em;font-weight:700;margin:24px 0 0}.hero-line{display:block}.hero-line-grad{background:linear-gradient(100deg,var(--accent),var(--accent-deep) 55%,var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}.hero2-sub{max-width:640px;margin:22px auto 0;font-size:clamp(1rem,1.5vw,18px);line-height:1.65;color:var(--muted)}.hero2-cta{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:30px}.hero2-stage{position:relative;margin-top:clamp(40px,5vw,64px);padding:14px;border:1px solid var(--border);border-radius:20px;background:radial-gradient(circle at 50% 0,var(--accent-dim),transparent 45%),var(--panel);box-shadow:0 24px 60px -24px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.05)}@media (max-width:640px){.hero2-stage{padding:8px}}.hero2-trust{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;margin-top:26px;font-size:13px;color:var(--faint)}.lp-stats-section{padding-block:clamp(28px,4vw,48px)}.lp-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:18px;gap:18px;padding:28px 0;border-block:1px solid var(--border)}@media (max-width:720px){.lp-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}}.lp-stat{text-align:center}.lp-stat-n{display:block;font-family:var(--font-head);font-size:clamp(1.75rem,3vw,2.25rem);font-weight:700;letter-spacing:-.02em;color:var(--text-primary)}.lp-stat-l{display:block;margin-top:6px;font-size:13px;line-height:1.5;color:var(--muted)}.bento{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:18px;gap:18px}.bento-card{grid-column:span 2;display:flex;flex-direction:column;gap:14px;padding:18px;border:1px solid var(--border);border-radius:20px;background:var(--panel);transition:border-color var(--ease),transform var(--ease-lg),box-shadow var(--ease-lg)}.bento-card.wide{grid-column:span 3}.bento-card:hover{border-color:var(--accent-border);transform:translateY(-3px);box-shadow:var(--shadow-lg)}@media (max-width:1040px){.bento{grid-template-columns:repeat(4,minmax(0,1fr))}.bento-card.wide{grid-column:span 4}}@media (max-width:680px){.bento{grid-template-columns:minmax(0,1fr)}.bento-card,.bento-card.wide{grid-column:span 1}}.bento-head{display:flex;align-items:center;gap:10px}.bento-head h3{margin:0;font-size:15.5px;font-weight:600;letter-spacing:-.01em}.bento-ico{display:grid;place-items:center;width:28px;height:28px;flex:none;border-radius:8px;border:1px solid var(--accent-border);background:var(--accent-dim);color:var(--accent)}.bento-card>p{margin:0;font-size:13.5px;line-height:1.55;color:var(--muted)}.bento-visual{display:flex;flex-direction:column;gap:8px;height:158px;padding:14px;overflow:hidden;border:1px solid var(--border);border-radius:14px;background:linear-gradient(180deg,var(--bg-elevated),var(--bg))}.bento-card.wide .bento-visual{height:178px}.bv-row{display:flex;align-items:center;gap:8px}.bv-row.bv-wrap{flex-wrap:wrap}.bv-spacer{flex:1 1 auto}.bv-label{font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);white-space:nowrap}.bv-chip{padding:3px 9px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--panel);font-size:11px;color:var(--muted);white-space:nowrap}.bv-chip.on{border-color:var(--accent-border);background:var(--accent-dim);color:var(--accent)}.bv-btn{padding:5px 11px;border-radius:7px;background:var(--accent);color:var(--accent-text);font-size:11px;font-weight:600;white-space:nowrap}.bv-key{padding:2px 6px;border-radius:5px;border:1px solid var(--border-strong);font-family:var(--font-mono);font-size:10px;color:var(--muted)}.bv-bubble,.bv-key{background:var(--panel)}.bv-bubble{padding:7px 10px;border-radius:10px;border:1px solid var(--border);font-size:11.5px;line-height:1.45;color:var(--text)}.bv-bubble code{font-family:var(--font-mono);font-size:10.5px;color:var(--accent)}.bv-bubble.me{align-self:flex-end;max-width:84%;border-color:var(--accent-border);background:var(--accent-dim)}.bv-step{display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--text)}.bv-ok{color:var(--accent);font-weight:700}.bv-run{color:var(--warm)}.bv-num,.bv-slash{display:grid;place-items:center;width:17px;height:17px;flex:none;border-radius:5px;border:1px solid var(--border);background:var(--panel);font-size:10px;color:var(--accent)}.bv-mono,.bv-num,.bv-slash{font-family:var(--font-mono)}.bv-mono{margin:0;font-size:10.5px;line-height:1.75;color:var(--muted);white-space:pre;overflow:hidden}.bv-mono.bv-sel{padding:6px 8px;border-radius:7px;border-left:2px solid var(--accent);background:var(--accent-dim);color:var(--text)}.bv-ghost{color:var(--faint);opacity:.75}.bv-err{color:var(--danger)}.bv-diff{padding:2px 8px;border-radius:6px;font-family:var(--font-mono);font-size:10.5px;line-height:1.6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bv-diff.ctx{color:var(--faint)}.bv-diff.add{background:rgba(34,197,94,.12);color:var(--success)}.bv-diff.del{background:rgba(239,68,68,.1);color:var(--danger)}.bv-grid2{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.bv-tile{padding:8px 10px;border:1px solid var(--border);border-radius:9px;background:var(--panel)}.bv-tile b{display:block;font-size:11.5px;font-weight:600;color:var(--text)}.bv-tile span{font-size:10.5px;color:var(--muted)}.byok2{display:grid;grid-template-columns:1.15fr .85fr;grid-gap:clamp(28px,4vw,48px);gap:clamp(28px,4vw,48px);align-items:center;padding:clamp(28px,4vw,48px);border:1px solid var(--border);border-radius:22px;background:radial-gradient(circle at 10% 0,var(--accent-dim),transparent 55%),var(--panel);box-shadow:var(--shadow-lg)}@media (max-width:900px){.byok2{grid-template-columns:minmax(0,1fr)}}.byok2-title{font-size:clamp(1.9rem,3.6vw,3.05rem);line-height:1.06;letter-spacing:-.03em;font-weight:700;margin:18px 0 0}.byok2-sub{max-width:48ch;margin:16px 0 0;font-size:16px;line-height:1.65;color:var(--muted)}.byok2-buy{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:26px}.byok2-price{display:flex;align-items:baseline;gap:8px}.byok2-price strong{font-family:var(--font-head);font-size:30px;font-weight:700;letter-spacing:-.02em;color:var(--text-primary)}.byok2-price span{font-size:13px;color:var(--muted)}.byok2-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.byok2-chip{padding:6px 12px;border-radius:var(--r-pill);font-size:12.5px;color:var(--muted)}.byok2-chip,.byok2-panel{border:1px solid var(--border);background:var(--bg-elevated)}.byok2-panel{padding:18px 20px;border-radius:16px}.byok2-panel-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;font-size:13.5px;font-weight:600}.byok2-badge{padding:3px 10px;border-radius:var(--r-pill);border:1px solid var(--accent-border);background:var(--accent-dim);font-size:11.5px;font-weight:600;color:var(--accent)}.byok2-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--border)}.byok2-row-n{font-size:13.5px;font-weight:600}.byok2-row-m{font-size:12px;color:var(--muted)}.byok2-ok{font-family:var(--font-mono);font-size:11px;color:var(--accent)}.byok2-foot{margin:14px 0 0;font-size:12px;color:var(--faint)}.how-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:18px;gap:18px}@media (max-width:860px){.how-grid{grid-template-columns:minmax(0,1fr)}}.how-card{height:100%;padding:28px;border:1px solid var(--border);border-radius:14px;background:var(--panel)}.how-num{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.how-card h3{margin:14px 0 0;font-size:18px;letter-spacing:-.01em}.how-card p{margin:10px 0 0;font-size:14.5px;line-height:1.6;color:var(--muted)}.how-more{display:flex;justify-content:center;margin-top:28px}.testi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:18px;gap:18px}.testi-span{grid-column:span 2}@media (max-width:860px){.testi-grid{grid-template-columns:minmax(0,1fr)}.testi-span{grid-column:span 1}}.testi{height:100%;margin:0;padding:24px;border:1px solid var(--border);border-radius:14px;background:var(--panel)}.testi-stars{font-size:12px;letter-spacing:3px;color:var(--accent)}.testi blockquote{margin:12px 0 0;font-size:14.5px;line-height:1.6;color:var(--text)}.testi.feat blockquote{font-size:clamp(1rem,1.7vw,20px);line-height:1.5}.testi-by{display:flex;align-items:center;gap:10px;margin-top:20px}.testi-av{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:50%;border:1px solid var(--accent-border);background:var(--accent-dim);font-size:12px;font-weight:600;color:var(--accent)}.testi-n{font-size:13.5px;font-weight:600}.testi-d{font-size:12px;color:var(--faint)}.faq-narrow{max-width:780px;margin-inline:auto}.cta2{text-align:center;padding:clamp(40px,6vw,76px) 24px;border:1px solid var(--border);border-radius:22px;background:radial-gradient(circle at 50% 0,var(--accent-dim),transparent 60%),var(--panel);box-shadow:var(--shadow-lg)}.cta2 h2{font-size:clamp(2rem,4vw,3.25rem);line-height:1.06;letter-spacing:-.03em;margin:0}.cta2>p{max-width:560px;margin:16px auto 0;font-size:17px;line-height:1.6;color:var(--muted)}.cta2-foot{display:flex;gap:22px;flex-wrap:wrap;justify-content:center;margin-top:26px;font-size:13px;color:var(--faint)}.bento{--bv-dur:9s}.bento-card{--off:0s}.bento-card:nth-child(3n+2){--off:-3s}.bento-card:nth-child(3n+3){--off:-6s}@keyframes bv-cycle{0%,3%{opacity:0;transform:translateY(7px)}88%,9%{opacity:1;transform:none}95%,to{opacity:0;transform:translateY(-5px)}}.bento-visual>*{--i:0;animation:bv-cycle var(--bv-dur) ease-in-out infinite;animation-delay:calc(var(--off) + var(--i) * .3s);animation-play-state:paused}.bento-visual>:nth-child(2){--i:1}.bento-visual>:nth-child(3){--i:2}.bento-visual>:nth-child(4){--i:3}.bento-visual>:nth-child(5){--i:4}.bento-visual>:nth-child(6){--i:5}.bv-grid2>*,.bv-row.bv-wrap>*{--j:0;animation:bv-cycle var(--bv-dur) ease-in-out infinite;animation-delay:calc(var(--off) + var(--i) * .3s + var(--j) * .22s);animation-play-state:paused}.bv-grid2>:nth-child(2),.bv-row.bv-wrap>:nth-child(2){--j:1}.bv-grid2>:nth-child(3),.bv-row.bv-wrap>:nth-child(3){--j:2}.bv-grid2>:nth-child(4){--j:3}.bv-typed{display:inline-block;width:0;overflow:hidden;white-space:nowrap;vertical-align:bottom;animation:bv-type var(--bv-dur) steps(24) infinite;animation-delay:calc(var(--off) + var(--i) * .3s);animation-play-state:paused}@keyframes bv-type{0%,12%{width:0}34%,to{width:var(--w,20ch)}}.bv-caret{display:inline-block;width:6px;height:12px;margin-left:1px;vertical-align:bottom;background:var(--accent);animation:bv-blink 1.05s step-end infinite;animation-play-state:paused}@keyframes bv-blink{0%,49%{opacity:1}50%,to{opacity:0}}.bv-run{animation:bv-pulse 1.2s ease-in-out infinite;animation-play-state:paused}@keyframes bv-pulse{0%,to{opacity:.3}50%{opacity:1}}.bv-btn.pulse{animation:bv-glow 2.4s ease-out infinite;animation-delay:calc(var(--off) + var(--i) * .3s);animation-play-state:paused}@keyframes bv-glow{0%{box-shadow:0 0 0 0 var(--accent-border)}55%,to{box-shadow:0 0 0 7px transparent}}.bv-spark{animation:bv-spark 2.2s ease-in-out infinite;animation-play-state:paused}@keyframes bv-spark{0%,to{box-shadow:0 0 0 0 transparent}50%{box-shadow:0 0 14px -2px var(--accent)}}.is-in .bento-visual>*,.is-in .bv-btn.pulse,.is-in .bv-caret,.is-in .bv-grid2>*,.is-in .bv-row.bv-wrap>*,.is-in .bv-run,.is-in .bv-spark,.is-in .bv-typed{animation-play-state:running}@media (prefers-reduced-motion:reduce){.bento-visual>*,.bv-btn.pulse,.bv-caret,.bv-grid2>*,.bv-row.bv-wrap>*,.bv-run,.bv-spark,.bv-typed{animation:none!important;opacity:1;transform:none}.bv-typed{width:auto}.bv-caret{display:none}}.hero2-video{position:relative;width:100%;aspect-ratio:16/9;border-radius:14px;overflow:hidden;border:1px solid var(--border);background:radial-gradient(circle at 50% 40%,var(--accent-dim),transparent 60%),var(--bg-elevated)}.hero2-video-el{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:cover;background:transparent}.hero2-video-ph{position:absolute;inset:0;z-index:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.hero2-video-play{display:grid;place-items:center;width:66px;height:66px;border-radius:50%;border:1px solid var(--accent-border);background:var(--accent-dim);color:var(--accent);box-shadow:0 0 0 0 var(--accent-border);animation:hero-video-ring 2.6s ease-out infinite}@keyframes hero-video-ring{0%{box-shadow:0 0 0 0 var(--accent-border)}70%,to{box-shadow:0 0 0 22px transparent}}.hero2-video-cap{font-size:13px;letter-spacing:.02em;color:var(--faint)}@media (prefers-reduced-motion:reduce){.hero2-video-play{animation:none}}