:root{--bg:#0a0a0c;--surface:#111114;--surface-2:#16161a;--line:#ffffff14;--line-strong:#ffffff24;--text:#ededef;--muted:#9096a0;--faint:#5c616b;--accent:#e2593c;--focus:#ff9b80;--live:#3ecf8e;--sans:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", "Noto Sans SC", sans-serif;--serif:"Songti SC", "STSong", "Noto Serif SC", "Source Han Serif SC", serif;--mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--ease:cubic-bezier(.2, .7, .2, 1);color-scheme:dark;font-family:var(--sans);color:var(--text);background:var(--bg);font-variant-numeric:tabular-nums;line-height:1.6}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{-webkit-font-smoothing:antialiased;background:radial-gradient(900px 480px at 50% -12%, color-mix(in srgb, var(--accent) 16%, transparent), transparent 70%), var(--bg);min-width:0;margin:0;font-size:16px}body:before{content:"";z-index:-1;pointer-events:none;background-image:radial-gradient(#ffffff12 1px,#0000 1px);background-size:24px 24px;position:fixed;inset:0;mask-image:linear-gradient(#000 0,#0000 70%)}a{color:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}main:focus{outline:none}svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:18px;height:18px}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}kbd{border:1px solid var(--line-strong);background:var(--surface-2);min-width:22px;height:22px;color:var(--text);font:500 11px/1 var(--mono);border-bottom-width:2px;border-radius:6px;place-items:center;padding:0 6px;display:inline-grid}.skip-link{z-index:10;background:var(--text);color:var(--bg);opacity:0;pointer-events:none;border-radius:10px;padding:12px 20px;text-decoration:none;position:fixed;top:12px;left:20px;transform:translateY(-160%)}.skip-link:focus{opacity:1;pointer-events:auto;transform:translateY(0)}.page{flex-direction:column;width:min(1200px,100% - 64px);min-height:100svh;margin-inline:auto;display:flex}.top{border-bottom:1px solid var(--line);flex-shrink:0;align-items:center;gap:32px;height:64px;display:flex}.brand{flex-shrink:0;align-items:center;gap:10px;min-height:44px;text-decoration:none;display:inline-flex}.mark{width:28px;height:28px;box-shadow:0 0 0 1px var(--line);border-radius:8px}.word{letter-spacing:-.01em;font-size:16px;font-weight:650}.nav{align-self:stretch;display:flex}.nav-link{min-height:44px;color:var(--text);align-items:center;padding:0 4px;font-size:14px;font-weight:550;text-decoration:none;display:inline-flex;position:relative}.nav-link[aria-current=page]:after{content:"";bottom:-1px;background:var(--text);height:1px;position:absolute;inset-inline:0}.nav-link:hover{color:#fff}.status{border:1px solid var(--line);height:28px;color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;margin:0 0 0 auto;padding:0 12px;font-size:12px;display:inline-flex}.status i{background:var(--live);width:6px;height:6px;box-shadow:0 0 0 0 color-mix(in srgb, var(--live) 60%, transparent);animation:pulse 2.4s var(--ease) infinite;border-radius:50%}@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--live) 55%, transparent)}70%,to{box-shadow:0 0 0 6px #0000}}main{flex-direction:column;flex:1;display:flex}.games{flex-direction:column;flex:1;gap:12px;padding-block:20px;display:flex}.section-head{align-items:center;gap:8px;display:flex}.section-heading{color:var(--muted);letter-spacing:.02em;margin:0;font-size:13px;font-weight:550;line-height:1.5}.count{background:var(--surface-2);border:1px solid var(--line);min-width:20px;height:20px;color:var(--muted);font:500 11px/1 var(--mono);border-radius:6px;place-items:center;padding:0 6px;display:inline-grid}.foot{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;gap:4px 16px;padding-block:14px;font-size:12px;display:flex}.card{isolation:isolate;border:1px solid var(--line);background:linear-gradient(180deg, var(--surface-2), var(--surface));min-width:0;transition:border-color .2s var(--ease);border-radius:16px;position:relative}.card:before{content:"";z-index:-1;border-radius:inherit;pointer-events:none;background:radial-gradient(360px circle at var(--mx,50%) var(--my,0%), color-mix(in srgb, var(--accent) 80%, #fff), transparent 70%);opacity:0;transition:opacity .3s var(--ease);padding:1px;position:absolute;inset:-1px;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}.card:after{content:"";z-index:-1;border-radius:inherit;pointer-events:none;background:radial-gradient(520px circle at var(--mx,50%) var(--my,0%), #ffffff09, transparent 60%);opacity:0;transition:opacity .3s var(--ease);position:absolute;inset:0}.card:hover{border-color:var(--line-strong)}.card:hover:before,.card:hover:after{opacity:1}.game-name{letter-spacing:-.02em;overflow-wrap:anywhere;margin:0;font-weight:700;line-height:1.15}.tagline{color:var(--muted);overflow-wrap:anywhere;margin:0;line-height:1.7}.play{background:var(--text);color:#0a0a0c;min-height:48px;transition:background-color .18s var(--ease), box-shadow .18s var(--ease);border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:10px;padding:0 22px;font-size:15px;font-weight:650;line-height:1.4;text-decoration:none;display:inline-flex}.play svg{transition:transform .18s var(--ease)}.play:hover{box-shadow:0 0 0 4px #ffffff14, 0 8px 30px -8px color-mix(in srgb, var(--accent) 60%, transparent);background:#fff}.play:hover svg{transform:translate(3px)}.play:active{background:#d6d6da}.card--hero{padding:clamp(16px,2.2vw,28px);flex:1;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:clamp(28px,5vw,72px);padding-right:clamp(20px,5vw,64px);display:grid;overflow:hidden}.card--hero>.hero-copy:before{content:"";z-index:-1;background:radial-gradient(closest-side, color-mix(in srgb, var(--accent) 12%, transparent), transparent);pointer-events:none;width:60%;height:90%;position:absolute;top:-30%;right:-10%}.poster{aspect-ratio:2/3;height:min(58svh,540px);transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .24s var(--ease);box-shadow:0 0 0 1px #ffffff1a, 0 40px 90px -30px color-mix(in srgb, var(--accent) 55%, transparent), 0 24px 48px -24px #000;border-radius:12px;position:relative;overflow:hidden}.poster picture,.poster img{width:100%;height:100%;display:block}.poster img{object-fit:cover;object-position:50% 40%}.sheen{pointer-events:none;background:linear-gradient(115deg, transparent 30%, #ffffff1a calc(var(--sx,-20%) - 4%), transparent calc(var(--sx,-20%) + 18%));mix-blend-mode:screen;position:absolute;inset:0}.hero-copy{flex-direction:column;align-items:flex-start;gap:18px;min-width:0;max-width:520px;display:flex;position:relative}.eyebrow{color:var(--muted);letter-spacing:.02em;align-items:center;gap:10px;margin:0;font-size:13px;display:inline-flex}.eyebrow .idx{background:color-mix(in srgb, var(--accent) 16%, transparent);color:color-mix(in srgb, var(--accent) 60%, #fff);font:600 11px/1.4 var(--mono);border-radius:5px;padding:2px 6px}.card--hero .game-name{font-family:var(--serif);letter-spacing:.02em;font-size:clamp(44px,5.4vw,72px);font-weight:900}.watermark{z-index:-1;writing-mode:vertical-rl;white-space:nowrap;font:900 clamp(120px, 26svh, 260px)/1 var(--serif);letter-spacing:.08em;color:#0000;-webkit-text-stroke:1px #ffffff0e;pointer-events:none;user-select:none;position:absolute;top:50%;right:clamp(8px,3vw,40px);transform:translateY(-50%)}.card--hero .game-name:after{content:"";background:var(--accent);border-radius:2px;width:36px;height:3px;margin-top:16px;display:block}.card--hero .tagline{max-width:30em;font-size:16px}.facts{border-block:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));width:100%;margin:4px 0 0;display:grid}.facts>div{min-width:0;padding:12px 0}.facts>div+div{border-left:1px solid var(--line);padding-left:16px}.facts dt{color:var(--muted);font-size:12px}.facts dd{white-space:nowrap;text-overflow:ellipsis;margin:2px 0 0;font-size:14px;font-weight:550;overflow:hidden}.inputs{align-items:center;gap:10px;min-height:22px;display:flex}.inputs>span{color:var(--text);display:inline-flex}.cta-row{flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:4px;display:flex}.enter-hint{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:inline-flex}.controls{color:var(--muted);margin:0;font-size:13px}.game-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.game-grid>.card{flex-direction:column;display:flex;overflow:hidden}.cover{aspect-ratio:16/11;border-bottom:1px solid var(--line);background:var(--surface-2);overflow:hidden}.cover picture,.cover img{width:100%;height:100%;display:block}.cover img{object-fit:cover;object-position:50% 38%;transition:transform .5s var(--ease)}.card:hover .cover img{transform:scale(1.03)}.card-copy{flex-direction:column;flex:1;align-items:flex-start;gap:8px;padding:16px;display:flex}.card-copy .game-name{font-size:20px}.card-copy .tagline{font-size:13px}.game-meta{flex-wrap:wrap;gap:6px;margin:4px 0 12px;padding:0;list-style:none;display:flex}.game-meta li{border:1px solid var(--line);color:var(--muted);border-radius:6px;padding:2px 8px;font-size:12px}.card-copy .play{width:100%;margin-top:auto}.upcoming{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;display:grid}.soon-card{border:1px dashed var(--line-strong);min-width:0;color:var(--muted);border-radius:12px;align-items:center;gap:14px;padding:14px 16px;display:flex}.game-grid>.soon-card{text-align:center;flex-direction:column;justify-content:center;gap:10px;min-height:240px}.game-grid>.soon-card .soon-text{flex:none}.soon-badge{border:1px solid var(--line-strong);color:var(--muted);border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:11px}.soon-text{flex:1;min-width:0}.soon-title{color:var(--text);margin:0;font-size:14px;font-weight:600}.soon-copy{overflow-wrap:anywhere;margin:0;font-size:12px}.soon-mark{gap:4px;display:inline-flex}.soon-mark i{background:var(--faint);width:4px;height:4px;animation:blink 1.6s var(--ease) infinite;border-radius:50%}.soon-mark i:nth-child(2){animation-delay:.2s}.soon-mark i:nth-child(3){animation-delay:.4s}@keyframes blink{0%,to{opacity:.3}40%{opacity:1}}.empty-state{text-align:center;border:1px dashed var(--line-strong);border-radius:16px;flex:1;place-content:center;padding:64px 24px;display:grid}.empty-state p{margin:0}.empty-state p+p{color:var(--muted);margin-top:8px;font-size:14px}.notfound{text-align:center;justify-content:center;align-items:center;gap:16px;padding-block:40px}.notfound .code{font:600 88px/1 var(--mono);letter-spacing:-.04em;background:linear-gradient(180deg, var(--text), color-mix(in srgb, var(--accent) 70%, var(--bg)));color:#0000;-webkit-background-clip:text;background-clip:text;margin:0}.notfound h1{margin:0;font-size:26px;font-weight:650}.notfound-copy{color:var(--muted);margin:0}.notfound .play{margin-top:8px}@media (width<1100px){.game-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.card--hero{flex:0 auto}.poster{height:min(54svh,520px,150vw - 570px)}.watermark{display:none}}@media (width<900px){.page{width:calc(100% - 40px)}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card--hero{gap:28px}.enter-hint{display:none}}@media (width<600px){.page{width:calc(100% - 32px)}.top{gap:20px;height:56px}.word{font-size:15px}.status{padding:0 10px}.games{gap:10px;padding-block:12px}.game-grid{grid-template-columns:minmax(0,1fr)}.card--hero{flex:none;grid-template-columns:minmax(0,1fr);gap:14px;padding:10px 10px 16px}.poster{aspect-ratio:auto;border-radius:10px;width:100%;height:clamp(120px,26svh,280px);transform:none}.poster img{object-position:50% 42%}.hero-copy{gap:10px;max-width:none;padding-inline:6px}.card--hero .game-name{font-size:36px}.watermark{display:none}.card--hero .game-name:after{margin-top:10px}.card--hero .tagline{font-size:14px}.facts dd{font-size:13px}.facts>div{padding:8px 0}.facts>div+div{padding-left:10px}.cta-row,.card--hero .play{width:100%}.controls{font-size:12px}.soon-card{padding:10px 12px}.soon-mark{display:none}}@media (width<420px){.status{display:none}}@media (hover:none){.enter-hint{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.poster,.card:hover .cover img{transform:none}}
