/* 试玩大厅（play.php）：颜色变量跟随首页模板 */
.play-page{--pc-card:#fff;--pc-line:#e3ecfa;--pc-text:#14294d;--pc-muted:#8494b0;--pc-accent:#2f73f6;--pc-accent2:#5b9bff;--pc-on:#fff;--pc-shadow:0 6px 18px #3464a114;--pc-chip:#fff;--pc-chip-on:#e9f2ff;--pc-chip-on-fg:#2869e8;--pc-ph:linear-gradient(135deg,#dbe9ff,#f1f6ff)}
body.tpl-dark .play-page{--pc-card:rgba(255,255,255,.06);--pc-line:rgba(120,160,255,.24);--pc-text:#eaf1ff;--pc-muted:#8ea3cf;--pc-accent:#1fb4ff;--pc-accent2:#4f7bff;--pc-on:#04122a;--pc-shadow:0 8px 22px #0006;--pc-chip:rgba(255,255,255,.06);--pc-chip-on:rgba(31,180,255,.18);--pc-chip-on-fg:#7fd6ff;--pc-ph:linear-gradient(135deg,#17306b,#0e1d45)}
body.tpl-gold .play-page{--pc-card:#111114;--pc-line:rgba(231,191,115,.34);--pc-text:#fbe9b9;--pc-muted:#a8977a;--pc-accent:#e7bf73;--pc-accent2:#f6dc9d;--pc-on:#2a1d05;--pc-shadow:0 8px 22px #000a;--pc-chip:#111114;--pc-chip-on:rgba(231,191,115,.16);--pc-chip-on-fg:#f6dc9d;--pc-ph:linear-gradient(135deg,#2a2112,#16120a)}
body.tpl-aurora .play-page{--pc-card:rgba(255,255,255,.58);--pc-line:rgba(255,255,255,.8);--pc-text:#231a52;--pc-muted:#7a72a8;--pc-accent:#7a6bff;--pc-accent2:#4fb4ff;--pc-on:#fff;--pc-shadow:0 8px 24px #6a5ae01c;--pc-chip:rgba(255,255,255,.6);--pc-chip-on:rgba(122,107,255,.16);--pc-chip-on-fg:#5a49e8;--pc-ph:linear-gradient(135deg,#e1dcff,#d6efff)}

.play-toolbar{display:flex;flex-direction:column;gap:12px;margin:0 0 18px}
.play-tabs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px 1px}
.play-tabs::-webkit-scrollbar{display:none}
.play-tab{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 16px;border-radius:20px;border:1px solid var(--pc-line);background:var(--pc-chip);color:var(--pc-muted);font-weight:700;font-size:14px;cursor:pointer;transition:.18s}
.play-tab em{font-style:normal;font-size:11px;font-weight:600;opacity:.8}
.play-tab.active{background:var(--pc-chip-on);color:var(--pc-chip-on-fg);border-color:var(--pc-accent)}
.play-search{display:flex;align-items:center;gap:8px;height:42px;padding:0 14px;border-radius:21px;border:1px solid var(--pc-line);background:var(--pc-chip);color:var(--pc-muted)}
.play-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--pc-text);font-size:14px;-webkit-appearance:none;appearance:none}
.play-search input::placeholder{color:var(--pc-muted)}
.play-search:focus-within{border-color:var(--pc-accent)}

.play-panel[hidden],.play-empty[hidden]{display:none}
.play-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.play-card{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:7px;padding:8px 8px 10px;border:1px solid var(--pc-line);border-radius:16px;background:var(--pc-card);box-shadow:var(--pc-shadow);color:var(--pc-text);text-align:center;cursor:pointer;font:inherit;transition:transform .18s,box-shadow .18s,border-color .18s;-webkit-tap-highlight-color:transparent}
.play-card:hover{transform:translateY(-3px);border-color:var(--pc-accent)}
.play-card:active{transform:scale(.97)}
.play-card:focus-visible{outline:2px solid var(--pc-accent);outline-offset:2px}
.play-thumb{position:relative;display:block;width:100%;border-radius:11px;overflow:hidden;background:var(--pc-ph)}
.play-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.play-ph{position:absolute;inset:0;display:grid;place-items:center;font-style:normal;font-size:30px;font-weight:800;color:var(--pc-accent);opacity:.55}
.play-name{display:block;font-size:13px;font-weight:700;line-height:1.3;min-height:2.6em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;padding:0 2px}
.play-go{display:block;border-radius:15px;padding:6px 0;font-size:12px;font-weight:700;background:linear-gradient(135deg,var(--pc-accent),var(--pc-accent2));color:var(--pc-on)}
.empty-state.play-empty{margin-top:10px}
body.tpl-dark .empty-state,body.tpl-gold .empty-state{background:var(--pc-card,rgba(255,255,255,.06));color:var(--pc-text,#eaf1ff)}
body.tpl-dark .empty-state p,body.tpl-gold .empty-state p{color:#8ea3cf}

@media (min-width:600px){.play-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.play-toolbar{flex-direction:row;align-items:center;justify-content:space-between}.play-search{width:280px}}
@media (min-width:900px){.play-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}.play-name{font-size:14px}}
@media (min-width:1200px){.play-grid{grid-template-columns:repeat(7,minmax(0,1fr))}}

/* 站内全屏播放层 */
html.play-lock,html.play-lock body{overflow:hidden;overscroll-behavior:none}
.play-player{position:fixed;inset:0;z-index:200;display:flex;flex-direction:column;background:#000;height:100vh;height:100dvh}
.play-player[hidden]{display:none}
.play-bar{flex:0 0 auto;display:flex;align-items:center;gap:6px;height:calc(48px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(10px,env(safe-area-inset-right)) 0 max(10px,env(safe-area-inset-left));background:#0b1020;color:#fff;border-bottom:1px solid #ffffff1a}
.play-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;height:34px;min-width:34px;padding:0 10px;border:0;border-radius:17px;background:#ffffff1c;color:#fff;font-size:14px;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent}
.play-btn:hover{background:#ffffff30}
.play-btn.icon{padding:0}
.play-title{flex:1;min-width:0;text-align:center;font-size:15px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.play-stage{position:relative;flex:1;min-height:0;background:#000}
.play-stage iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000}
.play-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#c9d6f5;font-size:14px;pointer-events:none;text-align:center;padding:0 24px}
.play-loading p{margin:0}
.play-slow{font-size:12px;color:#8ea3cf}
.play-spin{width:34px;height:34px;border-radius:50%;border:3px solid #ffffff2b;border-top-color:#6ea8ff;animation:playSpin .8s linear infinite}
@keyframes playSpin{to{transform:rotate(360deg)}}
@media (orientation:landscape) and (max-height:520px){.play-bar{height:calc(38px + env(safe-area-inset-top))}.play-btn{height:28px}.play-title{font-size:13px}}
@media (prefers-reduced-motion:reduce){.play-spin{animation-duration:2s}.play-card{transition:none}}
.play-card[hidden],.play-loading[hidden],.play-slow[hidden]{display:none}

/* 直链入口（整站第三方大厅，如 CG电子） */
.play-search[hidden]{display:none}
.lobby-card{display:flex;align-items:center;gap:16px;width:100%;max-width:640px;margin:6px auto 0;padding:16px;border:1px solid var(--pc-line);border-radius:20px;background:var(--pc-card);box-shadow:var(--pc-shadow);color:var(--pc-text);text-align:left;cursor:pointer;font:inherit;transition:transform .18s,border-color .18s;-webkit-tap-highlight-color:transparent}
.lobby-card:hover{transform:translateY(-3px);border-color:var(--pc-accent)}
.lobby-card:active{transform:scale(.98)}
.lobby-card:focus-visible{outline:2px solid var(--pc-accent);outline-offset:2px}
.lobby-cover{position:relative;flex:0 0 96px;width:96px;height:96px;border-radius:18px;overflow:hidden;background:var(--pc-ph)}
.lobby-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lobby-cover .play-ph{font-size:40px}
.lobby-info{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}
.lobby-info b{font-size:18px;font-weight:800}
.lobby-info small{font-size:12.5px;color:var(--pc-muted)}
.lobby-info .play-go{display:inline-block;align-self:flex-start;padding:7px 18px;margin-top:4px}
.lobby-card[hidden]{display:none}
@media (max-width:420px){.lobby-cover{flex-basis:80px;width:80px;height:80px}.lobby-info b{font-size:16px}}
