:root{--font-display:var(--font-inter),"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;--font-body:var(--font-inter),"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--font-mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--font-head:var(--font-display);--fs-hero:clamp(2rem,4.5vw,3rem);--fs-h2:clamp(1.25rem,2vw,1.6rem);--fs-h3:1.125rem;--fs-card:0.95rem;--fs-body:1rem;--fs-meta:0.8125rem;--fs-micro:0.6875rem;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--tracking-display:-0.01em;--leading-body:1.6;--leading-tight:1.15;--radius-card:16px;--radius-hero:20px;--radius-pill:999px;--radius-input:12px;--radius-rail:14px;--radius:16px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--zone-gap:64px;--zone-heading-mb:16px;--card-gap:16px;--container-max:1280px;--container-pad:clamp(16px,4vw,40px);--grid-min:200px;--hero-aspect:16/9;--card-art-aspect:1/1;--rail-aspect:1/1;--hover-lift:translateY(-4px);--hover-zoom:scale(1.03);--press-scale:scale(0.98);--dur-fast:120ms;--dur:160ms;--theme-transition:180ms ease;--ease:cubic-bezier(0.2,0.6,0.2,1);--bg:#f8fafc;--bg-grad-top:#fff;--bg-grad-bottom:#f1f5f9;--surface-0:#eef2f7;--surface-1:#fff;--surface-2:#fff;--surface-3:#f3f1fe;--surface-glass:hsla(0,0%,100%,.72);--surface-glass-blur:10px;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--text-on-accent:#fff;--text-on-art:#fff;--accent:#4f46e5;--accent-2:#7c3aed;--accent-grad:linear-gradient(135deg,#4f46e5,#7c3aed);--accent-hover:#4338ca;--accent-active:#3730a3;--accent-soft:rgba(79,70,229,.1);--accent-glow:rgba(124,58,237,.18);--border:rgba(15,23,42,.06);--border-strong:rgba(15,23,42,.12);--divider:rgba(15,23,42,.07);--edge-highlight:none;--shadow-1:0 6px 20px rgba(15,23,42,.08);--shadow-2:0 14px 34px rgba(15,23,42,.12);--shadow-hero:0 20px 50px rgba(79,70,229,.14);--elevation-glow:none;--shadow:var(--shadow-1);--shadow-lg:var(--shadow-2);--scrim-art:linear-gradient(transparent,rgba(4,8,20,.3) 42%,rgba(4,8,20,.82));--scrim-text-shadow:0 1px 3px rgba(0,0,0,.7);--cat-action:#fb7185;--cat-puzzle:#8b5cf6;--cat-arcade:#2dd4bf;--cat-shooter:#f59e0b;--cat-3d:#34d399;--cat-casual:#60a5fa;--cat-default:var(--accent);--badge-new-bg:var(--accent);--badge-new-text:#fff;--badge-up:#16a34a;--badge-down:#dc2626;--badge-hot:#f43f5e;--rate-bg:hsla(0,0%,100%,.9);--table-bg:var(--surface-1);--table-head-bg:#f1f5f9;--table-head-text:var(--text-secondary);--table-row-text:var(--text-primary);--table-zebra:rgba(15,23,42,.025);--table-row-border:var(--divider);--table-row-hover:var(--accent-soft);--table-bar-track:var(--surface-0);--table-bar-fill:var(--accent);--kpi-bg:var(--surface-1);--kpi-border:var(--border);--kpi-shadow:var(--shadow-1);--kpi-value:var(--text-primary);--kpi-label:var(--text-muted);--kpi-accent-rail:var(--accent);--admin-card-bg:var(--surface-1);--admin-card-border:var(--border);--admin-card-shadow:var(--shadow-1);--spark-bar:var(--accent);--mover-up:#15803d;--mover-down:#b91c1c;--badge-live-bg:#dcfce7;--badge-live-text:#15803d;--badge-approved-bg:#dcfce7;--badge-approved-text:#15803d;--badge-pending-bg:#fef3c7;--badge-pending-text:#a16207;--badge-rejected-bg:#fee2e2;--badge-rejected-text:#b91c1c;--badge-neutral-bg:var(--surface-0);--badge-neutral-text:var(--text-muted);--field-bg:var(--surface-0);--field-border:var(--border-strong);--field-text:var(--text-primary);--field-placeholder:var(--text-muted);--field-focus-border:var(--accent);--field-focus-ring:var(--accent-soft);--btn-primary-bg:var(--accent);--btn-primary-text:var(--text-on-accent);--btn-primary-hover:var(--accent-hover);--btn-secondary-bg:transparent;--btn-secondary-border:var(--border-strong);--btn-secondary-text:var(--text-secondary);--btn-secondary-hover-bg:var(--accent-soft);--btn-danger-bg:#dc2626;--btn-danger-text:#fff;--btn-danger-border:rgba(220,38,38,.45);--nav-bg:var(--surface-glass);--nav-blur:var(--surface-glass-blur);--nav-border:var(--border);--nav-link:var(--text-secondary);--nav-link-hover-bg:var(--accent-soft);--nav-link-active-bg:var(--accent-soft);--nav-link-active-text:var(--accent);--nav-brand:var(--text-primary);--nav-icon:var(--accent);--teal-1:var(--accent);--teal-2:var(--accent-hover);--teal-3:var(--accent-active);--ink:var(--text-primary);--white:var(--surface-1);color-scheme:light}[data-theme=dark]{--bg:#0b0b0f;--bg-grad-top:#111114;--bg-grad-bottom:#0b0b0f;--surface-0:#101015;--surface-1:#16161c;--surface-2:#1c1c24;--surface-3:#191622;--surface-glass:rgba(22,22,28,.7);--surface-glass-blur:12px;--text-primary:#f4f4f7;--text-secondary:#a5a5b4;--text-muted:#7e7e8c;--accent:#6063ee;--accent-grad:linear-gradient(135deg,#6063ee,#7c3aed);--accent-hover:#818cf8;--accent-active:#a5b4fc;--accent-soft:rgba(99,102,241,.18);--accent-glow:rgba(124,58,237,.38);--border:hsla(0,0%,100%,.08);--border-strong:hsla(0,0%,100%,.14);--divider:hsla(0,0%,100%,.06);--edge-highlight:inset 0 1px 0 hsla(0,0%,100%,.06);--shadow-1:0 8px 24px rgba(0,0,0,.45);--shadow-2:0 16px 40px rgba(0,0,0,.55);--shadow-hero:0 24px 60px rgba(0,0,0,.6);--elevation-glow:0 0 0 1px rgba(99,102,241,.12),0 0 40px var(--accent-glow);--scrim-art:linear-gradient(transparent,rgba(0,0,0,.35) 40%,rgba(0,0,0,.85));--scrim-text-shadow:0 1px 3px rgba(0,0,0,.85);--cat-puzzle:#a78bfa;--cat-shooter:#fbbf24;--badge-new-bg:rgba(99,102,241,.92);--badge-up:#4ade80;--badge-down:#f87171;--badge-hot:#fb5c76;--rate-bg:rgba(11,11,15,.82);--table-head-bg:#1c1c24;--table-zebra:hsla(0,0%,100%,.025);--table-bar-track:hsla(0,0%,100%,.1);--mover-up:#4ade80;--mover-down:#f87171;--badge-live-bg:rgba(74,222,128,.16);--badge-live-text:#4ade80;--badge-approved-bg:rgba(74,222,128,.16);--badge-approved-text:#4ade80;--badge-pending-bg:rgba(251,191,36,.16);--badge-pending-text:#fbbf24;--badge-rejected-bg:hsla(0,91%,71%,.16);--badge-rejected-text:#f87171;--badge-neutral-bg:hsla(0,0%,100%,.08);--btn-danger-bg:#f87171;--btn-danger-text:#0b0b0f;--btn-danger-border:hsla(0,91%,71%,.45);color-scheme:dark}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:var(--font-body);color:var(--text-primary);min-height:100vh;background:linear-gradient(180deg,var(--bg-grad-top),var(--bg-grad-bottom));background-color:var(--bg);background-attachment:fixed;-webkit-font-smoothing:antialiased;transition:background-color var(--theme-transition),color var(--theme-transition)}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}.site-header{display:flex;align-items:center;gap:16px;padding:16px var(--container-pad);max-width:var(--container-max);margin:0 auto}.brand{display:inline-flex;font-family:var(--font-display);font-weight:var(--fw-bold);font-size:24px;letter-spacing:var(--tracking-display);color:var(--text-primary);padding:6px 8px}.brand,.nav{align-items:center;gap:8px}.nav{display:flex;flex:1 1 auto;margin-left:auto;flex-wrap:nowrap;min-width:0;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.nav::-webkit-scrollbar{display:none}.nav>*{flex:0 0 auto}.header-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto;margin-left:4px}.pill{font-family:var(--font-body);font-weight:var(--fw-medium);font-size:var(--fs-meta);color:var(--text-secondary);background:transparent;padding:8px 14px;border-radius:var(--radius-pill);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease);border:1px solid transparent;cursor:pointer;min-height:44px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.pill:hover{background:var(--accent-soft);color:var(--accent)}.pill:active{transform:var(--press-scale)}.pill.active{background:var(--accent-soft);color:var(--accent)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-pill);border:1px solid var(--border-strong);background:transparent;color:var(--text-secondary);cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.theme-toggle:hover{background:var(--accent-soft);color:var(--accent)}.theme-toggle:active{transform:var(--press-scale)}.container{max-width:var(--container-max);margin:0 auto;padding:8px var(--container-pad) 60px}.hero{padding:22px 4px 6px}.hero h1{font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--fs-hero);letter-spacing:var(--tracking-display);line-height:var(--leading-tight);margin:0 0 8px;color:var(--text-primary)}.hero p{margin:0 0 18px;font-size:var(--fs-body);max-width:600px;color:var(--text-secondary);line-height:var(--leading-body)}.home-seo-intro{padding:2px 0 12px;box-sizing:border-box}.home-seo-intro h1{font-family:var(--font-display);font-weight:var(--fw-semibold);font-size:var(--fs-h2);letter-spacing:var(--tracking-display);line-height:var(--leading-tight);margin:0 0 4px;color:var(--text-primary)}.home-seo-intro p{margin:0;max-width:680px;font-size:var(--fs-meta);color:var(--text-secondary);line-height:var(--leading-body)}@media (max-width:900px){.home-seo-intro{padding:14px 14px 0}}.search{display:flex;align-items:center;gap:10px;background:var(--surface-0);border:1px solid var(--border-strong);border-radius:var(--radius-input);padding:10px 16px;max-width:460px}.search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.search svg{flex:none;stroke:var(--text-muted)}.search input{border:0;outline:0;width:100%;font-family:var(--font-body);font-size:var(--fs-body);color:var(--text-primary);background:transparent}.search input::placeholder{color:var(--text-muted)}.filter-row{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 22px}.section-title{font-family:var(--font-display);font-weight:var(--fw-semibold);font-size:var(--fs-h2);letter-spacing:var(--tracking-display);color:var(--text-primary);margin:26px 4px 14px}.rank-zone{margin:0 0 var(--zone-gap)}.rank-zone:last-child{margin-bottom:0}.rank-zone .zone-head{display:flex;align-items:baseline;gap:12px;margin:0 4px var(--zone-heading-mb)}.rank-zone .zone-title{font-family:var(--font-display);font-weight:var(--fw-semibold);font-size:var(--fs-h2);letter-spacing:var(--tracking-display);color:var(--text-primary);margin:0;line-height:var(--leading-tight)}.rank-zone .zone-sub{font-size:var(--fs-meta);color:var(--text-secondary)}.lobby-grid,.zone-grid{grid-template-columns:repeat(auto-fill,minmax(var(--grid-lobby-min,164px),1fr));justify-content:start;grid-gap:var(--card-gap)}.grid,.lobby-grid,.zone-grid{display:grid;gap:var(--card-gap)}.grid{grid-template-columns:repeat(auto-fill,minmax(var(--grid-min),1fr));grid-gap:var(--card-gap)}.empty{color:var(--text-secondary);padding:40px 0;font-size:var(--fs-body)}.featured-hero{display:grid;grid-template-columns:8fr 4fr;grid-gap:var(--card-gap);gap:var(--card-gap);align-items:stretch}.featured-hero--solo{grid-template-columns:1fr;max-width:900px;margin-inline:auto}.featured-hero .hero-side{display:grid;grid-template-rows:1fr 1fr;grid-gap:var(--card-gap);gap:var(--card-gap);min-width:0}@media (max-width:760px){.featured-hero{grid-template-columns:1fr}.featured-hero .hero-side{display:none}}.card{position:relative;display:block;border-radius:var(--radius-card);overflow:hidden;background:var(--surface-1);border:1px solid var(--border);box-shadow:var(--shadow-1),var(--edge-highlight);aspect-ratio:var(--card-art-aspect);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease);isolation:isolate}.card:hover{transform:var(--hover-lift);box-shadow:var(--shadow-2),var(--edge-highlight)}.card:active{transform:var(--press-scale)}.card[data-tier=hero]{aspect-ratio:var(--hero-aspect);border-radius:var(--radius-hero);box-shadow:var(--shadow-hero),var(--edge-highlight);background:var(--surface-3)}.card[data-tier=hero]:hover{box-shadow:var(--shadow-hero),var(--elevation-glow)}.featured-hero .hero-side .card{aspect-ratio:auto;height:100%}.card[data-tier=rail]{border-radius:var(--radius-rail);aspect-ratio:var(--rail-aspect)}.card.featured{grid-column:span 2;grid-row:span 2;aspect-ratio:var(--hero-aspect);border-radius:var(--radius-hero)}.card .art{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:0}.card .art .emoji{color:var(--text-on-art);filter:drop-shadow(0 8px 10px rgba(0,0,0,.25));transition:transform .2s ease}.card:hover .art .emoji{transform:scale(1.1)}.card .art .art-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform var(--dur) var(--ease)}.card:hover .art .art-img{transform:var(--hover-zoom)}.card .label{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:28px 14px 12px;background:var(--scrim-art)}.card .label .title{font-family:var(--font-display);font-weight:var(--fw-semibold);font-size:var(--fs-card);margin:0;line-height:var(--leading-tight);color:var(--text-on-art);text-shadow:var(--scrim-text-shadow)}.card.featured .label .title,.card[data-tier=hero] .label .title{font-size:var(--fs-hero);font-weight:var(--fw-bold)}.card[data-tier=rail] .label{padding:18px 10px 9px}.card[data-tier=rail] .label .title{font-size:var(--fs-meta);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card .label .cat{font-size:var(--fs-meta);color:var(--text-on-art);opacity:.85;text-transform:capitalize}.card[data-tier=rail] .label .cat{font-size:var(--fs-micro)}.card.featured .label .desc,.card[data-tier=hero] .label .desc{font-size:var(--fs-body);color:var(--text-on-art);opacity:.92;margin:6px 0 0;max-width:80%;text-shadow:var(--scrim-text-shadow);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.badge-new{top:10px;left:10px;font-size:var(--fs-micro);letter-spacing:.04em;text-transform:uppercase;color:var(--badge-new-text);background:var(--badge-new-bg);padding:4px 9px;box-shadow:var(--shadow-1)}.badge-new,.play-pill{position:absolute;z-index:3;font-family:var(--font-display);font-weight:var(--fw-semibold);border-radius:var(--radius-pill)}.play-pill{top:50%;left:50%;transform:translate(-50%,-50%) scale(.8);display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-card);color:var(--text-on-accent);background:var(--accent);padding:10px 20px;opacity:0;transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease),background var(--dur) var(--ease);box-shadow:var(--shadow-2);pointer-events:none}.card:hover .play-pill{opacity:1;transform:translate(-50%,-50%) scale(1);background:var(--accent-hover)}@media (hover:none){.play-pill{opacity:0}.card.featured .play-pill,.card[data-tier=hero] .play-pill{opacity:1;transform:translate(-50%,-50%) scale(1)}}.category-pills{position:-webkit-sticky;position:sticky;top:0;z-index:50;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:10px var(--container-pad);margin:0 calc(-1 * var(--container-pad)) var(--zone-heading-mb);background:var(--surface-glass);-webkit-backdrop-filter:blur(var(--surface-glass-blur));backdrop-filter:blur(var(--surface-glass-blur));border-bottom:1px solid var(--border)}.category-pills::-webkit-scrollbar{display:none}.category-pills .pill{white-space:nowrap;flex:0 0 auto}.breadcrumb{font-size:var(--fs-meta);color:var(--text-secondary);margin:6px 4px 14px}.breadcrumb a:hover{color:var(--accent);text-decoration:underline}.breadcrumb a{display:inline-block;padding:14px 4px;margin:-14px 0}.player{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-card);padding:14px;box-shadow:var(--shadow-1),var(--edge-highlight);max-width:920px;margin:0 auto}.player .bar{display:flex;align-items:center;gap:12px;padding:4px 6px 12px}.player .bar .ico{width:40px;height:40px;border-radius:11px;object-fit:cover;display:block;flex:none;box-shadow:var(--shadow-1)}.player .bar h1{font-family:var(--font-display);font-weight:var(--fw-semibold);font-size:1.375rem;margin:0;line-height:var(--leading-tight);color:var(--text-primary)}.player .bar .cat{font-size:var(--fs-meta);color:var(--text-secondary);text-transform:capitalize}.player .bar .ghost-btn{margin-left:auto}.player .bar .fs{font-family:var(--font-display);font-weight:var(--fw-medium);font-size:var(--fs-meta);color:var(--text-on-accent);background:var(--accent);border:0;border-radius:var(--radius-pill);padding:9px 16px;cursor:pointer;min-height:44px;box-shadow:var(--shadow-1);display:inline-flex;align-items:center;gap:6px;transition:transform var(--dur-fast) ease,box-shadow var(--dur-fast) ease,background var(--dur-fast) ease;flex:0 0 auto}.player .bar .fs:hover{transform:translateY(-1px);background:var(--accent-hover)}.player .bar .ghost-btn.fs{flex:0 0 auto;width:44px;height:44px;min-width:44px;aspect-ratio:1/1;padding:0;border-radius:50%;justify-content:center;color:var(--text-on-accent)}.player .bar .ghost-btn.fs[aria-pressed=true]{color:var(--text-muted);background:var(--surface-0)}.player .bar .lang-switch{flex:0 0 auto}.player .bar .lang-trigger{min-height:44px;border-radius:var(--radius-pill)}.frame-shell{position:relative;width:100%;aspect-ratio:3/4;max-width:480px;margin:0 auto;border-radius:16px;overflow:hidden;background:#0a0a0f}.frame-shell iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.frame-shell:-webkit-full-screen{max-width:none;aspect-ratio:auto;border-radius:0}.frame-shell:fullscreen{max-width:none;aspect-ratio:auto;border-radius:0}.frame-shell:-webkit-full-screen iframe{width:100%;height:100%}.frame-shell:fullscreen iframe{width:100%;height:100%}.frame-shell.dfg-pseudo-fs{position:fixed;inset:0;width:100vw;width:100dvw;height:100vh;height:100dvh;max-width:none;aspect-ratio:auto;border-radius:0;margin:0;z-index:9999;background:#000}.frame-shell.dfg-pseudo-fs iframe{position:absolute;inset:0;width:100%;height:100%;border:0}body.dfg-fs-lock{overflow:hidden!important;height:100vh;height:100dvh;touch-action:none}body.dfg-fs-lock .breadcrumb,body.dfg-fs-lock .related-rail,body.dfg-fs-lock .site-footer,body.dfg-fs-lock .site-header,body.dfg-fs-lock .stats{display:none!important}.dfg-fs-exit{position:absolute;top:calc(env(safe-area-inset-top, 0px) + 10px);right:calc(env(safe-area-inset-right, 0px) + 10px);z-index:10000;width:44px;height:44px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:50%;cursor:pointer;color:#fff;background:rgba(10,10,15,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);box-shadow:0 2px 10px rgba(0,0,0,.4);-webkit-tap-highlight-color:transparent;transition:background .12s ease,transform .12s ease}.dfg-fs-exit:hover{background:rgba(10,10,15,.78)}.dfg-fs-exit:active{transform:scale(.94)}.frame-shell:-webkit-full-screen .dfg-fs-exit{position:fixed}.frame-shell:fullscreen .dfg-fs-exit{position:fixed}.rec-panel{position:absolute;inset:0;z-index:10001;display:flex;align-items:center;justify-content:center;padding:18px;overflow-y:auto;background:rgba(4,8,20,.82);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);-webkit-overflow-scrolling:touch}.frame-shell:-webkit-full-screen .rec-panel{position:fixed}.frame-shell:fullscreen .rec-panel{position:fixed}.rec-panel-inner{width:100%;max-width:440px;margin:auto;text-align:center}.rec-over{font-size:1.625rem;color:#fff;margin:0 0 14px;text-shadow:0 2px 10px rgba(0,0,0,.35)}.rec-over,.rec-replay{font-family:var(--font-display);font-weight:var(--fw-semibold)}.rec-replay{display:inline-flex;align-items:center;justify-content:center;font-size:1.125rem;color:var(--text-on-accent);background:var(--accent);border:0;border-radius:var(--radius-pill);padding:14px 38px;cursor:pointer;box-shadow:var(--shadow-2);transition:transform .12s ease,box-shadow .12s ease,background .12s ease;-webkit-tap-highlight-color:transparent}.rec-replay:hover{transform:translateY(-2px);background:var(--accent-hover)}.rec-replay:active{transform:scale(.97)}.rec-heading{font-family:var(--font-display);font-weight:var(--fw-semibold);font-size:var(--fs-card);color:#fff;opacity:.92;margin:22px 0 12px}.rec-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px}.rec-card{position:relative;display:block;border-radius:var(--radius-rail);overflow:hidden;box-shadow:var(--shadow-1);background:#0a0a0f;isolation:isolate;transition:transform .14s ease,box-shadow .14s ease}.rec-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-2)}.rec-card .art{position:relative;width:100%;aspect-ratio:1/1}.rec-card .art-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.rec-card .label{padding:6px 7px 8px;text-align:left;background:var(--scrim-art)}.rec-card .label .title{font-family:var(--font-display);font-weight:var(--fw-semibold);font-size:var(--fs-meta);line-height:var(--leading-tight);color:var(--text-on-art);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rec-card .label .cat{font-size:var(--fs-micro);opacity:.8;color:var(--text-on-art);text-transform:capitalize}@media (max-width:560px){.rec-grid{grid-template-columns:repeat(2,1fr)}.rec-over{font-size:1.375rem}.rec-replay{font-size:1rem;padding:12px 30px}}.stats{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.stat{background:var(--surface-1);border:1px solid var(--border);color:var(--text-secondary);border-radius:12px;padding:8px 14px;font-size:var(--fs-meta)}.stat b{font-family:var(--font-display);color:var(--text-primary)}.prose{max-width:720px;margin:0 auto;color:var(--text-secondary)}.prose h2{font-family:var(--font-display);font-weight:var(--fw-semibold);font-size:var(--fs-h3);margin:22px 0 6px;color:var(--text-primary)}.prose p{line-height:var(--leading-body);margin:0}.prose code{color:var(--text-primary);padding:1px 6px;border-radius:5px;font-size:var(--fs-meta);font-family:var(--font-mono)}.prose .code,.prose code{background:var(--surface-0)}.prose .code{border:1px solid var(--border);border-radius:12px;padding:14px 16px;overflow-x:auto;margin:10px 0}.prose .code code{background:none;padding:0;font-size:var(--fs-meta);line-height:1.55;white-space:pre;color:var(--text-primary)}.prose ul{line-height:1.7}.site-footer{text-align:center;padding:26px var(--container-pad) 40px;font-size:var(--fs-meta);color:var(--text-muted)}.footer-cats{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 14px;max-width:880px;margin:0 auto 16px}.footer-cats a{color:var(--text-secondary);text-decoration:none}.footer-cats a:hover{color:var(--text-primary);text-decoration:underline}.cat-intro{margin:6px auto 18px}.cat-links{margin-top:18px}.cat-links a{color:var(--accent,#6366f1);text-decoration:none}.cat-links a:hover{text-decoration:underline}.cat-links a{display:inline-block;padding:12px 6px;margin:-8px 0}@media (max-width:600px){:root{--card-gap:10px;--zone-gap:28px;--grid-min:46vw}.grid,.zone-grid{grid-template-columns:repeat(var(--grid-cols-mobile,2),1fr)}.card.featured{grid-column:1/-1;aspect-ratio:var(--hero-aspect);grid-row:auto}.card.featured .label .title,.card[data-tier=hero] .label .title{font-size:1.5rem}.site-header{flex-wrap:nowrap;gap:10px;padding:12px var(--container-pad)}.nav{flex:1 1 auto;min-width:0;margin-left:0}.header-actions{gap:2px;margin-left:auto}.header-actions .lang-trigger{padding:8px;min-width:44px;justify-content:center}.header-actions .lang-trigger .lang-code{display:none}.header-actions .account-widget .account-trigger{padding:6px 10px;white-space:nowrap}.header-actions .account-widget .account-who{display:none}}.home-bar{align-items:center;gap:12px;margin:4px 4px 16px}.home-bar,.home-bar .pills{display:flex;flex-wrap:wrap}.home-bar .pills{gap:8px}.home-bar .search{margin:0 0 0 auto;max-width:260px;padding:9px 14px}.home-bar .search input{font-size:var(--fs-meta)}@media (max-width:600px){.home-bar .search{margin:0;max-width:none;width:100%;order:2}.home-bar .pills{order:1}}.game-stage{display:flex;gap:22px;align-items:flex-start}.stage-main{flex:1 1 auto;min-width:0}.related-rail{flex:0 0 280px}.related-rail h2{margin:0 0 12px;font-family:var(--font-display);font-weight:var(--fw-semibold);font-size:var(--fs-h3);color:var(--text-primary)}.related-rail .grid{grid-template-columns:1fr 1fr;gap:10px}@media (min-width:901px){.player{width:auto;max-width:100%;margin:0}.frame-shell{height:min(78vh,760px);width:calc(min(78vh, 760px) * .75);max-width:100%;margin:0 auto}}@media (max-width:900px){.game-stage{flex-direction:column}.related-rail{flex:auto;width:100%}.related-rail .grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}@media (max-width:560px){.player .bar{flex-wrap:wrap;gap:8px}.player .bar .fs .fs-label{display:none}.player .bar .fs{padding:0;width:44px;min-width:44px;height:44px;justify-content:center;gap:0}.player .bar h1{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.admin{max-width:var(--container-max);margin:0 auto}.admin-head{margin:4px 0 22px}.admin-head h1{font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--fs-h2);letter-spacing:var(--tracking-display);line-height:var(--leading-tight);margin:8px 0 4px;color:var(--nav-brand);display:flex;align-items:center}.admin-head p{color:var(--text-secondary);margin:0 0 16px;font-size:var(--fs-meta);line-height:var(--leading-body)}.admin-nav{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin:12px 0 4px;padding:8px;background:var(--nav-bg);-webkit-backdrop-filter:blur(var(--nav-blur));backdrop-filter:blur(var(--nav-blur));border:1px solid var(--nav-border);border-radius:var(--radius-card);box-shadow:var(--shadow-1),var(--edge-highlight)}.admin-nav .pill{color:var(--nav-link)}.admin-nav .pill:hover{background:var(--nav-link-hover-bg);color:var(--nav-link-active-text)}.admin-nav .pill.active{background:var(--nav-link-active-bg);color:var(--nav-link-active-text)}.admin-nav .logout-btn{margin-left:auto}.h1-ico{width:24px;height:24px;margin-right:8px;color:var(--nav-icon);flex:none}.admin-tabs{margin:12px 0 4px}.admin-tabs-bar{display:flex;gap:6px;flex-wrap:nowrap;white-space:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;align-items:center;margin:0 0 16px;padding:8px;background:var(--nav-bg);-webkit-backdrop-filter:blur(var(--nav-blur));backdrop-filter:blur(var(--nav-blur));border:1px solid var(--nav-border);border-radius:var(--radius-card);box-shadow:var(--shadow-1),var(--edge-highlight)}.admin-tabs-bar::-webkit-scrollbar{display:none}.admin-tabs-bar .pill{flex:0 0 auto;color:var(--nav-link)}.admin-tabs-bar .pill:hover{background:var(--nav-link-hover-bg);color:var(--nav-link-active-text)}.admin-tabs-bar .pill.active{background:var(--nav-link-active-bg);color:var(--nav-link-active-text)}.range-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:8px 0 6px;padding:10px 12px;background:var(--nav-bg);-webkit-backdrop-filter:blur(var(--nav-blur));backdrop-filter:blur(var(--nav-blur));border:1px solid var(--nav-border);border-radius:var(--radius-card);box-shadow:var(--shadow-1),var(--edge-highlight)}.range-meta,.range-pickers,.range-presets{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.range-meta{margin-left:auto}.range-presets .pill{padding:6px 12px;min-height:36px}.range-field{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid var(--nav-border);border-radius:var(--radius-pill);font-size:var(--fs-meta);color:var(--text-secondary)}.range-field.on{border-color:var(--accent);color:var(--accent)}.range-field-k{font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:.05em;opacity:.75}.range-field input[type=date]{font:inherit;color:var(--text-primary);background:var(--surface-0);border:1px solid var(--nav-border);border-radius:8px;padding:4px 8px;min-height:32px}.range-apply{padding:4px 12px;min-height:32px}.range-compare[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}.range-tz{font-size:var(--fs-meta);color:var(--text-secondary);white-space:nowrap}.range-caption{font-size:var(--fs-meta);margin:0 0 var(--space-6)}.kpi-delta{font-size:.5em;margin-left:.4em;vertical-align:middle;font-weight:var(--fw-semibold)}.kpi-delta.up{color:var(--mover-up)}.kpi-delta.down{color:var(--mover-down)}@media (max-width:640px){.range-meta{margin-left:0;width:100%}.range-field{flex-wrap:wrap}}.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:var(--card-gap);gap:var(--card-gap);margin-bottom:var(--space-6)}.kpi{position:relative;background:var(--kpi-bg);border:1px solid var(--kpi-border);box-shadow:var(--kpi-shadow),var(--edge-highlight);border-radius:var(--radius-card);padding:16px 18px;display:flex;flex-direction:column;gap:4px;overflow:hidden}.kpis>.kpi:first-child:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--kpi-accent-rail)}.kpi-v{font-family:var(--font-display);font-weight:var(--fw-bold);font-size:26px;letter-spacing:var(--tracking-display);color:var(--kpi-value)}.kpi-k{font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:.06em;color:var(--kpi-label)}.admin-card .kpis{margin-bottom:12px;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:10px}.admin-card .kpi{padding:12px 14px;box-shadow:none;background:var(--surface-0);border-color:transparent}.admin-card .kpis>.kpi:first-child:before{display:none}.admin-card .kpi-v{font-size:20px}.admin-h2{font-family:var(--font-display);font-weight:var(--fw-semibold);font-size:var(--fs-h3);letter-spacing:var(--tracking-display);margin:var(--space-6) 4px 12px;color:var(--text-primary)}.admin-table-wrap{overflow-x:auto;border-radius:var(--radius-card);background:var(--table-bg);border:1px solid var(--border);box-shadow:var(--shadow-1),var(--edge-highlight)}.admin-table{width:100%;border-collapse:collapse;font-size:var(--fs-meta);min-width:760px;color:var(--table-row-text)}.admin-table td,.admin-table th{padding:11px 14px;text-align:left;white-space:nowrap}.admin-table thead th{position:-webkit-sticky;position:sticky;top:0;z-index:1;font-size:var(--fs-micro);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--table-head-text);background:var(--table-head-bg);border-bottom:1px solid var(--border-strong)}.admin-table tbody tr{border-bottom:1px solid var(--table-row-border);transition:background var(--dur-fast) var(--ease)}.admin-table tbody tr:nth-child(2n){background:var(--table-zebra)}.admin-table tbody tr:last-child{border-bottom:0}.admin-table tbody tr:hover{background:var(--table-row-hover)}.admin-table .g-name{font-weight:var(--fw-semibold);color:var(--text-primary)}.admin-table .g-emoji,.g-emoji{margin-right:8px}.g-emoji{width:22px;height:22px;border-radius:6px;object-fit:cover;vertical-align:-5px}.admin-table .muted{color:var(--text-muted);text-transform:capitalize}.admin-table .bar{width:90px;height:7px;border-radius:var(--radius-pill);background:var(--table-bar-track);overflow:hidden;display:inline-block;vertical-align:middle;margin-right:8px}.admin-table .bar span{display:block;height:100%;background:var(--table-bar-fill);border-radius:var(--radius-pill)}.admin-table small{color:var(--text-muted)}.score-badge{display:inline-block;min-width:2.4em;padding:2px 9px;border-radius:var(--radius-pill);font-weight:var(--fw-bold);font-size:var(--fs-meta);line-height:1.5;text-align:center;border:1px solid;color:var(--accent);background:var(--accent-soft)}.score-badge.good{color:var(--mover-up)}.score-badge.ok{color:var(--accent)}.score-badge.low{color:var(--mover-down)}.admin-note{color:var(--text-secondary);font-size:var(--fs-meta);max-width:760px;margin:16px 4px 0;line-height:var(--leading-body)}.ret-grid-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--table-bg)}.ret-grid{border-collapse:collapse;width:100%;min-width:820px;font-size:var(--fs-meta);color:var(--table-row-text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ret-grid td,.ret-grid th{padding:8px 10px;text-align:right;white-space:nowrap}.ret-grid thead th{position:-webkit-sticky;position:sticky;top:0;z-index:2;background:var(--table-head-bg);color:var(--table-head-text);font-size:var(--fs-micro);font-weight:var(--fw-semibold);letter-spacing:.04em;border-bottom:1px solid var(--border-strong)}.ret-grid thead .ret-group{text-align:center;text-transform:uppercase;letter-spacing:.06em}.ret-grid thead .ret-sub{font-weight:var(--fw-medium)}.ret-grid .ret-day{position:-webkit-sticky;position:sticky;left:0;z-index:1;text-align:left;background:var(--table-bg);font-weight:var(--fw-semibold);color:var(--text-primary);border-right:1px solid var(--border-strong)}.ret-grid thead .ret-day{z-index:3;background:var(--table-head-bg)}.ret-grid tbody tr{border-bottom:1px solid var(--table-row-border)}.ret-grid tbody tr:last-child{border-bottom:0}.ret-grid tbody tr:hover .ret-day,.ret-grid tbody tr:hover td{background:var(--table-row-hover)}.ret-grid .ret-gstart{border-left:1px solid var(--border-strong)}.ret-grid .ret-size{color:var(--text-secondary)}.ret-grid .ret-pct{font-weight:var(--fw-semibold);background:color-mix(in srgb,var(--accent) calc(var(--heat, 0) * 68%),transparent)}.ret-grid .ret-na{color:var(--text-muted);opacity:.6;font-weight:400}.admin-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:var(--card-gap);gap:var(--card-gap);margin-bottom:var(--space-5)}.admin-card{background:var(--admin-card-bg);border:1px solid var(--admin-card-border);box-shadow:var(--admin-card-shadow),var(--edge-highlight);border-radius:var(--radius-card);padding:16px 18px}.admin-card h3{font-family:var(--font-display);font-weight:var(--fw-semibold);font-size:var(--fs-card);margin:0 0 12px;color:var(--text-primary)}.admin-card h3 b{color:var(--accent);font-weight:var(--fw-bold)}.spark{display:flex;align-items:flex-end;gap:3px;height:70px}.spark span{flex:1 1;min-height:2px;background:var(--spark-bar);border-radius:3px 3px 0 0;opacity:.9}.trend-spline{display:block;width:100%;height:40px;overflow:visible}.trend-spline .trend-line{stroke:var(--accent);stroke-width:1.6;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.trend-spline .trend-area{fill:var(--accent-soft);stroke:none}.trend-spline .trend-dot{fill:var(--accent)}.feed,.movers{list-style:none;margin:0;padding:0;font-size:var(--fs-meta);color:var(--text-secondary)}.movers li{display:flex;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px solid var(--divider)}.movers li:last-child{border-bottom:0}.movers .up{color:var(--mover-up)}.movers .down,.movers .up{font-weight:var(--fw-semibold)}.movers .down{color:var(--mover-down)}.feed li{padding:5px 0;border-bottom:1px solid var(--divider)}.feed li:last-child{border-bottom:0}.feed b{text-transform:capitalize;color:var(--text-primary);font-weight:var(--fw-semibold)}.muted{color:var(--text-muted)}.admin-ctrl{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:8px;gap:8px}.ctrl-row{display:flex;align-items:center;gap:8px;background:var(--surface-0);border:1px solid var(--border);border-radius:var(--radius-input);padding:8px 12px}.ctrl-name{flex:1 1;font-size:var(--fs-meta);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chip,.ctrl-name{font-weight:var(--fw-semibold)}.chip{display:inline-flex;align-items:center;font-family:var(--font-body);font-size:var(--fs-micro);border:1px solid var(--btn-secondary-border);background:var(--btn-secondary-bg);color:var(--btn-secondary-text);border-radius:var(--radius-pill);padding:6px 12px;cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.chip:hover:not(:disabled){background:var(--btn-secondary-hover-bg);color:var(--accent);border-color:var(--accent)}.chip:active:not(:disabled){transform:var(--press-scale)}.chip.on{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-color:var(--btn-primary-bg)}.chip.on:hover:not(:disabled){background:var(--btn-primary-hover);color:var(--btn-primary-text);border-color:var(--btn-primary-hover)}.chip.on.danger{background:var(--btn-danger-bg);color:var(--btn-danger-text);border-color:var(--btn-danger-bg)}.chip:disabled{opacity:.5;cursor:default}.chip.danger{border-color:var(--btn-danger-border);color:var(--mover-down)}.chip.danger:hover:not(:disabled){background:var(--badge-rejected-bg);color:var(--badge-rejected-text);border-color:var(--btn-danger-border)}.status-badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-body);font-size:var(--fs-micro);font-weight:var(--fw-semibold);letter-spacing:.02em;border-radius:var(--radius-pill);padding:3px 10px;white-space:nowrap;background:var(--badge-neutral-bg);color:var(--badge-neutral-text)}.status-badge .dot{width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}.status-badge.adopted,.status-badge.approved,.status-badge.live{background:var(--badge-live-bg);color:var(--badge-live-text)}.status-badge.new,.status-badge.pending,.status-badge.pending_review{background:var(--badge-pending-bg);color:var(--badge-pending-text)}.status-badge.rejected{background:var(--badge-rejected-bg);color:var(--badge-rejected-text)}.status-badge.in_progress{background:var(--accent-soft);color:var(--accent)}.rev-item{background:var(--admin-card-bg);border:1px solid var(--admin-card-border);box-shadow:var(--admin-card-shadow),var(--edge-highlight);border-radius:var(--radius-card);padding:16px 18px;margin-bottom:12px}.rev-item.ok{background:var(--badge-live-bg);border-color:transparent;color:var(--badge-live-text)}.rev-item.bad{background:var(--badge-rejected-bg);border-color:transparent}.rev-error,.rev-item.bad{color:var(--badge-rejected-text)}.rev-error{display:inline-flex;align-items:center;gap:4px;margin-top:8px;font-size:var(--fs-meta)}.rev-changelog{background:var(--surface-0);border:1px solid var(--border);border-radius:var(--radius-input);padding:10px 12px;margin-bottom:12px}.rev-changelog-label{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:12px;font-weight:var(--fw-bold);letter-spacing:.04em;text-transform:uppercase;color:var(--accent)}.rev-changelog-body{margin:6px 0 0;font-size:var(--fs-meta);line-height:1.55;white-space:pre-wrap;color:var(--text-secondary)}.rev-addresses{font-size:11px;font-weight:var(--fw-bold);text-transform:none;letter-spacing:0;border-radius:6px;padding:1px 8px}.rev-addresses.reject{background:var(--badge-rejected-bg);color:var(--badge-rejected-text)}.rev-addresses.suggestion{background:var(--accent-soft);color:var(--accent)}.rev-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.ver-tag{background:var(--accent-soft);color:var(--accent);border-radius:6px;padding:1px 7px;font-size:12px;font-weight:var(--fw-bold)}.rev-head .note{margin-top:4px;font-size:var(--fs-meta);color:var(--text-secondary)}.rev-frame{margin:12px 0}.rev-frame iframe{width:100%;max-width:420px;aspect-ratio:3/4;border:0;border-radius:12px;background:#000;display:block}.rev-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px}.rev-reason{flex:1 1;min-width:200px;background:var(--field-bg);border:1px solid var(--field-border);color:var(--field-text);border-radius:var(--radius-input);padding:9px 12px;font-family:var(--font-body);font-size:var(--fs-meta)}.rev-reason::placeholder{color:var(--field-placeholder)}.rev-reason:focus{outline:none;border-color:var(--field-focus-border);box-shadow:0 0 0 3px var(--field-focus-ring)}.game-block{background:var(--admin-card-bg);border:1px solid var(--admin-card-border);box-shadow:var(--admin-card-shadow),var(--edge-highlight);border-radius:var(--radius-card);padding:16px 18px;margin-bottom:12px}.game-block-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:10px}.ver-table{width:100%;border-collapse:collapse;font-size:var(--fs-meta);color:var(--text-secondary);display:block;overflow-x:auto}.ver-table tbody,.ver-table thead{display:table;width:100%;min-width:540px}.ver-table th{text-align:left;color:var(--table-head-text);font-size:var(--fs-micro);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.05em;padding:6px 10px}.ver-table td{padding:7px 10px;border-top:1px solid var(--divider);white-space:nowrap}.ver-table .live-row{background:var(--badge-live-bg)}.ver-table .live-row td{color:var(--badge-live-text)}.suggest{display:flex;flex-direction:column;gap:8px;margin-left:auto;min-width:280px;max-width:460px}.suggest-form{display:flex;gap:6px;align-items:flex-start}.suggest textarea{flex:1 1;background:var(--field-bg);border:1px solid var(--field-border);color:var(--field-text);border-radius:var(--radius-input);padding:7px 10px;font-size:var(--fs-meta);font-family:var(--font-body);resize:vertical;min-height:36px}.suggest textarea::placeholder{color:var(--field-placeholder)}.suggest textarea:focus{outline:none;border-color:var(--field-focus-border);box-shadow:0 0 0 3px var(--field-focus-ring)}.suggest-err{color:var(--mover-down);font-size:12px}.suggest-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.suggest-list li{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:var(--fs-meta);background:var(--surface-0);border-radius:8px;padding:6px 9px;color:var(--text-secondary)}.suggest-list .suggest-text{flex:1 1;min-width:120px}.chip.chip-sm{font-size:11px;padding:3px 8px}.exp-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:12px;font-size:var(--fs-meta);color:var(--text-secondary)}.exp-head .g-name{font-weight:var(--fw-bold);font-size:var(--fs-card);color:var(--text-primary)}.exp-state{font-size:11px;font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.04em;border-radius:var(--radius-pill);padding:3px 10px;background:var(--badge-neutral-bg);color:var(--badge-neutral-text)}.exp-state.on{background:var(--badge-live-bg);color:var(--badge-live-text)}.exp-ctrl{gap:10px;flex-wrap:wrap;margin-bottom:12px}.exp-ctrl,.exp-rollout{display:flex;align-items:center}.exp-rollout{gap:8px;font-size:12px}.exp-rollout span{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.exp-rollout input{width:80px;background:var(--field-bg);border:1px solid var(--field-border);color:var(--field-text);border-radius:8px;padding:6px 10px;font-size:var(--fs-meta);font-family:var(--font-body)}.exp-rollout input:focus{outline:none;border-color:var(--field-focus-border);box-shadow:0 0 0 3px var(--field-focus-ring)}.exp-msg{color:var(--text-secondary)}.exp-msg,.exp-nodata{font-size:var(--fs-meta)}.exp-nodata{margin:4px 0 0;color:var(--text-muted)}.exp-table-wrap{margin-top:6px}.exp-table{min-width:420px}.exp-table .exp-metric{font-weight:var(--fw-bold);white-space:nowrap}.exp-table .up{color:var(--mover-up)}.exp-table .down{color:var(--mover-down)}.sig-strip{margin-top:10px;display:flex;flex-direction:column;gap:8px}.sig-badges{display:flex;flex-wrap:wrap;gap:8px}.sig-badge{font-size:11px;font-weight:var(--fw-semibold);border-radius:var(--radius-pill);padding:3px 10px;background:var(--badge-neutral-bg);color:var(--badge-neutral-text);white-space:nowrap}.sig-badge.sig-yes{color:var(--mover-up);background:var(--badge-live-bg,var(--badge-neutral-bg))}.sig-badge.sig-no{color:var(--text-secondary)}.sig-badge.sig-na{color:var(--text-muted)}.sig-srm-warn{font-size:var(--fs-meta);font-weight:var(--fw-semibold);color:var(--mover-down);border:1px solid var(--mover-down);border-radius:8px;padding:6px 10px}.login-card{max-width:380px;background:var(--admin-card-bg);border:1px solid var(--admin-card-border);box-shadow:var(--admin-card-shadow);border-radius:16px;padding:22px 22px 24px;gap:14px}.login-card,.login-field{display:flex;flex-direction:column}.login-field{gap:6px}.login-field span{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.login-field input{background:var(--field-bg);border:1px solid var(--field-border);color:var(--field-text);border-radius:10px;padding:10px 12px;font-size:var(--fs-body);font-family:var(--font-body)}.login-field input:focus{outline:none;border-color:var(--field-focus-border);box-shadow:0 0 0 3px var(--field-focus-ring)}.login-error{margin:0;color:var(--badge-rejected-text);background:var(--badge-rejected-bg);border-radius:8px;padding:8px 12px;font-size:var(--fs-meta)}.login-btn{margin-top:4px;font-family:var(--font-display);font-weight:var(--fw-semibold);font-size:var(--fs-body);color:var(--btn-primary-text);background:var(--btn-primary-bg);border:0;border-radius:10px;padding:11px 14px;cursor:pointer}.login-btn:hover{background:var(--btn-primary-hover)}.login-btn:disabled{opacity:.6;cursor:default}.logout-btn{font-family:var(--font-display);font-weight:var(--fw-medium);font-size:var(--fs-meta);color:var(--btn-secondary-text);background:var(--btn-secondary-bg);border:1px solid var(--btn-secondary-border);border-radius:var(--radius-pill);padding:7px 14px;cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.logout-btn:hover{background:var(--btn-secondary-hover-bg);color:var(--accent);border-color:var(--accent)}.logout-btn:disabled{opacity:.6;cursor:default}.change-password{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.change-password input{background:var(--field-bg);border:1px solid var(--field-border);color:var(--field-text);border-radius:var(--radius-input);padding:9px 12px;font-size:var(--fs-meta);font-family:var(--font-body)}.change-password input::placeholder{color:var(--field-placeholder)}.change-password input:focus{outline:none;border-color:var(--field-focus-border);box-shadow:0 0 0 3px var(--field-focus-ring)}.change-password button{font-family:var(--font-display);font-weight:var(--fw-semibold);font-size:var(--fs-meta);color:var(--btn-primary-text);background:var(--btn-primary-bg);border:0;border-radius:var(--radius-pill);padding:9px 16px;cursor:pointer;transition:background var(--dur-fast) var(--ease)}.change-password button:hover:not(:disabled){background:var(--btn-primary-hover)}.change-password button:disabled{opacity:.6;cursor:default}.change-password .pwd-msg.ok{color:var(--mover-up)}.change-password .pwd-msg.bad{color:var(--mover-down)}.proposal-meta{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:var(--fs-meta);color:var(--text-secondary);margin-bottom:8px}.proposal-meta b{color:var(--text-muted);font-weight:var(--fw-semibold)}.proposal-meta a{color:var(--accent)}.proposal-meta a:hover{text-decoration:underline}.proposal-summary{font-size:var(--fs-meta);line-height:var(--leading-body);margin:0 0 8px;color:var(--text-secondary)}.proposal-notes b,.proposal-summary b{display:block;color:var(--text-muted);font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:.04em;font-weight:var(--fw-semibold);margin-bottom:2px}.proposal-notes{font-size:var(--fs-meta);line-height:var(--leading-body);margin:0;padding:8px 10px;border-radius:var(--radius-input);background:var(--surface-0);color:var(--text-secondary)}.proposal-notes.reject{background:var(--badge-rejected-bg);color:var(--badge-rejected-text)}@media (max-width:600px){.admin-nav{gap:4px;padding:6px}.admin-nav .logout-btn{margin-left:0}.admin-table{min-width:0}.admin-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.admin-table,.admin-table tbody,.admin-table td,.admin-table tr{display:block;width:100%}.admin-table tr{border:1px solid var(--border);border-radius:var(--radius-input);margin-bottom:10px;padding:4px 2px}.admin-table tbody tr:nth-child(2n),.admin-table tr{background:var(--surface-1)}.admin-table td{padding:6px 12px;white-space:normal;text-align:right}.admin-table td:before{content:attr(data-label);float:left;font-size:var(--fs-micro);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.admin-table td:first-child{text-align:left}.admin-table .bar{width:60px}.suggest{margin-left:0;min-width:0;width:100%}.exp-head,.game-block-head{gap:8px}}.account-widget{display:inline-flex;align-items:center;gap:8px}.account-trigger{white-space:nowrap}.account-trigger:disabled{opacity:.6;cursor:default}.account-who{font-family:var(--font-display);font-weight:var(--fw-medium);font-size:var(--fs-meta);color:var(--text-secondary);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-who b{font-weight:var(--fw-bold);color:var(--text-primary)}.account-logout{white-space:nowrap}.lang-switch{position:relative}.lang-switch,.lang-trigger{display:inline-flex;align-items:center}.lang-trigger{gap:6px;padding:8px 12px}.lang-trigger .lang-code{font-weight:var(--fw-medium);font-size:var(--fs-meta);line-height:1}.lang-trigger[aria-expanded=true]{background:var(--accent-soft);color:var(--accent)}.lang-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:1100;margin:0;padding:6px;list-style:none;min-width:168px;max-width:min(220px,calc(100vw - 24px));max-height:min(60vh,360px);overflow-y:auto;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:14px;box-shadow:var(--shadow-2)}.lang-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;min-height:44px;border-radius:10px;font-family:var(--font-body);font-size:var(--fs-meta);color:var(--text-secondary);text-decoration:none;white-space:nowrap}.lang-item:focus-visible,.lang-item:hover{background:var(--accent-soft);color:var(--accent)}.lang-item:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.lang-item.active,.lang-item.active:after{color:var(--accent);font-weight:var(--fw-bold)}.lang-item.active:after{content:"✓"}.lang-item .lang-native{font-weight:var(--fw-medium)}.lang-item.active .lang-native{font-weight:var(--fw-bold)}.lang-item .lang-short{color:var(--text-secondary);font-size:11px;opacity:.7}.lang-item.active .lang-short{color:var(--accent);opacity:1}.footer-lang{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:6px 0 2px;font-size:var(--fs-meta)}.footer-lang .footer-lang-label,.footer-lang a{color:var(--text-secondary)}.footer-lang a{text-decoration:none}.footer-lang a:hover{color:var(--accent);text-decoration:underline}.footer-lang a[aria-current=true]{color:var(--accent);font-weight:var(--fw-bold)}.account-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(4,8,20,.45);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.account-modal{width:100%;max-width:360px;background:var(--surface-1);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-2),var(--edge-highlight);padding:18px 20px 20px;color:var(--text-primary)}.account-modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.account-modal-title{font-family:var(--font-display);font-weight:var(--fw-bold);font-size:20px;margin:0;color:var(--text-primary)}.account-close{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:0;cursor:pointer;color:var(--text-secondary);background:var(--surface-0)}.account-close:hover{background:var(--accent-soft);color:var(--accent)}.account-tabs{display:flex;gap:6px;background:var(--surface-0);border-radius:var(--radius-pill);padding:4px;margin-bottom:16px}.account-tab{flex:1 1;font-family:var(--font-display);font-weight:var(--fw-semibold);font-size:var(--fs-meta);color:var(--text-secondary);background:transparent;border:0;border-radius:var(--radius-pill);padding:8px 10px;cursor:pointer;transition:background .15s ease,color .15s ease}.account-tab:hover{background:var(--accent-soft)}.account-tab.active{background:var(--accent);color:var(--text-on-accent)}.account-form{gap:12px}.account-field,.account-form{display:flex;flex-direction:column}.account-field{gap:6px}.account-field>span{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.account-field input{background:var(--field-bg);border:1px solid var(--field-border);color:var(--field-text);border-radius:10px;padding:10px 12px;font-size:var(--fs-body);font-family:var(--font-body)}.account-field input::placeholder{color:var(--field-placeholder)}.account-field input:focus{outline:none;border-color:var(--field-focus-border);box-shadow:0 0 0 3px var(--field-focus-ring)}.account-field input[aria-invalid=true]{border-color:var(--mover-down)}.account-field-err{color:var(--mover-down);font-size:12px}.account-error{margin:0;color:var(--badge-rejected-text);background:var(--badge-rejected-bg);border-radius:8px;padding:8px 12px;font-size:var(--fs-meta)}.account-submit{margin-top:2px;font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--fs-body);color:var(--btn-primary-text);background:var(--btn-primary-bg);border:0;border-radius:10px;padding:11px 14px;cursor:pointer}.account-submit:hover{background:var(--btn-primary-hover)}.account-submit:disabled{opacity:.6;cursor:default}.account-note{margin:2px 0 0;font-size:11.5px;line-height:1.4;color:var(--text-muted)}@media (max-width:600px){.account-who{max-width:110px}}.bind-prompt{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:900;width:calc(100% - 32px);max-width:560px;display:flex;align-items:center;gap:14px;padding:12px 14px;background:var(--surface-2);color:var(--text-primary);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-2),var(--edge-highlight)}.bind-prompt-body{flex:1 1 auto;min-width:0}.bind-prompt-title{margin:0;font-family:var(--font-display);font-weight:var(--fw-semibold);font-size:14.5px;line-height:1.3;color:var(--text-primary)}.bind-prompt-note{margin:3px 0 0;font-size:11.5px;line-height:1.35;color:var(--text-muted)}.bind-prompt-actions{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px}.bind-prompt-cta{font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--fs-meta);white-space:nowrap;color:var(--btn-primary-text);background:var(--btn-primary-bg);border:0;border-radius:var(--radius-pill);padding:9px 16px;cursor:pointer}.bind-prompt-cta:hover{background:var(--btn-primary-hover)}.bind-prompt-dismiss{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;border:0;cursor:pointer;color:var(--text-secondary);background:var(--surface-0)}.bind-prompt-dismiss:hover{background:var(--accent-soft);color:var(--accent)}@media (max-width:600px){.bind-prompt{flex-wrap:wrap;gap:10px}.bind-prompt-body{flex-basis:100%}.bind-prompt-actions{width:100%;justify-content:flex-end}}.lobby-shell{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);margin-top:-8px;display:grid;grid-template-columns:248px 1fr;align-items:start;background:var(--bg);min-height:70vh}body:has(.lobby-shell) .site-header{display:none}.lobby-side{position:-webkit-sticky;position:sticky;top:0;align-self:start;max-height:100vh;overflow-y:auto;background:var(--surface-1);border-right:1px solid var(--border);padding:18px 12px 40px;scrollbar-width:thin}.lobby-brand{display:flex;align-items:center;gap:9px;padding:6px 8px 16px;font-family:var(--font-display);font-weight:var(--fw-bold);font-size:19px;letter-spacing:var(--tracking-display);color:var(--text-primary);text-decoration:none}.lobby-brand:hover{color:var(--accent)}.lobby-navg{display:flex;flex-direction:column;gap:2px}.lobby-navi{display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:10px;color:var(--text-secondary);font-family:var(--font-body);font-weight:var(--fw-semibold);font-size:var(--fs-meta);text-decoration:none;border:0;background:transparent;cursor:pointer;width:100%;text-align:left;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.lobby-navi:hover{background:var(--surface-0);color:var(--text-primary)}.lobby-navi.on{background:var(--accent-soft);color:var(--accent)}.lobby-navi .lobby-ic{width:20px;text-align:center;font-size:16px;flex:none}.cap .cap-e svg,.lobby-navi .lobby-ic svg,.lobby-ticon svg,.m-ham svg{display:block}.lobby-navi .lobby-ic{justify-content:center}.cap .cap-e,.lobby-navi .lobby-ic{display:inline-flex;align-items:center}.lobby-lbl{font-size:var(--fs-micro);font-weight:var(--fw-bold);letter-spacing:.08em;color:var(--text-muted);text-transform:uppercase;padding:16px 11px 6px}.lobby-main{padding:18px clamp(16px,2.4vw,30px) 56px;min-width:0}.lobby-topbar{display:flex;align-items:center;gap:12px;margin-bottom:6px}.lobby-search-wrap{flex:1 1;min-width:0}.lobby-search{display:flex;align-items:center;gap:9px;background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--radius-input);padding:11px 15px;box-shadow:var(--shadow-1)}.lobby-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.lobby-search svg{flex:none;stroke:var(--text-muted)}.lobby-search input{border:0;outline:0;width:100%;background:transparent;font-family:var(--font-body);font-size:var(--fs-body);color:var(--text-primary)}.lobby-search input::placeholder{color:var(--text-muted)}.lobby-actions{gap:10px;flex:none}.lobby-actions,.lobby-ticon{display:flex;align-items:center}.lobby-ticon{width:42px;height:42px;border-radius:11px;background:var(--surface-1);border:1px solid var(--border-strong);justify-content:center;font-size:17px;cursor:pointer;box-shadow:var(--shadow-1);color:var(--text-secondary)}.lobby-ticon:hover{background:var(--accent-soft);color:var(--accent)}.lobby-actions .theme-toggle{width:42px;height:42px}.lobby-actions .account-widget,.lobby-actions .lang-switch{align-items:center}.lobby-caps{margin:14px 0 6px}.caps-row{display:flex;gap:9px;flex-wrap:wrap}.cap{display:inline-flex;align-items:center;gap:7px;background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--radius-pill);padding:8px 14px;min-height:44px;font-family:var(--font-body);font-size:var(--fs-meta);font-weight:var(--fw-semibold);color:var(--text-primary);cursor:pointer;box-shadow:var(--shadow-1);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.cap:hover{color:var(--accent)}.cap.on,.cap:hover{border-color:var(--accent)}.cap.on{background:var(--accent);color:var(--text-on-accent)}.cap.on .cap-e{filter:none}.cap .cap-e{font-size:15px}.section-row{margin:22px 0 8px}.sec-head{display:flex;align-items:center;justify-content:space-between;margin:8px 2px 12px}.sec-title{font-family:var(--font-display);font-weight:var(--fw-bold);font-size:1.15rem;margin:0;letter-spacing:-.01em;color:var(--text-primary)}.sec-count,.sec-viewall{font-size:var(--fs-meta);font-weight:var(--fw-semibold);color:var(--accent);text-decoration:none}.sec-count{color:var(--text-muted)}.sec-track{display:grid;grid-auto-flow:column;grid-auto-columns:210px;grid-gap:var(--card-gap);gap:var(--card-gap);overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}.sec-track-big{grid-auto-columns:250px}.sec-track::-webkit-scrollbar{height:8px}.sec-track::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:99px}.sec-cell{min-width:0}.card16x9{position:relative;display:block;border-radius:12px;overflow:hidden;aspect-ratio:16/9;box-shadow:var(--shadow-1),var(--edge-highlight);isolation:isolate;text-decoration:none;transition:transform var(--dur-fast) var(--ease),box-shadow var(--dur) var(--ease)}.card16x9:hover{transform:translateY(-3px);box-shadow:var(--shadow-2),var(--edge-highlight)}.card16x9:active{transform:var(--press-scale)}.c16-art{z-index:0;display:flex;align-items:center;justify-content:center}.c16-art,.c16-cover{position:absolute;inset:0}.c16-cover{width:100%;height:100%;object-fit:cover;z-index:1}.c16-icon{width:64px;height:64px;transition:transform var(--dur) var(--ease)}.c16-emoji,.c16-icon{z-index:0;filter:drop-shadow(0 3px 8px rgba(0,0,0,.32))}.c16-emoji{font-size:38px;color:#fff}.card16x9:hover .c16-icon{transform:scale(1.06)}.c16-label{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:26px 10px 8px;background:linear-gradient(0deg,rgba(0,0,0,.62),rgba(0,0,0,.18) 55%,transparent)}.c16-title{display:block;font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--fs-card);color:#fff;line-height:1.15;text-shadow:0 1px 4px rgba(0,0,0,.6);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.c16-badge{position:absolute;top:7px;left:7px;z-index:4;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#fff;padding:3px 7px;border-radius:6px;box-shadow:var(--shadow-1)}.c16-hot{background:var(--badge-hot)}.c16-new{background:var(--badge-new-bg);color:var(--badge-new-text)}.c16-pop{position:absolute;top:7px;right:7px;z-index:4;display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:800;color:var(--text-primary);background:var(--rate-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:3px 7px;border-radius:6px}.c16-pop svg{color:#f5b301}.m-top{display:none}.m-drawer-overlay{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.45);display:flex}.m-drawer{width:80vw;max-width:320px;height:100%;background:var(--surface-1);border-right:1px solid var(--border);padding:14px 12px 40px;overflow-y:auto;box-shadow:var(--shadow-2);animation:m-drawer-in .18s var(--ease)}@keyframes m-drawer-in{0%{transform:translateX(-100%)}to{transform:translateX(0)}}.m-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:4px 8px 12px}.m-drawer-brand{font-size:18px}.m-brand,.m-drawer-brand{font-family:var(--font-display);font-weight:var(--fw-bold);color:var(--text-primary)}.m-brand{display:flex;gap:7px;flex:none;font-size:17px;text-decoration:none}.m-brand,.m-ham{align-items:center}.m-ham{background:transparent;border:0;cursor:pointer;font-size:20px;color:var(--text-secondary);padding:4px 6px;line-height:1;min-height:44px;min-width:44px;display:inline-flex;justify-content:center}.m-search-wrap{flex:1 1;min-width:0}.m-top .account-widget,.m-top .theme-toggle{flex:none}.m-top .account-widget .account-trigger{padding:6px 10px;white-space:nowrap}.m-top .account-widget .account-who{display:none}.m-top .lang-switch{flex:none}.m-top .lang-trigger{padding:8px;min-width:44px;min-height:44px;justify-content:center}.m-top .lang-trigger .lang-code{display:none}@media (max-width:900px){.lobby-shell{grid-template-columns:1fr}.lobby-side{display:none}.lobby-main{padding:12px 14px 44px}.lobby-topbar{display:none}.m-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 14px;margin:0 0 6px;background:var(--surface-1);border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;z-index:60}.m-top .m-search-wrap{flex:1 1 100%;order:10;min-width:0}.m-top .lobby-search{padding:8px 12px;box-shadow:none;background:var(--surface-0)}.m-top .lobby-search input{min-width:0}.sec-track{grid-auto-columns:46%}.sec-track-big{grid-auto-columns:62%}.lobby-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}}@media (max-width:560px){.lobby-grid{grid-template-columns:repeat(2,1fr);gap:10px}.sec-track{grid-auto-columns:60%}.sec-track-big{grid-auto-columns:78%}}@media (max-width:480px){.lobby-grid{grid-template-columns:repeat(2,1fr);gap:9px}.c16-title{font-size:var(--fs-meta)}.c16-icon{width:48px;height:48px}}