/* Ice Breaking Game — โทนเข้มอ่านง่ายบนโปรเจกเตอร์ และสีกลุ่มเด่นบนมือถือ */
:root{
  --bg1:#071233; --bg2:#0d1f5c; --navy:#03277f;
  --ink:#ffffff; --ink-2:rgba(255,255,255,.72); --ink-3:rgba(255,255,255,.5);
  --glass:rgba(255,255,255,.07); --glass-2:rgba(255,255,255,.12); --line:rgba(255,255,255,.14);
  --gold:#ffc83d; --green:#2fd27a; --red:#ff5a5f; --sky:#53b8ff;
  --opt0:#e53950; --opt1:#1f7ae0; --opt2:#e9a400; --opt3:#22a35a;
  --radius:18px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body.game{
  font-family:"IBM Plex Sans Thai",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100dvh;
  background:radial-gradient(1200px 700px at 15% -10%,#1b3aa0 0%,transparent 60%),
             radial-gradient(900px 600px at 110% 110%,#4b1d8f 0%,transparent 55%),
             linear-gradient(160deg,var(--bg1),var(--bg2));
  background-attachment:fixed;
}
.hidden{display:none !important}
.display{font-family:"Kanit","IBM Plex Sans Thai",sans-serif}
a{color:inherit}
button{font:inherit;color:inherit}

/* ── ปุ่ม ── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border:1px solid var(--line);background:var(--glass-2);color:#fff;
  padding:10px 16px;border-radius:12px;font-weight:600;font-size:15px;cursor:pointer;
  transition:transform .1s,background .15s,border-color .15s,opacity .15s;text-decoration:none;
  -webkit-tap-highlight-color:transparent;
}
.btn:hover:not(:disabled){background:rgba(255,255,255,.2)}
.btn:active:not(:disabled){transform:scale(.97)}
.btn:disabled{opacity:.45;cursor:default}
.btn.primary{background:linear-gradient(135deg,#ffcf4a,#ff9f1c);color:#2a1700;border-color:transparent}
.btn.primary:hover:not(:disabled){background:linear-gradient(135deg,#ffd866,#ffad3a)}
.btn.ok{background:var(--green);color:#03351a;border-color:transparent}
.btn.danger{background:rgba(255,90,95,.18);border-color:rgba(255,90,95,.5)}
.btn.ghost{background:transparent}
.btn.sm{padding:6px 11px;font-size:13px;border-radius:9px}
.btn.big{padding:16px 26px;font-size:19px;border-radius:16px}
.btn.block{width:100%}

/* ── กล่อง/ฟอร์ม ── */
.panel{background:var(--glass);border:1px solid var(--line);border-radius:var(--radius);padding:18px;backdrop-filter:blur(6px)}
.panel h3{margin:0 0 12px;font-size:16px}
label.f{display:block;font-size:13px;color:var(--ink-2);margin:12px 0 6px;font-weight:600}
input.in,select.in,textarea.in{
  width:100%;padding:11px 13px;border-radius:11px;border:1px solid var(--line);
  background:rgba(0,0,0,.25);color:#fff;font:inherit;font-size:16px;
}
select.in option{color:#111}
input.in:focus,select.in:focus,textarea.in:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(255,200,61,.25)}
input.in.bad{border-color:var(--red);box-shadow:0 0 0 3px rgba(255,90,95,.25)}
.seg{display:flex;background:rgba(0,0,0,.25);border:1px solid var(--line);border-radius:12px;padding:4px;gap:4px}
.seg button{flex:1;border:0;background:transparent;padding:8px 10px;border-radius:9px;cursor:pointer;font-weight:600;font-size:14px;color:var(--ink-2)}
.seg button.on{background:#fff;color:#0d1f5c}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.muted{color:var(--ink-2)}
.small{font-size:13px}
.msg{margin-top:10px;font-size:14px;padding:9px 12px;border-radius:10px;background:rgba(255,255,255,.08)}
.msg:empty{display:none}
.msg.err{background:rgba(255,90,95,.16);border:1px solid rgba(255,90,95,.45)}
.switch{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;margin:10px 0}
.switch input{width:20px;height:20px;accent-color:var(--gold)}

/* ── แถบบน ── */
.top{display:flex;align-items:center;gap:14px;padding:12px 22px;border-bottom:1px solid var(--line);background:rgba(4,10,35,.35);position:sticky;top:0;z-index:20;backdrop-filter:blur(8px)}
.top .brand{font-family:"Kanit",sans-serif;font-weight:600;font-size:20px;letter-spacing:.02em;white-space:nowrap}
.top .brand b{color:var(--gold)}
.top .grow{flex:1}
.code-pill{font-family:"Kanit",sans-serif;font-size:18px;background:#fff;color:#0d1f5c;border-radius:10px;padding:2px 12px;letter-spacing:.18em;font-weight:700}

/* ── ป้ายกลุ่ม ── */
.lbl{display:inline-flex;flex-direction:column;align-items:center;gap:4px;text-align:center}
.lbl-emoji{font-size:34px;line-height:1.1}
.lbl-th{font-weight:700;font-size:18px;line-height:1.25}
.lbl-en{font-size:12px;color:var(--ink-2)}
.lbl-img.flag{height:42px;border-radius:5px;box-shadow:0 2px 8px rgba(0,0,0,.35)}
.lbl-img.photo{width:100%;max-width:220px;aspect-ratio:3/2;object-fit:cover;border-radius:10px}
.lbl-swatch{width:46px;height:46px;border-radius:50%;border:3px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.35)}
.lbl.big .lbl-emoji{font-size:min(34vw,170px)}
.lbl.big .lbl-th{font-size:clamp(34px,11vw,64px);font-family:"Kanit",sans-serif;font-weight:600;text-shadow:0 3px 18px rgba(0,0,0,.35)}
.lbl.big .lbl-en{font-size:18px;color:rgba(255,255,255,.88)}
.lbl.big .lbl-img.flag{height:auto;width:min(78vw,380px);border-radius:10px}
.lbl.big .lbl-img.photo{max-width:min(86vw,460px);border-radius:16px}
.lbl.big .lbl-swatch{width:min(52vw,230px);height:min(52vw,230px);border-width:6px}
.team-chip{display:inline-flex;align-items:center;gap:6px;background:var(--c);color:#fff;border-radius:999px;padding:3px 12px;font-weight:700;font-size:14px;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.3)}
.team-chip .dot{width:12px;height:12px;border-radius:50%;border:2px solid #fff}

/* ── นับถอยหลัง 3-2-1 ── */
.cd{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:60;background:rgba(4,10,35,.75);backdrop-filter:blur(4px)}
.cd span{font-family:"Kanit",sans-serif;font-size:min(48vw,320px);font-weight:700;color:var(--gold);animation:cdpop .9s ease-out both;text-shadow:0 10px 60px rgba(255,200,61,.5)}
@keyframes cdpop{0%{transform:scale(.3);opacity:0}30%{transform:scale(1.1);opacity:1}100%{transform:scale(1);opacity:1}}
.toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);background:#fff;color:#0d1f5c;padding:10px 18px;border-radius:12px;font-weight:600;z-index:80;box-shadow:0 10px 30px rgba(0,0,0,.35);max-width:92vw;text-align:center}
.net-bad{position:fixed;top:0;left:0;right:0;background:var(--red);color:#fff;text-align:center;font-size:13px;padding:4px;z-index:90}

/* ── อันดับ/คะแนน ── */
.score-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.score-list li{display:flex;align-items:center;gap:12px;background:var(--glass);border:1px solid var(--line);border-radius:12px;padding:8px 12px}
.score-list .pos{font-family:"Kanit",sans-serif;font-size:20px;width:30px;text-align:center;color:var(--ink-2)}
.score-list li:nth-child(1) .pos{color:var(--gold)}
.score-list .pts{margin-left:auto;font-family:"Kanit",sans-serif;font-size:20px;font-weight:600}
.podium{display:flex;align-items:flex-end;justify-content:center;gap:16px;margin:10px 0 24px}
.podium .step{display:flex;flex-direction:column;align-items:center;gap:8px}
.podium .block{width:150px;border-radius:14px 14px 0 0;display:flex;align-items:flex-start;justify-content:center;padding-top:10px;font-family:"Kanit",sans-serif;font-size:42px;font-weight:700;color:#0d1f5c}
.podium .p1 .block{height:170px;background:linear-gradient(#ffe27a,#ffbf1a)}
.podium .p2 .block{height:120px;background:linear-gradient(#f2f4f8,#c3c9d6)}
.podium .p3 .block{height:90px;background:linear-gradient(#f3c39c,#d8894f)}

/* ═════════════ จอผู้จัด ═════════════ */
.host-main{padding:22px;max-width:1600px;margin:0 auto}
.lobby{display:grid;grid-template-columns:330px 1fr 380px;gap:20px;align-items:start}
.lobby.no-settings{grid-template-columns:330px 1fr}
.qr-box{background:#fff;color:#0d1f5c;border-radius:22px;padding:18px;text-align:center}
.qr-box .qr{width:100%;aspect-ratio:1}
.qr-box .qr svg,.qr-box .qr img{width:100%;height:100%;display:block}
.qr-box .url{font-size:14px;margin-top:6px;word-break:break-all;color:#334}
.qr-box .big-code{font-family:"Kanit",sans-serif;font-size:54px;font-weight:700;letter-spacing:.2em;line-height:1.1;margin-top:4px}
.count-big{font-family:"Kanit",sans-serif;font-size:56px;font-weight:700;line-height:1}
.names{display:flex;flex-wrap:wrap;gap:10px;align-content:flex-start;min-height:200px}
.name-chip{background:#fff;color:#0d1f5c;border:0;border-radius:999px;padding:8px 16px;font-weight:700;font-size:clamp(15px,1.4vw,20px);animation:pop .35s ease-out both;cursor:pointer}
.name-chip.off{opacity:.45}
.name-chip:hover{outline:3px solid var(--gold)}
@keyframes pop{0%{transform:scale(.4);opacity:0}70%{transform:scale(1.08)}100%{transform:scale(1);opacity:1}}
.empty-hint{color:var(--ink-3);font-size:20px;padding:40px 0;text-align:center;width:100%}
.lobby>.qr-box{position:sticky;top:84px}
.lobby>.settings{position:sticky;top:84px;max-height:calc(100dvh - 104px);overflow:auto;padding-bottom:0}
.settings .start-bar{position:sticky;bottom:0;margin:14px -18px 0;padding:12px 18px 16px;background:linear-gradient(transparent,rgba(9,20,62,.96) 30%)}
.settings .cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.settings .cat{border:1px solid var(--line);background:rgba(0,0,0,.2);border-radius:10px;padding:6px 4px;cursor:pointer;font-size:12.5px;text-align:center;line-height:1.3}
.settings .cat b{display:block;font-size:20px;font-weight:400}
.settings .cat.on{background:#fff;color:#0d1f5c;border-color:#fff}
.preview{margin-top:12px;padding:10px 12px;border-radius:12px;background:rgba(255,200,61,.12);border:1px solid rgba(255,200,61,.35);font-size:14px}
.role-row{display:flex;align-items:center;gap:6px;margin-bottom:6px}
.role-row input.in{padding:7px 9px;font-size:14px}
.role-row .em{width:52px;text-align:center}
.role-row .nm{flex:1}
.role-row .btn{padding:6px 8px}
.preset-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}

.timer-wrap{display:flex;flex-direction:column;align-items:center;gap:8px;margin:6px 0 18px}
.timer-big{font-family:"Kanit",sans-serif;font-size:min(16vw,150px);font-weight:700;line-height:1;letter-spacing:.02em;transition:color .3s}
.timer-big.warn{color:var(--gold)}
.timer-big.hot{color:var(--red);animation:pulse 1s infinite}
@keyframes pulse{50%{transform:scale(1.05)}}
.tbar{width:min(900px,90%);height:12px;border-radius:99px;background:rgba(255,255,255,.12);overflow:hidden}
.tbar i{display:block;height:100%;background:linear-gradient(90deg,var(--green),var(--gold),var(--red));border-radius:99px;transition:width .25s linear}
.timer-wrap.compact{flex-direction:row;justify-content:center;gap:18px;margin:0 0 16px}
.timer-wrap.compact .timer-big{font-size:52px}
.timer-wrap.compact .tbar{width:min(640px,60%)}
.ctrl{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:12px 0}

.group-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.group-card{border-radius:var(--radius);overflow:hidden;background:var(--glass);border:1px solid var(--line);animation:pop .4s ease-out both}
.group-card .gh{background:var(--c);padding:14px;display:flex;flex-direction:column;align-items:center;gap:6px;position:relative}
.group-card .gh .rank{position:absolute;top:8px;right:10px;background:#fff;color:#0d1f5c;border-radius:99px;padding:1px 10px;font-weight:700;font-size:13px}
.group-card ul{list-style:none;margin:0;padding:10px 14px 14px;display:flex;flex-direction:column;gap:5px}
.group-card li{display:flex;align-items:center;gap:8px;font-size:15px}
.group-card li .r{font-size:18px;width:24px;text-align:center}
.group-card li.off{opacity:.5}
.group-card .prog{padding:10px 14px;font-size:14px;color:var(--ink-2)}
.group-card.done .gh::after{content:"✓ ครบแล้ว";position:absolute;left:10px;top:8px;background:var(--green);color:#03351a;border-radius:99px;padding:1px 10px;font-weight:700;font-size:13px}

.hub{display:grid;grid-template-columns:1fr 360px;gap:20px;align-items:start}
.game-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.game-card{background:var(--glass);border:1px solid var(--line);border-radius:var(--radius);padding:18px;display:flex;flex-direction:column;gap:8px}
.game-card .gi{font-size:44px;line-height:1}
.game-card h3{margin:0;font-size:21px;font-family:"Kanit",sans-serif;font-weight:600}
.game-card p{margin:0;color:var(--ink-2);font-size:14px}
.game-card .opts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px}
.game-card .opts label{font-size:12px;color:var(--ink-2)}
.game-card .opts .in{padding:7px 9px;font-size:14px}
.game-card .opts .full{grid-column:1/-1}
.game-card .btn{margin-top:auto}
.checks{display:flex;gap:12px;flex-wrap:wrap;font-size:14px}
.checks label{display:flex;gap:5px;align-items:center;color:#fff !important;font-size:14px !important}

/* เกมบนจอใหญ่ */
.stage-title{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.stage-title h2{margin:0;font-family:"Kanit",sans-serif;font-size:30px;font-weight:600}
.stage-title .sub{color:var(--ink-2);font-size:16px}
.q-wrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:22px;align-items:center}
.q-img{width:100%;max-height:52vh;object-fit:contain;border-radius:18px;background:rgba(0,0,0,.25);transition:filter .4s linear}
.q-img.flag{max-height:40vh;object-fit:contain;background:transparent;filter:drop-shadow(0 12px 30px rgba(0,0,0,.45))}
.q-prompt{font-family:"Kanit",sans-serif;font-size:clamp(26px,3vw,44px);font-weight:600;margin:0 0 16px;line-height:1.2}
.opt-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.opt{display:flex;align-items:center;gap:12px;border-radius:16px;padding:16px 18px;font-size:clamp(17px,1.7vw,26px);font-weight:700;border:0;cursor:pointer;color:#fff;text-align:left;min-height:74px;text-shadow:0 1px 3px rgba(0,0,0,.3)}
.opt .k{font-family:"Kanit",sans-serif;background:rgba(255,255,255,.25);border-radius:10px;width:42px;height:42px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:24px}
.opt.o0{background:var(--opt0)}.opt.o1{background:var(--opt1)}.opt.o2{background:var(--opt2)}.opt.o3{background:var(--opt3)}
.opt.dim{opacity:.28}
.opt.right{outline:5px solid #fff;box-shadow:0 0 0 9px rgba(47,210,122,.55)}
.team-status{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.team-status .team-chip{opacity:.35;transition:opacity .2s,transform .2s}
.team-status .team-chip.lit{opacity:1;transform:scale(1.06)}
.ans-table{width:100%;border-collapse:collapse;font-size:17px}
.ans-table td,.ans-table th{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left}
.ans-table th{font-size:13px;color:var(--ink-2);font-weight:600}
.good{color:var(--green)} .bad{color:var(--red)}
.credit{font-size:11px;color:var(--ink-3);margin-top:6px}

.pz-img{width:100%;max-height:64vh;object-fit:contain;border-radius:16px}
.pz-hidden{height:46vh;border-radius:16px;border:2px dashed var(--line);display:flex;align-items:center;justify-content:center;font-size:28px;color:var(--ink-2);text-align:center;padding:20px}
.prog-list{display:flex;flex-direction:column;gap:8px}
.prog-row{display:flex;align-items:center;gap:10px}
.prog-row .bar{flex:1;height:14px;background:rgba(255,255,255,.12);border-radius:99px;overflow:hidden}
.prog-row .bar i{display:block;height:100%;background:var(--c);transition:width .3s}

.auc{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:22px;align-items:start}
.item-hero{text-align:center;padding:26px}
.item-hero .emo{font-size:min(20vw,170px);line-height:1.1}
.item-hero h2{font-family:"Kanit",sans-serif;font-size:clamp(28px,3.2vw,48px);margin:6px 0}
.price-now{font-family:"Kanit",sans-serif;font-size:clamp(54px,7vw,110px);font-weight:700;color:var(--gold);line-height:1}
.hammer-cd{font-family:"Kanit",sans-serif;font-size:34px;font-weight:700;color:var(--red);min-height:46px}
.money-list li .pts{font-size:18px}
.bid-feed{list-style:none;margin:10px 0 0;padding:0;font-size:14px;color:var(--ink-2)}
.reveal-val{font-family:"Kanit",sans-serif;font-size:clamp(40px,5vw,80px);font-weight:700}

.mk-table{width:100%;border-collapse:collapse;font-size:16px}
.mk-table th,.mk-table td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:right}
.mk-table th:first-child,.mk-table td:first-child{text-align:left}
.mk-table th{font-size:12.5px;color:var(--ink-2);font-weight:600}
.event-box{border-radius:14px;padding:14px 18px;background:linear-gradient(135deg,rgba(255,200,61,.22),rgba(255,90,95,.2));border:1px solid rgba(255,200,61,.5);margin-bottom:14px}
.event-box b{font-size:20px;display:block}
.chart{width:100%;height:auto;background:rgba(0,0,0,.18);border-radius:14px}

@media (max-width:1100px){
  .lobby,.lobby.no-settings{grid-template-columns:1fr}
  .lobby>.qr-box,.lobby>.settings{position:static;max-height:none}
  .hub,.auc,.q-wrap{grid-template-columns:1fr}
  .game-cards{grid-template-columns:1fr}
}

/* ═════════════ มือถือผู้เล่น ═════════════ */
.phone{min-height:100dvh;display:flex;flex-direction:column;max-width:560px;margin:0 auto;padding:16px}
.phone .ph-top{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-2);margin-bottom:10px}
.phone .ph-top .grow{flex:1}
.phone h1{font-family:"Kanit",sans-serif;font-size:30px;margin:8px 0 4px;font-weight:600}
.center{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:10px}
.big-check{width:96px;height:96px;border-radius:50%;background:var(--green);color:#03351a;display:flex;align-items:center;justify-content:center;font-size:56px;animation:pop .4s both}
.sugs{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}

.cardfull{position:fixed;inset:0;display:flex;flex-direction:column;background:var(--c,#1b2a6b);overflow:hidden}
.cardfull.neutral{background:linear-gradient(160deg,#1b2a6b,#2f1b6b)}
.cardfull.frame{box-shadow:inset 0 0 0 10px var(--c)}
.cardfull .tline{height:8px;background:rgba(0,0,0,.25)}
.cardfull .tline i{display:block;height:100%;background:#fff;transition:width .25s linear}
.cardfull .tline.hot i{background:var(--gold)}
.cardfull .cbody{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 18px 18px;gap:10px;text-align:center;min-height:0}
.cardfull .ttxt{position:absolute;top:14px;right:16px;font-family:"Kanit",sans-serif;font-size:20px;font-weight:600;background:rgba(0,0,0,.25);border-radius:10px;padding:0 10px}
.cardfull .hint-top{font-size:15px;color:rgba(255,255,255,.88)}
.cardfull .cfoot{padding:12px 16px calc(14px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:10px;background:rgba(0,0,0,.2)}
.role-banner{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.95);color:#1a1a2e;border-radius:14px;padding:10px 14px;text-align:left;animation:pop .5s .4s both}
.role-banner .re{font-size:30px}
.role-banner b{display:block;font-size:17px}
.role-banner span{font-size:13px;color:#4a4f66}
.found-btn{padding:16px;border-radius:14px;border:0;font-size:19px;font-weight:700;cursor:pointer;background:#fff;color:#0d1f5c}
.found-btn.on{background:var(--green);color:#03351a}
.piece{position:relative;width:100%;flex:1;border-radius:14px;background-repeat:no-repeat;box-shadow:0 0 0 4px rgba(255,255,255,.85);min-height:200px}
.piece-no{position:absolute;top:10px;left:10px;background:#fff;color:#0d1f5c;font-family:"Kanit",sans-serif;font-weight:700;border-radius:10px;padding:2px 12px;font-size:22px}
.star-piece{font-size:110px}

.team-head{border-radius:16px;background:var(--c);padding:14px;text-align:center;margin-bottom:12px}
.member-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;text-align:left}
.member-list li{display:flex;gap:8px;align-items:center;background:var(--glass);border-radius:10px;padding:8px 12px}
.member-list li.me{outline:2px solid var(--gold)}
.member-list .r{width:24px;text-align:center}

/* ควิซบนมือถือ */
.pq-prompt{font-size:17px;font-weight:600;text-align:center;margin:4px 0 10px}
.popt-grid{display:grid;grid-template-columns:1fr;gap:10px}
.popt{position:relative;display:flex;align-items:center;gap:12px;padding:14px;border-radius:14px;border:0;color:#fff;font-weight:700;font-size:18px;text-align:left;cursor:pointer;min-height:64px}
.popt.o0{background:var(--opt0)}.popt.o1{background:var(--opt1)}.popt.o2{background:var(--opt2)}.popt.o3{background:var(--opt3)}
.popt .k{font-family:"Kanit",sans-serif;background:rgba(255,255,255,.25);border-radius:9px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.popt.mine{outline:4px solid #fff;outline-offset:2px}
.popt .who{margin-left:auto;display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end;max-width:50%}
.popt .who span{background:rgba(0,0,0,.28);border-radius:99px;padding:1px 8px;font-size:12px;font-weight:600}
.popt:disabled{cursor:default}
.status-box{border-radius:14px;padding:12px 14px;background:var(--glass);border:1px solid var(--line);text-align:center;margin-top:10px}
.status-box.good{background:rgba(47,210,122,.18);border-color:rgba(47,210,122,.5);color:#fff}
.status-box.bad{background:rgba(255,90,95,.18);border-color:rgba(255,90,95,.5);color:#fff}

/* จิ๊กซอว์บนมือถือ */
.strip{width:100%;border-radius:8px;background-repeat:no-repeat;box-shadow:0 0 0 3px #fff;margin:8px 0 6px}
.pos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:8px}
.pos-grid button{padding:12px 0;border-radius:11px;border:1px solid var(--line);background:var(--glass-2);font-family:"Kanit",sans-serif;font-size:20px;font-weight:600;cursor:pointer}
.pos-grid button.on{background:var(--gold);color:#2a1700;border-color:var(--gold)}
.pos-grid button.taken{background:rgba(255,255,255,.04);color:var(--ink-3)}
.pos-grid button.clash{background:var(--red);border-color:var(--red)}
.piece-box{background:var(--glass);border:1px solid var(--line);border-radius:14px;padding:12px;margin-bottom:10px}
.piece-box.clash{border-color:var(--red)}

/* ประมูลบนมือถือ */
.hint-card{background:rgba(255,200,61,.14);border:1px dashed rgba(255,200,61,.7);border-radius:14px;padding:12px 14px;margin:10px 0}
.hint-card b{color:var(--gold)}
.bid-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}
.money-big{font-family:"Kanit",sans-serif;font-size:34px;font-weight:700}

/* ตลาดบนมือถือ */
.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.price-grid button{padding:14px 8px;border-radius:14px;border:1px solid var(--line);background:var(--glass-2);cursor:pointer;display:flex;flex-direction:column;align-items:center}
.price-grid button b{font-family:"Kanit",sans-serif;font-size:28px}
.price-grid button.on{background:#fff;color:#0d1f5c}

/* ═════════════ วิธีเล่น ═════════════ */
.rules-card{background:var(--glass);border:1px solid var(--line);border-radius:16px;padding:16px}
.rc-head{display:flex;align-items:center;gap:10px;font-size:20px;margin-bottom:6px}
.rc-icon{font-size:30px}
.rc-steps{margin:0;padding:0;list-style:none;counter-reset:st;display:flex;flex-direction:column;gap:8px}
.rc-steps li{counter-increment:st;display:flex;gap:10px;align-items:flex-start;line-height:1.45;font-size:15.5px}
.rc-steps li::before{content:counter(st);flex-shrink:0;width:26px;height:26px;border-radius:50%;background:var(--gold);color:#2a1700;
  font-family:"Kanit",sans-serif;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:15px;margin-top:1px}
.rules-card.compact .rc-steps li{font-size:14px}
.rc-win{margin-top:12px;padding:10px 12px;border-radius:12px;background:rgba(255,200,61,.14);border:1px solid rgba(255,200,61,.4);font-size:14.5px}
.help-sheet{position:fixed;inset:0;z-index:70;background:rgba(4,10,35,.7);backdrop-filter:blur(3px);display:flex;align-items:flex-end;justify-content:center}
.help-sheet .hs-box{width:100%;max-width:560px;max-height:88dvh;overflow:auto;background:#101d55;border-radius:20px 20px 0 0;padding:16px 16px calc(18px + env(safe-area-inset-bottom));border:1px solid var(--line)}
.hs-tabs{display:flex;gap:6px;overflow-x:auto;margin-bottom:12px;padding-bottom:2px}
.hs-tabs button{flex-shrink:0;border:1px solid var(--line);background:var(--glass);border-radius:999px;padding:6px 12px;font-size:13px;cursor:pointer;white-space:nowrap}
.hs-tabs button.on{background:#fff;color:#0d1f5c}
.help-fab{position:absolute;top:12px;left:14px;z-index:2;width:38px;height:38px;border-radius:50%;border:0;background:rgba(0,0,0,.28);font-size:18px;cursor:pointer}

/* จอใหญ่: หน้าอธิบายวิธีเล่นก่อนเริ่มเกม */
.rules-screen{position:fixed;inset:0;z-index:50;overflow:auto;padding:28px 32px 40px;
  background:radial-gradient(1000px 600px at 10% -10%,#1b3aa0 0%,transparent 60%),linear-gradient(160deg,#071233,#0d1f5c)}
.rs-in{max-width:1280px;margin:0 auto}
.rs-head{display:flex;align-items:center;gap:18px;margin-bottom:22px}
.rs-head .ic{font-size:72px;line-height:1}
.rs-head h2{margin:0;font-family:"Kanit",sans-serif;font-size:clamp(34px,4vw,58px);font-weight:600;line-height:1.1}
.rs-head .sub{color:var(--ink-2);font-size:18px}
.rs-steps{list-style:none;margin:0;padding:0;counter-reset:st;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.rs-steps li{counter-increment:st;display:flex;gap:16px;align-items:flex-start;background:var(--glass);border:1px solid var(--line);
  border-radius:18px;padding:18px 20px;font-size:clamp(18px,1.6vw,25px);line-height:1.45;animation:pop .4s both}
.rs-steps li::before{content:counter(st);flex-shrink:0;width:46px;height:46px;border-radius:50%;background:var(--gold);color:#2a1700;
  font-family:"Kanit",sans-serif;font-weight:700;font-size:26px;display:flex;align-items:center;justify-content:center}
.rs-win{margin-top:18px;padding:16px 20px;border-radius:16px;background:rgba(255,200,61,.16);border:1px solid rgba(255,200,61,.5);font-size:clamp(18px,1.6vw,24px)}
.rs-mc{margin-top:18px;background:rgba(0,0,0,.25);border:1px dashed var(--line);border-radius:16px;padding:12px 18px}
.rs-mc summary{cursor:pointer;font-weight:600;color:var(--ink-2)}
.rs-mc ol{margin:10px 0 4px;padding-left:22px;font-size:16px;line-height:1.6}
.rs-bar{display:flex;gap:12px;justify-content:center;margin-top:22px;flex-wrap:wrap}
@media (max-width:900px){ .rs-steps{grid-template-columns:1fr} }
