:root{--bg: #F4F1EA;--bg-2: #ECE7DC;--ink: #141414;--ink-2: #2A2A28;--muted: #6E6A60;--line: #1414141A;--line-strong: #14141433;--accent: oklch(.62 .06 130);--accent-ink: oklch(.28 .08 130);--paper-shadow: 0 1px 0 rgba(20, 20, 20, .04), 0 24px 60px -30px rgba(20, 20, 20, .18);--sans: "Inter Tight", ui-sans-serif, system-ui, sans-serif;--serif: "Instrument Serif", ui-serif, Georgia, serif;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;line-height:1.45;letter-spacing:-.005em;transition:background .3s ease,color .3s ease}a{color:inherit}::selection{background:var(--accent);color:var(--bg)}:where(a,button,input,textarea,select,summary,[tabindex]):focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px;border-radius:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (prefers-contrast: more){:root{--line: #14141466;--line-strong: #14141480;--muted: #4A463E}}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background-image:radial-gradient(rgba(20,20,20,.035) 1px,transparent 1px),radial-gradient(rgba(20,20,20,.025) 1px,transparent 1px);background-size:3px 3px,7px 7px;background-position:0 0,1px 2px;mix-blend-mode:multiply;opacity:.5}.shell{position:relative;z-index:1;max-width:1200px;margin:0 auto;padding:28px 40px 80px}nav.top{display:flex;align-items:center;justify-content:space-between;padding:6px 0 0}.brand{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:13px;letter-spacing:.04em}.brand .glyph{width:22px;height:22px;border:1px solid var(--ink);display:grid;place-items:center;font-weight:600}.brand .glyph svg{display:block}.brand b{font-weight:600;letter-spacing:.08em}.brand .dot{color:var(--muted)}.nav-links{display:flex;gap:28px;align-items:center;font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--ink-2)}.nav-links a{text-decoration:none;opacity:.78}.nav-links a:hover{opacity:1}.nav-cta{font-family:var(--mono);font-size:12px;border:1px solid var(--ink);padding:8px 14px;text-decoration:none;background:var(--ink);color:var(--bg);letter-spacing:.06em;cursor:pointer}.nav-cta:hover{background:transparent;color:var(--ink)}.nav-auth{display:flex;align-items:center;gap:16px}.nav-login{font-family:var(--mono);font-size:12px;letter-spacing:.04em;text-decoration:none;color:var(--ink-2);opacity:.78}.nav-login:hover{opacity:1;color:var(--ink)}header.hero{padding:90px 0 64px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:end}.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:10px;margin-bottom:28px}.eyebrow .pill{border:1px solid var(--line-strong);padding:3px 8px;border-radius:999px;color:var(--ink-2);background:#fff6}h1.title{font-family:var(--sans);font-weight:400;font-size:clamp(56px,7.4vw,104px);line-height:.94;letter-spacing:-.04em;margin:0;color:var(--ink)}h1.title .it{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.02em}h1.title .stroke{-webkit-text-stroke:1px var(--ink);color:transparent}.lede{font-size:18px;color:var(--ink-2);max-width:44ch;margin:28px 0 0;text-wrap:pretty}.hero-meta{display:flex;flex-direction:column;gap:18px;padding-bottom:4px}.hero-meta .row{display:flex;gap:16px;align-items:baseline;font-family:var(--mono);font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:14px}.hero-meta .row .k{width:90px;letter-spacing:.1em;text-transform:uppercase}.hero-meta .row .v{color:var(--ink)}.cta-row{display:flex;gap:12px;margin-top:36px;flex-wrap:wrap}.btn{font-family:var(--mono);font-size:12px;letter-spacing:.06em;padding:14px 22px;border:1px solid var(--ink);text-decoration:none;display:inline-flex;align-items:center;gap:10px;cursor:pointer;background:var(--ink);color:var(--bg);transition:all .15s ease}.btn.alt,.btn:hover{background:transparent;color:var(--ink)}.btn.alt:hover{background:var(--ink);color:var(--bg)}.btn .arrow{display:inline-block;transition:transform .2s ease}.btn:hover .arrow{transform:translate(3px)}section.demo{margin-top:72px;display:grid;grid-template-columns:1.1fr .9fr;gap:0;border:1px solid var(--line-strong);background:#fbf9f3;box-shadow:var(--paper-shadow)}.demo .pane{padding:28px 30px;min-height:380px;display:flex;flex-direction:column}.demo .pane.left{border-right:1px solid var(--line)}.pane-head{display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--muted);text-transform:uppercase;margin-bottom:16px}.pane-head .tag{display:flex;gap:8px;align-items:center}.pane-head .dotline{flex:1;height:1px;background:var(--line);margin:0 14px}.pane-head .seg{display:inline-flex;border:1px solid var(--line-strong)}.pane-head .seg button{background:transparent;border:0;padding:4px 10px;font-family:var(--mono);font-size:10px;letter-spacing:.1em;cursor:pointer;color:var(--muted)}.pane-head .seg button.on{background:var(--ink);color:var(--bg)}textarea.input{flex:1;width:100%;border:0;resize:none;background:transparent;font-family:var(--mono);font-size:13px;line-height:1.6;color:var(--ink);padding:4px}textarea.input:focus-visible{outline:2px solid var(--accent-ink);outline-offset:0}.input-foot{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--muted);text-transform:uppercase;border-top:1px dashed var(--line);padding-top:12px;margin-top:12px}.input-foot .pulse:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:8px;box-shadow:0 0 0 0 var(--accent);animation:pulse 1.4s ease-out infinite;vertical-align:middle}@keyframes pulse{0%{box-shadow:0 0 #7a8e6799}to{box-shadow:0 0 0 8px #7a8e6700}}.fp-stage{display:flex;flex-direction:column;gap:18px;flex:1}.fp-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;aspect-ratio:8 / 5;width:100%}.fp-cell{background:var(--bg-2);transition:background .35s ease,transform .35s ease;will-change:background,transform}.fp-cell.on{background:var(--ink)}.fp-cell.accent{background:var(--accent)}.fp-hash{font-family:var(--mono);font-size:12px;word-break:break-all;border:1px solid var(--line);padding:12px 14px;background:var(--bg);color:var(--ink);letter-spacing:.02em}.fp-hash .pre{color:var(--muted)}.fp-stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:var(--bg)}.fp-stats .stat{padding:10px 12px;border-right:1px solid var(--line);font-family:var(--mono)}.fp-stats .stat:last-child{border-right:0}.fp-stats .stat .k{font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.fp-stats .stat .v{font-size:14px;color:var(--ink);margin-top:2px}section.use{margin-top:96px;display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:start}.section-label{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:10px;margin-bottom:18px}.section-label:before{content:"";width:24px;height:1px;background:var(--ink)}h2.h{font-family:var(--sans);font-size:clamp(34px,3.6vw,44px);font-weight:400;letter-spacing:-.025em;line-height:1.05;margin:0 0 18px}h2.h .it{font-family:var(--serif);font-style:italic}p.body{color:var(--ink-2);font-size:16px;max-width:46ch;margin:0 0 16px}.code{border:1px solid var(--line-strong);background:#15140f;color:#e8e3d6;font-family:var(--mono);font-size:13px;line-height:1.7;padding:22px 24px;overflow-x:auto;box-shadow:var(--paper-shadow);margin:0;white-space:pre}.code .c{color:#6e6a60}.code .k{color:#a9c192}.code .s{color:#dabfa2}.code .fn{color:#e8e3d6}.code .v{color:#9ebdcc}.code-tabs{display:flex;gap:0;border:1px solid var(--line-strong);border-bottom:0;background:var(--bg)}.code-tabs button{background:transparent;border:0;border-right:1px solid var(--line);padding:10px 16px;cursor:pointer;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.code-tabs button.on{color:var(--ink);background:var(--bg-2)}.code-wrap>.code{border-top:0}section.features{margin-top:110px;border-top:1px solid var(--line);padding-top:56px}.feat-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:40px;flex-wrap:wrap;gap:24px}.feat-head h2{max-width:14ch}.feat-head p{max-width:38ch;color:var(--muted);font-size:14px;margin:0}.feat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line-strong);border-left:1px solid var(--line-strong)}.feat{border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);padding:28px 24px 32px;min-height:220px;display:flex;flex-direction:column;justify-content:space-between;background:#ffffff40}.feat .num{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.14em}.feat h3{font-family:var(--sans);font-weight:500;font-size:19px;letter-spacing:-.01em;margin:18px 0 8px}.feat p{font-size:13.5px;color:var(--ink-2);margin:0;line-height:1.55}section.types{margin-top:96px;border-top:1px solid var(--line);padding-top:56px}.type-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px}.type-chip{font-family:var(--mono);font-size:12px;border:1px solid var(--line-strong);padding:8px 14px;color:var(--ink-2);background:#fff6;letter-spacing:.04em}.type-chip .dot{display:inline-block;width:6px;height:6px;background:var(--accent);border-radius:50%;margin-right:8px;vertical-align:middle}footer.site{margin-top:120px;padding-top:32px;border-top:1px solid var(--line-strong);display:flex;justify-content:space-between;align-items:end;font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--muted);flex-wrap:wrap;gap:24px}footer.site .big{font-family:var(--sans);font-size:clamp(60px,9vw,140px);color:var(--ink);letter-spacing:-.05em;line-height:.85;font-weight:300}footer.site .big .it{font-family:var(--serif);font-style:italic;font-weight:400}footer.site .right{text-align:right;display:flex;flex-direction:column;gap:6px}footer.site a{text-decoration:none;opacity:.78}footer.site a:hover{opacity:1}section.social{margin-top:64px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:32px;flex-wrap:wrap}.social .label{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.social .logos{display:flex;align-items:center;gap:36px;flex-wrap:wrap;font-family:var(--mono);font-size:13px;letter-spacing:.06em;color:var(--ink-2);opacity:.72}.social .logos span{display:inline-flex;align-items:center;gap:8px}section.how{margin-top:110px;border-top:1px solid var(--line);padding-top:56px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:36px;border-top:1px solid var(--line-strong);border-left:1px solid var(--line-strong)}.step{border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);padding:32px 28px;background:#ffffff40;display:flex;flex-direction:column;gap:16px}.step .badge{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--muted)}.step .num{font-family:var(--sans);font-weight:300;font-size:56px;line-height:1;letter-spacing:-.04em;color:var(--ink)}.step h3{font-family:var(--sans);font-weight:500;font-size:19px;letter-spacing:-.01em;margin:0}.step p{color:var(--ink-2);font-size:14px;line-height:1.55;margin:0}section.cases{margin-top:110px;border-top:1px solid var(--line);padding-top:56px}.case-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin-top:36px;border-top:1px solid var(--line-strong);border-left:1px solid var(--line-strong)}.case{border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);padding:32px 28px;background:#ffffff40;display:flex;flex-direction:column;gap:16px;min-height:240px}.case .label{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink)}.case h3{font-family:var(--sans);font-weight:500;font-size:22px;letter-spacing:-.015em;margin:0}.case h3 .it{font-family:var(--serif);font-style:italic;font-weight:400}.case p{color:var(--ink-2);font-size:14px;line-height:1.6;margin:0}.case .meta{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.08em;margin-top:auto;display:flex;gap:16px;flex-wrap:wrap}section.integ{margin-top:110px;border-top:1px solid var(--line);padding-top:56px}.integ-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:0;margin-top:32px;border-top:1px solid var(--line-strong);border-left:1px solid var(--line-strong)}.integ-cell{border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);padding:28px 16px;background:#ffffff40;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:110px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--ink-2)}.integ-cell .name{font-size:13px;color:var(--ink);letter-spacing:.04em}.integ-cell .kind{color:var(--muted);font-size:10px;letter-spacing:.14em;text-transform:uppercase}section.pricing{margin-top:110px;border-top:1px solid var(--line);padding-top:56px}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:36px;border:1px solid var(--line-strong);background:#fbf9f3;box-shadow:var(--paper-shadow)}.tier{padding:32px 28px 36px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:18px}.tier:last-child{border-right:0}.tier.featured{background:#1414140a;position:relative}.tier.featured:before{content:"POPULAR";position:absolute;top:14px;right:14px;font-family:var(--mono);font-size:9px;letter-spacing:.18em;color:var(--bg);background:var(--ink);padding:3px 8px}.tier .name{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.tier .price{display:flex;align-items:baseline;gap:8px}.tier .price .amt{font-family:var(--sans);font-weight:300;font-size:56px;letter-spacing:-.03em;line-height:1}.tier .price .unit{font-family:var(--mono);font-size:12px;color:var(--muted);letter-spacing:.06em}.tier .desc{color:var(--ink-2);font-size:14px;line-height:1.55;margin:0}.tier ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;font-size:13.5px;color:var(--ink-2)}.tier li{display:flex;align-items:flex-start;gap:10px}.tier li:before{content:"—";color:var(--accent-ink);font-family:var(--mono);flex-shrink:0;margin-top:2px}.tier .cta{margin-top:auto}section.testimonials{margin-top:110px;border-top:1px solid var(--line);padding-top:56px}.quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:36px;border-top:1px solid var(--line-strong);border-left:1px solid var(--line-strong)}.quote{border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);padding:32px 28px;background:#ffffff40;display:flex;flex-direction:column;gap:24px;min-height:240px}.quote blockquote{margin:0;font-family:var(--sans);font-size:17px;line-height:1.45;letter-spacing:-.01em;color:var(--ink)}.quote blockquote .it{font-family:var(--serif);font-style:italic}.quote .who{margin-top:auto;display:flex;flex-direction:column;gap:2px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--muted)}.quote .who .name{color:var(--ink)}section.faq{margin-top:110px;border-top:1px solid var(--line);padding-top:56px}.faq-list{margin-top:32px;border-top:1px solid var(--line-strong)}.faq-item{border-bottom:1px solid var(--line-strong)}.faq-item summary{padding:24px 0;cursor:pointer;display:flex;justify-content:space-between;align-items:baseline;gap:24px;list-style:none;font-family:var(--sans);font-size:18px;letter-spacing:-.01em;color:var(--ink)}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary .marker{font-family:var(--mono);font-size:12px;color:var(--muted);transition:transform .2s ease}.faq-item[open] summary .marker{transform:rotate(45deg)}.faq-item .answer{padding:0 0 24px;color:var(--ink-2);font-size:15px;line-height:1.6;max-width:70ch}section.final-cta{margin-top:110px;padding:64px 48px;border:1px solid var(--line-strong);background:var(--ink);color:var(--bg);display:grid;grid-template-columns:1.4fr .6fr;gap:48px;align-items:center;box-shadow:var(--paper-shadow)}.final-cta h2{font-family:var(--sans);font-size:clamp(36px,4.4vw,56px);font-weight:400;letter-spacing:-.03em;line-height:1.02;margin:0}.final-cta h2 .it{font-family:var(--serif);font-style:italic}.final-cta p{color:#ece7dcc7;font-size:15px;margin:18px 0 0;max-width:50ch}.final-cta .cta-side{display:flex;flex-direction:column;gap:14px;align-items:flex-start}.final-cta .btn{background:var(--bg);color:var(--ink);border-color:var(--bg)}.final-cta .btn.alt{background:transparent;color:var(--bg);border-color:var(--bg)}.final-cta .btn:hover{background:transparent;color:var(--bg)}.final-cta .btn.alt:hover{background:var(--bg);color:var(--ink)}.tweaks-fab{position:fixed;bottom:18px;right:18px;z-index:100;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;background:var(--ink);color:var(--bg);border:1px solid var(--ink);padding:10px 14px;cursor:pointer;box-shadow:0 8px 24px -8px #14141466}.tweaks-fab:hover{background:var(--bg);color:var(--ink)}.tweaks-panel{position:fixed;bottom:60px;right:18px;z-index:100;width:280px;background:var(--bg);border:1px solid var(--line-strong);box-shadow:0 24px 60px -20px #1414144d;font-family:var(--sans);display:flex;flex-direction:column}.tweaks-panel header{padding:14px 16px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.tweaks-panel header button{background:none;border:0;cursor:pointer;color:var(--muted);font-size:16px;line-height:1;padding:0 4px}.tweaks-section{padding:14px 16px;border-bottom:1px solid var(--line)}.tweaks-section:last-child{border-bottom:0}.tweaks-section .title{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}.tweaks-section .label{font-family:var(--mono);font-size:11px;color:var(--ink-2);margin-bottom:6px}.tw-radio{display:inline-flex;border:1px solid var(--line-strong)}.tw-radio button{flex:1;background:transparent;border:0;border-right:1px solid var(--line);padding:6px 10px;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);cursor:pointer}.tw-radio button:last-child{border-right:0}.tw-radio button.on{background:var(--ink);color:var(--bg)}.tw-slider{display:flex;align-items:center;gap:12px}.tw-slider input{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:2px;background:var(--line-strong)}.tw-slider input:focus-visible{outline:2px solid var(--accent-ink);outline-offset:4px}.tw-slider input::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;background:var(--accent);border:1px solid var(--ink);cursor:pointer;border-radius:50%}.tw-slider input::-moz-range-thumb{width:14px;height:14px;background:var(--accent);border:1px solid var(--ink);cursor:pointer;border-radius:50%}.tw-slider .val{font-family:var(--mono);font-size:11px;color:var(--ink-2);width:32px;text-align:right}[data-theme=snow]{--bg: #FAFAF8;--bg-2: #EFEFEC;--ink: #0E0E0E;--ink-2: #2B2B2B;--muted: #6E6E6E;--line: #0E0E0E1A;--line-strong: #0E0E0E33}[data-theme=ink]{--bg: #131310;--bg-2: #1E1E1A;--ink: #ECE7DC;--ink-2: #C8C2B3;--muted: #807A6E;--line: #ECE7DC1A;--line-strong: #ECE7DC33;--paper-shadow: 0 1px 0 rgba(0, 0, 0, .4), 0 24px 60px -30px rgba(0, 0, 0, .6)}[data-theme=ink] .code{background:#08080699}[data-theme=ink] section.demo{background:#18181400}[data-theme=ink] .fp-cell{background:#2a2a26}[data-theme=ink] .fp-cell.on{background:var(--ink)}[data-theme=ink] .price-grid{background:#1a1a16}[data-theme=ink] .tier.featured{background:#ece7dc0f}[data-theme=ink] .final-cta{background:var(--bg-2);color:var(--ink)}[data-theme=ink] .final-cta .btn{background:var(--accent);color:var(--ink);border-color:var(--accent)}[data-theme=ink] .final-cta .btn.alt{background:transparent;color:var(--ink);border-color:var(--ink)}[data-theme=ink] body:before{mix-blend-mode:screen;opacity:.3}[data-density=cozy] .shell{max-width:1100px}[data-density=default] .shell{max-width:1200px}[data-density=airy] .shell{max-width:1320px;padding-top:36px}[data-density=airy] header.hero{padding:120px 0 80px}@media (max-width: 1024px){.feat-grid{grid-template-columns:repeat(3,1fr)}.integ-grid{grid-template-columns:repeat(4,1fr)}.price-grid{grid-template-columns:1fr}.tier{border-right:0;border-bottom:1px solid var(--line)}.tier:last-child{border-bottom:0}}@media (max-width: 900px){.shell{padding:20px 22px 60px}header.hero{grid-template-columns:1fr;gap:36px;padding:56px 0 40px}section.demo{grid-template-columns:1fr}.demo .pane.left{border-right:0;border-bottom:1px solid var(--line)}section.use{grid-template-columns:1fr;gap:36px}.feat-grid{grid-template-columns:repeat(2,1fr)}.steps,.case-grid,.quote-grid{grid-template-columns:1fr}.integ-grid{grid-template-columns:repeat(3,1fr)}section.final-cta{grid-template-columns:1fr;padding:40px 28px;gap:28px}.nav-links{display:none}}@media (max-width: 520px){.integ-grid{grid-template-columns:repeat(2,1fr)}.feat-grid{grid-template-columns:1fr}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dashboard-shell{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column;max-width:1320px;margin:0 auto;padding:20px 32px 60px}.dash-top{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:24px}.dash-top .brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-family:var(--mono);font-size:13px;letter-spacing:.04em}.dash-top .brand .glyph{width:22px;height:22px;border:1px solid var(--ink);display:grid;place-items:center}.dash-top-right{display:inline-flex;align-items:center;gap:12px}.user-chip{font-family:var(--mono);font-size:12px;color:var(--ink-2);border:1px solid var(--line-strong);padding:6px 10px;background:#fff6;letter-spacing:.02em;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-theme=ink] .user-chip{background:#ece7dc0a}.logout-btn{font-family:var(--mono);font-size:12px;letter-spacing:.06em;background:transparent;color:var(--ink);border:1px solid var(--ink);padding:7px 14px;cursor:pointer}.logout-btn:hover:not(:disabled){background:var(--ink);color:var(--bg)}.logout-btn:disabled{opacity:.6;cursor:not-allowed}.dash-body{display:grid;grid-template-columns:220px 1fr;gap:32px;align-items:start}.dash-main{min-width:0;display:flex;flex-direction:column;gap:48px}.sidebar{position:sticky;top:24px}.sidebar ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.sidebar a{display:block;padding:10px 12px;font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--ink-2);text-decoration:none;border-left:2px solid transparent;transition:color .15s ease,border-color .15s ease,background .15s ease}.sidebar a:hover{color:var(--ink);background:#14141408}[data-theme=ink] .sidebar a:hover{background:#ece7dc0a}.sidebar a.active{color:var(--ink);border-left-color:var(--accent-ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}.breadcrumb ol{list-style:none;margin:0;padding:0;display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--muted)}.breadcrumb li{display:inline-flex;align-items:center;gap:6px}.breadcrumb a{color:var(--muted);text-decoration:none}.breadcrumb a:hover,.breadcrumb [aria-current=page]{color:var(--ink)}.breadcrumb .sep{color:var(--line-strong)}.dash-section{display:flex;flex-direction:column;gap:18px}.dash-section-head{display:flex;flex-direction:column;gap:4px}.dash-section-head.split{flex-direction:row;justify-content:space-between;align-items:end;flex-wrap:wrap;gap:16px}.dash-section-head h1,.dash-section-head h2{font-family:var(--sans);font-weight:400;font-size:28px;letter-spacing:-.02em;margin:0}.dash-section-head h2{font-size:22px}.dash-section-head .muted{color:var(--muted);font-size:13px;margin:0}.dash-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--line-strong);border-left:1px solid var(--line-strong)}.dash-card{border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);padding:18px 20px 20px;background:#ffffff40;display:flex;flex-direction:column;gap:10px;min-height:150px}[data-theme=ink] .dash-card{background:#ece7dc08}.dash-card .card-label{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.dash-card .card-value{font-family:var(--sans);font-size:32px;font-weight:300;letter-spacing:-.02em;color:var(--ink);line-height:1}.dash-card .card-foot{font-family:var(--mono);font-size:11px}.dash-card .card-foot.muted{color:var(--muted)}.dash-card .card-row{display:flex;justify-content:space-between;font-family:var(--mono);font-size:12px}.dash-card .card-row .muted{color:var(--muted)}.data-scroll{width:100%;overflow-x:auto;border:1px solid var(--line-strong);background:#ffffff40}[data-theme=ink] .data-scroll{background:#ece7dc08}table.data{width:100%;border-collapse:collapse;font-family:var(--sans);font-size:13.5px}table.data thead th{position:sticky;top:0;background:var(--bg-2);text-align:left;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:10px 14px;border-bottom:1px solid var(--line-strong);white-space:nowrap}table.data thead th.num{text-align:right}table.data tbody td{padding:10px 14px;border-bottom:1px solid var(--line);color:var(--ink-2);vertical-align:middle}table.data tbody td.num{font-family:var(--mono);text-align:right;font-variant-numeric:tabular-nums}table.data tbody tr:last-child td{border-bottom:0}table.data tbody tr:hover td{background:#1414140a;color:var(--ink)}[data-theme=ink] table.data tbody tr:hover td{background:#ece7dc0d}.link-btn{background:transparent;border:0;padding:0;font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--accent-ink);cursor:pointer;text-decoration:underline;text-underline-offset:3px}.link-btn:hover:not(:disabled){color:var(--ink)}.link-btn:disabled{color:var(--muted);cursor:not-allowed;text-decoration:none}.link-btn.danger{color:#ac3031}.link-btn.danger:hover:not(:disabled){color:#940015;color:oklch(.42 .18 25)}.empty-state{text-align:center;padding:56px 28px;border:1px dashed var(--line-strong);background:#fff3;display:flex;flex-direction:column;align-items:center;gap:12px}[data-theme=ink] .empty-state{background:#ece7dc05}.empty-state h3{font-family:var(--sans);font-weight:400;font-size:20px;letter-spacing:-.01em;margin:0}.empty-state p{color:var(--muted);font-size:14px;max-width:50ch;margin:0}.empty-icon{color:var(--muted)}.empty-cta{margin-top:8px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#14141473;display:grid;place-items:center;padding:20px}.modal-card{background:var(--bg);border:1px solid var(--line-strong);box-shadow:var(--paper-shadow);width:100%;max-width:520px;max-height:calc(100vh - 80px);overflow-y:auto;outline:none}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line)}.modal-head h2{font-family:var(--sans);font-weight:500;font-size:17px;letter-spacing:-.01em;margin:0}.modal-head .close{background:none;border:0;cursor:pointer;font-size:22px;line-height:1;color:var(--muted);padding:0 4px}.modal-head .close:hover{color:var(--ink)}.modal-body{padding:20px;display:flex;flex-direction:column;gap:16px}.modal-body label{display:flex;flex-direction:column;gap:6px}.modal-body label>span{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.modal-body input[type=text],.modal-body input[type=email],.modal-body input[type=password]{background:var(--bg);border:1px solid var(--line-strong);padding:10px 12px;font-family:var(--mono);font-size:13px;color:var(--ink)}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.modal-body .small{font-size:12px}.modal-body .error{color:#ac3031;font-family:var(--mono);font-size:12px;margin:0}.token-box{display:flex;gap:8px;align-items:stretch;border:1px solid var(--line-strong);background:var(--bg-2);padding:10px 12px}.token-box code{flex:1;font-family:var(--mono);font-size:12px;color:var(--ink);word-break:break-all}.toast-region{position:fixed;top:18px;right:18px;z-index:300;display:flex;flex-direction:column;gap:8px;max-width:min(360px,calc(100vw - 36px));pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:flex-start;gap:10px;padding:12px 14px;background:var(--bg);border:1px solid var(--line-strong);border-left-width:3px;box-shadow:var(--paper-shadow);font-family:var(--sans);font-size:13px;color:var(--ink)}.toast.success{border-left-color:var(--accent-ink)}.toast.error{border-left-color:#ac3031}.toast.info{border-left-color:var(--ink-2)}.toast .msg{flex:1}.toast .close{background:none;border:0;cursor:pointer;font-size:16px;line-height:1;color:var(--muted);padding:0 4px}.toast .close:hover{color:var(--ink)}.chart-svg path{fill:none;stroke-width:1.5;stroke:var(--accent-ink);shape-rendering:geometricPrecision}.chart-svg.sparkline{display:block}.chart-svg.sparkline path{stroke-width:1.25}.linechart-wrap{display:flex;flex-direction:column;gap:12px}.linechart .axis line{stroke:var(--line);stroke-width:1}.linechart .axis text{font-family:var(--mono);font-size:10px;fill:var(--muted)}.linechart .dot{cursor:crosshair;transition:r .1s ease}.linechart .dot:hover{r:5}.linechart .tooltip rect{fill:var(--ink);opacity:.94}.linechart .tooltip text{fill:var(--bg);font-family:var(--mono);font-size:11px}.linechart .tooltip text.val{font-weight:600}.donut-wrap{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.donut .donut-total{font-family:var(--sans);font-size:18px;font-weight:400;fill:var(--ink)}.chart-legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-family:var(--mono);font-size:11px;color:var(--ink-2)}.chart-legend li{display:inline-flex;align-items:center;gap:8px}.chart-legend .swatch{width:10px;height:10px;border-radius:2px;display:inline-block}.donut-legend .lbl{min-width:64px;text-transform:capitalize}.donut-legend .val{font-variant-numeric:tabular-nums;color:var(--muted)}.usage-toolbar{display:flex;gap:6px;flex-wrap:wrap}.usage-toolbar .toggle{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;background:transparent;color:var(--muted);border:1px solid var(--line-strong);padding:5px 10px;cursor:pointer}.usage-toolbar .toggle.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}.chart-frame{border:1px solid var(--line-strong);background:#ffffff40;padding:14px 18px}[data-theme=ink] .chart-frame{background:#ece7dc08}.usage-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:end;padding:14px;border:1px solid var(--line);background:#fff3}[data-theme=ink] .usage-filters{background:#ece7dc05}.usage-filters label{display:flex;flex-direction:column;gap:4px}.usage-filters label>span{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.usage-filters select{background:var(--bg);border:1px solid var(--line-strong);padding:6px 10px;font-family:var(--mono);font-size:12px;color:var(--ink);min-width:120px}.pager{display:flex;justify-content:space-between;margin-top:10px}@media (max-width: 1024px){.dash-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 820px){.dashboard-shell{padding:16px 20px 56px}.dash-body{grid-template-columns:1fr;gap:16px}.sidebar{position:static}.sidebar ul{flex-direction:row;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:8px}.sidebar a{border-left:0;border-bottom:2px solid transparent;padding:8px 10px}.sidebar a.active{border-left:0;border-bottom-color:var(--accent-ink)}.dash-top{grid-template-columns:1fr;gap:12px}.dash-top-right{justify-content:flex-end}.dash-grid{grid-template-columns:1fr}}
