:root{--bg:#eff1f5;--surface:#e6e9ef;--ink:#4c4f69;--muted:#6c6f85;--border:#ccd0da;--accent:#1e66f5;--btn-ink:#fff;--mark:#d20f39;--mark-ink:#fff;--code-bg:#dce0e8;--radius:12px;--radius-s:8px;--maxw:1020px;--font-body:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display:"Sora", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, "Cascadia Mono", Consolas, monospace;--ease:cubic-bezier(.16, 1, .3, 1)}@media (prefers-color-scheme:dark){:root{--bg:#1e1e2e;--surface:#181825;--ink:#cdd6f4;--muted:#a6adc8;--border:#313244;--accent:#89b4fa;--btn-ink:#11111b;--mark:#f38ba8;--mark-ink:#11111b;--code-bg:#11111b}}@font-face{font-family:Sora;src:url(/fonts/sora-500.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Sora;src:url(/fonts/sora-600.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Sora;src:url(/fonts/sora-700.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth}:root{scrollbar-color:var(--border) transparent}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);margin:0;line-height:1.6;overflow-x:clip}img,svg{max-width:100%}h1,h2,h3{letter-spacing:-.01em;text-wrap:balance;line-height:1.15}h1{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(2.1rem,5vw,3.4rem);font-weight:700}h2{font-family:var(--font-display);margin-top:0;font-size:clamp(1.4rem,3vw,2rem);font-weight:700}code,pre{font-family:var(--font-mono);font-size:.92em}kbd{font-family:var(--font-mono);white-space:nowrap;border:1px solid var(--border);background:var(--surface);border-bottom-width:2px;border-radius:6px;padding:1px 7px;font-size:.82em;transition:border-color .15s,transform .15s}kbd:hover{border-color:var(--accent)}a{color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}::selection{background:var(--accent);color:var(--btn-ink)}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}@media (width>=900px){.wrap{padding:0 40px}}.skip{z-index:50;background:var(--ink);color:var(--bg);border-radius:var(--radius-s);padding:10px 16px;text-decoration:none;transition:top .15s;position:absolute;top:-48px;left:12px}.skip:focus{top:12px}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}.site-header{z-index:40;background:color-mix(in srgb, var(--bg) 90%, transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);position:sticky;top:0}.site-header .wrap{align-items:center;gap:12px;min-height:64px;padding-top:8px;padding-bottom:8px;display:flex}.brand{color:var(--ink);align-items:center;gap:10px;margin-right:auto;font-weight:700;text-decoration:none;display:inline-flex}.brand span{font-family:var(--font-display)}.brand img{border-radius:8px;width:32px;height:32px}.site-nav{align-items:center;gap:4px;display:flex}.site-nav a:not(.btn){color:var(--ink);border-radius:var(--radius-s);align-items:center;min-height:44px;padding:10px 12px;text-decoration:none;display:inline-flex}.site-nav a:not(.btn):hover{background:var(--surface)}.btn{border-radius:var(--radius-s);cursor:pointer;min-height:44px;transition:transform .18s var(--ease), box-shadow .18s var(--ease), background .18s;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:var(--accent);color:var(--btn-ink)}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 16px #0003}.btn-primary:active{box-shadow:none;transform:none}.btn-ghost{border-color:var(--border);color:var(--ink)}.btn-ghost:hover{background:var(--surface)}.hero .wrap{gap:32px;padding-top:48px;padding-bottom:48px;display:grid}@media (width>=900px){.hero .wrap{grid-template-columns:1fr 1fr;align-items:center;padding-top:72px;padding-bottom:72px}}.rise{animation:rise .7s var(--ease) both;animation-delay:calc(var(--i,0) * 90ms)}@keyframes rise{0%{opacity:0;transform:translateY(16px)}}.hero p.sub{color:var(--muted);font-size:1.1rem}.cta-row{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.hero-note{color:var(--muted);font-size:.9rem}.mock{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden;box-shadow:0 12px 32px #0000001f}.mock-bar{border-bottom:1px solid var(--border);background:var(--bg);align-items:center;gap:8px;padding:10px 14px;display:flex}.mock-bar i{background:var(--border);border-radius:50%;width:10px;height:10px}.mock-url{font-family:var(--font-mono);color:var(--muted);background:var(--surface);white-space:nowrap;text-overflow:ellipsis;border-radius:6px;padding:2px 10px;font-size:.8rem;overflow:hidden}.mock-page{gap:12px;padding:20px;display:grid;position:relative}.mock-lines i{background:var(--border);border-radius:4px;height:8px;margin-bottom:8px;display:block}.mock-lines i:last-child{width:62%;margin-bottom:0}.mock-pick{border:2px dashed var(--border);border-radius:var(--radius-s);background:var(--bg);padding:12px 16px;font-weight:600;transition:border-color .2s;position:relative}.mock-loop .mock-pick{animation:pick-ring 6s var(--ease) infinite}@keyframes pick-ring{0%,22%{border-color:var(--border);box-shadow:0 0 #0000}26%,76%{border-color:var(--accent);box-shadow:0 0 0 5px color-mix(in srgb, var(--accent) 28%, transparent)}86%,to{border-color:var(--border);box-shadow:0 0 #0000}}.mock-num{background:var(--mark);min-width:28px;height:28px;color:var(--mark-ink);font-size:.85rem;font-weight:700;font-family:var(--font-display);border-radius:50%;justify-content:center;align-items:center;padding:0 6px;display:inline-flex;position:absolute;top:-14px;right:-10px}.mock-loop .mock-num{animation:mark-pop 6s var(--ease) infinite}@keyframes mark-pop{0%,24%{opacity:0;transform:scale(0)}29%{opacity:1;transform:scale(1.22)}33%,78%{opacity:1;transform:scale(1)}86%,to{opacity:0;transform:scale(0)}}.mock-composer{border:1px solid var(--border);border-radius:var(--radius-s);background:var(--bg);gap:10px;padding:12px 14px;font-size:.9rem;display:grid}.mock-loop .mock-composer{animation:composer-in 6s var(--ease) infinite}@keyframes composer-in{0%,27%{opacity:0;transform:translateY(10px)}36%,78%{opacity:1;transform:none}86%,to{opacity:0;transform:translateY(10px)}}.mock-field{border:1px solid var(--border);color:var(--muted);border-radius:6px;padding:6px 10px}.mock-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.mock-pill{border:1px solid var(--border);border-radius:999px;padding:2px 12px;font-size:.8rem}.mock-pill.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}.mock-btn{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:4px 14px;font-size:.85rem;font-weight:600}.mock-btn.solid{background:var(--accent);color:var(--btn-ink);border-color:#0000}.mock-loop .mock-btn.solid{animation:btn-press 6s var(--ease) infinite}@keyframes btn-press{0%,53%{filter:none;transform:none}56%{filter:brightness(.9);transform:scale(.92)}60%,to{filter:none;transform:none}}.mock-cursor{pointer-events:none;z-index:10;filter:drop-shadow(0 2px 4px #00000040);width:18px;height:24px;position:absolute;top:0;left:0}.mock-loop .mock-cursor{animation:cursor-loop 6s var(--ease) infinite}@keyframes cursor-loop{0%{opacity:0;transform:translate(240px,180px)}8%{opacity:1;transform:translate(200px,150px)}20%{opacity:1;transform:translate(88px,78px)scale(1)}24%{transform:translate(88px,78px)scale(.82)}28%{transform:translate(88px,78px)scale(1)}36%{transform:translate(110px,120px)}50%{transform:translate(52px,222px)scale(1)}55%{transform:translate(52px,222px)scale(.82)}59%{transform:translate(52px,222px)scale(1)}70%{opacity:1;transform:translate(80px,236px)}82%{opacity:0;transform:translate(130px,250px)}to{opacity:0;transform:translate(240px,180px)}}.mock.is-off .mock-pick,.mock.is-off .mock-num,.mock.is-off .mock-composer,.mock.is-off .mock-btn.solid,.mock.is-off .mock-cursor{animation-play-state:paused}section.block{border-top:1px solid var(--border);padding:48px 0;scroll-margin-top:76px}section.block .lede{color:var(--muted);max-width:68ch}.cards{gap:16px;margin-top:24px;display:grid}@media (width>=700px){.cards{grid-template-columns:repeat(2,1fr)}}@media (width>=1000px){.cards.cols-4{grid-template-columns:repeat(4,1fr)}}.card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);transition:transform .2s var(--ease), border-color .2s ease;padding:20px}.card:hover{border-color:var(--accent);transform:translateY(-2px)}.card h3{font-size:1.05rem;font-family:var(--font-display);margin:0 0 8px}.card p,.card ol,.card ul{color:var(--muted);margin:0;font-size:.95rem}.card ol,.card ul{padding-left:20px}.step-n{background:var(--ink);width:28px;height:28px;color:var(--bg);border-radius:50%;justify-content:center;align-items:center;margin-bottom:10px;font-size:.85rem;font-weight:700;display:inline-flex}@media (width>=1000px){#how-it-works .cards.cols-4{position:relative}#how-it-works .cards.cols-4:before{content:"";border-top:2px dashed var(--border);position:absolute;top:37px;left:6%;right:6%}#how-it-works .card{position:relative}#how-it-works .step-n{z-index:1;width:36px;height:36px;font-size:1rem;font-family:var(--font-display);background:var(--bg);color:var(--ink);border:2px dashed var(--accent);position:relative}}.table-scroll{border:1px solid var(--border);border-radius:var(--radius);margin-top:20px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.95rem}caption{text-align:left;background:var(--surface);padding:12px 16px;font-weight:700}th,td{text-align:left;border-top:1px solid var(--border);vertical-align:top;padding:10px 16px}th[scope=row]{font-weight:600}tbody tr{transition:background .15s}tbody tr:hover{background:var(--surface)}td.yes{font-weight:700}td.no{color:var(--muted)}.example{border:1px solid var(--border);border-radius:var(--radius);margin-top:20px;overflow:hidden}.example-bar{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px 10px 16px;display:flex}.example-bar span{font-size:.95rem;font-weight:700;font-family:var(--font-display)}.example pre{background:var(--code-bg);margin:0;padding:20px;overflow-x:auto}.copy-hint{color:var(--muted);border-top:1px solid var(--border);padding:10px 16px;font-size:.9rem}.copy-hint[hidden]{display:none}.privacy-strip{background:var(--ink);color:var(--bg);border-radius:var(--radius);margin-top:20px;padding:24px}.privacy-strip ul{flex-wrap:wrap;gap:10px 28px;margin:0;padding:0;font-weight:600;list-style:none;display:flex}.privacy-strip li{align-items:center;gap:10px;display:flex}.privacy-strip svg{flex:none}.steps{counter-reset:step;gap:12px;margin:20px 0 0;padding:0;list-style:none;display:grid}.steps li{counter-increment:step;border:1px solid var(--border);border-radius:var(--radius);transition:transform .2s var(--ease), border-color .2s ease;padding:16px 16px 16px 60px;position:relative}.steps li:hover{border-color:var(--accent);transform:translateY(-1px)}.steps li:before{content:counter(step);background:var(--ink);width:30px;height:30px;color:var(--bg);font-size:.9rem;font-weight:700;font-family:var(--font-display);border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:16px;left:16px}details{border:1px solid var(--border);border-radius:var(--radius-s);margin-top:12px;padding:12px 16px;transition:border-color .15s}details:hover{border-color:var(--accent)}summary{cursor:pointer;border-radius:4px;align-items:center;min-height:44px;font-weight:600;display:flex}summary:hover{text-underline-offset:3px;text-decoration:underline}@supports (interpolate-size:allow-keywords){:root{interpolate-size:allow-keywords}details::details-content{opacity:0;transition:opacity .2s var(--ease), content-visibility .2s;transition-behavior:allow-discrete}details[open]::details-content{opacity:1}}.faq details{padding:0;overflow:hidden}.faq summary{padding:12px 16px}.faq .a{color:var(--muted);padding:0 16px 16px}.changelog{gap:16px;margin-top:20px;display:grid}.release{border:1px solid var(--border);border-radius:var(--radius);padding:20px}.release h3{font-family:var(--font-display);margin:0 0 8px}.release ul{color:var(--muted);margin:0;padding-left:20px}.site-footer{border-top:1px solid var(--border);margin-top:24px}.site-footer .wrap{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 24px;padding-top:24px;padding-bottom:32px;font-size:.9rem;display:flex}.site-footer nav{flex-wrap:wrap;gap:4px 16px;margin-left:auto;display:flex}.site-footer a{align-items:center;min-height:44px;display:inline-flex}html.js .reveal{opacity:0;transition:opacity .5s var(--ease), transform .5s var(--ease);transition-delay:calc(var(--i,0) * 80ms);will-change:opacity, transform;transform:translateY(14px)}html.js .reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.rise{animation:none}.mock-cursor{display:none}.mock-loop .mock-pick,.mock-loop .mock-num,.mock-loop .mock-composer,.mock-loop .mock-btn.solid{animation:none}.btn{transition:background .15s}.btn-primary:hover{box-shadow:none;transform:none}tbody tr{transition:none}html.js .reveal{opacity:1;transition:none;transform:none}.card:hover,.steps li:hover{transform:none}}
