.game-page{min-height:70vh;padding:1.6rem 1rem 3rem;position:relative}.game-page-root{flex-direction:column;align-items:center;display:flex}.game-page .game-room{z-index:1;outline:none;flex-direction:column;align-items:center;width:100%;display:flex;position:relative}.game-page .game-room:focus,.game-page .game-room:focus-visible{outline:none}.game-page .dining{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.game-page .dining svg{width:100%;height:100%;display:block}.game-page .dining:after{content:"";background:radial-gradient(48% 58% at 50% 46%,#16211ae6 25%,#16211a8c 60%,#16211a26 100%);position:absolute;inset:0}.game-page .kh{transform-box:fill-box;transform-origin:50% 100%}.game-page .kh.bob{animation:game-bob var(--d,5s) ease-in-out var(--delay,0s) infinite}.game-page .kh.cheer{animation:.7s cubic-bezier(.3,.7,.3,1.4) game-cheer}@keyframes game-bob{0%,to{transform:rotate(0)}30%{transform:rotate(-2.5deg)}60%{transform:rotate(1.5deg)}}@keyframes game-cheer{0%,to{transform:translateY(0)}40%{transform:translateY(-9%)rotate(-3deg)}}.game-page .flame{animation:game-flicker var(--d,1.8s) ease-in-out infinite alternate;transform-box:fill-box;transform-origin:50% 100%}@keyframes game-flicker{0%{opacity:.75;transform:scaleY(.9)}50%{opacity:1;transform:scaleY(1.08)}to{opacity:.85;transform:scaleY(.95)skew(4deg)}}.game-page .game-head{text-align:center;flex-direction:column;align-items:center;margin-bottom:1.2rem;display:flex}.game-page .game-head h1{color:var(--ivory);text-shadow:0 3px #00000073;margin:.9rem 0 .35rem;font-size:clamp(2rem,8vw,4.4rem)}.game-page .game-head .tag{color:var(--ivory-muted);max-width:46ch;margin:0;font-size:clamp(1rem,2.4vw,1.18rem)}.game-page .hand{font-family:var(--hand);color:var(--gold-2);font-size:1.35rem;line-height:1.2}.game-page .game-head .hand{margin:.2rem 0 0;transform:rotate(-2deg)}.game-page .seating{border:1px solid var(--gold-deep);border-radius:var(--radius-1);background:var(--walnut-deep);max-width:100%;margin-bottom:.9rem;display:flex;overflow:hidden}.game-page .seating button,.game-page .seating button:hover{border:0;border-right:1px solid var(--gold-deep);color:var(--ivory-muted);cursor:pointer;text-align:left;min-width:0;box-shadow:none;filter:none;text-transform:none;letter-spacing:0;background:0 0;border-radius:0;padding:.55rem 1.1rem;font-size:.95rem;font-weight:400;line-height:1.2;display:block;transform:none}.game-page .seating button:hover{background:var(--walnut-2)}.game-page .seating button:last-child{border-right:0}.game-page .seating button b{font-family:var(--display);color:inherit;font-size:.95rem;font-weight:700;display:block}.game-page .seating button small{font-size:var(--fs-caption);opacity:.9}.game-page .seating button[aria-pressed=true]{background:var(--walnut-2);color:var(--gold-2);box-shadow:inset 0 0 0 1px var(--gold)}.game-page .options{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem .7rem;width:min(900px,100%);min-height:2.8rem;margin-bottom:.9rem;display:flex}.game-page .seg{border:1px solid var(--gold-deep);border-radius:var(--radius-1);background:var(--walnut-deep);display:flex;overflow:hidden}.game-page .seg button,.game-page .seg button:hover{border:0;border-right:1px solid var(--gold-deep);color:var(--ivory-muted);font:500 .95rem var(--editorial);text-transform:none;letter-spacing:0;cursor:pointer;box-shadow:none;filter:none;background:0 0;border-radius:0;padding:.35rem .8rem;display:inline-flex;transform:none}.game-page .seg button:hover{background:var(--walnut-2)}.game-page .seg button:last-child{border-right:0}.game-page .seg button[aria-pressed=true]{background:var(--walnut-2);color:var(--gold-2);box-shadow:inset 0 0 0 1px var(--gold)}.game-page .chip{min-height:var(--tap);border:1px solid var(--gold-deep);border-radius:var(--radius-1);cursor:pointer;color:var(--ivory-muted);background:var(--walnut-deep);-webkit-user-select:none;user-select:none;align-items:center;gap:.45rem;padding:.32rem .8rem;font-size:.95rem;display:inline-flex}.game-page .chip input{appearance:none;border:1px solid var(--gold);cursor:pointer;border-radius:2px;width:24px;height:24px;margin:0}.game-page .chip input:checked{background:var(--gold-2)}.game-page .chip:has(input:checked){color:var(--gold-2);background:var(--walnut-2)}.game-page .chip:focus-within{outline:3px solid var(--gold-2);outline-offset:3px}.game-page .chip input:focus-visible{outline:none}.game-page .daily-note{color:var(--ivory-muted);text-align:center;margin:0;font-size:1rem}.game-page .daily-note b{font-family:var(--mono);color:var(--gold-2);font-weight:700}.game-page .bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem 1.2rem;width:min(900px,100%);margin-bottom:1rem;display:flex}.game-page .ledger{background:var(--ivory-2);color:var(--ink);box-shadow:0 0 0 4px var(--walnut), 0 0 0 6px var(--walnut-deep), 0 10px 26px #00000073;border-radius:2px;flex-wrap:wrap;display:flex}.game-page .ledger div{border-right:1px solid var(--paper-line);text-align:center;min-width:4.6rem;padding:.3rem .8rem}.game-page .ledger div:last-child{border-right:0}.game-page .ledger small{font-size:var(--fs-caption);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted);display:block}.game-page .ledger b{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--oxblood);font-size:1.2rem;font-weight:700}.game-page .ledger b.urgent{color:#b3261e}.game-page .actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.game-page .go{font-weight:700;font-size:var(--fs-caption);letter-spacing:.18em;text-transform:uppercase;color:var(--ink);cursor:pointer;background:linear-gradient(180deg, var(--gold-2), var(--gold));border:1px solid var(--gold-deep);border-radius:var(--radius-1);box-shadow:var(--plaque-shadow), inset 0 1px 0 #ffffff59;font-family:var(--editorial);padding:.55rem 1rem}.game-page .go:hover{filter:brightness(1.07);box-shadow:var(--plaque-shadow), inset 0 1px 0 #ffffff59;transform:none}.game-page .go:active{box-shadow:none;transform:translateY(2px)}.game-page .go:disabled{opacity:.5;cursor:not-allowed}.game-page .strip-wrap{width:min(900px,100%);min-height:3.1rem;margin-bottom:1.1rem;position:relative}.game-page .strip{background:var(--walnut-deep);border:1px solid var(--gold-deep);border-radius:2px;align-items:center;gap:.9rem;min-height:3.1rem;padding:.45rem .8rem;display:flex;overflow:hidden}.game-page .strip .lbl{font-family:var(--hand);color:var(--gold-2);white-space:nowrap;font-size:1.25rem}.game-page .strip .txt{color:var(--ivory);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.95rem;line-height:1.3;overflow:hidden}.game-page .strip .txt em{color:var(--ivory-muted);font-style:normal}.game-page .note{font-family:var(--hand);color:var(--gold-2);background:var(--oxblood);border:1px solid var(--gold-deep);opacity:0;pointer-events:none;box-shadow:var(--plaque-shadow);white-space:nowrap;padding:.05rem .7rem;font-size:1.55rem;transition:opacity .25s,transform .35s cubic-bezier(.3,.7,.3,1.4);position:absolute;top:-1.3rem;right:.6rem;transform:rotate(3deg)scale(.6)}.game-page .note.show{opacity:1;transform:rotate(3deg)scale(1)}.game-page .tier{letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;border:1px solid;border-radius:2px;padding:0 .4rem;font-size:.82rem;font-weight:700;line-height:1.5;display:inline-block}.game-page .tier-common{color:var(--ivory-muted)}.game-page .tier-uncommon{color:var(--success-soft)}.game-page .tier-rare{color:#9cc9e0}.game-page .tier-epic{color:var(--btc)}.game-page .tier-legendary{color:var(--gold-2);box-shadow:0 0 10px #d4af5e73}.game-page .board{grid-template-columns:repeat(var(--cols,4), minmax(0, 1fr));gap:clamp(12px,2.4vw,26px);width:min(900px,100%);padding:6px;display:grid}.game-page .cardbtn,.game-page .cardbtn:hover{aspect-ratio:1;perspective:1000px;box-shadow:none;filter:none;cursor:pointer;min-width:0;transform:rotate(var(--tilt,0deg));background:0 0;border:0;border-radius:0;padding:0;transition:transform .3s;display:block}.game-page .cardbtn.done,.game-page .cardbtn.done:hover{cursor:default;transform:rotate(0)}.game-page .cardbtn:focus-visible{outline:3px solid var(--gold-2);outline-offset:6px}.game-page .cardbtn .inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .5s cubic-bezier(.3,.7,.3,1.15);display:block;position:relative}.game-page .cardbtn.up .inner,.game-page .cardbtn.done .inner{transform:rotateY(180deg)}.game-page .cardbtn .face{backface-visibility:hidden;box-shadow:0 0 0 4px var(--walnut), 0 0 0 6px var(--walnut-deep), 0 12px 24px #00000080;border-radius:2px;position:absolute;inset:0}.game-page .cardbtn .back{background:radial-gradient(circle at 50% 38%, var(--oxblood-2), var(--oxblood) 70%);place-items:center;display:grid}.game-page .cardbtn .back:before{content:"";border:1px solid #b98d438c;position:absolute;inset:9%;box-shadow:inset 0 0 0 3px #0000002e}.game-page .cardbtn .back svg{filter:drop-shadow(0 2px #00000073);width:46%;height:auto}.game-page .cardbtn:hover:not(.up):not(.done) .back{background:radial-gradient(circle at 50% 38%, #7a2d33, var(--oxblood) 70%)}.game-page .cardbtn .front{background:var(--ivory-2);padding:7%;line-height:0;transform:rotateY(180deg)}.game-page .cardbtn .portrait{width:100%;height:100%;display:block}.game-page .cardbtn .portrait svg{width:100%;height:100%;box-shadow:0 0 0 1px var(--paper-line);display:block}.game-page .caption{text-align:center;opacity:0;line-height:1.2;transition:opacity .3s .35s,transform .3s .35s;position:absolute;bottom:3%;left:7%;right:7%;transform:translateY(40%)}.game-page .caption span{background:linear-gradient(180deg, var(--gold-2), var(--gold));color:var(--ink);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--gold-deep);box-shadow:var(--plaque-shadow);max-width:100%;padding:.1rem .45rem;font-size:.8rem;font-weight:700;display:inline-block}.game-page .cardbtn.done .caption{opacity:1;transform:none}.game-page .cardbtn.done .face{box-shadow:0 0 0 5px var(--gold), 0 0 0 7px var(--gold-deep), 0 12px 26px #0000008c}.game-page .cardbtn.done.legendary .face{box-shadow:0 0 0 5px var(--gold-2), 0 0 0 7px var(--gold-deep), 0 0 30px #d4af5e8c}.game-page .cardbtn.miss .face{box-shadow:0 0 0 5px var(--oxblood-2), 0 0 0 7px #2a0d10, 0 12px 24px #00000080}.game-page .cardbtn.done.pop .inner{animation:.55s game-pop}@keyframes game-pop{0%{transform:rotateY(180deg)scale(1)}40%{transform:rotateY(180deg)scale(1.07)}to{transform:rotateY(180deg)scale(1)}}.game-page .board.closed .cardbtn:not(.done){filter:grayscale(.7)brightness(.6);cursor:default}.game-page .loading{text-align:center;color:var(--ivory-muted);grid-column:1/-1;padding:4rem 1rem;font-size:1.18rem}.game-page .loading .hand{margin-top:.2rem;display:block}.game-page .meter{background:var(--walnut-deep);border:1px solid var(--gold-deep);width:min(280px,80%);height:8px;margin:1rem auto 0;overflow:hidden}.game-page .meter i{background:linear-gradient(90deg, var(--gold), var(--gold-2));width:0;height:100%;transition:width .1s;display:block}.game-page .overlay{z-index:var(--z-veil);background:#080c09cc;place-items:center;padding:1rem;display:grid;position:fixed;inset:0;overflow:auto}.game-page .paper{background:var(--ivory-2);color:var(--ink);width:min(440px,100%);box-shadow:var(--frame-walnut-deep);margin:1rem 0;padding:1.6rem 1.5rem 1.4rem}.game-page .paper .hand{color:var(--oxblood-2);margin:0;font-size:1.5rem}.game-page .paper h2{color:var(--oxblood);margin:.1rem 0 .7rem;font-size:clamp(1.7rem,7vw,2.4rem);line-height:1.05}.game-page .lines{border-collapse:collapse;width:100%;margin-bottom:.6rem;font-size:1rem}.game-page .lines td{border-bottom:1px solid var(--paper-line);padding:.28rem 0}.game-page .lines td:last-child{font-family:var(--mono);text-align:right;white-space:nowrap;font-weight:700}.game-page .lines tr.total td{border-bottom:2px solid var(--ink);padding-top:.5rem;font-size:1.18rem}.game-page .lines tr.total td:first-child{font-family:var(--display);font-weight:700}.game-page .lines .neg{color:var(--oxblood-2)}.game-page .check{text-align:center;transform:rotate(-1deg)}.game-page .check .lines td:first-child{text-align:left}.game-page .meta{color:var(--ink-muted);margin:0 0 .8rem;font-size:.95rem}.game-page .btnrow{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.game-page .doors{z-index:var(--z-veil);perspective:1600px;background:#080604;place-items:center;padding:1rem;transition:opacity .5s .7s;display:grid;position:fixed;inset:0}.game-page .doors.opened{opacity:0;pointer-events:none}.game-page .frame{background:var(--walnut-deep);width:min(560px,92vw);height:min(720px,86vh);box-shadow:0 0 0 6px var(--walnut), 0 40px 80px #000;padding:14px 14px 0;display:flex;position:relative}.game-page .leaf{transform-style:preserve-3d;background:linear-gradient(90deg,#2e2016,#3a2a1d 50%,#2e2016);flex:1;grid-template-rows:1fr 1fr;gap:6%;padding:9% 11%;transition:transform 1s cubic-bezier(.5,0,.2,1);display:grid;position:relative}.game-page .leaf.l{transform-origin:0;border-right:1px solid var(--gold-deep)}.game-page .leaf.r{transform-origin:100%}.game-page .leaf i{background:radial-gradient(circle at 50% 30%, #4a2226, var(--oxblood) 75%);box-shadow:inset 0 0 0 2px #2a0d10,inset 0 0 30px #0000008c}.game-page .leaf:after{content:"";background:linear-gradient(90deg, var(--gold-deep), var(--gold-2), var(--gold-deep));border-radius:5px;width:9px;height:62px;position:absolute;top:58%}.game-page .leaf.l:after{right:12px}.game-page .leaf.r:after{left:12px}.game-page .doors.opened .leaf.l{transform:rotateY(-105deg)}.game-page .doors.opened .leaf.r{transform:rotateY(105deg)}.game-page .sign-door{text-align:center;z-index:2;width:90%;transition:opacity .3s;position:absolute;top:26%;left:50%;transform:translate(-50%)}.game-page .doors.opened .sign-door{opacity:0}.game-page .sign-house{color:var(--gold-2);letter-spacing:.2em;font-family:var(--display);margin:0;font-size:.82rem}.game-page .board-sign{font-family:var(--display);color:var(--ink);background:linear-gradient(180deg, #e6cd8a, var(--gold-2) 55%, var(--gold));border:2px solid var(--gold-deep);margin:.9rem 0 .8rem;padding:.35rem 1.1rem;font-size:clamp(1.4rem,5.5vw,2.25rem);font-weight:900;display:inline-block;box-shadow:0 8px 18px #000000a6}.game-page .sign-line{font-family:var(--display);color:var(--ivory-muted);letter-spacing:.06em;margin:0 0 1rem;font-size:clamp(.82rem,2.6vw,.95rem)}.game-page .sign-door .go{font-family:var(--display);letter-spacing:.08em;font-size:.95rem}.game-page .game-foot{color:var(--ivory-muted);text-align:center;max-width:52ch;margin:1.6rem 0 0;font-size:.95rem}.game-page .game-foot .hand{font-size:1.25rem}body:has(.game-page) .site-footer{z-index:1;position:relative}@media (max-width:560px){.game-page .board[data-size="12"]{grid-template-columns:repeat(4,minmax(0,1fr))}.game-page .bar{justify-content:center}.game-page .ledger div{min-width:3.6rem;padding:.25rem .45rem}.game-page .ledger b{font-size:1rem}.game-page .strip .lbl,.game-page .caption{display:none}}@media (max-width:400px){.game-page .seating{flex-direction:column;width:100%}.game-page .seating button{border-right:0;border-bottom:1px solid var(--gold-deep)}.game-page .seating button:last-child{border-bottom:0}.game-page .frame{height:min(640px,80vh)}}@media (prefers-reduced-motion:reduce){.game-page .kh.bob,.game-page .kh.cheer,.game-page .flame{animation:none}.game-page .cardbtn .inner,.game-page .cardbtn,.game-page .leaf,.game-page .note,.game-page .caption,.game-page .sign-door{transition:none}.game-page .cardbtn.done.pop .inner{animation:none}.game-page .doors{transition:opacity .2s}}@media (max-height:480px){.game-page .frame{height:min(720px,94vh);padding-top:8px}.game-page .sign-door{top:10%}.game-page .board-sign{margin:.4rem 0;font-size:clamp(1.2rem,4vh,1.8rem)}.game-page .sign-line{margin-bottom:.5rem}.game-page .leaf:after{height:40px;top:76%}}
