:root{--bg:oklch(97.5% .008 145);--surface:oklch(99.5% .004 145);--ink:oklch(22% .028 150);--ink2:oklch(42% .025 150);--moss:oklch(42% .078 155);--moss-deep:oklch(34% .07 155);--moss-soft:oklch(93% .028 150);--ochre:oklch(62% .13 75);--line:oklch(86% .018 150);--danger:oklch(48% .16 25);--display:"Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;--body:"Figtree", ui-sans-serif, system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace;--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-out-quart:cubic-bezier(.25, 1, .5, 1);--z-sticky:20;--radius:8px;--radius-sm:4px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);min-height:100vh;color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.5}button,input{font:inherit;color:inherit}h1,h2,h3,h4{text-wrap:balance}p{text-wrap:pretty}.wrap{flex-direction:column;max-width:52rem;min-height:100vh;margin:0 auto;padding:1.75rem 1.25rem 0;display:flex}.top{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:2.25rem;padding-bottom:.85rem;display:flex}.mark{font-family:var(--display);letter-spacing:-.02em;font-size:1.0625rem;font-weight:800}.mark span{color:var(--moss)}.step{font-family:var(--mono);color:var(--ink2);letter-spacing:.06em;text-transform:uppercase;font-size:.6875rem;font-weight:500}.stage{flex:1;padding-bottom:1.5rem;position:relative}.stage-inner{will-change:transform, opacity, filter}h1{font-family:var(--display);letter-spacing:-.03em;max-width:18ch;margin:0 0 .65rem;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:600;line-height:1.1}.sub{color:var(--ink2);max-width:52ch;margin:0 0 1.75rem;font-size:.98rem}.opts{grid-template-columns:repeat(auto-fill,minmax(14.5rem,1fr));gap:.65rem;display:grid}.opt{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);text-align:left;cursor:pointer;transition:border-color .15s var(--ease-out-quart), background .15s var(--ease-out-quart), color .15s var(--ease-out-quart), transform .12s var(--ease-out-quart);padding:.95rem 1rem}.opt:hover{border-color:var(--moss);transform:translateY(-1px)}.opt:focus-visible{outline:2px solid var(--moss);outline-offset:2px}.opt.on{background:var(--moss);border-color:var(--moss);color:oklch(99% .005 145)}.opt.on em{color:oklch(92% .02 145);opacity:1}.opt b{margin-bottom:.15rem;font-size:.95rem;font-weight:600;display:block}.opt em{color:var(--ink2);font-size:.8125rem;font-style:normal;line-height:1.35;display:block}.fb{background:var(--moss-soft);border-radius:var(--radius-sm);border:1px solid #0000;max-width:56ch;margin-top:1.6rem;padding:.9rem 1rem}.fb[hidden]{display:none}.fb .drop{font-family:var(--mono);color:var(--ochre);letter-spacing:.05em;text-transform:uppercase;margin-bottom:.3rem;font-size:.72rem;font-weight:700;display:block}.fb p{color:var(--ink);margin:0;font-size:.95rem}.go{background:var(--ink);color:var(--bg);border-radius:var(--radius-sm);cursor:pointer;transition:background .15s var(--ease-out-quart), transform .12s var(--ease-out-quart);border:0;margin-top:1.35rem;padding:.85rem 1.4rem;font-size:.95rem;font-weight:600}.go[hidden]{display:none}.go:hover{background:var(--moss)}.go:focus-visible{outline:2px solid var(--moss);outline-offset:2px}.go:active{transform:scale(.98)}.pool{z-index:var(--z-sticky);border-top:1px solid var(--line);background:var(--bg);padding:1rem 0 1.4rem;position:sticky;bottom:0}.poolhead{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.7rem;display:flex}.count{font-family:var(--mono);font-size:.8125rem;font-weight:700}.count b{color:var(--moss);font-size:1.35rem;font-weight:700}.poollbl{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink2);font-size:.65rem}.tiles{flex-wrap:wrap;gap:3px;display:flex}.t{background:var(--moss);border-radius:1px;width:11px;height:11px}.t.off{background:var(--line);opacity:.55}.intro{max-width:36rem}.intro .lead{color:var(--ink2);max-width:42ch;margin:0 0 1.75rem;font-size:1.05rem}.intro-points{gap:.65rem;margin:0 0 2rem;padding:0;list-style:none;display:grid}.intro-points li{align-items:flex-start;gap:.75rem;font-size:.95rem;display:flex}.intro-points i{background:var(--moss);width:1.5rem;height:1.5rem;color:var(--bg);font-family:var(--mono);border-radius:2px;flex:none;place-items:center;margin-top:.1rem;font-size:.7rem;font-style:normal;font-weight:700;display:grid}.res h1{max-width:22ch;margin-bottom:1rem}.profile{font-family:var(--mono);color:var(--ink2);background:var(--moss-soft);border-radius:var(--radius-sm);margin-bottom:1.5rem;padding:.45rem .75rem;font-size:.75rem;display:inline-block}.tool{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);margin-bottom:.65rem;padding:1.2rem 1.25rem;position:relative}.tool .rank{font-family:var(--mono);color:var(--ochre);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:700}.tool h3{font-family:var(--display);letter-spacing:-.02em;margin:.2rem 0 .4rem;font-size:1.35rem;font-weight:600}.tool>p{color:var(--ink2);max-width:60ch;margin:0 0 .9rem;font-size:.9rem}.verdict{flex-wrap:wrap;gap:1.5rem;margin-bottom:1rem;display:flex}.vcol{flex:14rem;min-width:12rem}.vlbl{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.4rem;font-size:.65rem;font-weight:700;display:block}.vcol.pros .vlbl{color:var(--moss)}.vcol.cons .vlbl{color:var(--ochre)}.vcol ul{gap:.3rem;margin:0;padding:0;list-style:none;display:grid}.vcol li{color:var(--ink);padding-left:1.05rem;font-size:.85rem;line-height:1.35;position:relative}.vcol li:before{content:"";border-radius:1px;width:6px;height:6px;position:absolute;top:.5em;left:0}.vcol.pros li:before{background:var(--moss)}.vcol.cons li:before{background:var(--ochre)}.bars{flex-wrap:wrap;gap:1.35rem;display:flex}.bar{font-family:var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--ink2);font-size:.65rem}.bar .ticks{gap:2px;margin-top:.35rem;display:flex}.bar .ticks s{background:var(--line);border-radius:1px;width:9px;height:4px;text-decoration:none}.bar .ticks s.f{background:var(--moss)}.bar .price{color:var(--ink);letter-spacing:0;text-transform:none;margin-top:.25rem;font-size:.8125rem;display:block}.tool.locked{filter:blur(5px);-webkit-user-select:none;user-select:none;pointer-events:none}.tool.unlocked{filter:none}.gate{border:1px solid var(--moss);background:var(--moss-soft);border-radius:var(--radius-sm);margin:1.25rem 0 .65rem;padding:1.35rem}.gate h2{font-family:var(--display);letter-spacing:-.02em;margin:0 0 .4rem;font-size:1.2rem;font-weight:600}.gate>p{color:var(--ink2);max-width:48ch;margin:0 0 1rem;font-size:.9rem}.gate .row{flex-wrap:wrap;align-items:flex-start;gap:.5rem;display:flex}.field{flex:1;min-width:12.5rem}.gate input{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:100%;padding:.8rem .9rem}.gate input:focus-visible{outline:2px solid var(--moss);outline-offset:1px;border-color:var(--moss)}.gate input[aria-invalid=true]{border-color:var(--danger)}.field-err{color:var(--danger);margin-top:.35rem;font-size:.8125rem;display:block}.field-err:empty{display:none}.gate .submit{background:var(--moss);color:oklch(99% .005 145);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:background .15s var(--ease-out-quart);border:0;padding:.8rem 1.2rem;font-weight:600}.gate .submit:hover{background:var(--moss-deep)}.gate .submit:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.gate .submit:disabled{opacity:.55;cursor:wait}.gate.success{border-color:var(--moss);background:var(--surface)}.gate .ok{font-family:var(--mono);color:var(--moss);letter-spacing:.06em;text-transform:uppercase;margin-bottom:.35rem;font-size:.72rem;font-weight:700;display:block}.hook{border:1px dashed var(--ochre);border-radius:var(--radius-sm);background:0 0;margin-top:1.35rem;padding:1.2rem}.hook .rank{color:var(--ochre)}.restart{color:var(--ink2);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:1.1rem 0 2.5rem;font-size:.9rem;text-decoration:underline}.restart:hover{color:var(--ink)}.restart:focus-visible{outline:2px solid var(--moss);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=520px){.wrap{padding:1.25rem 1rem 0}.opts{grid-template-columns:1fr}.gate .row{flex-direction:column}.gate .submit{width:100%}h1{max-width:none}}@media (prefers-reduced-motion:reduce){.opt,.go,.gate .submit{transition:none}.opt:hover{transform:none}}
