@font-face{font-family:"Bricolage Grotesque";src:url("/fonts/bricolage-grotesque.woff2") format("woff2");font-weight:200 800;font-display:swap}@font-face{font-family:"Inter";src:url("/fonts/inter.woff2") format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:"Bricolage Fallback";src:local("Arial Bold"),local("Arial-BoldMT"),local("Roboto Bold"),local("Arial");font-weight:700;size-adjust:102%;ascent-override:92%;descent-override:24%;line-gap-override:0%}@font-face{font-family:"Inter Fallback";src:local("Arial"),local("Helvetica Neue"),local("Roboto");size-adjust:107%;ascent-override:90%;descent-override:22.5%;line-gap-override:0%}:root{color-scheme:light;--paper:#f6f1e7;--paper-2:#efe8da;--surface:#fbf8f2;--card:#ffffff;--ink:#121316;--ink-2:#24262b;--text:#121316;--muted:#55585f;--line:rgb(18 19 22 / 0.13);--line-strong:rgb(18 19 22 / 0.4);--stamp:#c8231c;--stamp-bright:#ee3a2c;--on-stamp:#ffffff;--green:#1c7346;--link:#a81d17;--shadow-1:0 1px 2px rgb(18 19 22 / 0.06),0 2px 8px rgb(18 19 22 / 0.05);--shadow-2:0 2px 6px rgb(18 19 22 / 0.06),0 18px 48px -12px rgb(18 19 22 / 0.2);--header-bg:rgb(246 241 231 / 0.82);--grain:rgb(18 19 22 / 0.035);--font-head:"Bricolage Grotesque","Bricolage Fallback",ui-sans-serif,system-ui,sans-serif;--font-body:"Inter","Inter Fallback",ui-sans-serif,system-ui,sans-serif;--font-mono:ui-monospace,"Cascadia Code","SF Mono",Consolas,monospace;--fs-hero:clamp(2.6rem,1.5rem + 4.6vw,5rem);--fs-h1:clamp(2.3rem,1.6rem + 3vw,3.9rem);--fs-h2:clamp(1.85rem,1.4rem + 1.9vw,2.9rem);--fs-h3:clamp(1.2rem,1.1rem + 0.45vw,1.45rem);--fs-lead:clamp(1.075rem,1rem + 0.35vw,1.3rem);--gutter:clamp(1rem,0.4rem + 2.4vw,2.5rem);--container:76rem;--section:clamp(3.5rem,2rem + 6vw,7.5rem);--r-sm:10px;--r:16px;--r-lg:26px;--header-h:4.25rem;--ease-out:cubic-bezier(0.22,1,0.36,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--t-fast:160ms;--t:320ms}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--dark:1}}:root[data-theme="dark"]{--dark:1}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){color-scheme:dark;--paper:#0e0f12;--paper-2:#131418;--surface:#16171b;--card:#1c1e23;--text:#f3eee4;--muted:#b7b2a8;--line:rgb(255 255 255 / 0.11);--line-strong:rgb(255 255 255 / 0.36);--stamp:#ff5a4c;--on-stamp:#121316;--green:#4fd08c;--link:#ff8a7f;--shadow-1:0 1px 2px rgb(0 0 0 / 0.4);--shadow-2:0 24px 60px -20px rgb(0 0 0 / 0.7);--header-bg:rgb(14 15 18 / 0.8);--grain:rgb(255 255 255 / 0.025)}}:root[data-theme="dark"]{color-scheme:dark;--paper:#0e0f12;--paper-2:#131418;--surface:#16171b;--card:#1c1e23;--text:#f3eee4;--muted:#b7b2a8;--line:rgb(255 255 255 / 0.11);--line-strong:rgb(255 255 255 / 0.36);--stamp:#ff5a4c;--on-stamp:#121316;--green:#4fd08c;--link:#ff8a7f;--shadow-1:0 1px 2px rgb(0 0 0 / 0.4);--shadow-2:0 24px 60px -20px rgb(0 0 0 / 0.7);--header-bg:rgb(14 15 18 / 0.8);--grain:rgb(255 255 255 / 0.025)}*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 1rem)}body{margin:0;background:var(--paper);background-image:radial-gradient(var(--grain) 1px,transparent 1px);background-size:4px 4px;color:var(--text);font:400 1rem/1.65 var(--font-body);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;overflow-x:clip}img,svg,picture{display:block;max-width:100%;height:auto}h1,h2,h3,h4{font-family:var(--font-head);font-weight:700;line-height:1.08;letter-spacing:-0.025em;margin:0 0 0.5em;text-wrap:balance}h1{font-size:var(--fs-h1)}.h2,.prose h2{font-size:var(--fs-h2)}h3,.h3{font-size:var(--fs-h3);letter-spacing:-0.015em}p{margin:0 0 1em;text-wrap:pretty}a{color:var(--link);text-underline-offset:0.18em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}code,kbd,pre{font-family:var(--font-mono);font-size:0.92em}code{background:var(--paper-2);border:1px solid var(--line);border-radius:6px;padding:0.08em 0.38em;overflow-wrap:anywhere}kbd{display:inline-block;border:1px solid var(--line-strong);border-bottom-width:3px;border-radius:7px;padding:0.05em 0.45em;background:var(--card);color:var(--text);font-weight:600;font-size:0.85em}::selection{background:var(--stamp);color:var(--on-stamp)}:focus-visible{outline:3px solid var(--stamp);outline-offset:3px;border-radius:6px}.sr-only{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;left:1rem;top:-4rem;z-index:100;background:var(--ink);color:var(--paper);padding:0.6rem 1rem;border-radius:var(--r-sm);transition:top var(--t-fast)}.skip-link:focus{top:1rem}main:focus{outline:none}.container{width:min(100% - 2 * var(--gutter),var(--container));margin-inline:auto}.narrow{max-width:50rem}.prose-wide{max-width:58rem}.center{text-align:center}.muted{color:var(--muted)}.small{font-size:0.875rem}.icon{flex:none}.site-header{position:sticky;top:0;z-index:50;background:var(--header-bg);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid transparent;transition:border-color var(--t),box-shadow var(--t);view-transition-name:site-header}.site-header[data-scrolled]{border-bottom-color:var(--line);box-shadow:0 6px 24px -18px rgb(0 0 0 / 0.5)}.header-row{display:flex;align-items:center;gap:1.25rem;height:var(--header-h)}.brand{display:flex;align-items:center;gap:0.6rem;text-decoration:none;color:var(--text);flex:none}.brand-mark{width:36px;height:36px;border-radius:10px;transition:transform var(--t) var(--ease-spring)}.brand:hover .brand-mark{transform:rotate(-8deg) scale(1.06)}.brand-word{font:800 1.3rem/1 var(--font-head);letter-spacing:-0.03em}.brand-word span{color:var(--stamp)}.primary-nav{display:flex;align-items:center;gap:0.25rem;margin-left:auto}.primary-nav a{color:var(--text);text-decoration:none;font-weight:550;font-size:0.95rem;padding:0.5rem 0.8rem;border-radius:999px;transition:background var(--t-fast)}.primary-nav a:hover{background:var(--line)}.primary-nav a[aria-current="page"]{background:var(--ink);color:var(--paper)}:root[data-theme="dark"] .primary-nav a[aria-current="page"]{background:var(--text);color:var(--paper)}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .primary-nav a[aria-current="page"]{background:var(--text);color:var(--paper)}}.nav-gh{display:inline-flex;align-items:center;gap:0.4rem}.header-actions{display:flex;align-items:center;gap:0.5rem}.icon-btn{display:inline-grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--text);cursor:pointer;transition:background var(--t-fast),transform var(--t-fast)}.icon-btn:hover{background:var(--line)}.icon-btn:active{transform:scale(0.94)}.theme-toggle .i-moon{display:none}:root[data-theme="dark"] .theme-toggle .i-sun{display:none}:root[data-theme="dark"] .theme-toggle .i-moon{display:block}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .theme-toggle .i-sun{display:none}:root:not([data-theme="light"]) .theme-toggle .i-moon{display:block}}.menu-toggle{display:none}.menu-toggle .i-close{display:none}.menu-toggle[aria-expanded="true"] .i-close{display:block}.menu-toggle[aria-expanded="true"] .i-menu{display:none}@media (max-width:860px){.menu-toggle{display:inline-grid}.header-actions .btn-sm span{display:none}.header-actions .btn-sm{padding-inline:0.75rem}.primary-nav{position:absolute;inset:var(--header-h) 0 auto 0;margin:0;flex-direction:column;align-items:stretch;gap:0.15rem;padding:0.75rem var(--gutter) 1.25rem;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:var(--shadow-2);transform-origin:top;transform:translateY(-0.5rem);opacity:0;visibility:hidden;transition:opacity var(--t) var(--ease-out),transform var(--t) var(--ease-out),visibility 0s linear var(--t)}.primary-nav a{padding:0.85rem 1rem;font-size:1.05rem}.primary-nav[data-open]{opacity:1;transform:none;visibility:visible;transition-delay:0s}html:not(.js) .primary-nav{position:static;flex-direction:row;flex-wrap:wrap;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:0;background:none}html:not(.js) .header-row{height:auto;flex-wrap:wrap;padding-block:0.6rem}}.btn{--bg:var(--card);--fg:var(--text);--bd:var(--line-strong);display:inline-flex;align-items:center;justify-content:center;gap:0.55rem;min-height:2.9rem;padding:0.65rem 1.25rem;border-radius:999px;background:var(--bg);color:var(--fg);border:1px solid var(--bd);font:650 1rem/1.1 var(--font-body);text-decoration:none;cursor:pointer;transition:transform var(--t-fast) var(--ease-out),box-shadow var(--t) var(--ease-out),background var(--t-fast);-webkit-tap-highlight-color:transparent}.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-2);text-decoration:none}.btn:active{transform:translateY(0) scale(0.98);box-shadow:none}.btn-primary{--bg:var(--stamp);--fg:var(--on-stamp);--bd:transparent;box-shadow:0 6px 18px -8px var(--stamp)}.btn-dark{--bg:var(--ink);--fg:#f6f1e7;--bd:transparent}.btn-light{--bg:#f6f1e7;--fg:#121316;--bd:transparent}.btn-ghost{--bg:transparent}.btn-ghost-light{--bg:transparent;--fg:#f6f1e7;--bd:rgb(255 255 255 / 0.35)}.btn-sm{min-height:2.5rem;padding:0.45rem 1rem;font-size:0.92rem}.btn-lg{min-height:3.4rem;padding:0.85rem 1.6rem;font-size:1.075rem}.btn-primary .icon{transition:transform var(--t) var(--ease-spring)}.btn-primary:hover .icon{transform:translateY(2px)}.link-arrow{display:inline-flex;align-items:center;gap:0.4rem;font-weight:650;color:var(--text);text-decoration:none}.link-arrow .icon{transition:transform var(--t) var(--ease-out)}.link-arrow:hover .icon,.guide-card:hover .link-arrow .icon{transform:translateX(4px)}.dl-wrap{display:inline-flex;flex-direction:column;gap:0.45rem}.dl-meta{font-size:0.85rem;color:var(--muted);padding-left:1.1rem}.hero-actions{display:flex;flex-wrap:wrap;align-items:flex-start;gap:0.75rem 1rem;margin-top:1.75rem}.center-actions{justify-content:center}.kicker{display:flex;flex-wrap:wrap;align-items:center;gap:0.6rem;font:650 0.8rem/1.2 var(--font-body);letter-spacing:0.12em;text-transform:uppercase;color:var(--stamp);margin-bottom:1rem}.kicker-sep{color:var(--muted);letter-spacing:0.08em}.pill{display:inline-flex;align-items:center;gap:0.35rem;padding:0.35rem 0.7rem;border-radius:999px;background:color-mix(in srgb,var(--stamp) 12%,transparent);color:var(--stamp);letter-spacing:0.06em}.badge{display:inline-block;padding:0.25rem 0.6rem;border-radius:999px;background:var(--green);color:#fff;font-size:0.78rem;font-weight:650}.lead{font-size:var(--fs-lead);color:var(--muted);max-width:38rem}.lead-sm{font-size:1.1rem;color:var(--muted)}.ticks{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:0.6rem}.ticks li{display:grid;grid-template-columns:auto 1fr;gap:0.6rem;align-items:start}.ticks .icon{color:var(--green);margin-top:0.3rem}.plain{padding-left:1.1rem}.plain li{margin:0.35rem 0}.card{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(1.25rem,1rem + 1vw,2rem);box-shadow:var(--shadow-1);transition:transform var(--t) var(--ease-out),box-shadow var(--t) var(--ease-out),border-color var(--t)}.card-icon{display:inline-grid;place-items:center;width:3rem;height:3rem;border-radius:14px;background:color-mix(in srgb,var(--stamp) 11%,transparent);color:var(--stamp);margin-bottom:1rem}.card-kicker{font-size:0.82rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:0.06em}.section{padding-block:var(--section)}.section-tight{padding-block:clamp(1.5rem,1rem + 2vw,3rem)}.section-head{max-width:46rem;margin-bottom:clamp(2rem,1.5rem + 2vw,3.5rem)}.section-head.row{max-width:none;display:flex;justify-content:space-between;align-items:end;gap:1rem;flex-wrap:wrap}.split{display:grid;gap:clamp(2rem,1rem + 4vw,5rem);align-items:center;grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr))}.split-top{align-items:start}.ink{background:var(--ink);color:#f3eee4;--text:#f3eee4;--muted:#b7b2a8;--line:rgb(255 255 255 / 0.12);--card:#1c1e23;--link:#ff8a7f}.ink .kicker{color:#ff5a4c}.ink::before,.ink::after{content:"";display:block;height:14px;background:var(--ink)}.ink{position:relative}.ink::before{position:absolute;top:-13px;left:0;right:0;-webkit-mask:conic-gradient(from 135deg at top,#000 90deg,#0000 0) 0 0 / 28px 14px repeat-x;mask:conic-gradient(from 135deg at top,#000 90deg,#0000 0) 0 0 / 28px 14px repeat-x}.ink::after{position:absolute;bottom:-13px;left:0;right:0;-webkit-mask:conic-gradient(from -45deg at bottom,#000 90deg,#0000 0) 0 0 / 28px 14px repeat-x;mask:conic-gradient(from -45deg at bottom,#000 90deg,#0000 0) 0 0 / 28px 14px repeat-x}.hero{padding-block:clamp(2.5rem,1rem + 5vw,5.5rem) clamp(3rem,2rem + 4vw,6rem);position:relative;overflow:clip}.hero::before{content:"";position:absolute;inset:-20% -10% auto auto;width:60vmax;height:60vmax;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--stamp-bright) 16%,transparent),transparent);pointer-events:none;z-index:-1}.hero-grid{display:grid;gap:clamp(2.5rem,1rem + 4vw,4.5rem);align-items:center;grid-template-columns:1.15fr 0.85fr}.hero h1{font-size:var(--fs-hero);letter-spacing:-0.035em;line-height:1.02}.ink-mark{position:relative;white-space:nowrap}.ink-mark::after{content:"";position:absolute;left:-0.04em;right:-0.04em;bottom:-0.1em;height:0.13em;z-index:-1;background:var(--stamp-bright);opacity:0.85;border-radius:0.2em;transform-origin:left;animation:underline 900ms var(--ease-out) 500ms both}@keyframes underline{from{transform:scaleX(0)}}.hero-trust{list-style:none;padding:0;margin:1.75rem 0 0;display:flex;flex-wrap:wrap;gap:0.5rem 1.25rem;color:var(--muted);font-size:0.95rem}.hero-trust li{display:inline-flex;align-items:center;gap:0.4rem}.hero-trust .icon{color:var(--green)}@media (max-width:900px){.hero-grid{grid-template-columns:1fr}}.printer{margin:0;justify-self:center;width:min(88%,23rem);position:relative}.printer-body{position:relative}.printer-slot{position:relative;z-index:2;height:38px;border-radius:19px;margin-inline:-6%;background:linear-gradient(180deg,#ee3a2c,#b71f18);box-shadow:0 10px 24px -10px #b71f18,inset 0 -6px 0 rgb(0 0 0 / 0.18)}.printer-slot::after{content:"";position:absolute;left:7%;right:7%;bottom:7px;height:6px;border-radius:3px;background:rgb(0 0 0 / 0.45)}.printer-light{position:absolute;right:1.1rem;top:0.7rem;width:8px;height:8px;border-radius:50%;background:#7dffb3;box-shadow:0 0 10px #7dffb3;animation:blink 1.2s steps(2) 6 both}@keyframes blink{50%{opacity:0.2}}.paper-window{overflow:hidden;margin-top:-10px;padding:0 0.5rem 1.5rem}.paper{--paper-c:#fffdf8;position:relative;background:var(--paper-c);color:#121316;padding:1.75rem 1.4rem 2.6rem;font:500 0.86rem/1.45 var(--font-mono);box-shadow:0 30px 50px -30px rgb(18 19 22 / 0.55);animation:print 2.4s steps(14,end) 300ms both}.paper::before{content:"";position:absolute;inset:0 0 auto;height:18px;background:linear-gradient(rgb(0 0 0 / 0.16),transparent)}@keyframes print{from{transform:translateY(-100%)}}.r-shop{font:800 1.15rem/1.2 var(--font-head);text-align:center;margin:0 0 0.2rem;letter-spacing:-0.01em}.r-meta{text-align:center;font-size:0.75rem;color:#55585f;margin:0}.r-row{display:flex;justify-content:space-between;gap:1rem;margin:0.15rem 0}.r-row small{color:#55585f}.r-meta.r-row{justify-content:space-between;margin-top:0.6rem}.r-rule{border-top:2px dashed rgb(18 19 22 / 0.3);margin:0.6rem 0}.r-item,.r-tax,.r-total,.r-pay{animation:line-in 380ms var(--ease-out) both;animation-delay:calc(1.1s + var(--i) * 170ms)}@keyframes line-in{from{opacity:0;transform:translateX(-6px)}}.r-total{font:800 1.2rem/1.3 var(--font-head);margin-top:0.5rem;align-items:center}.r-total>span:last-child{display:inline-flex;align-items:center;gap:0.25rem}.r-dot{width:0.55rem;height:0.55rem;border-radius:50%;background:#d7261e;display:inline-block;margin-left:0.15rem;animation:dot-pop 500ms var(--ease-spring) 2.5s both}@keyframes dot-pop{from{transform:scale(0)}}.r-pay{display:flex;align-items:center;gap:0.75rem;margin-top:0.9rem;font-size:0.75rem;line-height:1.3}.r-qr{width:52px;height:52px;flex:none;border-radius:4px;background:conic-gradient(#121316 25%,#fff 0 50%,#121316 0 75%,#fff 0) 0 0 / 13px 13px,#fff;outline:3px solid #fff;box-shadow:0 0 0 4px #121316;image-rendering:pixelated}.r-thanks{text-align:center;margin:1rem 0 0;font-size:0.78rem;color:#55585f}.r-stamp{position:absolute;right:1rem;bottom:4.6rem;padding:0.2rem 0.7rem;border:3px solid #c8231c;border-radius:8px;color:#c8231c;font:800 1.25rem/1 var(--font-head);letter-spacing:0.12em;text-transform:uppercase;transform:rotate(-14deg);opacity:0.88;mix-blend-mode:multiply;animation:stamp 520ms var(--ease-spring) 2.9s both}@keyframes stamp{from{transform:rotate(-14deg) scale(2.4);opacity:0}}.r-edge{position:absolute;left:0;right:0;bottom:-11px;height:12px;background:var(--paper-c);-webkit-mask:conic-gradient(from -45deg at bottom,#000 90deg,#0000 0) 0 0 / 18px 12px repeat-x;mask:conic-gradient(from -45deg at bottom,#000 90deg,#0000 0) 0 0 / 18px 12px repeat-x}.flow-chips{list-style:none;padding:0;margin:0.5rem 0 0;display:flex;flex-wrap:wrap;justify-content:center;gap:0.5rem}.flow-chips li{display:inline-flex;align-items:center;gap:0.35rem;padding:0.4rem 0.75rem;border-radius:999px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-1);font-size:0.82rem;font-weight:550;animation:chip-in 500ms var(--ease-spring) both;animation-delay:calc(3.2s + var(--i) * 260ms)}.flow-chips .icon{color:var(--green)}@keyframes chip-in{from{opacity:0;transform:translateY(10px) scale(0.9)}}.replay{display:flex;align-items:center;gap:0.4rem;margin:0.9rem auto 0;background:none;border:0;color:var(--muted);font:600 0.85rem var(--font-body);cursor:pointer;padding:0.4rem 0.6rem;border-radius:999px}.replay:hover{color:var(--text);background:var(--line)}.printer.replaying .paper,.printer.replaying .r-item,.printer.replaying .r-tax,.printer.replaying .r-total,.printer.replaying .r-pay,.printer.replaying .r-stamp,.printer.replaying .r-dot,.printer.replaying .flow-chips li{animation:none}.strip{border-block:1px solid var(--line);background:var(--surface)}.strip-grid{display:grid;grid-template-columns:repeat(4,1fr)}.stat{padding:1.6rem 1rem;text-align:center;border-left:1px solid var(--line)}.stat:first-child{border-left:0}.stat-value{font:800 clamp(1.8rem,1.4rem + 1.4vw,2.6rem)/1 var(--font-head);margin:0 0 0.35rem;letter-spacing:-0.03em}.stat-label{margin:0;color:var(--muted);font-size:0.92rem}@media (max-width:700px){.strip-grid{grid-template-columns:1fr 1fr}.stat:nth-child(3){border-left:0}.stat:nth-child(n + 3){border-top:1px solid var(--line)}}.answer-section{padding-bottom:0}.answer{font-size:clamp(1.15rem,1rem + 0.6vw,1.5rem);line-height:1.55}.steps{list-style:none;padding:0;margin:0;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));counter-reset:s;position:relative}.step{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.75rem;box-shadow:var(--shadow-1)}.step-n{display:inline-grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--ink);color:#f6f1e7;font:800 1.1rem var(--font-head);margin-bottom:1rem}.step-ui{display:flex;flex-wrap:wrap;align-items:center;gap:0.5rem;margin-top:1.25rem;padding-top:1.25rem;border-top:1px dashed var(--line-strong)}.ui-btn{display:inline-flex;align-items:center;gap:0.4rem;padding:0.45rem 0.85rem;border-radius:10px;background:var(--stamp);color:var(--on-stamp);font-weight:650;font-size:0.9rem}.ui-btn-green{background:#1c7346;color:#fff}.ui-input{display:inline-flex;align-items:center;min-width:8rem;padding:0.45rem 0.75rem;border-radius:10px;border:2px solid var(--stamp);background:var(--paper);font:600 0.95rem var(--font-mono)}.caret{width:2px;height:1.1em;background:var(--text);margin-left:2px;animation:caret 1s steps(2) infinite}@keyframes caret{50%{opacity:0}}.tabs{display:grid;gap:1.25rem}.tab-list{display:flex;gap:0.4rem;flex-wrap:wrap;justify-content:center;padding:0.35rem;border-radius:999px;background:var(--surface);border:1px solid var(--line);width:fit-content;margin-inline:auto;max-width:100%}.tab-list [role="tab"]{border:0;background:none;color:var(--muted);font:600 0.92rem var(--font-body);padding:0.55rem 1rem;border-radius:999px;cursor:pointer;transition:color var(--t-fast),background var(--t-fast)}.tab-list [role="tab"]:hover{color:var(--text)}.tab-list [role="tab"][aria-selected="true"]{background:var(--ink);color:#f6f1e7}.window{border-radius:18px;overflow:hidden;border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow-2);view-transition-name:shot}.window-bar{display:flex;align-items:center;gap:0.45rem;padding:0.7rem 1rem;background:var(--ink);color:#b7b2a8;font-size:0.8rem;font-weight:600}.window-bar i{width:11px;height:11px;border-radius:50%;background:#3a3d45}.window-bar i:first-child{background:#ee3a2c}.window-bar span{margin-left:0.5rem}.tab-panel img{width:100%}.bento{display:grid;gap:1.1rem;grid-template-columns:repeat(12,1fr)}.bento .card{grid-column:span 4}.bento-0,.bento-1{grid-column:span 6 !important}.bento-0{background:var(--ink);color:#f3eee4;--text:#f3eee4;--muted:#b7b2a8;border-color:transparent}.bento-0 .card-icon{background:rgb(255 90 76 / 0.16);color:#ff5a4c}.bento-0 .ticks .icon{color:#4fd08c}.bento .card:hover{transform:translateY(-4px);box-shadow:var(--shadow-2);border-color:var(--line-strong)}.bento p{color:var(--muted)}@media (max-width:980px){.bento .card,.bento-0,.bento-1{grid-column:span 6 !important}}@media (max-width:640px){.bento .card,.bento-0,.bento-1{grid-column:span 12 !important}}.lang-cloud{display:flex;flex-wrap:wrap;gap:0.75rem;justify-content:center}.lang-cloud span{font:700 clamp(1.3rem,1rem + 1.2vw,2rem)/1 var(--font-head);padding:0.85rem 1.2rem;border-radius:18px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-1);transition:transform var(--t) var(--ease-spring),background var(--t-fast),color var(--t-fast)}.lang-cloud span:nth-child(odd){transform:rotate(-2deg)}.lang-cloud span:nth-child(3n){transform:rotate(2.5deg)}.lang-cloud span:hover{transform:rotate(0) scale(1.08);background:var(--stamp);color:var(--on-stamp)}.offline-art{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;max-width:30rem;margin-inline:auto;width:100%}.offline-art .pc,.offline-art .cloud-x{display:grid;justify-items:center;gap:0.5rem;padding:1.5rem;border-radius:22px;background:#1c1e23;border:1px solid rgb(255 255 255 / 0.12);font-weight:600;font-size:0.9rem}.offline-art .pc{color:#ff5a4c;box-shadow:0 0 0 6px rgb(255 90 76 / 0.12)}.offline-art .pc span{color:#f3eee4}.offline-art .cloud-x{color:#b7b2a8;opacity:0.75}.wire{height:2px;background:repeating-linear-gradient(90deg,#b7b2a8 0 8px,transparent 8px 16px);position:relative}.wire span{position:absolute;left:50%;top:50%;width:1.6rem;height:1.6rem;translate:-50% -50%;border-radius:50%;background:#121316;border:2px solid #ff5a4c}.wire span::before,.wire span::after{content:"";position:absolute;left:50%;top:50%;width:0.9rem;height:2px;background:#ff5a4c;translate:-50% -50%;rotate:45deg}.wire span::after{rotate:-45deg}.code-card{margin:0;padding:1.5rem 1.75rem;border-radius:var(--r-lg);background:var(--ink);color:#f3eee4;overflow-x:auto;box-shadow:var(--shadow-2);line-height:1.7;font-size:0.9rem}.code-card code{background:none;border:0;padding:0;white-space:pre}.c-comment{color:#8d8a83}.c-ok{color:#4fd08c}.c-warn{color:#ffc857}.faq-list{display:grid;gap:0.75rem}.faq{background:var(--card);border:1px solid var(--line);border-radius:var(--r);transition:border-color var(--t),box-shadow var(--t)}.faq[open]{border-color:var(--line-strong);box-shadow:var(--shadow-1)}.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.25rem;cursor:pointer}.faq summary::-webkit-details-marker{display:none}.faq summary h3{margin:0;font-size:1.08rem;font-family:var(--font-body);font-weight:650;letter-spacing:0;line-height:1.4}.faq-plus{display:grid;place-items:center;flex:none;width:2rem;height:2rem;border-radius:50%;background:var(--paper-2);transition:transform var(--t) var(--ease-out),background var(--t-fast)}.faq[open] .faq-plus{transform:rotate(45deg);background:var(--stamp);color:var(--on-stamp)}.faq-a{padding:0 1.25rem 1.1rem;color:var(--muted)}.faq-a p{margin:0}.faq::details-content{block-size:0;overflow:clip;transition:block-size var(--t) var(--ease-out),content-visibility var(--t) allow-discrete}.faq[open]::details-content{block-size:auto}.faq-group{margin:2.5rem 0 1rem}.faq-group:first-child{margin-top:0}.cards-3{display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,20rem),1fr))}.guide-card{display:flex;flex-direction:column}.guide-card h3 a{color:var(--text);text-decoration:none}.guide-card p{color:var(--muted)}.guide-card .link-arrow{margin-top:auto}.guide-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-2)}.stretched::after{content:"";position:absolute;inset:0;border-radius:inherit}.cta-panel{position:relative;overflow:hidden;text-align:center;padding:clamp(2.5rem,2rem + 4vw,5rem) clamp(1.25rem,1rem + 3vw,4rem);border-radius:32px;background:var(--ink);color:#f3eee4}.cta-panel::before{content:"";position:absolute;inset:auto -10% -60% -10%;height:120%;background:radial-gradient(closest-side,rgb(238 58 44 / 0.35),transparent);pointer-events:none}.cta-panel>*{position:relative}.cta-panel p{color:#b7b2a8;font-size:1.1rem}.cta-panel .dl-meta{color:#b7b2a8}.cta-panel a:not(.btn){color:#ff8a7f}.cta-small{font-size:0.92rem !important;margin:1.5rem 0 0}.page-hero{padding-block:clamp(2rem,1rem + 3vw,4rem) clamp(1.5rem,1rem + 2vw,3rem)}.page-hero h1{max-width:20ch}.not-found{padding-block:clamp(4rem,3rem + 6vw,9rem)}.not-found h1{margin-inline:auto}.not-found .lead{margin-inline:auto}.crumbs{padding-top:1.25rem;font-size:0.88rem}.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:0.4rem;padding:0;margin:0;color:var(--muted)}.crumbs li + li::before{content:"/";margin-right:0.4rem;opacity:0.6}.crumbs a{color:var(--muted)}.jump{display:flex;flex-wrap:wrap;gap:0.5rem;padding-bottom:1rem}.jump a{padding:0.45rem 0.9rem;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--text);text-decoration:none;font-weight:550;font-size:0.92rem;transition:background var(--t-fast),color var(--t-fast)}.jump a:hover{background:var(--ink);color:#f6f1e7}.feature-group + .feature-group{border-top:1px solid var(--line)}.feature-row{display:grid;gap:2rem;grid-template-columns:0.8fr 1.2fr;align-items:start;padding-block:1.5rem}.feature-intro{position:sticky;top:calc(var(--header-h) + 1.5rem)}.feature-items{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.feature-item{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1.25rem}.feature-item h3{font-size:1.1rem;margin-bottom:0.35rem}.feature-item p{color:var(--muted);margin:0;font-size:0.97rem}@media (max-width:860px){.feature-row{grid-template-columns:1fr}.feature-intro{position:static}}@media (max-width:560px){.feature-items{grid-template-columns:1fr}}.dl-group{display:flex;align-items:center;gap:0.6rem;margin:2rem 0 1rem}.dl-group:first-child{margin-top:0}.dl-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,22rem),1fr))}.dl-card{display:flex;flex-direction:column;gap:1rem;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.5rem;box-shadow:var(--shadow-1);transition:box-shadow var(--t),border-color var(--t),transform var(--t) var(--ease-out)}.dl-card header{display:grid;grid-template-columns:auto 1fr;gap:0.25rem 0.9rem;align-items:center}.dl-card header .badge{grid-column:1 / -1;justify-self:start}.dl-card h3{margin:0;font-size:1.15rem}.dl-card header p{margin:0;font-size:0.9rem}.dl-os{display:grid;place-items:center;width:3rem;height:3rem;border-radius:14px;background:var(--paper-2)}.dl-card .btn{align-self:flex-start}.dl-card[data-recommended-card]{border:2px solid var(--green);box-shadow:var(--shadow-2)}.dl-note{margin:0;font-size:0.92rem;color:var(--muted)}.dl-steps{margin:0;padding-left:1.2rem;font-size:0.95rem}.dl-steps li{margin:0.3rem 0}.hash{display:flex;align-items:center;gap:0.6rem;padding:0.6rem 0.6rem 0.6rem 0.9rem;border-radius:12px;background:var(--paper-2);border:1px solid var(--line);font-size:0.8rem}.hash>span{font-weight:700;color:var(--muted)}.hash code{flex:1;background:none;border:0;padding:0;word-break:break-all;font-size:0.78rem}.hash .icon-btn{width:2.2rem;height:2.2rem;flex:none;background:var(--card)}.hash .icon-btn[data-copied]{background:var(--green);color:#fff;border-color:transparent}.credit{font-size:1rem;margin-bottom:2rem}.credit code{font-size:0.95rem}.article-head{padding-block:clamp(1.5rem,1rem + 2vw,3rem) 1rem}.article-head h1{font-size:clamp(2rem,1.5rem + 2.4vw,3.3rem)}.byline{color:var(--muted);font-size:0.92rem}.byline a{color:var(--text)}.article-grid{display:grid;grid-template-columns:15rem minmax(0,46rem);gap:clamp(1.5rem,1rem + 3vw,4rem);justify-content:center;padding-bottom:2rem}.toc{position:sticky;top:calc(var(--header-h) + 1.5rem);align-self:start;font-size:0.92rem}.toc-title{font-weight:700;margin-bottom:0.5rem}.toc ol{list-style:none;padding:0;margin:0;border-left:2px solid var(--line)}.toc a{display:block;padding:0.35rem 0 0.35rem 0.9rem;margin-left:-2px;border-left:2px solid transparent;color:var(--muted);text-decoration:none;transition:color var(--t-fast),border-color var(--t-fast)}.toc a:hover{color:var(--text)}.toc a[aria-current="true"]{color:var(--stamp);border-left-color:var(--stamp);font-weight:600}@media (max-width:900px){.article-grid{grid-template-columns:1fr}.toc{position:static}}.prose{font-size:1.065rem}.prose h2{font-size:clamp(1.45rem,1.2rem + 1vw,1.95rem);margin-top:2.4rem}.prose h3{margin-top:1.75rem}.prose li{margin:0.4rem 0}.prose ol,.prose ul{padding-left:1.3rem}.takeaways{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--stamp);border-radius:var(--r);padding:1.25rem 1.5rem;margin-bottom:2rem}.takeaways-title{font-weight:700;margin-bottom:0.4rem}.takeaways ul{margin:0}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--card)}table{border-collapse:collapse;width:100%;font-size:0.95rem}th,td{text-align:left;padding:0.75rem 1rem;border-bottom:1px solid var(--line);vertical-align:top}thead th{background:var(--paper-2)}tbody tr:last-child>*{border-bottom:0}.article-cta{display:flex;gap:1.25rem;align-items:flex-start;margin-top:3rem;padding:1.5rem;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line)}.article-cta img{border-radius:14px;flex:none}.article-cta p{margin-bottom:0.9rem}.site-footer{background:var(--ink);color:#f3eee4;margin-top:var(--section);position:relative;--text:#f3eee4;--muted:#b7b2a8;--line:rgb(255 255 255 / 0.12)}.site-footer::before{content:"";position:absolute;top:-13px;left:0;right:0;height:14px;background:var(--ink);-webkit-mask:conic-gradient(from 135deg at top,#000 90deg,#0000 0) 0 0 / 28px 14px repeat-x;mask:conic-gradient(from 135deg at top,#000 90deg,#0000 0) 0 0 / 28px 14px repeat-x}.site-footer a:not(.btn){color:#f3eee4}.footer-cta{padding-block:clamp(3rem,2rem + 3vw,5rem) 2.5rem;border-bottom:1px solid var(--line)}.footer-kicker{color:#ff5a4c;font-weight:650;letter-spacing:0.1em;text-transform:uppercase;font-size:0.8rem}.footer-big{font:700 clamp(1.5rem,1.1rem + 1.7vw,2.5rem)/1.15 var(--font-head);letter-spacing:-0.02em;max-width:34ch}.footer-cta-actions{display:flex;flex-wrap:wrap;gap:0.75rem;margin-top:1.5rem}.footer-grid{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:2rem;padding-block:3rem}.footer-grid nav{display:flex;flex-direction:column;gap:0.55rem}.footer-grid h2{font:650 0.8rem/1 var(--font-body);letter-spacing:0.12em;text-transform:uppercase;color:#b7b2a8;margin-bottom:0.5rem}.footer-grid nav a{text-decoration:none;color:#f3eee4;opacity:0.88;overflow-wrap:anywhere}.footer-grid nav a:hover{opacity:1;text-decoration:underline}.footer-about p{color:#b7b2a8;max-width:34ch}.footer-brand{display:inline-block;margin-bottom:1rem}.footer-social{display:flex;gap:0.5rem}.footer-social .icon-btn{color:#f3eee4;border-color:rgb(255 255 255 / 0.18)}.footer-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:0.5rem 2rem;padding-block:1.5rem 2rem;border-top:1px solid var(--line);font-size:0.88rem;color:#b7b2a8}.footer-base p{margin:0}.footer-base a{color:#f3eee4}@media (max-width:860px){.footer-grid{grid-template-columns:1fr 1fr}.footer-about{grid-column:1 / -1}}.js .reveal:not(.in){opacity:0;transform:translateY(18px)}.js .reveal{transition:opacity 700ms var(--ease-out),transform 700ms var(--ease-out);transition-delay:calc(var(--d,0) * 70ms)}@view-transition{navigation:auto}::view-transition-old(root){animation:vt-out 180ms var(--ease-out) both}::view-transition-new(root){animation:vt-in 320ms var(--ease-out) both}@keyframes vt-out{to{opacity:0;transform:translateY(-6px)}}@keyframes vt-in{from{opacity:0;transform:translateY(10px)}}::view-transition-group(shot){animation-duration:380ms;animation-timing-function:var(--ease-out)}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:1ms !important;animation-delay:0s !important;animation-iteration-count:1 !important;transition-duration:1ms !important;scroll-behavior:auto !important}html{scroll-behavior:auto}.js .reveal:not(.in){opacity:1;transform:none}@view-transition{navigation:none}.caret{animation:none}}@media print{.site-header,.site-footer,.hero-actions,.replay,.toc{display:none !important}body{background:#fff;color:#000}}:root[data-theme="dark"]:is(.tab-list [role="tab"][aria-selected="true"],.step-n,.jump a:hover){background:#f3eee4;color:#121316}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]):is(.tab-list [role="tab"][aria-selected="true"],.step-n,.jump a:hover){background:#f3eee4;color:#121316}}.maker h2 a{color:inherit;text-decoration-color:var(--stamp);text-decoration-thickness:3px}.maker-links{list-style:none;padding:0;margin:0;display:grid;gap:0.6rem}.maker-links a{display:grid;gap:0.15rem;padding:1rem 3rem 1rem 1.25rem;border-radius:var(--r);position:relative;background:var(--card);border:1px solid var(--line);color:var(--text);text-decoration:none;transition:transform var(--t) var(--ease-out),border-color var(--t),box-shadow var(--t)}.maker-links a::after{content:"→";position:absolute;right:1.25rem;top:50%;translate:0 -50%;color:var(--stamp);font-weight:700;transition:translate var(--t) var(--ease-out)}.maker-links a:hover{transform:translateX(4px);border-color:var(--line-strong);box-shadow:var(--shadow-1)}.maker-links a:hover::after{translate:4px -50%}.maker-links span{color:var(--muted);font-size:0.93rem}.from-criza{margin-top:2.5rem}.from-criza h2{margin-top:0}.from-criza .maker-links a{text-decoration:none}