@font-face{font-family:Inter Tight;font-style:normal;font-display:swap;font-weight:400;src:url(../media/inter-tight-cyrillic-ext-400-normal.0um3g168v8sv4.woff2)format("woff2"),url(../media/inter-tight-cyrillic-ext-400-normal.0bfz5-m8s0u83.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Tight;font-style:normal;font-display:swap;font-weight:400;src:url(../media/inter-tight-cyrillic-400-normal.0yot-krkzlf8m.woff2)format("woff2"),url(../media/inter-tight-cyrillic-400-normal.3g5j6ksenfh6j.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Tight;font-style:normal;font-display:swap;font-weight:400;src:url(../media/inter-tight-greek-ext-400-normal.38ugio14lp6yj.woff2)format("woff2"),url(../media/inter-tight-greek-ext-400-normal.0ryb-t5x8vu7c.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter Tight;font-style:normal;font-display:swap;font-weight:400;src:url(../media/inter-tight-greek-400-normal.0uob6dnpjlsi0.woff2)format("woff2"),url(../media/inter-tight-greek-400-normal.09enj9a3xmrgy.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Tight;font-style:normal;font-display:swap;font-weight:400;src:url(../media/inter-tight-vietnamese-400-normal.35d46q-j65sjc.woff2)format("woff2"),url(../media/inter-tight-vietnamese-400-normal.0de9op66vw543.woff)format("woff");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:Inter Tight;font-style:normal;font-display:swap;font-weight:400;src:url(../media/inter-tight-latin-ext-400-normal.1nqa1clpm9thv.woff2)format("woff2"),url(../media/inter-tight-latin-ext-400-normal.1i0xq_rktert7.woff)format("woff");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:Inter Tight;font-style:normal;font-display:swap;font-weight:400;src:url(../media/inter-tight-latin-400-normal.3gbylqd6j3yyh.woff2)format("woff2"),url(../media/inter-tight-latin-400-normal.352xh4ij5xfe_.woff)format("woff");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:Inter Tight;font-style:normal;font-display:swap;font-weight:500;src:url(../media/inter-tight-cyrillic-ext-500-normal.3rm0-xn5-yxyj.woff2)format("woff2"),url(../media/inter-tight-cyrillic-ext-500-normal.01_3_pk4p68sv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Tight;font-style:normal;font-display:swap;font-weight:500;src:url(../media/inter-tight-cyrillic-500-normal.1yaia-irj7mby.woff2)format("woff2"),url(../media/inter-tight-cyrillic-500-normal.0ux9bua8p8icf.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Tight;font-style:normal;font-display:swap;font-weight:500;src:url(../media/inter-tight-greek-ext-500-normal.1stys8ynvmjx1.woff2)format("woff2"),url(../media/inter-tight-greek-ext-500-normal.40u4md81ol7lk.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter Tight;font-style:normal;font-display:swap;font-weight:500;src:url(../media/inter-tight-greek-500-normal.3q_fjbyf0zmxt.woff2)format("woff2"),url(../media/inter-tight-greek-500-normal.115lxjg77xwit.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Tight;font-style:normal;font-display:swap;font-weight:500;src:url(../media/inter-tight-vietnamese-500-normal.1pfpffk4h5kot.woff2)format("woff2"),url(../media/inter-tight-vietnamese-500-normal.2mmmfy415d5a-.woff)format("woff");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:Inter Tight;font-style:normal;font-display:swap;font-weight:500;src:url(../media/inter-tight-latin-ext-500-normal.2h3tabi_1w4_5.woff2)format("woff2"),url(../media/inter-tight-latin-ext-500-normal.2ser6hf9_1oy_.woff)format("woff");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:Inter Tight;font-style:normal;font-display:swap;font-weight:500;src:url(../media/inter-tight-latin-500-normal.1v62_220moibu.woff2)format("woff2"),url(../media/inter-tight-latin-500-normal.28v_q9ffmdu2r.woff)format("woff");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:Inter Tight;font-style:normal;font-display:swap;font-weight:600;src:url(../media/inter-tight-cyrillic-ext-600-normal.1rk41nedscymp.woff2)format("woff2"),url(../media/inter-tight-cyrillic-ext-600-normal.3l-q9z3qhozm9.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Tight;font-style:normal;font-display:swap;font-weight:600;src:url(../media/inter-tight-cyrillic-600-normal.36d2x74vlsjhb.woff2)format("woff2"),url(../media/inter-tight-cyrillic-600-normal.0rllsoohoi6o2.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Tight;font-style:normal;font-display:swap;font-weight:600;src:url(../media/inter-tight-greek-ext-600-normal.1-qmu38qnwkio.woff2)format("woff2"),url(../media/inter-tight-greek-ext-600-normal.1s5p-rtj6srlk.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter Tight;font-style:normal;font-display:swap;font-weight:600;src:url(../media/inter-tight-greek-600-normal.03-cyf4v9_3li.woff2)format("woff2"),url(../media/inter-tight-greek-600-normal.2o8kwg_mzct_o.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Tight;font-style:normal;font-display:swap;font-weight:600;src:url(../media/inter-tight-vietnamese-600-normal.0xe887943kwfk.woff2)format("woff2"),url(../media/inter-tight-vietnamese-600-normal.3iegh80yu5atb.woff)format("woff");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:Inter Tight;font-style:normal;font-display:swap;font-weight:600;src:url(../media/inter-tight-latin-ext-600-normal.3v521sknlavqc.woff2)format("woff2"),url(../media/inter-tight-latin-ext-600-normal.3nz5sy5dd125z.woff)format("woff");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:Inter Tight;font-style:normal;font-display:swap;font-weight:600;src:url(../media/inter-tight-latin-600-normal.0_9ka108difq2.woff2)format("woff2"),url(../media/inter-tight-latin-600-normal.3845a_gp45vfl.woff)format("woff");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:Inter Tight;font-style:normal;font-display:swap;font-weight:700;src:url(../media/inter-tight-cyrillic-ext-700-normal.1ryk8wfxj0_kv.woff2)format("woff2"),url(../media/inter-tight-cyrillic-ext-700-normal.33ji73y5j0mrj.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Tight;font-style:normal;font-display:swap;font-weight:700;src:url(../media/inter-tight-cyrillic-700-normal.1lpkg7ncf9jcn.woff2)format("woff2"),url(../media/inter-tight-cyrillic-700-normal.17tr308k6e19m.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Tight;font-style:normal;font-display:swap;font-weight:700;src:url(../media/inter-tight-greek-ext-700-normal.3w4-ogkqrxf_y.woff2)format("woff2"),url(../media/inter-tight-greek-ext-700-normal.0l_joxj4vtwtf.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter Tight;font-style:normal;font-display:swap;font-weight:700;src:url(../media/inter-tight-greek-700-normal.0n534lbusqja7.woff2)format("woff2"),url(../media/inter-tight-greek-700-normal.3l1z3xopwlpat.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Tight;font-style:normal;font-display:swap;font-weight:700;src:url(../media/inter-tight-vietnamese-700-normal.1pwznommtcs02.woff2)format("woff2"),url(../media/inter-tight-vietnamese-700-normal.11p_r8u_v95b1.woff)format("woff");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:Inter Tight;font-style:normal;font-display:swap;font-weight:700;src:url(../media/inter-tight-latin-ext-700-normal.3re0jvn43pxi_.woff2)format("woff2"),url(../media/inter-tight-latin-ext-700-normal.0_fcrl70vbhvk.woff)format("woff");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:Inter Tight;font-style:normal;font-display:swap;font-weight:700;src:url(../media/inter-tight-latin-700-normal.1y7ipgi1p0jyj.woff2)format("woff2"),url(../media/inter-tight-latin-700-normal.1s73wq8tp9qob.woff)format("woff");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:Inter Tight;font-style:normal;font-display:swap;font-weight:800;src:url(../media/inter-tight-cyrillic-ext-800-normal.33csgc5ewk4h5.woff2)format("woff2"),url(../media/inter-tight-cyrillic-ext-800-normal.26kjn2tpmrx_s.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Tight;font-style:normal;font-display:swap;font-weight:800;src:url(../media/inter-tight-cyrillic-800-normal.16kjed3t153e2.woff2)format("woff2"),url(../media/inter-tight-cyrillic-800-normal.14ksgqmc049ph.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Tight;font-style:normal;font-display:swap;font-weight:800;src:url(../media/inter-tight-greek-ext-800-normal.0srznm-uw-mr-.woff2)format("woff2"),url(../media/inter-tight-greek-ext-800-normal.0apwtjr45lc9j.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter Tight;font-style:normal;font-display:swap;font-weight:800;src:url(../media/inter-tight-greek-800-normal.2j5sh7-05dhxo.woff2)format("woff2"),url(../media/inter-tight-greek-800-normal.09q-kzrhfcw3r.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Tight;font-style:normal;font-display:swap;font-weight:800;src:url(../media/inter-tight-vietnamese-800-normal.26fx7f4i0ilds.woff2)format("woff2"),url(../media/inter-tight-vietnamese-800-normal.3kooggk3iuae8.woff)format("woff");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:Inter Tight;font-style:normal;font-display:swap;font-weight:800;src:url(../media/inter-tight-latin-ext-800-normal.14ogk7_xx2yn4.woff2)format("woff2"),url(../media/inter-tight-latin-ext-800-normal.049bz6i29nivm.woff)format("woff");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:Inter Tight;font-style:normal;font-display:swap;font-weight:800;src:url(../media/inter-tight-latin-800-normal.0tlsga6h_5zj7.woff2)format("woff2"),url(../media/inter-tight-latin-800-normal.1-5r_3etjq-6e.woff)format("woff");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:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/dm-mono-latin-ext-400-normal.1pfgs2ppes6ct.woff2)format("woff2"),url(../media/dm-mono-latin-ext-400-normal.0v8siylx-sjgb.woff)format("woff");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:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/dm-mono-latin-400-normal.3cj_yefp0d3o_.woff2)format("woff2"),url(../media/dm-mono-latin-400-normal.1uf9q2fklt56m.woff)format("woff");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:DM Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/dm-mono-latin-ext-500-normal.0cgt5vt4dcd9-.woff2)format("woff2"),url(../media/dm-mono-latin-ext-500-normal.1a10x7u2b971a.woff)format("woff");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:DM Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/dm-mono-latin-500-normal.2qgt1jvo-spce.woff2)format("woff2"),url(../media/dm-mono-latin-500-normal.3jflfju2uedkn.woff)format("woff");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}
:root,html[data-mode=night]{--bg:#0e0d11;--surface:#17151c;--surface-2:#221f29;--text:#f4f0e8;--muted:#8f8a99;--track:#f4f0e824;--divider:#f4f0e81f;--badge-border:#f4f0e85c;--overlay:#0e0d11eb;--film:#ff6b4a;--books:#3fc1a5;--music:#f2c14e;--film-ink:#ff6b4a;--books-ink:#3fc1a5;--music-ink:#f2c14e;--on-accent:#15131c;--danger:#ff8f7a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-mode=day]{--bg:#f6f2eb;--surface:#ece6dc;--surface-2:#e0d9cd;--text:#15131c;--muted:#67626f;--track:#15131c1f;--divider:#15131c1f;--badge-border:#15131c66;--overlay:#f6f2ebf0;--film-ink:#c4421f;--books-ink:#1b7b67;--music-ink:#94690a;--danger:#b5321c;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root{--cjk:"PingFang TC", "PingFang HK", "Noto Sans TC", "Microsoft JhengHei", "Heiti TC";--display:"Inter Tight", var(--cjk), system-ui, sans-serif;--sans:"Inter Tight", var(--cjk), system-ui, sans-serif;--mono:"DM Mono", ui-monospace, monospace;--radius:0;--label:600 11px/1.2 var(--sans);--label-track:.1em;--tabbar-h:60px;--top-h:56px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.5;transition:background .2s,color .2s}a{color:var(--text)}img{border-radius:0}p{margin:0}.page{max-width:480px;min-height:calc(100dvh - var(--top-h));flex-direction:column;gap:24px;margin:0 auto;padding:20px 16px 40px;display:flex}.site-top{z-index:30;height:var(--top-h);background:var(--bg);border-bottom:1px solid var(--divider);justify-content:space-between;align-items:center;padding:0 max(16px,50vw - 224px);display:flex;position:sticky;top:0}.wordmark{font:800 22px/1 var(--display);letter-spacing:-.03em;color:var(--text);text-decoration:none}.site-controls{gap:6px;display:flex;position:relative}.control{min-width:34px;height:34px;color:var(--text);border:1px solid var(--badge-border);font:var(--label);letter-spacing:var(--label-track);text-transform:uppercase;cursor:pointer;background:0 0;border-radius:0;justify-content:center;align-items:center;gap:5px;padding:0 10px;display:inline-flex}.control svg{width:16px;height:16px}.control:focus-visible{outline:2px solid var(--film);outline-offset:2px}.lang-menu{z-index:40;background:var(--bg);border:1px solid var(--badge-border);width:220px;padding:6px 0;position:absolute;top:42px;right:0;box-shadow:0 12px 32px #0000004d}.lang-head{font:var(--label);letter-spacing:var(--label-track);text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--divider);margin-bottom:4px;padding:8px 14px}.lang-item{color:var(--muted);justify-content:space-between;align-items:center;padding:9px 14px;font-size:14px;display:flex}.lang-item.on{color:var(--text);font-weight:600}.lang-item small{font:var(--label);letter-spacing:var(--label-track);text-transform:uppercase}.topbar{justify-content:space-between;align-items:baseline;display:flex}.eyebrow{font:var(--label);letter-spacing:var(--label-track);color:var(--muted);text-transform:uppercase}h1,h2,h3{font-family:var(--display);letter-spacing:-.02em;margin:0;line-height:1.08}h1{letter-spacing:-.035em;font-size:36px;font-weight:800}h2{letter-spacing:-.03em;font-size:30px;font-weight:800}h3{font-size:18px;font-weight:700}.muted{color:var(--muted)}.small{font-size:13px}.button{border:1px solid var(--text);background:var(--text);min-height:50px;color:var(--bg);font:700 13px/1.2 var(--sans);letter-spacing:var(--label-track);text-transform:uppercase;cursor:pointer;border-radius:0;justify-content:center;align-items:center;gap:8px;padding:12px 22px;text-decoration:none;transition:opacity .15s;display:inline-flex}.button:hover{opacity:.88}.button:disabled{opacity:.4;cursor:not-allowed}.button.secondary{color:var(--text);border-color:var(--badge-border);background:0 0}.button.ghost{color:var(--muted);text-transform:none;letter-spacing:0;min-height:40px;font:500 14px var(--sans);background:0 0;border-color:#0000;padding:8px 12px}.button.ghost:hover{color:var(--text);opacity:1}.button.full{width:100%}.actions{flex-direction:column;gap:10px;margin-top:auto;display:flex}.card{border-top:1px solid var(--divider);flex-direction:column;gap:12px;padding:20px 0 0;display:flex}.field{flex-direction:column;gap:8px;display:flex}.field label{font:var(--label);letter-spacing:var(--label-track);text-transform:uppercase;color:var(--muted)}input[type=search],input[type=text],select,textarea{border:0;border-bottom:1px solid var(--badge-border);width:100%;min-height:48px;color:var(--text);font-family:var(--sans);background:0 0;border-radius:0;padding:12px 0;font-size:16px}select{border:1px solid var(--badge-border);background:var(--bg);padding:12px 8px}textarea{border:1px solid var(--badge-border);resize:vertical;padding:10px 12px}input::placeholder,textarea::placeholder{color:var(--muted)}input:focus-visible,select:focus-visible,textarea:focus-visible,.button:focus-visible,.result-row:focus-visible{outline:2px solid var(--film);outline-offset:2px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--badge-border);border-radius:0;align-items:center;gap:8px;max-width:100%;padding:6px 6px 6px 12px;font-size:13px;display:inline-flex}.chip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chip button{background:var(--surface-2);color:var(--text);cursor:pointer;border:0;border-radius:0;flex:none;width:26px;height:26px;font-size:14px}.progress{background:var(--track);height:3px;overflow:hidden}.progress>div{background:var(--film);height:100%;transition:width .3s}.results{flex-direction:column;display:flex}.result-row{border:0;border-bottom:1px solid var(--divider);color:var(--text);text-align:left;cursor:pointer;font-family:var(--sans);background:0 0;align-items:center;gap:12px;width:100%;padding:10px 0;display:flex}.result-row:hover .result-title{text-decoration:underline}.result-row[aria-disabled=true]{opacity:.4;cursor:default}.thumb{background:var(--surface-2);object-fit:cover;flex:none;width:40px;height:60px}.thumb.round{border-radius:50%;place-items:center;height:40px;font-weight:800;display:grid}.result-text{flex-direction:column;min-width:0;display:flex}.result-title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.result-sub{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.picked{flex-direction:column;display:flex}.picked-row{border-bottom:1px solid var(--divider);align-items:center;gap:12px;padding:10px 0;display:flex}.picked-row .remove{margin-left:auto}.code-block{flex-direction:column;gap:6px;display:flex}.code{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.code-letters{font:800 clamp(64px, 24vw, 112px)/.86 var(--display);letter-spacing:-.05em}.code-n{font:500 clamp(20px, 6vw, 28px) var(--mono);color:var(--muted)}.type-name{font:700 24px/1.15 var(--display);letter-spacing:-.02em}.print{flex-direction:column;align-items:center;gap:10px;display:flex}.print svg{width:min(78vw,320px);height:auto}.legend{font:400 12px var(--mono);color:var(--muted);gap:16px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.dot{width:9px;height:9px;display:inline-block}.bars{flex-direction:column;gap:16px;display:flex}.bar-labels{font:var(--label);letter-spacing:var(--label-track);text-transform:uppercase;justify-content:space-between;display:flex}.bar-labels .win{color:var(--text)}.bar-labels .lose{color:var(--muted)}.bar-track{background:var(--track);height:4px;margin-top:8px;position:relative}.bar-fill{background:var(--text);position:absolute;top:0;bottom:0}.badges{flex-wrap:wrap;gap:8px;display:flex}.badge{border:1px solid var(--badge-border);font:var(--label);letter-spacing:.06em;text-transform:uppercase;padding:7px 12px}.notice{border-left:2px solid var(--music);color:var(--muted);padding:4px 0 4px 12px;font-size:13px}.error{color:var(--danger);font-size:13px}.letters{flex-direction:column;display:flex}.letter-card{border-bottom:1px solid var(--divider);align-items:center;gap:14px;padding:14px 0;display:flex}.letter-card:first-child{border-top:1px solid var(--divider)}.letter-pair{font:800 22px var(--display);white-space:nowrap;letter-spacing:-.02em;min-width:82px}.letter-name{font:700 16px var(--display)}.nav-row{justify-content:space-between;gap:8px;display:flex}.tick-list{flex-direction:column;gap:8px;display:flex}.tick-option,.choice,.scale-step{text-align:left;border:1px solid var(--divider);width:100%;min-height:52px;color:var(--text);font-family:var(--sans);cursor:pointer;background:0 0;border-radius:0;align-items:center;gap:12px;padding:14px;font-size:15px;transition:background .15s,border-color .15s;display:flex}.tick-option:hover,.choice:hover,.scale-step:hover{border-color:var(--badge-border)}.tick-option.on,.choice.on,.scale-step.on{border-color:var(--text);background:var(--surface)}.tick-box{border:1.5px solid var(--badge-border);flex:none;place-items:center;width:22px;height:22px;font-size:13px;display:grid}.tick-option.on .tick-box{background:var(--film);color:var(--on-accent);border-color:var(--film)}.choice-list{flex-direction:column;gap:8px;display:flex}.choice{min-height:64px;font-size:16px;font-weight:500}.scale{flex-direction:column;gap:8px;display:flex}.scale-step{justify-content:center}.reveal{align-items:baseline;gap:14px;display:flex}.reveal-letter{font:800 128px/.86 var(--display);letter-spacing:-.05em;color:var(--music-ink)}.quiz-list{flex-direction:column;display:flex}.quiz-row{border-bottom:1px solid var(--divider);color:var(--text);align-items:center;gap:12px;padding:12px 0;text-decoration:none;display:flex}.quiz-letters{min-width:44px;font-weight:800}.quiz-title{flex:1;font-weight:600}.quiz-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.quiz-card{background:color-mix(in srgb, var(--accent,var(--muted)) 14%, var(--bg));border-top:3px solid var(--accent,var(--muted));color:var(--text);flex-direction:column;gap:10px;min-height:160px;padding:14px;text-decoration:none;display:flex;position:relative}.quiz-card:hover{background:color-mix(in srgb, var(--accent,var(--muted)) 22%, var(--bg))}.quiz-card.feature{flex-direction:row;align-items:center;min-height:0}.quiz-card h3{font-size:18px}.quiz-card-text{flex-direction:column;gap:3px;display:flex}.quiz-pair{font:var(--label);letter-spacing:var(--label-track);color:var(--text);opacity:.8}.quiz-meta{color:var(--muted);font-size:12px}.quiz-status{font:var(--label);letter-spacing:.06em;text-transform:uppercase;background:var(--bg);padding:4px 8px;position:absolute;top:10px;right:10px}.quiz-status.done{background:var(--accent,var(--text));color:var(--on-accent)}.quiz-card.feature .quiz-status.done{color:var(--bg)}.quiz-card.soon{opacity:.6;border:1px dashed var(--badge-border);background:0 0;border-top-width:1px}.quiz-feature{color:var(--text);text-decoration:none}.tabs{border-bottom:1px solid var(--divider);scrollbar-width:none;gap:22px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{white-space:nowrap;color:var(--muted);font:var(--label);letter-spacing:var(--label-track);text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex:none;align-items:center;gap:6px;margin-bottom:-1px;padding:10px 0;font-size:12px;display:inline-flex}.tab:hover{color:var(--text)}.tab.on{color:var(--text);border-bottom-color:var(--film)}.tab-count{font:500 11px var(--mono);color:var(--muted);letter-spacing:0}.tab.on .tab-count{color:var(--film-ink)}.bingo-row{flex-direction:column;gap:10px;display:flex}.bingo-row h3{align-items:center;gap:10px;display:flex}.bingo-flag{font:var(--label);letter-spacing:var(--label-track);text-transform:uppercase;background:var(--music);color:var(--on-accent);padding:4px 8px}.bingo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 6px;display:grid}.bingo-cell{cursor:pointer;color:var(--text);font-family:var(--sans);text-align:left;background:0 0;border:0;border-radius:0;flex-direction:column;gap:6px;min-width:0;padding:0;display:flex;position:relative}.bingo-cell img,.bingo-fallback{aspect-ratio:2/3;object-fit:cover;background:var(--surface-2);width:100%;transition:transform .12s,opacity .12s;display:block}.bingo-cell:active img{transform:scale(.97)}.bingo-cell.seen img,.bingo-cell.seen .bingo-fallback{outline:2px solid var(--text);outline-offset:-2px;opacity:.8}.bingo-cell.loved img,.bingo-cell.loved .bingo-fallback{outline:2px solid var(--film);outline-offset:-2px;opacity:.8}.bingo-mark{background:var(--text);width:28px;height:28px;color:var(--bg);place-items:center;font-size:14px;display:grid;position:absolute;top:0;right:0}.bingo-cell.loved .bingo-mark{background:var(--film);color:var(--on-accent)}.bingo-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;font-weight:500;line-height:1.3;display:-webkit-box;overflow:hidden}.bingo-fallback{text-align:center;place-items:center;padding:8px;font-size:12px;display:grid}.bingo-cell img[src^="/api/artist-cover"]{background:var(--surface-2)}.sticky-footer{background:var(--overlay);border-top:1px solid var(--divider);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-direction:column;gap:6px;margin:0 -16px -40px;padding:16px 16px 12px;display:flex;position:sticky;bottom:0}.sticky-footer .button{min-height:46px}.toast{left:50%;top:calc(var(--top-h) + 12px);z-index:50;background:var(--music);color:var(--on-accent);font:800 16px var(--display);letter-spacing:-.01em;padding:10px 20px;animation:.25s pop;position:fixed;transform:translate(-50%);box-shadow:0 6px 24px #0000004d}@keyframes pop{0%{opacity:0;transform:translate(-50%)scale(.85)}to{opacity:1;transform:translate(-50%)scale(1)}}footer.attribution{color:var(--muted);text-align:center;max-width:480px;margin:0 auto;padding:8px 16px 24px;font-size:11px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.row-title{width:100%;color:var(--text);cursor:pointer;text-align:left;font-family:var(--sans);background:0 0;border:0;justify-content:space-between;align-items:baseline;gap:8px;padding:0;display:flex}.row-title:disabled{cursor:default}.row-title h3{align-items:center;gap:10px;display:flex}.row-title .small{font:var(--label);letter-spacing:var(--label-track);text-transform:uppercase;white-space:nowrap}.row-title:hover:not(:disabled) .small{color:var(--text)}.year-chips{scrollbar-width:none;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.year-chips::-webkit-scrollbar{display:none}.chip-button{border:1px solid var(--badge-border);color:var(--text);font:500 13px var(--sans);cursor:pointer;background:0 0;border-radius:0;flex:none;padding:7px 12px}.chip-button:hover{border-color:var(--text)}.chip-button.on{background:var(--text);color:var(--bg);border-color:var(--text)}.match-score{flex-direction:column;gap:4px;display:flex}.match-number{font:800 clamp(80px, 28vw, 128px)/.86 var(--display);letter-spacing:-.05em;color:var(--music-ink)}.reasons{flex-direction:column;gap:6px;margin:0;padding-left:20px;display:flex}.medium-scores{border-top:1px solid var(--divider);border-bottom:1px solid var(--divider);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.medium-score{flex-direction:column;gap:2px;padding:12px 8px;display:flex}.medium-score+.medium-score{border-left:1px solid var(--divider)}.medium-number{font:800 22px var(--display)}.match-ready{color:var(--text);border:1px solid var(--music);padding:14px;text-decoration:none}body:has(.tabbar) .page{padding-bottom:calc(var(--tabbar-h) + 24px)}body:has(.tabbar) footer.attribution{padding-bottom:calc(var(--tabbar-h) + 16px)}.tabbar{z-index:20;height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding:0 0 env(safe-area-inset-bottom);background:var(--bg);border-top:1px solid var(--divider);justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar-item{max-width:140px;color:var(--muted);font:var(--label);letter-spacing:var(--label-track);text-transform:uppercase;border-top:2px solid #0000;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;margin-top:-1px;text-decoration:none;display:flex}.tabbar-item:hover{color:var(--text)}.tabbar-item.on{color:var(--text);border-top-color:var(--film)}.tabbar-icon{letter-spacing:0;font-size:16px;line-height:1}body:has(.tabbar) .sticky-footer{bottom:var(--tabbar-h);margin-bottom:0}.filter-toggle{align-self:flex-start;padding-left:0}.filters{border-top:1px solid var(--divider);border-bottom:1px solid var(--divider);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px 0;display:grid}.filters label{flex-direction:column;gap:4px;display:flex}.filters label>.small{font:var(--label);letter-spacing:var(--label-track);text-transform:uppercase}.filters select{min-height:44px;padding:8px 10px;font-size:15px}.chip-select{border:1px solid var(--badge-border);width:auto;min-height:0;color:var(--text);font:500 13px var(--sans);background:0 0;border-radius:0;flex:none;padding:7px 12px}.split-list{flex-direction:column;gap:10px;display:flex}.split-track{background:var(--track);height:4px;margin-top:6px;overflow:hidden}.split-left{background:var(--muted);height:100%}.code-share{margin:0}.code-badge{top:var(--top-h);z-index:15;background:var(--bg);border-bottom:1px solid var(--divider);color:var(--text);align-items:baseline;gap:10px;margin:-20px -16px 0;padding:12px 16px;text-decoration:none;display:flex;position:sticky}.code-badge .small{font:var(--label);letter-spacing:var(--label-track);text-transform:uppercase}.code-badge strong{font:800 15px var(--display);letter-spacing:.01em;flex:1}.code-badge.flash strong{color:var(--music-ink)}.code-badge.flash{box-shadow:inset 0 -2px 0 var(--music)}.help-button{left:14px;bottom:calc(var(--tabbar-h) + 14px);z-index:25;border:1px solid var(--badge-border);background:var(--bg);width:40px;height:40px;color:var(--text);font:800 18px var(--display);cursor:pointer;border-radius:0;position:fixed;box-shadow:0 4px 16px #00000040}.help-overlay{z-index:60;background:#0000008c;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.help-panel{background:var(--bg);border-top:3px solid var(--film);flex-direction:column;gap:12px;width:100%;max-width:480px;max-height:85dvh;padding:20px 16px 32px;display:flex;overflow-y:auto}.help-list{flex-direction:column;gap:8px;margin:0;padding-left:18px;display:flex}body:has(.sticky-footer) .help-button{bottom:calc(var(--tabbar-h) + 120px)}.stat-tiles{border-top:1px solid var(--divider);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.stat-tile{border-bottom:1px solid var(--divider);flex-direction:column;gap:2px;padding:14px 0;display:flex}.stat-tile:nth-child(2n){border-left:1px solid var(--divider);padding-left:14px}.stat-value{font:800 28px/1.1 var(--display);letter-spacing:-.02em}.chart{flex-direction:column;gap:8px;margin:0;display:flex}.chart-title{font:var(--label);letter-spacing:var(--label-track);text-transform:uppercase;color:var(--muted)}.chart svg{align-self:center;width:100%;max-width:300px;height:auto}.stack{background:var(--track);gap:2px;height:12px;display:flex;overflow:hidden}.stack-seg{min-width:2px;height:100%}.legend-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;margin:0;padding:0;font-size:13px;list-style:none;display:grid}.legend-list li{align-items:center;gap:8px;display:flex}.legend-list li .muted{font-family:var(--mono);margin-left:auto;font-size:12px}.hbars{flex-direction:column;gap:12px;display:flex}.hbar-labels{justify-content:space-between;gap:8px;display:flex}.hbar-track{background:var(--track);height:4px;margin-top:6px}.hbar-fill{background:var(--text);height:100%}.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}.search-bar{flex-direction:column;gap:8px;display:flex}.combobox{flex-direction:column;gap:4px;display:flex;position:relative}.combobox>label,.combobox>span{font:var(--label);letter-spacing:var(--label-track);text-transform:uppercase}.combobox-input{position:relative}.combobox-input input{padding-right:40px}.combobox-clear{color:var(--muted);cursor:pointer;background:0 0;border:0;width:32px;height:32px;position:absolute;top:50%;right:0;transform:translateY(-50%)}.combobox-clear:hover{color:var(--text)}.combobox-list{z-index:30;background:var(--bg);border:1px solid var(--badge-border);max-height:280px;margin:4px 0 0;padding:4px 0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 10px 28px #0000004d}.combobox-list li{cursor:pointer;padding:10px 12px}.combobox-list li.active,.combobox-list li:hover{background:var(--surface)}.combobox-list.empty{padding:10px 12px}.filters .combobox input{min-height:44px;padding:8px 0;font-size:15px}.match-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.match-row{border-bottom:1px solid var(--divider);color:var(--text);align-items:center;gap:12px;padding:12px 0;text-decoration:none;display:flex}.match-row-score{font:800 22px var(--display);color:var(--music-ink);min-width:56px}.match-row-name{flex:1;font-weight:600}.soon-card{opacity:.7}.explore-entry{text-align:left;border:1px solid var(--badge-border);color:var(--text);font-family:var(--sans);cursor:pointer;background:0 0;flex-direction:column;gap:4px;padding:14px;display:flex}.explore-entry:hover{border-color:var(--text)}.explore-entry strong{font-weight:700}.badge-toggle{color:var(--text);cursor:pointer;background:0 0}.badge-toggle.on{background:var(--text);color:var(--bg);border-color:var(--text)}.badge-toggle:disabled{opacity:.4;cursor:not-allowed}.title-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.title-row{border-bottom:1px solid var(--divider);align-items:center;gap:12px;padding:10px 0;display:flex}.title-row .result-text{flex:1;min-width:0}.title-row .result-title,.title-row .result-sub{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.rating-toggle{border:1px solid var(--badge-border);flex:none;display:flex}.rating-toggle button{color:var(--muted);font:var(--label);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;padding:7px 9px}.rating-toggle button+button{border-left:1px solid var(--badge-border)}.rating-toggle button.on{background:var(--text);color:var(--bg)}.wrap-options{grid-template-columns:.7fr .85fr 1.45fr;align-items:end;gap:10px;display:grid}.wrap-option{color:var(--muted);cursor:pointer;font:var(--label);letter-spacing:var(--label-track);text-transform:uppercase;background:0 0;border:0;flex-direction:column;align-items:stretch;gap:6px;padding:0;display:flex}.wrap-option img{background:var(--surface-2);outline-offset:-2px;outline:2px solid #0000;width:100%;display:block}.wrap-option.on{color:var(--text)}.wrap-option.on img{outline-color:var(--film)}.wrap-preview{background:var(--surface-2);max-width:100%;max-height:440px;margin:0 auto;display:block}.share-links{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.share-links a.chip-button{color:inherit;text-decoration:none}.activity-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.activity-row{border-bottom:1px solid var(--divider);flex-direction:column;gap:8px;padding:14px 0;display:flex}.activity-head{align-items:center;gap:12px;display:flex}.activity-head .result-text{min-width:0}.activity-note{border-left:2px solid var(--books);margin:0;padding-left:12px}.activity-actions{gap:4px;display:flex}.activity-actions .button{padding-left:0}.tap-legend{border-top:1px solid var(--divider);border-bottom:1px solid var(--divider);grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;padding:12px 0;list-style:none;display:grid}.tap-legend li{align-items:center;gap:8px;font-size:13px;line-height:1.25;display:flex}.tap-legend b{font-size:13px;font-weight:700;display:block}.tap-mark{flex:none;place-items:center;width:28px;height:28px;font-size:14px;display:grid}.tap-mark.seen{background:var(--books);color:var(--on-accent)}.tap-mark.loved{background:var(--film);color:var(--on-accent)}.tap-mark.disliked{background:var(--muted);color:var(--bg)}.bingo-cell.disliked img,.bingo-cell.disliked .bingo-fallback{outline:2px solid var(--muted);outline-offset:-2px;opacity:.45;filter:grayscale()}.bingo-cell.disliked .bingo-mark{background:var(--muted);color:var(--bg)}.tip-sheet{left:50%;bottom:calc(var(--tabbar-h) + 16px);z-index:55;background:var(--bg);border:1px solid var(--badge-border);border-top:3px solid var(--film);flex-direction:column;gap:10px;width:min(440px,100vw - 32px);padding:18px 16px 16px;animation:.25s rise;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 16px 40px #00000059}@keyframes rise{0%{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translate(-50%)}}.rec{flex-direction:column;gap:2px;min-width:0;display:flex}.rec-because{font:var(--label);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.quiz-scrub{align-items:center;height:28px;display:flex;position:relative}.quiz-segments{pointer-events:none;align-items:center;gap:3px;display:flex;position:absolute;inset:0}.quiz-segments .seg{background:var(--track);flex:1;height:6px;transition:background .15s,height .15s}.quiz-segments .seg.done{background:var(--text)}.quiz-segments .seg.current{background:var(--film);height:12px}.quiz-scrub input[type=range]{opacity:0;cursor:grab;border:0;width:100%;height:100%;min-height:0;margin:0;padding:0;position:absolute;inset:0}.quiz-scrub input[type=range]:focus-visible{opacity:0}.quiz-scrub:has(input:focus-visible){outline:2px solid var(--film);outline-offset:4px}.title-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 6px;margin:0;padding:0;list-style:none;display:grid}.title-grid li{flex-direction:column;gap:4px;min-width:0;display:flex;position:relative}.title-grid img,.title-grid-blank{aspect-ratio:2/3;object-fit:cover;background:var(--surface-2);width:100%;display:block}.title-grid li.missing img,.title-grid li.missing .title-grid-blank{opacity:.35;filter:grayscale(.6)}.title-grid-mark{background:var(--text);width:20px;height:20px;color:var(--bg);place-items:center;font-size:11px;display:grid;position:absolute;top:0;right:0}.title-grid-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;line-height:1.25;display:-webkit-box;overflow:hidden}.drill{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;width:100%;padding:0}.drill:hover .drill-name{text-decoration:underline}.drill[aria-expanded=true] .drill-name{color:var(--film-ink)}.drill-panel{flex-direction:column;gap:10px;padding:10px 0 4px;display:flex}.feature-box{background:var(--surface);border-top:0;border-left:3px solid var(--music);padding:18px 16px}.login-box{border:1px solid var(--film);border-top:3px solid var(--film);flex-direction:column;gap:10px;padding:16px;display:flex}.badge-catalogue{flex-direction:column;gap:14px;display:flex}.badge-group h4{font:var(--label);letter-spacing:var(--label-track);text-transform:uppercase;color:var(--muted);margin:0 0 6px}.badge-line{border-bottom:1px solid var(--divider);align-items:baseline;gap:10px;padding:6px 0;font-size:14px;display:flex}.badge-line .state{text-align:center;flex:none;width:18px}.badge-line.locked{color:var(--muted)}.badge-line .how{color:var(--muted);font-size:12px;display:block}.genre-chips{flex-wrap:wrap;gap:6px;display:flex}.code-change-mark{background:var(--music);width:40px;height:60px;color:var(--on-accent);font:800 11px var(--display);letter-spacing:.02em;flex:none;place-items:center;display:grid}.sticker-share{flex-direction:column;gap:10px;display:flex}.sticker-preview{background:repeating-conic-gradient(var(--surface-2) 0 25%, var(--surface) 0 50%) 0 0 / 20px 20px;justify-content:center;padding:16px;display:flex}.sticker-preview img{width:min(62%,260px);height:auto;display:block}.sticker-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.wrap-kinds{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.wrap-kind{text-align:left;border:1px solid var(--badge-border);color:var(--text);cursor:pointer;font-family:var(--sans);background:0 0;flex-direction:column;gap:4px;padding:12px 10px;display:flex}.wrap-kind b{letter-spacing:-.01em;font-size:15px;font-weight:800}.wrap-kind span{color:var(--muted);font-size:12px;line-height:1.3}.wrap-kind:hover{border-color:var(--text)}.wrap-kind.on{border-color:var(--film);box-shadow:inset 0 3px 0 var(--film)}.wrap-loading{width:min(100%,248px);color:var(--muted);place-items:center;font-size:13px;display:grid}.title-grid-tap{z-index:1;cursor:pointer;background:0 0;border:0;padding:0;position:absolute;inset:0}.title-grid-tap:focus-visible{outline:2px solid var(--film);outline-offset:2px}.title-grid li.loved img{outline:2px solid var(--film);outline-offset:-2px}.title-grid li.loved .title-grid-mark{background:var(--film);color:var(--on-accent)}.title-grid li.disliked img{opacity:.45;filter:grayscale()}.title-grid li.disliked .title-grid-mark{background:var(--muted)}.pole{color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;background:0 0;border:0;padding:4px 0}.pole.win{color:var(--text)}.pole.lose{color:var(--muted)}.pole:hover,.pole.on{color:var(--film-ink)}.pole-count{font-family:var(--mono);letter-spacing:0;opacity:.8;font-size:11px}.drill-panel{transform-origin:top;animation:.28s cubic-bezier(.2,.7,.2,1) unfold;overflow:hidden}.badge-catalogue{animation:.28s cubic-bezier(.2,.7,.2,1) unfold}@keyframes unfold{0%{clip-path:inset(0 0 100%);opacity:.2;transform:translateY(-6px)}to{clip-path:inset(0);opacity:1;transform:none}}.lang-item{text-align:left;width:100%;font:inherit;cursor:pointer;background:0 0;border:0;font-size:14px}div.lang-item{cursor:default}button.lang-item:hover{background:var(--surface);color:var(--text)}.year-picker{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.year-picker select{border:1px solid var(--divider);background:var(--bg);min-height:0;color:var(--text);width:auto;padding:2px 4px;font-size:12px}.year-grid-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.year-grid-nav{align-items:center;gap:8px;display:flex}.year-grid-nav .control{min-width:28px;height:28px;padding:0}.year-grid-nav .control:disabled{opacity:.3;cursor:default}.year-grid-year{font:500 14px var(--mono)}.year-grid-rows{flex-direction:column;gap:3px;display:flex}.year-grid-row{grid-template-columns:34px 1fr 22px;align-items:center;gap:6px;display:grid}.year-grid-month{font:var(--label);letter-spacing:.04em;color:var(--muted)}.year-grid-cells{grid-template-columns:repeat(31,minmax(0,1fr));gap:2px;display:grid}.year-grid-total{font:400 11px var(--mono);color:var(--muted);text-align:right}.cell{aspect-ratio:1;background:var(--track);cursor:pointer;border:0;padding:0;display:block}.cell.l1{background:color-mix(in srgb, var(--film) 30%, var(--bg))}.cell.l2{background:color-mix(in srgb, var(--film) 55%, var(--bg))}.cell.l3{background:color-mix(in srgb, var(--film) 80%, var(--bg))}.cell.l4{background:var(--film)}.cell.on{outline:2px solid var(--text);outline-offset:0}.year-grid-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.year-grid-legend{align-items:center;gap:3px;display:inline-flex}.year-grid-legend .cell{cursor:default;width:10px}.print-stage{display:inline-block;position:relative}.print-avatar{filter:drop-shadow(0 8px 18px #00000059);position:absolute;bottom:-6px;right:-8px}.character-avatar{display:inline-block}.character-avatar svg{width:100%;height:100%;display:block}.character-block{border-left:3px solid var(--music);flex-direction:column;gap:4px;padding-left:12px;display:flex}.character-name{font:800 26px/1.05 var(--display);letter-spacing:-.03em}.character-block p{margin:0}.sticker-preview.light{background:repeating-conic-gradient(#e9e4da 0 25%, #f6f2eb 0 50%) 0 0 / 20px 20px}.sticker-preview.dark{background:repeating-conic-gradient(#221f29 0 25%, #17151c 0 50%) 0 0 / 20px 20px}.year-scroller{flex-direction:column;gap:4px;display:inline-flex;position:relative}.year-scroller.compact{flex-direction:row;align-items:center;display:inline-flex}.year-scroller-button{border:1px solid var(--badge-border);color:var(--text);font:500 14px var(--sans);cursor:pointer;text-align:left;background:0 0;min-height:40px;padding:8px 10px}.year-scroller.compact .year-scroller-button{border-color:var(--divider);min-height:0;padding:3px 8px;font-size:12px}.year-scroller-panel{z-index:35;background:var(--bg);border:1px solid var(--badge-border);flex-direction:column;gap:6px;width:180px;padding:6px;display:flex;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 10px 28px #0000004d}.year-scroller-panel input{min-height:36px;padding:6px 4px;font-size:15px}.year-scroller-list{scroll-snap-type:y proximity;flex-direction:column;max-height:196px;display:flex;overflow-y:auto}.year-scroller-list button{scroll-snap-align:center;color:var(--text);font:500 15px var(--mono);text-align:left;cursor:pointer;background:0 0;border:0;padding:8px 10px}.year-scroller-list button:hover{background:var(--surface)}.year-scroller-list button.on{background:var(--text);color:var(--bg)}.filter-chips{flex-direction:column;grid-column:1/-1;gap:4px;display:flex}.filter-toggle{align-self:flex-start;min-height:40px;padding:8px 16px}.character-options{flex-direction:column;gap:6px;display:flex}.character-option{border:1px solid var(--divider);color:var(--text);text-align:left;cursor:pointer;font:inherit;background:0 0;align-items:center;gap:12px;padding:8px;display:flex}.character-option>span:last-child{flex-direction:column;gap:2px;display:flex}.character-option b{font-size:16px;font-weight:800}.character-option.on{border-color:var(--music);box-shadow:inset 3px 0 0 var(--music)}.item-menu{gap:14px}.item-menu-head{align-items:center;gap:12px;display:flex}.item-menu-head .result-text{flex:1;min-width:0}.item-menu-section{border-top:1px solid var(--divider);flex-direction:column;gap:8px;padding-top:12px;display:flex}.item-menu-section h4{font:var(--label);letter-spacing:var(--label-track);text-transform:uppercase;color:var(--muted);margin:0}.item-menu-new{align-items:center;gap:8px;display:flex}.item-menu-new input{flex:1;min-height:40px}.item-menu-new .button{min-height:40px;padding:8px 14px}.item-menu-action{text-align:left;border:0;border-top:1px solid var(--divider);color:var(--text);font:inherit;cursor:pointer;background:0 0;flex-direction:column;gap:2px;padding:12px 0 4px;display:flex}.item-menu-action b{font-weight:700}.item-menu-action:hover b{text-decoration:underline}.tap-mark.hold{color:var(--text);border:1.5px solid var(--badge-border);background:0 0;font-weight:800}@media (max-width:420px){.tap-legend{grid-template-columns:repeat(2,minmax(0,1fr))}}.bingo-cell{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.title-row .more{min-height:0;padding:4px 8px;font-size:18px}.rec-hero{align-items:flex-start;gap:16px;display:flex}.rec-hero img,.rec-hero .title-grid-blank{aspect-ratio:2/3;object-fit:cover;flex:none;width:120px}.tag-nudge{color:var(--film-ink);font-weight:600}.friend-table{border-collapse:collapse;width:100%;font-size:13px}.friend-table th{text-align:left;font:var(--label);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--badge-border);padding:6px 4px}.friend-table td{border-bottom:1px solid var(--divider);font-family:var(--mono);padding:8px 4px}.friend-table td:first-child{font-family:var(--sans);font-weight:600}.help-panel>*{flex-shrink:0}.title-row{flex-wrap:wrap}.title-row-actions{flex-wrap:wrap;flex-basis:100%;align-items:center;gap:10px;padding-left:52px;display:flex}.year-picker,.year-picker-label{white-space:nowrap}.login-box.signed-in{border-color:var(--books);border-top-color:var(--books)}.tap-legend-wrap{flex-direction:column;display:flex}.tap-legend-toggle{color:var(--muted);font:var(--label);letter-spacing:var(--label-track);text-transform:uppercase;cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:4px 0}.tap-legend-toggle:hover{color:var(--text)}.person-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.person-row{border-bottom:1px solid var(--divider);align-items:center;gap:12px;padding:10px 0;display:flex}.person-avatar{background:var(--music);width:36px;height:36px;color:var(--on-accent);font:800 16px var(--display);flex:none;place-items:center;display:grid}.person-text{flex-direction:column;flex:1;min-width:0;display:flex}.person-text b{font-weight:700}.person-row .button{min-height:36px;padding:6px 14px}.feed-item{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;width:100%;padding:0}.info-tip{margin-left:6px;display:inline;position:relative}.info-tip-button{border:1px solid var(--badge-border);width:18px;height:18px;color:var(--muted);cursor:pointer;vertical-align:middle;text-transform:none;letter-spacing:0;background:0 0;border-radius:50%;padding:0;font:italic 700 11px/1 Georgia,serif}.info-tip-button:hover,.info-tip-button[aria-expanded=true]{color:var(--text);border-color:var(--text)}.info-tip-text{font:400 13px/1.45 var(--sans);color:var(--muted);text-transform:none;letter-spacing:0;border-left:2px solid var(--books);margin-top:6px;padding-left:10px;display:block}.stat-row{border-top:1px solid var(--divider);grid-template-columns:repeat(4,1fr);gap:.5rem;margin:.75rem 0 0;padding-top:.75rem;display:grid}.stat-row dt{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem}.stat-row dd{margin:0;font-family:DM Mono,monospace;font-size:1.5rem}.person-link{color:inherit;text-decoration:none}.person-link:hover b,.feed-name:hover{text-decoration:underline}.feed-post{border-top:1px solid var(--divider);gap:16px;padding:16px 0;list-style:none;display:flex}.feed-main{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.feed-who{color:inherit;align-items:center;gap:10px;text-decoration:none;display:flex}.feed-who:hover b{text-decoration:underline}.feed-title{all:unset;cursor:pointer;font-size:1.05rem;font-weight:700;line-height:1.25}.feed-title:hover{text-decoration:underline}.feed-note{border-left:2px solid var(--books);margin:0;padding-left:10px;font-size:.95rem;line-height:1.4}.feed-actions{align-items:center;gap:14px;display:flex}.like-button{all:unset;cursor:pointer;color:var(--muted);align-items:center;gap:4px;min-width:44px;min-height:32px;font-family:DM Mono,monospace;font-size:.95rem;display:inline-flex}.like-button.on{color:var(--film)}.feed-poster{all:unset;cursor:pointer;aspect-ratio:2/3;background:var(--divider);flex:none;width:84px}.feed-poster img,.feed-poster span{object-fit:cover;width:100%;height:100%;display:block}.guide{text-align:left}.guide-icon{letter-spacing:.08em;color:var(--film);font-family:DM Mono,monospace;font-size:2rem;font-weight:500}.guide-dots{gap:6px;display:flex}.guide-dots span{background:var(--divider);width:18px;height:3px}.guide-dots span.on{background:var(--film)}.hero-compact{flex-direction:column;gap:10px;display:flex}.hero-compact .print{align-items:center;gap:4px}.hero-compact .print-stage{width:min(58vw,230px)}.hero-compact .print svg{width:100%}.hero-compact .print .legend{justify-content:center;gap:10px;font-size:11px}.hero-compact .print>.small{text-align:center;font-size:11px}.hero-compact .code-letters{font-size:clamp(36px,11vw,52px)}.hero-compact .code-n{font-size:18px}.hero-compact .character-name{font-size:1.1rem;font-weight:600;line-height:1.25}.intro-langs{flex-wrap:wrap;gap:8px;display:flex}.blank-hero,.intro-preview{grid-template-columns:minmax(0,52%) 1fr;align-items:center;gap:14px;display:grid}.blank-hero .print svg,.intro-preview .print svg{width:100%}.blank-hero .print .legend,.blank-hero .print>.small,.intro-preview .print .legend,.intro-preview .print>.small{text-align:center;font-size:10px}.blank-hero .code-letters,.intro-preview .code-letters{color:var(--muted);font-size:clamp(40px,13vw,64px)}.intro-character{align-items:center;gap:10px;margin-top:10px;display:flex}.intro-avatar{border:2px dashed var(--muted);width:48px;height:48px;font:700 24px var(--display);color:var(--muted);border-radius:50%;place-items:center;display:grid}.blank-bars{flex-direction:column;gap:12px;display:flex}.blank-bar>div:first-child{justify-content:space-between;display:flex}.blank-track{background:var(--divider);height:6px;margin-top:4px}.tour-card{left:12px;right:12px;bottom:calc(var(--tabbar-h) + 10px);z-index:60;background:var(--bg);border:1px solid var(--text);flex-direction:column;gap:8px;max-width:520px;max-height:60vh;margin:0 auto;padding:14px 16px;display:flex;position:fixed;overflow-y:auto;box-shadow:0 12px 40px #00000073}.tour-card h3,.tour-card p{margin:0}.tour-card .demo{pointer-events:none;border:1px dashed var(--divider);padding:8px}.install-steps{margin:0;padding-left:20px}.year-bar-wrap{top:var(--top-h);z-index:14;background:var(--bg);margin:-20px -16px 0;position:sticky}.year-bar{background:var(--bg);border-bottom:1px solid var(--divider);align-items:center;gap:10px;height:48px;padding:0 16px;display:flex}.year-bar.demo{border:0;height:auto;padding:8px}.year-strip{scrollbar-width:none;flex:1;gap:6px;display:flex;overflow-x:auto}.year-strip::-webkit-scrollbar{display:none}.year-chip{border:1px solid var(--divider);color:var(--text);cursor:pointer;background:0 0;flex:none;padding:6px 10px;font:500 13px DM Mono,monospace}.year-chip.on{background:var(--text);color:var(--bg);border-color:var(--text)}.year-clear{all:unset;cursor:pointer;color:var(--muted);padding:6px}.year-remind{border:1px solid var(--music);background:var(--bg);flex-direction:column;gap:8px;margin:8px 16px 0;padding:12px 14px;font-size:14px;display:flex;position:relative;box-shadow:0 10px 30px #0006}.year-remind:before{content:"";background:var(--bg);border-left:1px solid var(--music);border-top:1px solid var(--music);width:12px;height:12px;position:absolute;top:-7px;left:40px;transform:rotate(45deg)}.year-remind .button{align-self:flex-start}.tabs.subtabs{left:0;right:0;bottom:var(--tabbar-h);z-index:41;background:var(--bg);border-top:1px solid var(--divider);border-bottom:0;align-items:stretch;height:44px;padding:0 max(16px,50vw - 224px);position:fixed}.tabs.subtabs .tab{border-top:2px solid #0000;border-bottom:0;margin:-1px 0 0}.tabs.subtabs .tab.on{border-top-color:var(--film)}body:has(.subtabs) .page{padding-bottom:calc(var(--tabbar-h) + 44px + 24px)}body:has(.subtabs) .sticky-footer{bottom:calc(var(--tabbar-h) + 44px)}body:has(.subtabs) .tour-card{bottom:calc(var(--tabbar-h) + 44px + 10px)}.search-row{align-items:flex-start;gap:8px;display:flex}.search-row .search-bar{flex:1;min-width:0}.filter-button{flex:none}.stage-banner{border:1px solid var(--film);flex-direction:column;gap:8px;padding:14px;display:flex}.milestone{z-index:100;background:var(--bg);text-align:center;flex-direction:column;justify-content:center;gap:12px;padding:32px 24px;animation:.5s ease-out milestone-in;display:flex;position:fixed;inset:0}.milestone .actions{width:100%;max-width:420px;margin:12px auto 0}.milestone-burst{color:var(--music);font-size:72px;animation:6s linear infinite milestone-spin}.milestone-count{font:800 120px/.9 var(--display);color:var(--film);margin:0}@keyframes milestone-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}@keyframes milestone-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.milestone,.milestone-burst{animation:none}}.print .legend{justify-content:center}.print>.small{text-align:center}.milestone{justify-content:flex-start;padding-top:28px;overflow-y:auto}.milestone-preview{justify-content:center;align-items:center;min-height:200px;display:flex}.milestone-preview img{max-width:100%;max-height:52vh;box-shadow:0 16px 50px #00000080}.pick-tools{justify-content:flex-end;display:flex}.tour-key{color:var(--film);font-weight:700}html[data-mode=day] .tour-key{color:var(--film-ink)}.batch-bar{justify-content:space-between;align-items:center;gap:10px;display:flex}.batch-all{align-items:center;gap:8px;font-size:14px;display:flex}.batch-actions{top:var(--top-h);z-index:13;background:var(--bg);border:1px solid var(--film);flex-direction:column;gap:8px;padding:10px 12px;display:flex;position:sticky}.batch-check{width:20px;height:20px;accent-color:var(--film);flex:none}.title-row.picked{background:color-mix(in srgb, var(--film) 10%, transparent)}.chip-button.danger{border-color:var(--film);color:var(--film-ink)}.page.profile-page{padding-top:6px}.chip-button.avoid{color:var(--muted);border-style:dashed;text-decoration:line-through}.toast-action{align-items:center;gap:12px;max-width:calc(100vw - 32px);font-size:14px;font-weight:600;display:flex}.toast-action .button{min-height:0;color:var(--on-accent);border-color:currentColor;padding:4px 8px;text-decoration:underline}.bingo-cell{touch-action:pan-y;transition:transform .15s ease-out}.footer-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.footer-row .button{min-height:0;padding:4px 8px}.bingo-cell{position:relative}.bingo-cell.loved img{filter:sepia(.5)hue-rotate(-20deg)saturate(1.6)}.bingo-cell.loved:after{content:"";aspect-ratio:2/3;pointer-events:none;mix-blend-mode:multiply;background:color-mix(in srgb, var(--film) 40%, transparent);position:absolute;top:0;left:0;right:0}.bingo-year{z-index:2;background:var(--bg);color:var(--text);padding:3px 6px;font:500 11px DM Mono,monospace;position:absolute;top:0;left:0}.character-line{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.character-change{min-height:0;padding:2px 0;font-size:12px;text-decoration:underline}.character-desc{margin:2px 0 0;font-size:14px;line-height:1.4}.bingo-cell.seen img,.bingo-cell.seen .bingo-fallback{outline:3px solid var(--books);outline-offset:-3px;opacity:1;filter:brightness(.72)}.bingo-cell.seen .bingo-mark{background:var(--books);color:var(--on-accent)}.help-control{font:700 16px var(--display)}@media (max-width:380px){.site-controls{gap:4px}.site-controls .control{min-width:32px;padding-left:7px;padding-right:7px}}.practice{z-index:90;background:var(--bg);flex-direction:column;gap:14px;max-width:520px;margin:0 auto;padding:20px 20px 24px;display:flex;position:fixed;inset:0;overflow-y:auto}.practice .year-bar.demo{flex-wrap:wrap;gap:6px;padding:0}.practice-stage{justify-content:center;align-items:center;min-height:300px;display:flex}.practice-poster{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;width:min(52vw,200px);transition:transform .2s ease-out}.practice-poster img{pointer-events:none}.practice-line{text-align:center;min-height:3em;margin:0;font-size:17px;line-height:1.4}.practice-gone{text-align:center}.practice-menu{border:1px solid var(--text);flex-direction:column;gap:10px;padding:14px;display:flex}.year-chip.pulse{animation:1.2s ease-in-out infinite chip-pulse}@keyframes chip-pulse{50%{border-color:var(--film);box-shadow:0 0 0 3px color-mix(in srgb, var(--film) 30%, transparent)}}.guide-dots span.done{background:var(--text)}@media (prefers-reduced-motion:reduce){.year-chip.pulse{border-color:var(--film);animation:none}}.install-help{flex-direction:column;gap:10px;display:flex}.phones{grid-template-columns:1fr 1fr;gap:10px;display:grid}.phone{flex-direction:column;gap:6px;margin:0;display:flex}.phone figcaption{font-size:12px;line-height:1.35}.phone-screen{aspect-ratio:9/15;border:2px solid var(--muted);background:var(--surface-2,#1c1a22);border-radius:16px;flex-direction:column;display:flex;position:relative;overflow:hidden}.phone-page{background:repeating-linear-gradient(180deg, transparent 0 14px, color-mix(in srgb, var(--muted) 18%, transparent) 14px 18px);flex:1;margin:10px}.phone-bar{height:34px;color:var(--muted);background:var(--bg);justify-content:space-around;align-items:center;font-size:14px;display:flex}.phone-bar.top{justify-content:space-between;padding:0 8px}.phone-bar .url{border:1px solid var(--divider);border-radius:10px;padding:3px 8px;font-size:11px}.phone-sheet,.phone-menu{background:var(--bg);flex-direction:column;margin-top:auto;font-size:10px;display:flex}.phone-menu{border:1px solid var(--divider);width:80%;margin:0 0 auto auto}.phone-sheet span,.phone-menu span{border-top:1px solid var(--divider);color:var(--muted);align-items:center;gap:6px;padding:8px;display:flex}.phones .hot{color:var(--text);outline:2px solid var(--film);outline-offset:-2px;background:color-mix(in srgb, var(--film) 18%, transparent);border-radius:4px}.share-demo{all:unset;cursor:pointer;text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex}.share-demo img{max-width:100%;max-height:34vh;box-shadow:0 10px 30px #00000073}.phones.three{grid-template-columns:repeat(3,1fr);gap:8px}.phones.three .phone-screen{aspect-ratio:9/16}.phone-menu.bottom{flex-direction:row;width:auto;margin:auto 6px 6px auto;font-size:13px}.phone-menu.bottom span{border-top:0;border-left:1px solid var(--divider);padding:8px 9px}.tour-card{max-height:calc(100dvh - var(--top-h) - var(--tabbar-h) - 44px - 24px)}.tour-card>.nav-row:last-child{background:var(--bg);border-top:1px solid var(--divider);margin:0 -16px -14px;padding:10px 16px 14px;position:sticky;bottom:-14px}.search-input{position:relative}.search-input input{padding-right:40px}.search-input input::-webkit-search-cancel-button{display:none}.search-clear{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:8px;font-size:16px;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.ig-head{align-items:center;gap:20px;display:flex}.ig-stats{text-align:center;flex:1;grid-template-columns:repeat(3,1fr);display:grid}.ig-stats>*{all:unset;cursor:default;flex-direction:column;align-items:center;gap:2px;display:flex}.ig-stats button{cursor:pointer}.ig-stats b{font:700 20px var(--display)}.ig-stats span{color:var(--muted);font-size:13px}.ig-handle{margin:4px 0 0;font-size:14px}.person-avatar.char{background:color-mix(in srgb, var(--text) 8%, transparent);border-radius:50%;flex:none;display:inline-flex;overflow:hidden}.person-avatar.char svg{width:100%;height:100%}.like-button .like-heart{display:inline-block}.like-button.pop .like-heart{animation:.45s cubic-bezier(.2,1.6,.4,1) heart-pop}@keyframes heart-pop{0%{transform:scale(1)}40%{transform:scale(1.45)}to{transform:scale(1)}}.feed-poster{position:relative}.like-burst{color:#fff;text-shadow:0 4px 18px #00000080;pointer-events:none;place-items:center;font-size:56px;animation:.8s ease-out forwards heart-burst;display:grid;position:absolute;inset:0}@keyframes heart-burst{0%{opacity:0;transform:scale(.2)}25%{opacity:1;transform:scale(1.15)}60%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.like-button.pop .like-heart,.like-burst{animation:none}}.friend-picker{position:relative}.friend-picker .chip{align-self:flex-start;align-items:center;gap:6px;display:inline-flex}.suggestions{border:1px solid var(--divider);background:var(--bg);margin:0;padding:0;list-style:none}.suggestions button{all:unset;cursor:pointer;box-sizing:border-box;align-items:center;gap:10px;width:100%;padding:8px 10px;display:flex}.suggestions button:hover{background:color-mix(in srgb, var(--text) 6%, transparent)}.bingo-cell.dragging{z-index:5;transition:none}.swipe-label{aspect-ratio:2/3;text-align:center;font:700 13px var(--display);letter-spacing:.04em;text-transform:uppercase;color:#fff;opacity:0;pointer-events:none;place-items:center;padding:6px;display:grid;position:absolute;top:0;left:0;right:0}.swipe-label.left{background:color-mix(in srgb, var(--books) 80%, transparent)}.swipe-label.right{background:#3a3640d9}[data-swipe=left] .swipe-label.left,[data-swipe=right] .swipe-label.right{opacity:var(--swipe,0)}.help-overlay{z-index:95}.help-panel{padding-bottom:calc(32px + env(safe-area-inset-bottom))}.help-letters{gap:10px;display:grid}.help-letter{border-left:3px solid var(--accent);flex-direction:column;gap:6px;padding:4px 0 4px 12px;display:flex}.help-letter p{margin:0}.help-pair{justify-content:space-between;font-size:14px;display:flex}.help-pair b{font:800 22px var(--display);color:var(--accent)}.help-track{background:linear-gradient(90deg, color-mix(in srgb, var(--accent) 25%, transparent), var(--accent));height:6px;position:relative}.help-track i{background:var(--text);width:2px;height:14px;position:absolute;top:-4px}.help-marks{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.help-marks>div{grid-template-columns:30px 1fr;align-items:center;column-gap:8px;font-size:14px;display:grid}.help-marks .tap-mark{grid-row:span 2;place-items:center;width:28px;height:28px;display:grid}.tap-mark.swipe-l{background:var(--books);color:var(--on-accent)}.tap-mark.swipe-r{color:#fff;background:#3a3640}.help-print{grid-template-columns:90px 1fr;align-items:center;gap:12px;display:grid}.help-print svg{width:90px;height:90px}.help-print p{margin:0}.pick-toolbar{align-items:center;gap:8px;display:flex}.icon-button{flex:none;justify-content:center;align-items:center;width:40px;padding:0;display:inline-flex}.pick-toolbar .filter-button{flex:none}.deck-jump{scrollbar-width:none;flex:1;gap:6px;min-width:0;padding:2px 0;display:flex;overflow-x:auto}.deck-jump::-webkit-scrollbar{display:none}.deck-jump .chip-button{white-space:nowrap;flex:none}.bingo-row{scroll-margin-top:calc(var(--top-h) + 60px)}.activity-tabs{margin-top:4px}.activity-tabs .tab{flex:1;justify-content:center}.row-likes{color:var(--film-ink)}.ig-head.skeleton{background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--text) 6%, transparent), transparent);height:64px}.page{animation:.16s ease-out page-in}@keyframes page-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.page{animation:none}}.help-panel .tour-key{color:inherit}.pick-toolbar .icon-button,.pick-toolbar .filter-button{background:color-mix(in srgb, var(--text) 7%, transparent);border:0}.pick-toolbar .icon-button.on,.pick-toolbar .filter-button.on{background:var(--text);color:var(--bg)}.deck-jump-wrap{flex:1;min-width:0;display:flex;position:relative}.deck-jump{padding-right:36px}.deck-jump-more{width:40px;color:var(--text);cursor:pointer;background:linear-gradient(90deg, transparent, var(--bg) 45%);text-align:right;border:0;padding-right:4px;font-size:22px;position:absolute;top:0;bottom:0;right:0}.wordmark{align-items:center;gap:7px;display:inline-flex}.wordmark img{display:block}.intro-setup{flex-direction:column;gap:10px;display:flex}.intro-home .field label,.intro-home label{font:var(--label);letter-spacing:var(--label-track);text-transform:uppercase;color:var(--muted)}
