/* Play together */
.pt h1{font-family:var(--head);color:var(--navy);font-size:clamp(30px,7vw,42px);line-height:1.15;margin:0 0 14px}
.pt h2{font-family:var(--head);color:var(--navy);font-size:28px;margin:0 0 10px}
.pt label{display:block;font-weight:700;margin:6px 0 4px}
.pt input[type=text]{width:100%;min-height:64px;font-size:26px;padding:10px 16px;border:3px solid var(--line);border-radius:14px;background:#fff;margin:0 0 14px}
.pt input[type=text]:focus{border-color:var(--navy)}
.pt .pt-code-in{font-family:var(--head);font-size:36px;letter-spacing:10px;text-transform:uppercase;text-align:center;font-weight:700;color:var(--navy)}
.pt-small{font-size:19px}
.muted{color:var(--muted)}
.pt-btn{display:inline-flex;align-items:center;justify-content:center;min-height:64px;padding:10px 26px;border-radius:16px;border:3px solid var(--navy);background:var(--navy);color:#fff;font-size:23px;font-weight:700;text-decoration:none;cursor:pointer;text-align:center;line-height:1.2;touch-action:manipulation}
.pt-btn.plain{background:#fff;color:var(--navy)}
.pt-btn.big{min-height:76px;font-size:26px;padding:12px 34px;background:var(--gold);border-color:var(--gold);color:#fff}
.pt-btn.small{min-height:56px;font-size:20px;padding:8px 20px}
.pt-btn[disabled]{opacity:.55;cursor:default}
.pt-back{margin:0 0 6px;font-size:21px}
.pt-back a{display:inline-flex;align-items:center;min-height:52px;font-weight:700}
.pt-back a::before{content:"\2039";font-size:34px;margin-right:8px;line-height:1}
.pt-h1g{display:flex;align-items:center;gap:14px}
.pt-ico{flex:0 0 auto;width:60px;height:60px;border-radius:14px;background:var(--navy);display:inline-flex;align-items:center;justify-content:center}
.pt-ico svg{width:46px;height:46px}
.pt-ico-c4,.pt-ico-db{background:#2d5b8a}
.pt-ico-ck{background:#7a4b2a}
.pt-ico-tv{background:#1d5a5e}
.pt-games{display:grid;gap:12px;margin-top:8px}
.pt-game{display:flex;align-items:center;gap:16px;min-height:88px;padding:12px 16px;border:3px solid var(--line);border-radius:16px;background:var(--cream);text-decoration:none;color:var(--ink)}
.pt-game:hover,.pt-game:focus-visible{border-color:var(--navy)}
.pt-game b{display:block;font-size:25px;color:var(--navy)}
.pt-game span span{display:block;font-size:19px;color:var(--muted);line-height:1.35}
.pt-topics{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.pt-topic{width:100%;justify-content:flex-start;text-align:left}
.pt-invite{font-size:25px;font-weight:700;color:var(--navy);background:var(--cream);border:2px solid var(--gold);border-radius:14px;padding:14px 16px;margin:0 0 16px}
.pt-lobby{text-align:center}
.pt-lobby-l{font-size:22px;margin:0;color:var(--muted);font-weight:700}
.pt-codebig{display:flex;justify-content:center;gap:8px;margin:8px 0 16px}
.pt-codebig span{display:inline-flex;align-items:center;justify-content:center;width:clamp(50px,15vw,84px);height:clamp(66px,19vw,104px);border:3px solid var(--gold);border-radius:14px;background:var(--cream);font-family:var(--head);font-weight:700;font-size:clamp(38px,11vw,62px);color:var(--navy)}
.pt-share{display:grid;gap:10px;max-width:420px;margin:12px auto 0}
.pt-share .pt-btn{width:100%}
.pt-copied{font-size:19px;color:var(--sage);word-break:break-all;min-height:1em}
.pt-status{border-radius:16px;padding:16px 18px;margin:0 0 16px;font-size:clamp(24px,6.2vw,32px);font-weight:700;text-align:center;line-height:1.25}
.pt-status.mine{background:var(--gold-light);color:#1b1b1b;border:3px solid var(--gold)}
.pt-status.wait{background:#e9eef5;color:var(--navy);border:3px solid #c9d4e3}
.pt-status.wait::after{content:"\2026";display:inline-block;margin-left:.1em;animation:ptdots 1.6s ease-in-out infinite}
@keyframes ptdots{0%,100%{opacity:.25}50%{opacity:1}}
@media (prefers-reduced-motion:reduce){.pt-status.wait::after{animation:none;opacity:1}}
.pt-status.over{background:var(--sage-bg);color:var(--sage);border:3px solid #9cc7a5}
.pt-players{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;margin:0 0 12px;font-size:21px}
.pt-pl{display:inline-flex;align-items:center}
.pt-pl .pt-mk{margin-right:8px}
.pt-tally{flex-basis:100%;text-align:center;color:var(--muted);font-size:19px}
.pt-mk{display:inline-block;width:26px;height:26px;border-radius:50%}
.pt-mk-ttt{border-radius:0;width:auto;height:auto;font-weight:700;font-size:26px;line-height:1}
.pt-mk-ttt.s0{color:var(--navy)}.pt-mk-ttt.s1{color:#a3242f}
.pt-mk-c4.s0,.pt-mk-ck.s0{background:#b3202e}.pt-mk-c4.s1{background:#e0b020}.pt-mk-ck.s1{background:#1b1b1b}
.pt-mk-db.s0{background:#2d5b8a}.pt-mk-db.s1{background:var(--gold)}
.pt-board-wrap{margin:0 auto 16px;text-align:center}
.pt-tip{font-size:20px;color:var(--muted);margin:10px 0 0}
.pt-score{font-size:22px;font-weight:700;margin:10px 0 0}
.pt-ttt{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:min(100%,460px,60vh);margin:0 auto}
.pt-cell{aspect-ratio:1;border:3px solid var(--line);border-radius:16px;background:#fff;font-family:var(--head);font-weight:700;font-size:clamp(54px,17vw,110px);line-height:1;cursor:pointer;padding:0}
.pt-cell:not([disabled]):hover{border-color:var(--navy)}
.pt-cell.s0{color:var(--navy)}.pt-cell.s1{color:#a3242f}
.pt-cell.win{background:var(--gold-light);border-color:var(--gold)}
.pt-cell[disabled]{cursor:default}
.pt-c4{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;background:#2d5b8a;padding:8px;border-radius:16px;width:min(100%,620px,80vh);margin:0 auto}
.pt-col{display:grid;grid-template-rows:repeat(6,1fr);gap:4px;background:transparent;border:0;padding:3px;border-radius:10px;cursor:pointer}
.pt-col:not([disabled]):hover,.pt-col:focus-visible{background:rgba(255,255,255,.18)}
.pt-col[disabled]{cursor:default}
.pt-hole{display:block;aspect-ratio:1;border-radius:50%;background:var(--cream);box-shadow:inset 0 2px 4px rgba(0,0,0,.3)}
.pt-hole.s0{background:#b3202e}.pt-hole.s1{background:#e0b020}
.pt-hole.last{outline:4px solid #fff;outline-offset:-2px}
.pt-ck{display:grid;width:min(100%,640px,78vh);margin:0 auto;border:6px solid #5a3a20;border-radius:8px;aspect-ratio:1}
.pt-sq{aspect-ratio:1;border:0;padding:0;background:#f3e6c8;display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer}
.pt-sq.dk{background:#8a5a34}
.pt-sq[disabled]{cursor:default}
.pt-sq.last{box-shadow:inset 0 0 0 3px rgba(255,255,255,.55)}
.pt-sq.sel{box-shadow:inset 0 0 0 5px var(--gold-light)}
.pt-sq.go::after{content:"";width:38%;height:38%;border-radius:50%;background:var(--gold-light);border:3px solid #fff}
.pt-man{width:78%;height:78%;border-radius:50%;box-shadow:0 3px 0 rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center}
.pt-man.s0{background:#c22b37;border:3px solid #7d0f18}
.pt-man.s1{background:#222;border:3px solid #555}
.pt-man.king::after{content:"\265B";color:#f2c94c;font-size:clamp(16px,5vw,32px);line-height:1}
.pt-db{--dot:14px;display:grid;width:min(100%,520px,70vh);aspect-ratio:1;margin:0 auto;padding:6px}
.pt-dot{width:var(--dot);height:var(--dot);border-radius:50%;background:var(--navy)}
.pt-box{display:flex;align-items:center;justify-content:center;font-family:var(--head);font-weight:700;font-size:clamp(26px,8vw,44px);color:#fff;border-radius:4px;margin:4px}
.pt-box.s0{background:#2d5b8a}.pt-box.s1{background:var(--gold)}
.pt-ln{position:relative;border:0;padding:0;background:transparent;cursor:pointer}
.pt-ln::before{content:"";position:absolute;background:#cbbfa9;border-radius:6px}
.pt-ln.h::before{left:2px;right:2px;top:50%;height:8px;margin-top:-4px}
.pt-ln.v::before{top:2px;bottom:2px;left:50%;width:8px;margin-left:-4px}
.pt-ln::after{content:"";position:absolute;inset:-16px}
.pt-ln.h::after{inset:-18px 0}
.pt-ln.v::after{inset:0 -18px}
.pt-ln:not([disabled]):hover::before,.pt-ln:focus-visible::before{background:var(--gold-light)}
.pt-ln.on::before{height:12px;margin-top:-6px}
.pt-ln.v.on::before{width:12px;margin-left:-6px;height:auto}
.pt-ln.on.s0::before{background:#2d5b8a}.pt-ln.on.s1::before{background:var(--gold)}
.pt-ln.last::before{box-shadow:0 0 0 3px #fff,0 0 0 6px var(--gold-light)}
.pt-ln[disabled]{cursor:default}
.pt-topicline{font-size:20px;color:var(--muted);margin:0 0 4px}
.pt-qn{font-size:21px;font-weight:700;color:var(--muted);margin:0 0 6px}
.pt-q{font-family:var(--head);font-size:clamp(26px,6.5vw,34px);line-height:1.3;color:var(--navy);margin:0 0 16px;text-align:left}
.pt-answers{display:grid;gap:12px;text-align:left}
.pt-ans{display:flex;flex-direction:column;justify-content:center;min-height:76px;padding:12px 18px;border:3px solid var(--line);border-radius:16px;background:#fff;font-size:24px;font-weight:700;text-align:left;cursor:pointer;color:var(--ink)}
.pt-ans:not([disabled]):hover{border-color:var(--navy)}
.pt-ans.picked{border-color:var(--navy);background:#e9eef5}
.pt-ans[disabled]{cursor:default}
.pt-ans.right{border-color:var(--sage);background:var(--sage-bg);color:#1f4a28}
.pt-ans.wrong{border-color:#c9b7a8;background:#f6f1ea}
.pt-ans small{font-size:19px;font-weight:400;color:var(--muted)}
.pt-reveal{font-size:24px;font-weight:700;margin:16px 0 6px;text-align:left}
.pt-fact{font-size:21px;text-align:left;color:var(--muted);margin:0 0 6px}
.pt-final{font-size:28px;font-weight:700;color:var(--navy)}
.pt-foot{text-align:center}
.pt-foot .btns{justify-content:center}
.pt-wait{font-size:22px;font-weight:700;color:var(--navy);margin:8px 0}
.pt-away{background:var(--warn-bg);color:var(--warn);border-radius:14px;padding:12px 16px;font-size:20px}
.pt-endline{font-size:25px}
.pt-over-btns{align-items:center}
@media (min-width:900px){.pt{max-width:860px}}
@media (min-width:1400px){.pt{max-width:1100px}body{font-size:26px}.pt-status{font-size:38px}}
.pt-live .top .in{padding-top:max(8px,env(safe-area-inset-top));padding-bottom:8px}
.pt-live .top .logo{width:170px;margin:0 auto}
.pt-live .top nav{display:none}
.pt-live main{padding-top:14px}
.pt-col-name{color:var(--muted)}
.pt-col-name::before{content:", "}
.pt h1[tabindex="-1"]:focus{outline:none}
@media (min-width:1000px) and (min-height:600px){
.pt-ck{width:min(100%,calc(100vh - 320px),900px)}
.pt-c4{width:min(100%,calc((100vh - 320px) * 1.15),900px)}
.pt-ttt{width:min(100%,calc(100vh - 340px),620px)}
.pt-db{width:min(100%,calc(100vh - 360px),720px)}
}
.pt-sc{margin-left:.35em}
