/* The table owns the viewport. Secondary information opens on demand. */
body.in-game{overflow:hidden;background:#e9ebdf}.in-game #app{height:100dvh;display:flex;flex-direction:column}.game-header{height:54px;min-height:54px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;border-bottom:1px solid #d6dbc8;background:#faf9ef;gap:18px;z-index:3}.game-header .brand{font-size:17px;gap:8px}.game-header .brand-mark{width:31px;height:31px;font-size:22px;border-radius:8px}.game-header .brand>span:last-child>span{font-size:7px;letter-spacing:1.4px;margin-top:3px}.game-header nav{gap:10px}.game-header .icon-button{width:31px;height:31px;border-color:#d7ddc9}.game-header .room-code{display:flex;align-items:center;gap:8px;font-size:11px;padding:6px 10px;background:#f0f1e5;border:1px solid #dde1ce;border-radius:6px}.game-header .room-code b{letter-spacing:1px;font-size:11px}.match-meta{margin-right:auto;font-size:11px;color:#819071;display:flex;gap:12px;border-left:1px solid #dae0cd;padding-left:18px}.match-meta b{color:#344d35}.connection-dot{width:6px;height:6px;border-radius:50%;background:#76a36a}.connection-dot.offline{background:#db7957;animation:pulse .8s infinite}.game-stage{flex:1;min-height:0;display:flex;flex-direction:column;padding:0 12px}.in-game .player-strip{height:68px;min-height:68px;max-width:1100px;width:100%;margin:0 auto;overflow-y:visible;padding:8px 2px;gap:8px;align-items:stretch}.in-game .player-chip{min-width:0;padding:5px 12px;gap:9px;box-shadow:none;border:1px solid #d0d8bf;border-radius:9px;background:#f8faef;overflow:visible}.in-game .player-chip.active{padding:5px 12px;background:#304c39;color:#fff9df;border-color:#304c39;box-shadow:0 3px 0 #bcc8aa}.in-game .player-avatar{width:32px;height:36px;border-radius:9px;background:var(--player)}.in-game .player-avatar .avatar{width:38px;height:57px;margin:-1px 0 0 -3px}.in-game .player-chip>div:last-of-type{min-width:0}.in-game .player-chip strong{font-size:10px;max-width:160px}.in-game .player-chip b{font-size:13px;line-height:1;margin:5px 0 0;letter-spacing:-.2px}.in-game .player-chip small{position:absolute;right:10px;bottom:8px;font-size:8px;color:#849474}.in-game .player-chip.active small{color:#b6c9a9}.in-game .player-chip em{display:none}.in-game .active-dot{right:10px;top:9px;background:#eace64;box-shadow:0 0 0 3px #eace6426;animation:pulse 1.8s infinite}.board-arena{position:relative;flex:1;min-height:0;isolation:isolate;background:radial-gradient(ellipse at 50% 50%,#f6f3db 0%,#e9edde 74%);border-radius:15px 15px 0 0}.table-viewport{position:absolute;inset:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#9aaa80 transparent}.table-canvas{width:calc(100% * var(--board-zoom,1));height:calc(100% * var(--board-zoom,1));min-width:100%;min-height:100%;display:flex;align-items:center;justify-content:center}.table-canvas .game-board{width:100%;height:100%;max-height:none;overflow:visible;flex-shrink:0}.play-board .tile-face{transition:stroke .15s,filter .15s}.play-board .board-tile.stepping .tile-face{stroke:#fffce6;stroke-width:5;filter:brightness(1.2)}.play-board .board-tile:hover .tile-face{stroke:#fffce6;stroke-width:3;filter:brightness(1.1)}.play-board .pawn{transform-box:view-box;pointer-events:none}.play-board .pawn-hop{transform-origin:0 0}.play-board .pawn-character .head{animation:head-bob 3.6s ease-in-out infinite;transform-origin:60px 75px}.play-board .pawn-character .body{transform-origin:60px 118px;animation:pawn-breathe 3s ease-in-out infinite}.play-board .pawn.is-active .pawn-ring{stroke:#fffcdd;stroke-width:4;filter:drop-shadow(0 0 4px #fffcdd)}.play-board .pawn.is-moving .pawn-label{opacity:0}.play-board .pawn.is-moving .head{animation:none}.play-board .pawn.is-moving .legs{animation:walk-legs .2s alternate infinite;transform-origin:60px 118px}.play-board .pawn.is-moving .body{animation:walk-body .22s alternate infinite;transform-origin:60px 118px}.table-tools{position:absolute;top:13px;left:12px;display:flex;flex-direction:column;gap:10px;z-index:1}.table-tools .board-controls{box-shadow:0 3px 10px #45533512;border-color:#cbd5bb;border-radius:8px}.table-tools .board-controls button{height:30px;min-width:31px;background:#f9faef;border-color:#d6ddc7;font-size:11px}.active-effects{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.active-effects span{font-size:10px;font-weight:700;background:#c65f45;color:#fffbe1;padding:6px 9px;border-radius:6px}.action-dock{position:absolute;z-index:2;width:clamp(270px,22vw,340px);left:50%;top:38%;transform:translateX(-50%);max-height:53%;overflow:auto;scrollbar-width:thin;border-radius:16px;transition:opacity .18s,filter .18s}.action-dock .turn-panel{border:1px solid #b3ba97;border-radius:16px;background:#fffbea;padding:19px 21px;box-shadow:0 5px 0 #c9ab4e38,0 12px 30px #685b2320;max-width:none}.action-dock .turn-kicker{font-size:8px;letter-spacing:1.6px;margin-bottom:11px;color:#7b895c}.action-dock .turn-panel h2{font-size:26px;max-width:none;line-height:1.07;margin-bottom:8px;letter-spacing:-1px}.action-dock .phase-text{font-size:11px;max-width:none;color:#798060;line-height:1.55}.action-dock .phase-text:empty{display:none}.action-dock .phase-actions{margin-top:14px;gap:8px;max-width:none}.action-dock .phase-actions>.button{min-height:42px;font-size:12px;border-radius:9px}.action-dock .roll-button{min-height:49px!important;font-size:14px!important;position:relative;overflow:hidden}.action-dock .roll-button:before{content:'';position:absolute;inset:-20px auto -20px -60px;width:35px;transform:rotate(22deg);background:#fff9d62b;animation:button-shine 4s ease-in-out infinite}.action-dock .waiting-state{font-size:10px;padding:8px;margin-top:11px;background:#f0ecd6;color:#8a8e6e}.action-dock .turn-person{gap:10px;margin-top:0}.action-dock .turn-person>.avatar{height:63px;width:42px}.action-dock .turn-person h2{font-size:23px;margin-bottom:4px}.action-dock .turn-person p{font-size:11px}.action-dock .current-card{display:flex;align-items:center;gap:10px;margin-top:15px;padding:11px;border-radius:9px;background:#a0cdd0;border:1px solid #73a7a8}.current-card.red{background:#eaa082;border-color:#c67c60;color:#623c2d}.current-card>span{font-size:33px;line-height:1;font-weight:900}.current-card>div{flex:1;min-width:0}.current-card small{font-size:7px;letter-spacing:1.8px;font-weight:800}.current-card h3{font-size:16px;letter-spacing:-.5px;margin-top:3px}.current-card .icon-button{width:30px;height:30px;background:#fff8df42;border:0;flex-shrink:0}.full-card-text{font-size:13px;white-space:pre-line;margin-top:20px}.last-roll{position:absolute;top:13px;right:14px;display:flex;align-items:center;gap:5px;padding:7px 9px;border-radius:9px;background:#faf9edbd;border:1px solid #d9dfc7}.last-roll .die{width:29px;height:29px;filter:drop-shadow(0 2px 0 #ced6b8)}.last-roll b{font-family:'Bricolage Grotesque',sans-serif;font-size:24px;padding:0 5px}.game-tray{position:absolute;bottom:15px;left:50%;transform:translateX(-50%);display:flex;gap:4px;padding:5px;background:#faffefed;border:1px solid #cbd5b9;border-radius:13px;box-shadow:0 6px 20px #3b4b2512;z-index:3}.game-tray button{display:flex;align-items:center;gap:7px;background:none;border:0;border-radius:8px;font-size:11px;font-weight:800;padding:9px 13px;white-space:nowrap}.game-tray button:hover{background:#e5ebd4}.game-tray b{font-size:10px;display:grid;place-items:center;background:#dce8c7;border-radius:50%;width:18px;height:18px}.modal .hand-cards{margin-top:25px;flex-wrap:wrap;overflow:visible}.modal .hand-card{flex:1;min-width:160px;min-height:130px}.modal .hand-card b{font-size:12px}.modal .hand-card small{font-size:10px}.modal .journal{border:0;background:none;margin-top:15px}.modal .activity-list,.modal .asset-list,.modal .chat-list{max-height:60dvh}.modal .log-item p{font-size:12px}.modal .panel-tabs button{font-size:12px}.modal .asset-list b,.modal .asset-list strong{font-size:12px}.modal #chat-input{font-size:13px}.cash-pop{position:absolute;left:50%;top:70%;z-index:10;pointer-events:none;background:#fff9dd;border:1px solid currentColor;padding:5px 9px;border-radius:7px;font-size:12px;font-weight:900;white-space:nowrap;animation:cash-rise 1.8s ease-out forwards}.cash-pop.gain{color:#427c46}.cash-pop.loss{color:#ba6048}.is-presenting .action-dock{opacity:.22;filter:blur(2px);pointer-events:none}.is-presenting .table-tools,.is-presenting .game-tray{pointer-events:none;opacity:.4}
/* Real six-face cubes: the final visible face always matches the server result. */
.dice-cinema{position:fixed;inset:0;z-index:30;background:radial-gradient(ellipse at center,#263a2de3 0%,#263a2db8 48%,#263a2d66 100%);display:flex;align-items:center;justify-content:center;flex-direction:column;pointer-events:none;color:#fff8dc;backdrop-filter:blur(3px);animation:dice-stage-in .2s ease-out}.dice-caption{text-align:center;margin-bottom:45px}.dice-caption .dice-player{display:block;font-size:11px;letter-spacing:3px;text-transform:uppercase;color:#e1dcb4;margin-bottom:10px}.dice-caption strong{font-family:'Bricolage Grotesque',sans-serif;font-size:30px;letter-spacing:-1px}.dice-table{display:flex;align-items:center;justify-content:center;gap:56px;padding:20px 30px;min-height:150px;perspective:900px}.dice-flight{position:relative}.cube-space{perspective:650px;width:82px;height:82px;transform:rotateX(-12deg) rotateY(-12deg);transform-style:preserve-3d}.dice-cube{width:82px;height:82px;position:relative;transform-style:preserve-3d}.cube-face{position:absolute;inset:0;border-radius:15px;background:#fff8de;backface-visibility:hidden;box-shadow:inset 0 0 0 2px #fffef0,inset -6px -7px 10px #d7cfa14d}.cube-face .die{width:100%;height:100%;filter:none}.cube-face .die rect{stroke:#b9b794;stroke-width:1.4;fill:#fff9e6}.cube-face .die circle{fill:#2e4836}.face-1{transform:translateZ(41px)}.face-2{transform:rotateY(90deg) translateZ(41px)}.face-3{transform:rotateX(90deg) translateZ(41px)}.face-4{transform:rotateX(-90deg) translateZ(41px)}.face-5{transform:rotateY(-90deg) translateZ(41px)}.face-6{transform:rotateY(180deg) translateZ(41px)}.dice-floor-shadow{position:absolute;left:-10px;right:-10px;bottom:-35px;height:22px;border-radius:50%;background:#14251c80;filter:blur(8px)}.dice-result{min-height:105px;display:flex;flex-direction:column;align-items:center;justify-content:center;margin-top:22px;opacity:0}.dice-result strong{font-family:'Bricolage Grotesque',sans-serif;font-size:64px;line-height:1;color:#f4d365;text-shadow:0 4px 0 #172d22}.dice-result span{font-size:10px;letter-spacing:3px;margin-top:9px;color:#e4ddaf}.settled .dice-result{animation:result-pop .3s cubic-bezier(.15,1.6,.5,1) forwards}.settled .dice-floor-shadow{background:#14251cc0}
@keyframes pawn-breathe{50%{transform:scaleY(1.025)}}@keyframes walk-legs{to{transform:skewX(-9deg) scaleY(.94)}}@keyframes walk-body{to{transform:rotate(4deg)}}@keyframes button-shine{0%,70%{left:-60px}100%{left:115%}}@keyframes cash-rise{0%{opacity:0;transform:translate(-50%,10px) scale(.8)}15%,65%{opacity:1}100%{opacity:0;transform:translate(-50%,-40px) scale(1)}}@keyframes dice-stage-in{from{opacity:0}to{opacity:1}}@keyframes result-pop{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}
@media(max-width:1100px) and (min-width:701px){.game-header{padding:0 15px}.in-game .player-chip small{display:none}.in-game .player-chip strong{font-size:9px}.action-dock{top:38%;width:275px}.action-dock .turn-panel{padding:15px 17px}.action-dock .turn-panel h2{font-size:24px}.table-brand{opacity:.7}}
@media(max-width:700px){.game-header{height:49px;min-height:49px;padding:0 10px;gap:9px}.game-header .brand>span:last-child{display:none}.game-header .brand-mark{width:28px;height:28px;font-size:20px}.game-header nav{gap:6px}.game-header .room-code{font-size:9px;padding:5px 7px;gap:5px}.game-header .room-code b{font-size:9px}.game-header .room-code>svg:first-child{display:none}.game-header .icon-button{width:29px;height:29px}.game-header .icon-button svg{width:16px;height:16px}.match-meta{padding-left:0;border:0;font-size:10px;gap:7px}.connection-dot{display:none}.game-stage{padding:0 5px}.in-game .player-strip{height:61px;min-height:61px;gap:4px;padding:6px 0;overflow-x:auto;scrollbar-width:none}.in-game .player-chip,.in-game .player-chip.active{min-width:103px;padding:6px;gap:5px;flex:1}.in-game .player-avatar{width:25px;height:32px;border-radius:7px}.in-game .player-avatar .avatar{width:33px;height:50px;margin:-1px 0 0 -4px}.in-game .player-chip strong{font-size:8px;max-width:77px}.in-game .player-chip b{font-size:11px;margin-top:4px}.in-game .player-chip small{display:none}.in-game .active-dot{width:4px;height:4px;right:5px;top:5px}.board-arena{border-radius:10px 10px 0 0}.table-viewport{bottom:220px;top:0}.table-canvas{align-items:center}.table-tools{left:4px;top:4px;gap:5px}.table-tools .board-controls button{height:27px;min-width:27px;font-size:10px}.active-effects span{font-size:8px;padding:4px 6px}.last-roll{top:4px;right:5px;padding:4px 5px;gap:3px}.last-roll .die{width:22px;height:22px}.last-roll b{font-size:18px;padding:0 3px}.action-dock{left:8px;right:8px;bottom:62px;top:auto;width:auto;transform:none;max-height:32%;border-radius:14px}.action-dock .turn-panel{padding:13px 15px;border-radius:14px}.action-dock .turn-kicker{font-size:7px;margin-bottom:7px;letter-spacing:1px}.action-dock .turn-panel h2{font-size:23px;line-height:1.08;margin-bottom:5px;max-width:none}.action-dock .phase-text{font-size:10px;max-width:none}.action-dock .phase-actions{margin-top:10px;gap:7px}.action-dock .phase-actions>.button{min-height:39px;font-size:11px;padding:10px}.action-dock .roll-button{min-height:43px!important;font-size:13px!important}.action-dock .turn-person>.avatar{height:49px;width:33px}.action-dock .turn-person h2{font-size:20px}.action-dock .turn-person p{font-size:10px}.action-dock .waiting-state{margin-top:7px;padding:6px}.action-dock .current-card{margin-top:9px;padding:8px}.current-card h3{font-size:15px}.current-card>span{font-size:26px}.game-tray{bottom:10px;padding:4px;gap:1px;width:calc(100% - 16px);justify-content:space-evenly;border-radius:12px}.game-tray button{font-size:10px;gap:5px;padding:9px 7px}.game-tray button svg{width:16px;height:16px}.game-tray b{font-size:9px;width:16px;height:16px}.table-brand{opacity:.7}.dice-table{gap:35px;padding:10px 18px}.dice-caption strong{font-size:26px}.dice-caption{margin-bottom:24px}.dice-table:has(.dice-flight:nth-child(3)){gap:20px;transform:scale(.8)}.dice-result strong{font-size:56px}.is-presenting .action-dock{opacity:.18}.in-game #toast{bottom:75px}}
@media(max-height:650px) and (min-width:701px){.in-game .player-strip{height:55px;min-height:55px;padding:5px}.game-header{height:44px;min-height:44px}.action-dock{top:32%;max-height:58%}.action-dock .turn-panel{padding:12px 16px}.action-dock .turn-kicker{margin-bottom:7px}.action-dock .turn-panel h2{font-size:23px}.action-dock .phase-actions{margin-top:10px}.action-dock .phase-text{font-size:10px}.table-brand{display:none}.game-tray{bottom:9px}}
@media(prefers-reduced-motion:reduce){.dice-cinema{backdrop-filter:none}.settled .dice-result{opacity:1}.cash-pop{opacity:1}.pawn .head,.pawn .body,.pawn .legs{animation:none!important}}
@media(min-width:701px){.game-tray{top:12px;bottom:auto;left:135px;transform:none;padding:3px;border-radius:10px;gap:1px}.game-tray button{padding:7px 9px;font-size:10px;gap:5px}.game-tray button svg{width:16px;height:16px}}
.play-board .pawn-label{opacity:0}.play-board .pawn.is-active .pawn-label{opacity:1}
/* Photo-based board edition: fixed square artwork and a continuous printed track. */
.in-game{background:#eee9d9}.board-arena{background:radial-gradient(ellipse at 45% 45%,#faf6e8,#e9e5d4);border-radius:12px}.table-viewport{inset:0 312px 0 0}.table-canvas{padding:8px 12px 12px}.table-canvas .printed-board{filter:drop-shadow(0 7px 7px #49361930);overflow:visible;aspect-ratio:1;object-fit:contain}.printed-board .board-tile:hover{filter:none}.printed-board .board-tile .tile-face{transition:fill .15s,stroke .15s}.printed-board .board-tile:hover .tile-face,.printed-board .board-tile:focus-visible .tile-face{fill:#fff7c62e;stroke:#fff8ce;stroke-width:3;filter:none}.printed-board .board-tile.stepping .tile-face{fill:#fff9b85e;stroke:#fffde7;stroke-width:4;filter:none}.printed-board .pawn.is-moving .pawn-label{opacity:0}.action-dock{top:111px;left:auto;right:12px;transform:none;width:280px;max-height:calc(100% - 190px)}.action-dock .turn-panel{border-color:#d2c8a4;box-shadow:0 4px 0 #cfbb7b25,0 6px 20px #534a2b0d}.table-tools{left:auto;right:189px;top:12px;z-index:4}.active-effects{max-width:240px}.last-roll{top:54px;right:12px;width:280px;justify-content:center;background:#faf7e8;border-color:#d8d3ba;min-height:43px}.game-tray{left:auto;right:12px;top:auto;bottom:14px;transform:none;width:280px;justify-content:center;flex-wrap:wrap;gap:0;padding:5px}.game-tray button{padding:9px 8px}.action-dock:has(.waiting){top:111px}.printed-board .pawn.is-active .pawn-ring{filter:drop-shadow(0 0 2px #fffbe6)}
@media(max-width:1100px) and (min-width:701px){.table-viewport{right:270px}.action-dock,.last-roll,.game-tray{width:250px;right:8px}.table-tools{right:155px}.action-dock .turn-panel{padding:15px}.action-dock .turn-panel h2{font-size:23px}}
@media(max-width:700px){.table-viewport{inset:0 0 220px}.table-canvas{padding:44px 0 0;align-items:center}.table-canvas .printed-board{filter:drop-shadow(0 4px 3px #49361925)}.table-tools{left:5px;right:auto;top:5px}.last-roll{left:auto;right:5px;top:5px;width:auto;min-height:27px;gap:3px;padding:4px 5px}.last-roll .die{width:21px;height:21px}.action-dock,.action-dock:has(.waiting){left:8px;right:8px;bottom:62px;top:auto;width:auto;transform:none;max-height:32%}.game-tray{left:8px;right:8px;bottom:10px;top:auto;width:auto;justify-content:space-evenly;padding:4px}.game-tray button{font-size:10px;padding:9px 7px}.active-effects{max-width:165px}.action-dock .turn-panel{padding:13px 15px}}
@media(max-height:650px) and (min-width:701px){.action-dock,.action-dock:has(.waiting){top:100px;max-height:calc(100% - 160px)}.last-roll{top:49px}.game-tray{bottom:7px}.action-dock .turn-panel{padding:12px 15px}}
.board-arena{width:100%;max-width:calc(100dvh + 190px);margin:0 auto}
@media(max-width:1100px) and (min-width:701px){.board-arena{max-width:calc(100dvh + 148px)}}
@media(max-width:700px){.board-arena{max-width:none}}
/* Drawing a card is a separate beat after the pawn reaches its destination. */
.card-cinema{position:fixed;inset:0;z-index:31;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;overflow:hidden;color:#fff5d6;background:radial-gradient(ellipse at center,#193e2ed9,#12231ce8);backdrop-filter:blur(4px);--card-ink:#244a34;--card-accent:#ecc85b;--card-glow:#8ed79d;animation:dice-stage-in .2s ease-out}
.card-cinema.is-disaster{background:radial-gradient(ellipse at center,#643522cf,#2e201de8);--card-ink:#813e29;--card-accent:#ffba69;--card-glow:#f39b54}
.card-caption{text-align:center;position:relative;z-index:1;max-width:90vw}.card-caption>span{display:block;font-size:11px;font-weight:700;letter-spacing:2px;margin-bottom:9px;text-transform:uppercase}.card-caption>strong{display:block;font-family:'Bricolage Grotesque',sans-serif;font-size:28px;letter-spacing:-.8px}
.card-stage{position:relative;width:min(300px,72vw,calc((100dvh - 156px)*.6667));aspect-ratio:2/3;perspective:1200px;margin-bottom:24px}.card-flight{position:absolute;inset:0;transform-style:preserve-3d}.card-rotor{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateY(180deg)}
.event-card-front,.event-card-back{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:18px;box-shadow:0 20px 44px #080e0b66,0 3px 0 #987843;overflow:hidden;border:3px solid var(--card-accent)}
.event-card-back{transform:rotateY(180deg);background:#2a683e}.is-disaster .event-card-back{background:#cc4c24}.event-card-back>svg{width:100%;height:100%;display:block}.event-card-back>span,.event-card-back>strong{position:absolute;left:0;right:0;text-align:center;color:#ffe595;text-shadow:0 1px 3px #1f2c1c}.event-card-back>span{top:24px;font-size:9px;letter-spacing:2px;font-weight:800}.event-card-back>strong{bottom:36px;font-size:18px;letter-spacing:4px}
.event-card-front{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:10px;padding:24px 22px 20px;background:radial-gradient(circle at 50% 28%,#fffdf0,#fff4d8 70%);color:var(--card-ink);transform:translateZ(.1px)}.event-card-front:before{content:'';position:absolute;inset:8px;border:1px solid #c5b87b;border-radius:11px;pointer-events:none}.event-card-eyebrow{font-size:9px;font-weight:900;letter-spacing:1.4px;white-space:nowrap}.event-card-eyebrow>span{padding:0 5px;color:#c89b48}.event-card-art{width:85%;height:110px;min-height:36px;flex-shrink:1}.event-card-art>svg{display:block;width:100%;height:100%}.event-card-title{font-family:'Bricolage Grotesque',sans-serif;font-size:30px;line-height:1.06;text-align:center;letter-spacing:-.7px;font-weight:800;margin:0;text-wrap:balance}.event-card-title.is-long{font-size:25px}.event-card-front>p{font-size:13px;line-height:1.5;text-align:center;max-width:210px;margin:0;color:#717454}.event-card-footer{font-size:8px;letter-spacing:1.5px;font-weight:800;border-top:1px solid #dacb94;padding-top:12px;width:100%;text-align:center}
.card-halo{position:absolute;inset:-50px;border-radius:50%;background:radial-gradient(ellipse,var(--card-glow),transparent 65%);opacity:.16;filter:blur(18px);pointer-events:none}.revealed .card-halo{animation:card-glow .8s ease-out}.card-particles{position:absolute;inset:0;pointer-events:none}.card-particles>i{position:absolute;left:50%;top:50%;font-size:18px;font-style:normal;color:var(--card-accent);opacity:0}.revealed .card-particles>i{animation:card-spark .9s var(--delay) ease-out forwards}
.play-board .pawn.is-moving .legs{animation-duration:.28s}.play-board .pawn.is-moving .body{animation-duration:.3s}
@keyframes card-glow{0%{opacity:.18;transform:scale(.8)}35%{opacity:.5}100%{opacity:.16;transform:scale(1.25)}}
@keyframes card-spark{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}20%{opacity:1}100%{opacity:0;transform:translate(var(--x),var(--y)) rotate(var(--r)) scale(.35)}}
@media(max-width:700px){.card-cinema{gap:18px}.card-caption>strong{font-size:25px}.card-stage{width:min(256px,72vw,calc((100dvh - 150px)*.6667));margin-bottom:18px}.event-card-front{padding:20px 18px 16px;gap:9px}.event-card-art{height:76px}.event-card-title{font-size:26px}.event-card-title.is-long{font-size:21px}.event-card-front>p{font-size:12px}.event-card-eyebrow{font-size:8px;letter-spacing:1px}.event-card-footer{font-size:7px;letter-spacing:1.2px;padding-top:9px}}
@media(max-height:600px){.card-cinema{gap:12px}.card-caption>span{font-size:9px;margin-bottom:5px}.card-caption>strong{font-size:21px}.card-stage{width:min(240px,65vw,calc((100dvh - 108px)*.6667));margin-bottom:10px}.event-card-front{padding:14px 12px 12px;gap:6px}.event-card-art{height:55px}.event-card-title{font-size:22px}.event-card-title.is-long{font-size:18px}.event-card-front>p{font-size:10px}.event-card-eyebrow{font-size:7px;letter-spacing:.5px}.event-card-footer{font-size:6px;letter-spacing:.7px;padding-top:6px}}
@media(prefers-reduced-motion:reduce){.card-cinema{backdrop-filter:none;animation:none}.card-particles{display:none}.revealed .card-halo{animation:none}}
