/* ══════════════════════════════════════════════════════════
   game-center.css — 游戏中心全屏页（game-center.js）
   夜樱深色为底，粉紫点缀；每款游戏的卡片沿用各自的主题色（深色 --c1/--c2/--acc，浅色 --l1/--l2）
   ══════════════════════════════════════════════════════════ */
#gc-root{position:fixed;inset:0;z-index:8500;display:none;flex-direction:column;overflow:hidden;
  font-family:var(--font-body,system-ui);-webkit-tap-highlight-color:transparent;color:var(--gc-ink);
  --gc-ink:#f4effd;--gc-ink2:rgba(236,228,255,.74);--gc-ink3:rgba(220,210,245,.5);
  --gc-panel:rgba(22,17,48,.6);--gc-line:rgba(255,183,197,.15);--gc-line2:rgba(255,255,255,.08);
  --gc-accent:#ff8fb3;--gc-card:rgba(22,18,48,.74);--gc-soft:rgba(255,255,255,.05)}
#gc-root.open{display:flex;animation:gcIn .3s cubic-bezier(.16,1,.3,1)}
#gc-root.closing{animation:gcOut .2s ease forwards;pointer-events:none}
@keyframes gcIn{from{opacity:0;transform:scale(1.015)}}
@keyframes gcOut{to{opacity:0;transform:scale(1.01)}}
html.gc-lock,html.gc-lock body{overflow:hidden}
/* 从这里进游戏时：垫在游戏下面（掌机弹窗 z-index 8000），退出游戏直接露出来 */
#gc-root.behind{z-index:7900;pointer-events:none}
#gc-root.gc-static .gc-card{animation:none}
.btn-game-trigger.on{background:rgba(99,102,241,.22);border-color:rgba(99,102,241,.55);box-shadow:0 0 14px rgba(99,102,241,.35)}
body.theme-light .btn-game-trigger.on{background:rgba(220,100,140,.18);border-color:rgba(220,100,140,.5);box-shadow:0 0 14px rgba(220,100,140,.3)}

.gc-bg{position:absolute;inset:0;z-index:0;pointer-events:none;background:
    radial-gradient(55% 45% at 10% -5%,rgba(255,105,180,.18),transparent 70%),
    radial-gradient(45% 40% at 96% 8%,rgba(139,92,246,.2),transparent 70%),
    radial-gradient(70% 55% at 50% 115%,rgba(56,189,248,.08),transparent 70%),
    linear-gradient(180deg,#0c0822 0%,#080618 55%,#05040f 100%)}
.gc-bg::after{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.055) 1px,transparent 1.5px);background-size:22px 22px;
  -webkit-mask-image:linear-gradient(180deg,#000,transparent 55%);mask-image:linear-gradient(180deg,#000,transparent 55%)}

/* ══ 顶栏 ══ */
.gc-head{position:relative;z-index:6;display:flex;align-items:center;gap:18px;flex-shrink:0;
  padding:max(14px,env(safe-area-inset-top)) max(22px,env(safe-area-inset-right)) 14px max(22px,env(safe-area-inset-left));
  border-bottom:1px solid var(--gc-line2);background:linear-gradient(180deg,rgba(9,7,24,.88),rgba(9,7,24,.6));
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.gc-brand{display:flex;align-items:center;gap:12px;min-width:0;flex:0 0 auto}
.gc-logo{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;color:#fff;
  background:linear-gradient(135deg,#ff7aa8,#9f7aea);box-shadow:0 8px 22px rgba(255,105,180,.35),inset 0 1px 0 rgba(255,255,255,.45)}
.gc-logo svg.ico{width:24px;height:24px}
.gc-brand-tx{display:flex;flex-direction:column;min-width:0}
.gc-brand-tx h1{margin:0;font-size:1.22rem;font-weight:900;letter-spacing:3px;line-height:1.2}
.gc-brand-tx span{font-size:.72rem;color:var(--gc-ink3);white-space:nowrap}
.gc-search{flex:1;max-width:460px;margin:0 auto;display:flex;align-items:center;gap:8px;height:42px;padding:0 12px;box-sizing:border-box;
  border-radius:14px;background:var(--gc-soft);border:1px solid var(--gc-line2);transition:border-color .2s,box-shadow .2s,background .2s;cursor:text}
.gc-search:focus-within{border-color:rgba(255,143,179,.55);box-shadow:0 0 0 3px rgba(255,143,179,.14);background:rgba(255,255,255,.09)}
.gc-search svg.ico{width:18px;height:18px;flex:0 0 auto;color:var(--gc-ink3)}
.gc-search input{flex:1;min-width:0;height:100%;background:none;border:0;outline:0;color:var(--gc-ink);font:inherit;font-size:.9rem}
.gc-search input::placeholder{color:var(--gc-ink3)}
.gc-search input::-webkit-search-cancel-button{filter:invert(1) opacity(.45);cursor:pointer}
.gc-search kbd{flex:0 0 auto;font:600 .7rem/1 ui-monospace,Menlo,monospace;padding:4px 7px;border-radius:6px;border:1px solid var(--gc-line2);color:var(--gc-ink3);background:none}
.gc-search:focus-within kbd{display:none}
.gc-me{display:flex;align-items:center;gap:10px;min-width:0;flex:0 0 auto}
.gc-me-av{position:relative;width:36px;height:36px;border-radius:50%;overflow:hidden;display:grid;place-items:center;flex:0 0 auto;
  background:linear-gradient(135deg,#ff8fb3,#8b5cf6);font-weight:800;color:#fff;box-shadow:0 0 0 2px rgba(255,183,197,.35)}
.gc-me-av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.gc-me-tx{display:flex;flex-direction:column;line-height:1.25;min-width:0}
.gc-me-tx b{font-size:.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}
.gc-me-tx i{font-style:normal;font-size:.7rem;color:var(--gc-ink3)}
.gc-me-guest{display:inline-flex;align-items:center;gap:6px;font-size:.76rem;color:var(--gc-ink3);white-space:nowrap}
.gc-me-guest svg.ico{width:15px;height:15px}
.gc-x{flex:0 0 auto;width:40px;height:40px;border-radius:12px;border:1px solid var(--gc-line2);background:var(--gc-soft);color:var(--gc-ink);display:grid;place-items:center;cursor:pointer;transition:background .15s,transform .15s}
.gc-x:hover{background:rgba(255,255,255,.14);transform:rotate(90deg)}
.gc-x svg.ico{width:18px;height:18px}

.gc-scroll{position:relative;z-index:2;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(255,183,197,.2) transparent}
.gc-wrap{max-width:1240px;margin:0 auto;padding:22px max(22px,env(safe-area-inset-right)) 56px max(22px,env(safe-area-inset-left));box-sizing:border-box}

/* ══ 推荐轮播 + 继续游戏 ══ */
.gc-hero{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px}
#gc-root.searching .gc-hero,#gc-root.searching .gc-tabs{display:none}
.gc-spot{position:relative;min-height:312px;border-radius:26px;overflow:hidden;isolation:isolate;
  box-shadow:0 24px 60px rgba(0,0,0,.45),inset 0 0 0 1px rgba(255,255,255,.08);touch-action:pan-y}
.gc-slide{position:absolute;inset:0;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:10px;
  padding:34px 40px 50px;opacity:0;visibility:hidden;transition:opacity .6s ease,visibility .6s;
  background:radial-gradient(70% 95% at 78% 45%,color-mix(in srgb,var(--sa) 30%,transparent),transparent 65%),
    radial-gradient(60% 80% at 0% 100%,rgba(0,0,0,.45),transparent 70%),
    linear-gradient(135deg,var(--s1),var(--s2))}
.gc-slide.on{opacity:1;visibility:visible}
.gc-slide::before{content:'';position:absolute;right:-4%;top:50%;width:58%;aspect-ratio:1;transform:translateY(-50%);border-radius:50%;pointer-events:none;
  border:1px dashed color-mix(in srgb,var(--sa) 40%,transparent);box-shadow:inset 0 0 80px color-mix(in srgb,var(--sa) 14%,transparent)}
.gc-slide::after{content:'';position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.035) 0 2px,transparent 2px 16px)}
.gc-slide-tx{position:relative;z-index:2;min-width:0}
.gc-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 11px;border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:1px;
  color:#1a1206;background:linear-gradient(135deg,var(--sa),var(--sb))}
.gc-badge svg.ico{width:13px;height:13px}
.gc-badge.new{color:#fff;background:linear-gradient(135deg,#ff6b9d,#ff9a5a);box-shadow:0 6px 16px rgba(255,107,157,.4)}
.gc-slide h2{margin:12px 0 8px;font-size:clamp(2rem,4.2vw,3.1rem);font-weight:900;letter-spacing:6px;line-height:1.1;color:#fff;text-shadow:0 4px 24px rgba(0,0,0,.4)}
.gc-slide p{margin:0 0 14px;max-width:440px;font-size:.92rem;line-height:1.7;color:rgba(255,255,255,.82)}
.gc-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:22px}
.gc-chips span{font-size:.72rem;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.9)}
.gc-cta{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.gc-btn{display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 24px;border-radius:14px;border:0;cursor:pointer;font:800 .95rem var(--font-body,system-ui);letter-spacing:1px;transition:transform .15s,filter .15s,box-shadow .15s}
.gc-btn svg.ico{width:17px;height:17px}
.gc-btn.primary{color:#1a1206;background:linear-gradient(135deg,#fff6de,var(--sa) 55%,var(--sb));
  box-shadow:0 10px 26px color-mix(in srgb,var(--sa) 45%,transparent),inset 0 1px 0 rgba(255,255,255,.6)}
.gc-btn.primary:hover{transform:translateY(-2px);filter:brightness(1.06)}
.gc-btn.primary:active{transform:translateY(0) scale(.97)}
.gc-cta-note{font-size:.76rem;color:rgba(255,255,255,.62)}
.gc-slide-art{position:relative;z-index:1;display:grid;place-items:center;height:100%;min-width:0}
.gc-slide-art svg{display:block;width:min(270px,100%);height:auto;filter:drop-shadow(0 24px 40px rgba(0,0,0,.45))}
.gc-slide.on .gc-slide-art svg{animation:gcFloat 6s ease-in-out infinite}
.gc-slide.on .gc-slide-tx > *{animation:gcUp .7s cubic-bezier(.16,1,.3,1) both}
.gc-slide.on .gc-slide-tx > :nth-child(2){animation-delay:.05s}
.gc-slide.on .gc-slide-tx > :nth-child(3){animation-delay:.1s}
.gc-slide.on .gc-slide-tx > :nth-child(4){animation-delay:.15s}
.gc-slide.on .gc-slide-tx > :nth-child(5){animation-delay:.2s}
@keyframes gcFloat{50%{transform:translateY(-8px) rotate(-1.5deg)}}
@keyframes gcUp{from{opacity:0;transform:translateY(14px)}}
.gc-dots{position:absolute;right:40px;bottom:18px;z-index:3;display:flex;gap:6px}
.gc-dots button{width:26px;height:18px;padding:0;border:0;background:none;cursor:pointer;display:grid;place-items:center}
.gc-dots button i{display:block;width:100%;height:5px;border-radius:3px;background:rgba(255,255,255,.28);transition:background .3s}
.gc-dots button.on{width:42px}
.gc-dots button.on i{background:#fff}
.gc-dots button{transition:width .35s cubic-bezier(.16,1,.3,1)}
.gc-arrow{position:absolute;top:50%;z-index:3;width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:rgba(0,0,0,.3);color:#fff;
  display:grid;place-items:center;cursor:pointer;opacity:0;transform:translateY(-50%);transition:opacity .2s,background .2s}
.gc-arrow svg.ico{width:18px;height:18px}
.gc-arrow.prev{left:12px}
.gc-arrow.next{right:12px}
.gc-arrow:hover{background:rgba(0,0,0,.5)}
.gc-spot:hover .gc-arrow,.gc-arrow:focus-visible{opacity:1}

.gc-side{display:flex;flex-direction:column;gap:12px;padding:18px;border-radius:26px;box-sizing:border-box;min-width:0;
  background:var(--gc-panel);border:1px solid var(--gc-line);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.gc-side-hd{display:flex;align-items:center;gap:8px;font-size:.86rem;font-weight:800;color:var(--gc-ink2)}
.gc-side-hd svg.ico{width:16px;height:16px;color:var(--gc-accent)}
.gc-conts{display:flex;flex-direction:column;gap:8px;flex:1;min-height:0}
.gc-cont{display:flex;align-items:center;gap:12px;width:100%;padding:8px 10px 8px 8px;border-radius:14px;border:1px solid transparent;box-sizing:border-box;
  background:var(--gc-soft);cursor:pointer;color:inherit;text-align:left;font:inherit;transition:background .15s,border-color .15s,transform .15s}
.gc-cont:hover{background:rgba(255,255,255,.09);border-color:var(--gc-line);transform:translateX(3px)}
.gc-mini{flex:0 0 auto;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--c1),var(--c2));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--acc) 35%,transparent)}
.gc-mini svg.gico{width:28px;height:28px;filter:drop-shadow(0 3px 5px rgba(0,0,0,.35))}
.gc-cont-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.gc-cont-tx b{font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gc-cont-tx i{font-style:normal;font-size:.72rem;color:var(--gc-ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gc-cont-go{flex:0 0 auto;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#ff8fb3,#b18cff);box-shadow:0 4px 12px rgba(255,105,180,.3)}
.gc-cont-go svg.ico{width:14px;height:14px}
.gc-cont-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:14px 8px;font-size:.76rem;color:var(--gc-ink3)}
.gc-cont-empty svg.ico{width:36px;height:36px;color:var(--gc-accent);opacity:.75;margin-bottom:2px}
.gc-cont-empty b{font-size:.84rem;color:var(--gc-ink2)}
.gc-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.gc-stats div{display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 4px;border-radius:14px;background:var(--gc-soft)}
.gc-stats b{font:800 1.12rem/1.1 ui-monospace,'SF Mono',Menlo,monospace;color:var(--gc-ink)}
.gc-stats small{font-size:.7rem;font-weight:600;color:var(--gc-ink3)}
.gc-stats span{font-size:.66rem;color:var(--gc-ink3)}

/* ══ 分类 ══ */
.gc-tabs{position:sticky;top:0;z-index:5;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:18px -6px 0;padding:12px 6px 10px;
  background:linear-gradient(180deg,rgba(8,6,20,.94) 72%,rgba(8,6,20,0))}
.gc-tabs::-webkit-scrollbar{display:none}
.gc-tab{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 14px;border-radius:999px;cursor:pointer;
  border:1px solid var(--gc-line2);background:var(--gc-soft);color:var(--gc-ink2);font:700 .84rem var(--font-body,system-ui);transition:background .2s,color .2s,box-shadow .2s}
.gc-tab:hover{color:var(--gc-ink);background:rgba(255,255,255,.09)}
.gc-tab i{font-style:normal;font-size:.68rem;padding:1px 7px;border-radius:999px;background:rgba(255,255,255,.08);color:var(--gc-ink3)}
.gc-tab.on{color:#fff;border-color:transparent;background:linear-gradient(135deg,#ff6f9f,#9b6bff);box-shadow:0 8px 20px rgba(255,111,159,.28)}
.gc-tab.on i{background:rgba(255,255,255,.24);color:#fff}

/* ══ 卡片 ══ */
.gc-sec{margin-top:12px}
.gc-sec + .gc-sec{margin-top:30px}
.gc-sec-hd{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;margin:8px 2px 14px}
.gc-sec-hd h3{margin:0;display:flex;align-items:center;gap:8px;font-size:1.08rem;font-weight:900;letter-spacing:1px}
.gc-sec-hd h3 svg.ico{width:18px;height:18px;color:var(--gc-accent)}
.gc-sec-hd span{font-size:.76rem;color:var(--gc-ink3)}
.gc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}
/* 棋牌区卡片大一号：6 款正好两行三列 */
.gc-sec.big .gc-grid{grid-template-columns:repeat(auto-fill,minmax(310px,1fr))}
.gc-sec.big .gc-art{aspect-ratio:16 / 9}
.gc-sec.big .gc-art-ico svg.gico,.gc-sec.big .gc-art-glow svg.gico{width:96px;height:96px}
.gc-card{position:relative;display:flex;flex-direction:column;min-width:0;border-radius:20px;overflow:hidden;cursor:pointer;outline:none;
  background:var(--gc-card);border:1px solid var(--gc-line2);box-shadow:0 10px 26px rgba(0,0,0,.28);
  transition:transform .25s cubic-bezier(.2,.9,.3,1.2),box-shadow .25s,border-color .25s;animation:gcCard .5s cubic-bezier(.16,1,.3,1) both}
.gc-card:hover,.gc-card:focus-visible{transform:translateY(-5px);border-color:color-mix(in srgb,var(--acc) 55%,transparent);
  box-shadow:0 18px 40px rgba(0,0,0,.4),0 0 0 1px color-mix(in srgb,var(--acc) 28%,transparent),0 12px 44px color-mix(in srgb,var(--acc) 18%,transparent)}
.gc-card:active{transform:translateY(-2px) scale(.985)}
.gc-grid .gc-card:nth-child(2){animation-delay:.03s}.gc-grid .gc-card:nth-child(3){animation-delay:.06s}
.gc-grid .gc-card:nth-child(4){animation-delay:.09s}.gc-grid .gc-card:nth-child(5){animation-delay:.12s}
.gc-grid .gc-card:nth-child(6){animation-delay:.15s}.gc-grid .gc-card:nth-child(n+7){animation-delay:.18s}
@keyframes gcCard{from{opacity:0;transform:translateY(12px)}}
.gc-art{position:relative;aspect-ratio:16 / 10;display:grid;place-items:center;overflow:hidden;
  background:radial-gradient(90% 80% at 75% 12%,color-mix(in srgb,var(--acc) 38%,transparent),transparent 60%),
    radial-gradient(80% 70% at 10% 110%,rgba(0,0,0,.42),transparent 65%),
    linear-gradient(135deg,var(--c1),var(--c2))}
.gc-art::before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.6}
.gc-card.classic .gc-art::before{background-image:radial-gradient(rgba(255,255,255,.13) 1px,transparent 1.5px);background-size:11px 11px}
.gc-card.table .gc-art::before{background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 2px,transparent 2px 14px)}
.gc-art::after{content:'';position:absolute;left:0;right:0;bottom:0;height:42%;pointer-events:none;background:linear-gradient(0deg,rgba(0,0,0,.3),transparent)}
.gc-art-ico{position:relative;z-index:2;display:grid;place-items:center;transition:transform .35s cubic-bezier(.2,.9,.3,1.3)}
.gc-art-ico svg.gico,.gc-art-glow svg.gico{width:78px;height:78px}
.gc-art-ico svg.gico{filter:drop-shadow(0 10px 18px rgba(0,0,0,.45))}
.gc-art-glow{position:absolute;z-index:1;display:grid;place-items:center;opacity:.38;filter:blur(20px);transform:scale(2.1)}
.gc-card:hover .gc-art-ico,.gc-card:focus-visible .gc-art-ico{transform:translateY(-6px) scale(1.09) rotate(-4deg)}
.gc-tags{position:absolute;left:10px;top:10px;z-index:3;display:flex;flex-wrap:wrap;gap:4px;max-width:calc(100% - 54px)}
.gc-tag{display:inline-flex;align-items:center;gap:3px;height:20px;padding:0 7px;border-radius:999px;font-size:.62rem;font-weight:800;color:#fff;white-space:nowrap;
  background:rgba(0,0,0,.36);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.gc-tag svg.ico{width:11px;height:11px}
.gc-tag.new{letter-spacing:1px;border-color:transparent;background:linear-gradient(135deg,#ff6b9d,#ff9a5a);box-shadow:0 4px 10px rgba(255,107,157,.4)}
.gc-fav{position:absolute;right:8px;top:8px;z-index:4;width:32px;height:32px;padding:0;border-radius:50%;border:0;display:grid;place-items:center;cursor:pointer;
  background:rgba(0,0,0,.32);color:rgba(255,255,255,.78);opacity:0;transition:opacity .2s,transform .2s,background .2s,color .2s}
.gc-fav svg.ico{width:16px;height:16px}
.gc-card:hover .gc-fav,.gc-card:focus-within .gc-fav,.gc-fav.on{opacity:1}
.gc-fav:hover{transform:scale(1.12);background:rgba(0,0,0,.5)}
.gc-fav.on{color:#ffd166;background:rgba(0,0,0,.42);box-shadow:0 0 0 1px rgba(255,209,102,.5),0 0 14px rgba(255,209,102,.45)}
.gc-go{position:absolute;right:10px;bottom:10px;z-index:3;display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 13px;border-radius:999px;
  font-size:.76rem;font-weight:800;color:#1a1206;background:linear-gradient(135deg,#fff,var(--acc));box-shadow:0 6px 16px rgba(0,0,0,.35);
  opacity:0;transform:translateY(8px);transition:opacity .22s,transform .22s}
.gc-go svg.ico{width:13px;height:13px}
.gc-card:hover .gc-go,.gc-card:focus-visible .gc-go{opacity:1;transform:none}
.gc-body{display:flex;flex-direction:column;gap:4px;padding:12px 14px 14px;min-width:0}
.gc-name{font-size:.98rem;font-weight:800;color:var(--gc-ink)}
.gc-desc{font-size:.76rem;color:var(--gc-ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gc-meta{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;margin-top:5px;font-size:.72rem;color:var(--gc-ink3)}
.gc-meta span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.gc-meta svg.ico{width:13px;height:13px}
.gc-meta .hi{color:#ffd88a;font-weight:700}
.gc-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:70px 20px;text-align:center;font-size:.84rem;color:var(--gc-ink3)}
.gc-empty svg.ico{width:46px;height:46px;color:var(--gc-accent);opacity:.6;margin-bottom:4px}
.gc-empty b{font-size:1rem;color:var(--gc-ink2)}

/* ══ 浅色主题 ══ */
body.theme-light #gc-root{--gc-ink:#2a1520;--gc-ink2:rgba(74,32,56,.8);--gc-ink3:rgba(122,64,96,.62);
  --gc-panel:rgba(255,255,255,.7);--gc-line:rgba(210,80,120,.22);--gc-line2:rgba(160,80,120,.14);
  --gc-accent:#e8507a;--gc-card:rgba(255,255,255,.86);--gc-soft:rgba(255,255,255,.6)}
body.theme-light .gc-bg{background:
    radial-gradient(55% 45% at 10% -5%,rgba(255,150,190,.35),transparent 70%),
    radial-gradient(45% 40% at 96% 8%,rgba(190,160,255,.3),transparent 70%),
    linear-gradient(180deg,#fff4f9 0%,#fde9f1 60%,#fbe0ec 100%)}
body.theme-light .gc-bg::after{background-image:radial-gradient(rgba(200,80,120,.09) 1px,transparent 1.5px)}
body.theme-light .gc-head{background:linear-gradient(180deg,rgba(255,246,250,.92),rgba(255,246,250,.66))}
body.theme-light .gc-search:focus-within{background:#fff;border-color:rgba(232,80,122,.5);box-shadow:0 0 0 3px rgba(232,80,122,.12)}
body.theme-light .gc-search input::-webkit-search-cancel-button{filter:none}
body.theme-light .gc-x:hover,body.theme-light .gc-cont:hover,body.theme-light .gc-tab:hover{background:#fff}
body.theme-light .gc-tabs{background:linear-gradient(180deg,rgba(254,238,245,.96) 72%,rgba(254,238,245,0))}
body.theme-light .gc-tab i{background:rgba(160,80,120,.1)}
body.theme-light .gc-card{box-shadow:0 8px 22px rgba(180,80,120,.12)}
body.theme-light .gc-card:hover,body.theme-light .gc-card:focus-visible{box-shadow:0 16px 36px rgba(180,80,120,.2),0 0 0 1px color-mix(in srgb,var(--acc) 40%,transparent)}
body.theme-light .gc-art{background:radial-gradient(90% 80% at 75% 12%,rgba(255,255,255,.75),transparent 60%),linear-gradient(135deg,var(--l1),var(--l2))}
body.theme-light .gc-card.classic .gc-art::before{background-image:radial-gradient(rgba(255,255,255,.55) 1px,transparent 1.5px)}
body.theme-light .gc-card.table .gc-art::before{background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.35) 0 2px,transparent 2px 14px)}
body.theme-light .gc-art::after{background:linear-gradient(0deg,rgba(120,40,80,.12),transparent)}
body.theme-light .gc-art-ico svg.gico{filter:drop-shadow(0 8px 14px rgba(120,40,80,.25))}
body.theme-light .gc-meta .hi{color:#b45309}
body.theme-light .gc-side{box-shadow:0 10px 30px rgba(180,80,120,.1)}

/* ══ 平板：继续游戏挪到轮播下面，横向排 ══ */
@media (max-width:1024px){
  .gc-hero{grid-template-columns:minmax(0,1fr)}
  .gc-side{display:grid;grid-template-columns:minmax(0,1fr) 260px;grid-template-rows:auto 1fr;column-gap:14px}
  .gc-side-hd{grid-column:1 / 3}
  .gc-conts{flex-direction:row;overflow-x:auto;scrollbar-width:none}
  .gc-conts::-webkit-scrollbar{display:none}
  .gc-cont{flex:0 0 220px}
  .gc-stats{align-self:stretch}
}
/* ══ 手机 ══ */
@media (max-width:700px){
  .gc-head{flex-wrap:wrap;gap:10px 12px;padding:max(10px,env(safe-area-inset-top)) 14px 10px}
  .gc-logo{width:36px;height:36px;border-radius:11px}
  .gc-logo svg.ico{width:20px;height:20px}
  .gc-brand-tx h1{font-size:1.08rem}
  .gc-brand-tx span{display:none}
  .gc-me{margin-left:auto}
  .gc-me-tx{display:none}
  .gc-me-guest{font-size:0;gap:0}
  .gc-me-guest svg.ico{width:20px;height:20px}
  .gc-x{width:36px;height:36px}
  .gc-search{order:3;flex:1 0 100%;max-width:none;height:40px}
  .gc-search kbd{display:none}
  .gc-wrap{padding:14px 12px calc(28px + env(safe-area-inset-bottom))}
  #gc-root.with-tabbar .gc-wrap{padding-bottom:24px}
  .gc-hero{gap:12px}
  .gc-spot{min-height:438px;border-radius:22px}
  .gc-slide{grid-template-columns:1fr;grid-template-rows:170px auto;align-items:start;padding:18px 20px 40px;gap:4px}
  .gc-slide-art{grid-row:1;height:170px}
  .gc-slide-art svg{width:170px}
  .gc-slide::before{right:50%;top:22%;width:70%;transform:translate(50%,-50%)}
  .gc-slide-tx{grid-row:2}
  .gc-slide h2{margin:8px 0 6px;font-size:1.9rem;letter-spacing:4px}
  .gc-slide p{font-size:.82rem;line-height:1.6;margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .gc-chips{margin-bottom:14px}
  .gc-btn{height:42px;padding:0 20px;font-size:.9rem}
  .gc-dots{right:18px;bottom:14px}
  .gc-arrow{display:none}
  .gc-side{display:flex;padding:14px;border-radius:22px}
  .gc-cont{flex:0 0 200px}
  .gc-tabs{margin:10px -12px 0;padding:10px 12px 8px}
  .gc-tab{height:34px;padding:0 12px;font-size:.8rem}
  .gc-grid,.gc-sec.big .gc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .gc-sec.big .gc-art{aspect-ratio:16 / 10}
  .gc-sec.big .gc-art-ico svg.gico,.gc-sec.big .gc-art-glow svg.gico{width:58px;height:58px}
  .gc-sec + .gc-sec{margin-top:22px}
  .gc-card{border-radius:16px}
  .gc-art-ico svg.gico,.gc-art-glow svg.gico{width:58px;height:58px}
  .gc-tags{left:7px;top:7px}
  .gc-tag{height:18px;padding:0 6px;font-size:.58rem}
  .gc-body{padding:9px 10px 11px;gap:3px}
  .gc-name{font-size:.9rem}
  .gc-desc{font-size:.7rem}
  .gc-meta{font-size:.66rem;gap:2px 8px}
}
/* 触屏没有悬停：收藏按钮常显，「开始」按钮不用 */
@media (hover:none){
  .gc-fav{opacity:.9}
  .gc-go{display:none}
  .gc-card:hover{transform:none}
}
@media (prefers-reduced-motion:reduce){
  #gc-root.open,#gc-root.closing,.gc-card,.gc-slide.on .gc-slide-tx > *,.gc-slide.on .gc-slide-art svg{animation:none}
  .gc-slide,.gc-card,.gc-art-ico{transition:none}
}

/* 手机底部标签栏露在游戏中心下面：加一道分隔 */
#gc-root.with-tabbar{border-bottom:1px solid var(--gc-line2)}
