@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-opsz-normal-D9N6E8K1.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-opsz-normal-IcJDqblK.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-opsz-normal-Cre6nC2_.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/instrument-sans-latin-400-normal-DRC__1Mx.woff2)format("woff2"),url(/assets/instrument-sans-latin-400-normal-D1W7dsQl.woff)format("woff")}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/instrument-sans-latin-500-normal-Dk9ku72i.woff2)format("woff2"),url(/assets/instrument-sans-latin-500-normal-Z6ESRlEs.woff)format("woff")}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/instrument-sans-latin-600-normal-B7fBEWYG.woff2)format("woff2"),url(/assets/instrument-sans-latin-600-normal-B9e8oLYv.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-latin-600-normal-C8RAYTDA.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-600-normal-BfsvjouI.woff)format("woff")}:root{--paper:#f3efe6;--paper-2:#e9e3d5;--card:#fbf9f4;--ink:#141312;--ink-soft:#57534a;--line:#14131224;--lime:#d4f53c;--blue:#3b5bff;--tomato:#ff5a36;--mint:#12b886;--violet:#9b7bff;--amber:#ffb020;--display:"Bricolage Grotesque Variable", "Arial Black", system-ui, sans-serif;--body:"Instrument Sans", system-ui, -apple-system, sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace;--ease:cubic-bezier(.22, 1, .36, 1);--pad:clamp(18px, 3.2vw, 44px)}*{box-sizing:border-box}[hidden]{display:none!important}html{background:var(--paper);color:var(--ink);-webkit-text-size-adjust:100%}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}body{font-family:var(--body);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.55;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:8px}::selection{background:var(--lime);color:var(--ink)}section[id]{scroll-margin-top:90px}.grain{z-index:100;pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:1.2s steps(6,end) infinite grain;position:fixed;inset:-50%}@keyframes grain{0%{transform:translate(0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}to{transform:translate(0)}}.cursor{z-index:90;background:var(--ink);pointer-events:none;opacity:0;width:16px;height:16px;transition:width .35s var(--ease), height .35s var(--ease), margin .35s var(--ease), background-color .35s, opacity .3s;border-radius:50%;margin:-8px 0 0 -8px;position:fixed;top:0;left:0}.cursor.is-visible{opacity:1}.cursor.is-hover{background:var(--lime);mix-blend-mode:multiply;width:56px;height:56px;margin:-28px 0 0 -28px}@media (pointer:coarse){.cursor{display:none}}.btn{border:2px solid var(--ink);white-space:nowrap;cursor:pointer;transition:background-color .3s, color .3s, box-shadow .3s var(--ease), transform .3s var(--ease);border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:16px 24px;font-size:16px;font-weight:600;display:inline-flex}.btn svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px;transition:transform .3s var(--ease)}.btn:hover svg{transform:translate(3px)}.btn-ink{background:var(--ink);color:var(--paper);box-shadow:4px 4px 0 var(--lime)}.btn-ink:hover{box-shadow:7px 7px 0 var(--lime)}.btn-ghost{background:0 0}.btn-ghost:hover{background:var(--ink);color:var(--paper)}.btn-sm{box-shadow:3px 3px 0 var(--lime);padding:10px 18px;font-size:14px}.btn-lg{padding:20px 30px;font-size:18px}.nav{z-index:50;padding:16px var(--pad);transition:background-color .4s, border-color .4s, padding .4s var(--ease);border-bottom:1.5px solid #0000;grid-template-columns:1fr auto 1fr;align-items:center;display:grid;position:fixed;inset:0 0 auto}.nav.is-scrolled{border-bottom-color:var(--line);-webkit-backdrop-filter:blur(14px);background:#f3efe6f2;padding-block:10px}.nav.is-scrolled .nav-links{background:0 0;border-color:#0000}.nav>.btn{justify-self:end}.brand{font-family:var(--display);letter-spacing:-.02em;align-items:center;gap:12px;font-size:20px;font-weight:700;display:inline-flex}.brand-word b{color:var(--blue);font-weight:800}.brand-cube{width:26px;height:26px;transform-style:preserve-3d;animation:9s linear infinite cube;position:relative}.brand-cube i{border:2px solid var(--ink);border-radius:6px;position:absolute;inset:0}.brand-cube i:first-child{background:var(--lime);transform:translateZ(13px)}.brand-cube i:nth-child(2){background:var(--blue);transform:rotateY(90deg)translateZ(13px)}.brand-cube i:nth-child(3){background:var(--tomato);transform:rotateX(90deg)translateZ(13px)}@keyframes cube{to{transform:rotateX(-25deg)rotateY(360deg)}0%{transform:rotateX(-25deg)rotateY(0)}}.nav-links{border:1.5px solid var(--line);-webkit-backdrop-filter:blur(14px);background:#f3efe6b8;border-radius:999px;gap:4px;padding:6px;display:flex}.nav-links a{border-radius:999px;padding:8px 16px;font-size:15px;font-weight:500;transition:background-color .25s}.nav-links a:hover{background:var(--paper-2)}.hero{min-height:100svh;padding:120px var(--pad) 40px;flex-direction:column;justify-content:flex-end;display:flex;position:relative;overflow:hidden}.hero-scene{position:absolute;inset:0 0 0 40%}.hero-scene canvas{width:100%;height:100%;display:block}.scene-fallback,.no-webgl .hero-scene canvas{display:none}.no-webgl .scene-fallback{place-items:center;display:grid;position:absolute;inset:0}.no-webgl .scene-fallback span{border:2px solid var(--ink);background:var(--c);color:#fff;width:150px;height:196px;font:800 44px/1 var(--display);box-shadow:8px 8px 0 var(--ink);border-radius:18px;place-items:end start;padding:18px;display:grid;position:absolute}.no-webgl .scene-fallback span:first-child{transform:translate(-120px,-40px)rotate(-10deg)}.no-webgl .scene-fallback span:nth-child(2){transform:translateY(10px)rotate(4deg)}.no-webgl .scene-fallback span:nth-child(3){transform:translate(120px,-20px)rotate(12deg)}.hero-copy{z-index:2;pointer-events:none;max-width:820px;position:relative}.hero-copy a,.hero-copy .chip{pointer-events:auto}.chip{border:1.5px solid var(--ink);background:var(--card);font:600 13px/1 var(--mono);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;align-items:center;gap:10px;margin:0 0 22px;padding:8px 14px;display:inline-flex}.pulse{background:var(--tomato);border-radius:50%;width:9px;height:9px;position:relative}.pulse:after{content:"";background:var(--tomato);animation:pulse 1.8s var(--ease) infinite;border-radius:50%;position:absolute;inset:0}@keyframes pulse{to{opacity:0;transform:scale(2.8)}}.hero-title{font-family:var(--display);letter-spacing:-.055em;margin:0;font-size:clamp(3.6rem,10.5vw,11rem);font-weight:800;line-height:.84}.hero-title .line{display:block}em{white-space:nowrap;z-index:0;font-style:normal;position:relative}em:before{content:"";z-index:-1;background:var(--lime);height:.36em;transform:skewX(-8deg) scaleX(var(--mark,1));transform-origin:0;border-radius:.12em;position:absolute;bottom:.08em;left:-.06em;right:-.06em}.js em:before{--mark:0;transition:transform 1s var(--ease) .4s}.js em.is-marked:before{--mark:1}.hero-lede{max-width:520px;color:var(--ink-soft);margin:28px 0 0;font-size:clamp(17px,1.5vw,20px)}.hero-lede strong{color:var(--ink)}.hero-ctas{flex-wrap:wrap;gap:14px;margin-top:32px;display:flex}.hero-stats{z-index:2;border-top:1.5px solid var(--ink);gap:clamp(20px,4vw,56px);max-width:820px;margin:56px 0 0;padding-top:20px;display:flex;position:relative}.hero-stats dt{font:600 12px/1.3 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft)}.hero-stats dd{font:800 clamp(28px, 3vw, 40px)/1 var(--display);letter-spacing:-.03em;margin:6px 0 0}.scroll-hint{right:var(--pad);z-index:2;border:2px solid var(--ink);border-radius:20px;width:30px;height:48px;position:absolute;bottom:40px}.scroll-hint span{background:var(--ink);width:4px;height:9px;animation:wheel 1.8s var(--ease) infinite;border-radius:2px;margin-left:-2px;position:absolute;top:9px;left:50%}@keyframes wheel{0%{opacity:1;transform:translateY(0)}80%{opacity:0;transform:translateY(14px)}to{opacity:0}}.band{z-index:3;background:var(--lime);border-block:2px solid var(--ink);margin:40px -2vw;padding:18px 0;position:relative;overflow:hidden;transform:rotate(-2deg)}.band-track{width:max-content;animation:28s linear infinite band;display:flex}.band-track span{font:800 clamp(28px, 4vw, 52px)/1 var(--display);letter-spacing:-.03em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:28px;padding-right:28px;display:inline-flex}.band-track span svg{width:.8em;height:.8em}@keyframes band{to{transform:translate(-50%)}}.section{max-width:1360px;padding:clamp(90px, 12vw, 170px) var(--pad);margin:0 auto;position:relative}.section-head{gap:18px;margin-bottom:56px;display:grid}.kicker{font:600 13px/1 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin:0}.big,.huge{font-family:var(--display);letter-spacing:-.045em;margin:0;font-weight:800;line-height:.92}.big{max-width:14ch;font-size:clamp(2.6rem,6.4vw,6rem)}.huge{font-size:clamp(3rem,9vw,9rem)}[data-split] .w{vertical-align:bottom;margin-bottom:-.06em;padding-bottom:.06em;display:inline-block;overflow:hidden}[data-split] .wi{will-change:transform;display:inline-block}.toolbar{flex-wrap:wrap;align-items:center;gap:14px 18px;margin-top:10px;display:flex}.tool-search{border:2px solid var(--ink);background:var(--card);max-width:460px;height:52px;box-shadow:4px 4px 0 var(--ink);transition:box-shadow .3s var(--ease), transform .3s var(--ease);border-radius:999px;flex:320px;align-items:center;padding:0 14px 0 48px;display:flex;position:relative}.tool-search:focus-within{box-shadow:6px 6px 0 var(--lime), 6px 6px 0 2px var(--ink);transform:translate(-1px,-1px)}.tool-search svg{fill:none;width:20px;height:20px;stroke:var(--ink);stroke-width:2.4px;stroke-linecap:round;position:absolute;left:18px}.tool-search input{min-width:0;height:100%;color:var(--ink);font:500 16px var(--body);background:0 0;border:0;outline:0;flex:1}.tool-search input::placeholder{color:var(--ink-soft);opacity:.8}.tool-search input::-webkit-search-cancel-button{cursor:pointer}.tool-search kbd{border:1.5px solid var(--line);width:26px;height:26px;font:600 13px/1 var(--mono);color:var(--ink-soft);border-radius:8px;place-items:center;display:grid}.tool-search:focus-within kbd{display:none}.filters{flex-wrap:wrap;gap:8px;display:flex}.filter{border:1.5px solid var(--ink);cursor:pointer;background:0 0;border-radius:999px;padding:10px 20px;font-weight:600;transition:background-color .25s,color .25s}.filter:hover{background:var(--paper-2)}.filter.is-active{background:var(--ink);color:var(--paper)}.filter-count{font:600 12px/1 var(--mono);opacity:.55;margin-left:4px}.filter.is-active .filter-count{color:var(--lime);opacity:1}.shelf-label{font:600 12px/1 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin:-26px 0 18px}.shelf-hint{display:none}.catalog{gap:34px;display:grid}.catalog-status{font:600 12px/1 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin:-20px 0 -12px}.catalog-status:empty{display:none}#catalog-groups{gap:38px;display:grid}.catalog-title{font:800 26px/1 var(--display);letter-spacing:-.03em;align-items:center;gap:10px;margin:0 0 14px;display:flex}.catalog-title i{background:var(--c);border:2px solid var(--ink);border-radius:50%;width:14px;height:14px}.catalog-title-count{font:600 13px/1 var(--mono);color:var(--ink-soft);letter-spacing:0}.catalog-list{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.tool-row{--accent:var(--blue);border:2px solid var(--ink);background:var(--card);height:100%;transition:transform .3s var(--ease), box-shadow .3s var(--ease), background-color .25s;border-radius:20px;grid-template-columns:50px minmax(0,1fr) 20px;align-items:center;gap:14px;padding:12px 16px 12px 12px;display:grid}.tool-row.kind-pdf{--accent:var(--tomato)}.tool-row.kind-sheet{--accent:var(--mint)}.tool-row:hover,.tool-row:focus-visible{box-shadow:5px 5px 0 var(--ink);transform:translate(-2px,-2px)}.tool-row:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.row-art{background:color-mix(in srgb, var(--accent) 14%, var(--paper));border:1.5px solid var(--line);border-radius:14px;place-items:center;width:50px;height:50px;display:grid;overflow:hidden}.row-art svg{width:40px;height:40px;overflow:visible}.row-text{gap:3px;min-width:0;display:grid}.row-text b{font:700 17px/1.15 var(--display);letter-spacing:-.02em}.row-text span{color:var(--ink-soft);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;line-height:1.35;display:-webkit-box;overflow:hidden}.row-go{fill:none;width:20px;height:20px;stroke:var(--ink);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;opacity:.35;transition:opacity .25s, transform .3s var(--ease)}.tool-row:hover .row-go,.tool-row:focus-visible .row-go{opacity:1;transform:translate(3px)}.catalog.is-searching .tool-item[data-extra] .row-art{border-style:dashed}.catalog-empty{border:2px dashed var(--ink);border-radius:26px;justify-items:start;gap:10px;padding:30px;display:grid}.catalog-empty p{color:var(--ink-soft);margin:0}.catalog-empty .catalog-empty-title{font:800 26px/1.1 var(--display);letter-spacing:-.03em;color:var(--ink);overflow-wrap:anywhere}.catalog-empty .btn{margin-top:6px}.catalog-toggle-wrap{justify-content:center;margin-top:44px;display:flex}.catalog-toggle{border:2px solid var(--ink);background:var(--lime);color:var(--ink);font:700 18px/1 var(--body);box-shadow:5px 5px 0 var(--ink);cursor:pointer;transition:transform .3s var(--ease), box-shadow .3s var(--ease), background-color .25s;border-radius:999px;align-items:center;gap:12px;padding:16px 26px 16px 30px;display:inline-flex}.catalog-toggle:hover{box-shadow:7px 7px 0 var(--ink);transform:translate(-2px,-2px)}.catalog-toggle:active{box-shadow:2px 2px 0 var(--ink);transform:translate(3px,3px)}.catalog-toggle.is-open{background:var(--card)}.catalog-toggle svg{fill:none;stroke:currentColor;stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px;transition:transform .4s var(--ease)}.catalog-toggle.is-open svg{transform:rotate(180deg)}.catalog:not([hidden])+.catalog-toggle-wrap{margin-top:36px}.bento{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:270px;grid-auto-flow:dense;gap:18px;margin:0;padding:0;list-style:none;display:grid}.card{--rx:0deg;--ry:0deg;--accent:var(--blue);border:2px solid var(--ink);background:var(--card);box-shadow:6px 6px 0 var(--ink);transform:perspective(900px) rotateX(var(--rx)) rotateY(var(--ry));transform-style:preserve-3d;transition:box-shadow .35s var(--ease), transform .25s ease-out;isolation:isolate;border-radius:28px;flex-direction:column;justify-content:flex-end;padding:24px;display:flex;position:relative;overflow:hidden}.card.kind-pdf{--accent:var(--tomato)}.card.kind-sheet{--accent:var(--mint)}.card:hover{box-shadow:10px 10px 0 var(--ink)}.card:after{content:"";z-index:3;border-radius:inherit;background:radial-gradient(420px circle at var(--gx,50%) var(--gy,50%), #ffffff8c, transparent 45%);opacity:0;pointer-events:none;transition:opacity .3s;position:absolute;inset:0}.card:hover:after{opacity:1}.card.size-hero{background:var(--accent);color:#fff;grid-area:span 2/span 2}.card.size-wide{grid-column:span 2}.card.is-cta{background:var(--ink);color:var(--paper);box-shadow:6px 6px 0 var(--lime)}.card.is-cta:hover{box-shadow:10px 10px 0 var(--lime)}.card-top{z-index:2;justify-content:space-between;align-items:center;display:flex;position:absolute;top:20px;left:24px;right:24px}.tag{font:600 11px/1 var(--mono);text-transform:uppercase;letter-spacing:.08em;border:1.5px solid;border-radius:999px;padding:7px 10px}.tag.is-building{background:var(--lime);color:var(--ink);border-color:var(--ink)}.tag.is-live{background:var(--mint);color:#fff;border-color:var(--ink)}.card-hit{z-index:4;border-radius:inherit;position:absolute;inset:0}.card-open{z-index:2;font:600 13px/1 var(--mono);opacity:0;transition:opacity .3s, transform .3s var(--ease);position:absolute;bottom:20px;right:22px;transform:translate(-8px)}.card:hover .card-open,.card:focus-within .card-open{opacity:1;transform:none}.card.size-hero .card-open{color:#fff}.pulse.is-live,.pulse.is-live:after{background:var(--mint)}.card-kind{font:600 11px/1 var(--mono);text-transform:uppercase;letter-spacing:.08em;opacity:.7}.card h3{z-index:2;font:800 26px/1 var(--display);letter-spacing:-.03em;margin:0;position:relative}.card.size-hero h3{font-size:clamp(34px,3.6vw,52px)}.card p{z-index:2;color:var(--ink-soft);max-width:34ch;margin:8px 0 0;font-size:15px;line-height:1.45;position:relative}.card.size-hero p{color:#ffffffd9;font-size:18px}.card.is-cta p{color:#f3efe6bf}.card-art{aspect-ratio:1;width:36%;max-width:112px;transition:transform .6s var(--ease);z-index:1;position:absolute;top:58px;right:20px;transform:translateZ(40px)}.card.size-hero .card-art{width:52%;max-width:330px;top:70px;right:40px}.card.size-wide .card-art{width:24%;max-width:140px}.card:hover .card-art{transform:translateZ(60px)rotate(-4deg)scale(1.06)}.card-art svg{width:100%;height:100%;overflow:visible}.card.is-hidden{display:none}.art-shrink{transform-origin:50% 90%;transition:transform .8s var(--ease)}.card:hover .art-shrink{transform:scale(.55)}.art-slide-l,.art-slide-r{transition:transform .7s var(--ease)}.card:hover .art-slide-l{transform:translate(14px)}.card:hover .art-slide-r{transform:translate(-14px)}.card:hover .art-split-l{transform:translate(-12px)rotate(-6deg)}.card:hover .art-split-r{transform:translate(12px)rotate(6deg)}.art-split-l,.art-split-r{transform-origin:50% 100%;transition:transform .7s var(--ease)}.art-spin{transform-origin:50%;transform-box:fill-box;transition:transform .9s var(--ease)}.card:hover .art-spin{transform:rotate(180deg)}.art-crop{transition:transform .7s var(--ease);transform-origin:50%;transform-box:fill-box}.card:hover .art-crop{transform:scale(.8)}.how-pin{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(30px,6vw,90px);min-height:80vh;display:grid}.steps{gap:10px;margin:40px 0 0;padding:0;list-style:none;display:grid}.step{opacity:.38;border:1.5px solid #0000;border-radius:22px;gap:18px;padding:18px;transition:opacity .4s,background-color .4s,border-color .4s;display:flex}.step.is-active{opacity:1;background:var(--card);border-color:var(--ink)}.step-n{background:var(--ink);width:42px;height:42px;color:var(--lime);font:800 18px/1 var(--display);border-radius:50%;flex:none;place-items:center;display:grid}.step h3{font:800 22px/1.1 var(--display);letter-spacing:-.02em;margin:4px 0}.step p{color:var(--ink-soft);margin:0;font-size:16px}.device{perspective:1400px;position:relative}.device-window{border:2px solid var(--ink);background:var(--card);box-shadow:14px 14px 0 var(--ink);transform-style:preserve-3d;border-radius:26px;position:relative;overflow:hidden;transform:rotateY(-12deg)rotateX(6deg)}.device-bar{border-bottom:2px solid var(--ink);background:var(--paper-2);align-items:center;gap:7px;padding:14px 18px;display:flex}.device-bar i{border:1.5px solid var(--ink);border-radius:50%;width:11px;height:11px}.device-bar i:first-child{background:var(--tomato)}.device-bar i:nth-child(2){background:var(--amber)}.device-bar i:nth-child(3){background:var(--mint)}.device-bar span{font:600 12px/1 var(--mono);color:var(--ink-soft);margin-left:auto;margin-right:auto}.device-body{grid-template-rows:1fr auto auto;gap:18px;height:clamp(320px,34vw,420px);padding:26px;display:grid;position:relative}.dropzone{font:600 14px/1 var(--mono);color:var(--ink-soft);border:2px dashed #14131259;border-radius:18px;place-items:center;display:grid}.file-chip{border:2px solid var(--ink);width:min(330px,80%);box-shadow:5px 5px 0 var(--ink);background:#fff;border-radius:16px;align-items:center;gap:14px;padding:14px 16px;display:flex;position:absolute;top:30%;left:50%;transform:translate(-50%,-50%)}.file-chip b{border:2px solid var(--ink);background:var(--blue);color:#fff;width:44px;height:52px;font:800 13px/1 var(--display);border-radius:9px;place-items:center;display:grid}.file-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:15px;font-weight:600;overflow:hidden}.file-size{font:600 13px/1 var(--mono);background:var(--paper-2);border-radius:999px;padding:6px 9px}.meter{border:2px solid var(--ink);background:var(--paper-2);border-radius:999px;height:14px;overflow:hidden}.meter span{background:repeating-linear-gradient(-45deg, var(--lime) 0 10px, #c3e32a 10px 20px);border-right:2px solid var(--ink);width:0;height:100%;display:block}.saved{border:2px solid var(--ink);background:var(--mint);color:#fff;opacity:0;border-radius:999px;justify-self:start;align-items:center;gap:10px;padding:12px 18px;font-weight:700;display:inline-flex;transform:translateY(12px)scale(.9)}.saved svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.device-badge{border:2px solid var(--ink);background:var(--lime);font:600 13px/1 var(--mono);box-shadow:4px 4px 0 var(--ink);border-radius:999px;padding:10px 16px;position:absolute;bottom:-26px;right:-10px;transform:rotate(-4deg)}.compare{grid-template-columns:1fr 1fr;gap:22px;display:grid}.compare-card{border:2px solid var(--ink);background:var(--card);box-shadow:8px 8px 0 var(--ink);border-radius:30px;padding:clamp(24px,3vw,40px)}.compare-card.is-good{background:var(--ink);color:var(--paper);box-shadow:8px 8px 0 var(--lime)}.compare-tag{font:600 13px/1 var(--mono);text-transform:uppercase;letter-spacing:.08em;margin:0 0 26px}.is-bad .compare-tag{color:var(--tomato)}.is-good .compare-tag{color:var(--lime)}.flow{align-items:center;gap:8px;min-height:120px;display:flex}.node{background:var(--paper);border:2px solid;border-radius:14px;flex:none;padding:12px 14px;font-size:14px;font-weight:700}.node-warn{background:var(--tomato);color:#fff;border-color:var(--ink)}.wire{background:repeating-linear-gradient(90deg, var(--ink) 0 6px, transparent 6px 12px);flex:1;height:2px;position:relative}.wire i{background:var(--tomato);border:2px solid var(--ink);width:12px;height:12px;animation:travel 2.4s var(--ease) infinite;border-radius:50%;position:absolute;top:-5px;left:0}.wire:nth-child(4) i{animation-delay:1.2s}@keyframes travel{0%{left:0}to{left:calc(100% - 12px)}}.flow-local{justify-content:center}.node-home{background:var(--lime);color:var(--ink);border-color:var(--lime);font:800 26px/1 var(--display);letter-spacing:-.02em;border-radius:20px;gap:4px;padding:22px 30px;display:grid;box-shadow:0 0 0 10px #d4f53c26,0 0 0 22px #d4f53c12}.node-home small{font:600 12px/1 var(--mono);text-transform:uppercase;letter-spacing:.06em}.compare-card ul{gap:12px;margin:26px 0 0;padding:0;list-style:none;display:grid}.compare-card li{padding-left:30px;font-size:16px;position:relative}.compare-card li:before{width:20px;height:20px;font:700 12px/1 var(--mono);border-radius:50%;place-items:center;display:grid;position:absolute;top:1px;left:0}.is-bad li:before{content:"×";background:var(--tomato);color:#fff}.is-good li:before{content:"✓";background:var(--lime);color:var(--ink)}.finale{text-align:center;justify-items:center;gap:22px;display:grid}.finale-lede{max-width:560px;color:var(--ink-soft);margin:0;font-size:19px}.votes{flex-wrap:wrap;justify-content:center;gap:10px;max-width:900px;margin-top:10px;display:flex}.vote{border:2px solid var(--ink);background:var(--card);transition:transform .3s var(--ease), background-color .25s, box-shadow .3s var(--ease);border-radius:999px;align-items:center;gap:10px;padding:12px 18px;font-weight:600;display:inline-flex}.vote i{background:var(--c);border:1.5px solid var(--ink);border-radius:50%;width:10px;height:10px}.vote:hover{background:var(--lime);box-shadow:4px 4px 0 var(--ink);transform:translateY(-4px)rotate(-2deg)}.vote.is-all{background:var(--ink);color:var(--paper)}.vote.is-all:hover{background:var(--ink);box-shadow:4px 4px 0 var(--lime)}.votes-label{font:600 12px/1 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin:6px 0 -10px}.finale-ctas{flex-wrap:wrap;justify-content:center;gap:14px;margin-top:26px;display:flex}.footer{padding:40px var(--pad) 32px;border-top:2px solid var(--ink);overflow:hidden}.footer-mark{font:800 clamp(3.4rem, 15.5vw, 16rem)/.85 var(--display);letter-spacing:-.06em;white-space:nowrap;margin:0}.footer-mark b{color:var(--blue)}.footer-row{color:var(--ink-soft);flex-wrap:wrap;justify-content:space-between;gap:14px;margin-top:26px;font-size:15px;display:flex}.footer-row nav{gap:20px;display:flex}.footer-row a:hover{color:var(--ink);text-underline-offset:4px;text-decoration:underline}.directory{border-bottom:1.5px solid var(--line);grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:26px 22px;margin-bottom:30px;padding:10px 0 44px;display:grid}.directory-title{font:600 12px/1 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink);margin:0 0 12px}.directory ul{gap:7px;margin:0;padding:0;list-style:none;display:grid}.directory a{color:var(--ink-soft);font-size:14px}.directory a:hover{color:var(--ink);text-underline-offset:3px;text-decoration:underline}.js.motion .reveal{opacity:0;transform:translateY(28px)}@media (width<=1100px){.bento{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.nav{grid-template-columns:1fr auto}.nav-links{display:none}.hero{justify-content:flex-start;padding-top:0}.hero-scene{height:56svh;margin:0 calc(var(--pad) * -1);position:relative;inset:auto}.hero-copy{margin-top:-30px}.scroll-hint{display:none}.how-pin{grid-template-columns:1fr;min-height:0}.device-window{transform:none}.compare{grid-template-columns:1fr}}@media (width<=620px){body{font-size:16px}.bento{margin:0 calc(var(--pad) * -1);padding:4px var(--pad) 16px;scroll-snap-type:x mandatory;scroll-padding:0 var(--pad);overscroll-behavior-x:contain;scrollbar-width:none;gap:14px;display:flex;overflow-x:auto}.bento::-webkit-scrollbar{display:none}.bento .card{scroll-snap-align:start;flex:0 0 82%;min-height:300px}.bento .card.size-hero{background:var(--accent)}.card.size-hero .card-art{width:44%;top:58px;right:20px}.card.size-hero h3{font-size:34px}.card.size-hero p{font-size:16px}.shelf-hint{display:inline}.tool-search{flex-basis:100%;max-width:none}.filters{margin:0 calc(var(--pad) * -1);padding:2px var(--pad) 4px;scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.filters::-webkit-scrollbar{display:none}.filter{flex:none;padding:9px 16px}.tool-search kbd{display:none}.catalog-list{grid-template-columns:1fr;gap:10px}.catalog-toggle{justify-content:center;width:100%}.hero-ctas .btn{white-space:normal;text-align:center;width:100%}.hero-stats{gap:18px}.flow{flex-wrap:wrap}.wire{min-width:30px}.device-badge{right:10px}.btn-lg{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.grain{animation:none}}.request{border:2px solid var(--ink);background:var(--card);width:min(520px,100vw - 32px);max-height:calc(100dvh - 32px);box-shadow:8px 8px 0 var(--ink);color:var(--ink);overscroll-behavior:contain;border-radius:26px;padding:0}.request::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1413128c}.request-form{gap:12px;padding:clamp(20px,4vw,28px);display:grid}.request-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.request-head h2{font-family:var(--display);letter-spacing:-.02em;margin:0;font-size:clamp(26px,5vw,32px)}.request-close{border:2px solid var(--ink);background:var(--paper);width:40px;height:40px;color:var(--ink);cursor:pointer;border-radius:50%;flex:none;font-size:16px}.request-close:hover{background:var(--lime)}.request-lede{color:var(--ink-soft);margin:0}.request-label{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;margin:6px 0 0;font-size:12px;font-weight:600}.request textarea{border:2px solid var(--ink);background:var(--paper);width:100%;min-height:110px;color:var(--ink);font:inherit;resize:vertical;border-radius:16px;padding:14px 16px}.request textarea:focus{outline:3px solid var(--blue);outline-offset:2px}.request-send{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.request-send .btn{justify-content:center;width:100%}.request-note{color:var(--ink-soft);overflow-wrap:anywhere;margin:4px 0 0;font-size:14px}.request-note a{color:var(--ink)}.request-fields,.request-alt{gap:12px;display:grid}.request-optional{letter-spacing:0;text-transform:none;color:var(--ink-soft);margin-left:6px;font-weight:500}.request input[type=email]{border:2px solid var(--ink);background:var(--paper);width:100%;height:50px;color:var(--ink);font:inherit;border-radius:16px;padding:0 16px}.request input[type=email]:focus{outline:3px solid var(--blue);outline-offset:2px}.request [aria-invalid]{border-color:var(--tomato)!important}.request-trap{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.request-submit{justify-content:center;width:100%;margin-top:4px}.request-submit:disabled{opacity:.7;cursor:wait}.request-error{border:2px solid var(--tomato);background:color-mix(in srgb, var(--tomato) 10%, var(--card));border-radius:14px;margin:0;padding:10px 14px;font-size:15px;font-weight:500}.request-sent{border:2px solid var(--ink);background:var(--lime);border-radius:18px;gap:10px;padding:18px;display:grid}.request-sent p{margin:0}.request-sent-title{font:800 24px/1.1 var(--display);letter-spacing:-.02em}.request-sent .btn{background:var(--card);justify-content:center;margin-top:4px}.request-alt{border-top:1.5px dashed var(--line);padding-top:14px}.request-alt.is-highlight{border:2px solid var(--ink);background:color-mix(in srgb, var(--amber) 30%, var(--card));border-radius:18px;padding:14px}.request-send .btn{padding-top:10px;padding-bottom:10px}
