:root{--paper:#faf8f6;--card:#fff;--ink:#241c33;--muted:#6f6880;--line:#e7e2ea;--brand-a:#6c4ce0;--brand-b:#bd3aa2;--fill-a:var(--brand-a);--fill-b:var(--brand-b);--ph:color-mix(in srgb, var(--ink) 6%, var(--card));--ph-hi:color-mix(in srgb, var(--ink) 11%, var(--card));--open-fg:#1d7a4d;--open-bg:#e6f6ee;--open-bd:#bfe8d2;--soon-fg:#a14a07;--soon-bg:#fdf0e0;--soon-bd:#f3d9b8;--up-fg:#1d4ed8;--up-bg:#e8eefc;--up-bd:#c9d8f7;--closed-fg:#5f6672;--closed-bg:#f1eff4;--closed-bd:#e2dfe8;--stock-fg:#0f766e;--stock-bg:#e4f5f3;--stock-bd:#bde5e0;--sold-fg:#9f1239;--sold-bg:#fdecef;--sold-bd:#f6c6d0;--danger-fg:#b42318;--danger-bg:#fdeceb;--danger-bd:#f7c9c4;--ok-fg:#166534;--ok-bg:#f0fdf4;--ok-bd:#bbf7d0;--fan-fg:#7c3aed;--fan-bg:#f5f3ff;--fan-bd:#ddd6fe;--shadow:0 1px 2px #241c330f, 0 8px 24px #241c330f;--radius:14px;--sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;--serif:"Iowan Old Style", "Palatino Linotype", Georgia, "Songti SC", "Noto Serif CJK SC", serif;--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--paper:#16131d;--card:#1f1b29;--ink:#ece8f4;--muted:#a59fb5;--line:#332d40;--brand-a:#9b82ff;--brand-b:#ec6fd0;--fill-a:#7357e6;--fill-b:#bd3aa2;--open-fg:#5ad69b;--open-bg:#142a1e;--open-bd:#24533a;--soon-fg:#f5b056;--soon-bg:#33250f;--soon-bd:#5c4220;--up-fg:#93b4ff;--up-bg:#18213a;--up-bd:#2c3e6b;--closed-fg:#a1a1aa;--closed-bg:#24212c;--closed-bd:#3a3644;--stock-fg:#4fd1c5;--stock-bg:#112a28;--stock-bd:#1f4f4a;--sold-fg:#f4a7b6;--sold-bg:#33171e;--sold-bd:#5a2a36;--danger-fg:#ff9a8f;--danger-bg:#361918;--danger-bd:#6b2a2a;--ok-fg:#7ee2a8;--ok-bg:#132a1c;--ok-bd:#24533a;--fan-fg:#c4b5fd;--fan-bg:#241e3d;--fan-bd:#43386e;--shadow:0 1px 2px #0000004d, 0 8px 24px #00000040;--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.6}a{color:inherit;-webkit-text-decoration-color:color-mix(in oklab, var(--ink) 30%, transparent);-webkit-text-decoration-color:color-mix(in oklab, var(--ink) 30%, transparent);text-decoration-color:color-mix(in oklab, var(--ink) 30%, transparent);text-underline-offset:3px}a:hover{-webkit-text-decoration-color:var(--brand-a);-webkit-text-decoration-color:var(--brand-a);text-decoration-color:var(--brand-a)}:focus-visible{outline:2px solid var(--brand-a);outline-offset:2px;border-radius:4px}h1,h2{font-family:var(--serif);letter-spacing:-.01em;margin:0 0 .4em;font-weight:600;line-height:1.25}h1{font-size:clamp(1.6rem,3.2vw,2.2rem)}h2{margin-top:2.4rem;font-size:1.25rem}h3{margin:0 0 .3em;font-size:1rem}p{margin:0 0 .8em}.wrap{max-width:1080px;margin:0 auto;padding:0 20px}.muted{color:var(--muted)}.meta{color:var(--muted);font-size:.85rem;line-height:1.45}.site-head{z-index:10;background:color-mix(in srgb, var(--paper) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);position:sticky;top:0}.head-in{flex-wrap:wrap;align-items:center;gap:18px;padding:12px 20px;display:flex}.brand{align-items:center;gap:10px;font-size:1.05rem;font-weight:700;text-decoration:none;display:inline-flex}.tile{background:linear-gradient(135deg, var(--fill-a), var(--fill-b));color:#fff;border-radius:10px;place-items:center;width:34px;height:34px;font-size:1.05rem;font-weight:700;display:grid}.head-nav{flex-wrap:wrap;gap:4px;display:flex}.head-nav a{color:var(--muted);border-radius:8px;padding:5px 10px;font-size:.92rem;text-decoration:none}.head-nav a:hover{color:var(--ink);background:color-mix(in srgb, var(--ink) 6%, transparent)}.langs{gap:4px;margin:0;padding:0;list-style:none;display:flex}.langs a{color:var(--muted);white-space:nowrap;border:1px solid #0000;border-radius:999px;padding:4px 10px;font-size:.85rem;text-decoration:none}.langs a.active{color:var(--ink);border-color:var(--line);background:var(--card);font-weight:600}.acc{align-items:center;gap:4px;margin:0 0 0 auto;font-size:.85rem;display:flex}.acc a{color:var(--muted);border:1px solid #0000;border-radius:999px;padding:4px 10px;text-decoration:none}.acc a:hover{color:var(--ink);border-color:var(--line);background:var(--card)}.acc-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;max-width:150px;font-weight:600;overflow:hidden}.link-btn{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:4px 8px;text-decoration:underline}.link-btn:hover{color:var(--ink)}.auth{max-width:520px}.form{gap:16px;margin-top:20px;display:grid}.form label{gap:6px;display:grid}.form label>span{color:var(--muted);font-size:.86rem;font-weight:600}.form input,.form select,.form textarea{font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:10px;width:100%;padding:9px 12px}.form input:focus-visible,.form select:focus-visible,.form textarea:focus-visible{outline:2px solid var(--brand-a);outline-offset:1px}.hint{color:var(--muted);font-size:.78rem;font-style:normal}.form button{font:inherit;color:#fff;background:linear-gradient(135deg, var(--fill-a), var(--fill-b));cursor:pointer;border:0;border-radius:999px;justify-self:start;padding:10px 24px;font-weight:600}.form-error{color:var(--danger-fg);background:var(--danger-bg);border:1px solid var(--danger-bd);border-radius:10px;margin:0;padding:9px 12px;font-size:.88rem}.g-btn{font:inherit;color:#1f1f1f;cursor:pointer;background:#fff;border:1px solid #dadce0;border-radius:999px;align-items:center;gap:10px;margin-top:16px;padding:10px 20px;font-weight:600;text-decoration:none;display:inline-flex}.g-btn:hover{background:#f7f8f8}.g-btn svg{flex-shrink:0}.auth-or{color:var(--muted);align-items:center;gap:12px;margin:16px 0;font-size:.85rem;display:flex}.auth-or:before,.auth-or:after{content:"";background:var(--line);flex:1;height:1px}.hero{padding:40px 0 6px}.tagline{color:var(--muted);max-width:66ch;font-size:1.02rem}.stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:22px 0 6px;display:grid}.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}.stat .num{font-family:var(--serif);font-size:1.6rem;font-weight:600;line-height:1.2}.stat .lab{color:var(--muted);font-size:.83rem}.cards{grid-template-columns:repeat(auto-fill,minmax(265px,1fr));gap:14px;margin:.4rem 0 0;padding:0;list-style:none;display:grid}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:6px;padding:16px;transition:border-color .15s,transform .15s;display:flex}.card:hover{border-color:color-mix(in srgb, var(--brand-a) 45%, var(--line));transform:translateY(-1px)}.card .card-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.card .card-head a{font-weight:600;text-decoration:none}.card .card-head a:hover{color:var(--brand-a)}.card .foot{justify-content:space-between;align-items:baseline;gap:8px;margin-top:auto;padding-top:6px;display:flex}.price{white-space:nowrap;font-weight:600}.st{white-space:nowrap;border:1px solid;border-radius:999px;padding:2px 10px;font-size:.78rem;font-weight:600;display:inline-block}.st-open{color:var(--open-fg);background:var(--open-bg);border-color:var(--open-bd)}.st-closing-soon{color:var(--soon-fg);background:var(--soon-bg);border-color:var(--soon-bd)}.st-upcoming{color:var(--up-fg);background:var(--up-bg);border-color:var(--up-bd)}.st-closed{color:var(--closed-fg);background:var(--closed-bg);border-color:var(--closed-bd)}.st-in-stock{color:var(--stock-fg);background:var(--stock-bg);border-color:var(--stock-bd)}.rows{margin:.4rem 0 0;padding:0;list-style:none}.row{border-top:1px solid var(--line);grid-template-columns:1fr auto auto;align-items:center;gap:6px 18px;padding:12px 2px;display:grid}.row:last-child{border-bottom:1px solid var(--line)}.row .row-title{font-weight:600}.row .row-title a{text-decoration:none}.row .row-title a:hover{color:var(--brand-a)}.row .row-win{text-align:right;font-size:.9rem}.month-head{font-family:var(--serif);color:var(--muted);margin:1.2rem 0 .2rem;font-size:.95rem;font-weight:600}.chips{flex-wrap:wrap;gap:8px;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.chips a{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:6px 13px;font-size:.9rem;text-decoration:none;display:inline-block}.chips a:hover{border-color:var(--brand-a);color:var(--brand-a)}.chips a[aria-current=true]{border-color:var(--brand-a);background:color-mix(in srgb, var(--brand-a) 8%, var(--card));font-weight:600}.filter-lab{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:1.1rem 0 0;font-size:.78rem}.crumbs{color:var(--muted);margin:1rem 0 .6rem;font-size:.85rem}.crumbs a{text-decoration:none}.crumbs a:hover{text-decoration:underline}.detail-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.detail-facts{flex-wrap:wrap;gap:6px 26px;margin:.8rem 0 0;padding:0;font-size:.92rem;list-style:none;display:flex}.detail-facts .k{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.78rem;display:block}.tbl{border-collapse:collapse;width:100%;margin-top:.6rem;font-size:.92rem}.tbl th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-bottom:1px solid var(--line);padding:8px 10px 6px 0;font-size:.75rem;font-weight:600}.tbl td{border-bottom:1px solid var(--line);vertical-align:top;padding:11px 10px 11px 0}.note{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--brand-a);border-radius:8px;margin:1rem 0 0;padding:10px 14px;font-size:.92rem}.terms{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin:.4rem 0 0;padding:0;list-style:none;display:grid}.term{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.term .head{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.term .zh{font-size:1.3rem;font-weight:700}.term .py{color:var(--muted);font-size:.85rem;font-style:italic}.term .en{color:var(--brand-a);font-size:.88rem;font-weight:600}.term p{margin:.5rem 0 0;font-size:.92rem}.prose{max-width:70ch}.prose h2{margin-top:2rem}.legend{gap:10px;margin:.6rem 0 0;padding:0;list-style:none;display:grid}.legend li{align-items:baseline;gap:12px;font-size:.92rem;display:flex}.site-foot{border-top:1px solid var(--line);color:var(--muted);margin-top:56px;padding:22px 0 34px;font-size:.88rem}.site-foot p{margin:0 0 .4em}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.section-head a{white-space:nowrap;font-size:.9rem}.social{border-top:1px solid var(--line);margin-top:34px;padding-top:22px}.votes{flex-wrap:wrap;gap:10px;display:flex}.vote{font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--line);cursor:pointer;border-radius:999px;align-items:baseline;gap:8px;padding:8px 18px;font-weight:600;display:inline-flex}.vote:hover:not(:disabled){border-color:var(--brand-a)}.vote:disabled{opacity:.6;cursor:default}.vote .num{font-variant-numeric:tabular-nums;color:var(--muted)}.vote.on{background:linear-gradient(135deg, var(--fill-a), var(--fill-b));color:#fff;border-color:#0000}.vote.on .num{color:#ffffffd9}.comment-form{gap:10px;max-width:620px;margin:14px 0 6px;display:grid}.comment-form textarea{font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--line);resize:vertical;border-radius:12px;padding:10px 12px}.comment-form textarea:focus-visible{outline:2px solid var(--brand-a);outline-offset:1px}.comment-form button{font:inherit;color:#fff;background:linear-gradient(135deg, var(--fill-a), var(--fill-b));cursor:pointer;border:0;border-radius:999px;justify-self:start;padding:8px 20px;font-weight:600}.comment-form button:disabled{opacity:.5;cursor:default}.comments{gap:10px;margin:12px 0 0;padding:0;list-style:none;display:grid}.comment{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px}.comment .who{flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:4px;display:flex}.comment p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.admin-nav{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:8px;margin:18px 0 8px;padding-bottom:14px;display:flex}.admin-nav .tab{color:var(--muted);border:1px solid var(--line);background:var(--card);border-radius:999px;padding:6px 14px;font-size:.88rem;font-weight:600;text-decoration:none}.admin-nav .tab:hover{color:var(--ink);border-color:var(--brand-a)}.flash{color:var(--ink);background:var(--open-bg);border:1px solid var(--open-bd);border-radius:10px;margin:14px 0 0;padding:9px 12px;font-size:.88rem}.flash.error{color:var(--danger-fg);background:var(--danger-bg);border-color:var(--danger-bd)}.flash.success{color:var(--ok-fg);background:var(--ok-bg);border-color:var(--ok-bd)}.fan-made-badge{color:var(--fan-fg);background:var(--fan-bg);border:1px solid var(--fan-bd);vertical-align:middle;border-radius:6px;margin-left:6px;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-block}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.grid-2 .wide{grid-column:1/-1}.form fieldset.checks{border:1px solid var(--line);border-radius:10px;margin:0;padding:10px 12px}.checks legend{color:var(--muted);padding:0 4px;font-size:.86rem;font-weight:600}.checks label{align-items:center;gap:6px;margin:0 14px 4px 0;display:inline-flex}.checks input[type=checkbox]{width:auto;accent-color:var(--brand-a);padding:0}.danger-zone label>span{color:var(--danger-fg)}.danger-zone{border-top:1px solid var(--line);margin-top:28px;padding-top:10px}button.ghost{border:1px solid var(--danger-bd);color:var(--danger-fg);background:0 0}button.ghost:hover{background:var(--danger-bg)}.danger{color:var(--soon-fg)}.thumb img{border:1px solid var(--line);background:var(--card);border-radius:10px;width:160px;height:auto;display:block}.thumb{margin:14px 0}.release{border-bottom:1px dashed var(--line);margin-bottom:18px;padding-bottom:10px}.inline{display:inline}.mono{background:var(--card);border:1px solid var(--line);white-space:pre-wrap;border-radius:10px;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;overflow-x:auto}.row-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.shot-in{border:1px solid var(--line);background:var(--card);border-radius:10px;height:auto;display:block}.card .shot-in{margin-bottom:8px}.detail-head .shot-in{float:right;margin:0 0 14px 18px}@media (max-width:640px){.row{grid-template-columns:1fr;gap:2px;padding:12px 2px}.grid-2{grid-template-columns:1fr}.row .row-win{text-align:left}.head-in{gap:8px 14px}.hero{padding-top:26px}}.collection-btn{margin:1.5rem 0}.collection-toggle{font:inherit;color:var(--brand-a);border:2px solid var(--brand-a);cursor:pointer;background:0 0;border-radius:999px;padding:10px 24px;font-weight:600;transition:all .2s}.collection-toggle:hover{background:color-mix(in srgb, var(--brand-a) 10%, transparent)}.collection-toggle.owned{color:#fff;background:var(--fill-a);border-color:var(--fill-a)}.collection-form{background:var(--card);border:1px solid var(--line);border-radius:12px;gap:1rem;margin-top:1rem;padding:1.5rem;display:grid}.collection-form label{gap:.4rem;display:grid}.collection-form label>span{color:var(--muted);font-size:.86rem;font-weight:600}.collection-form input,.collection-form textarea{font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:8px;width:100%;padding:8px 12px}.collection-form-actions{gap:.5rem;margin-top:.5rem;display:flex}.collection-form-actions button{font:inherit;cursor:pointer;border-radius:8px;padding:8px 20px;font-weight:600}.collection-form-actions button[type=submit]{color:#fff;background:var(--fill-a);border:none}.collection-form-actions button[type=button]{color:var(--muted);border:1px solid var(--line);background:0 0}.collection-owned{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.achievement-toast{color:var(--ink);background:color-mix(in srgb, var(--brand-a) 12%, var(--card));border:1px solid color-mix(in srgb, var(--brand-a) 40%, var(--line));border-radius:10px;margin:12px 0 0;padding:9px 12px;font-size:.9rem;font-weight:600}.collection-grid,.achievement-grid{padding:0;list-style:none}.collection-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-top:1.5rem;display:grid}.collection-card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:1rem;transition:border-color .2s}.collection-card:hover{border-color:var(--brand-a)}.collection-card a{color:inherit;text-decoration:none}.collection-card h3{margin:.5rem 0 .25rem;font-size:1rem}.collection-card .meta{margin:.25rem 0;font-size:.85rem}.collection-story{border-top:1px solid var(--line);color:var(--muted);margin-top:.75rem;padding-top:.75rem;font-size:.9rem;font-style:italic}.achievement-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-top:1.5rem;display:grid}.achievement-card{background:var(--card);border:1px solid var(--line);opacity:.4;border-radius:12px;gap:1rem;padding:1.25rem;transition:opacity .2s;display:flex}.achievement-card.earned{opacity:1;border-color:var(--brand-a)}.ach-family{margin-top:1.6rem}.ach-family h2{border-bottom:1px solid var(--line);align-items:baseline;gap:10px;margin-bottom:.4rem;padding-bottom:6px;display:flex}.ach-scopes{flex-wrap:wrap;gap:5px;margin:8px 0 0;padding:0;display:flex}.scope-chip{color:var(--muted);background:color-mix(in srgb, var(--brand-a) 6%, var(--card));border:1px solid var(--line);border-radius:6px;padding:1px 7px;font-size:.74rem}.scope-chip.more{color:var(--brand-a);border-color:color-mix(in srgb, var(--brand-a) 30%, var(--line))}a.badge-chip.more{text-decoration:none}.achievement-icon{flex-shrink:0;font-size:2.5rem;line-height:1}.achievement-info h3{margin:0 0 .25rem;font-size:1rem}.achievement-info p{color:var(--muted);margin:0;font-size:.9rem}.achievement-earned{font-weight:600;color:var(--brand-a)!important;margin-top:.5rem!important;font-size:.85rem!important}.footer-disclaimer{color:var(--muted);opacity:.8;margin-top:.75rem;font-size:.8rem}.footer-disclaimer a{color:var(--brand-a);text-decoration:none}.footer-disclaimer a:hover{text-decoration:underline}body{transition:background-color .2s,color .2s}.st-sold-out{color:var(--sold-fg);background:var(--sold-bg);border-color:var(--sold-bd)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{z-index:20;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:6px 12px;position:absolute;top:-40px;left:12px}.skip:focus{top:10px}.head-in{flex-wrap:nowrap;gap:14px;padding:10px 20px}.head-nav{flex-wrap:nowrap}.head-nav a{white-space:nowrap}.head-tools{align-items:center;gap:8px;margin-left:auto;display:flex}.head-search input{width:190px;font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:.86rem}.head-search input:focus-visible{outline:2px solid var(--brand-a);outline-offset:1px}.head-search-link,.theme-btn{border:1px solid var(--line);background:var(--card);width:32px;height:32px;color:var(--ink);cursor:pointer;border-radius:999px;place-items:center;font-size:1rem;line-height:1;text-decoration:none;display:grid}.head-search-link{display:none}.theme-btn:hover,.head-search-link:hover{border-color:var(--brand-a)}.acc{margin:0}.acc .acc-cta{color:var(--ink);border-color:var(--line);background:var(--card)}.acc-menu{position:relative}.acc-menu summary{cursor:pointer;border:1px solid var(--line);background:var(--card);border-radius:999px;align-items:center;gap:8px;padding:3px 10px 3px 3px;font-size:.86rem;list-style:none;display:flex}.acc-menu summary::-webkit-details-marker{display:none}.avatar{object-fit:cover;color:#fff;background:linear-gradient(135deg, var(--fill-a), var(--fill-b));vertical-align:middle;border-radius:999px;flex:none;place-items:center;font-weight:700;display:inline-grid}img.avatar{display:inline-block}.avatar.av-s{width:24px;height:24px;font-size:.72rem}.avatar.av-m{width:32px;height:32px;font-size:.82rem}.avatar.av-lg{width:96px;height:96px;font-size:2.2rem}.acc-pop{background:var(--card);border:1px solid var(--line);min-width:180px;box-shadow:var(--shadow);z-index:30;border-radius:12px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);right:0}.acc-pop a,.acc-pop button{font:inherit;text-align:left;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:8px;width:100%;padding:8px 10px;font-size:.9rem;text-decoration:none}.acc-pop a:hover,.acc-pop button:hover{background:color-mix(in srgb, var(--ink) 6%, transparent)}.acc-pop form{border-top:1px solid var(--line);margin-top:4px;padding-top:4px}.media{aspect-ratio:4/3;border:1px solid var(--line);background:var(--ph);border-radius:12px;place-items:center;display:grid;position:relative;overflow:hidden}.media img{object-fit:contain;width:100%;height:100%;display:block}.media-ph{color:var(--muted);background:linear-gradient(135deg, color-mix(in srgb, var(--brand-a) 10%, var(--card)), color-mix(in srgb, var(--brand-b) 8%, var(--card)));align-content:center;gap:10px}.ph-glyph{opacity:.55;font-size:2rem;line-height:1}.ph-label{letter-spacing:.04em;font-size:.78rem}.media-wide{aspect-ratio:1}.cards{grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:16px}.card{gap:0;padding:0;overflow:hidden}.card:hover{box-shadow:var(--shadow)}.card-media{display:block;position:relative}.card .media{border:0;border-bottom:1px solid var(--line);border-radius:0}.card-badges{flex-wrap:wrap;gap:6px;display:flex;position:absolute;top:10px;left:10px}.card-badges .fan-made-badge{margin:0}.card-body{flex-direction:column;flex:1;gap:4px;padding:12px 14px 14px;display:flex}.card-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:600;line-height:1.4;text-decoration:none;display:-webkit-box;overflow:hidden}.card-title:hover{color:var(--brand-a)}.card .meta{font-size:.82rem}.card .win{font-size:.86rem}.detail{grid-template-columns:minmax(0,400px) minmax(0,1fr);align-items:start;gap:32px;margin:6px 0 8px;display:grid}.detail-media .meta{margin-top:6px;font-size:.8rem}.gallery-thumbs{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;gap:8px;margin-top:8px;padding:2px 2px 6px;display:flex;overflow-x:auto}.gallery-thumbs button{scroll-snap-align:start;aspect-ratio:1;background:var(--ph);border:1px solid var(--line);cursor:pointer;border-radius:8px;flex:0 0 64px;width:64px;padding:0;overflow:hidden}.gallery-thumbs button.on{border-color:var(--brand-a);box-shadow:0 0 0 2px color-mix(in srgb, var(--brand-a) 35%, transparent)}.gallery-thumbs img{object-fit:contain;width:100%;height:100%;display:block}.specs{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 26px;margin:.6rem 0 1rem;display:grid}.specs>div{border-bottom:1px dashed var(--line);padding-bottom:8px}.specs dt{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.78rem}.specs dd{overflow-wrap:anywhere;margin:2px 0 0;font-size:.92rem}.lang-list{grid-gap:10px;gap:10px;margin:16px 0;padding:0;list-style:none;display:grid}.lang-list li{border:1px solid var(--line);border-radius:12px;flex-wrap:wrap;align-items:baseline;gap:10px;padding:10px 14px;display:flex}.lang-list span{color:var(--muted);flex:240px;min-width:0}.note-box{background:color-mix(in srgb, var(--brand-b) 8%, var(--card));border:1px solid var(--line);border-left:3px solid var(--brand-b);border-radius:10px;margin:14px 0;padding:10px 14px;font-size:.92rem}.tabs{flex-wrap:wrap;align-items:center;gap:10px 16px;display:flex}.tabs a{border-bottom:2px solid #0000;padding-bottom:2px;font-size:.92rem;text-decoration:none}.tabs a.on{border-bottom-color:var(--brand-a);color:var(--brand-a);font-weight:600}.cta{background:var(--fill-a);border-radius:999px;padding:6px 14px;font-weight:600;text-decoration:none;color:#fff!important}.cta:hover{filter:brightness(1.06)}.pill{color:var(--ink);border:1px solid var(--line);background:var(--card);border-radius:999px;padding:2px 10px;font-size:.78rem;font-weight:600}.pill.s-recruiting{color:var(--brand-a);border-color:color-mix(in srgb, var(--brand-a) 45%, var(--line));background:color-mix(in srgb, var(--brand-a) 10%, var(--card))}.pill.s-done{color:#1a7f4b;border-color:color-mix(in srgb, #1a7f4b 40%, var(--line))}.pill.s-cancelled{color:#a33;border-color:color-mix(in srgb, #a33 40%, var(--line))}.gb-list{grid-gap:10px;gap:10px;margin:14px 0 0;padding:0;list-style:none;display:grid}.gb-item{background:var(--card);border:1px solid var(--line);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;padding:12px 14px;display:flex}.gb-title{font-family:var(--serif);font-size:1.06rem;font-weight:600;text-decoration:none}.gb-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;margin:8px 0 12px;display:flex}.gb-head h1{margin:6px 0 2px}.gb-facts{background:var(--card);border:1px solid var(--line);border-radius:12px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px 18px;min-width:min(100%,280px);margin:0;padding:12px 16px;display:grid}.gb-facts dt{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:.74rem}.gb-facts dd{margin:1px 0 6px;font-weight:600}.gb-track{counter-reset:step;flex-wrap:wrap;gap:6px;margin:0 0 16px;padding:0;list-style:none;display:flex}.gb-track li{color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:3px 11px;font-size:.78rem}.gb-track li.past{opacity:.75;text-decoration:line-through}.gb-track li.now{color:#fff;background:var(--fill-a);border-color:var(--fill-a);font-weight:700}.gb-now{background:var(--card);border:1px solid var(--line);border-radius:14px;margin:0 0 18px;padding:14px 16px}.gb-help{margin:0 0 10px;font-size:.95rem}.gb-actions,.gb-flags{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.gb-step{border-top:1px solid var(--line);margin-top:14px;padding-top:10px}.gb-step h2{margin:0 0 8px;font-size:1rem}.gb-advance h2{margin:0 0 4px;font-size:1.02rem}.gb-events{grid-gap:8px;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.gb-events li{border-bottom:1px dashed var(--line);flex-wrap:wrap;align-items:baseline;gap:10px;padding-bottom:8px;display:flex}.gb-ev-kind{font-weight:600}.gb-ev-note{overflow-wrap:anywhere}.gb-ev-img img{object-fit:cover;border:1px solid var(--line);border-radius:8px;width:64px;height:64px;display:block}.guide .lead{font-size:1.05rem}.guide-stages{grid-gap:14px;gap:14px;margin:14px 0 26px;padding:0;list-style:none;display:grid}.guide-stages li{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--brand-a);border-radius:12px;padding:12px 16px}.guide-stages h2{margin:0 0 4px;font-size:1.02rem}.guide-list{gap:8px;margin:10px 0 22px;padding-left:20px;display:grid}.cta-row{align-items:center;gap:14px;display:flex}button.danger{color:#a33}.detail-badges{flex-wrap:wrap;gap:8px;display:flex}.detail-info h1{margin:10px 0 4px;font-size:clamp(1.5rem,3.2vw,2.2rem);line-height:1.25}.detail-info .detail-facts{margin-top:14px}.detail-window{margin:16px 0 0;font-weight:600}.source-link{font-size:.9rem}.detail-info .collection-btn{margin:18px 0 0}.hero-tight{padding-top:20px}.filters{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);gap:12px;margin:6px 0 12px;padding:14px;display:grid}.search-field{gap:8px;display:flex}.search-field input{min-width:0;font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:999px;flex:1;padding:10px 16px}.search-field input:focus-visible,.filter-row select:focus-visible{outline:2px solid var(--brand-a);outline-offset:1px}.search-field button{font:inherit;color:#fff;background:linear-gradient(135deg, var(--fill-a), var(--fill-b));cursor:pointer;border:0;border-radius:999px;padding:0 22px;font-weight:600}.filter-row{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.filter-row label{color:var(--muted);gap:4px;font-size:.76rem;display:grid}.filter-row select{font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:10px;width:100%;padding:8px 10px;font-size:.9rem}.chips-scroll{scrollbar-width:thin;flex-wrap:nowrap;padding-bottom:6px;overflow-x:auto}.chips-scroll a{white-space:nowrap}.chip-n{color:var(--muted);margin-left:2px;font-size:.8em;font-weight:400}.results-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.link-quiet{color:var(--muted);font-size:.9rem}.empty{text-align:center;padding:40px 0}.pager{justify-content:space-between;align-items:center;margin:28px 0 8px;display:flex}.pager a{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:8px 16px;text-decoration:none}.pager a:hover{border-color:var(--brand-a)}.more-link{margin-top:18px}@media (max-width:960px){.head-search{display:none}.head-search-link{display:grid}}@media (max-width:760px){.head-in{flex-wrap:wrap;row-gap:4px;padding:8px 14px 0}.head-tools{gap:6px}.head-nav{scrollbar-width:none;flex:1 0 100%;order:3;margin:0 -14px;padding:2px 8px 6px;overflow-x:auto}.head-nav::-webkit-scrollbar{display:none}.acc-name{display:none}.acc-menu summary{padding:3px}.langs a{padding:4px 7px}.detail{grid-template-columns:1fr;gap:16px}.detail-media .media-wide{aspect-ratio:4/3}.filter-row{grid-template-columns:repeat(2,minmax(0,1fr))}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.card-body{padding:10px 11px 12px}.card .foot{flex-direction:column;align-items:flex-start;gap:0}}@media (max-width:640px){.tbl thead{display:none}.tbl tr{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;gap:2px 12px;padding:10px 0;display:grid}.tbl td{border:0;padding:0}.tbl td:first-child{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important}}.char-links{flex-wrap:wrap;gap:4px 10px;display:flex}@media (max-width:960px){.filter-row{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:760px){.filter-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}@media (max-width:760px){.head-in{flex-wrap:wrap}.brand{font-size:1rem}.tile{width:30px;height:30px}.langs a.active,.acc .acc-cta{display:none}.head-search-link,.theme-btn{width:30px;height:30px}}.langs{flex-wrap:nowrap}.langs a{padding:4px 8px}.acc a{white-space:nowrap}.head-tools{flex:none}.head-nav{scrollbar-width:none;min-width:0;overflow-x:auto}.head-nav::-webkit-scrollbar{display:none}@media (max-width:1240px){.head-search{display:none}.head-search-link{display:grid}}.row{grid-template-columns:56px minmax(0,1fr) auto auto;gap:6px 16px}.row-thumb{grid-row:1/-1;align-self:center;display:block}.row .media{aspect-ratio:1;border-radius:10px;width:56px}.row .media-ph .ph-glyph{font-size:0}.row .media-ph .ph-glyph,.row .media-ph svg{width:22px;height:22px}.row .media-ph .ph-label{display:none}@media (max-width:640px){.row{grid-template-columns:56px minmax(0,1fr) auto}.row-thumb{grid-row:1/4}.row .row-win{text-align:left;grid-column:2/3}.row>div:last-child{grid-area:3/3;place-self:center end}}.badge-chip{color:var(--brand-a);background:color-mix(in srgb, var(--brand-a) 10%, var(--card));border:1px solid color-mix(in srgb, var(--brand-a) 30%, var(--line));white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:1px 9px;font-size:.75rem;font-weight:600;display:inline-flex}.who-name{font-weight:600;text-decoration:none}.who-name:hover{color:var(--brand-a)}.user-stats{gap:26px;margin:14px 0 0;padding:0;list-style:none;display:flex}.user-stats .num{font-family:var(--serif);font-size:1.5rem;line-height:1.2;display:block}.user-stats .lab{color:var(--muted);font-size:.82rem}.user-stats a.num{color:inherit;text-decoration:none}.user-stats a.num:hover{color:var(--brand-a)}.profile-head{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.profile-id{flex:240px;min-width:0}.profile-id h1{margin:0 0 4px}.profile-bio{overflow-wrap:anywhere;margin:4px 0 0;font-size:.95rem}.profile-actions{margin-left:auto}.who-name{align-items:center;gap:6px;display:inline-flex}.account-card{background:var(--card);border:1px solid var(--line);border-radius:14px;margin:0 0 16px;padding:16px 18px}.account-card h2{margin:14px 0 4px;font-size:1.02rem}.account-head{align-items:center;gap:14px;display:flex}.toggle-list{grid-gap:8px;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:grid}.toggle-list li{justify-content:space-between;align-items:center;gap:12px;display:flex}button.on{color:var(--brand-a);border-color:var(--brand-a)}.flash{background:color-mix(in srgb, var(--brand-a) 12%, var(--card));border:1px solid var(--brand-a);border-radius:10px;padding:8px 12px}.people,.feed{grid-gap:8px;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.people li,.feed li{background:var(--card);border:1px solid var(--line);border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;display:flex}.people li{justify-content:space-between}.person{min-width:0;color:inherit;align-items:center;gap:10px;text-decoration:none;display:flex}.person-name{font-weight:600}.person .meta{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.feed-who{color:inherit;align-items:center;gap:8px;font-weight:600;text-decoration:none;display:flex}.feed-what{overflow-wrap:anywhere;min-width:0}.feed .meta{margin-left:auto}.mini-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin:10px 0 0;padding:0;list-style:none;display:grid}.mini-card{grid-gap:6px;color:inherit;gap:6px;font-size:.88rem;text-decoration:none;display:grid}.mini-name{font-weight:600;line-height:1.3}.media{isolation:isolate}.media:not(.media-ph):before{content:"";background:linear-gradient(100deg, transparent 30%, var(--ph-hi) 50%, transparent 70%) 0 0 / 250% 100% no-repeat;opacity:0;animation:1.4s ease-in-out 3 ph-sweep;position:absolute;inset:0}.media img{z-index:1;position:relative}@keyframes ph-sweep{0%{opacity:1;background-position:130% 0}to{opacity:1;background-position:-30% 0}}@media (prefers-reduced-motion:reduce){.media:not(.media-ph):before{animation:none}}.lang-menu{display:none;position:relative}.lang-menu summary{cursor:pointer;height:32px;color:var(--ink);background:var(--card);border:1px solid var(--line);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:0 9px;font-size:.82rem;font-weight:600;line-height:1;list-style:none;display:flex}.lang-menu summary::-webkit-details-marker{display:none}.lang-menu summary:hover,.lang-menu[open] summary{border-color:var(--brand-a)}.lang-pop{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);z-index:30;border-radius:12px;min-width:150px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);right:0}.lang-pop a{color:var(--ink);border-radius:8px;padding:8px 10px;font-size:.9rem;text-decoration:none;display:block}.lang-pop a:hover{background:color-mix(in srgb, var(--ink) 6%, transparent)}.lang-pop a.active{color:var(--brand-a);font-weight:600}.acc-ph{border:1px solid var(--line);background:var(--ph);border-radius:999px;flex:none;width:32px;height:32px;display:block}@media (max-width:760px){.langs{display:none}.lang-menu{display:block}.lang-menu summary{height:30px;padding:0 8px}.head-in{column-gap:10px}.brand{gap:8px}.head-nav{padding-right:32px;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 32px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 32px),#0000)}.head-nav a{padding:4px 8px;font-size:.88rem}}.pager{flex-wrap:wrap;gap:10px 12px}.pager-pages{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;display:flex}.pager-pages>span{display:contents}.pager-pages a,.pager-pages [aria-current=page]{text-align:center;min-width:38px;padding:6px 12px}.pager [aria-current=page]{color:var(--ink);background:var(--card);border:1px solid var(--brand-a);border-radius:999px;font-weight:700}@media (max-width:640px){.pager-pages{flex:1 0 100%;order:-1}}.related{border-top:1px solid var(--line);margin-top:2rem}.related h2{margin-top:1.6rem}.admin-filters{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:end;gap:10px 12px}.admin-filters>.grid-2{display:contents}.admin-filters .grid-2 .wide{grid-column:auto}.admin-filters>.row-actions{align-self:end}.admin .tbl th,.admin .tbl .tbl-nw,.admin .tbl .link-btn,.admin .tbl button{white-space:nowrap}@media (min-width:641px){.admin .tbl td.tbl-input{min-width:220px}.admin .tbl td.tbl-input input{width:100%;min-width:220px}}@media (min-width:641px) and (max-width:1100px){.admin .tbl{overscroll-behavior-x:contain;scrollbar-width:thin;max-width:100%;display:block;overflow-x:auto}}.detail>*,.detail-media,.detail-info{min-width:0}.gallery,.gallery-thumbs,.chips-scroll{min-width:0;max-width:100%}@media (min-width:761px) and (max-width:1024px){.langs{display:none}.lang-menu{display:block}.head-in{gap:10px}.head-nav{flex:auto;padding-right:28px;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000)}.head-nav a{padding:5px 7px;font-size:.86rem}}:root:lang(ja){--sans:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Yu Gothic", YuGothic, Meiryo, "Noto Sans JP", "Noto Sans CJK JP", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--serif:"Iowan Old Style", "Palatino Linotype", Georgia, "Hiragino Mincho ProN", "Yu Mincho", YuMincho, "Noto Serif JP", "Noto Serif CJK JP", serif}:root:lang(ko){--sans:"Apple SD Gothic Neo", "Malgun Gothic", "맑은 고딕", "Noto Sans KR", "Noto Sans CJK KR", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--serif:"Iowan Old Style", "Palatino Linotype", Georgia, "AppleMyungjo", "Nanum Myeongjo", "Noto Serif KR", "Noto Serif CJK KR", Batang, serif}.level-chip{vertical-align:middle;border:1px solid var(--soon-bd);background:var(--soon-bg);color:var(--soon-fg);font-family:var(--sans);white-space:nowrap;border-radius:999px;align-items:center;margin-left:10px;padding:2px 10px;font-size:.8rem;font-weight:700;line-height:1.5;display:inline-flex}.level-chip.small{margin-left:0;padding:1px 8px;font-size:.72rem}.level-progress .level-chip{margin-left:4px}.level-bar{background:var(--line);border-radius:999px;max-width:360px;height:8px;margin:6px 0;overflow:hidden}.level-bar>span{border-radius:inherit;background:linear-gradient(90deg, var(--brand-a), var(--brand-b));height:100%;display:block}
