: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,.92);--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:18px 0 2px;margin-top:10px;border-top:1px solid var(--border);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:1023px){.home-seo-intro{padding:18px 14px 4px}}.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::-webkit-input-placeholder{color:var(--text-muted)}.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);-webkit-filter:drop-shadow(0 8px 10px rgba(0,0,0,.25));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:env(safe-area-inset-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 .ghost-btn+.ghost-btn{margin-left:0}.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;top:0;right:0;bottom:0;left:0;inset:0;width:100%;height:100%;border:0}.frame-shell:-webkit-full-screen{max-width:none;aspect-ratio:auto;border-radius:0}.frame-shell:-moz-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:-moz-full-screen iframe{width:100%;height:100%}.frame-shell:fullscreen iframe{width:100%;height:100%}@supports not (aspect-ratio:1/1){.frame-shell:before{content:"";display:block;padding-top:133.3333%}.frame-shell.dfg-pseudo-fs:before{display:none}.frame-shell:-webkit-full-screen:before{display:none}.frame-shell:-moz-full-screen:before{display:none}.frame-shell:fullscreen:before{display:none}@media (max-width:767px) and (min-height:481px){.game-three-strip .player .frame-shell:before{display:none}}@media (min-width:901px){.frame-shell:before{display:none}}}.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}.frame-shell.has-round-rec{--round-rec-height:calc(110px + env(safe-area-inset-bottom, 0px))}.frame-shell.has-round-rec iframe{-webkit-clip-path:inset(0 0 var(--round-rec-height) 0);clip-path:inset(0 0 var(--round-rec-height) 0)}.round-rec-bar{position:absolute;left:0;right:0;bottom:0;z-index:9400;height:var(--round-rec-height);display:flex;flex-direction:column;gap:6px;padding:4px calc(env(safe-area-inset-right, 0px) + 11px) calc(env(safe-area-inset-bottom, 0px) + 7px) calc(env(safe-area-inset-left, 0px) + 11px);color:#fff;background:linear-gradient(0deg,rgba(8,8,14,.98),rgba(8,8,14,.9));border-top:1px solid hsla(0,0%,100%,.16);animation:dfgRecBarIn .25s ease-out}.round-rec-head{min-height:36px;display:flex;align-items:center;justify-content:space-between}.round-rec-head>span{font-size:.8em;opacity:.78}.round-rec-close{width:44px;height:44px;flex:0 0 44px;border:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:hsla(0,0%,100%,.72);background:transparent;cursor:pointer}.round-rec-close:hover{background:hsla(0,0%,100%,.1);color:#fff}.round-rec-items{display:flex;gap:8px;min-height:44px}.round-rec-item{flex:1 1;min-width:0;min-height:44px;padding:6px 8px;display:flex;align-items:center;gap:7px;overflow:hidden;cursor:pointer;color:#fff;background:hsla(0,0%,100%,.08);border:1px solid hsla(0,0%,100%,.16);border-radius:10px}.round-rec-item:hover{background:hsla(0,0%,100%,.14)}.round-rec-item>span{min-width:0;overflow:hidden;font-size:.78em;white-space:nowrap;text-overflow:ellipsis}@keyframes dfgRecBarIn{0%{transform:translateY(100%);opacity:.4}to{transform:translateY(0);opacity:1}}body.dfg-fs-lock{overflow:hidden!important;height:100vh;height:100dvh;touch-action:none}body.dfg-fs-lock .breadcrumb,body.dfg-fs-lock .game-comments,body.dfg-fs-lock .m-top,body.dfg-fs-lock .related-rail,body.dfg-fs-lock .site-footer,body.dfg-fs-lock .site-header,body.dfg-fs-lock .site-rail,body.dfg-fs-lock .stats{display:none!important}body.dfg-fs-lock .site-shell{grid-template-columns:minmax(0,1fr)}.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:-moz-full-screen .dfg-fs-exit{position:fixed}.frame-shell:fullscreen .dfg-fs-exit{position:fixed}.rec-panel,body.dfg-rec-open{overflow:hidden;overscroll-behavior:none}.rec-panel{position:fixed;inset:0;z-index:10001;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(env(safe-area-inset-top, 0px) + 70px) calc(env(safe-area-inset-right, 0px) + 18px) calc(env(safe-area-inset-bottom, 0px) + 18px) calc(env(safe-area-inset-left, 0px) + 18px);background:rgba(4,8,20,.82);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.frame-shell:-webkit-full-screen .rec-panel{position:fixed}.frame-shell:-moz-full-screen .rec-panel{position:fixed}.frame-shell:fullscreen .rec-panel{position:fixed}.rec-close{position:absolute;top:calc(env(safe-area-inset-top, 0px) + 18px);right:calc(env(safe-area-inset-right, 0px) + 18px);width:44px;height:44px;border:0;border-radius:999px;background:hsla(0,0%,100%,.12);color:#fff;font-size:26px;line-height:1;cursor:pointer;z-index:2}.rec-panel-inner{flex:0 1 auto;min-height:0;width:100%;max-width:440px;max-height:100%;margin:0;padding:2px;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;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;min-height:44px;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;min-width:44px;min-height:44px;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:normal;overflow:visible;overflow-wrap:anywhere;text-overflow:clip}.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:grid;grid-template-columns:204px minmax(0,1fr) 300px;grid-template-areas:"rail main comments";grid-gap:18px;gap:18px;align-items:start}.stage-main{grid-area:main;min-width:0;position:relative}.pc-dock{display:none}@media (min-width:1024px){.pc-dock{display:flex;align-items:center;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:1px solid hsla(0,0%,100%,.18);background:rgba(10,10,15,.55);color:#fff;cursor:pointer;z-index:6;opacity:.75;transition:opacity .15s ease,background .15s ease,transform .15s ease}.pc-dock:hover{opacity:1;background:rgba(10,10,15,.82)}.pc-dock:active{transform:translateY(-50%) scale(.94)}.pc-dock-prev{left:10px}.pc-dock-next{right:10px}.pc-dock[aria-disabled=true]{opacity:.22;cursor:default}.pc-dock[aria-disabled=true]:hover{background:rgba(10,10,15,.55)}body.dfg-fs-lock .pc-dock{display:none}}.related-rail{grid-area:rail}.game-comments{grid-area:comments}.game-comments,.related-rail{position:-webkit-sticky;position:sticky;top:12px;max-height:calc(100vh - 24px);overflow-y:auto;overscroll-behavior:contain}.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:repeat(auto-fill,minmax(88px,1fr));gap:10px}@media (min-width:1441px){.game-stage{grid-template-columns:336px minmax(0,1fr) 320px;gap:22px;max-width:1600px;margin:0 auto}.related-rail .grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}}@media (min-width:1921px){.game-stage{grid-template-columns:484px minmax(0,1fr) 360px;gap:28px;max-width:1880px}.related-rail .grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}}.game-comments-head{display:flex;align-items:baseline;gap:8px;margin:0 0 12px}.game-comments-title{margin:0;font-family:var(--font-display);font-weight:var(--fw-semibold);font-size:var(--fs-h3);color:var(--text-primary)}.game-comments-count{font-size:13px;color:var(--text-secondary)}.game-comments-composer{margin-bottom:14px}.game-comments-input{width:100%;box-sizing:border-box;resize:vertical;min-height:68px;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--surface-1);color:var(--text-primary);font:inherit;font-size:14px}.game-comments-input:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.game-comments-composer-row{display:flex;align-items:center;justify-content:space-between;margin-top:6px}.game-comments-charcount{font-size:12px;color:var(--text-secondary)}.game-comments-submit{border:0;border-radius:999px;padding:7px 18px;cursor:pointer;background:var(--accent-grad);color:#fff;font-weight:600;font-size:14px}.game-comments-submit:disabled{opacity:.45;cursor:default}.game-comments-notice{margin:8px 0 0;font-size:13px}.game-comments-notice.ok{color:var(--text-secondary)}.game-comments-notice.err{color:#dc2626}.game-comments-guestbadge{margin-right:8px;padding:2px 8px;border-radius:999px;background:var(--accent-soft,rgba(79,70,229,.12));color:var(--accent);font-size:11px;font-weight:600;white-space:nowrap}.game-comments-claimcard{margin:8px 0 2px;padding:10px 12px;border-radius:10px;border:1px solid var(--accent);background:var(--surface-1)}.game-comments-claimtitle{display:block;font-size:13px;color:var(--text-primary)}.game-comments-claimbody{margin:4px 0 8px;font-size:12.5px;color:var(--text-secondary)}.game-comments-claimrow{display:flex;align-items:center;gap:10px}.game-comments-claimlater{border:0;background:none;cursor:pointer;padding:4px 6px;color:var(--text-secondary);font-size:13px}.game-comments-claimline{margin:6px 0 2px;font-size:12.5px}.game-comments-claimlink{border:0;background:none;cursor:pointer;padding:0;color:var(--accent);font-size:12.5px;text-decoration:underline}.account-upgrade-note{margin:10px 18px 0;font-size:12.5px}.game-comments-list{display:flex;flex-direction:column;gap:10px}.game-comment{padding:10px 12px;border-radius:10px;background:var(--surface-1);border:1px solid var(--border)}.game-comment-meta{display:flex;align-items:center;gap:8px;margin-bottom:4px}.game-comment-avatar{width:26px;height:26px;border-radius:50%;flex:none;display:inline-flex;align-items:center;justify-content:center;font-size:15px;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}.game-comment-handle{font-weight:600;font-size:13px;color:var(--text-primary)}.game-comment-user{display:inline-flex;align-items:center;gap:8px;color:inherit;text-decoration:none;min-width:0}.game-comment-user:hover .game-comment-handle{text-decoration:underline}.game-comment-time{font-size:12px;color:var(--text-secondary)}.game-comment-delete{margin-left:auto;border:0;background:none;cursor:pointer;color:var(--text-secondary);font-size:15px;line-height:1;padding:2px 6px}.game-comment-body{margin:0;font-size:14px;color:var(--text-primary);overflow-wrap:anywhere}.game-comment-translate{border:0;background:none;cursor:pointer;padding:2px 0;margin-top:2px;font-size:12px;color:var(--accent);align-self:flex-start}.game-comment-translate:hover{text-decoration:underline}.game-comment-translate:disabled{color:var(--text-secondary);cursor:default;text-decoration:none}.game-comment-actions{display:flex;align-items:center;gap:14px;margin-top:6px}.game-comment-expand,.game-comment-like,.game-comment-replybtn{border:0;background:none;cursor:pointer;padding:2px 0;font-size:12px;color:var(--text-secondary)}.game-comment-like.liked{color:#e0245e;font-weight:600}.game-comment-expand:hover,.game-comment-like:hover,.game-comment-replybtn:hover{color:var(--text-primary)}.game-comment-thread{margin-top:6px}.game-comment-expand{color:var(--accent)}.game-comment-replies{display:flex;flex-direction:column;gap:8px;margin-top:8px}.game-comment-reply{margin-left:22px;padding:8px 10px;background:var(--surface-0)}.game-comments-replybox{margin:8px 0 0 22px}.game-comments-replybox .game-comments-input{min-height:48px}.game-comments-sentinel{min-height:24px;text-align:center}.game-comments-empty,.game-comments-sentinel{color:var(--text-secondary);font-size:13px}.game-comments-more{border:1px solid var(--border);background:var(--surface-1);color:var(--text-primary);border-radius:999px;padding:7px 16px;cursor:pointer;font-size:13px}.frame-loading{position:absolute;inset:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:#0a0a0f;pointer-events:none}.frame-loading-emoji{font-size:44px}.frame-loading-icon{width:72px;height:72px;border-radius:16px}.frame-loading-spinner{width:28px;height:28px;border-radius:50%;border:3px solid hsla(0,0%,100%,.15);border-top:3px solid var(--accent);animation:dfg-spin .8s linear infinite}@keyframes dfg-spin{to{transform:rotate(1turn)}}.skeleton-line{display:inline-block;height:14px;border-radius:7px;background:var(--surface-1);opacity:.6;animation:dfg-pulse 1.2s ease-in-out infinite}@keyframes dfg-pulse{50%{opacity:.3}}.profile-page{max-width:860px;margin:0 auto}.profile-head{display:flex;align-items:center;gap:16px;padding:18px 0 12px;flex-wrap:wrap}.profile-id{min-width:0;flex:1 1}.profile-name{margin:0;font-family:var(--font-display);font-weight:var(--fw-semibold);font-size:var(--fs-h2);color:var(--text-primary)}.profile-handle{margin:2px 0 0;font-size:13px;color:var(--text-secondary)}.profile-bio{margin:6px 0 0;font-size:14px;color:var(--text-secondary);overflow-wrap:anywhere}.profile-level{display:flex;flex-direction:column;align-items:flex-end;gap:6px;min-width:140px}.profile-level-badge{display:inline-block;padding:4px 14px;border-radius:999px;color:#fff;font-weight:700;font-size:15px;background:var(--accent)}.profile-level-bar{width:140px;height:6px;border-radius:3px;background:var(--surface-1);overflow:hidden}.profile-level-fill{height:100%;border-radius:3px;background:var(--accent-grad)}.profile-level-next{font-size:11px;color:var(--text-secondary)}.lvl-help{position:relative;display:inline-flex}.lvl-help-btn{width:18px;height:18px;border-radius:50%;border:1px solid var(--border-strong,var(--border));background:var(--surface-2);color:var(--text-secondary);font-size:12px;font-weight:700;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.lvl-help-btn:hover{color:var(--accent);border-color:var(--accent)}.lvl-help-pop{position:absolute;right:0;top:calc(100% + 8px);z-index:90;width:280px;padding:12px 14px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border);box-shadow:var(--shadow-2);display:flex;flex-direction:column;gap:6px;font-size:12.5px;line-height:1.7;color:var(--text-secondary);text-align:left;white-space:pre-line}.lvl-help-pop b{color:var(--text-primary);font-size:13px}.profile-stats{display:flex;flex-wrap:wrap;gap:10px;margin:6px 0 14px}.profile-tabs{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(--border);margin-bottom:14px}.profile-tab{border:0;background:none;cursor:pointer;padding:8px 14px;font-size:14px;color:var(--text-secondary);border-bottom:2px solid transparent}.profile-tab.active{color:var(--text-primary);font-weight:600;border-bottom-color:var(--accent)}.profile-section-title{font-family:var(--font-display);font-weight:var(--fw-semibold);font-size:var(--fs-h3);color:var(--text-primary);margin:18px 0 10px}.profile-game-list{display:flex;flex-direction:column;gap:8px}.profile-game{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:var(--surface-1);border:1px solid var(--border);text-decoration:none;color:var(--text-primary)}.profile-game:hover{border-color:var(--accent)}.profile-game-emoji{font-size:22px}.profile-game-icon{width:28px;height:28px;border-radius:8px;flex:none}.profile-game-title{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.profile-game-days,.profile-game-last{font-size:12px;color:var(--text-secondary);flex:none}.profile-hist{display:flex;flex-direction:column;gap:10px}.profile-item{padding:10px 12px;border-radius:10px;background:var(--surface-1);border:1px solid var(--border)}.profile-item-body{margin:0 0 4px;font-size:14px;color:var(--text-primary);overflow-wrap:anywhere}.profile-item-meta{margin:0;display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary)}.profile-item-meta a{color:var(--accent);text-decoration:none}.profile-item-meta a.profile-from-link{color:inherit;display:inline-flex;align-items:center;gap:6px}.profile-item-meta a.profile-from-link:hover b{text-decoration:underline}.profile-item-quote{margin:4px 0 0;font-size:12px;color:var(--text-secondary);overflow-wrap:anywhere}.profile-anon{text-align:center;padding:60px 0;align-items:center;color:var(--text-secondary)}.profile-anon,.profile-settings{display:flex;flex-direction:column;gap:14px}.profile-settings{max-width:480px}.profile-field{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--text-secondary)}.profile-field input,.profile-field textarea{padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--surface-1);color:var(--text-primary);font:inherit;font-size:14px}.profile-avatar-grid{display:grid;grid-template-columns:repeat(auto-fill,48px);grid-gap:8px;gap:8px}.profile-avatar-pick{border:2px solid transparent;border-radius:50%;padding:2px;background:none;cursor:pointer}.profile-avatar-pick.active{border-color:var(--accent)}.profile-danger{margin-top:24px;padding:20px;scroll-margin-top:96px;border:2px solid var(--btn-danger-border);border-radius:14px;background:var(--badge-rejected-bg)}.profile-danger-title{margin:0 0 6px;color:var(--badge-rejected-text);font-size:var(--fs-h3)}.profile-danger-note{margin:0;color:var(--text-secondary);line-height:1.55}@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:1023px){.game-stage{display:block}.game-comments,.related-rail{position:static;max-height:none;overflow:visible}.related-rail{margin-top:16px}.related-rail .grid{display:grid;grid-auto-flow:column;grid-auto-columns:88px;grid-template-columns:none;overflow-x:auto;padding-bottom:6px;overscroll-behavior-x:contain}.game-comments{margin-top:18px}}@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)}.admin-pill{flex:0 0 auto;border:1px solid var(--nav-border);background:transparent;color:var(--nav-link);font:inherit;font-size:var(--fs-meta);line-height:1.6}.admin-pill:hover:not(:disabled){background:var(--nav-link-hover-bg);color:var(--nav-link-active-text)}.admin-pill.admin-pill-on{background:var(--nav-link-active-bg);color:var(--nav-link-active-text);border-color:transparent;font-weight:var(--fw-semibold)}.admin-pill:disabled{cursor:not-allowed}.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.admin-table-compact{min-width:0;table-layout:fixed}.admin-table.admin-table-compact td,.admin-table.admin-table-compact th{padding-inline:8px;overflow:hidden;text-overflow:ellipsis}.admin-table.admin-table-compact td:first-child,.admin-table.admin-table-compact th:first-child{width:44%}.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)}.admin-users-name{border:0;background:none;cursor:pointer;padding:0;font:inherit;font-weight:var(--fw-semibold);color:var(--text-primary)}.admin-users-name:hover{text-decoration:underline}.admin-users-handle{display:block;font-size:var(--fs-micro);color:var(--text-muted)}.admin-guest-badge{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:var(--radius-pill);font-size:var(--fs-micro);color:var(--text-secondary);background:var(--surface-1);border:1px solid var(--border);vertical-align:1px}.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}@media (max-width:640px){.admin-table{font-size:12px}.admin-table td,.admin-table th{padding:8px 10px}.admin-table tbody td:first-child,.admin-table thead th:first-child{position:-webkit-sticky;position:sticky;left:0}.admin-table tbody td:first-child{z-index:1;background:var(--table-bg);box-shadow:1px 0 0 var(--table-row-border)}.admin-table tbody tr:nth-child(2n) td:first-child{background:var(--table-zebra)}.admin-table thead th:first-child{z-index:3;background:var(--table-head-bg);box-shadow:1px 0 0 var(--border-strong)}}.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)}.recent-steps{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0 0 8px;font-size:var(--fs-meta)}.recent-step{font-family:var(--font-body);font-weight:var(--fw-medium);font-size:var(--fs-meta);color:var(--text-secondary);background:transparent;border:1px solid var(--border);border-radius:var(--radius-pill);padding:4px 12px;min-height:32px;cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.recent-step.active,.recent-step:hover{background:var(--accent-soft);color:var(--accent)}.recent-step.active{border-color:var(--accent)}.recent-count{margin-left:auto;font-size:var(--fs-micro)}.recent-note{margin:8px 0 0;line-height:var(--leading-body)}.dev-badge,.recent-note{font-size:var(--fs-micro)}.dev-badge{display:inline-block;padding:1px 7px;border-radius:var(--radius-pill);font-weight:var(--fw-semibold);white-space:nowrap;background:var(--surface-0);color:var(--text-secondary);border:1px solid var(--border)}.dev-badge.dev-apk{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.dev-badge.dev-inferred{border-style:dashed;opacity:.8}.admin-table.admin-table-compact.recent-table td:first-child,.admin-table.admin-table-compact.recent-table th:first-child{width:22%}@media (max-width:768px){.recent-table td,.recent-table th{padding-inline:6px}}@media (max-width:600px){.admin-table.admin-table-compact.recent-table td:first-child,.admin-table.admin-table-compact.recent-table th:first-child{width:100%}}.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}.review-game-host{position:relative;width:100%;max-width:420px;aspect-ratio:3/4;overflow:hidden;border-radius:8px;background:#000;isolation:isolate}.rev-frame .review-game-host iframe{width:100%;height:100%;border:0;border-radius:0;background:#000;display:block}.review-ad-sim{position:absolute;inset:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#fff;background:rgba(8,10,14,.96)}.review-ad-badge{padding:5px 9px;border:1px solid hsla(0,0%,100%,.42);border-radius:6px;font-size:12px;font-weight:700}.review-ad-sim strong{font-size:44px;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.review-ad-placement{max-width:calc(100% - 32px);overflow-wrap:anywhere;color:hsla(0,0%,100%,.72);font-size:12px}.review-ad-sim button,.review-rec-close{position:absolute;top:max(10px,env(safe-area-inset-top,0px));right:max(10px,env(safe-area-inset-right,0px));width:44px;height:44px;padding:0;border:1px solid hsla(0,0%,100%,.3);border-radius:50%;color:#fff;background:rgba(0,0,0,.48);font-size:26px;line-height:1;cursor:pointer}.review-rec-panel{position:absolute;inset:0;z-index:18;overflow-y:auto;padding:58px 14px 18px;color:#fff;background:rgba(4,8,20,.9);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.review-rec-close{z-index:2}.review-rec-inner{width:100%;max-width:390px;margin:0 auto;text-align:center}.review-rec-inner h2{margin:0 0 12px;color:#fff;font-size:24px;line-height:1.2}.review-rec-inner h3{margin:18px 0 10px;color:hsla(0,0%,100%,.86);font-size:15px;line-height:1.3}.review-rec-replay{min-width:160px;min-height:44px;padding:10px 22px;border:0;border-radius:8px;color:var(--text-on-accent);background:var(--accent);font-weight:700;cursor:pointer}.review-rec-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px}.review-rec-grid a{min-width:0;padding:5px;border-radius:8px;color:#fff;background:hsla(0,0%,100%,.1);text-decoration:none}.review-rec-grid img{display:block;width:100%;height:auto;aspect-ratio:1;border-radius:6px;object-fit:cover}.review-rec-grid span{display:block;margin-top:4px;overflow:hidden;color:#fff;font-size:10px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.review-rec-loading{width:28px;height:28px;margin:14px auto;border:3px solid hsla(0,0%,100%,.22);border-top-color:#fff;border-radius:50%;animation:review-spin .7s linear infinite}@keyframes review-spin{to{transform:rotate(1turn)}}@media (max-width:360px){.review-rec-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.review-rec-loading{animation:none;border-top-color:hsla(0,0%,100%,.22)}}.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::-webkit-input-placeholder{color:var(--field-placeholder)}.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::-webkit-input-placeholder{color:var(--field-placeholder)}.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)}.appver-field{display:flex;flex-direction:column;align-items:flex-start;gap:4px;font-size:12px}.appver-field span{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.appver-field input,.appver-field textarea{box-sizing:border-box;width:100%;max-width:26em;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)}.appver-field input[type=number]{max-width:8em}.appver-field input:focus,.appver-field textarea: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::-webkit-input-placeholder{color:var(--field-placeholder)}.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;justify-content: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>label,.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::-webkit-input-placeholder{color:var(--field-placeholder)}.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-password-wrap,.delete-password-wrap{position:relative;display:flex}.account-password-wrap input,.delete-password-wrap input{width:100%;padding-right:76px}.account-password-toggle,.delete-password-toggle{position:absolute;top:0;right:0;min-width:64px;min-height:44px;padding:0 10px;border:0;border-radius:0 10px 10px 0;cursor:pointer;color:var(--accent);background:transparent;font:inherit;font-size:12px;font-weight:600}.account-password-toggle:hover,.delete-password-toggle:hover{background:var(--accent-soft)}.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)}.delete-account-form{display:grid;grid-gap:13px;gap:13px;margin-top:16px}.delete-account-field{display:grid;grid-gap:6px;gap:6px;color:var(--text-secondary);font-size:13px}.delete-account-field>label,.delete-account-field>span{font-weight:600;color:var(--text-primary)}.delete-account-field input{width:100%;min-height:44px;padding:10px 12px;color:var(--field-text);background:var(--field-bg);border:1px solid var(--field-border);border-radius:10px;font:inherit}.delete-account-field input:focus{outline:none;border-color:var(--field-focus-border);box-shadow:0 0 0 3px var(--field-focus-ring)}.delete-account-error{margin:0;padding:9px 12px;color:var(--badge-rejected-text);background:var(--badge-rejected-bg);border-radius:8px}.delete-account-submit{justify-self:start;min-height:44px;padding:10px 18px;border:1px solid var(--btn-danger-border);border-radius:10px;cursor:pointer;color:var(--btn-danger-text);background:var(--btn-danger-bg);font:inherit;font-weight:700}.delete-account-submit:hover{-webkit-filter:brightness(.94);filter:brightness(.94)}.delete-account-submit:disabled{opacity:.62;cursor:default}.delete-account-done{padding:14px;border:1px solid var(--badge-approved-text);border-radius:10px;color:var(--badge-approved-text);background:var(--badge-approved-bg)}@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{background:var(--bg);min-height:70vh}body:has(.lobby-shell) main.container{max-width:none;padding:0}.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::-webkit-input-placeholder{color:var(--text-muted)}.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)}.apk-cta{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:#fff;padding:9px 16px;border-radius:999px;font-weight:800;font-size:.88rem;line-height:1;text-decoration:none;white-space:nowrap;box-shadow:0 2px 10px rgba(99,102,241,.35)}.apk-cta:hover{-webkit-filter:brightness(1.08);filter:brightness(1.08);text-decoration:none}.apk-cta:active{transform:scale(.97)}.apk-cta svg{flex:0 0 auto}@media (max-width:767px){.lobby-actions:has(.apk-cta){flex:1 1 100%}.apk-cta{width:100%;justify-content:center;padding:12px 16px;font-size:.95rem}}.lobby-caps{margin:14px 0 6px}.caps-row{display:flex;gap:9px;flex-wrap:nowrap;overflow-x:auto;padding:4px 0 8px;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}.caps-row::-webkit-scrollbar{display:none}.cap{flex:0 0 auto;white-space:nowrap;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{-webkit-filter:none;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;-webkit-filter:drop-shadow(0 3px 8px rgba(0,0,0,.32));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)}html.dfg-navigating:before{content:"";position:fixed;top:0;left:0;width:40%;height:3px;background:#4f46e5;background:var(--accent);border-radius:0 2px 2px 0;z-index:2147483000;pointer-events:none;animation:dfg-nav-slide 1s linear infinite}@keyframes dfg-nav-slide{0%{transform:translateX(-100%)}to{transform:translateX(250%)}}@media (prefers-reduced-motion:reduce){html.dfg-navigating:before{animation:none;width:100%;opacity:.6}}html.dfg-arriving:before{content:"";position:fixed;top:0;left:0;width:40%;height:3px;background:#4f46e5;background:var(--accent);border-radius:0 2px 2px 0;z-index:2147483000;pointer-events:none;animation:dfg-nav-slide 1s linear infinite}@media (prefers-reduced-motion:reduce){html.dfg-arriving:before{animation:none;width:100%;opacity:.6}}.dfg-arrive{position:fixed;top:8px;left:50%;transform:translateX(-50%);max-width:92vw;padding:6px 14px;border-radius:999px;background:rgba(17,17,27,.86);color:#fff;font-size:12px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;z-index:2147483000;pointer-events:none;box-shadow:0 2px 10px rgba(0,0,0,.25)}.dfg-arrive.is-fail{background:#b42318;pointer-events:auto;cursor:pointer;text-decoration:underline}.dfg-arrive-card{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:88vw;max-width:420px;padding:18px 16px 16px;border-radius:12px;background:#fff;background:var(--bg-grad-top,#fff);color:#111;color:var(--text-primary,#111);text-align:center;z-index:2147483001;box-shadow:0 8px 30px rgba(0,0,0,.35);font:14px/1.45 system-ui,-apple-system,Arial,sans-serif}.dfg-arrive-card h2{margin:0 0 8px;font-size:17px;font-weight:700}.dfg-arrive-card p{margin:0 0 14px;opacity:.75}.dfg-arrive-card button{display:inline-block;margin:0 6px;padding:8px 16px;border-radius:8px;border:1px solid #4f46e5;border-color:var(--accent,#4f46e5);background:#4f46e5;background:var(--accent,#4f46e5);color:#fff;font:inherit;cursor:pointer}.dfg-arrive-card button+button{background:transparent;color:#4f46e5;color:var(--accent,#4f46e5)}.c16-art picture+.c16-emoji,.c16-art picture+.c16-icon{-webkit-filter:none;filter:none}.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);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-spacer{flex:1 1 auto}.m-avatar{flex:none;width:44px;height:44px;padding:4px;margin:-4px;border:0;border-radius:50%;background:var(--surface-0);background-clip:content-box;color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent}.m-avatar:disabled{opacity:.6;cursor:default}.m-avatar .dfg-avatar{pointer-events:none}@media (max-width:1023px){.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}}:root{--rail-w:248px;--stage-pad:24px}.site-shell{display:grid;grid-template-columns:var(--rail-w) minmax(0,1fr)}.site-main{min-width:0}.site-rail{position:-webkit-sticky;position:sticky;top:0;align-self:start;height:100vh;height:100dvh;display:flex;flex-direction:column;background:var(--surface-1);border-right:1px solid var(--border);z-index:70}.rail-brand{flex:none;display:flex;align-items:center;gap:9px;height:56px;padding:0 14px;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}.rail-brand:hover{color:var(--accent)}.rail-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px 12px 8px;scrollbar-width:thin}.rail-group{display:flex;flex-direction:column;gap:2px}.rail-item{position:relative;display:flex;align-items:center;gap:10px;min-height:40px;padding:0 10px;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;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.rail-item:hover{background:var(--surface-0);color:var(--text-primary)}.rail-item:active{transform:var(--press-scale)}.rail-item.on{background:var(--accent-soft);color:var(--accent)}.rail-dl{min-height:40px;margin:12px 8px 6px;padding:0 12px;gap:8px;justify-content:center;border-radius:12px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;font-family:var(--font-body);font-weight:700;font-size:var(--fs-meta);letter-spacing:.3px;box-shadow:0 4px 14px rgba(99,102,241,.26)}.rail-dl:hover{background:linear-gradient(135deg,#6d70f4,#9163f8);color:#fff}.rail-dl:active{transform:var(--press-scale)}.rail-dl .rail-ic{color:currentColor;display:inline-flex}.rail-item.on:before{content:"";position:absolute;left:-12px;top:50%;transform:translateY(-50%);width:3px;height:20px;border-radius:0 2px 2px 0;background:var(--accent)}.rail-ic{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;flex:none}.rail-ic svg{display:block}.rail-txt{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rail-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}.rail-foot{flex:none;margin-top:auto;border-top:1px solid var(--border);padding:8px 12px calc(12px + env(safe-area-inset-bottom, 0px));display:flex;flex-direction:column;gap:2px}.rail-row{position:relative;display:flex;align-items:center;gap:10px;width:100%;min-height:40px;padding:0 10px;border:0;border-radius:10px;background:transparent;color:var(--text-secondary);font-family:var(--font-body);font-weight:var(--fw-semibold);font-size:var(--fs-meta);text-align:left;cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.rail-row:hover{background:var(--surface-0);color:var(--text-primary)}.rail-row:active{transform:var(--press-scale)}.rail-row-label{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rail-row-chevron{display:inline-flex;color:var(--text-muted);flex:none}.rail-switch{position:relative;flex:none;width:36px;height:20px;border-radius:var(--radius-pill);background:var(--surface-3);border:1px solid var(--border);transition:background var(--dur-fast) var(--ease)}.rail-switch:after{content:"";position:absolute;top:1px;left:1px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform var(--dur-fast) var(--ease)}.rail-row[aria-pressed=true] .rail-switch{background:var(--accent);border-color:var(--accent)}.rail-row[aria-pressed=true] .rail-switch:after{transform:translateX(16px)}.lang-switch--rail{display:block;position:relative}.lang-switch--rail .lang-menu{top:auto;bottom:calc(100% + 6px);left:0;right:auto;width:200px;min-width:0}.m-drawer .lang-switch--rail .lang-menu{top:calc(100% + 6px);bottom:auto}.rail-user,.rail-user-wrap{position:relative}.rail-user{display:flex;align-items:center;gap:8px;width:100%;min-height:56px;margin-top:4px;padding:8px 10px;border:1px solid var(--border);border-radius:12px;background:var(--surface-0);font-family:var(--font-body);text-align:left;cursor:pointer;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.rail-user:hover{border-color:var(--border-strong);background:var(--accent-soft)}.rail-user-name{flex:0 1 auto;min-width:0;max-width:96px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--fs-meta);font-weight:var(--fw-semibold);color:var(--text-primary)}.rail-lv{align-items:center;height:18px;padding:2px 6px;border-radius:var(--radius-pill);font-size:var(--fs-micro);font-weight:var(--fw-bold);line-height:1;color:#fff;background:var(--accent)}.rail-lv,.rail-user-chevron{display:inline-flex;flex:none}.rail-user-chevron{margin-left:auto;color:var(--text-muted);transform:rotate(180deg);transition:transform var(--dur-fast) var(--ease)}.rail-user[aria-expanded=true] .rail-user-chevron{transform:rotate(0deg)}.dfg-avatar{border-radius:50%;display:inline-flex;-webkit-user-select:none;-moz-user-select:none;user-select:none;line-height:1;flex:none;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.08)}.dfg-avatar,.rail-login{align-items:center;justify-content:center}.rail-login{position:relative;display:flex;gap:8px;width:100%;min-height:40px;margin-top:4px;padding:0 10px;border:0;border-radius:10px;background:var(--accent-grad);color:var(--text-on-accent);font-family:var(--font-display);font-weight:var(--fw-semibold);font-size:var(--fs-meta);cursor:pointer}.rail-login:active{transform:var(--press-scale)}.rail-login:disabled{opacity:.6;cursor:default}.rail-login .rail-ic{display:none}.user-pop{position:fixed;left:12px;bottom:76px;width:224px;padding:6px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:12px;box-shadow:var(--shadow-2),var(--edge-highlight);z-index:80;animation:user-pop-in var(--dur-fast) var(--ease)}@keyframes user-pop-in{0%{opacity:0;transform:translateY(4px)}}.user-pop-head{display:flex;align-items:center;gap:10px;padding:8px;border-radius:8px;text-decoration:none;transition:background var(--dur-fast) var(--ease)}.user-pop-head:hover{background:var(--surface-0)}.user-pop-id{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.user-pop-name-row{display:flex;align-items:center;gap:6px;min-width:0}.user-pop-name{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--fs-meta);font-weight:var(--fw-semibold);color:var(--text-primary)}.user-pop-sub{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:var(--fs-micro)}.user-pop-handle{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted)}.user-pop-go{flex:none;color:var(--accent)}.user-pop-item{display:flex;align-items:center;gap:10px;width:100%;min-height:40px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:var(--text-secondary);font-family:var(--font-body);font-size:var(--fs-meta);font-weight:var(--fw-medium);text-align:left;text-decoration:none;cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.user-pop-item:hover{background:var(--surface-0);color:var(--text-primary)}.user-pop-ic{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;flex:none}.user-pop-txt{flex:1 1 auto;min-width:0}.user-pop-ext{flex:none;color:var(--text-muted);font-size:14px}.user-pop-divider{height:1px;background:var(--divider);margin:6px 0}.user-pop-logout:hover{background:rgba(220,38,38,.08)}.user-pop-danger,.user-pop-danger:hover,.user-pop-logout:hover{color:var(--badge-down)}.user-pop-danger:hover{background:rgba(220,38,38,.08)}.sheet-scrim{position:fixed;inset:0;z-index:85;background:rgba(0,0,0,.4)}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:90;background:var(--surface-1);border-radius:16px 16px 0 0;padding:10px 12px calc(14px + env(safe-area-inset-bottom, 0px));box-shadow:var(--shadow-2);animation:sheet-in var(--dur) var(--ease)}@keyframes sheet-in{0%{opacity:0;transform:translateY(24px)}}.sheet .user-pop-item{min-height:48px}.drawer-tools,.m-drawer .rail-login,.m-drawer .rail-user{margin:0 0 10px}.drawer-tools{border-bottom:1px solid var(--border);padding-bottom:8px;display:flex;flex-direction:column;gap:2px}.rail-tip{position:relative}body:has(.game-stage){--rail-w:64px}body:has(.game-stage) .rail-brand{justify-content:center;padding:0}body:has(.game-stage) .rail-brand>span{display:none}body:has(.game-stage) .site-rail .rail-item{width:40px;min-height:40px;justify-content:center;padding:0;margin:0 auto}body:has(.game-stage) .site-rail .rail-item .rail-txt{display:none}body:has(.game-stage) .site-rail .rail-lbl{padding:0;margin:10px 8px 6px;border-top:1px solid var(--border)}body:has(.game-stage) .site-rail .rail-lbl span{display:none}body:has(.game-stage) .site-rail .rail-row{width:40px;min-height:40px;justify-content:center;padding:0;margin:0 auto}body:has(.game-stage) .site-rail .rail-row .rail-row-chevron,body:has(.game-stage) .site-rail .rail-row .rail-row-label,body:has(.game-stage) .site-rail .rail-row .rail-switch{display:none}body:has(.game-stage) .site-rail .rail-user{width:40px;min-height:40px;justify-content:center;padding:0;margin:4px auto 0;border:0;background:transparent}body:has(.game-stage) .site-rail .rail-user:hover{background:var(--surface-0)}body:has(.game-stage) .site-rail .rail-user .rail-lv,body:has(.game-stage) .site-rail .rail-user .rail-user-chevron,body:has(.game-stage) .site-rail .rail-user .rail-user-name{display:none}body:has(.game-stage) .site-rail .rail-login{width:40px;min-height:40px;padding:0;margin:4px auto 0;background:transparent;color:var(--text-secondary)}body:has(.game-stage) .site-rail .rail-login:hover{background:var(--surface-0);color:var(--text-primary)}body:has(.game-stage) .site-rail .rail-login .rail-login-label{display:none}body:has(.game-stage) .site-rail .rail-login .rail-ic{display:inline-flex}body:has(.game-stage) .site-rail .user-pop{left:72px;bottom:12px}body:has(.game-stage) .site-rail .lang-switch--rail .lang-menu{position:fixed;left:72px;bottom:12px;top:auto;right:auto}body:has(.game-stage) .site-rail .rail-tip[data-tip]:after{content:attr(data-tip);position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);background:var(--surface-2);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;padding:5px 8px;font-size:var(--fs-micro);font-weight:var(--fw-medium);white-space:nowrap;box-shadow:var(--shadow-2);opacity:0;pointer-events:none;z-index:75;transition:opacity var(--dur-fast) var(--ease)}body:has(.game-stage) .site-rail .rail-tip[data-tip]:focus-visible:after,body:has(.game-stage) .site-rail .rail-tip[data-tip]:hover:after{opacity:1;transition-delay:.3s}@media (min-width:1024px){body:has(.game-stage) main.container{max-width:none;padding-left:var(--stage-pad);padding-right:var(--stage-pad)}}@media (max-width:1279px){:root{--rail-w:64px;--stage-pad:16px}.rail-brand{justify-content:center;padding:0}.rail-brand>span{display:none}.site-rail .rail-item{width:40px;min-height:40px;justify-content:center;padding:0;margin:0 auto}.site-rail .rail-item .rail-txt{display:none}.site-rail .rail-lbl{padding:0;margin:10px 8px 6px;border-top:1px solid var(--border)}.site-rail .rail-lbl span{display:none}.site-rail .rail-row{width:40px;min-height:40px;justify-content:center;padding:0;margin:0 auto}.site-rail .rail-row .rail-row-chevron,.site-rail .rail-row .rail-row-label,.site-rail .rail-row .rail-switch{display:none}.site-rail .rail-user{width:40px;min-height:40px;justify-content:center;padding:0;margin:4px auto 0;border:0;background:transparent}.site-rail .rail-user:hover{background:var(--surface-0)}.site-rail .rail-user .rail-lv,.site-rail .rail-user .rail-user-chevron,.site-rail .rail-user .rail-user-name{display:none}.site-rail .rail-login{width:40px;min-height:40px;padding:0;margin:4px auto 0;background:transparent;color:var(--text-secondary)}.site-rail .rail-login:hover{background:var(--surface-0);color:var(--text-primary)}.site-rail .rail-login .rail-login-label{display:none}.site-rail .rail-login .rail-ic{display:inline-flex}.site-rail .user-pop{left:72px;bottom:12px}.site-rail .lang-switch--rail .lang-menu{position:fixed;left:72px;bottom:12px;top:auto;right:auto}.site-rail .rail-tip[data-tip]:after{content:attr(data-tip);position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);background:var(--surface-2);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;padding:5px 8px;font-size:var(--fs-micro);font-weight:var(--fw-medium);white-space:nowrap;box-shadow:var(--shadow-2);opacity:0;pointer-events:none;z-index:75;transition:opacity var(--dur-fast) var(--ease)}.site-rail .rail-tip[data-tip]:focus-visible:after,.site-rail .rail-tip[data-tip]:hover:after{opacity:1;transition-delay:.3s}}@media (max-width:1023px){.site-rail{display:none}.site-shell{display:block}}body:has(.lobby-shell) .m-top--site{display:none}body:has(.admin-scope) .site-rail{display:none}body:has(.admin-scope) .m-top--site{display:none}body:has(.admin-scope) .site-shell{display:block}@media (hover:hover) and (pointer:fine) and (min-width:1024px){.site-rail{width:var(--rail-w);transition:width .16s var(--ease) .18s,box-shadow .16s var(--ease) .18s}body .site-rail:is(:hover,:focus-within){width:248px;box-shadow:var(--shadow-2)}body .site-rail:is(:hover,:focus-within) .rail-brand,body:has(.game-stage) .site-rail:is(:hover,:focus-within) .rail-brand{justify-content:flex-start;padding:0 14px}body .site-rail:is(:hover,:focus-within) .rail-brand>span{display:inline}body .site-rail:is(:hover,:focus-within) .rail-item{width:auto;justify-content:flex-start;padding:0 10px;margin:0}body .site-rail:is(:hover,:focus-within) .rail-item .rail-txt{display:inline}body .site-rail:is(:hover,:focus-within) .rail-lbl{padding:16px 11px 6px;margin:0;border-top:0}body .site-rail:is(:hover,:focus-within) .rail-lbl span{display:inline}body .site-rail:is(:hover,:focus-within) .rail-row{width:auto;justify-content:flex-start;padding:0 10px;margin:0}body .site-rail:is(:hover,:focus-within) .rail-row .rail-row-label{display:inline}body .site-rail:is(:hover,:focus-within) .rail-row .rail-switch{display:inline-block}body .site-rail:is(:hover,:focus-within) .rail-row .rail-row-chevron{display:inline-flex}body .site-rail:is(:hover,:focus-within) .rail-user{width:100%;min-height:56px;justify-content:flex-start;margin:4px 0 0;padding:8px 10px;border:1px solid var(--border);border-radius:12px;background:var(--surface-0)}body .site-rail:is(:hover,:focus-within) .rail-user:hover{border-color:var(--border-strong);background:var(--accent-soft)}body .site-rail:is(:hover,:focus-within) .rail-user .rail-user-name{display:inline}body .site-rail:is(:hover,:focus-within) .rail-user .rail-lv{display:inline-flex}body .site-rail:is(:hover,:focus-within) .rail-user .rail-user-chevron{display:inline-flex}body .site-rail:is(:hover,:focus-within) .rail-login{width:100%;margin:4px 0 0;padding:0 10px;background:var(--accent-grad);color:var(--text-on-accent)}body .site-rail:is(:hover,:focus-within) .rail-login:hover{background:var(--accent-grad);color:var(--text-on-accent)}body .site-rail:is(:hover,:focus-within) .rail-login .rail-login-label{display:inline}body .site-rail:is(:hover,:focus-within) .rail-login .rail-ic{display:none}body .site-rail:is(:hover,:focus-within) .rail-tip[data-tip]:after{display:none}body .site-rail:is(:hover,:focus-within) .user-pop{position:fixed;left:12px;bottom:76px}body .site-rail:is(:hover,:focus-within) .lang-switch--rail .lang-menu{position:absolute;left:0;right:auto;top:auto;bottom:calc(100% + 6px)}@media (prefers-reduced-motion:reduce){.site-rail{transition:none}}}.g-sheet-meta,.m-actions,.m-sheet-head,.player .bar .g-more,.player .bar .g-sound{display:none}@media (max-width:1023px){:root{--msheet-h:72vh}@supports (height:1dvh){:root{--msheet-h:min(72dvh,640px)}}body:has(.game-stage) .breadcrumb{display:none}.game-stage{display:flex;flex-direction:column;align-items:stretch;gap:0;min-height:calc(100vh - 163px);min-height:calc(100dvh - 163px - env(safe-area-inset-bottom, 0px))}.stage-main{display:contents}.game-stage>*,.stage-main>*{min-width:0}.game-stage .player{order:1}.stage-main .stats{order:2}.related-rail{order:3;margin-top:8px;flex:1 0 auto;min-height:112px;container-type:size;display:flex;flex-direction:column;justify-content:center}.related-rail .grid{grid-auto-columns:clamp(88px,calc(100cqh - 8px),148px)}@container (min-height: 230px){.related-rail .grid{grid-template-rows:repeat(2,minmax(0,1fr));grid-auto-columns:clamp(88px,calc(50cqh - 12px),148px)}}.stage-main>.ad-slot{order:4}.game-comments{order:9}.player .bar{gap:8px;padding:2px 4px 8px;flex-wrap:nowrap}.player .bar h1{font-size:1rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player .bar .lang-trigger{padding:8px;min-width:44px;justify-content:center}.player .bar .lang-trigger .lang-code{display:none}.player .bar>div:not(.lang-switch){min-width:0}.player .bar .cat{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stage-main .stats{gap:10px;margin:6px 0 2px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.stage-main .stats::-webkit-scrollbar{display:none}.stage-main .stats .stat{background:none;border:0;padding:0;font-size:12px;color:var(--text-muted);white-space:nowrap;flex:0 0 auto}.stage-main .stats .stat b{color:var(--text-secondary)}html.dfg-sheets .game-stage .game-comments,html.dfg-sheets .game-stage~.prose{display:none}html.dfg-sheets body[data-msheet=comments] .game-stage .game-comments,html.dfg-sheets body[data-msheet=info] .game-stage~.prose{display:block;position:fixed;left:0;right:0;bottom:0;top:auto;height:var(--msheet-h);max-height:none;max-width:none;margin:0;z-index:90;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:var(--surface-1);padding:56px 16px calc(16px + env(safe-area-inset-bottom, 0px));animation:sheet-in var(--dur) var(--ease)}.m-sheet-head{display:flex;align-items:center;justify-content:center;position:fixed;left:0;right:0;bottom:calc(var(--msheet-h) - 48px);height:48px;z-index:91;background:var(--surface-1);border-radius:16px 16px 0 0;animation:sheet-in var(--dur) var(--ease)}.m-sheet-head:focus{outline:none}.m-sheet-handle{width:36px;height:4px;border-radius:2px;background:var(--border-strong)}.m-sheet-close{position:absolute;top:2px;right:6px;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:transparent;color:var(--text-secondary);cursor:pointer;-webkit-tap-highlight-color:transparent}.m-sheet-close:active{background:var(--surface-0)}.m-actions{display:flex;position:fixed;left:0;right:0;bottom:0;height:calc(52px + env(safe-area-inset-bottom, 0px));padding-bottom:env(safe-area-inset-bottom,0);z-index:80;background:var(--surface-1);border-top:1px solid var(--border)}.m-act{flex:1 1;min-width:44px;min-height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:0;background:transparent;color:var(--text-secondary);font-family:var(--font-body);font-size:11px;font-weight:var(--fw-medium);line-height:1.2;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent}.m-act .m-act-ic{display:inline-flex}.m-act .m-act-lb{max-width:100%;padding:0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-act[aria-expanded=true]{color:var(--accent)}body:has(.game-stage) .site-main{padding-bottom:calc(64px + env(safe-area-inset-bottom, 0px))}body:has(.game-stage) main.container{padding-bottom:0}body:has(.game-stage) .site-footer{margin:0;padding:6px var(--container-pad) 28px;border-top:1px solid var(--border)}.m-scroll-hint{position:fixed;left:0;right:0;bottom:calc(52px + env(safe-area-inset-bottom, 0px));height:40px;z-index:79;display:flex;align-items:flex-end;justify-content:center;padding-bottom:2px;background:linear-gradient(to bottom,transparent,var(--surface-1));color:var(--text-secondary);pointer-events:none}.m-scroll-hint .m-scroll-hint-ic{display:inline-flex;animation:m-hint-bob 1.6s var(--ease) infinite}@keyframes m-hint-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}body[data-msheet] .m-scroll-hint{display:none}body:has(.game-stage) .bind-prompt{bottom:calc(72px + env(safe-area-inset-bottom, 0px))}body[data-msheet] .bind-prompt{display:none}body.dfg-fs-lock .game-stage~.prose,body.dfg-fs-lock .m-actions,body.dfg-fs-lock .m-scroll-hint,body.dfg-fs-lock .m-sheet-head,body.dfg-fs-lock .sheet-scrim{display:none!important}}@media (max-width:1023px) and (max-height:480px){.m-actions,.m-scroll-hint{display:none}.game-stage{min-height:0}}@media (max-width:767px) and (min-height:481px){body:has(.game-stage) .m-top{display:none}body:has(.game-stage) main.container{padding-top:max(8px,env(safe-area-inset-top,0px))}.game-stage{min-height:calc(100vh - 88px);min-height:calc(100dvh - 80px - max(8px, env(safe-area-inset-top, 0px)) - env(safe-area-inset-bottom, 0px))}.game-stage .player{margin:0 calc(-1 * var(--container-pad));padding:0;border:0;box-shadow:none}.game-stage .player,.player .frame-shell{border-radius:0;max-width:none}.player .bar.g-header{position:relative;min-height:52px;padding:4px 12px;gap:8px;flex-wrap:nowrap}.player .bar .ico{width:28px;height:28px;border-radius:8px;box-shadow:none}.player .bar h1{font-size:16px}.player .bar .cat,.player .bar .g-btn-music,.player .bar .g-btn-sfx,.player .bar .lang-switch{display:none}.player .bar .g-more,.player .bar .g-sound{display:inline-flex}.player .bar .g-more{margin-left:auto}.player .bar .ghost-btn.g-more,.player .bar .ghost-btn.g-sound{background:transparent;color:var(--text-secondary);box-shadow:none}.player .bar .ghost-btn.g-more:active,.player .bar .ghost-btn.g-sound:active{background:rgba(0,0,0,.08)}.player .bar .g-sound[data-muted="1"]{color:var(--text-muted)}.player .bar .fs .fs-label{display:none}.player .bar .fs:not(.ghost-btn){padding:0;width:44px;min-width:44px;height:44px;justify-content:center;gap:0;border-radius:50%}.stage-main .stats{margin:12px 0 0}.related-rail{margin-top:12px}.stage-main .stats .stat-version,.stage-main .stats .stat[data-zero="1"]{display:none}.g-sheet-meta{display:block;margin:0;font-size:12px;color:var(--text-muted);text-transform:capitalize}.g-pop-scrim{position:fixed;inset:0;z-index:88;background:rgba(0,0,0,.12)}.g-sound-pop{position:absolute;top:calc(100% - 2px);right:56px;width:220px;z-index:89;padding:6px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:14px;box-shadow:var(--shadow-2);animation:user-pop-in var(--dur-fast) var(--ease)}.g-sound-pop .rail-row{min-height:48px}.g-more-sheet{position:fixed;left:0;right:0;bottom:0;z-index:90;background:var(--surface-1);border-radius:16px 16px 0 0;padding:24px 16px calc(16px + env(safe-area-inset-bottom, 0px));box-shadow:var(--shadow-2);animation:sheet-in var(--dur) var(--ease)}.g-more-sheet .m-sheet-handle{position:absolute;top:8px;left:50%;margin-left:-18px;display:block}.g-more-sheet .m-sheet-close{top:6px}.g-more-sheet .rail-login,.g-more-sheet .rail-user{width:100%;margin:6px 0 0}.g-more-sheet .rail-row{min-height:48px}.g-more-lang{margin-top:2px}.g-more-version{margin:12px 0 0;text-align:center;font-size:11px;color:var(--text-muted)}body.dfg-fs-lock .g-more-sheet,body.dfg-fs-lock .g-pop-scrim,body.dfg-fs-lock .g-sound-pop{display:none!important}}.dock-load-head,.game-comments-title-ico,.player .bar .g-home,.stat-info-entry,.stat-swipe-plays{display:none}@media (max-width:1023px){.m-actions.m-actions-swipe{height:calc(56px + env(safe-area-inset-bottom, 0px));align-items:center;gap:8px;padding:0 10px env(safe-area-inset-bottom,0)}.m-actions-swipe .m-dock{flex-direction:row;gap:6px;height:44px;min-height:44px;font-size:13px;border-radius:22px;transition:transform .12s ease,opacity .12s ease,-webkit-filter .12s ease;transition:transform .12s ease,filter .12s ease,opacity .12s ease;transition:transform .12s ease,filter .12s ease,opacity .12s ease,-webkit-filter .12s ease}.m-actions-swipe .m-dock-prev{flex:25 1;color:var(--text-secondary)}.m-actions-swipe .m-dock-prev[aria-disabled=true]{opacity:.38}.m-actions-swipe .m-dock-comments{flex:35 1;position:relative;border:1px solid var(--border-strong);color:var(--text-secondary)}.m-actions-swipe .m-dock-next{flex:40 1;background:var(--accent);color:#fff;font-weight:var(--fw-semibold)}.m-dock .m-dock-ico{width:20px;height:20px;border-radius:6px;flex:0 0 auto;display:inline-block}.m-dock .m-dock-chev{font-size:17px;line-height:1;font-weight:var(--fw-semibold)}.m-dock .m-dock-lb{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-dock .m-dock-count{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--accent);color:#fff;font-size:11px;line-height:18px;text-align:center;flex:0 0 auto}.m-actions-swipe .m-dock[data-pressed="1"]{transform:scale(.96);-webkit-filter:brightness(.92);filter:brightness(.92)}.stage-main .stats[data-dock=swipe] .stat:not(.stat-swipe-plays):not(.stat-info-entry){display:none}.stage-main .stats[data-dock=swipe]{align-items:center}.stage-main .stats[data-dock=swipe] .stat-swipe-plays{display:inline-block}.stage-main .stats[data-dock=swipe] .stat-swipe-plays[data-zero="1"]{display:none}.stage-main .stats[data-dock=swipe] .stat-info-entry{display:inline-flex;align-items:center;gap:4px;margin-left:auto;border:0;background:none;cursor:pointer;color:var(--accent);-webkit-tap-highlight-color:transparent}.stat-info-entry .stat-info-ic{display:inline-flex}html.dfg-dock-leave-next .game-stage,html.dfg-dock-leave-prev .game-stage{transition:transform .15s ease,opacity .15s ease}html.dfg-dock-leave-next .game-stage{transform:translateX(-28px);opacity:.35}html.dfg-dock-leave-prev .game-stage{transform:translateX(28px);opacity:.35}.dock-load-head{display:flex;align-items:center;gap:10px;margin:4px 0 8px;min-width:0}.dock-load-head img{width:28px;height:28px;border-radius:8px;flex:0 0 auto}.dock-load-head b{font-size:16px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}article.dock-load-next .game-stage{animation:dock-in-next .18s ease-out}article.dock-load-prev .game-stage{animation:dock-in-prev .18s ease-out}@keyframes dock-in-next{0%{transform:translateX(32px);opacity:.3}to{transform:none;opacity:1}}@keyframes dock-in-prev{0%{transform:translateX(-32px);opacity:.3}to{transform:none;opacity:1}}.game-comments-title-ico{display:inline-block;width:20px;height:20px;border-radius:6px;margin-right:8px;vertical-align:-4px}}@media (max-width:767px) and (min-height:481px){.player .bar.g-header-swipe .g-home{display:inline-flex;align-items:center;gap:6px;margin-left:-4px;width:auto;aspect-ratio:auto;padding:0 8px;border-radius:22px;background:transparent;color:var(--text-secondary);box-shadow:none;font-size:var(--fs-meta);font-weight:var(--fw-semibold)}.player .bar.g-header-swipe .g-home:active{background:rgba(0,0,0,.08)}.player .bar.g-header-swipe .g-title,.player .bar.g-header-swipe .ico{display:none}}body .site-rail:is(:hover,:focus-within) .rail-dl{width:auto;min-height:40px;margin:12px 8px 6px;padding:0 12px;justify-content:center}@supports not (aspect-ratio:1/1){.card16x9:before{content:"";display:block;padding-top:56.25%}.c16-art,.c16-cover{top:0;right:0;bottom:0;left:0}.card{min-height:210px}.card.featured{min-height:260px}.lobby-grid,.zone-grid{display:flex;flex-wrap:wrap}.lobby-grid>*,.zone-grid>*{flex:1 1 42%;min-width:150px;margin:6px}}.frame-loading{overflow:hidden}.frame-loading-bg{position:absolute;inset:-12%;z-index:0;pointer-events:none;background-size:cover;background-position:50%;-webkit-filter:blur(28px) saturate(1.2);filter:blur(28px) saturate(1.2);opacity:.35}.frame-loading-hint,.frame-loading-progress,.frame-loading-switch,.frame-loading-title,.frame-loading>.frame-loading-emoji,.frame-loading>.frame-loading-icon{position:relative;z-index:1}.frame-loading-title{margin:0;color:#fff;font-size:1.05em;font-weight:700;max-width:80%;text-align:center}.frame-loading-progress{width:min(240px,70%);height:6px;border-radius:3px;background:hsla(0,0%,100%,.12);overflow:hidden}.frame-loading-progress>i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,var(--accent),#9fa8ff);transition:width .3s ease-out}.frame-loading-hint{margin:0;color:hsla(0,0%,100%,.65);font-size:.85em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.frame-loading-switch{pointer-events:auto;margin-top:4px;padding:.55em 1.3em;border-radius:999px;border:1px solid hsla(0,0%,100%,.35);background:hsla(0,0%,100%,.16);color:#fff;font-size:.95em;font-weight:600;cursor:pointer;animation:dfg-fade-in .3s ease-out}@keyframes dfg-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.frame-loading-switch{animation:none}.frame-loading-progress>i{transition:none}}@media (max-width:767px) and (min-height:481px){:root{--gts-top:36px;--gts-bottom:44px}body:has(.game-three-strip){overflow:hidden}body:has(.game-three-strip) main.container{padding:0}body:has(.game-three-strip) .site-footer{display:none}.game-three-strip .game-stage{min-height:0}.game-three-strip .breadcrumb,.game-three-strip .m-scroll-hint,.game-three-strip .related-rail,.game-three-strip .stage-main .ad-slot,.game-three-strip .stage-main .stats{display:none!important}.game-three-strip .player .bar.g-header{position:fixed;top:0;left:0;right:0;z-index:81;min-height:var(--gts-top);height:calc(var(--gts-top) + env(safe-area-inset-top, 0px));padding:env(safe-area-inset-top,0) 6px 0;gap:4px;background:var(--surface-1);border-bottom:1px solid var(--border)}.game-three-strip .player .bar.g-header-swipe .g-title{display:block;min-width:0;flex:1 1 auto}.game-three-strip .player .bar h1{font-size:13px;font-weight:var(--fw-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}.game-three-strip .player .bar.g-header-swipe .g-home{min-height:36px;padding:0 6px}.game-three-strip .player .bar .fs:not(.ghost-btn),.game-three-strip .player .bar .ghost-btn.g-more,.game-three-strip .player .bar .ghost-btn.g-sound{width:36px;min-width:36px;height:36px;min-height:36px}.game-three-strip .player .bar .g-more{margin-left:0}.game-three-strip .player .frame-shell{position:fixed;top:calc(var(--gts-top) + env(safe-area-inset-top, 0px));left:0;right:0;bottom:calc(var(--gts-bottom) + env(safe-area-inset-bottom, 0px));width:auto;height:auto;max-width:none;aspect-ratio:auto;margin:0;border-radius:0;display:flex;align-items:center;justify-content:center;background:#0a0a0f}.game-three-strip .frame-shell>iframe{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;max-height:none}.game-three-strip .frame-shell.dfg-pseudo-fs{top:calc(var(--gts-top) + env(safe-area-inset-top, 0px));bottom:calc(var(--gts-bottom) + env(safe-area-inset-bottom, 0px));height:auto;width:auto;z-index:auto}.game-three-strip .m-actions.m-actions-swipe{height:calc(var(--gts-bottom) + env(safe-area-inset-bottom, 0px));gap:6px;padding:0 8px env(safe-area-inset-bottom,0)}.game-three-strip .m-actions-swipe .m-dock{height:36px;min-height:36px;font-size:13px;border-radius:18px}.game-three-strip .m-actions-swipe .m-dock-comments{order:1;flex:0 0 auto;padding:0 12px}.game-three-strip .m-actions-swipe .m-dock-prev{order:2;flex:0 0 auto;padding:0 10px}.game-three-strip .m-actions-swipe .m-dock-prev .m-dock-lb,.game-three-strip .m-actions-swipe .m-dock-prev[aria-disabled=true]{display:none}.game-three-strip .m-actions-swipe .m-dock-next{order:3;flex:1 1}.game-three-strip .rec-scrim{display:block;position:fixed;inset:0;z-index:95;background:rgba(0,0,0,.45)}.game-three-strip .rec-panel{position:fixed;top:auto;left:0;right:0;bottom:0;inset:auto 0 0 0;z-index:96;max-height:78dvh;border-radius:18px 18px 0 0;background:var(--surface-1);color:var(--text);backdrop-filter:none;-webkit-backdrop-filter:none;padding:6px 16px calc(16px + env(safe-area-inset-bottom, 0px));box-shadow:0 -12px 30px rgba(0,0,0,.35);display:flex;flex-direction:column;justify-content:flex-start;overflow:hidden;overscroll-behavior:none}.game-three-strip .rec-handle{display:block;width:36px;height:4px;border-radius:2px;background:var(--border-strong);margin:4px auto 6px;flex:0 0 auto}.game-three-strip .rec-close{position:absolute;top:6px;right:8px;color:var(--text);background:var(--surface-0);border:1px solid var(--border-strong)}.game-three-strip .rec-panel-inner{flex:1 1 auto;min-height:0;max-width:none;max-height:none;margin:38px 0 0;padding:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.game-three-strip .rec-over{color:var(--text);font-size:18px;margin:4px 0 2px;text-shadow:none}.game-three-strip .rec-score{margin:0 0 10px;color:var(--text-secondary);font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.game-three-strip .rec-replay{width:100%;min-height:48px;margin:0 0 8px}.game-three-strip .rec-next{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;margin:0 0 12px;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface-0);color:var(--text);font-weight:var(--fw-semibold);text-decoration:none}.game-three-strip .rec-next img{width:22px;height:22px;border-radius:6px}.game-three-strip .rec-heading{font-size:12px;color:var(--text-muted);margin:0 0 8px}.game-three-strip .rec-grid{grid-template-columns:repeat(4,1fr);gap:8px}.game-three-strip .rec-card .label .cat{display:none}.game-three-strip .rec-links{display:flex;gap:18px;margin:12px 0 0;padding:0;list-style:none;font-size:13px}.game-three-strip .rec-links a,.game-three-strip .rec-links button{background:none;border:0;padding:0;color:var(--text-secondary);text-decoration:none;cursor:pointer;font:inherit}.game-three-strip .rec-prev{display:none}body.dfg-rec-open .game-three-strip .m-actions,body.dfg-rec-open .game-three-strip .player .bar.g-header{visibility:hidden}}.frame-loading.is-leaving{opacity:0;transition:opacity .35s ease-out}@media (prefers-reduced-motion:reduce){.frame-loading.is-leaving{transition:none}}.player .bar .g-info{display:none}@media (max-width:767px) and (min-height:481px){.game-three-strip .player .bar .ghost-btn.g-info{display:inline-flex;align-items:center;justify-content:center;width:36px;min-width:36px;height:36px;min-height:36px;padding:0;border-radius:50%;background:transparent;color:var(--text-secondary);box-shadow:none}.game-three-strip .player .bar .ghost-btn.g-info:active{background:rgba(0,0,0,.08)}}@media (hover:none) and (pointer:coarse){body,html{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.game-comment-body,.prose,[contenteditable=true],input,textarea{-webkit-user-select:text;-moz-user-select:text;user-select:text;-webkit-touch-callout:default}}.rec-handle,.rec-scrim{display:none}.rec-score{margin:-6px 0 14px;text-align:center;color:hsla(0,0%,100%,.72);font-size:.95rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rec-replay{margin:0 auto 10px}.rec-next,.rec-replay{display:flex;width:min(100%,360px)}.rec-next{align-items:center;justify-content:center;gap:8px;min-height:44px;margin:0 auto 16px;padding:10px 18px;border-radius:var(--radius-pill);border:1px solid hsla(0,0%,100%,.28);background:hsla(0,0%,100%,.08);color:#fff;font-weight:var(--fw-semibold);text-decoration:none}.rec-next:hover{background:hsla(0,0%,100%,.14)}.rec-next img{width:22px;height:22px;border-radius:6px;flex:0 0 auto}.rec-next span{min-width:0;overflow-wrap:anywhere}.rec-panel :is(.rec-over,.rec-score,.rec-heading,.rec-replay,.rec-card .label .cat,.rec-links a,.rec-links button){overflow-wrap:anywhere;white-space:normal}.rec-panel .rec-replay{max-width:100%}.rec-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;margin:16px 0 0;padding:0;list-style:none;font-size:.95rem}.rec-links a,.rec-links button{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;background:none;border:0;padding:6px;color:hsla(0,0%,100%,.75);text-decoration:none;cursor:pointer;font:inherit}.rec-links a:hover,.rec-links button:hover{color:#fff;text-decoration:underline}.lobby-grid-sentinel{height:1px;margin:0;padding:0}@media (max-width:1023px){body:has(.m-actions) .apk-prompt-layer{bottom:calc(64px + env(safe-area-inset-bottom, 0px))!important}}.legacy-banner{position:fixed;left:0;right:0;bottom:0;z-index:2147483000;padding:10px 12px;background:#1a1a1a;color:#fff;font:14px/1.4 system-ui,-apple-system,Arial,sans-serif;text-align:center;box-shadow:0 -2px 8px rgba(0,0,0,.35)}.legacy-banner a,.legacy-banner button{display:inline-block;margin:6px 6px 0;padding:6px 12px;border-radius:6px;border:1px solid #fff;background:transparent;color:#fff;font:inherit;text-decoration:none;cursor:pointer}.home-index{display:block;margin:22px 0 8px;padding:14px 0 0;border-top:1px solid var(--border);line-height:1.9}.home-index a{display:inline-block;margin:0 10px 2px 0;font-size:12px;color:var(--text-muted);text-decoration:none}.home-index a:hover{color:var(--text);text-decoration:underline}