.page-games{background:#faf8ff}.game-shell{padding-bottom:70px}.game-hero{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:30px;padding:52px 0 35px}.game-kicker{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#7152b1}.game-hero h1{font-size:clamp(42px,5.7vw,76px);line-height:1.05;letter-spacing:-.05em;margin:16px 0 22px;color:#2d2451}.game-hero h1 em{font-style:normal;color:#8352d2}.game-hero>div>p:not(.game-kicker){font-size:20px;color:#716785;line-height:1.6}.game-chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.game-chips span{border:1px solid #e9ddfa;border-radius:40px;padding:9px 13px;background:white;font-size:13px}.game-hero-art{height:320px;position:relative;display:grid;place-items:center;isolation:isolate}.game-orbit{position:absolute;width:290px;height:290px;background:linear-gradient(135deg,#f3dbff,#ffeaa8);border-radius:50%;z-index:-1}.game-sun{font-size:120px;color:#ffbd17;position:absolute;right:5%;top:0;animation:game-bob 5s ease-in-out infinite}.game-float{position:absolute;width:130px;height:165px;display:grid;place-items:center;background:white;border:6px solid #fff;border-radius:24px;font-size:72px;box-shadow:0 20px 45px #55347f24}.game-float--one{left:16%;top:50px;rotate:-17deg;animation:game-bob 4s ease-in-out infinite}.game-float--two{left:43%;top:100px;rotate:13deg;animation:game-bob 4s 1s ease-in-out infinite}.game-match-label{position:absolute;bottom:9px;left:27%;padding:13px 24px;background:#d9f7dd;color:#2d7b4a;font-weight:800;border:3px solid white;border-radius:30px;rotate:-5deg}.game-hero-art i{position:absolute;left:5%;bottom:40px;font-size:50px;color:#ac6bed}.game-topbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:25px 0}.game-topbar h2{font-size:32px;margin:0;color:#30254b}.game-wallet-link{background:#fff1b3;border:1px solid #f0d27d;padding:13px 20px;border-radius:18px;color:#83520a;text-decoration:none;display:flex;gap:12px;align-items:center}.game-lobby{display:grid;grid-template-columns:1.6fr 1fr;gap:30px}.game-themes{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.game-theme{padding:22px 15px;text-align:left;background:#fff;border:2px solid #eee8f6;border-radius:22px;cursor:pointer;transition:transform .2s,border-color .2s,box-shadow .2s}.game-theme:hover{transform:translateY(-4px)}.game-theme.is-selected{border-color:#9161db;background:#f7f0ff;box-shadow:0 8px 20px #8050bf12}.game-theme>span{font-size:37px;display:block;margin-bottom:13px}.game-theme strong{display:block;color:#392a52;font-size:16px}.game-theme small{display:block;color:#81768e;font-size:12px;line-height:1.5;margin-top:8px}.game-start{padding:28px;border-radius:28px;background:linear-gradient(145deg,#6550b6,#9761cf);color:#fff;box-shadow:0 18px 38px #7655ab24}.game-start .game-kicker{color:#e6d4ff}.game-start h3{font-size:28px;line-height:1.2;margin:15px 0}.game-start p{line-height:1.65;color:#eee4ff}.game-start .button{width:100%;margin:7px 0;justify-content:space-between}.game-duel-button{background:#ffffff20;border:1px solid #ffffff50;color:white}.game-start .game-start-note{font-size:13px}.game-start .text-button,.game-resume-link{color:#fff;text-decoration:underline;font-size:13px}.game-resume-link{display:block;margin-top:12px}.game-rules{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:45px;padding-top:35px;border-top:1px solid #e8e0f0}.game-rules article>span{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#eee4ff;color:#7f52c3;font-weight:800}.game-rules h3{font-size:18px;margin:14px 0 8px}.game-rules p{font-size:14px;color:#7b7188;line-height:1.6}.ray-message:empty{display:none}.ray-message{padding:13px 18px;background:#fff1ce;border-radius:14px;color:#805426}.game-invitation{text-align:center;padding:40px;background:#fff;border:2px dashed #c8adeb;border-radius:25px}.game-invitation>span{font-size:65px}.game-arena{background:#f2ebfc;padding:28px;border:1px solid #e3d7f4;border-radius:30px}.game-arena-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.game-arena-top h2{font-size:28px;margin:8px 0}.game-arena-top p:last-child{font-size:13px;color:#7a6b8e}.game-clock{min-width:116px;background:white;border-radius:22px;padding:12px;text-align:center;color:#7050b0}.game-clock strong{display:block;font-size:34px;font-variant-numeric:tabular-nums}.game-clock span{font-size:11px}.game-clock.is-urgent{background:#fff0e6;color:#b74b27}.game-boards{display:grid;grid-template-columns:minmax(0,560px);justify-content:center;margin-top:20px}.game-board-panel{background:#fff;border:3px solid transparent;border-radius:24px;padding:20px;transition:border-color .3s,box-shadow .3s}.game-board-panel.is-turn{border-color:#b084eb;box-shadow:0 0 0 5px #b084eb1a}.game-board-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.game-board-heading h3{font-size:18px;margin:0}.game-score{color:#8057b0;font-weight:800;white-space:nowrap;font-size:14px}.game-board-meta{font-size:12px;color:#8b7d9c;font-variant-numeric:tabular-nums}.game-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;--back1:#ffc64c;--back2:#ff9c39;--ink:#fff8d7}.skin-forest{--back1:#69c995;--back2:#259b83;--ink:#e2fff2}.skin-cosmos{--back1:#a18be8;--back2:#6b5bb7;--ink:#f0e8ff}.game-card{aspect-ratio:1;border:0;padding:0;background:transparent;perspective:700px;border-radius:15px;cursor:pointer;min-width:0}.game-card:disabled{cursor:default;opacity:1}.game-card:focus-visible{outline:3px solid #693dae;outline-offset:3px}.game-card-inner{display:block;position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .38s cubic-bezier(.2,.7,.3,1)}.game-card.is-open .game-card-inner{transform:rotateY(180deg)}.game-card-back,.game-card-face{position:absolute;inset:0;display:grid;place-items:center;border-radius:15px;backface-visibility:hidden;-webkit-backface-visibility:hidden}.game-card-back{color:var(--ink);font-size:clamp(22px,3.6vw,45px);background:radial-gradient(circle at 25% 20%,#fff5 0 5%,transparent 6%),linear-gradient(145deg,var(--back1),var(--back2));box-shadow:0 5px 0 #c97e282b,inset 0 0 0 3px #fff6;text-shadow:0 2px 0 #a86e2020}.game-card-face{background:#fffaf0;transform:rotateY(180deg);border:2px solid #f0e6d4;overflow:hidden}.game-card-face svg{width:85%;height:85%}.game-card .game-emoji{font-size:clamp(24px,4vw,48px);line-height:1}.game-card.is-matched .game-card-face{background:#eaf9e9;border-color:#9ddd9b;animation:game-pop .5s ease-out}.game-invite-link{margin:20px 0;background:#ffffffa0;padding:16px;border-radius:16px}.game-invite-link label{font-size:13px;font-weight:700}.game-invite-link>div{display:flex;gap:8px;margin-top:8px}.game-invite-link input{flex:1;min-width:0;padding:10px;border:1px solid #ded3ed;border-radius:10px;background:white;font-size:13px}.game-result{margin:25px 0;padding:28px;text-align:center;border-radius:24px;background:radial-gradient(circle at 10% 20%,#ffd880 0 4px,transparent 5px),radial-gradient(circle at 90% 30%,#bc93fa 0 6px,transparent 7px),linear-gradient(135deg,#fff2c4,#eeffe9);border:2px solid white}.game-result h2{font-size:28px;color:#6f478e}.game-result.is-celebrating{animation:game-pop .6s ease-out}.game-moves{margin:20px 0;color:#766687;font-size:13px}.game-moves summary{cursor:pointer;font-weight:700}.game-moves ol{max-height:200px;overflow:auto;line-height:1.9}.ray-wallet__hero{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(120deg,#fff2bd,#ffdeb4);border-radius:24px;padding:28px}.ray-wallet h2{margin:8px 0;font-size:32px}.ray-wallet__hero p{max-width:420px;line-height:1.6}.ray-balance{white-space:nowrap;text-align:center;min-width:145px}.ray-balance strong{display:block;font-size:54px;color:#aa6d13}.ray-balance span{font-size:13px;color:#866744}.ray-shop{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0}.ray-skin{padding:24px 15px;border:1px solid #eee3ca;border-radius:22px;text-align:center;background:#fffaf0}.ray-skin--forest{background:#effbf2;border-color:#c9ead5}.ray-skin--cosmos{background:#f4eeff;border-color:#e2d5f5}.ray-skin>span{font-size:45px}.ray-skin h3{font-size:18px}.ray-skin .button{font-size:14px}.ray-history{background:#fff;padding:24px;border:1px solid #ece7ef;border-radius:22px}.ray-history>p{font-size:14px;line-height:1.7;color:#81758a}.ray-operation{display:grid;grid-template-columns:1fr auto;gap:6px;padding:14px 0;border-bottom:1px solid #eee9f2;font-size:14px}.ray-operation small{color:#998ca4}.ray-operation strong{grid-column:2;grid-row:1 / 3;align-self:center}.ray-income{color:#338864}.ray-history .button{margin-top:24px}
@keyframes game-bob{0%,100%{translate:0 0}50%{translate:0 -12px}}@keyframes game-pop{0%{scale:.9}65%{scale:1.035}100%{scale:1}}
@media(max-width:1000px){.game-themes{grid-template-columns:repeat(2,1fr)}.game-lobby{grid-template-columns:1.3fr 1fr}.game-board-panel{padding:12px}.game-boards{gap:14px}.game-arena{padding:18px}.game-grid{gap:7px}}
@media(max-width:700px){.game-hero{grid-template-columns:1fr;gap:0;padding-top:22px}.game-hero-art{height:240px;max-width:360px;width:100%;margin:auto}.game-orbit{width:220px;height:220px}.game-float{width:100px;height:125px;font-size:55px}.game-float--one{top:25px}.game-float--two{top:65px}.game-match-label{bottom:0}.game-sun{font-size:90px}.game-hero h1{font-size:46px}.game-hero>div>p:not(.game-kicker){font-size:17px}.game-chips{gap:6px}.game-chips span{font-size:11px;padding:7px 9px}.game-topbar h2{font-size:26px}.game-wallet-link{padding:10px 12px;font-size:12px}.game-lobby{grid-template-columns:1fr}.game-themes{grid-template-columns:repeat(2,1fr)}.game-rules{grid-template-columns:1fr;gap:20px}.game-rules article{position:relative;padding-left:48px}.game-rules article>span{position:absolute;left:0}.game-rules h3{margin-top:3px}.game-arena{padding:12px;border-radius:20px}.game-arena-top h2{font-size:21px}.game-clock{min-width:80px;padding:10px}.game-clock strong{font-size:26px}.game-boards{gap:10px}.game-board-panel{padding:8px;border-width:2px;border-radius:15px}.game-board-heading{flex-direction:column;align-items:flex-start}.game-board-heading h3{font-size:13px}.game-score{font-size:11px}.game-board-meta{font-size:10px;min-height:28px}.game-grid{gap:5px}.game-card-back,.game-card-face{border-radius:7px}.game-card-back{font-size:20px;box-shadow:inset 0 0 0 1px #fff6}.game-card .game-emoji{font-size:21px}.game-invite-link>div{flex-direction:column}.ray-wallet__hero{flex-direction:column;align-items:stretch}.ray-balance{text-align:left}.ray-shop{grid-template-columns:1fr}.ray-skin{display:grid;grid-template-columns:60px 1fr;gap:8px;text-align:left;align-items:center}.ray-skin h3,.ray-skin p{margin:0}.ray-skin>span{grid-row:1 / 3}.ray-skin .button{grid-column:2}.game-hero-art i{font-size:30px}}
@media(prefers-reduced-motion:reduce){.game-shell *,.ray-wallet *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Illustrated game world and event feedback. */
.page-games{background:radial-gradient(ellipse at 85% 5%,#f3dfff80,transparent 38%),radial-gradient(ellipse at 5% 20%,#fff2c599,transparent 35%),#faf8ff}
.game-hero-art{height:370px}.game-hero-illustration{width:118%;max-width:650px;height:auto;filter:drop-shadow(0 20px 24px #815a8b17);animation:game-bob 7s ease-in-out infinite}.game-match-label{bottom:3px;left:34%;box-shadow:0 10px 25px #4b9e6720}.game-hero-art i{left:0;bottom:30px}
.game-sound{margin-left:auto;padding:10px 14px;border:1px solid #e3d6f1;border-radius:14px;color:#79549e;background:#fff;cursor:pointer;font-size:13px;font-weight:600}
.game-theme:last-child{grid-column:span 2}.game-result{position:relative;overflow:hidden}.game-confetti{position:absolute;top:-15px;left:var(--x);width:9px;height:14px;border-radius:3px;background:hsl(var(--hue) 80% 65%);animation:game-confetti 2s var(--delay) ease-out both;pointer-events:none}
@keyframes game-confetti{0%{translate:0 -20px;rotate:0deg;opacity:1}100%{translate:30px 240px;rotate:390deg;opacity:0}}
@media(max-width:700px){.game-hero-art{height:245px;max-width:400px}.game-hero-illustration{width:110%}.game-match-label{font-size:12px;padding:9px 16px}.game-topbar{display:grid;grid-template-columns:1fr 1fr;gap:10px}.game-topbar h2{grid-column:1 / -1}.game-sound{font-size:12px;padding:9px;margin-left:0}.game-wallet-link{margin-left:auto}.game-theme:last-child{grid-column:span 2}}
@media(prefers-reduced-motion:reduce){.game-hero-illustration,.game-confetti{animation:none!important}.game-confetti{display:none}}

/* One shared table, individual scores and claimed pairs. */
.game-players{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:720px;margin:24px auto 0}.game-players.is-solo{grid-template-columns:minmax(0,1fr);max-width:560px}.game-player{position:relative;display:grid;grid-template-columns:1fr auto;gap:8px 12px;background:#fff;border:2px solid #e7def2;border-radius:20px;padding:18px 20px;transition:border-color .25s,box-shadow .25s}.game-player h3{font-size:17px;margin:0;color:#32815b}.game-player.is-opponent h3{color:#8258bc}.game-player-score{grid-column:2;grid-row:1 / 3;align-self:center;font-size:28px;color:#32815b;font-variant-numeric:tabular-nums}.is-opponent .game-player-score{color:#8258bc}.game-player p{margin:0;color:#887995;font-size:12px;font-variant-numeric:tabular-nums}.game-player-status{grid-column:1 / -1;font-size:11px;color:#887995}.game-player.is-turn{border-color:#62bd8a;box-shadow:0 0 0 4px #62bd8a1a}.game-player.is-opponent.is-turn{border-color:#ac83df;box-shadow:0 0 0 4px #ac83df1a}.game-player.is-turn .game-player-status{color:#32815b;font-weight:800}.game-player.is-opponent.is-turn .game-player-status{color:#8258bc}.game-player--waiting{display:grid;place-items:center;border-style:dashed;color:#9a82b7;font-size:14px;text-align:center;line-height:1.6}.game-card-owner{position:absolute;right:5px;bottom:5px;padding:2px 7px;border-radius:7px;background:#32815b;color:white;font-size:10px;font-weight:800;line-height:1.5}.game-card.is-opponent .game-card-face{background:#f0e8fc;border-color:#bb9ae8}.game-card.is-opponent .game-card-owner{background:#8258bc}
@media(max-width:700px){.game-players{gap:10px;margin-top:20px}.game-player{padding:12px;gap:7px;border-radius:16px}.game-player h3{font-size:14px}.game-player-score{font-size:23px}.game-player p{grid-column:1 / -1;font-size:10px}.game-player-status{font-size:10px}.game-player--waiting{font-size:12px}.game-board-heading{flex-direction:row;align-items:center}.game-board-heading h3{font-size:16px}.game-board-meta{font-size:12px;min-height:0;line-height:1.5}.game-grid{gap:8px}.game-board-panel{padding:12px}.game-card-back,.game-card-face{border-radius:12px}.game-card-back{font-size:38px}.game-card .game-emoji{font-size:38px}.game-card-owner{right:3px;bottom:3px;font-size:9px;padding:1px 5px}}

.game-player-status{display:flex;align-items:center;flex-wrap:wrap;gap:3px 7px;min-height:20px}
.game-turn-steps{position:relative;display:inline-block;flex:none;width:38px;height:20px}
.game-turn-foot{position:absolute;top:0;left:0;width:9px;height:15px;fill:currentColor;rotate:75deg;opacity:0;animation:game-footstep 1.6s ease-in-out infinite}
.game-turn-foot:nth-child(2){left:13px;top:5px;rotate:105deg;animation-delay:.27s}
.game-turn-foot:nth-child(3){left:26px;animation-delay:.54s}
@keyframes game-footstep{0%,60%,100%{opacity:0;transform:scale(.75)}12%,30%{opacity:.9;transform:scale(1)}48%{opacity:.25;transform:scale(.95)}}
@media(prefers-reduced-motion:reduce){.game-turn-foot{animation:none;opacity:.6;transform:none}}

/* The room uses the viewport as a playing table, with a compact control column. */
.game-back{display:none}
.game-audio-controls{display:flex;align-items:center;gap:8px;margin-left:auto}.game-audio-controls .game-sound{margin-left:0}.game-audio-controls .game-sound[aria-pressed=true]{background:#f4edff;border-color:#d8c2ed;color:#73509a}
.is-game-room .site-header,.is-game-room .site-footer,.is-game-room .game-hero,.is-game-room .game-rules{display:none}
.is-game-room .game-shell{width:min(calc(100% - 24px),1180px);padding:8px 0;min-height:100dvh}
.is-game-room .game-topbar{display:flex;gap:12px;min-height:36px;margin:0 0 8px}
.is-game-room .game-back{display:inline-flex;align-items:center;min-height:36px;color:#7152a8;font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap}
.is-game-room .game-topbar h2{font-size:20px;white-space:nowrap}
.is-game-room .game-sound{padding:8px 11px;font-size:12px}
.is-game-room .game-wallet-link{padding:8px 12px;border-radius:12px;font-size:12px;gap:7px;margin-left:0}
.is-game-room .game-wallet-link>span{display:none}
.is-game-room .ray-message{margin:0 0 8px;padding:8px 12px;font-size:12px}
.is-game-room .game-arena{display:grid;grid-template-columns:minmax(230px,290px) minmax(0,1fr);align-items:start;gap:16px 24px;padding:20px;border-radius:24px}
.game-console{min-width:0}
.is-game-room .game-console{display:flex;flex-direction:column;gap:16px}
.is-game-room .game-arena-top{display:grid;grid-template-columns:minmax(0,1fr) 70px;gap:10px;align-items:start}
.is-game-room .game-kicker{font-size:10px;margin:0 0 7px;line-height:1.4}
.is-game-room .game-arena-top h2{font-size:21px;line-height:1.25;margin:0 0 8px}
.is-game-room #game-connection{font-size:11px;line-height:1.4;margin:0}
.is-game-room .game-clock{min-width:0;padding:9px 5px;border-radius:16px}
.is-game-room .game-clock strong{font-size:28px;line-height:1.1}
.is-game-room .game-clock span{display:block;font-size:9px;line-height:1.3;margin-top:4px}
.is-game-room .game-players,.is-game-room .game-players.is-solo{grid-template-columns:1fr;width:100%;max-width:none;margin:0;gap:10px}
.is-game-room .game-player{padding:12px 14px;gap:6px 10px;border-radius:16px}
.is-game-room .game-player h3{font-size:15px}.is-game-room .game-player-score{font-size:25px}
.is-game-room .game-player p{font-size:11px}.is-game-room .game-player-status{font-size:10px;min-height:20px}
.is-game-room .game-boards{display:flex;justify-content:center;min-width:0;margin:0;gap:0}
.is-game-room .game-board-panel{width:min(100%,var(--game-board-width,560px));flex:none;min-width:0;padding:14px;border-radius:20px}
.is-game-room .game-board-heading{flex-direction:row;align-items:center;margin-bottom:12px}
.is-game-room .game-board-heading h3{font-size:17px}.is-game-room .game-score{font-size:12px}
.is-game-room .game-board-meta{display:none}
.is-game-room .game-grid{gap:8px}.is-game-room .game-card{border-radius:12px}
.is-game-room .game-card-back,.is-game-room .game-card-face{border-radius:12px}
.is-game-room .game-invite-link{margin:0;padding:12px}.is-game-room .game-invite-link>div{flex-direction:column}
.is-game-room .game-actions{margin:0;gap:8px}.is-game-room .game-actions .button{min-height:36px;padding:8px 12px;font-size:12px}
.is-game-room .game-actions .text-button{font-size:12px;min-height:28px}
.is-game-room .game-moves{position:relative;margin:0;font-size:12px}
.is-game-room .game-moves ol{position:absolute;z-index:5;bottom:100%;left:0;width:100%;margin:0 0 8px;max-height:180px;padding:12px 12px 12px 30px;background:white;border:1px solid #dacee9;border-radius:14px;box-shadow:0 8px 28px #44316d22}
.is-game-room .game-result,.is-game-room #game-again{grid-column:1 / -1;margin:0}
@media(max-width:700px){
 .is-game-room .game-shell{width:calc(100% - 16px);padding:6px 0}
 .is-game-room .game-topbar{gap:8px;margin-bottom:6px}.is-game-room .game-topbar h2{display:none}
 .is-game-room .game-sound{padding:8px;font-size:11px}.is-game-room .game-wallet-link{font-size:11px;padding:8px;gap:5px}
 .is-game-room .game-arena{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:18px}
 .is-game-room .game-console{display:contents}
 .is-game-room .game-arena-top{order:1;width:100%;grid-template-columns:minmax(0,1fr) 64px;gap:8px}
 .is-game-room .game-kicker{font-size:9px;margin-bottom:3px}
 .is-game-room .game-arena-top h2{font-size:18px;margin-bottom:4px}.is-game-room #game-connection{font-size:10px}
 .is-game-room .game-clock{padding:7px 4px}.is-game-room .game-clock strong{font-size:26px}
 .is-game-room .game-players{order:2;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .is-game-room .game-player{padding:8px 10px;gap:3px 7px;border-radius:13px}
 .is-game-room .game-player h3{font-size:12px}.is-game-room .game-player-score{font-size:22px}
 .is-game-room .game-player p{grid-column:1 / -1;font-size:9px}.is-game-room .game-player-status{font-size:9px;gap:2px 4px}
 .is-game-room .game-invite-link{order:3;width:100%}
 .is-game-room .game-boards{order:4;width:100%}
 .is-game-room .game-board-panel{padding:9px;border-radius:15px}
 .is-game-room .game-board-heading{margin-bottom:8px;gap:5px}.is-game-room .game-board-heading h3{font-size:13px}.is-game-room .game-score{font-size:10px}
 .is-game-room .game-grid{gap:6px}.is-game-room .game-card-back{font-size:clamp(22px,8vw,36px)}.is-game-room .game-card .game-emoji{font-size:clamp(22px,8vw,36px)}
 .is-game-room .game-actions{order:5;width:100%;justify-content:center}.is-game-room .game-moves{order:6;align-self:center}
 .is-game-room .game-moves ol{width:min(280px,calc(100vw - 48px));left:50%;translate:-50% 0}
 .is-game-room .game-result{order:7;width:100%;padding:16px}.is-game-room #game-again{order:8;align-self:center}
 .is-game-room .game-arena:not(.is-playing):not(.is-ended) .game-boards{display:none}
}
@media(min-width:701px) and (max-height:540px){
 .is-game-room .game-arena{grid-template-columns:250px minmax(0,1fr);gap:12px;padding:12px}
 .is-game-room .game-console{gap:8px}.is-game-room .game-arena-top h2{font-size:17px}
 .is-game-room .game-kicker{margin-bottom:3px}.is-game-room .game-players{gap:6px}
 .is-game-room .game-player{padding:7px 10px;gap:2px 6px}.is-game-room .game-player p{font-size:9px}
 .is-game-room .game-player h3{font-size:12px}.is-game-room .game-player-score{font-size:21px}
 .is-game-room .game-player-status{font-size:9px;min-height:17px}
 .is-game-room .game-board-heading h3{font-size:13px}.is-game-room .game-score{font-size:10px}
}
.is-game-room .game-actions{flex-direction:column;align-items:flex-start}
@media(max-width:700px){.is-game-room .game-actions{flex-direction:row;align-items:center;gap:6px 14px}}
@media(max-width:700px) and (max-height:700px){
 .is-game-room .game-arena{padding:9px;gap:7px}
 .is-game-room .game-arena-top h2{font-size:16px;line-height:1.2;margin-bottom:3px}
 .is-game-room .game-clock{padding:6px 4px}.is-game-room .game-clock strong{font-size:24px}
 .is-game-room .game-player{padding:6px 8px;gap:2px 4px}
 .is-game-room .game-player h3{font-size:11px;line-height:1.3}.is-game-room .game-player-score{font-size:19px}
 .is-game-room .game-player p{font-size:8.5px;line-height:1.4}.is-game-room .game-player-status{font-size:8px;min-height:18px}
 .is-game-room .game-turn-steps{width:32px;height:17px}.is-game-room .game-turn-foot{width:8px;height:12px}
 .is-game-room .game-turn-foot:nth-child(2){left:11px;top:4px}.is-game-room .game-turn-foot:nth-child(3){left:22px}
 .is-game-room .game-board-heading h3{font-size:12px}.is-game-room .game-score{font-size:9px}
 .is-game-room .game-actions .text-button,.is-game-room .game-moves{font-size:10px}
}
@media(min-width:701px) and (max-height:540px){
 .is-game-room .game-actions{flex-direction:row;align-items:center;gap:6px 10px}
 .is-game-room .game-actions .text-button,.is-game-room .game-moves{font-size:11px}
}
@media(min-width:701px) and (max-height:380px){
 .is-game-room .game-shell{padding:4px 0}.is-game-room .game-topbar{margin-bottom:4px}
 .is-game-room .game-console{gap:6px}.is-game-room .game-player{padding:5px 8px}
 .is-game-room .game-arena-top h2{font-size:16px}
}
.game-topbar .game-audio-controls{gap:6px;width:auto;flex:none}
.game-audio-controls .game-sound,.is-game-room .game-audio-controls .game-sound{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:36px;min-height:36px;flex:none;padding:7px 10px;margin:0;border:1px solid #ddd3e8;border-radius:12px;background:#fffc;color:#7a7085;font-family:inherit;font-size:12px;font-weight:600;line-height:1.2;box-shadow:0 2px 4px #49345f06;transition:background .2s,border-color .2s,box-shadow .2s}
.game-audio-controls .game-sound[aria-pressed=true]{background:#f0e7fc;border-color:#c5a9e7;color:#7143a3;box-shadow:inset 0 1px 0 #fff9,0 2px 4px #70469b0b}
.game-sound svg{display:block;width:18px;height:18px;flex:none}.game-sound .game-audio-muted{display:none}
.game-sound[aria-pressed=false] .game-audio-muted{display:block}.game-sound[aria-pressed=false] .game-audio-wave{display:none}
.game-sound:focus-visible,.game-wallet-link:focus-visible{outline:3px solid #8c5cc0;outline-offset:3px}
@media(hover:hover){.game-audio-controls .game-sound:hover{border-color:#af89d4;background:#f5edff;box-shadow:0 3px 8px #70469b14}}
.game-topbar .game-wallet-link{min-height:36px;padding:8px 12px;gap:8px;border-radius:12px;white-space:nowrap;font-size:13px;line-height:1.2;background:linear-gradient(135deg,#fff4c6,#ffedaa);box-shadow:inset 0 1px 0 #fff9,0 2px 5px #9c74130a}
.game-wallet-icon{width:18px;height:18px;flex:none;color:#d29a12}.game-wallet-link strong{font-variant-numeric:tabular-nums;white-space:nowrap}
@media(max-width:700px){
 .game-topbar{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 8px;margin:20px 0}
 .game-topbar h2{grid-column:1 / -1;grid-row:1;margin:0;line-height:1.2}
 .game-topbar .game-audio-controls{grid-column:1;grid-row:2;justify-content:flex-start;margin:0}
 .game-topbar .game-wallet-link{grid-column:2;grid-row:2;justify-self:end;margin:0;padding:8px 10px;font-size:12px;gap:6px}
 .game-topbar .game-wallet-shop{display:none}
 .is-game-room .game-topbar{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:8px;min-height:36px}
 .is-game-room .game-back{grid-column:1;grid-row:1;font-size:12px}
 .is-game-room .game-audio-controls{grid-column:2;grid-row:1}
 .is-game-room .game-audio-controls .game-sound{width:36px;padding:7px}
 .is-game-room .game-audio-label{display:none}
 .is-game-room .game-topbar .game-wallet-link{grid-column:3;grid-row:1;font-size:11px;padding:8px;gap:5px}
}
@media(max-width:359px){.game-topbar .game-audio-label{display:none}.game-topbar .game-audio-controls .game-sound{width:36px;padding:7px}}
.game-kind-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:28px}
.game-kind-picker button{
 --kind-accent:#8a60bd;--kind-border:#e3d6f1;--kind-wash:#f3eafb;--kind-shadow:#8055ad24;
 position:relative;isolation:isolate;display:grid;grid-template-columns:88px minmax(0,1fr);grid-template-rows:1fr 1fr;
 gap:6px 12px;min-width:0;min-height:128px;padding:18px 28px 18px 14px;overflow:hidden;
 text-align:left;font:inherit;color:#49345f;cursor:pointer;
 background:linear-gradient(120deg,#fffdfa 10%,#faf6ff);border:1.5px solid var(--kind-border);border-radius:24px;
 box-shadow:0 3px 0 var(--kind-border),0 8px 20px #49345f06;
 transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease;
}
.game-kind-picker button[data-kind="differences"]{--kind-accent:#388779;--kind-border:#d2e7dd;--kind-wash:#e6f5ed;--kind-shadow:#37877524;background:linear-gradient(120deg,#fffefa 10%,#f1f9f3);color:#2d5e53}
.game-kind-picker button::before{content:"";position:absolute;z-index:-1;width:145px;height:145px;left:-40px;top:-24px;border-radius:50%;background:var(--kind-wash);opacity:.65;pointer-events:none}
.game-kind-picker button::after{content:"";position:absolute;top:12px;right:12px;width:21px;height:21px;border:1.5px solid var(--kind-border);border-radius:50%;background:#ffffffb3;box-shadow:inset 0 1px 2px #49345f06;pointer-events:none}
.game-kind-picker .game-kind-icon{grid-row:1 / 3;align-self:center;display:block;width:88px;height:88px;object-fit:contain;filter:drop-shadow(0 3px 3px #6845750c);transition:transform .25s ease}
.game-kind-picker strong{align-self:end;font-size:18px;line-height:1.3;letter-spacing:-.025em}
.game-kind-picker small{align-self:start;font-size:12px;line-height:1.5;color:#756483}
.game-kind-picker [data-kind="differences"] small{color:#607e72}
.game-kind-picker button.is-selected{border-color:var(--kind-accent);background:linear-gradient(120deg,#fffcf8,var(--kind-wash));box-shadow:0 3px 0 var(--kind-accent),0 9px 22px var(--kind-shadow)}
.game-kind-picker button.is-selected::after{border-color:var(--kind-accent);background:var(--kind-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m5 10 3 3 7-7' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 19px 19px no-repeat;box-shadow:0 2px 5px var(--kind-shadow)}
.game-kind-picker button:focus-visible{outline:3px solid var(--kind-accent);outline-offset:5px}
@media(hover:hover){
 .game-kind-picker button:hover{transform:translateY(-3px);border-color:var(--kind-accent);box-shadow:0 4px 0 var(--kind-border),0 12px 24px var(--kind-shadow)}
 .game-kind-picker button.is-selected:hover{box-shadow:0 4px 0 var(--kind-accent),0 12px 24px var(--kind-shadow)}
 .game-kind-picker button:hover .game-kind-icon{transform:rotate(-4deg) scale(1.05)}
}
.game-kind-picker button:active{transform:translateY(2px);box-shadow:0 1px 0 var(--kind-accent),0 3px 8px var(--kind-shadow)}
@media(max-width:1100px){
 .game-kind-picker button{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto 1fr;gap:5px;align-content:start;padding:14px 16px 18px;border-radius:21px}
 .game-kind-picker .game-kind-icon{grid-row:auto;width:80px;height:80px;margin-bottom:3px}
 .game-kind-picker strong{align-self:start;font-size:16px}
 .game-kind-picker small{font-size:11px}
}
@media(max-width:380px){.game-kind-picker{gap:10px}.game-kind-picker button{padding:12px 10px 16px}.game-kind-picker strong{font-size:14px}.game-kind-picker small{font-size:10px}}
.difference-preview{overflow:hidden;background:#f4f7e9;border:1px solid #dae6cf;border-radius:24px}.difference-preview img{display:block;width:100%;height:auto;max-height:320px;object-fit:cover}.difference-preview>div{padding:24px}.difference-preview h3{font-size:28px;margin:0 0 12px}.difference-preview p{line-height:1.6}
.is-difference-room .game-arena{grid-template-columns:minmax(210px,250px) minmax(0,1fr);gap:16px}
.is-game-room .difference-board{width:100%;background:#fffdf6;border:1px solid #dedfcf;box-shadow:0 8px 28px #485c4510}
.difference-instruction,.difference-help{font-size:12px;line-height:1.5;margin:8px 0;color:#71677b}.difference-help{font-size:11px;margin-bottom:0}
.difference-legend{display:flex;flex-wrap:wrap;gap:8px 18px;margin:10px 0;font-size:12px;font-weight:700}
.owner-0{--difference-color:#147d70}.owner-1{--difference-color:#8651bb}
.difference-owner{color:var(--difference-color)}.difference-owner::before{content:'';display:inline-block;width:12px;height:12px;border:3px solid currentColor;border-radius:50%;vertical-align:-2px;margin-right:6px}
.difference-pictures{display:grid;grid-template-columns:1fr 1fr;gap:12px}.difference-pictures figure{min-width:0;margin:0}.difference-pictures figcaption{font-size:11px;font-weight:700;color:#776889;margin-bottom:6px}
.difference-surface{position:relative;border-radius:12px;overflow:hidden;cursor:crosshair;touch-action:manipulation;outline-offset:3px;line-height:0;isolation:isolate}
.difference-surface img{display:block;width:100%;height:auto;user-select:none;pointer-events:none}.difference-surface[aria-disabled="true"]{cursor:default}.difference-surface:focus-visible{outline:3px solid #7251a0}
.difference-surface svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.difference-found ellipse{fill:none;stroke:var(--difference-color);stroke-width:4;paint-order:stroke;filter:drop-shadow(0 0 1px white)}
.difference-found text{font:700 20px system-ui;fill:var(--difference-color);stroke:#fff;stroke-width:4;paint-order:stroke}
.difference-miss{stroke:#bd3f4e;stroke-width:4;fill:none;stroke-linecap:round}
.difference-cursor{display:none;stroke:#30334d;stroke-width:3;filter:drop-shadow(0 0 2px white)}.difference-surface:focus-visible .difference-cursor{display:block}
.difference-feedback{min-height:36px;margin:12px 0 0;font-size:13px;font-weight:650;line-height:1.5;color:#514360}
.difference-board.is-waiting .difference-pictures{display:none}
.game-player.difference-player{border-color:var(--difference-color)}.game-player.difference-player h3{color:var(--difference-color)}
@media(min-width:701px) and (max-width:1100px){.difference-pictures{grid-template-columns:1fr}.difference-surface{max-width:470px;margin:auto}}
@media(max-width:700px){.difference-pictures{grid-template-columns:1fr;gap:10px}.difference-surface{max-width:500px;margin:auto}.difference-preview>div{padding:18px}.difference-feedback{font-size:12px}.is-difference-room .game-arena{display:flex}.difference-legend{font-size:11px}}
@media(max-width:1100px){.difference-surface{max-width:var(--difference-image-width,500px)}}
@media(max-width:700px){.difference-instruction{display:none}.difference-feedback{min-height:18px;margin-top:8px}.difference-help{font-size:10px}.difference-legend{margin:6px 0}.difference-pictures figcaption{text-align:center}.difference-pictures{gap:6px}}
.difference-player .game-player-score,.difference-player.is-opponent .game-player-score{color:var(--difference-color)}
@media(max-width:700px){.difference-player .game-player-score{grid-row:1}.is-difference-room .game-player-status{min-height:16px}.is-difference-room .game-player{gap:2px 7px;padding:6px 10px}.is-difference-room .game-arena{gap:10px}}
.difference-pending{fill:#fff3;stroke:var(--difference-color);stroke-width:4;stroke-dasharray:6 4}
.difference-catalog-heading{margin:24px 0 12px}.difference-catalog-heading h3{margin:0 0 8px;font-size:22px}.difference-catalog-heading p{font-size:13px;line-height:1.5;color:#756685}
.difference-stories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-height:500px;overflow:auto;padding:3px 5px 8px 3px;scrollbar-width:thin;scrollbar-color:#b6a1d2 transparent}
.difference-story{position:relative;display:flex;flex-direction:column;gap:5px;overflow:hidden;padding:0 0 12px;border:2px solid #e5dcee;border-radius:16px;background:#fff;color:#493958;font:inherit;text-align:left;cursor:pointer}
.difference-story img{display:block;width:100%;height:auto;aspect-ratio:15/11}.difference-story strong,.difference-story small,.difference-story-category{padding:0 10px}.difference-story strong{font-size:13px;line-height:1.35}.difference-story small{margin-top:auto;font-size:10px;color:#6f5b88}.difference-story-category{font-size:9px;color:#8a709d;margin-top:4px}
.difference-story-number{position:absolute;top:6px;left:6px;display:grid;place-items:center;min-width:25px;height:25px;background:#fffdf0;border-radius:50%;font-size:11px;font-weight:800;color:#695080;box-shadow:0 2px 6px #46404d15}
.difference-story.is-selected{border-color:#8761ba;background:#f5efff}.difference-story:focus-visible{outline:3px solid #8761ba;outline-offset:1px}
#game-difference-preview .difference-preview{display:grid;grid-template-columns:1fr 1fr;align-items:center}#game-difference-preview .difference-preview img{max-height:none;object-fit:contain}#game-difference-preview .difference-preview>div{padding:18px}#game-difference-preview .difference-preview h3{font-size:22px}#game-difference-preview .difference-preview p{font-size:12px}
.game-start .button:disabled{opacity:.6;cursor:not-allowed}
@media(min-width:701px){.game-lobby .game-start{align-self:start;position:sticky;top:20px}}
@media(max-width:700px){.difference-stories{grid-template-columns:repeat(2,minmax(0,1fr));max-height:390px}#game-difference-preview .difference-preview{grid-template-columns:1fr}#game-difference-preview .difference-preview img{max-height:180px}#game-difference-preview .difference-preview>div{padding:12px 16px}.difference-catalog-heading h3{font-size:20px}}

/* The active player's colour follows the score and the marks on the board. */
.page-games.has-game-turn{background:var(--game-turn-wash)}
.has-game-turn .game-arena{background:var(--game-turn-wash);border-color:var(--game-turn-color)}
.has-game-turn #game-status{color:var(--game-turn-color)}
.game-player.difference-player.is-turn .game-player-status{color:var(--difference-color)}
.has-game-turn .game-board-panel.is-turn{border-color:var(--game-turn-color);box-shadow:0 0 0 3px var(--game-turn-wash)}
.game-next-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;width:100%}
.game-next-actions p{flex-basis:100%;margin:0;text-align:center;color:#644581}
.game-next-actions .button{white-space:normal;text-align:center}
.game-rematch-dialog{width:min(460px,calc(100% - 24px));max-height:calc(100dvh - 32px);overflow:auto;box-sizing:border-box;padding:24px;border:1px solid #dfd0ed;border-radius:22px;background:#fffdf8;color:#49345f;box-shadow:0 20px 70px #30214040}
.game-rematch-dialog::backdrop{background:#30214066;backdrop-filter:blur(4px)}
.game-rematch-dialog h2{font-size:23px;line-height:1.25;margin:0 0 12px}
.game-rematch-dialog p{font-size:14px;line-height:1.6}
.game-rematch-dialog label{display:block;font-size:13px;font-weight:700;margin:16px 0 6px}
.game-rematch-dialog select{display:block;width:100%;min-width:0;min-height:44px;padding:10px;border:1px solid #cdb9df;border-radius:10px;background:white;color:inherit;font:inherit;font-size:16px}
.game-rematch-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.game-rematch-actions .button{white-space:normal}
@media(max-width:700px){
 .is-difference-room .difference-surface{width:100%;max-width:none;margin:0}
 .is-difference-room .game-arena{padding:8px}
 .is-difference-room .difference-board{padding:7px}
 .has-game-turn .game-shell{padding-top:calc(64px + env(safe-area-inset-top))}
 .has-game-turn .game-arena-top{position:fixed;z-index:50;inset:0 0 auto;width:100%;box-sizing:border-box;grid-template-columns:minmax(0,1fr) 62px;align-items:center;gap:8px;padding:calc(6px + env(safe-area-inset-top)) 12px 6px;background:color-mix(in srgb,var(--game-turn-wash) 82%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--game-turn-color);box-shadow:0 2px 12px #30214012}
 .has-game-turn .game-arena-top .game-kicker{display:none}
 .has-game-turn .game-arena-top h2{font-size:15px;line-height:1.25;margin:0 0 3px}
 .has-game-turn #game-connection{font-size:10px;line-height:1.2}
 .has-game-turn .game-clock{display:flex;align-items:center;justify-content:center;gap:3px;padding:5px 3px;border-radius:10px;background:#ffffff80;color:var(--game-turn-color)}
 .has-game-turn .game-clock strong{font-size:22px}.has-game-turn .game-clock span{font-size:0;margin:0}.has-game-turn .game-clock span::after{content:'с';font-size:11px}
 .has-game-turn .game-clock.is-urgent{background:#fff0e6;color:#b74b27}
 .game-next-actions{flex-direction:column}.game-next-actions .button{width:100%;justify-content:center;font-size:14px}
}
