.spy-cover{background:#102538 url('/assets/games/spyfall-scene.webp') center/cover}
.hanabi-cover{background:#172538 url('/assets/games/hanabi-night.webp') center/cover}
.liars-cover{background:#102d36 url('/assets/games/liars-scene.webp') center/cover}
.cover-mark{position:absolute;bottom:12px;left:18px;font-size:25px;letter-spacing:.15em;color:#fff8e2;text-shadow:0 2px 8px #000;font-weight:850}
.more-rules{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}
.more-rules .game-rules{margin:0}.more-rules .game-rules p{line-height:1.5;margin:12px 0 0}
.entry-column label[hidden]{display:none}.entry-column select{display:block;width:100%;margin-top:6px;padding:10px;border:1px solid #f0c89038;border-radius:8px;background:#1b1916;color:#fff5e8}
.game-entry-dialog{position:fixed;inset:0;box-sizing:border-box;width:min(94vw,490px);max-height:min(88dvh,650px);margin:auto;padding:25px;border:1px solid #f0c89091;border-radius:18px;background:linear-gradient(150deg,#3a2b20,#1b1c1c);color:#fff1d6;box-shadow:0 25px 90px #000b;overflow:auto}
.game-entry-dialog::backdrop{background:#061014bd;backdrop-filter:blur(9px)}
.game-entry-head{display:flex;align-items:start;justify-content:space-between;gap:15px;border-bottom:1px solid #f0c89038;padding-bottom:16px;margin-bottom:20px}.game-entry-head h2{font:31px Georgia,serif;margin:4px 0 0}.game-entry-close{width:34px;height:34px;border:1px solid #f0c89069;border-radius:50%;background:#ffffff13;color:#fff1d6;font-size:24px;cursor:pointer}
.game-entry-choices{display:grid;gap:11px}.game-entry-choices button{display:flex;justify-content:space-between;align-items:center;width:100%;padding:17px 18px;font-size:15px}.game-entry-dialog .entry-column h3{margin:8px 0 16px}.game-entry-dialog .entry-column button:last-child{width:100%;margin-top:20px}.game-entry-back{border:0;background:none;color:#e7c796;padding:4px 0;cursor:pointer}.game-entry-dialog .error-text:empty{display:none}.game-entry-dialog [hidden]{display:none!important}
.other-game{--ink:#ebeff0;--soft:#b5c7cf;--line:#ffffff2d;--glass:#101f2ae8;--hot:#cde8e9;position:relative;isolation:isolate;min-height:calc(100vh - 85px);margin:8px 0 12px;overflow:hidden;border:1px solid var(--line);border-radius:16px;color:var(--ink);background:#0f2230}
.other-game .other-scene{position:absolute;z-index:-2;inset:0 0 auto;height:440px;background-size:cover;background-position:center;opacity:.78}
.other-game .other-scene::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0e2231c7,#112b3a52 58%,#10212ee6),linear-gradient(0deg,#0f2230,transparent 70%)}
.other-spyfall .other-scene{background-image:url('/assets/games/spyfall-scene.webp')}
.other-hanabi{--ink:#f8efd6;--soft:#b9b8bb;--line:#eed49b40;--glass:#10253bdc;--hot:#f5b97b;background:#0a1728}
.other-hanabi .other-scene{background-image:url('/assets/games/hanabi-night.webp');opacity:.36}
.other-hanabi .other-scene::after{background:linear-gradient(0deg,#0a1728,#0a172800)}
.other-liars{--ink:#f4e4c8;--soft:#c7b18e;--line:#deb3724d;--glass:#172a2be6;--hot:#e9b776;background:#10292b}
.other-liars .other-scene{background-image:url('/assets/games/liars-scene.webp')}
.other-liars .other-scene::after{background:linear-gradient(0deg,#10292b,transparent 70%),linear-gradient(90deg,#10292ba9,transparent 70%)}
.other-shell{position:relative;z-index:1;padding:14px 17px 23px;max-width:1680px;margin:auto}
.other-top{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-bottom:11px;border-bottom:1px solid var(--line)}
.other-title{display:flex;align-items:baseline;gap:12px}.other-title small{font-size:9px;letter-spacing:.18em;color:var(--soft);font-weight:800}.other-title strong{font-size:25px;font-family:Georgia,serif;letter-spacing:-.04em}
.other-room-actions{display:flex;align-items:center;gap:5px}.other-room-actions .invite-code{font-size:13px;background:#102027a9}.other-room-actions .small-button{padding:6px 9px;font-size:11px;background:#243b43a8}
.other-game .error-text:empty{display:none}
.other-guide{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:9px;padding:10px 13px;margin:12px 0;background:var(--glass);font-size:12px;min-height:44px;box-shadow:0 6px 18px #0002}
.other-guide strong{font-weight:650}.guide-spark{color:var(--hot);font-size:19px;animation:guide-pulse 2.2s ease-in-out infinite}
@keyframes guide-pulse{50%{transform:scale(1.28);filter:drop-shadow(0 0 7px currentColor)}}
.other-layout{display:grid;grid-template-columns:minmax(0,1fr) 224px;gap:12px}.other-main,.other-side{min-width:0}
.other-activity{background:var(--glass);border:1px solid var(--line);border-radius:11px;padding:11px;min-height:340px;display:flex;flex-direction:column;gap:9px}
.other-activity-head{display:flex;justify-content:space-between;align-items:center;font-size:12px}.other-activity-head span{font-size:9px;color:var(--soft)}
.other-events{max-height:255px;overflow:auto;display:grid;gap:5px;align-content:start}.other-events p{margin:0;padding:7px;border-radius:6px;background:#ffffff0d;color:var(--soft);font-size:10px;line-height:1.4}
.other-activity .chat-list{flex:1;min-height:55px;max-height:160px;overflow:auto;font-size:10px;color:var(--soft)}
.other-activity .chat-form{margin:0}.other-activity .chat-form input{color:var(--ink);background:#0a17229e}.other-activity .chat-form button{font-size:10px}
.section-kicker{font-size:9px;font-weight:900;letter-spacing:.16em;color:var(--hot)}
.action-focus{box-shadow:0 0 0 1px var(--hot),0 0 22px color-mix(in srgb,var(--hot) 22%,transparent);animation:focus-breathe 2.3s ease-in-out infinite}
@keyframes focus-breathe{50%{box-shadow:0 0 0 2px var(--hot),0 0 31px color-mix(in srgb,var(--hot) 35%,transparent)}}
.other-game summary{cursor:pointer}

/* Spyfall: private illustrated assignment plus public venue dossier. */
.spy-mission-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:11px;padding:10px 14px;border:1px solid #97bdc153;background:#142b3be8;border-radius:10px}
.spy-mission-head h2{font:29px Georgia,serif;margin:4px 0 0}.spy-clock{min-width:150px;text-align:right}.spy-clock>span{font-size:25px;font-weight:750;font-variant-numeric:tabular-nums;color:#f3e8d2}
.spy-progress{height:6px;border-radius:30px;background:#ffffff30;overflow:hidden}.spy-progress i{display:block;height:100%;width:100%;background:#77e1d3;transition:width .25s linear}
.spy-stage{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(210px,.55fr);gap:11px}
.spy-card,.spy-roster,.spy-accuse,.spy-vote,.spy-guess,.spy-reveal{border:1px solid #8cafba60;border-radius:11px;background:#122535e8;overflow:hidden}
.spy-card{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(190px,.88fr);min-height:290px;box-shadow:0 13px 30px #0005;animation:spy-card-in .5s both}
@keyframes spy-card-in{from{transform:rotateY(-10deg) translateY(10px);opacity:0}to{transform:none;opacity:1}}
.spy-card-image{position:relative;background:#132c3b;min-height:230px}.spy-card-image img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.spy-card-emblem{height:100%;display:grid;place-content:center;text-align:center;font-size:94px;color:#d99a80;text-shadow:0 0 36px #b7655f}.spy-card-emblem small{display:block;font-size:10px;letter-spacing:.24em;color:#f5d7b4}
.spy-card-copy{padding:20px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(135deg,#193848,#0c1e2b)}.spy-card-copy small{font-size:9px;color:#93c9ce;letter-spacing:.13em}.spy-card-copy h2{font:30px Georgia,serif;line-height:1.1;margin:12px 0;color:#f5e8cd}.spy-card-copy p{font-size:13px;line-height:1.5;color:#cfdddd}.spy-card-copy p strong{color:#f8d898}
.spy-card-secret{border-color:#cd9476}.spy-card-secret .spy-card-copy{background:linear-gradient(135deg,#4b2b2d,#1e1c28)}
.spy-roster{padding:14px}.spy-roster-list{margin-top:10px}.spy-agent{display:flex;align-items:center;gap:8px;padding:8px 2px;border-bottom:1px solid #ffffff18;font-size:11px}.spy-agent.left{opacity:.45}.spy-agent-icon{color:#8dcbd1;border:1px solid #ffffff3a;padding:4px}.spy-agent b{margin-left:auto;color:#f6d2a6;font-size:10px}
.spy-decisions{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px;margin-top:11px}.spy-accuse,.spy-vote,.spy-guess{padding:16px}.spy-decisions h3{font:22px Georgia,serif;margin:6px 0 9px}.spy-decisions p{font-size:12px;color:#bdd0d2}
.spy-accuse form,.spy-guess form{display:flex;gap:8px;flex-wrap:wrap}.spy-accuse select,.spy-guess select{flex:1;min-width:130px;padding:10px;border:1px solid #789eab;border-radius:7px;background:#0b1d2b;color:#eef6f3}
.spy-accuse button,.spy-guess button{border:1px solid #9bc6c9;border-radius:7px;background:#295260;color:#e8f3f1;padding:8px 12px;font-weight:750}.spy-guess{border-color:#ce946b;background:#3b2d27df}.spy-guess button{background:#a65f4a;border-color:#e4ad8a;color:#fff6e6}
.spy-vote-actions{display:flex;gap:8px}.spy-vote-actions button{padding:10px}
.spy-reveal{grid-column:1/-1;padding:17px;text-align:center}.spy-reveal h2{font:32px Georgia,serif;margin:6px}.spy-reveal p{font-size:13px}.spy-reveal img{width:min(100%,530px);max-height:245px;object-fit:cover;border-radius:8px}.spy-reveal>div{display:grid;grid-template-columns:1fr 2fr;gap:5px;margin:15px auto;max-width:400px;text-align:left;font-size:12px}.spy-reveal span{color:#b1c8cc}.spy-reveal strong{color:#f6dcac}
.spy-book{margin-top:11px;border:1px solid #c4af8280;border-radius:12px;overflow:hidden;background:#1a2c35;box-shadow:0 15px 35px #0005}
.spy-book-head{display:flex;align-items:end;justify-content:space-between;gap:22px;padding:15px 20px;background:linear-gradient(110deg,#183d49,#18303c 65%,#3c302c)}
.spy-book-head h2{font:29px Georgia,serif;color:#f7e9c9;margin:3px 0 0}.spy-book-head p{max-width:390px;margin:0;color:#d2e2dd;font-size:12px;line-height:1.5}
.spy-book-spread{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);gap:0;padding:12px;background:repeating-linear-gradient(90deg,#0e222c,#0e222c 8px,#152b34 9px,#152b34 12px)}
.spy-book-index,.spy-book-page{position:relative;min-width:0;padding:16px;background:linear-gradient(135deg,#f2e8ce,#e7d7b2);color:#302b27;box-shadow:inset 0 0 24px #77634221}
.spy-book-index{border-radius:8px 0 0 8px;border-right:1px solid #9e896c}.spy-book-page{border-radius:0 8px 8px 0;border-left:1px solid #fff8e7}
.spy-book-page-label{display:block;margin-bottom:10px;color:#695949;font-size:10px;font-weight:800;letter-spacing:.13em}
.spy-book-entries{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 7px}
.spy-book-entry{display:grid;grid-template-columns:24px minmax(0,1fr);align-content:center;column-gap:5px;min-height:43px;padding:5px 7px;border:1px solid transparent;border-radius:5px;background:transparent;color:#292d2c;text-align:left;cursor:pointer;transition:background .18s,transform .18s,box-shadow .18s}
.spy-book-entry:hover,.spy-book-entry:focus-visible{background:#fffaf0;transform:translateX(2px);box-shadow:0 2px 7px #806c442e}.spy-book-entry:focus-visible{outline:2px solid #1f5963;outline-offset:1px}.spy-book-entry.selected{border-color:#a9804c;background:#fff9e8;box-shadow:inset 3px 0 #966438}
.spy-book-entry span{grid-row:1/3;color:#866d4f;font:12px Georgia,serif}.spy-book-entry strong{min-width:0;overflow-wrap:anywhere;font:600 12px/1.2 Georgia,serif}.spy-book-entry small{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#786d5c;font-size:9px}
.spy-book-page img{display:block;width:100%;height:335px;object-fit:cover;border:5px solid #fbf4de;box-shadow:0 4px 12px #534b3d44}.spy-book-caption{padding:10px 2px 0}.spy-book-caption small{color:#765a43;text-transform:uppercase;letter-spacing:.12em;font-size:10px}.spy-book-caption h3{font:27px Georgia,serif;margin:4px 0;color:#2c3736}.spy-book-caption p{font-size:11px;line-height:1.45;color:#5a554e;margin:0}
.spy-voice-note{font-size:10px;color:#c1d3d3;margin:9px 0}

/* Hanabi: brush-painted night, animated stage and readable cooperative hands. */
.hanabi-stage{position:relative;height:400px;border:1px solid #d7b8758c;border-radius:12px;overflow:hidden;background:#152b46 url('/assets/games/hanabi-night.webp') center/cover;box-shadow:inset 0 0 90px #030c2c,0 15px 34px #0005}
.hanabi-stage::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#06132ce0,transparent 43%),linear-gradient(90deg,#0a132ac0,transparent 65%);pointer-events:none}.hanabi-sky{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;mix-blend-mode:screen}
.hanabi-stage-head{position:relative;z-index:2;display:flex;justify-content:space-between;gap:8px;padding:15px}.hanabi-resources{display:flex;gap:7px;flex-wrap:wrap}.hanabi-resources span{background:#0a1532c9;border:1px solid #ffd89d57;border-radius:40px;padding:7px 9px;color:#f6db9d;font-size:11px}
.hanabi-show-title{position:relative;z-index:1;margin:55px 0 0 8%;text-shadow:0 3px 14px #000}.hanabi-show-title small{letter-spacing:.2em;font-size:9px;color:#efc69f}.hanabi-show-title h2{font:68px Georgia,serif;letter-spacing:-.05em;margin:3px;color:#f8dbac}
.hanabi-towers{position:absolute;z-index:2;bottom:14px;left:18px;right:18px;display:flex;justify-content:center;gap:10px}.hanabi-tower{display:grid;justify-items:center;width:min(17%,100px);padding:6px;border:1px solid color-mix(in srgb,var(--flame) 65%,transparent);border-radius:9px;background:#081429ce;box-shadow:0 0 16px color-mix(in srgb,var(--flame) 22%,transparent)}.hanabi-tower-glow{display:flex;align-items:end;gap:3px;height:24px}.hanabi-tower-glow i{width:9px;height:8px;border-radius:50%;background:#28354a}.hanabi-tower-glow i.lit{height:17px;background:var(--flame);box-shadow:0 0 11px var(--flame);animation:hanabi-flicker 2s infinite alternate}.hanabi-tower strong{font-size:18px;color:var(--flame)}.hanabi-tower small{text-transform:capitalize;font-size:9px;color:#f8e8ca}
@keyframes hanabi-flicker{to{opacity:.65;transform:translateY(-3px)}}.hanabi-impact{position:absolute;z-index:2;top:18%;left:45%;font-size:80px;color:var(--burst);text-shadow:0 0 40px var(--burst);animation:hanabi-burst 1.4s both;pointer-events:none}.hanabi-impact.fizzle{color:#bbb;filter:grayscale(1)}@keyframes hanabi-burst{from{transform:scale(.2);opacity:0}35%{transform:scale(1.3);opacity:1}to{transform:scale(2.2);opacity:0}}
.hanabi-crew{display:flex;gap:7px;margin:10px 0}.hanabi-person{flex:1;min-width:0;display:grid;grid-template-columns:34px 1fr;column-gap:7px;align-items:center;border:1px solid #c9ab7850;border-radius:8px;padding:6px;background:#10233bdc}.hanabi-person.on-turn{border-color:#f7d590;box-shadow:0 0 13px #f7d5904d}.hanabi-person.left{opacity:.4}.hanabi-person-mark{grid-row:span 2;display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#a84c48;color:#fce4b8;font-size:16px}.hanabi-person strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.hanabi-person small{font-size:9px;color:#b8c6c5}
.hanabi-desk{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:10px}.hanabi-own-hand,.hanabi-other-hand,.hanabi-clue,.hanabi-finale,.hanabi-rules{border:1px solid #c9ad755c;border-radius:9px;background:#132744e8;padding:12px}.hanabi-own-hand>header,.hanabi-other-hand header{display:flex;justify-content:space-between;gap:8px;align-items:center}.hanabi-own-hand h3{font:22px Georgia,serif;margin:4px 0 0}.hanabi-own-hand header small,.hanabi-other-hand header small{color:#c5b69b;font-size:10px}.hanabi-visible-hands{display:grid;gap:8px}.hanabi-other-hand{padding:9px}.hanabi-other-hand.on-turn{border-color:#e9cf90}
.hanabi-cards{display:flex;gap:6px;justify-content:center;margin-top:9px}.hanabi-card{position:relative;display:block;flex:0 1 72px;min-width:0;height:104px;border:0;border-radius:7px;padding:0;background:none;color:inherit;perspective:300px}.hanabi-own-hand button.hanabi-card{cursor:pointer;transition:transform .2s}.hanabi-own-hand button.hanabi-card:hover:not(:disabled),.hanabi-card.selected{transform:translateY(-10px)}.hanabi-card.selected{outline:2px solid #ffd187;outline-offset:3px}.hanabi-card-face,.hanabi-card-back{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:7px;border:3px double #e4c490;box-shadow:0 5px 9px #0007;font-family:Georgia,serif}.hanabi-card-face{background:linear-gradient(155deg,color-mix(in srgb,var(--flame) 55%,#fff),color-mix(in srgb,var(--flame) 25%,#213146));color:#14263d}.hanabi-card-face i{font-size:26px;font-style:normal;color:var(--flame);text-shadow:0 0 10px #fff}.hanabi-card-face b{font-size:33px}.hanabi-card-face small{font:9px system-ui;text-transform:uppercase}.hanabi-card-back{background:radial-gradient(circle,#a6514c,#5c313a 55%,#24344b);color:#fff0c8}.hanabi-card-back i{font-size:35px;font-style:normal}.hanabi-card-back small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:10px system-ui}.hanabi-card em{position:absolute;right:3px;top:3px;font:9px system-ui;color:#ffe6b3}.hanabi-card-actions{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin-top:12px}.hanabi-card-actions button{font-size:11px;padding:9px}
.hanabi-clue{margin-top:10px}.hanabi-clue p{font-size:11px;color:#d0ccbf}.hanabi-clue form{display:flex;gap:7px;flex-wrap:wrap}.hanabi-clue select{flex:1;min-width:100px;padding:9px;border:1px solid #cfb782;border-radius:7px;background:#10233b;color:#f9e7c7}.hanabi-clue button{border:1px solid #eed5a7;border-radius:7px;background:#a7544b;color:#fff4df;padding:9px 13px;font-weight:750}.hanabi-clue small{display:block;margin-top:5px;color:#b9c6c4}.hanabi-finale{margin-top:10px;text-align:center}.hanabi-finale h2{font:30px Georgia,serif}.hanabi-rules{margin-top:10px;font-size:11px}.hanabi-rules p{line-height:1.55}

/* Liar's Dice: portrait cast, felt table, rolling 3D dice. */
.liars-table{border:1px solid #cca76b65;border-radius:13px;background:linear-gradient(165deg,#193438ed,#15282cfa);padding:16px;box-shadow:0 15px 30px #0004;min-height:620px}.liars-table-top{display:flex;justify-content:space-between;align-items:center;min-height:100px}.liars-table-top h2{font:34px Georgia,serif;margin:4px 0;color:#f5e7c8}.liars-table-top img{width:115px;height:100px;object-fit:contain;filter:drop-shadow(0 8px 7px #0007)}
.liars-crew{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.liars-crew:has(> :nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}.liars-crew-member{position:relative;display:flex;align-items:center;gap:9px;min-width:0;height:130px;background:#071d23bd;border:1px solid #a17b4b70;border-radius:8px;padding:6px;overflow:hidden}.liars-crew-member.current{border-color:#f3ca82;box-shadow:0 0 14px #e6ae5f65}.liars-crew-member.out{opacity:.43}
.liars-avatar{width:88px;height:116px;flex:none;background-image:url('/assets/games/liars-cast.webp');background-size:400% 200%;background-position:var(--avatar-x) var(--avatar-y);background-repeat:no-repeat;animation:liars-look 5s ease-in-out infinite,liars-peek 5s steps(1) infinite;filter:drop-shadow(0 5px 3px #0007)}.liars-crew-member:nth-child(2n) .liars-avatar{animation-delay:-2s}.liars-crew-member:nth-child(3n) .liars-avatar{animation-delay:-3.7s}@keyframes liars-look{0%,70%,100%{transform:rotate(0)}75%{transform:rotate(-5deg) translateY(2px)}82%{transform:rotate(3deg) translateY(-2px)}}@keyframes liars-peek{0%,69%,84%,100%{background-image:url('/assets/games/liars-cast.webp')}70%,83%{background-image:url('/assets/games/liars-cast-peek.webp')}}
.liars-crew-copy{min-width:0;display:grid;gap:2px}.liars-crew-copy strong{font:14px Georgia,serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.liars-crew-copy small{font-size:9px;color:#dec399}.liars-crew-copy span{font-size:8px;color:#a8d8be;letter-spacing:.08em}.liars-cup{position:absolute;right:6px;top:7px;color:#d5a86d;font-size:19px;font-style:normal}.liars-cup.shaking{animation:liars-shake .35s infinite}@keyframes liars-shake{25%{transform:rotate(-16deg)}75%{transform:rotate(14deg)}}.liars-crew-member.has-rolled .liars-cup{color:#8bd5b5}
.liars-felt{position:relative;display:grid;place-items:center;margin:11px auto 0;min-height:205px;width:min(100%,700px);border-radius:50%;border:16px solid #684327;background:radial-gradient(ellipse,#367368,#17443e 70%,#0a252c);box-shadow:inset 0 0 35px #0008,0 13px 23px #0008;overflow:hidden}.liars-felt-ring{position:absolute;inset:12px;border:2px dashed #e8c68750;border-radius:50%;pointer-events:none}.liars-felt-brand{position:absolute;bottom:23px;font:11px Georgia,serif;letter-spacing:.22em;color:#e5ca8a8a}
.liars-roll-target{position:relative;z-index:1;display:grid;justify-items:center;gap:7px}.liars-roll-button{border:2px solid #ffdf95;border-radius:50%;width:130px;height:130px;background:radial-gradient(circle,#d68d43,#834b27);color:#fff5d3;box-shadow:0 0 0 7px #edc27b30,0 0 35px #edb36597,inset 0 4px 11px #fff4;font:800 14px Georgia,serif;letter-spacing:.05em;cursor:pointer;animation:roll-ready 1.9s infinite}.liars-roll-button:hover{transform:scale(1.07)}@keyframes roll-ready{50%{box-shadow:0 0 0 13px #edc27b10,0 0 42px #edb365,inset 0 4px 11px #fff4}}.liars-roll-target small{font-size:9px;color:#f2dba9}.liars-felt-dice{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;z-index:1}.liars-felt-dice>span{font-size:11px;color:#e1d4b6}.liars-die{width:58px;height:58px;transform-style:preserve-3d;filter:drop-shadow(0 6px 4px #000a)}.liars-die .die{width:100%;height:100%}.liars-die.flying{animation:die-tumble 1.3s cubic-bezier(.13,.72,.23,1) both;animation-delay:calc(var(--die-index)*.11s)}@keyframes die-tumble{0%{transform:translate(-170px,-130px) rotate3d(1,1,1,680deg) scale(.4);opacity:0}65%{transform:translate(18px,9px) rotate3d(1,1,1,25deg) scale(1.14);opacity:1}85%{transform:translate(-7px,-7px) rotate3d(1,1,1,-10deg)}100%{transform:none;opacity:1}}
.liars-felt-dice{perspective:550px}.liars-die-cube{position:relative;width:58px;height:58px;transform-style:preserve-3d;transform:var(--die-turn)}.liars-die-face{position:absolute;inset:0;backface-visibility:hidden}.liars-die-face.side-0{transform:translateZ(29px)}.liars-die-face.side-1{transform:rotateY(180deg) translateZ(29px)}.liars-die-face.side-2{transform:rotateY(90deg) translateZ(29px)}.liars-die-face.side-3{transform:rotateY(-90deg) translateZ(29px)}.liars-die-face.side-4{transform:rotateX(90deg) translateZ(29px)}.liars-die-face.side-5{transform:rotateX(-90deg) translateZ(29px)}
.liars-bid-rail{display:flex;align-items:center;gap:12px;margin:13px 0;padding:10px;background:#8c5d2c30;border:1px solid #cfa46670;border-radius:9px}.liars-bid-rail span{font-size:9px;letter-spacing:.15em;color:#e0bd7d}.liars-bid-rail strong{font-size:22px;color:#ffe4ac}.liars-bid-rail small{font-size:11px;color:#c7af8b}
.liars-actions,.liars-reveal,.liars-final,.liars-rules{border:1px solid #a8855770;border-radius:10px;background:#0b262bdc;padding:12px;margin-top:9px}.liars-bid-form{display:flex;align-items:end;gap:8px}.liars-bid-form label{display:grid;gap:5px;font-size:9px;letter-spacing:.1em;color:#d7bd92}.liars-bid-form select{padding:9px;border:1px solid #a48052;border-radius:6px;background:#112c30;color:#fff1d5;min-width:115px}.liars-bid-form button{white-space:nowrap}.liar-button{display:block;width:100%;margin-top:11px;padding:13px;border:1px solid #e6a77a;border-radius:8px;background:#9d4b3a;color:#fff4d8;font:800 19px Georgia,serif;box-shadow:0 5px 14px #0004}.liar-button:hover{background:#b65742}
.liars-reveal h3{font:25px Georgia,serif;margin:4px 0}.liars-reveal p{font-size:12px}.liars-reveal p strong{color:#ffdc9f}.liars-revealed-hands{display:grid;gap:6px}.liars-revealed-hands>div{display:flex;align-items:center;gap:8px;background:#ffffff0a;border-radius:5px;padding:5px;font-size:10px}.liars-revealed-hands>div strong{min-width:115px}.liars-revealed-hands>div span{display:flex;gap:3px;flex-wrap:wrap}.liars-revealed-hands .die{width:29px;height:29px}.liars-reveal>small{display:block;margin-top:9px;color:#e9c58a}.liars-final{text-align:center}.liars-final h2{font-family:Georgia,serif}.liars-rules{font-size:11px}.liars-rules p{line-height:1.55}
@media(max-width:1120px){.other-layout{grid-template-columns:1fr}.other-activity{min-height:0}.other-events{max-height:85px}.other-activity .chat-list{max-height:75px}}
@media(max-width:760px){.more-rules{grid-template-columns:1fr}.other-shell{padding:10px}.other-top{align-items:flex-start;flex-direction:column}.other-title{flex-wrap:wrap}.other-title small{width:100%}.other-room-actions{flex-wrap:wrap}.spy-stage,.hanabi-desk{grid-template-columns:1fr}.spy-card{grid-template-columns:1fr}.spy-card-image{height:210px}.spy-book-head{display:block}.spy-book-head p{margin-top:9px}.spy-book-spread{grid-template-columns:1fr}.spy-book-index{border-radius:8px 8px 0 0;border-right:0;border-bottom:1px solid #9e896c}.spy-book-page{border-radius:0 0 8px 8px;border-left:0;border-top:1px solid #fff8e7}.spy-book-page img{height:230px}.hanabi-stage{height:370px}.hanabi-stage-head{flex-direction:column}.hanabi-show-title{margin-top:32px}.hanabi-show-title h2{font-size:52px}.hanabi-crew{flex-wrap:wrap}.hanabi-person{flex-basis:44%}.liars-crew{grid-template-columns:repeat(2,minmax(0,1fr))}.liars-bid-form{flex-wrap:wrap}.liars-table-top img{width:75px;height:75px}.liars-table-top h2{font-size:24px}.liars-felt{border-width:9px;min-height:190px}}
@media(max-width:420px){.liars-crew{grid-template-columns:1fr 1fr}.liars-avatar{width:60px;height:80px}.liars-crew-member{height:94px}.liars-crew-copy strong{font-size:11px}.liars-crew-copy small{font-size:8px}.hanabi-card{height:82px}.hanabi-card-face b{font-size:23px}.hanabi-card-back i{font-size:25px}.hanabi-towers{gap:4px;left:5px;right:5px}.hanabi-tower{width:19%}}
@media(prefers-reduced-motion:reduce){.other-game *, .other-game *::before,.other-game *::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Give every active game the browser width; activity remains an optional table drawer. */
.other-shell{max-width:none;padding:10px 12px 24px}
.other-game{min-height:calc(100dvh - 70px)}
.other-layout{display:block}
.other-side{display:block;margin-top:12px;border:1px solid var(--line);border-radius:10px;background:var(--glass)}
.other-side>summary{display:flex;justify-content:space-between;cursor:pointer;padding:11px 14px;color:var(--ink);font-size:12px;font-weight:750;list-style:none}
.other-side>summary::-webkit-details-marker{display:none}
.other-side[open]>summary span{transform:rotate(180deg)}
.other-activity{border:0;border-top:1px solid var(--line);border-radius:0;min-height:0;padding:11px}
.other-events{max-height:105px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.other-activity .chat-list{max-height:130px}

/* The five illustrated card suits share a parchment frame but retain clear live values. */
.hanabi-stage{height:clamp(480px,53dvh,690px)}
.hanabi-card{flex-basis:clamp(72px,7.5vw,106px);height:clamp(104px,11vw,150px)}
.hanabi-card-face{position:relative;overflow:hidden;background-color:#12283c;background-position:center;background-size:cover;color:#fff8e5;justify-content:flex-end;padding-bottom:5px}
.hanabi-card-face::before{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#071322e8);pointer-events:none}
.hanabi-card-face b,.hanabi-card-face small{position:relative;z-index:1;text-shadow:0 2px 6px #000;font-weight:900}
.hanabi-card-face b{font-size:42px;line-height:1}.hanabi-card-face small{font-size:10px;letter-spacing:.12em}
.hanabi-red{background-image:url('/assets/games/hanabi-card-red.webp')}
.hanabi-yellow{background-image:url('/assets/games/hanabi-card-yellow.webp')}
.hanabi-green{background-image:url('/assets/games/hanabi-card-green.webp')}
.hanabi-blue{background-image:url('/assets/games/hanabi-card-blue.webp')}
.hanabi-white{background-image:url('/assets/games/hanabi-card-white.webp')}
.hanabi-visible-hands{grid-template-columns:repeat(auto-fit,minmax(290px,1fr));align-content:start}
.hanabi-desk{grid-template-columns:minmax(390px,.8fr) minmax(0,1.2fr)}

/* A round, candlelit tavern table with player busts seated around the rim. */
.liars-table{padding:12px;min-height:0;background:#102024}
.liars-table-top{min-height:76px}.liars-table-top img{width:86px;height:74px}
.liars-scene{position:relative;isolation:isolate;height:clamp(570px,69dvh,800px);overflow:hidden;border:1px solid #cba46b7a;border-radius:12px;background:#10231f url('/assets/games/liars-round-table.webp') center/cover;box-shadow:inset 0 0 70px #0008,0 15px 40px #0008}
.liars-scene::before{content:"";display:none;position:absolute;z-index:-1;width:min(57%,650px);aspect-ratio:1;left:50%;top:53%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,#315d4a0f 45%,#122d2288 71%,#9e694652 75%,transparent 77%);box-shadow:0 0 60px #0005}
.liars-crew{position:absolute;z-index:3;inset:0;display:block;pointer-events:none}
.liars-crew-member{position:absolute;display:block;width:clamp(112px,12vw,182px);height:clamp(145px,15vw,190px);padding:0;transform:translate(-50%,-50%);border:1px solid #e6c0888a;border-radius:13px;background:#1b221ee0;box-shadow:0 8px 18px #000a;overflow:hidden}
.liars-crew-member.current{border:2px solid #ffdf8e;box-shadow:0 0 0 3px #e3ae634c,0 0 25px #eab56882}
.liars-avatar{display:block;width:100%;height:75%;background-image:url('/assets/games/liars-busts.webp');background-size:400% 200%;background-position:var(--avatar-x) var(--avatar-y);filter:none;animation:liars-look 5s ease-in-out infinite,liars-bust-peek 5s steps(1) infinite}
@keyframes liars-bust-peek{0%,69%,84%,100%{background-image:url('/assets/games/liars-busts.webp')}70%,83%{background-image:url('/assets/games/liars-busts-peek.webp')}}
.liars-crew-copy{position:absolute;left:0;right:0;bottom:0;min-height:25%;display:grid;align-content:center;gap:1px;padding:3px 5px;background:#092024ef;text-align:center}
.liars-crew-copy strong{font-size:12px}.liars-crew-copy small{font-size:9px}.liars-crew-copy span{font-size:8px}
.liars-cup{display:none}
.liars-felt{position:absolute;z-index:2;left:50%;top:51%;transform:translate(-50%,-50%);width:min(51%,550px);height:220px;min-height:0;margin:0;padding:0;border:0;border-radius:50%;background:radial-gradient(ellipse,#1538273d,transparent 70%);box-shadow:none;overflow:visible}
.liars-felt-brand{bottom:0;color:#f5d9a6b5;text-shadow:0 2px 5px #000;font-size:12px}
.liars-roll-button{width:150px;height:150px;font-size:15px;box-shadow:0 0 0 8px #edc27b30,0 0 35px #edb36597,inset 0 4px 11px #fff4}
.liars-roll-target small{max-width:230px;text-align:center;text-shadow:0 2px 4px #000}
.liars-felt-dice{max-width:450px;perspective:800px;gap:13px}
.liars-die{width:64px;height:64px;position:relative;filter:drop-shadow(0 10px 5px #0009)}
.liars-die-cube{width:64px;height:64px;transition:transform .3s}
.liars-die-face{border-radius:12px;background:#eadfc6;box-shadow:inset 0 0 8px #ffffffa0,0 0 3px #35251c}
.liars-die-face.side-0{transform:translateZ(32px)}.liars-die-face.side-1{transform:rotateY(180deg) translateZ(32px)}
.liars-die-face.side-2{transform:rotateY(90deg) translateZ(32px)}.liars-die-face.side-3{transform:rotateY(-90deg) translateZ(32px)}
.liars-die-face.side-4{transform:rotateX(90deg) translateZ(32px)}.liars-die-face.side-5{transform:rotateX(-90deg) translateZ(32px)}
.liars-die.flying{animation:liars-physical-roll 1.4s cubic-bezier(.16,.68,.23,1) both;animation-delay:calc(var(--die-index)*.1s)}
@keyframes liars-physical-roll{0%{opacity:.3;transform:translate(var(--start-x),var(--start-y)) rotateX(720deg) rotateY(540deg) rotateZ(-50deg) scale(.65)}32%{opacity:1;transform:translate(-55px,-74px) rotateX(460deg) rotateY(330deg) rotateZ(35deg)}57%{transform:translate(30px,13px) rotateX(245deg) rotateY(175deg) rotateZ(-20deg)}72%{transform:translate(-11px,-24px) rotateX(110deg) rotateY(75deg) rotateZ(11deg)}88%{transform:translate(7px,2px) rotateX(-23deg) rotateY(-15deg) rotateZ(-4deg)}100%{transform:none}}
.liars-bid-rail{margin:10px 0}.liars-actions{max-width:750px;margin:10px auto}

@media(max-width:800px){.hanabi-desk{grid-template-columns:1fr}.hanabi-stage{height:clamp(420px,54dvh,590px)}.liars-scene{height:600px;background-position:center;background-size:cover}.liars-scene::before{display:block;width:min(90%,420px);top:50%;background:radial-gradient(circle,#244e3de6 61%,#93613f 70%,#29180f 75%,transparent 76%);box-shadow:0 12px 35px #0009}.liars-crew-member{width:clamp(82px,20vw,132px);height:clamp(115px,24vw,150px)}.liars-avatar{height:72%}.liars-crew-copy strong{font-size:10px}.liars-crew-copy small,.liars-crew-copy span{font-size:7px}.liars-felt{width:65%;top:50%}.liars-felt-dice{gap:6px}.liars-die,.liars-die-cube{width:58px;height:58px}.liars-die-face.side-0{transform:translateZ(29px)}.liars-die-face.side-1{transform:rotateY(180deg) translateZ(29px)}.liars-die-face.side-2{transform:rotateY(90deg) translateZ(29px)}.liars-die-face.side-3{transform:rotateY(-90deg) translateZ(29px)}.liars-die-face.side-4{transform:rotateX(90deg) translateZ(29px)}.liars-die-face.side-5{transform:rotateX(-90deg) translateZ(29px)}}
@media(max-width:500px){.other-shell{padding:7px}.hanabi-card{flex-basis:18%;height:clamp(90px,25vw,122px)}.hanabi-card-face b{font-size:30px}.hanabi-visible-hands{grid-template-columns:1fr}.liars-table{padding:7px}.liars-table-top{min-height:65px}.liars-scene{height:550px}.liars-crew-member{width:80px;height:115px}.liars-felt{width:72%;height:175px}.liars-roll-button{width:115px;height:115px;font-size:12px}.liars-felt-dice{max-width:240px}.liars-die,.liars-die-cube{width:52px;height:52px}.liars-die-face.side-0{transform:translateZ(26px)}.liars-die-face.side-1{transform:rotateY(180deg) translateZ(26px)}.liars-die-face.side-2{transform:rotateY(90deg) translateZ(26px)}.liars-die-face.side-3{transform:rotateY(-90deg) translateZ(26px)}.liars-die-face.side-4{transform:rotateX(90deg) translateZ(26px)}.liars-die-face.side-5{transform:rotateX(-90deg) translateZ(26px)}}

/* Character cutouts are behind a duplicate foreground of the painted table. */
.liars-crew{z-index:2}
.liars-crew-member,.liars-crew-member.current{width:min(var(--seat-size),18vw);height:auto;aspect-ratio:1/1.15;padding:0;border:0;border-radius:0;background:none;box-shadow:none;overflow:visible}
.liars-crew-member.current .liars-avatar{filter:drop-shadow(0 0 15px #f2c985) drop-shadow(0 7px 5px #000b)}
.liars-avatar{width:100%;height:74%;background-image:url('/assets/games/liars-cast.webp');background-size:400% auto;background-position:var(--avatar-x) 0%;background-repeat:no-repeat;filter:drop-shadow(0 7px 5px #000b);animation:liars-look 6.5s ease-in-out infinite,liars-cutout-peek 6.5s steps(1) infinite}
.liars-avatar.row-1{background-position-y:73.5%}
@keyframes liars-cutout-peek{0%,64%,77%,100%{background-image:url('/assets/games/liars-cast.webp')}65%,76%{background-image:url('/assets/games/liars-cast-peek.webp')}}
.liars-crew-copy{position:absolute;top:-10px;bottom:auto;left:50%;right:auto;min-height:0;display:flex;align-items:center;gap:6px;width:max-content;max-width:185px;padding:4px 8px;border:1px solid #e3c28b73;border-radius:50px;background:#0a1a19ca;backdrop-filter:blur(5px);transform:translate(-50%,-100%);box-shadow:0 4px 12px #0007}
.liars-crew-copy strong{font:12px Georgia,serif;color:#ffebc2}.liars-crew-copy small{font-size:9px;color:#dbbe89;white-space:nowrap}
.liars-crew-member.current .liars-crew-copy{border-color:#ffe2a0;background:#302616e8}
.liars-table-foreground{position:absolute;z-index:3;inset:0;background:#10231f url('/assets/games/liars-round-table.webp') center/cover;clip-path:polygon(0 52%,5% 46%,15% 38%,29% 31%,43% 27%,57% 27%,71% 31%,85% 38%,95% 46%,100% 52%,100% 100%,0 100%);pointer-events:none}
.liars-felt{z-index:6}
.liars-atmosphere{position:absolute;z-index:5;inset:0;pointer-events:none;overflow:hidden}
.liars-rain{position:absolute;right:1%;top:0;width:36%;height:39%;opacity:.28;background:repeating-linear-gradient(105deg,transparent 0 18px,#d5e8e640 19px,transparent 21px);background-size:130px 180px;mask-image:linear-gradient(#000,transparent 95%);animation:liars-rainfall 1.6s linear infinite}
@keyframes liars-rainfall{to{background-position:35px 180px}}
.liars-candle{position:absolute;width:90px;height:90px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,#fff4ca9c 0,#ffd27276 11%,#e9903c3d 35%,transparent 70%);mix-blend-mode:screen;animation:liars-candle-glow 2.1s ease-in-out infinite alternate}
.liars-candle.flame-a{left:28%;top:37%}.liars-candle.flame-b{left:73%;top:37%;animation-delay:-.8s}.liars-candle.flame-c{left:10%;top:61%;animation-delay:-1.3s}.liars-candle.flame-d{left:91%;top:61%;animation-delay:-.4s}
@keyframes liars-candle-glow{0%,100%{opacity:.42;scale:.88}35%{opacity:.82;scale:1.08}65%{opacity:.62;scale:.94}}
.liars-harbor-light{position:absolute;display:block;width:6px;height:6px;border-radius:50%;background:#ffd98a;box-shadow:0 0 12px 4px #e8a7568c;animation:liars-harbor-twinkle 3s ease-in-out infinite alternate}
.liars-harbor-light.light-a{right:8%;top:13%}.liars-harbor-light.light-b{right:17%;top:19%;animation-delay:-1.4s}.liars-harbor-light.light-c{right:27%;top:11%;animation-delay:-2.2s}
@keyframes liars-harbor-twinkle{to{opacity:.22;transform:scale(.5)}}
@media(max-width:800px){.liars-crew-member,.liars-crew-member.current{width:min(var(--seat-size),22vw);height:auto}.liars-crew-copy{max-width:130px;display:grid;gap:0;text-align:center;padding:2px 6px}.liars-crew-copy strong{font-size:10px}.liars-crew-copy small{font-size:8px}.liars-table-foreground{clip-path:polygon(0 46%,20% 41%,50% 36%,80% 41%,100% 46%,100% 100%,0 100%)}}
@media(max-width:500px){.liars-crew-member,.liars-crew-member.current{width:min(var(--seat-size),26vw);height:auto}.liars-crew-copy{top:-7px;max-width:93px}.liars-crew-copy strong{font-size:9px}.liars-crew-copy small{font-size:7px}.liars-table-foreground{clip-path:polygon(0 47%,25% 42%,50% 39%,75% 42%,100% 47%,100% 100%,0 100%)}.liars-candle{width:60px;height:60px}}
@media(max-width:800px){.liars-scene{background:#10231f url('/assets/games/liars-tavern-room.webp') center/cover}.liars-scene::before{display:none}.liars-table-foreground{inset:auto;left:50%;top:30%;width:min(96%,510px);height:auto;aspect-ratio:1;transform:translateX(-50%);clip-path:none;border:10px solid #815333;border-radius:50%;background:radial-gradient(circle at 45% 38%,#2a5b48,#12372f 77%,#092623);box-shadow:inset 0 0 45px #021913b9,0 18px 30px #000b}.liars-table-foreground::after{content:"";position:absolute;inset:12px;border:2px solid #d2ad735c;border-radius:50%}.liars-felt{top:61%}.liars-rain{left:5%;right:auto;width:60%;height:49%}.liars-candle.flame-a{left:16%;top:28%}.liars-candle.flame-b{left:72%;top:27%}.liars-candle.flame-c,.liars-candle.flame-d{display:none}}
@media(max-width:500px){.liars-table-foreground{top:30%;width:96%;border-width:8px}.liars-table-foreground::after{inset:9px}}
@media(max-width:500px){.liars-crew:has(> :nth-child(5)) .liars-crew-copy{width:62px;max-width:62px;padding:3px 4px}.liars-crew:has(> :nth-child(5)) .liars-crew-copy strong{display:block;max-width:54px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px}.liars-crew:has(> :nth-child(5)) .liars-crew-copy small{display:none}.liars-crew:has(> :nth-child(5)) .liars-crew-member:nth-child(2n) .liars-crew-copy{top:-27px}}
/* Phase-aware wayfinding stays on the stage instead of hiding in the activity drawer. */
.other-jump{display:flex;gap:8px;margin:0 0 12px;flex-wrap:wrap}
.other-jump a{display:grid;place-items:center;min-height:44px;padding:8px 14px;border:1px solid color-mix(in srgb,var(--hot) 55%,transparent);border-radius:9px;background:color-mix(in srgb,var(--glass) 80%,var(--hot));color:var(--ink);text-decoration:none;font-size:12px;font-weight:750;transition:background .18s,transform .18s}
.other-jump a:hover,.other-jump a:focus-visible{background:color-mix(in srgb,var(--glass) 55%,var(--hot));transform:translateY(-2px)}
.other-guide{font-size:14px;line-height:1.4;min-height:52px}
.other-game button,.other-game select,.other-game summary{touch-action:manipulation}
.spy-book-entry{min-height:48px}
.hanabi-own-hand .hanabi-card{min-width:60px}
.hanabi-card-actions button,.hanabi-clue button,.liars-bid-form button,.liar-button,.spy-accuse button,.spy-guess button,.spy-vote-actions button{min-height:44px}
@media(max-width:760px){
  .other-game{margin:0 -4px 12px;border-radius:10px}
  .other-shell{padding:8px 8px 92px}
  .other-guide{padding:11px 12px;font-size:13px}
  .other-jump{position:fixed;z-index:45;left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));bottom:max(8px,env(safe-area-inset-bottom));justify-content:space-around;gap:5px;margin:0;padding:6px;border:1px solid var(--line);border-radius:13px;background:#13252ff2;box-shadow:0 7px 22px #000a;backdrop-filter:blur(10px)}
  .other-jump a{flex:1;padding:7px 6px;min-width:0;min-height:48px;text-align:center;font-size:11px;line-height:1.2}
  .other-room-actions .small-button{min-height:44px;min-width:44px;padding:8px 10px;font-size:11px}
  .other-room-actions{width:100%;gap:6px}.other-room-actions .invite-code{min-height:44px;display:grid;place-items:center}
  .spy-decisions{grid-template-columns:1fr}.spy-accuse form,.spy-guess form{display:grid;grid-template-columns:1fr 1fr}.spy-accuse select,.spy-guess select{min-width:0;min-height:48px}.spy-book-entry strong{font-size:13px}
  .hanabi-cards{justify-content:flex-start;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;padding:4px 3px 13px}
  .hanabi-card{flex:0 0 64px;min-width:64px;height:104px;scroll-snap-align:start}
  .hanabi-own-hand .hanabi-card{min-width:64px}
  .hanabi-clue form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.hanabi-clue select,.hanabi-clue button{min-width:0;min-height:48px}
  .liars-bid-form select,.liars-bid-form button{min-height:48px}.liars-bid-form label{flex:1;min-width:120px}.liars-bid-form select{width:100%}
  .liars-actions .primary-button{flex:1}
}
@media(max-width:420px){.hanabi-card{flex-basis:64px;height:104px}.spy-book-entries{gap:5px}.spy-book-entry{min-height:50px;padding:5px}}
