/* 平台共用外殼樣式 v1 — 深色主題（與對對碰一致）。供首頁 hub 與各遊戲共用。
   ⚠️ immutable：破壞性改動請發 /sdk/v2/，舊遊戲 pin 舊版不被打爛。 */
:root{
  --pf-bg:#1c2230; --pf-bg2:#262d40; --pf-panel:#2e3650; --pf-ink:#eef2ff;
  --pf-muted:#9aa4c4; --pf-accent:#ffcf5c; --pf-good:#5fd38a; --pf-bad:#ff6b7d;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
[hidden]{display:none !important}
html,body{margin:0;min-height:100%}
body.pf{
  background:radial-gradient(120% 80% at 50% 0%, #2a3252 0%, var(--pf-bg) 60%);
  color:var(--pf-ink); font-family:-apple-system,"PingFang TC","Microsoft JhengHei",system-ui,sans-serif;
  min-height:100dvh; -webkit-text-size-adjust:100%;
}
.pf-wrap{max-width:560px; margin:0 auto; padding:max(16px,env(safe-area-inset-top)) 16px 40px}
.pf-btn{background:var(--pf-panel); color:var(--pf-ink); border:none; border-radius:12px;
  padding:9px 14px; font-size:14px; font-weight:700; cursor:pointer; text-decoration:none; display:inline-block}
.pf-btn:active{transform:scale(.96)}
.pf-btn.accent{background:var(--pf-accent); color:#33270a}
.pf-btn.tiny{padding:5px 10px; font-size:12px}

/* 頂部列：logo + 帳號 + 愛心 */
.pf-top{display:flex; align-items:center; gap:10px; margin-bottom:18px}
.pf-logo{font-weight:900; font-size:22px; letter-spacing:1px}
.pf-spacer{flex:1}
.pf-hearts{font-size:16px; letter-spacing:1px; min-height:18px}
.pf-hearts .full{color:var(--pf-bad)} .pf-hearts .empty{color:#ffffff2e}
.pf-hearts-status{font-size:11px; color:var(--pf-muted)}

/* 帳號 chip / 登入 */
#pf-account{display:flex; align-items:center; gap:8px}
#pf-account img{width:28px; height:28px; border-radius:50%}
#pf-account .nm{font-size:14px; max-width:120px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
#pf-gsi{min-height:40px; display:flex; justify-content:center}

/* 遊戲卡片清單 */
.pf-section-title{font-size:13px; color:var(--pf-muted); margin:6px 2px 10px; letter-spacing:1px}
.pf-games{display:grid; grid-template-columns:1fr 1fr; gap:12px}
@media(max-width:420px){ .pf-games{grid-template-columns:1fr} }
.pf-game{background:var(--pf-bg2); border-radius:16px; padding:18px 16px; text-decoration:none; color:var(--pf-ink);
  display:flex; flex-direction:column; gap:6px; box-shadow:0 8px 24px #0004; transition:transform .12s}
.pf-game:active{transform:scale(.98)}
.pf-game .emoji{font-size:34px; line-height:1}
.pf-game .t{font-size:17px; font-weight:800}
.pf-game .d{font-size:12px; color:var(--pf-muted)}
.pf-empty{color:var(--pf-muted); text-align:center; padding:40px 0}

/* footer / 合規連結 */
.pf-foot{margin-top:34px; padding-top:16px; border-top:1px solid #ffffff14;
  display:flex; gap:14px; flex-wrap:wrap; justify-content:center; font-size:12px}
.pf-foot a{color:var(--pf-muted); text-decoration:none}
.pf-foot a:hover{color:var(--pf-ink)}

/* toast（SDK 自建 #pf-toast）*/
#pf-toast{position:fixed; left:50%; bottom:40px; transform:translateX(-50%) translateY(20px);
  background:#000c; color:#fff; padding:10px 16px; border-radius:20px; font-size:14px;
  opacity:0; transition:.25s; z-index:60; pointer-events:none; max-width:90vw; text-align:center}
#pf-toast.show{opacity:1; transform:translateX(-50%) translateY(0)}

/* 合規文件頁（privacy / terms）*/
.pf-doc{max-width:720px; margin:0 auto; padding:max(20px,env(safe-area-inset-top)) 18px 60px; line-height:1.7}
.pf-doc h1{font-size:24px} .pf-doc h2{font-size:18px; margin-top:28px}
.pf-doc p,.pf-doc li{color:#d7dcf0; font-size:15px}
.pf-doc a{color:var(--pf-accent)}
.pf-doc .back{display:inline-block; margin-bottom:18px}
.pf-doc .muted{color:var(--pf-muted); font-size:13px}
