:root{color:#fff2df;background:#0f1112;font-family:Inter,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{min-height:100vh;overflow-x:hidden}button,input{font:inherit}button{min-height:48px;border:1px solid rgba(255,239,210,.22);border-radius:8px;padding:0 14px;color:#fff5e6;background:#0c0e0fad;box-shadow:inset 0 0 0 1px #0000002e;font-weight:800;cursor:pointer}button:disabled{color:#ffefd285;background:#ffefd217;cursor:default}button:not(:disabled):focus-visible,.text-field:focus-visible{outline:3px solid rgba(240,199,120,.34);outline-offset:2px}.info-tip{position:relative;z-index:30;display:inline-grid;place-items:center;align-self:start;justify-self:end}.info-tip-trigger{width:44px;min-height:44px;display:grid;place-items:center;border:1px solid rgba(255,239,210,.2);border-radius:50%;color:#f0c778;background:#060708c7;box-shadow:inset 0 0 0 1px #0000002e;cursor:pointer;font-size:.92rem;font-weight:900;line-height:1}.info-tip-trigger:focus-visible{outline:3px solid rgba(240,199,120,.34);outline-offset:2px}.info-tip-body{position:fixed;top:var(--tip-top, 12px);left:var(--tip-left, 12px);z-index:320;width:var(--tip-width, min(320px, calc(100vw - 24px) ));max-width:calc(100vw - 24px);display:none;gap:6px;border:1px solid rgba(255,239,210,.2);border-radius:8px;padding:10px;color:#ead8c3;background:#08090af7;box-shadow:0 16px 34px #00000080;font-size:.78rem;line-height:1.32;opacity:0;text-align:left;transform:translateY(4px)}.info-tip-open .info-tip-body{display:grid;opacity:1;transform:translateY(0);animation:tooltip-open .12s ease-out both}.info-tip-body strong,.info-tip-body p{margin:0}.info-tip-body strong{color:#fff3df;font-size:.84rem}.page-shell{min-height:100dvh;display:grid;align-items:stretch;padding:10px;background:linear-gradient(180deg,#08090a5c,#08090aeb),var(--menu-bg),linear-gradient(145deg,#21130f,#101415);background-position:center;background-size:cover}.game-frame{width:min(100%,1120px);min-height:calc(100dvh - 20px);margin:0 auto;display:grid;grid-template-rows:auto 1fr;gap:10px}.status-bar{min-height:46px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;border:1px solid rgba(255,239,210,.16);border-radius:8px;padding:8px 10px;color:#ebd8bf;background:#090a0bbd;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.status-bar span{color:#9ed0bd;font-size:.8rem;font-weight:900;white-space:nowrap}.status-bar strong{min-width:0;overflow-wrap:anywhere;font-size:.86rem;font-weight:700}.screen-panel,.room-panel,.hero-selection-panel{border:1px solid rgba(255,239,210,.16);border-radius:8px;box-shadow:0 24px 80px #00000070;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.screen-panel{min-height:100%;display:grid;align-content:end;gap:16px;padding:18px;background:linear-gradient(180deg,#131211a3,#0d0e0ff2),var(--hero-select-bg);background-position:center;background-size:cover}.compact-screen{align-content:center}.hero-title-block,.screen-heading,.room-header,.hero-detail-copy,.passive-box{min-width:0}.hero-title-block{display:grid;gap:10px;padding-top:18vh}.screen-heading{display:grid;gap:8px}.game-name,.hero-title-block p,.screen-heading p,.reason-line,.passive-box p{margin:0}.game-name{color:#f0c778;font-size:.78rem;font-weight:900;letter-spacing:0;text-transform:uppercase}h1,h2{margin:0;letter-spacing:0}h1{max-width:10ch;color:#fff4df;font-size:2.55rem;line-height:.96}.room-header h1,.screen-heading h1{max-width:none;font-size:2rem;line-height:1}.hero-title-block>p:last-child,.screen-heading>p:last-child{max-width:36rem;color:#ead8c3;font-size:1rem;line-height:1.45}.field-label{color:#fff0dc;font-size:.94rem;font-weight:800}.text-field{width:100%;min-height:48px;border:1px solid rgba(255,239,210,.22);border-radius:8px;padding:0 13px;color:#fff8ec;background:#00000057}.code-field{text-transform:uppercase}.sound-setting{min-height:58px;display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;align-items:center;border:1px solid rgba(255,239,210,.16);border-radius:8px;padding:8px 10px;color:#ead8c3;background:#00000047}.sound-setting input{width:24px;height:24px;justify-self:center;accent-color:#f0c778}.sound-setting span{min-width:0;display:grid;gap:3px}.sound-setting strong{color:#fff3df;font-size:.92rem}.sound-setting small{color:#d6c5ad;font-size:.78rem;line-height:1.25}.menu-actions,.screen-actions,.stack-form{display:grid;gap:10px}.primary-action{border:0;color:#1c110c;background:linear-gradient(180deg,#f0c778,#c68d49)}.primary-action:disabled{color:#ffefd28f;background:#ffefd224}.lobby-layout{display:grid;gap:10px}.room-panel,.hero-selection-panel{display:grid;gap:12px;padding:12px;background:linear-gradient(180deg,#121211d1,#0a0b0cf0),var(--hero-select-bg);background-position:center;background-size:cover}.room-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}.room-header button{min-width:72px}.invite-box{display:grid;gap:8px;border:1px solid rgba(255,239,210,.14);border-radius:8px;padding:10px;background:#00000047}.invite-box div{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:10px}.invite-box span{color:#d7c4ac;font-size:.86rem;font-weight:700}.invite-box strong{color:#f0c778;font-size:1.34rem;letter-spacing:.06em}.players-list{display:grid;gap:8px}.player-row{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:8px;border:1px solid rgba(255,239,210,.14);border-radius:8px;padding:10px;background:#0000004d}.player-row div{min-width:0;display:grid;gap:3px}.player-row strong,.player-row span{min-width:0;overflow-wrap:anywhere}.player-row strong{color:#fff3e0;font-size:.98rem}.player-row span{color:#d6c5ad;font-size:.84rem}.player-row div:last-child strong{color:#9ed0bd}.lobby-controls{display:grid;gap:9px}.reason-line{min-height:38px;color:#ead8c3;font-size:.9rem;line-height:1.35}.hero-details{display:grid;grid-template-columns:112px minmax(0,1fr);gap:12px;align-items:start}.hero-detail-copy{display:grid;gap:4px}.hero-title-row,.passive-heading,.detail-title-row,.shop-offer-title-row,.selected-cell-heading,.objective-heading,.panel-heading{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px}.detail-title-row,.shop-offer-title-row,.selected-cell-heading,.objective-heading{align-items:start}.hero-detail-copy p{margin:0;color:#9ed0bd;font-size:.83rem;font-weight:900}.hero-detail-copy h2{color:#fff3df;font-size:1.45rem;line-height:1}.hero-detail-copy>span{color:#e8d4bb;font-size:.88rem;line-height:1.34}.hero-portrait{display:grid;place-items:center;overflow:hidden;border:1px solid rgba(255,239,210,.14);border-radius:8px;background-color:#1c1716;background-repeat:no-repeat;box-shadow:inset 0 0 0 1px #00000047}.hero-portrait span{color:#fff3e02e;font-weight:900;text-shadow:0 2px 12px rgba(0,0,0,.82)}.hero-detail-portrait{width:128px;aspect-ratio:2 / 3}.hero-stats{grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0}.hero-stats div{min-width:0;display:grid;gap:2px;border:1px solid rgba(255,239,210,.12);border-radius:8px;padding:7px 5px;background:#0000004d;text-align:center}.hero-stats dt{color:#cdbba2;font-size:.68rem;font-weight:800}.hero-stats dd{margin:0;color:#fff4df;font-size:1.04rem;font-weight:900}.passive-box{grid-column:1 / -1;display:grid;gap:4px;border-left:3px solid #e46d55;padding-left:10px}.passive-heading>span{color:#f0c778;font-size:.9rem;font-weight:900}.passive-box p{color:#ead8c3;font-size:.9rem;line-height:1.35}.hero-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.hero-option{min-width:0;min-height:176px;display:grid;grid-template-rows:minmax(132px,1fr) auto auto;gap:5px;padding:6px;color:#f9ead3;background:#0000005c}.hero-option[aria-pressed=true]{border-color:#e46d55;box-shadow:0 0 0 2px #e46d552e,inset 0 0 26px #e46d551f}.hero-option[aria-disabled=true]{color:#ffefd2a8}.hero-option-portrait{width:100%;min-height:132px;aspect-ratio:2 / 3}.hero-option-name,.hero-option-state{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hero-option-name{color:#fff0d6;font-size:.78rem;font-weight:900}.hero-option-state{color:#9ed0bd;font-size:.7rem;font-weight:800}.game-screen{min-height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:10px}.game-hud{display:grid;grid-template-columns:repeat(3,minmax(0,.75fr)) minmax(220px,1.35fr) minmax(150px,.9fr) auto;gap:8px;align-items:stretch;border:1px solid rgba(255,239,210,.16);border-radius:8px;padding:8px;background:#07090ac2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:turn-change .36s ease-out}.game-hud>div:not(.resource-strip):not(.hero-stat-strip){min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px;border-left:2px solid rgba(228,109,85,.74);padding-left:8px}.game-hud>div:not(.resource-strip):not(.hero-stat-strip)>span,.game-hud>div:not(.resource-strip):not(.hero-stat-strip)>strong,.game-hud>div:not(.resource-strip):not(.hero-stat-strip)>small{grid-column:1}.game-hud>div:not(.resource-strip):not(.hero-stat-strip)>.info-tip{grid-column:2;grid-row:1 / 4;align-self:center}.game-hud>div:not(.resource-strip):not(.hero-stat-strip)>span,.movement-summary>div>span,.selected-cell-heading>span{color:#9ed0bd;font-size:.68rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.game-hud>div:not(.resource-strip):not(.hero-stat-strip)>strong,.movement-summary>div>strong,.selected-cell-copy h2{min-width:0;overflow-wrap:anywhere;color:#fff3df}.game-hud>div:not(.resource-strip):not(.hero-stat-strip)>strong{font-size:1.05rem;line-height:1}.game-hud>div:not(.resource-strip):not(.hero-stat-strip)>small,.movement-summary>div>small,.selected-cell-copy>small,.movement-help{color:#d6c5ad;font-size:.78rem;line-height:1.25}.game-hud button{min-width:64px;padding-inline:10px}.resource-strip{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.resource-chip{position:relative;min-width:0;min-height:48px;display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:4px;align-items:center;border:1px solid rgba(255,239,210,.13);border-radius:8px;background:#0000004d}.resource-chip-main{min-height:48px;display:grid;grid-template-columns:24px minmax(0,1fr);grid-template-rows:auto auto;gap:0 5px;align-items:center;padding:5px}.resource-icon,.cost-icon,.effect-icon{width:24px;height:24px;object-fit:contain}.resource-chip .resource-icon{grid-row:1 / 3}.resource-chip-main span{min-width:0;overflow:hidden;color:#d9c8ad;font-size:.62rem;font-weight:900;text-overflow:ellipsis;text-transform:none;white-space:nowrap}.resource-chip-main strong{color:#fff4df;font-size:1rem;line-height:1}.resource-chip .info-tip{justify-self:end}.hero-stat-strip{min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.hero-stat-strip div{min-width:0;display:grid;place-items:center;border:1px solid rgba(158,208,189,.15);border-radius:8px;padding:5px 3px;background:#08161557}.hero-stat-strip span{color:#9ed0bd;font-size:.58rem;font-weight:900;text-transform:uppercase}.hero-stat-strip strong{color:#fff4df;font-size:.98rem;line-height:1}.resource-chip-gain{animation:resource-gain .68s ease-out}.resource-chip-loss{animation:resource-loss .68s ease-out}.board-stage{min-height:0;display:grid;place-items:center}.board-canvas{position:relative;width:min(100%,520px);aspect-ratio:1080 / 1350;overflow:hidden;border:1px solid rgba(255,239,210,.16);border-radius:8px;background-color:#111211;background-position:center;background-size:cover;box-shadow:inset 0 0 0 1px #00000057,0 18px 50px #00000061}.board-route{position:absolute;inset:0;width:100%;height:100%;opacity:.78;pointer-events:none}.board-route polyline{fill:none;stroke:#f0c7789e;stroke-dasharray:1.8 1.45;stroke-linecap:round;stroke-linejoin:round;stroke-width:.72}.board-cell{position:absolute;left:var(--cell-x);top:var(--cell-y);width:clamp(44px,9.2vw,58px);min-width:44px;min-height:44px;height:clamp(44px,9.2vw,58px);display:grid;place-items:center;border:0;padding:0;background:transparent;box-shadow:none;transform:translate(-50%,-50%);z-index:2}.board-cell:before{content:"";position:absolute;inset:7px;border-radius:999px;background:#06080861;filter:blur(1px)}.cell-frame,.cell-token{position:absolute;max-width:none;pointer-events:none}.cell-frame{width:42px;height:42px;opacity:.96;z-index:1;filter:saturate(1.2) contrast(1.06)}.cell-token{width:29px;height:29px;object-fit:contain;z-index:2;filter:brightness(1.18) saturate(1.25) drop-shadow(0 2px 5px rgba(0,0,0,.72))}.board-cell-hover-tip{position:absolute;left:50%;bottom:calc(100% + 4px);z-index:64;width:max-content;max-width:150px;opacity:0;visibility:hidden;border:1px solid rgba(255,239,210,.18);border-radius:8px;padding:5px 7px;color:#fff3df;background:#070809f0;box-shadow:0 10px 24px #00000073;font-size:.68rem;font-weight:900;line-height:1.12;pointer-events:none;transform:translate(-50%,4px);transition:opacity .12s ease,transform .12s ease,visibility .12s ease}.board-cell:hover .board-cell-hover-tip,.board-cell:focus-visible .board-cell-hover-tip{opacity:1;visibility:visible;transform:translate(-50%)}.board-cell:hover,.board-cell:focus-visible{z-index:28}.board-cell-reachable .cell-frame,.board-cell-selected .cell-frame{width:47px;height:47px;opacity:1}.board-cell-reachable .cell-token,.board-cell-selected .cell-token{width:32px;height:32px}.board-cell-dangerous .cell-frame{filter:drop-shadow(0 0 7px rgba(228,109,85,.6))}.board-cell-interaction .cell-frame{filter:drop-shadow(0 0 7px rgba(158,208,189,.42))}.board-cell-finale .cell-token{width:32px;height:32px}.board-cell-selected{z-index:5}.board-cell-reachable{z-index:4}.board-cell-selected:after,.board-cell-reachable:after{content:"";position:absolute;width:42px;height:42px;border-radius:50%;box-shadow:0 0 16px #f0c7787a}.board-cell-reachable:after{animation:reachable-pulse .95s ease-in-out infinite}.board-cell-selected .cell-frame{animation:selected-cell-pop .24s ease-out}.board-cell-type-trap.board-cell-selected .cell-token{animation:trap-trigger .64s ease-out}.player-token{position:absolute;left:var(--token-x);top:var(--token-y);width:34px;height:34px;display:grid;place-items:center;border:2px solid rgba(255,244,223,.78);border-radius:50%;background:#080a0adb;box-shadow:0 3px 10px #0000009e,0 0 0 2px #e46d5542;transform:translate(calc(-50% + var(--token-offset-x)),calc(-50% + var(--token-offset-y)));transition:left .18s ease,top .18s ease,transform .18s ease;z-index:8}.player-token-own{border-color:#f0c778;box-shadow:0 4px 14px #000000b8,0 0 0 3px #f0c77847;animation:own-token-breathe 1.8s ease-in-out infinite}.player-token-stepping{z-index:18;animation:token-step .17s ease-out}.player-token-image,.player-token .asset-fallback{width:28px;height:28px;border-radius:50%;object-fit:cover}.turn-action-panel{display:grid;gap:10px;border:1px solid rgba(255,239,210,.18);border-radius:8px;padding:10px;background:linear-gradient(180deg,#0b0c0dc7,#0a0a0af0),var(--bottom-panel-bg);background-position:center bottom;background-size:cover;box-shadow:0 -10px 40px #0000004d}.panel-heading{color:#d6c5ad;font-size:.76rem;font-weight:900;text-transform:uppercase}.movement-summary{min-width:0;display:grid;grid-template-columns:116px minmax(0,1fr) 44px;gap:10px;align-items:center}.movement-summary>div,.selected-cell-copy{min-width:0;display:grid;gap:3px}.dice-roll-button{width:116px;min-height:72px;display:grid;place-items:center;padding:0;perspective:520px;background:radial-gradient(circle at 50% 70%,rgba(240,199,120,.18),transparent 58%),#00000057}.dice-roll-button:not(:disabled):active .movement-cube{animation:dice-tap .15s ease-out}.dice-cube-pair{display:flex;align-items:center;justify-content:center;gap:8px}.movement-cube{--cube-size: 44px;position:relative;width:var(--cube-size);height:var(--cube-size);display:block;transform-style:preserve-3d;transform:rotateX(0) rotateY(0) rotate(0);transition:transform .22s ease,filter .22s ease}.movement-cube-rolling{animation:dice-roll-3d .62s cubic-bezier(.28,.68,.32,1.08) var(--cube-delay) infinite}.movement-cube-face{position:absolute;inset:0;overflow:hidden;border:1px solid rgba(255,239,210,.24);border-radius:7px;background:#151515;backface-visibility:hidden;box-shadow:inset 0 0 10px #0000005c}.movement-cube-face img{width:100%;height:100%;object-fit:cover;display:block}.movement-cube-front{transform:translateZ(calc(var(--cube-size) / 2))}.movement-cube-back{transform:rotateY(180deg) translateZ(calc(var(--cube-size) / 2))}.movement-cube-right{transform:rotateY(90deg) translateZ(calc(var(--cube-size) / 2))}.movement-cube-left{transform:rotateY(-90deg) translateZ(calc(var(--cube-size) / 2))}.movement-cube-top{transform:rotateX(90deg) translateZ(calc(var(--cube-size) / 2))}.movement-cube-bottom{transform:rotateX(-90deg) translateZ(calc(var(--cube-size) / 2))}.movement-summary>div>strong{font-size:1.2rem}.selected-cell-copy h2{margin:0;font-size:1.12rem;line-height:1.05}.selected-cell-copy>p{margin:0;color:#ead8c3;font-size:.86rem;line-height:1.3}.selected-cell-copy>strong{color:#f0c778;font-size:.84rem;line-height:1.25}.turn-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.turn-buttons button{min-width:0;padding-inline:8px;font-size:.82rem;line-height:1.08}.movement-help{min-height:20px;margin:0}.effects-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:6px}.effect-chip{min-width:0;display:grid;grid-template-columns:28px minmax(0,1fr) 44px;gap:7px;align-items:center;border:1px solid rgba(158,208,189,.18);border-radius:8px;padding:6px;background:#0b231e57}.effect-chip>div{min-width:0;display:grid;gap:2px}.effect-chip>div>strong,.effect-chip>div>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.effect-chip>div>strong{color:#fff3df;font-size:.78rem}.effect-chip>div>span{color:#9ed0bd;font-size:.68rem;font-weight:800}.hand-panel{min-width:0;display:grid;gap:7px}.hand-panel-title{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#d6c5ad;font-size:.76rem;font-weight:900;text-transform:uppercase}.hand-panel-title>strong{color:#f0c778}.hand-card-row{min-width:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:7px}.empty-hand-copy{margin:0;border:1px solid rgba(255,239,210,.12);border-radius:8px;padding:10px;color:#d6c5ad;background:#00000042;font-size:.82rem}.hand-card{min-width:0;min-height:0;display:block;padding:0;border:0;background:transparent;box-shadow:none}.hand-card-playable .card-face{border-color:#f0c7789e;animation:card-ready 1.8s ease-in-out infinite}.hand-card-blocked .card-face{opacity:.78;filter:saturate(.82)}.hand-card:not(:disabled):active .card-face{animation:card-play .18s ease-out}.card-face{position:relative;width:100%;aspect-ratio:2 / 3;overflow:hidden;border:1px solid rgba(255,239,210,.18);border-radius:6px;background:#0d0e0f;box-shadow:0 10px 22px #00000052;isolation:isolate}.card-face-frame,.card-face-art,.card-face-type,.card-face-cost,.card-face-name,.card-face-rules{position:absolute}.card-face-frame{inset:0;z-index:1;width:100%;height:100%;object-fit:fill;pointer-events:none}.card-face-art{z-index:1;object-fit:cover;filter:saturate(.95) contrast(1.04)}.card-face-item .card-face-art{top:19.5%;left:8.5%;width:83%;height:32.5%;border-radius:4px}.card-face-event .card-face-art{top:12%;left:9%;width:82%;height:54%;border-radius:8px}.card-face-type{top:5%;left:5.2%;z-index:4;width:17%;aspect-ratio:1;display:grid;place-items:center;border-radius:50%}.card-face-type img{width:72%;height:72%;object-fit:contain}.card-face-cost{top:5.5%;right:6.5%;z-index:4;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:3px;max-width:32%}.card-face-cost>span{min-width:26px;min-height:24px;display:inline-flex;align-items:center;justify-content:center;gap:2px;border:1px solid rgba(255,239,210,.22);border-radius:999px;padding:2px 4px;color:#fff3df;background:#050607d1}.card-face-cost img,.card-face-cost .asset-fallback{width:13px;height:13px;border-radius:50%;object-fit:contain}.card-face-cost strong{font-size:.56rem;line-height:1}.card-face-name{top:7%;left:27%;right:18%;z-index:4;min-width:0;overflow:hidden;color:#fff3df;font-size:.56rem;line-height:1.05;text-align:center;text-overflow:ellipsis;white-space:nowrap}.card-face-event .card-face-name{top:5.6%;left:24%;right:19%}.card-face-rules{left:10.5%;right:10.5%;bottom:8.5%;z-index:4;height:24%;display:grid;align-content:start;gap:3px;overflow:hidden;color:#d6c5ad;font-size:.54rem;font-weight:800;line-height:1.18}.card-face-event .card-face-rules{bottom:10%;height:20%;color:#171615}.card-face-rules p{margin:0;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:4}.card-face-detail{width:min(100%,360px);margin:0 auto;border-radius:8px}.card-face-detail .card-face-name{font-size:.96rem}.card-face-detail .card-face-rules{gap:6px;font-size:.92rem;line-height:1.24}.card-face-detail .card-face-cost>span{min-width:42px;min-height:34px;gap:4px;padding:4px 7px}.card-face-detail .card-face-cost img,.card-face-detail .card-face-cost .asset-fallback{width:20px;height:20px}.card-face-detail .card-face-cost strong{font-size:.84rem}.shop-entry-action,.challenge-entry-action{width:100%}.objective-panel{min-width:0;display:grid;gap:8px;border:1px solid rgba(240,199,120,.18);border-radius:8px;padding:9px;background:#1b120d6b}.objective-panel>div{min-width:0;display:grid;gap:3px}.objective-heading>span{color:#9ed0bd;font-size:.68rem;font-weight:900;text-transform:uppercase}.objective-panel>div>strong{color:#fff3df;font-size:.98rem}.objective-panel>div>small{color:#d6c5ad;font-size:.78rem;line-height:1.25}.objective-panel ol{display:grid;gap:5px;margin:0;padding-left:18px;color:#bfae98;font-size:.74rem;line-height:1.25}.objective-panel li{padding-left:2px}.objective-step-current{color:#f0c778}.objective-step-done{color:#9ed0bd}.modal-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:12px;background:#050607b8;animation:modal-fade-in .13s ease-out}.game-modal{position:relative;width:min(100%,760px);max-height:calc(100dvh - 24px);overflow:auto;border:1px solid rgba(255,239,210,.2);border-radius:8px;color:#fff2df;background:#0d0e0ffa;box-shadow:0 24px 80px #00000094;animation:modal-open .17s ease-out}.confirm-modal{width:min(100%,360px);display:grid;gap:12px;padding:18px}.confirm-modal h2,.confirm-modal p{margin:0}.confirm-modal h2{color:#fff3df;font-size:1.28rem}.confirm-modal p{color:#ead8c3;font-size:.9rem;line-height:1.34}.confirm-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.modal-close{position:absolute;top:8px;right:8px;z-index:4;width:44px;min-height:44px;padding:0}.modal-close:active{animation:modal-close-press .12s ease-out}.card-detail-modal{display:grid;justify-items:center;gap:12px;width:min(100%,430px);padding:14px}.shop-modal-header,.shop-offer-list,.shop-offer-card>div{min-width:0;display:grid}.shop-modal-header>p,.shop-offer-card>div>p{margin:0;color:#9ed0bd;font-size:.74rem;font-weight:900;text-transform:uppercase}.shop-modal-header h2,.shop-offer-card h3{margin:0;color:#fff3df;line-height:1.02}.card-detail-actions{width:100%;display:grid}.resource-cost{display:flex;flex-wrap:wrap;gap:6px;margin:0}.resource-cost span,.resource-cost-empty{min-height:32px;display:inline-flex;align-items:center;gap:5px;border:1px solid rgba(255,239,210,.14);border-radius:8px;padding:4px 7px;color:#ead8c3;background:#00000047;font-size:.78rem;font-weight:800}.shop-modal{display:grid;gap:12px;padding:14px;background:linear-gradient(180deg,#0e0c0b94,#0a0b0cf7),var(--shop-bg),#121414;background-position:center top;background-size:cover}.shop-modal-header{gap:5px;padding-right:48px}.shop-modal-header h2{font-size:1.58rem}.shop-modal-header>span{color:#ead8c3;font-size:.9rem;line-height:1.32}.shop-offer-list{gap:8px}.shop-offer-card{min-width:0;display:grid;grid-template-columns:82px minmax(0,1fr) minmax(84px,auto);gap:10px;align-items:center;border:1px solid rgba(255,239,210,.15);border-radius:8px;padding:8px;background:#050607ad}.shop-offer-card>img{width:82px;height:82px;border-radius:8px;object-fit:cover}.shop-offer-card>div{gap:5px}.shop-offer-card h3{font-size:1rem}.shop-offer-card>div>span,.shop-offer-card>div>small{color:#d6c5ad;font-size:.78rem;line-height:1.25}.shop-offer-card>div>strong{color:#f0c778;font-size:.82rem;line-height:1.22}.challenge-modal{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:14px;padding:14px}.challenge-art{position:relative;min-height:320px;overflow:hidden;border-radius:8px;background:#121414}.challenge-art img{width:100%;height:100%;object-fit:cover;filter:saturate(.96) contrast(1.05)}.challenge-art span{position:absolute;left:10px;bottom:10px;max-width:calc(100% - 20px);border-radius:8px;padding:6px 8px;color:#fff3df;background:#07090ad6;font-size:.78rem;font-weight:900}.challenge-copy{min-width:0;display:grid;align-content:start;gap:10px;padding-right:48px}.challenge-copy>p:first-child,.challenge-result p,.combat-stakes p{margin:0;color:#9ed0bd;font-size:.74rem;font-weight:900;text-transform:uppercase}.challenge-copy h2,.challenge-result h3{margin:0;color:#fff3df;line-height:1.02}.challenge-copy h2{font-size:1.7rem}.challenge-copy>span,.challenge-log,.challenge-disabled,.challenge-log-list{color:#ead8c3;font-size:.86rem;line-height:1.32}.challenge-log{margin:0;border-left:3px solid rgba(240,199,120,.72);padding-left:9px}.event-choice-list{display:grid;gap:8px}.event-choice-button{min-height:82px;display:grid;gap:4px;align-content:center;padding:10px;text-align:left}.event-choice-button strong,.event-choice-button span,.event-choice-button em,.event-choice-button small{min-width:0;overflow-wrap:anywhere}.event-choice-button strong{color:#fff3df;font-size:.98rem}.event-choice-button span{color:#f0c778;font-size:.78rem;font-weight:900}.event-choice-button small{color:#d6c5ad;font-size:.78rem;line-height:1.24}.event-choice-button em{color:#9ed0bd;font-size:.72rem;font-style:normal;font-weight:900;line-height:1.2}.challenge-result{display:grid;gap:7px;border:1px solid rgba(255,239,210,.14);border-radius:8px;padding:10px;background:#0000004d}.challenge-result-success{border-color:#9ed0bd57;animation:resource-gain .62s ease-out}.challenge-result-failure{border-color:#e46d5561;animation:resource-loss .62s ease-out}.challenge-result h3{font-size:1.05rem}.challenge-result span,.challenge-result small{color:#ead8c3;font-size:.84rem;line-height:1.28}.combat-breakdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0}.combat-breakdown div{min-width:0;display:grid;gap:2px;border:1px solid rgba(255,239,210,.12);border-radius:8px;padding:7px 5px;background:#00000047;text-align:center}.combat-breakdown dt{color:#cdbba2;font-size:.68rem;font-weight:800}.combat-breakdown dd{margin:0;color:#fff4df;font-size:1rem;font-weight:900}.combat-modifier-list,.combat-stakes{display:grid;gap:6px}.combat-modifier-list{grid-template-columns:repeat(auto-fit,minmax(108px,1fr))}.combat-modifier-list span,.finale-counter{min-height:34px;display:inline-flex;align-items:center;border:1px solid rgba(158,208,189,.18);border-radius:8px;padding:5px 7px;color:#ead8c3;background:#0b231e52;font-size:.76rem;font-weight:900}.combat-stakes{grid-template-columns:repeat(2,minmax(0,1fr))}.combat-stakes div{min-width:0;display:grid;gap:3px;border-left:3px solid rgba(228,109,85,.72);padding-left:8px}.combat-stakes strong{color:#fff3df;font-size:.84rem;line-height:1.22}.challenge-log-list{display:grid;gap:4px;margin:0;padding-left:18px}.outcome-screen{min-height:100%;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:14px;border:1px solid rgba(255,239,210,.16);border-radius:8px;padding:14px;background:#07090ad1;box-shadow:0 24px 80px #00000070}.outcome-victory{animation:victory-reveal .72s ease-out}.outcome-defeat{animation:defeat-reveal .72s ease-out}.outcome-art{min-height:360px;overflow:hidden;border-radius:8px;background:#121414}.outcome-art img{width:100%;height:100%;object-fit:cover}.outcome-copy{min-width:0;display:grid;align-content:center;gap:12px}.outcome-copy p,.outcome-copy h1,.outcome-copy span,.outcome-copy ul{margin:0}.outcome-copy p{color:#f0c778;font-size:.8rem;font-weight:900;text-transform:uppercase}.outcome-copy h1{max-width:11ch;font-size:2.4rem}.outcome-copy span,.outcome-copy li{color:#ead8c3;font-size:.95rem;line-height:1.36}.outcome-copy ul{display:grid;gap:6px;padding-left:18px}.asset-fallback{display:grid;place-items:center;border:1px solid rgba(240,199,120,.38);border-radius:7px;color:#f0c778;background:linear-gradient(135deg,#702a2361,#25443c6b),#161817;font-size:.72rem;font-weight:900;line-height:1}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@keyframes tooltip-open{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes turn-change{0%{border-color:#f0c77861;transform:translateY(-4px)}to{border-color:#ffefd229;transform:translateY(0)}}@keyframes dice-roll{0%{transform:rotate(-10deg) scale(1)}50%{transform:rotate(12deg) scale(1.06)}to{transform:rotate(-10deg) scale(1)}}@keyframes dice-settle{0%{transform:rotate(-18deg) scale(.92);filter:brightness(1.35)}70%{transform:rotate(6deg) scale(1.05)}to{transform:rotate(0) scale(1);filter:brightness(1)}}@keyframes dice-roll-3d{0%{transform:rotateX(0) rotateY(0) rotate(0) translateY(0) translate(0);filter:brightness(1)}28%{transform:rotateX(250deg) rotateY(180deg) rotate(24deg) translateY(-10px) translate(-4px);filter:brightness(1.2)}62%{transform:rotateX(540deg) rotateY(410deg) rotate(-22deg) translateY(5px) translate(5px)}to{transform:rotateX(900deg) rotateY(720deg) rotate(0) translateY(0) translate(0);filter:brightness(1)}}@keyframes dice-tap{0%{transform:rotateX(0) rotateY(0) scale(1)}to{transform:rotateX(0) rotateY(0) scale(.94)}}@keyframes reachable-pulse{0%,to{opacity:.62;transform:scale(.9)}50%{opacity:1;transform:scale(1.12)}}@keyframes selected-cell-pop{0%{transform:scale(.82)}to{transform:scale(1)}}@keyframes trap-trigger{0%,to{transform:translateY(0) rotate(0);filter:drop-shadow(0 2px 4px rgba(0,0,0,.68))}35%{transform:translateY(-3px) rotate(-9deg);filter:drop-shadow(0 0 9px rgba(228,109,85,.86))}65%{transform:translateY(2px) rotate(8deg)}}@keyframes token-step{0%{transform:translate(calc(-50% + var(--token-offset-x)),calc(-50% + var(--token-offset-y))) scale(.94)}45%{transform:translate(calc(-50% + var(--token-offset-x)),calc(-58% + var(--token-offset-y))) scale(1.08)}to{transform:translate(calc(-50% + var(--token-offset-x)),calc(-50% + var(--token-offset-y))) scale(1)}}@keyframes own-token-breathe{0%,to{box-shadow:0 4px 14px #000000b8,0 0 0 3px #f0c77838}50%{box-shadow:0 5px 16px #000000c7,0 0 0 5px #f0c77857}}@keyframes resource-gain{0%{border-color:#9ed0bdb8;transform:translateY(-2px);filter:brightness(1.28)}to{transform:translateY(0);filter:brightness(1)}}@keyframes resource-loss{0%{border-color:#e46d55c7;transform:translate(-2px);filter:brightness(1.2) saturate(1.2)}35%{transform:translate(2px)}to{transform:translate(0);filter:brightness(1)}}@keyframes card-ready{0%,to{box-shadow:inset 0 0 0 1px #f0c77800}50%{box-shadow:inset 0 0 0 1px #f0c77857}}@keyframes card-play{0%{transform:translateY(0) scale(1)}to{transform:translateY(-4px) scale(1.02)}}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-open{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes modal-close-press{0%{transform:scale(1)}to{transform:scale(.92)}}@keyframes victory-reveal{0%{border-color:#9ed0bd80;filter:brightness(1.28);transform:translateY(8px)}to{filter:brightness(1);transform:translateY(0)}}@keyframes defeat-reveal{0%{border-color:#e46d558f;filter:saturate(1.3);transform:translateY(8px)}to{filter:saturate(1);transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:1ms!important}}@media(min-width:480px){.page-shell{padding:14px}.game-frame{min-height:calc(100dvh - 28px)}.screen-panel{padding:22px}.player-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@media(min-width:760px){.screen-panel{align-content:center}.hero-title-block{padding-top:0}.menu-actions,.screen-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.lobby-layout{grid-template-columns:minmax(320px,.9fr) minmax(390px,1.1fr);align-items:stretch}.hero-selection-panel{align-content:start}.game-screen{grid-template-columns:minmax(0,1fr) minmax(300px,360px);grid-template-rows:auto minmax(0,1fr);align-items:stretch}.game-hud{grid-column:1 / -1}.turn-action-panel{align-self:stretch;align-content:start}.turn-buttons{grid-template-columns:1fr}.hand-card-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1040px){.page-shell{padding:20px}.game-frame{min-height:calc(100dvh - 40px)}.screen-panel,.room-panel,.hero-selection-panel{padding:18px}.hero-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:380px){.status-bar{grid-template-columns:1fr;gap:4px}.screen-panel{padding:14px}h1{font-size:2.2rem}.room-header h1,.screen-heading h1{font-size:1.76rem}.hero-details{grid-template-columns:108px minmax(0,1fr)}.hero-detail-portrait{width:108px}.hero-detail-copy h2{font-size:1.24rem}.hero-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-option{min-height:166px}.game-hud{grid-template-columns:repeat(2,minmax(0,1fr))}.resource-strip,.hero-stat-strip,.game-hud button{grid-column:1 / -1}.turn-buttons{grid-template-columns:1fr}.movement-summary{grid-template-columns:96px minmax(0,1fr)}.dice-roll-button{width:96px;min-height:64px}.movement-cube{--cube-size: 38px}}@media(max-width:680px){.game-hud{grid-template-columns:repeat(2,minmax(0,1fr))}.resource-strip,.hero-stat-strip,.game-hud button{grid-column:1 / -1}.challenge-modal,.outcome-screen{grid-template-columns:1fr}.challenge-art,.outcome-art{min-height:230px}.challenge-copy{padding-right:0}.combat-breakdown{grid-template-columns:repeat(2,minmax(0,1fr))}.combat-stakes{grid-template-columns:1fr}.shop-offer-card{grid-template-columns:68px minmax(0,1fr)}.shop-offer-card>img{width:68px;height:68px}.shop-offer-card button{grid-column:1 / -1}}
