.artist-game-page{display:flex;flex-direction:column;padding-top:42px;padding-bottom:80px}.artist-game-hero{max-width:620px;margin:0 auto 24px;text-align:center}.artist-game-hero h1{margin:5px 0 8px;font-size:clamp(38px,8vw,68px);line-height:.95}.artist-game-hero p{color:var(--muted)}.artist-game-shell{position:relative;width:min(100%,540px);margin:0 auto}.artist-game-mode{display:grid;grid-template-columns:1fr 1fr;grid-gap:4px;gap:4px;margin-bottom:10px;padding:4px;border-radius:12px;background:var(--soft)}.artist-game-mode button{min-height:38px;border:0;border-radius:9px;color:var(--muted);background:transparent;font-size:12px;font-weight:850;cursor:pointer}.artist-game-mode button.active{color:white;background:var(--orange);box-shadow:0 5px 14px rgba(217,121,0,.22)}.artist-game-level{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;color:var(--muted);font-size:11px}.artist-game-level strong{color:var(--ink)}.artist-game-level small{text-align:right}.artist-game-players{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.artist-game-player{position:relative;display:flex;align-items:center;min-width:0;gap:10px;padding:9px 42px 9px 9px;border:1px solid var(--line);border-radius:14px;background:var(--white);transition:border-color .2s,transform .2s,box-shadow .2s}.artist-game-player.is-active{border-color:var(--orange);box-shadow:0 0 0 3px rgba(243,146,0,.14);transform:translateY(-2px)}.artist-game-mark{position:absolute;right:10px;top:50%;display:grid;place-items:center;width:25px;height:25px;border-radius:8px;transform:translateY(-50%);color:white;background:#e05d24;font-size:14px;line-height:1;box-shadow:0 4px 10px rgba(0,0,0,.16)}.artist-game-player-o .artist-game-mark{border-radius:50%;background:#1d73c9}.artist-game-player img{width:52px;height:52px;border-radius:50%;object-fit:cover;flex:0 0 auto}.artist-game-player span{min-width:0;display:grid}.artist-game-player small{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.artist-game-player strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.artist-game-status{min-height:112px;display:grid;place-content:center;text-align:center}.artist-game-status h2{margin:3px 0;font-size:clamp(21px,5vw,30px)}.artist-game-status p{margin:0;color:var(--muted);font-size:13px}.artist-game-board{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;padding:9px;border-radius:22px;background:linear-gradient(135deg,#ffb000,var(--orange-dark));box-shadow:0 18px 50px rgba(70,38,0,.22)}.artist-game-square{position:relative;aspect-ratio:1;padding:0;overflow:hidden;border:0;border-radius:15px;background:rgba(255,255,255,.94);cursor:pointer;perspective:400px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.artist-game-square:disabled{cursor:default}.artist-game-square:not(:disabled):active{transform:scale(.97)}.artist-game-square-inner{position:absolute;inset:0;display:grid;place-items:center;color:rgba(35,27,17,.3);font-weight:800}.artist-game-square-inner img{object-fit:cover}.artist-game-square.is-played .artist-game-square-inner{animation:artistGameFlipIn .62s ease both;-webkit-backface-visibility:visible;backface-visibility:visible}.artist-game-square.is-played .artist-game-square-inner:after{content:attr(data-mark);position:absolute;inset:0;z-index:1;display:grid;place-items:center;color:rgba(255,255,255,.96);font-size:clamp(48px,11vw,92px);font-weight:950;line-height:1;text-shadow:0 3px 12px rgba(0,0,0,.48);pointer-events:none}.artist-game-square.is-x .artist-game-square-inner:after{content:"X";background:linear-gradient(135deg,rgba(224,93,36,.12),rgba(133,39,12,.38))}.artist-game-square.is-o .artist-game-square-inner:after{content:"O";background:linear-gradient(135deg,rgba(29,115,201,.1),rgba(9,48,101,.4))}.artist-game-board:has(.is-winning){animation:gameBoardVictoryGlow 1.8s ease-out both}.artist-game-board:has(.is-winning) .artist-game-square:not(.is-winning){animation:gameLosingTileFade .55s ease-out both}.artist-game-square.is-winning{z-index:2;box-shadow:inset 0 0 0 5px #fff2a8,0 0 0 3px #ffb000,0 0 28px rgba(255,193,7,.95);animation:gameWinningTile 1.15s cubic-bezier(.16,.9,.3,1.2) both;transform-origin:center}.artist-game-square.is-winning:nth-child(2),.artist-game-square.is-winning:nth-child(4),.artist-game-square.is-winning:nth-child(6),.artist-game-square.is-winning:nth-child(8){animation-delay:.08s}.artist-game-square.is-winning:nth-child(3),.artist-game-square.is-winning:nth-child(7),.artist-game-square.is-winning:nth-child(9){animation-delay:.16s}.artist-game-square.is-winning .artist-game-square-inner:after{animation:gameWinningMark 1.15s ease-out .12s both}.artist-game-actions{display:flex;justify-content:center;gap:10px;margin-top:20px}.artist-game-actions .btn-primary.is-ready{animation:restartRoundPrompt 1.15s ease-in-out infinite}.artist-game-outcome{position:absolute;inset:70px -24px auto;height:390px;overflow:hidden;z-index:4;pointer-events:none}.artist-game-outcome.is-victory:after,.artist-game-outcome.is-victory:before{content:"";position:absolute;z-index:-1;left:50%;top:62%;width:230px;height:230px;border:4px solid rgba(255,183,0,.7);border-radius:50%;transform:translate(-50%,-50%);animation:gameVictoryRing 1.25s ease-out both}.artist-game-outcome.is-victory:after{width:160px;height:160px;border-color:rgba(255,91,35,.65);animation-delay:.16s}.artist-game-outcome i{--piece:0;position:absolute;left:calc(7% + var(--piece) * 10.5%);bottom:-70px;width:30px;height:38px;border-radius:52% 48% 48% 52%;background:hsl(calc(var(--piece) * 42deg + 18deg) 82% 56%);box-shadow:inset -7px -6px 0 rgba(0,0,0,.1);animation:gameBalloonRise 2.3s cubic-bezier(.2,.7,.3,1) calc(var(--piece) * .06s) both}.artist-game-outcome i:after{content:"";position:absolute;left:50%;top:100%;width:1px;height:34px;background:rgba(70,60,50,.38)}.artist-game-outcome.is-defeat i{top:-55px;bottom:auto;filter:grayscale(.55);opacity:.7;animation-name:gameBalloonFall;animation-duration:1.75s}.artist-game-victory-backdrop{position:fixed;inset:0;z-index:190;display:grid;place-items:center;padding:20px;background:rgba(8,8,8,.52);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:gameVictoryBackdropIn .3s ease-out both}.artist-game-victory-modal{position:relative;width:min(360px,100%);overflow:hidden;padding:32px;border:1px solid rgba(255,255,255,.5);border-radius:22px;text-align:center;background:var(--white);box-shadow:0 28px 80px rgba(0,0,0,.3);animation:gameVictoryModalIn .65s cubic-bezier(.16,1,.3,1) both}.artist-game-victory-modal:after{content:"";position:absolute;inset:-60%;z-index:-1;background:conic-gradient(from 0deg,transparent,rgba(255,176,0,.3),transparent 24%,rgba(239,79,37,.2),transparent 50%);animation:gameVictorySweep 4s linear infinite}.artist-game-victory-modal h2{margin:8px 0 6px;font-size:30px;animation:gameVictoryTitle .7s cubic-bezier(.16,1,.3,1) .18s both}.artist-game-victory-modal p{margin:0 0 20px;color:var(--muted)}.artist-game-mini-confetti{position:absolute;inset:0;pointer-events:none}.artist-game-mini-confetti i{--piece:0;position:absolute;left:calc(8% + var(--piece) * 14%);top:-20px;width:8px;height:18px;border-radius:2px;background:hsl(calc(var(--piece) * 53deg + 12deg) 88% 55%);animation:gameConfettiDrop 1.4s ease-out calc(var(--piece) * .05s) both}.online-game-panel{display:grid;grid-template-columns:minmax(0,1fr) 260px;grid-gap:18px;gap:18px;width:min(100%,850px);margin:0 auto 56px;align-items:start}.online-game-main>h2{margin:5px 0 8px}.online-game-lobby{display:grid;grid-template-columns:auto auto minmax(130px,1fr) auto;align-items:center;grid-gap:9px;gap:9px;margin-top:18px}.online-game-lobby .field{text-transform:uppercase;letter-spacing:.12em;font-weight:800}.online-match-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:15px 0 10px;font-size:12px}.online-match-meta .text-link{border:0;background:none;cursor:pointer}.online-game-board{width:min(100%,430px);margin:0 auto}.online-game-error{margin-top:12px;color:#b42318;font-size:13px}@media (max-width:480px){.artist-game-page{padding-top:24px;padding-left:12px;padding-right:12px}.artist-game-players{gap:7px}.artist-game-player{gap:7px;padding:7px}.artist-game-player img{width:42px;height:42px}.artist-game-board{gap:6px;padding:7px;border-radius:18px}.artist-game-square{border-radius:12px}.artist-game-actions .btn{flex:1 1}}@media (max-width:720px){.artist-game-hero{order:1}.online-game-panel{order:3;grid-template-columns:1fr;margin-bottom:0}.online-game-lobby{grid-template-columns:1fr auto}.online-game-lobby>span{display:none}.online-game-lobby .field{grid-column:1}.online-match-meta{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){.artist-game-square.is-played .artist-game-square-inner{animation:none}.artist-game-board:has(.is-winning),.artist-game-board:has(.is-winning) .artist-game-square:not(.is-winning),.artist-game-square.is-winning,.artist-game-square.is-winning .artist-game-square-inner:after,.artist-game-victory-backdrop,.artist-game-victory-modal h2,.artist-game-victory-modal:after{animation:none}.artist-game-actions .btn-primary.is-ready{animation:none;box-shadow:0 0 0 4px rgba(243,146,0,.22)}.artist-game-mini-confetti,.artist-game-outcome{display:none}.artist-game-victory-modal{animation:none}}