@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-wght-normal.DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-wght-normal.DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-wght-normal.CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-wght-normal.CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-normal.DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAfsABQAAAAAEAwAAAeCAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoP0hWQVJbBmA/U1RBVIFiJyYAdC9qEQgKhGSEAAsgADCGCAE2AiQDOgQgBYlMB4EUDAcbLQ4onoexrSC/2ZyLAa8p8VHB8/x3Vue+V0hVJalMJg2nx/TCrQXxBeqLjQG7FyM1WEa/X1tEXN7cFz9EJEMmMUz3RihWSSKeQCbcIou0izz/C8v+fq3VfajEa9gDD11CImXS7qL/RJFVzC1qiB6KmKeD6TZdQ6IRGv78dL6uSVVCfgni5mzu7kcgQBgAEAQTQRCoL++STTYybkJxNfQxAAIAGu8OdEB9teW2jh4BpgDqFjAeSEByW3zFP0CBBgNMsMCGEDjgggdhiEAUAeIIED7ABTDUEnkIE9Q9ahFgKttcVhApo4ACB4qobHaccgDfEjFO6aaWUhjMLt2SyIvHKoDqoA4CSUwEIYQCEjhAO9R1G6keDeDZGjNo+AhxOjCEGTr1WeIF3kYBiLAOKvkJSMiKX0VdAyQt3SDJClCkxJCHkCzfqyVTriJZLcolS32JZHUekq2TYNkYtCtjYHMQXSxGjXDz2t/yLWXzDzxz+o3zFwDEaN23F+13pyMdQAEaSKAR9vcGq4A4MTSKCElGW+M7UcY7xqkggITb28ZJhlqc9q2twYKTt0NjixBgYvO9BIihEBLYuOFXQzfIQ7dXGUEEEgFDooBfAzqiQbpJrhiWSuKJCRFKYbHCyJKI2G5GiZbNAvgAu5pc3vwx4G+g3aDkhklABiSz0BICXrYghtYhx/cdJ+44rY2oZ0aMNRFz3VZjb6W33F3gzltqtOCV8tTHSpOeXuItfvr5lCdfzFpqtEitvqdcdGGFd28ZqqC0tPbeChGXgrIlnhSWu/eUso4uKWFLugyDzQJhflY4659+WjQ++6x72WUMv9G8mw6QJl7BVxX5fe/kpUsOvnZwee9uQ0cGXYd0o89XB2748sDSnt8d2VphdOTTgceDVvOds0v9P/s7HPq15aGun/6Vllb56f1dl0t1LejqrNkpdRZsG8TOnM5vkBG5oiVyVGnS8LHps5cfNWJs6qKPfaNSxiQNBUm3cKNWROr0GSur7Za31k1vieq7LH11VF+jXdRIasRKflc7jkobm1Z9te1IyZA0pDkhLR98+H37Zf1c/8at+dB7x+7GfVyTfJMPiYztsnl59Y5l4j+0n1RXlpHnF3Tq7HecmNF/CJodEMAikruxiyJaGLvHOdAfoA+oDvpjBm2b91cHGRZMU9n25xEU0A8fgEEAdKI3Q1iDtc034sug5YVMkE2jsE+BIkwSoQ3gxXMqz9tELp48bd0cFKOKS7xYjEuXBnZP5ia7DyiO/X/YI+PQSbt2uSdqAkWL9nQbV1XB94/+uPfdZz8dnXYFBYrcTl2SIR/ybxJNJPz/Gupb0JaZeens2ekC7EKr8t+Ls/P5VJPYJdHKyqfg2nqU6bhlidzcddQV/7MmecTzJ5VPcKXkNKSEogHjYFx6QZ7rQ+FSe8njaiNuOnXS8H2ScQ619c2mC3VTtauL0rRbXd/CkSOP37FY9Zkjz8+GibYUMOEWF+RdrFS8Ecv1SHOpPUPZGEIpjPvFyU5cXKjd6OXqorTqy9GwRd++HVufPGnVsW+aO3vggKZ18jR9sXaTC1PWTEsVUaK0FkNySbTQDqlm2PfDjZcu4aalnSLKjnOoYQ0nUlqqXcGpPu/4VgV/xU2pAqW4BW3qzhQ8/hFKhV2qE3+BKAtDqBXjfgnVdH4y0wg5tbVNRenNdTWOrenWLcupQdmsbq5b+18piTe/xRdp1xbILxNPJGInm2z6hoB21Lal0i+ePTtd7B45+3XhFJ329evskXm7qurUVREotqSluSo/L29d3qDhI4YOQqWhI4YNvBNfsMHeXKemXrxQfKeuPOGRVayA3JtkJKEgbPp+dXUDluddutRYLFoXGXWX6N3WFaGLbQtRSitVYNacTNSdy7AaG/HSaUEANcBoGXNdcZvZsOqQ1icBDv21/gzAoYPHH/WDW0qNR3QTYKEAEHig6o13NXbND06CQPlRtYjGNnSktRc09k1mAMDvAlDKfQjgy6fssInlfzmNAjKkDxoxHOBLdVRAIVt9j4qo+hA1w9T1aNBNTUOTTNUHLbqokE+UAfJXCIGw/IxCSL5GRUJeR40rL/UxTm4Q08H6MbCs70ObuNyIIXrINHQYInF06UUlevTjbQzTh5upiDMzMMogUtEnjPs/Y7jAHCJeB0GBHh04tC6FiB6ZFB1oArUSIoFoqhzCeAN6lHwm0T4C3VVPWvjpSMXReuWesMEcoqrmgtNBGd2noWeV0hNAz9rFeShNJxHGsPa3HXeKTk8b55hahySYHaYKKFFLpCfN8rsoaJn01CR04Gkc+5k7KVTCmClX8Q10HCrUEkVlSX+XO33oQR9609tJ516H497WSobWs5Up6TLaS10/dessIskgJSLiDlWvHVUywpkQ7hdPZqGyiEF0uVQerVcPamT1A3eKXdyI1vG9OoflrSXihZ1qqGE3nhmAgiIbRCQgPLEPtOM3UQwTLYaYYomNlpA44opnjV6jkD6id80OOrzf6BzmMD6eEa1zKyeYG1fzfEf16V6jw9XYOaar1/b2kP/IYX8oR2mcFvv2GtBV3JXgd437AQAA) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local("Arial");size-adjust:107.4%;ascent-override:90.2%;descent-override:22.48%;line-gap-override:0%}:root{--green-50: #f0fdf4;--green-100: #dcfce7;--green-300: #86efac;--green-400: #4ade80;--green-500: #22c55e;--green-600: #16a34a;--green-700: #15803d;--green-800: #166534;--green-950: #052e16;--font-sans: "Inter Variable", "Inter Fallback", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono Variable", ui-monospace, Menlo, Consolas, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 2rem;--leading: 1.6;--leading-tight: 1.2;--tracking-h1: -.025em;--tracking-h2: -.015em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-full: 999px;--tap: 44px;--header-h: 60px;--wrap: 880px;--icon-card: 48px;--duration: .15s;--ease-out: cubic-bezier(.22, 1, .36, 1);--bg: #f5f5f4;--surface: #ffffff;--raised: #f5f5f4;--border: #e7e5e4;--border-strong: #c9c5c2;--border-input: #8a837e;--text: #1c1917;--text-2: #44403c;--muted: #5f5955;--link: var(--green-700);--link-hover: var(--green-800);--accent: var(--green-500);--accent-hover: var(--green-400);--accent-pressed: var(--green-600);--on-accent: var(--green-950);--accent-subtle: var(--green-50);--accent-subtle-text: var(--green-800);--accent-border: var(--green-600);--card-hover-border: #86c99c;--focus: var(--green-700);--warn-bg: #fef9c3;--warn-text: #422006;--warn: #92400e;--star: var(--link);--shadow-hover: 0 6px 18px rgb(28 25 23 / .08);--header-bg: rgb(255 255 255 / .85);--shadow-toast: 0 8px 24px rgb(28 25 23 / .18);color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #0d0c0b;--surface: #181715;--raised: #24221f;--border: #2b2926;--border-strong: #45413c;--border-input: #78716c;--text: #f5f5f4;--text-2: #d6d3d1;--muted: #a8a29e;--link: var(--green-400);--link-hover: var(--green-300);--accent-subtle: rgb(34 197 94 / .12);--accent-subtle-text: var(--green-300);--accent-border: rgb(74 222 128 / .55);--card-hover-border: rgb(74 222 128 / .4);--focus: var(--green-400);--warn-bg: #2e2208;--warn-text: #fde68a;--warn: #fbbf24;--star: var(--link);--shadow-hover: 0 8px 24px rgb(0 0 0 / .35);--header-bg: rgb(24 23 21 / .82);--shadow-toast: 0 8px 24px rgb(0 0 0 / .5);color-scheme:dark}}*{box-sizing:border-box}[hidden]{display:none!important}html{scrollbar-gutter:stable;-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--link);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{color:var(--link-hover)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}button{touch-action:manipulation}h1,h2{font-weight:700;line-height:var(--leading-tight);text-wrap:balance}h1{font-size:var(--text-2xl);letter-spacing:var(--tracking-h1);margin:var(--space-8) 0 var(--space-2)}h2{font-size:var(--text-xl);letter-spacing:var(--tracking-h2);margin:var(--space-10) 0 var(--space-3)}@media(max-width:480px){h1{font-size:1.75rem}}.muted{color:var(--muted)}.small{font-size:var(--text-sm)}.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--space-4)}.filters button,.vote button{position:relative}.filters button:after,.vote button:after{content:"";position:absolute;left:0;right:0;top:50%;min-height:var(--tap);transform:translateY(-50%)}.top{position:sticky;top:0;z-index:20;border-bottom:1px solid var(--border);background:var(--surface)}@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.top{background:var(--header-bg);-webkit-backdrop-filter:blur(14px) saturate(1.5);backdrop-filter:blur(14px) saturate(1.5)}}html{scroll-padding-top:calc(var(--header-h) + var(--space-4))}.top .wrap{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);height:var(--header-h)}.logo{display:inline-flex;align-items:center;min-height:var(--tap);font-weight:700;font-size:var(--text-lg);letter-spacing:-.02em;color:var(--text);text-decoration:none;white-space:nowrap}.logo:hover{color:var(--text)}.logo:before{content:"";flex:none;width:22px;height:22px;margin-right:var(--space-2);background:url(/favicon.svg) center / contain no-repeat}.top nav{display:flex;align-items:center}.top nav a{display:inline-flex;align-items:center;min-height:var(--tap);margin-left:var(--space-5);font-size:var(--text-sm);font-weight:500;color:var(--muted);text-decoration:none;white-space:nowrap;border-radius:var(--radius-sm)}.top nav a:hover{color:var(--text)}.top nav .nav-support{min-height:36px;padding:0 var(--space-4);border-radius:var(--radius-full);background:var(--accent);color:var(--on-accent);font-weight:600;transition:background-color var(--duration);position:relative}.top nav .nav-support:after{content:"";position:absolute;inset:-4px 0}.top nav .nav-support:hover{background:var(--accent-hover);color:var(--on-accent)}.top nav .nav-support:active{background:var(--accent-pressed)}.top nav .nav-bell{justify-content:center;min-width:var(--tap);margin-left:var(--space-2)}.top nav .nav-bell svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}@media(max-width:640px){.top nav a{margin-left:var(--space-4)}.top nav .nav-extra{display:none}}@media(max-width:420px){.top nav a{margin-left:var(--space-3)}}@media(max-width:560px){.top nav a[href="/request/"]{display:none}}@media(max-width:480px){.top nav .nav-support{padding:0 var(--space-3)}}@media(max-width:480px){.top nav a[href="/about/"]{display:none}}@media(max-width:400px){.top .wrap{gap:var(--space-2)}}@media(max-width:340px){.logo{font-size:var(--text-base)}.top nav a{margin-left:10px}.top nav .nav-bell{margin-left:0}}@media(max-width:400px){.top nav a[href="/"]{display:none}}.hero{margin-bottom:var(--space-6)}.search{position:relative;margin-top:var(--space-5)}#search{width:100%;min-height:48px;padding:var(--space-3) 52px var(--space-3) var(--space-4);font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border-input);border-radius:var(--radius-md);transition:border-color var(--duration),box-shadow var(--duration)}#search::placeholder{color:var(--muted);opacity:1}#search:focus{outline:none;border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-subtle)}#search:focus-visible{outline:2px solid var(--focus);outline-offset:1px}#search::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}.search-key{position:absolute;right:14px;top:50%;transform:translateY(-50%);pointer-events:none;min-width:24px;padding:1px 6px;text-align:center;font:600 var(--text-xs)/1.5 var(--font-mono);color:var(--muted);background:var(--raised);border:1px solid var(--border-strong);border-radius:var(--radius-sm)}.search.has-text .search-key,#search:focus+.search-key{display:none}@media(hover:none){.search-key{display:none}}.search-clear{position:absolute;right:2px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:var(--tap);height:var(--tap);color:var(--muted);background:none;border:0;border-radius:var(--radius-md);cursor:pointer}.search-clear[hidden]{display:none}.search-clear:hover{color:var(--text)}.search-clear svg,.ghost-btn svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.filters{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4)}.filters button{min-height:36px;padding:0 var(--space-4);font:inherit;font-size:var(--text-sm);font-weight:500;color:var(--text-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);cursor:pointer;transition:border-color var(--duration),background-color var(--duration),color var(--duration)}@media(max-width:640px){.filters{flex-wrap:nowrap;overflow-x:auto;margin:var(--space-3) calc(-1 * var(--space-4)) 0;padding:4px var(--space-4);scrollbar-width:none}.filters::-webkit-scrollbar{display:none}.filters button{flex:none}}.filters button:hover{border-color:var(--border-strong);color:var(--text)}.filters button[aria-pressed=true]{border-color:var(--accent-border);color:var(--accent-subtle-text);background:var(--accent-subtle);font-weight:600}.alert-line{margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);color:var(--text-2);background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius-md)}.alert-line a{font-weight:600}.notice{margin-top:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--warn-bg);color:var(--warn-text);font-size:var(--text-sm)}.toast{position:fixed;left:50%;bottom:var(--space-4);transform:translate(-50%);width:max-content;max-width:calc(100% - var(--space-8));padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--text);color:var(--bg);font-weight:600;font-size:var(--text-sm);text-decoration:none;box-shadow:var(--shadow-toast);z-index:30}.toast:hover{color:var(--bg)}.toast[hidden]{display:none}.support-line{margin:var(--space-3) 0 0}.support-line a{font-weight:600;white-space:nowrap}.grid{list-style:none;padding:0;margin:0;display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.grid-label{grid-column:1 / -1;margin-top:var(--space-2);font-size:var(--text-sm);font-weight:600;color:var(--muted)}.grid-label:first-child{margin-top:0}.card a{display:flex;flex-direction:column;height:100%;padding:var(--space-4);color:var(--text);text-decoration:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color var(--duration),transform var(--duration),box-shadow var(--duration)}.card a:hover{color:var(--text);border-color:var(--card-hover-border)}@media(hover:hover){.card a:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}}.card{position:relative}.card-head>div{padding-right:28px}.fav{position:absolute;top:4px;right:4px;display:grid;place-items:center;width:var(--tap);height:var(--tap);color:var(--muted);background:none;border:0;border-radius:var(--radius-md);cursor:pointer;transition:color var(--duration),transform var(--duration)}.fav svg,.fav-btn svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}.fav:hover{color:var(--text)}.fav[aria-pressed=true],.fav-btn[aria-pressed=true]{color:var(--star)}.fav[aria-pressed=true] svg,.fav-btn[aria-pressed=true] svg{fill:currentColor}.card:hover .fav{transform:translateY(-2px)}@media(hover:none){.card:hover .fav{transform:none}}.card h2{margin:0;font-size:var(--text-base);font-weight:650;letter-spacing:-.01em;line-height:1.3}.card p{margin:var(--space-3) 0 var(--space-4);flex:1}.card-head{display:flex;gap:var(--space-3);align-items:center}.card-head>div{min-width:0}.card-head h2{margin-bottom:var(--space-1)}.card-head .tag{display:inline-block}.card-foot{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;padding-top:var(--space-3);border-top:1px solid var(--border);font-size:var(--text-sm)}.count{color:var(--text-2);font-variant-numeric:tabular-nums}.count strong{color:var(--text)}.tag{font-size:var(--text-xs);font-weight:500;line-height:1.5;padding:1px var(--space-2);border-radius:var(--radius-sm);background:var(--raised);color:var(--muted);white-space:nowrap}.new{display:inline-block;font-size:.6875rem;font-weight:600;letter-spacing:.04em;line-height:1.5;text-transform:uppercase;padding:0 6px;margin-left:var(--space-2);vertical-align:2px;border-radius:var(--radius-sm);background:var(--accent-subtle);color:var(--accent-subtle-text)}.flag{display:inline-block;font-size:.6875rem;font-weight:600;letter-spacing:.04em;line-height:1.5;text-transform:uppercase;padding:0 6px;margin-left:var(--space-2);vertical-align:2px;border-radius:var(--radius-sm);background:var(--raised);color:var(--text-2);border:1px solid var(--border-strong)}.flag-warn{color:var(--warn);border-color:currentColor;background:transparent}.codes li>div>.small.doubt{color:var(--warn)}.crumbs{margin-top:var(--space-4);font-size:var(--text-sm);color:var(--muted)}.crumbs a{display:inline-flex;align-items:center;min-height:var(--tap);margin:0;color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--text);text-decoration:underline}.game-title{display:flex;align-items:center;gap:var(--space-4);margin:var(--space-4) 0 var(--space-2)}.game-title h1{margin:0}.game-icon{flex:none;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--raised);object-fit:cover}.game-icon.letter{display:grid;place-items:center;color:var(--accent-subtle-text);background:var(--accent-subtle);font-weight:700}.game-intro{margin:var(--space-3) 0 0;color:var(--text-2)}.missing{margin:var(--space-3) 0 0}.game-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-5) 0 var(--space-4)}.ghost-btn{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--tap);padding:0 var(--space-4);font:inherit;font-size:var(--text-sm);font-weight:600;color:var(--text-2);cursor:pointer;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);transition:border-color var(--duration),color var(--duration)}.ghost-btn:hover{border-color:var(--accent-border);color:var(--text)}.verified:before{content:"✓ ";color:var(--link);font-weight:700}.codes-head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);margin:var(--space-10) 0 var(--space-3)}.codes-head h2{margin:0}.codes{list-style:none;padding:0;margin:0;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.codes li{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4)}.codes li+li{border-top:1px solid var(--border)}.codes li>div{min-width:0}.codes li>div>.small{margin-top:var(--space-1);color:var(--text-2)}.codes li>div>.small.vote{color:var(--muted)}.codes code{display:inline-block;max-width:100%;white-space:nowrap;overflow-x:auto;vertical-align:middle;scrollbar-width:none;padding:3px var(--space-2);font-family:var(--font-mono);font-size:var(--text-base);font-weight:600;letter-spacing:.01em;color:var(--text);background:var(--raised);border:1px dashed var(--border-strong);border-radius:var(--radius-sm);user-select:all;-webkit-user-select:all}.btn,.copy{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--tap);font:inherit;font-weight:600;text-decoration:none;white-space:nowrap;cursor:pointer;color:var(--on-accent);background:var(--accent);border:0;border-radius:var(--radius-md);transition:background-color var(--duration),transform var(--duration)}.btn{justify-self:start;padding:0 var(--space-5)}.copy{flex:none;min-width:6.5rem;padding:0 var(--space-4);font-size:var(--text-sm)}.btn:hover,.copy:hover{background:var(--accent-hover);color:var(--on-accent)}.btn:active,.copy:active{background:var(--accent-pressed);transform:translateY(1px)}.copy.copied{background:var(--accent-subtle);color:var(--accent-subtle-text);box-shadow:inset 0 0 0 1px var(--accent-border)}.copy.copied:before{content:"✓"}.steps li,.tips li{margin-bottom:var(--space-1)}.expired{padding-left:var(--space-5);color:var(--muted)}.expired s{font-family:var(--font-mono);font-size:var(--text-sm)}.vote{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--muted)}.tally:not(:empty){margin-left:6px}.vote button{min-height:26px;padding:0 10px;margin-left:var(--space-1);font:inherit;font-weight:500;color:var(--muted);background:transparent;border:1px solid var(--border);border-radius:var(--radius-full);cursor:pointer;transition:border-color var(--duration),color var(--duration)}.vote button:hover{border-color:var(--accent-border);color:var(--text)}.related{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:var(--space-2)}.related a{display:inline-flex;align-items:center;min-height:var(--tap);padding:0 var(--space-4);font-size:var(--text-sm);font-weight:500;color:var(--text-2);text-decoration:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color var(--duration),color var(--duration)}.related a:hover{border-color:var(--card-hover-border);color:var(--text)}.newest{margin-bottom:var(--space-2)}.newest .small a{color:var(--text-2)}.newest .small a:hover{color:var(--link-hover)}.faq details{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:0 var(--space-4);margin-bottom:var(--space-2)}.faq summary{display:flex;align-items:center;min-height:var(--tap);padding:var(--space-2) 0;cursor:pointer;font-weight:600}.faq summary:before{content:"+";flex:none;width:1.25em;color:var(--muted);font-weight:500}.faq details[open] summary:before{content:"−"}.faq summary::-webkit-details-marker{display:none}.faq summary{list-style:none}.faq p{margin:0 0 var(--space-3);color:var(--text-2)}.form{display:grid;gap:var(--space-4);max-width:520px}.form label{display:grid;gap:var(--space-1);font-weight:600;font-size:var(--text-sm)}.form input,.form textarea{font:inherit;font-weight:400;min-height:var(--tap);padding:10px var(--space-3);color:var(--text);background:var(--surface);border:1px solid var(--border-input);border-radius:var(--radius-md)}.form input:focus,.form textarea:focus{outline:none;border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-subtle)}.form input:focus-visible,.form textarea:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.ad{margin:var(--space-8) 0;min-height:90px}.support{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-4);padding:var(--space-4);margin-bottom:var(--space-4);color:var(--text-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.support strong{color:var(--text)}.support p{margin:0;flex:1 1 280px}.foot{margin-top:var(--space-12);padding-top:var(--space-5);padding-bottom:var(--space-8);border-top:1px solid var(--border);color:var(--muted);font-size:var(--text-sm)}.foot-links{display:flex;flex-wrap:wrap;column-gap:var(--space-4)}.foot-links a{display:inline-flex;align-items:center;min-height:var(--tap);color:var(--text-2);text-decoration:none}.foot-links a:hover{color:var(--text);text-decoration:underline}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.toast:not([hidden]){animation:toast-in .22s var(--ease-out)}.faq details[open] p{animation:fade .2s ease-out}.tour-spot{position:fixed;z-index:50;pointer-events:none;border-radius:var(--radius-md);box-shadow:0 0 0 2px var(--accent),0 0 0 100vmax #0009}.tour-shield{position:fixed;inset:0;z-index:49}.tour-card{position:fixed;z-index:51;width:min(320px,calc(100vw - var(--space-8)));padding:var(--space-4);color:var(--text-2);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-toast);animation:fade .18s ease-out}.tour-card h2{margin:0 0 var(--space-1);font-size:var(--text-base);color:var(--text);letter-spacing:-.01em}.tour-card p{margin:0;font-size:var(--text-sm)}.tour-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-top:var(--space-4)}.tour-foot .tour-count{font-size:var(--text-xs);color:var(--muted)}.tour-foot div{display:flex;gap:var(--space-2)}.tour-card .btn,.tour-card .ghost-btn{padding:0 var(--space-4);font-size:var(--text-sm)}.tour-close{position:absolute;top:2px;right:2px;display:grid;place-items:center;width:var(--tap);height:var(--tap);color:var(--muted);background:none;border:0;border-radius:var(--radius-md);cursor:pointer}.tour-close:hover{color:var(--text)}.tour-close svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.tour-card h2{padding-right:36px}.hero>p:has(+.help-link){margin-bottom:0}.help-link+.search{margin-top:var(--space-3)}.help-link{display:inline-flex;align-items:center;gap:6px;min-height:var(--tap);margin-top:var(--space-1);padding:0;font:inherit;font-size:var(--text-sm);font-weight:600;color:var(--link);background:none;border:0;cursor:pointer}.help-link:hover{color:var(--link-hover);text-decoration:underline}.help-link svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important}.card a:hover,.btn:active,.copy:active,.related a:hover{transform:none}}
