*{box-sizing:border-box}
:root{--bg:#0b1020;--card:#151c33;--line:#26314f;--txt:#e8f0ff;--mut:#8aa0c6;--acc:#5b8cff}
body{margin:0;background:radial-gradient(1200px 800px at 10% 10%,#141c33 0%,var(--bg) 55%);color:var(--txt);
font-family:system-ui,-apple-system,"PingFang SC","Microsoft YaHei",Arial,sans-serif}
.hdr{padding:22px 18px 10px;max-width:1180px;margin:0 auto}
.hdr h1{margin:0;font-size:24px}
.sub{color:var(--mut);font-size:13px;margin:4px 0 14px}
#q{width:100%;max-width:420px;padding:10px 14px;border-radius:10px;border:1px solid var(--line);background:#101730;color:var(--txt);font-size:15px}
.grid{max-width:1180px;margin:0 auto;padding:6px 18px 60px;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.card{display:block;text-decoration:none;color:inherit;background:linear-gradient(180deg,#182142,#121a31);border:1px solid var(--line);
border-radius:13px;overflow:hidden;cursor:pointer;transition:.15s}
.card:hover{transform:translateY(-3px);border-color:var(--acc);box-shadow:0 12px 26px -12px rgba(91,140,255,.6)}
.cov{aspect-ratio:4/3;background:#0e1428;display:flex;align-items:center;justify-content:center;overflow:hidden}
.cov img{width:100%;height:100%;object-fit:cover}
.nm{font-size:14px;font-weight:600;padding:8px 10px 2px;line-height:1.3}
.yr{font-size:12px;color:var(--mut);padding:0 10px 10px}
.loading{grid-column:1/-1;color:var(--mut);padding:30px;text-align:center}
.player{position:fixed;inset:0;background:#05070f;display:flex;flex-direction:column;z-index:50}
.bar{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#0d1426;border-bottom:1px solid var(--line);flex-wrap:wrap}
.bar button{background:#1b2440;color:var(--txt);border:1px solid var(--line);border-radius:8px;padding:7px 12px;font-size:14px;cursor:pointer}
.bar button:hover{border-color:var(--acc)}
#ptitle{font-weight:700;margin-left:4px}
.sp{flex:1}
.dos{flex:1;min-height:0;position:relative}
.toast{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);background:#000c;color:#fff;padding:9px 16px;border-radius:20px;font-size:14px;opacity:0;transition:.2s;pointer-events:none}
.toast.on{opacity:1}

/* fix: 播放器面板必须遵守 hidden 属性，否则会全屏盖住游戏列表 */
.player[hidden]{display:none}
