:root{color-scheme:dark;--ink: #f8f2df;--muted: #aaa5b8;--panel: #15131e;--line: rgba(255,255,255,.11);--gold: #e8bd69;--accent-rgb: 143,114,255;--shadow: 0 24px 70px rgba(0,0,0,.42);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#090812;color:var(--ink)}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{min-width:320px;background:radial-gradient(circle at 15% -5%,rgba(99,66,165,.23),transparent 34rem),radial-gradient(circle at 90% 10%,rgba(166,105,45,.12),transparent 30rem),#090812}button,select,input{font:inherit}button{color:inherit}button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid rgba(var(--accent-rgb),.66);outline-offset:3px}[hidden]{display:none!important}.topbar{height:72px;padding:0 clamp(16px,3vw,40px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line);background:rgba(9,8,18,.86);backdrop-filter:blur(18px);position:sticky;top:0;z-index:30}.brand{border:0;background:none;display:flex;align-items:center;gap:11px;padding:0;cursor:pointer;width:fit-content;text-align:left}.brand-mark{width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(232,189,105,.65);color:var(--gold);font:700 22px/1 Georgia,serif;transform:rotate(45deg)}.brand-mark::first-letter{transform:rotate(-45deg)}.brand strong{display:block;font:700 19px/1.05 Georgia,serif;letter-spacing:.03em}.brand small{display:block;color:var(--muted);font-size:12px;margin-top:3px;letter-spacing:.14em;text-transform:uppercase}.topbar-center{color:var(--muted);font-size:14px;text-align:center}.topbar-center strong{color:var(--ink)}.turn-status-stack{display:grid;justify-items:center;gap:4px}.turn-summary{line-height:1}.topbar-actions{justify-self:end;display:flex;gap:8px}.zoom-control{height:40px;display:inline-flex;align-items:stretch;overflow:hidden;border:1px solid rgba(var(--accent-rgb),.5);border-radius:999px;background:rgba(var(--accent-rgb),.1)}.zoom-control button{width:38px;min-width:38px;padding:0;border:0;color:var(--ink);background:transparent;font-size:18px;font-weight:900;cursor:pointer}.zoom-control button:hover:not(:disabled){background:rgba(var(--accent-rgb),.2)}.zoom-control button:disabled{opacity:.3;cursor:not-allowed}.zoom-control .zoom-value{width:50px;min-width:50px;border-inline:1px solid rgba(255,255,255,.1);font-size:11px}.redo-button{min-width:86px;height:40px;padding:0 12px;border:1px solid rgba(var(--accent-rgb),.5);border-radius:999px;color:var(--ink);background:rgba(var(--accent-rgb),.13);font:800 13px/1 system-ui,sans-serif;cursor:pointer}.redo-button strong{display:inline-grid;place-items:center;min-width:21px;height:21px;margin-left:5px;border-radius:50%;background:rgba(var(--accent-rgb),.26)}.redo-button:hover:not(:disabled){background:rgba(var(--accent-rgb),.24);border-color:rgba(var(--accent-rgb),.82)}.redo-button:disabled{opacity:.38;cursor:not-allowed}.icon-button,.back-button,.modal-close{border:1px solid var(--line);background:rgba(255,255,255,.04);border-radius:50%;width:40px;height:40px;cursor:pointer}.icon-button:hover,.back-button:hover,.modal-close:hover{background:rgba(255,255,255,.1)}.log-button svg{width:22px;height:22px;fill:currentColor;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.log-button svg path{fill:none}.objective-button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.main-menu-button{min-height:40px;padding:0 10px;border:1px solid rgba(232,189,105,.55);border-radius:10px;color:var(--gold);background:rgba(9,8,18,.82);font-size:12px;font-weight:900;line-height:1.05;cursor:pointer}.main-menu-button:hover{border-color:var(--gold);background:rgba(232,189,105,.14)}body.game-active .game-control-rail{position:fixed;z-index:70;top:50%;right:max(10px,env(safe-area-inset-right));left:auto;width:76px;height:auto;max-height:none;padding:4px;display:flex;flex-direction:column;align-items:stretch;gap:5px;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;transform:translateY(-50%)}body.game-active .game-control-rail .brand{display:none}body.game-active .game-control-rail .main-menu-button{width:100%;min-height:36px;padding:4px;font-size:10px}body.game-active .game-control-rail .topbar-center{display:flex;flex-direction:column;align-items:stretch;gap:6px;color:var(--muted);text-align:center}body.game-active .game-control-rail .phase-strip-topbar,body.game-active #turnStatusStack .phase-strip-topbar{display:flex;flex-direction:column;flex-wrap:nowrap;gap:3px}body.game-active .game-control-rail .phase-pill,body.game-active #turnStatusStack .phase-pill{width:100%;min-height:26px;display:grid;place-items:center;padding:5px 3px;border-radius:9px;font-size:10px}body.game-active .game-control-rail .turn-summary,body.game-active #turnStatusStack .turn-summary{padding:4px 2px 0;border-top:1px solid var(--line);font-size:10px;line-height:1.25}body.game-active .game-control-rail .topbar-actions{width:100%;display:flex;flex-direction:column;align-items:center;gap:5px;padding-top:5px;border-top:1px solid var(--line)}body.game-active .game-control-rail .zoom-control{width:46px;height:auto;display:flex;flex-direction:column;align-items:stretch;border-radius:13px}body.game-active .game-control-rail .zoom-control button{width:44px;min-width:44px;height:28px}body.game-active .game-control-rail .zoom-control .zoom-value{width:44px;min-width:44px;border:0;border-block:1px solid rgba(255,255,255,.1);font-size:10px}body.game-active .game-control-rail .icon-button{flex:0 0 40px}body.game-active .game-control-rail .redo-button{width:58px;min-width:58px;height:38px;padding:0 4px;font-size:11px}body.game-active .game-control-rail .redo-button strong{min-width:18px;height:18px;margin-left:2px}body.game-active .game-screen{min-height:100dvh}body.game-active .game-layout{min-height:100dvh}.realm-assets-loading{display:none;position:fixed;z-index:90;inset:0;place-content:center;justify-items:center;gap:10px;padding:24px;background:#003e21;color:#f5e6c2;text-align:center}.realm-assets-pending .realm-assets-loading{display:grid}.realm-assets-pending .game-layout{visibility:hidden;pointer-events:none}.realm-assets-loading small{max-width:34rem;color:#dfcfaa}.realm-assets-spinner{width:44px;height:44px;border:4px solid #d7ba7e55;border-top-color:#f1d790;border-radius:50%;animation:realm-assets-spin .8s linear infinite}.realm-assets-failed .realm-assets-spinner{display:none}.realm-assets-failed #realmAssetsReload{display:inline-flex}@keyframes realm-assets-spin{to{transform:rotate(1turn)}}@media(prefers-reduced-motion:reduce){.realm-assets-spinner{animation:none;border-top-color:#f1d790}}body.game-active .phase-strip-mobile{display:none}body.game-active .toast-region{top:16px;right:98px}.screen{min-height:calc(100vh - 72px)}.menu-screen{display:grid;place-items:center;padding:40px 20px;overflow:hidden;position:relative}.menu-screen::before{content:"";position:absolute;width:620px;aspect-ratio:1;border:1px solid rgba(232,189,105,.1);border-radius:50%;box-shadow:0 0 0 80px rgba(232,189,105,.025),0 0 0 160px rgba(232,189,105,.018);pointer-events:none}.menu-shell{width:min(780px,100%);text-align:center;position:relative;z-index:1}.eyebrow{display:block;color:var(--gold);text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:800}h1,h2,h3,p{margin-top:0}.menu-shell h1,.section-heading h1{font:700 clamp(38px,7vw,70px)/.98 Georgia,serif;letter-spacing:-.035em;margin:14px 0 18px}.menu-shell>p{max-width:590px;margin:0 auto;color:var(--muted);font-size:17px;line-height:1.65}.menu-actions{margin:38px auto 52px;display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.primary-button,.secondary-button{min-height:48px;border-radius:8px;padding:0 22px;font-weight:800;cursor:pointer;border:1px solid transparent;transition:transform .16s ease,filter .16s ease,background .16s ease}.primary-button{background:linear-gradient(135deg,#f0ca7e,#bf7f31);color:#211508;box-shadow:0 9px 30px rgba(191,127,49,.24)}.menu-actions .primary-button{width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:center;text-align:center;text-decoration:none}.secondary-button{background:rgba(255,255,255,.055);border-color:var(--line)}.primary-button:hover,.secondary-button:hover{transform:translateY(-1px);filter:brightness(1.08)}.primary-button:disabled,.secondary-button:disabled{opacity:.45;cursor:not-allowed;transform:none}.primary-button.wide{width:100%;margin-top:16px}.menu-villains{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.mini-crest{min-height:118px;border:1px solid rgba(138,126,147,.28);border-radius:14px;background:linear-gradient(160deg,rgba(66,52,69,.42),rgba(22,18,27,.92));display:grid;place-items:center;align-content:center;gap:10px;box-shadow:inset 0 1px rgba(255,255,255,.05)}.mini-crest img{width:58px;height:58px;object-fit:contain;filter:drop-shadow(0 0 12px rgba(var(--crest),.48))}.mini-crest small{color:#d5d1df;font-size:13px;font-weight:700}.menu-shell .legal{margin-top:20px;color:#777283;font-size:11px;line-height:1.5}.hook{--crest: 199,57,93}.maleficent{--crest: 89,180,101}.john{--crest: 220,137,45}.ursula{--crest: 117,93,210}.syndrome{--crest: 60,138,202}.mini-crest.jafar{--crest: 184,47,55}.mini-crest.queen-of-hearts{--crest: 196,47,61}.setup-screen{padding:40px 20px 80px}.setup-shell{width:min(1040px,100%);margin:auto}.section-heading{display:flex;align-items:flex-start;gap:20px;margin-bottom:30px}.section-heading h1{font-size:clamp(36px,6vw,58px);margin-bottom:0}.setup-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:16px}.setup-card{background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.025));border:1px solid var(--line);border-radius:14px;padding:22px}.players-card{grid-row:span 2}.setup-card h2{font:700 22px/1.2 Georgia,serif;margin-bottom:18px}.setup-card-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.setup-note{color:var(--muted);font-size:12px}.segmented{display:grid;gap:10px}.segmented button{text-align:left;border:1px solid var(--line);border-radius:10px;padding:15px;background:rgba(255,255,255,.025);cursor:pointer}.segmented button.selected{border-color:rgba(var(--accent-rgb),.8);background:rgba(var(--accent-rgb),.12)}.segmented strong,.segmented span{display:block}.segmented span{color:var(--muted);font-size:13px;margin-top:4px}.setup-rule-choice{margin-bottom:13px}.setup-rule-label{display:block;margin-bottom:9px;color:var(--muted);font-size:13px;font-weight:800}.segmented.compact{grid-template-columns:1fr 1fr;gap:7px}.segmented.compact button{min-height:82px;padding:11px}.segmented.compact strong{font-size:13px;line-height:1.2}.segmented.compact span{font-size:12px;line-height:1.3}.difficulty-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.difficulty-picker button{min-height:68px}.player-row{display:grid;grid-template-columns:36px minmax(120px,1fr) minmax(135px,1fr) minmax(165px,1.2fr) auto;gap:10px;align-items:center;margin-bottom:11px}.player-number{width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.07);display:grid;place-items:center;font-weight:800}.player-row input,.player-row select{width:100%;min-height:44px;padding:0 12px;border-radius:8px;color:var(--ink);background:#11101a;border:1px solid var(--line)}.remove-player{border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:22px}.add-player{width:100%;min-height:42px;border:1px dashed rgba(255,255,255,.2);border-radius:8px;color:var(--muted);background:transparent;cursor:pointer}.rule-row{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-top:1px solid var(--line);color:var(--muted);gap:14px}.rule-row strong{color:var(--ink);text-align:right}html.game-active{background-color:#003e21;background-image:url(assets/game-table-felt-emerald-restored-20260929.jpeg);background-position:center;background-size:cover;background-repeat:no-repeat;background-attachment:fixed}body.game-active{background:transparent}.game-screen{padding-bottom:0;background:transparent}.game-layout{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:calc(100vh - 262px)}.opponents-panel{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:6px;border-right:1px solid var(--line);background:rgba(7,8,4,.5);backdrop-filter:blur(3px);padding:16px}.opponent-card{width:100%;overflow:hidden;border:1px solid var(--line);border-radius:11px;padding:11px 13px;margin:0;color:var(--ink);text-align:left;font:inherit;cursor:pointer;background:linear-gradient(145deg,rgba(var(--villain),.12),rgba(255,255,255,.025));transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease,flex-basis .22s ease,margin .22s ease}.opponent-card:hover,.opponent-card:focus-visible{border-color:rgba(var(--villain),.65);transform:translateY(-1px);outline:none}.opponent-card.active{box-shadow:inset 3px 0 0 rgb(var(--villain))}.opponent-card.viewed{margin-block:8px;border-color:rgba(var(--villain),.92);box-shadow:0 0 0 2px rgba(var(--villain),.24),inset 3px 0 0 rgb(var(--villain))}.opponent-card:disabled{cursor:default;transform:none;opacity:.72}.opponent-name{display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:800}.opponent-emblem{flex:0 0 34px;width:34px;height:34px;object-fit:contain;filter:drop-shadow(0 0 8px rgba(var(--villain),.55))}.opponent-details{display:grid;grid-template-rows:0fr;margin-top:0;opacity:0;transition:grid-template-rows .22s ease,margin-top .22s ease,opacity .16s ease}.opponent-details-inner{min-height:0;overflow:hidden}.opponent-card.viewed .opponent-details{grid-template-rows:1fr;margin-top:10px;opacity:1}.opponent-card.viewed .stats{padding-top:10px;border-top:1px solid rgba(var(--villain),.2)}.stats{display:flex;gap:11px;flex-wrap:wrap;align-items:center;color:var(--muted);font-size:13px}.realm-stat{display:inline-flex;align-items:center;gap:4px;min-width:34px}.realm-stat-icon{flex:0 0 21px;width:21px;height:21px;color:currentColor}.realm-stat-icon{display:block;overflow:visible;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.realm-stat-value{font-variant-numeric:tabular-nums}.power-count-icon .power-inner{stroke-width:1.2;opacity:.72}.hand-count-icon rect:nth-of-type(1),.hand-count-icon rect:nth-of-type(2){opacity:.62}.deck-count-icon .single-card-fill{fill:currentColor;stroke:currentColor}.fate-count-icon .fate-bolt{fill:rgba(var(--villain),.16)}.opponent-location{color:rgb(var(--villain));font-size:12px;margin-top:8px}.revealed-hand{line-height:1.45}.player-tab-state{display:block;margin-top:4px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.table-area{position:relative;min-width:0;min-height:0;display:grid;grid-template-rows:auto auto auto auto minmax(108px,1fr);align-content:start;overflow:visible;padding:18px clamp(12px,2.3vw,30px) 0;background:transparent}.phase-strip{display:flex;justify-content:center;gap:7px;flex-wrap:wrap}.phase-strip-topbar{margin:0}.phase-strip-mobile{display:none;margin-bottom:18px}.phase-pill{padding:6px 11px;border-radius:999px;border:1px solid var(--line);color:#777283;font-size:12px;font-weight:800}.phase-pill.active{color:var(--ink);background:rgba(var(--accent-rgb),.18);border-color:rgba(var(--accent-rgb),.65)}.phase-pill.done{color:var(--gold)}.phase-end-control{width:auto;min-height:0;font-family:inherit;line-height:inherit;background:transparent}.phase-end-control.ready{color:var(--cream);border-color:rgba(var(--accent-rgb),.7);cursor:pointer;box-shadow:0 0 0 1px rgba(var(--accent-rgb),.12)}.phase-end-control:disabled{cursor:default;opacity:1}.realm-header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:32px;margin-bottom:8px}.realm-header-content{display:contents}.realm-title{order:0}.upgrade-button{order:1;min-height:32px;padding:0 11px;margin-left:auto;font-size:12px}.realm-title h1{margin:0;color:var(--cream);font:800 12px/1 system-ui,sans-serif;letter-spacing:.02em}.realm-board{--realm-a:rgba(var(--accent-rgb),.24);--realm-b:#0c0912;--realm-glow:var(--accent-rgb);--realm-edge:232,189,105;--realm-texture:none;display:grid;grid-template-columns:minmax(128px,.74fr) repeat(4,minmax(0,1fr));column-gap:0;border:1px solid rgba(var(--realm-edge),.72);border-radius:14px;overflow-x:hidden;box-shadow:var(--shadow);background-color:var(--realm-a);background-image:var(--realm-texture);background-repeat:repeat;background-size:440px 56px;background-position:left top;background-attachment:local;background-clip:padding-box}.captain-hook-realm{--realm-a:#472c39;--realm-b:#1d1118;--realm-glow:113,70,91;--realm-texture:url(assets/realm-texture-captain-hook.webp)}.maleficent-realm{--realm-a:#2b3f31;--realm-b:#111b15;--realm-glow:68,100,78;--realm-texture:url(assets/realm-texture-maleficent.webp)}.prince-john-realm{--realm-a:#703f23;--realm-b:#2b160d;--realm-glow:184,106,51;--realm-texture:url(assets/realm-texture-prince-john.webp);border-width:2px;box-shadow:var(--shadow)}.syndrome-realm{--realm-a:#ab5416;--realm-b:#472005;--realm-glow:219,105,27}.ursula-realm{--realm-a:#3c3841;--realm-b:#17151b;--realm-glow:95,88,104;--realm-texture:url(assets/realm-texture-ursula.webp)}.jafar-realm{--realm-a:#2a2926;--realm-b:#11100e;--realm-glow:83,81,75;--realm-texture:url(assets/realm-texture-jafar.webp)}.queen-of-hearts-realm{--realm-a:#5c2829;--realm-b:#260f12;--realm-glow:148,63,65;--realm-texture:url(assets/realm-texture-queen-of-hearts.webp)}.realm-portrait{min-width:128px;min-height:360px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:18px 8px;overflow:visible;border-right:1px solid rgba(var(--realm-edge),.58);background:transparent}.realm-portrait.selected{box-shadow:inset 0 0 0 3px rgb(var(--accent-rgb))}.portrait-power-count{position:absolute;z-index:6;top:-36px;left:50%;min-width:48px;height:30px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:4px;padding:2px 8px;border:1px solid rgba(var(--realm-edge),.78);border-radius:999px;color:var(--cream);background:rgba(9,8,18,.9);box-shadow:0 4px 12px rgba(0,0,0,.5);transform:translateX(-50%)}.portrait-power-count .realm-stat-icon{width:21px;height:21px}.portrait-power-count strong{font-size:14px}.portrait-label{position:absolute;top:14px;color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.13em}.portrait-crest{width:82px;height:82px;display:grid;place-items:center;transform:rotate(45deg);border:2px solid rgba(var(--accent-rgb),.8);background:rgba(8,7,13,.76);box-shadow:0 0 34px rgba(var(--accent-rgb),.28)}.portrait-emblem{width:72%;height:72%;object-fit:contain;transform:rotate(-45deg);filter:drop-shadow(0 0 10px rgba(var(--accent-rgb),.68))}.portrait-copy{display:grid;gap:5px;text-align:center}.portrait-copy strong{font:700 15px/1.15 Georgia,serif}.portrait-copy small{color:var(--muted);font-size:10px;line-height:1.25}.realm-character-art{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;object-position:center;background:var(--realm-a)}.portrait-objective{position:absolute;z-index:1;left:8px;right:8px;bottom:64px;min-height:92px;display:grid;align-content:center;gap:7px;padding:9px 7px;border:1px solid rgba(var(--realm-edge),.58);background:linear-gradient(180deg,rgba(var(--realm-glow),.19),rgba(20,9,6,.9));box-shadow:inset 0 0 18px rgba(0,0,0,.32);text-align:center}.portrait-objective strong{color:#ddb36f;font:700 9px/1.15 Georgia,serif;letter-spacing:.04em;text-transform:uppercase}.portrait-objective span{color:#ead9bd;font-size:9px;line-height:1.3}.portrait-mover{position:absolute;z-index:4;top:50%;bottom:auto;left:50%;margin:0;translate:-50% -50%}.location{min-width:0;min-height:360px;border-right:0;position:relative;display:grid;grid-template-rows:auto 46px minmax(108px,1fr);align-content:start;background:transparent}.location.selectable{z-index:4;cursor:pointer}.location.selectable .location-center{border-color:rgba(var(--realm-edge),1);box-shadow:0 0 10px rgba(var(--accent-rgb),.42),inset 0 0 0 2px rgba(var(--realm-edge),.72);filter:brightness(1.12);animation:legal-location-image-pulse 1.15s ease-in-out infinite alternate}.location.selectable:hover .location-center{filter:brightness(1.2)}@keyframes legal-location-image-pulse{from{box-shadow:0 0 10px rgba(var(--accent-rgb),.42),inset 0 0 0 2px rgba(var(--realm-edge),.72)}to{box-shadow:0 0 26px rgba(var(--accent-rgb),.82),inset 0 0 0 3px rgba(var(--realm-edge),1)}}.location.selected{box-shadow:none}.location.locked-location{filter:none}.location-lock{position:absolute;z-index:7;left:50%;top:50%;width:44px;height:49px;translate:-50% -50%;overflow:hidden;border:1px solid rgba(242,217,144,.74);border-radius:11px;background:rgba(8,7,13,.8) url(assets/lock-outline.svg) center/33px 37px no-repeat;box-shadow:0 5px 18px rgba(0,0,0,.52);color:transparent;font-size:0;pointer-events:none}.realm-board.choosing-location .realm-portrait,.realm-board.choosing-location .location:not(.placement-target){filter:saturate(.35) brightness(.58)}.realm-board.choosing-location .location{pointer-events:none;transition:filter .18s ease}.realm-board.choosing-location .location.placement-target{pointer-events:auto;filter:none}.location.placement-target{z-index:3}.realm-location-target{position:absolute;z-index:12;inset:4px;border:3px solid var(--gold);border-radius:10px;background:rgba(var(--accent-rgb),.13);color:var(--ink);cursor:pointer;box-shadow:0 0 0 2px rgba(8,7,13,.78),0 0 24px rgba(var(--accent-rgb),.72),inset 0 0 30px rgba(var(--accent-rgb),.13);animation:realm-target-pulse 1.25s ease-in-out infinite alternate}.realm-location-target span{position:absolute;left:50%;top:50%;translate:-50% -50%;padding:8px 13px;border:1px solid rgba(232,189,105,.75);border-radius:999px;background:rgba(8,7,13,.9);color:var(--gold);white-space:nowrap;font-size:13px;font-weight:900}@keyframes realm-target-pulse{from{box-shadow:0 0 0 2px rgba(8,7,13,.78),0 0 13px rgba(var(--accent-rgb),.46),inset 0 0 22px rgba(var(--accent-rgb),.08)}to{box-shadow:0 0 0 2px rgba(8,7,13,.78),0 0 30px rgba(var(--accent-rgb),.82),inset 0 0 36px rgba(var(--accent-rgb),.19)}}.location-center{position:relative;aspect-ratio:1;min-height:159px;margin:5px 1px 0;overflow:hidden;border:1px solid rgba(var(--realm-edge),.4);border-radius:11px;background:rgba(var(--realm-glow),.035);box-shadow:none;transition:border-color .18s ease,filter .18s ease}.location-center>.action-row{position:absolute;left:9px;right:9px;z-index:1;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);align-items:center;justify-items:center;gap:0}.top-actions{top:10px}.bottom-actions{bottom:10px}.fate-zone{position:absolute;z-index:2;top:5px;left:6px;right:6px;height:76px;display:flex;justify-content:center;align-items:flex-start;gap:4px;padding:4px;overflow:visible;border:0;border-radius:0;background:transparent;pointer-events:none}.fate-zone.has-heroes{pointer-events:auto;cursor:pointer;touch-action:manipulation}.fate-zone.has-heroes:hover,.fate-zone.has-heroes:focus-visible{outline:none}.hero-zone-count{position:absolute;z-index:3;left:50%;bottom:4px;translate:-50% 0;margin:0;padding:3px 7px;border:1px solid rgba(232,189,105,.6);border-radius:999px;background:rgba(8,7,13,.9);color:var(--cream);font:800 9px/1.1 system-ui,sans-serif;white-space:nowrap;pointer-events:none}.location.top-covered .fate-zone{border:0;background:transparent;box-shadow:none}.location.hiss-override .top-actions{z-index:3}.location-name{position:relative;display:grid;place-items:center;min-width:0;margin:2px 1px;padding:5px 4px;text-align:center;text-transform:uppercase;letter-spacing:.06em;font:700 11px/1.15 Georgia,serif}.captain-hook-realm .location[data-location="3"] .location-name::after,.jafar-realm .location[data-location="3"] .location-name::after{content:"";position:absolute;z-index:6;right:3px;top:-31px;width:24px;height:27px;background:url(assets/lock-outline.svg) center/contain no-repeat;filter:drop-shadow(0 2px 3px rgba(0,0,0,.6));pointer-events:none}.villain-zone{min-height:100px;margin:0 1px 8px;padding:7px;display:flex;flex-direction:column;justify-content:flex-start;gap:0;overflow:visible;align-items:center;border:1px solid rgba(var(--realm-edge),.28);border-radius:10px;background:rgba(var(--realm-glow),.035);box-shadow:none}.villain-zone .mini-card+.mini-card{margin-top:-54px}.prince-john-realm .villain-zone{border-color:rgba(var(--realm-edge),.58);background:rgba(var(--realm-glow),.035)}.prince-john-realm .fate-zone{border-color:rgba(232,189,105,.34)}.prince-john-realm .location-center{isolation:isolate;box-shadow:inset 0 0 34px rgba(0,0,0,.44)}.prince-john-realm .location[data-location="0"]{--location-art:url(assets/prince-john-sherwood-clean.webp)}.prince-john-realm .location[data-location="1"]{--location-art:url(assets/prince-john-church-clean.webp)}.prince-john-realm .location[data-location="2"]{--location-art:url(assets/prince-john-nottingham-clean.webp)}.prince-john-realm .location[data-location="3"]{--location-art:url(assets/prince-john-jail-clean.webp)}.prince-john-realm .location-center::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:10px;background:var(--location-art) center/100% 100% no-repeat}.prince-john-realm .realm-portrait{overflow:visible;border-radius:12px 0 0 12px}.prince-john-realm .realm-character-art{border-radius:12px 0 0 12px;object-fit:fill;object-position:center}.prince-john-realm .location-name{border:0;border-radius:0;background:transparent;color:#f3daa5;box-shadow:none;text-shadow:0 1px 3px #000}.captain-hook-realm .location-center{isolation:isolate;box-shadow:inset 0 0 28px rgba(0,0,0,.34)}.captain-hook-realm .location[data-location="0"]{--location-art:url(assets/captain-hook-jolly-roger-clean.webp)}.captain-hook-realm .location[data-location="1"]{--location-art:url(assets/captain-hook-skull-rock-clean.webp)}.captain-hook-realm .location[data-location="2"]{--location-art:url(assets/captain-hook-mermaid-lagoon-clean.webp)}.captain-hook-realm .location[data-location="3"]{--location-art:url(assets/captain-hook-hangmans-tree-clean.webp)}.captain-hook-realm .location-center::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:10px;background:var(--location-art) center/100% 100% no-repeat}.captain-hook-realm .realm-portrait{overflow:visible;border-radius:12px 0 0 12px}.captain-hook-realm .realm-character-art{border-radius:12px 0 0 12px;object-fit:fill;object-position:center;background:#21151c}.captain-hook-realm .location-name{border:0;border-radius:0;background:transparent;color:#d6b981;box-shadow:none;text-shadow:0 1px 3px #000}.jafar-realm .location-center,.maleficent-realm .location-center,.queen-of-hearts-realm .location-center,.ursula-realm .location-center{isolation:isolate;box-shadow:inset 0 0 28px rgba(0,0,0,.34)}.jafar-realm .location[data-location="0"]{--location-art:url(assets/jafar-sultans-palace-clean.webp)}.jafar-realm .location[data-location="1"]{--location-art:url(assets/jafar-streets-of-agrabah-clean.webp)}.jafar-realm .location[data-location="2"]{--location-art:url(assets/jafar-oasis-clean.webp)}.jafar-realm .location[data-location="3"]{--location-art:url(assets/jafar-cave-of-wonders-clean.webp)}.maleficent-realm .location[data-location="0"]{--location-art:url(assets/maleficent-forbidden-mountains-clean.webp)}.maleficent-realm .location[data-location="1"]{--location-art:url(assets/maleficent-briar-roses-cottage-clean.webp)}.maleficent-realm .location[data-location="2"]{--location-art:url(assets/maleficent-the-forest-clean.webp)}.maleficent-realm .location[data-location="3"]{--location-art:url(assets/maleficent-king-stefans-castle-clean.webp)}.queen-of-hearts-realm .location[data-location="0"]{--location-art:url(assets/queen-of-hearts-courtyard-clean.webp)}.queen-of-hearts-realm .location[data-location="1"]{--location-art:url(assets/queen-of-hearts-hedge-maze-clean.webp)}.queen-of-hearts-realm .location[data-location="2"]{--location-art:url(assets/queen-of-hearts-tulgey-wood-clean.webp)}.queen-of-hearts-realm .location[data-location="3"]{--location-art:url(assets/queen-of-hearts-white-rabbits-house-clean.webp)}.ursula-realm .location[data-location="0"]{--location-art:url(assets/ursula-lair-clean.webp)}.ursula-realm .location[data-location="1"]{--location-art:url(assets/ursula-erics-ship-clean.webp)}.ursula-realm .location[data-location="2"]{--location-art:url(assets/ursula-the-shore-clean.webp)}.ursula-realm .location[data-location="3"]{--location-art:url(assets/ursula-the-palace-clean.webp)}.jafar-realm .location-center::before,.maleficent-realm .location-center::before,.queen-of-hearts-realm .location-center::before,.ursula-realm .location-center::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:10px;background:var(--location-art) center/100% 100% no-repeat}.jafar-realm .realm-portrait,.maleficent-realm .realm-portrait,.queen-of-hearts-realm .realm-portrait,.ursula-realm .realm-portrait{overflow:visible;border-radius:12px 0 0 12px}.jafar-realm .realm-character-art,.maleficent-realm .realm-character-art,.queen-of-hearts-realm .realm-character-art,.ursula-realm .realm-character-art{border-radius:12px 0 0 12px;object-fit:fill;object-position:center}.action-row{display:flex;justify-content:center;gap:7px}.action-icon{width:38px;height:38px;display:grid;place-items:center;padding:5px;border-radius:50%;border:2px solid rgba(var(--realm-edge),.92);background:var(--realm-a);color:rgb(var(--realm-edge));box-shadow:inset 0 0 12px rgba(0,0,0,.22);position:relative}.action-symbol{position:absolute;left:50%;top:50%;width:calc(100% - 10px);height:calc(100% - 10px);display:block;overflow:visible;translate:-50% -50%;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}.action-symbol-image{position:absolute;left:50%;top:50%;width:calc(100% - 4px);height:calc(100% - 4px);display:block;object-fit:contain;translate:-50% -50%;pointer-events:none}.discard-symbol-image{background:currentColor;-webkit-mask:url(assets/action-symbols/discard.webp?v=1) center/contain no-repeat;mask:url(assets/action-symbols/discard.webp?v=1) center/contain no-repeat}.action-symbol .symbol-detail{stroke-width:1;opacity:.72}.action-symbol .symbol-bolt{fill:rgba(232,189,105,.16);stroke-width:2}.action-symbol .vanquish-mark{stroke-width:1.65}.action-symbol .play-mark{stroke-width:1.65}.action-symbol text{fill:currentColor;stroke:none;font:900 15px/1 system-ui,sans-serif}.action-icon.available{cursor:pointer;border-color:rgba(var(--accent-rgb),.78);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.11)}.action-icon.available:hover{color:#ffe1a0;background:rgba(var(--accent-rgb),.18);transform:translateY(-1px)}.action-icon.drag-only-action{cursor:default;opacity:1;border-style:dashed}.action-icon.drag-only-action:hover{color:rgb(var(--realm-edge));background:var(--realm-a);transform:none}.action-icon.used{opacity:.28;text-decoration:line-through}.action-icon.covered{opacity:.18}.action-icon.covered.available{opacity:1;box-shadow:0 0 0 3px rgba(var(--accent-rgb),.22),0 0 14px rgba(var(--accent-rgb),.5)}.action-icon.unavailable{cursor:help}.action-icon.action-selected{opacity:1;border-color:#ffe34d;color:#fff4a8;background:#3a3012;animation:action-waiting-pulse .7s ease-in-out infinite alternate}.action-icon.action-completed{opacity:1;border-color:#ffe34d;color:#fff;background:#5b4912;animation:action-success-flash .22s ease-out both}.action-icon.used{opacity:1;text-decoration:none}.action-icon.used>*{opacity:.25}.action-icon.used::after{content:"\2713";position:absolute;z-index:4;inset:2px;display:grid;place-items:center;border-radius:50%;color:#221805;background:rgba(255,227,77,.92);font:900 22px/1 system-ui,sans-serif}@keyframes action-waiting-pulse{from{transform:scale(1);box-shadow:0 0 5px rgba(255,227,77,.55)}to{transform:scale(1.12);box-shadow:0 0 16px #ffe34d}}@keyframes action-success-flash{0%{transform:scale(1)}55%{transform:scale(1.24);box-shadow:0 0 22px #ffe34d}100%{transform:scale(1)}}.location-travel-target{position:absolute;z-index:20;inset:0;width:100%;height:100%;padding:0;border:0;border-radius:0;background:transparent;cursor:pointer}.location-travel-target:focus-visible{outline:4px solid var(--gold);outline-offset:-5px}.mover{align-self:center;margin:auto;width:42px;height:52px;display:grid;place-items:center;pointer-events:none;filter:drop-shadow(0 4px 5px rgba(0,0,0,.75)) drop-shadow(0 0 10px rgba(var(--accent-rgb),.62))}.location-center>.mover{position:absolute;z-index:4;top:50%;left:50%;margin:0;transform:translate(-50%,-50%)}.mover-art{display:block;width:100%;height:100%;object-fit:contain}.portrait-mover{width:50px;height:64px}.hidden-card-emblem{display:grid;place-items:center}.card-back-emblem{width:54px;height:54px;object-fit:contain;filter:drop-shadow(0 0 10px rgba(var(--card),.6))}.hand-card.card-back.has-villain-back-art{padding:0;background:#0c0a10}.villain-hand-back-art{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;border-radius:inherit}.turn-prompt{text-align:center;color:var(--muted);min-height:24px;margin-top:13px;font-size:14px}.turn-prompt:not(.choosing-location){display:none}.turn-prompt.choosing-location{min-height:54px;display:flex;align-items:center;justify-content:center;gap:14px;padding:7px 10px;color:var(--ink)}.turn-prompt.choosing-location span{display:grid;gap:2px;text-align:left}.turn-prompt.choosing-location small{color:var(--muted);font-size:12px}.turn-prompt.choosing-location button{min-height:38px;padding:0 13px}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:rgba(255,255,255,.035);padding:4px;border-radius:8px}.tabs button{border:0;background:none;border-radius:6px;padding:9px 5px;font-size:13px;color:var(--muted);cursor:pointer}.tabs button[aria-selected=true]{background:rgba(255,255,255,.08);color:var(--ink)}.tab-panel{margin-top:14px;max-height:calc(100vh - 285px);overflow-y:auto}.log-entry{border-left:2px solid rgba(var(--entry),.5);padding:2px 0 10px 10px;margin-bottom:9px;color:var(--muted);font-size:13px;line-height:1.45}.log-entry-meta{display:block;margin-bottom:3px;color:rgba(232,189,105,.72);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.log-entry strong{color:var(--ink)}.modal.turn-log-modal{width:min(720px,calc(100vw - 24px))}.turn-log-list{max-height:min(590px,65vh);overflow-y:auto;margin-top:18px;padding:14px 14px 4px;border:1px solid var(--line);border-radius:12px;background:rgba(6,5,11,.38)}.turn-log-list .log-entry{font-size:15px}.system-log-entry{color:#c9c1d0;border-left-color:rgba(232,189,105,.55)}.empty-log{color:var(--muted);text-align:center}.modal.objective-modal{width:min(720px,calc(100vw - 24px))}.objective-modal-content{max-height:min(590px,65vh);overflow-y:auto;margin-top:18px}.objective-box{border:1px solid rgba(var(--accent-rgb),.35);background:rgba(var(--accent-rgb),.08);border-radius:11px;padding:15px}.objective-box h2{font:700 20px/1.2 Georgia,serif}.objective-box p{color:#d1cdda;font-size:14px;line-height:1.5}.public-information{margin-top:18px;padding-top:15px;border-top:1px solid rgba(var(--accent-rgb),.28)}.public-pile{margin-top:13px}.public-pile-title{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:13px}.public-pile-title strong{color:var(--ink)}.public-pile small{color:var(--muted)}.public-card-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.public-card-chip{max-width:100%;padding:6px 8px;border:1px solid rgba(var(--accent-rgb),.35);border-radius:7px;color:var(--ink);background:rgba(var(--accent-rgb),.09);font-family:inherit;font-size:12px;font-weight:700;line-height:1.2;text-align:left;cursor:pointer}.public-card-chip:hover,.public-card-chip:focus-visible{border-color:rgba(var(--accent-rgb),.8);outline:none}.hand-dock{position:relative;z-index:25;width:100%;height:186px;min-height:0;display:grid;grid-template-columns:130px minmax(260px,1fr);gap:12px;align-items:center;align-self:end;padding:7px 0 calc(7px + env(safe-area-inset-bottom));border:0;background:transparent;box-shadow:none;pointer-events:none}.hand-meta,.hand-cards{pointer-events:auto}.hand-meta h3{font:700 18px/1.2 Georgia,serif;margin-bottom:7px}.hand-meta p{color:var(--muted);font-size:12px;margin:0}.hand-cards{display:flex;justify-content:center;align-items:flex-end;gap:20px;overflow:visible;padding:5px 28px 0;height:176px;min-height:0}.game-card{flex:0 0 92px;min-height:112px;overflow:hidden;border:1px solid rgba(var(--card),.62);border-radius:10px 10px 7px 7px;background:linear-gradient(155deg,rgba(var(--card),.3),#12101a 68%);text-align:left;padding:9px;cursor:pointer;position:relative;box-shadow:0 10px 24px rgba(0,0,0,.38)}.hand-cards .game-card{z-index:var(--fan-z);flex-basis:120px;width:120px;min-height:168px;transform:none;transform-origin:50% 100%;transition:transform .18s ease,filter .18s ease}.hand-cards .game-card+.game-card{margin-left:0}.hand-cards .game-card:hover,.hand-cards .game-card:focus-visible{z-index:20;transform:translateY(-8px);filter:brightness(1.12)}.hand-card.has-original-art{flex-basis:120px;width:120px;min-height:168px;padding:0;background:#120c08}.hand-card-art{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;border-radius:inherit}.hand-card.card-image-unavailable .hand-card-art{visibility:hidden}.hand-card.card-image-unavailable .hand-card-fallback{display:grid;position:absolute;inset:0;place-items:center;padding:10px;text-align:center;white-space:normal;overflow-wrap:anywhere}.card-cost,.card-strength{position:absolute;width:29px;height:29px;display:grid;place-items:center;color:var(--gold);filter:drop-shadow(0 2px 3px rgba(0,0,0,.7))}.card-cost{top:7px;left:7px}.card-strength{bottom:7px;left:7px}.card-stat .action-symbol,.card-stat-symbol{width:100%;height:100%;display:block;overflow:visible;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.card-stat-symbol text{fill:currentColor;stroke:none;font:900 16px/1 system-ui,sans-serif}.card-name{display:block;padding-top:29px;font:700 13px/1.2 Georgia,serif}.card-type{display:block;color:rgb(var(--card));font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin-top:5px}.card-mini-text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--muted);font-size:9px;line-height:1.3;margin-top:7px}.hand-card:not(.card-back){display:grid;place-items:center}.hand-card:not(.card-back) .card-name{max-height:none;overflow:hidden;overflow-wrap:break-word;padding:10px 3px;text-align:center;font-size:14px;line-height:1.2}.hand-card .card-mini-text{display:none}.hand-card.drag-enabled{cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.hand-card.drag-enabled:active{cursor:grabbing}.hand-card.is-dragging{opacity:.24;filter:saturate(.4)}.card-drag-ghost{position:fixed;z-index:180;left:0;top:0;width:104px;height:148px;min-height:148px;margin:0;padding:0;pointer-events:none;translate:-50% -50%;rotate:0deg;scale:1.08;opacity:.96;box-shadow:0 20px 44px rgba(0,0,0,.72),0 0 0 2px rgba(var(--accent-rgb),.78)}.card-drag-ghost .hand-card-art{object-fit:cover}.location.card-drop-target::after{content:none}.location.card-drop-target .villain-zone,.villain-zone.card-drop-target{border:2px solid rgba(var(--realm-edge),1);background:rgba(var(--accent-rgb),.12);box-shadow:0 0 18px rgba(var(--accent-rgb),.55),inset 0 0 22px rgba(var(--accent-rgb),.1);animation:ally-item-target-pulse 1.15s ease-in-out infinite alternate}.location.card-drop-target.drag-over .villain-zone,.villain-zone.card-drop-target.drag-over{border-width:3px;background:rgba(var(--accent-rgb),.22);box-shadow:0 0 30px rgba(var(--accent-rgb),.8),inset 0 0 35px rgba(var(--accent-rgb),.18)}@keyframes ally-item-target-pulse{from{box-shadow:0 0 12px rgba(var(--accent-rgb),.42),inset 0 0 18px rgba(var(--accent-rgb),.08)}to{box-shadow:0 0 27px rgba(var(--accent-rgb),.82),inset 0 0 28px rgba(var(--accent-rgb),.16)}}body.card-dragging,body.card-dragging *{cursor:grabbing!important}.mini-card.realm-move-enabled{cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.mini-card.realm-move-enabled:active{cursor:grabbing}.mini-card.realm-move-enabled.is-dragging{opacity:.25;filter:saturate(.4)}.mini-card.granted-action-ready{position:relative;z-index:7;border-color:rgba(var(--realm-edge),1);box-shadow:0 0 10px rgba(var(--accent-rgb),.42),inset 0 0 0 2px rgba(var(--realm-edge),.72);filter:brightness(1.12);animation:legal-location-image-pulse 1.15s ease-in-out infinite alternate}.realm-card-drag-ghost{position:fixed!important;z-index:185!important;left:0!important;top:0!important;width:104px!important;height:148px!important;min-height:148px!important;margin:0!important;padding:0!important;pointer-events:none!important;translate:-50% -50%!important;opacity:.96;box-shadow:0 20px 44px rgba(0,0,0,.72),0 0 0 2px rgba(var(--accent-rgb),.78)}.location.realm-move-drop-target .villain-zone{border:2px solid rgba(var(--realm-edge),1);background:rgba(var(--accent-rgb),.12);box-shadow:0 0 18px rgba(var(--accent-rgb),.55),inset 0 0 22px rgba(var(--accent-rgb),.08);animation:ally-item-target-pulse 1.15s ease-in-out infinite alternate}.location.realm-move-drop-target.realm-move-over .villain-zone{border-style:solid;border-width:3px;background:rgba(var(--accent-rgb),.24);box-shadow:0 0 30px rgba(var(--accent-rgb),.72),inset 0 0 35px rgba(var(--accent-rgb),.18)}body.realm-card-dragging,body.realm-card-dragging *{cursor:grabbing!important}.turn-controls{display:grid;gap:8px}.turn-controls button{width:100%}.mini-card{flex:0 0 58px;width:58px;min-height:76px;border:1px solid rgba(var(--mini),.55);border-radius:5px;background:linear-gradient(155deg,rgba(var(--mini),.26),#101019);padding:5px;font:700 8px/1.2 Georgia,serif;overflow:hidden;cursor:pointer}.mini-card.hero{background:linear-gradient(155deg,#ded8c6,#88858f);color:#211d27;border-color:#eee8d7}.mini-card.has-card-art{position:relative;min-height:82px;padding:0;background:#100b08}.realm-board .mini-card.has-card-art{border-color:transparent}.realm-card-art{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;border-radius:inherit}.mini-card small{display:block;margin-top:5px;opacity:.7}.modal-backdrop{position:fixed;inset:0;z-index:100;background:rgba(3,3,8,.78);backdrop-filter:blur(9px);display:grid;place-items:center;padding:18px}.modal{width:min(640px,100%);max-height:min(820px,92vh);overflow-y:auto;border:1px solid rgba(255,255,255,.17);border-radius:16px;background:linear-gradient(145deg,#211e2b,#111019);box-shadow:0 35px 100px rgba(0,0,0,.65);padding:26px;position:relative}.modal-close{position:absolute;top:14px;right:14px;font-size:24px}.modal h2{font:700 30px/1.1 Georgia,serif;padding-right:40px}.modal p,.modal li{color:#cbc6d3;line-height:1.6}.modal.rules-reference-modal{width:min(820px,calc(100vw - 24px))}.turn-rule-summary,.rules-match-note{padding:16px 18px;border:1px solid rgba(var(--accent-rgb),.28);border-radius:12px;background:rgba(var(--accent-rgb),.07)}.rules-match-note+.rules-match-note{margin-top:12px}.turn-rule-summary h3,.rules-match-note h3{margin:0 0 8px;font:700 18px/1.2 Georgia,serif}.turn-rule-summary ol,.turn-rule-summary p,.rules-match-note p{margin:8px 0}.action-rule-list{display:grid;gap:9px;margin:16px 0}.action-rule{border:1px solid rgba(255,255,255,.13);border-radius:11px;background:rgba(9,8,18,.34);overflow:clip}.action-rule summary{display:grid;gap:5px;padding:14px 42px 14px 16px;cursor:pointer;position:relative}.action-rule summary::after{content:"+";position:absolute;top:14px;right:16px;color:var(--gold);font-size:20px;font-weight:900}.action-rule[open] summary::after{content:"\2212"}.action-rule summary strong{color:var(--ink);font:700 18px/1.15 Georgia,serif}.action-rule summary span{color:#cbc6d3;font-size:14px;line-height:1.45}.action-rule-body{padding:0 16px 15px;border-top:1px solid rgba(255,255,255,.09)}.action-rule-body h4{margin:14px 0 5px;color:var(--gold);font-size:13px;letter-spacing:.08em;text-transform:uppercase}.action-rule-body ul{margin:6px 0 12px;padding-left:20px}.action-rule-body .action-trivia{margin:0;padding:10px 12px;border-left:3px solid rgba(var(--accent-rgb),.62);background:rgba(var(--accent-rgb),.08);font-size:14px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;margin-top:22px}.modal-backdrop.card-detail-backdrop{padding-bottom:calc(128px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(3,3,8,.82),rgba(3,3,8,.58) 72%,rgba(3,3,8,.08));backdrop-filter:blur(4px)}.modal.card-detail-modal{width:min(390px,calc(100vw - 24px));max-height:calc(100vh - 160px);overflow:visible;border:0;background:transparent;box-shadow:none;padding:0;animation:card-rise .22s ease-out}.modal.hero-roster-modal{width:min(620px,calc(100vw - 24px))}.hero-roster-instruction{margin-right:36px}.hero-roster{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px;margin-top:18px}.hero-roster-card{position:relative;min-height:190px;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;overflow:hidden;padding:16px;border:2px solid rgba(238,232,215,.8);border-radius:12px;background:radial-gradient(circle at 50% 15%,rgba(var(--hero),.24),transparent 38%),linear-gradient(155deg,#e3ddca,#8d8992 55%,#292530 56%);color:#fff8e8;text-align:left;box-shadow:0 12px 26px rgba(0,0,0,.38);cursor:pointer;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.hero-roster-card::before{content:"HERO";position:absolute;top:13px;left:15px;color:#2b2730;font-size:11px;font-weight:900;letter-spacing:.13em}.hero-roster-card:hover,.hero-roster-card:focus-visible{outline:none;border-color:var(--gold);transform:translateY(-2px)}.hero-roster-card strong{font:700 21px/1.1 Georgia,serif;text-shadow:0 2px 5px #000}.hero-roster-card small{min-height:31px;color:#d8d2dc;font-size:12px;line-height:1.3}.hero-roster-strength{position:absolute;top:10px;right:12px;width:40px;height:40px;color:#2b2730}.hero-roster-strength .card-strength{position:static;width:40px;height:40px}.hero-roster-card.has-card-art{min-height:0;aspect-ratio:2/3;padding:0;background:#100b08}.hero-roster-card.has-card-art::before{display:none}.hero-roster-art{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:contain;border-radius:10px}.modal.discard-piles-modal{width:min(720px,calc(100vw - 24px))}.discard-instruction{margin-right:36px;color:var(--muted)}.discard-piles{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.discard-piles.single-discard-pile{grid-template-columns:1fr}.discard-pile-section{min-width:0;padding:14px;border:1px solid var(--line);border-radius:12px;background:rgba(6,5,11,.34)}.discard-pile-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.discard-pile-heading h3{margin:0;font:700 18px/1.2 Georgia,serif}.discard-pile-heading span{min-width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:rgba(var(--accent-rgb),.16);color:var(--ink);font-size:12px;font-weight:900}.discard-card-list{max-height:min(500px,55vh);display:grid;grid-template-columns:repeat(auto-fill,minmax(138px,1fr));gap:18px;overflow-y:auto;margin-top:12px;padding:4px}.discard-gallery-card{position:relative;width:100%;max-width:185px;aspect-ratio:284/401;justify-self:center;overflow:hidden;padding:0;border:2px solid rgba(var(--discard),.62);border-radius:10px;background:#120f18;color:var(--ink);cursor:pointer;box-shadow:0 12px 25px rgba(0,0,0,.42);touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.discard-gallery-card.fate-discard{border-color:rgba(226,220,207,.72);background:#e3ded3;color:#2b2730}.discard-gallery-card:hover,.discard-gallery-card:focus-visible{outline:none;border-color:var(--gold);transform:translateY(-3px)}.discard-gallery-art{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover}.discard-gallery-card.no-original-art{display:grid;align-content:end;gap:8px;padding:16px;background:radial-gradient(circle at 50% 18%,rgba(var(--discard),.34),transparent 36%),linear-gradient(155deg,rgba(var(--discard),.3),#12101a 68%);text-align:left}.discard-gallery-card.no-original-art.fate-discard{background:radial-gradient(circle at 50% 18%,#fff,transparent 38%),linear-gradient(155deg,#eee9dc,#908b93);color:#24212a}.discard-gallery-card strong{font:700 17px/1.15 Georgia,serif}.discard-gallery-card small{font-size:12px}.discard-gallery-type{position:absolute;top:14px;left:14px;font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.empty-discard{color:var(--muted);font-size:12px}.empty-discard{margin:16px 0 2px}.card-detail-modal .modal-close{z-index:2;top:12px;right:12px;width:38px;height:38px;border-radius:50%;background:rgba(8,7,13,.82)}.card-inspection{height:min(520px,calc(100vh - 178px));min-height:390px;overflow-y:auto;display:flex;flex-direction:column;padding:22px;border:2px solid rgba(var(--card),.74);border-radius:18px;background:radial-gradient(circle at 50% 5%,rgba(var(--card),.3),transparent 34%),linear-gradient(155deg,#25202c,#100f17 72%);box-shadow:0 30px 90px rgba(0,0,0,.72),inset 0 0 0 3px rgba(255,255,255,.035)}.modal.card-detail-modal.art-card-modal{width:min(620px,calc(100vw - 16px));max-height:calc(100vh - 12px)}.card-inspection.has-original-art{height:auto;min-height:0;overflow:visible;align-items:center;padding:8px;background:rgba(10,8,13,.94)}.inspection-original-card{width:auto;height:min(88vh,900px);max-width:100%;display:block;object-fit:contain;image-rendering:auto;backface-visibility:hidden;transform:translateZ(0);border:1px solid rgba(232,189,105,.48);border-radius:10px;box-shadow:0 18px 42px rgba(0,0,0,.52)}.art-card-actions{width:100%;justify-content:center;margin-top:10px}.inspection-card-copy{min-width:0;display:flex;flex-direction:column}.inspection-top{min-height:38px;display:flex;align-items:center;justify-content:space-between;padding-right:42px;color:rgb(var(--card));font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.inspection-top .card-cost{position:static;width:40px;height:40px}.inspection-cost{display:grid;grid-template-columns:auto 40px auto;align-items:center;gap:7px;color:var(--muted);font-size:11px;letter-spacing:.06em}.inspection-cost small{color:var(--muted);font-size:10px;font-weight:900}.inspection-no-cost{color:var(--muted);font-size:11px;letter-spacing:.04em}.card-inspection h2{margin:18px 0 15px;padding:0;font:700 clamp(28px,7vw,38px)/1.05 Georgia,serif}.inspection-rule-text{flex:1;padding:20px 0;border-top:1px solid rgba(var(--card),.34);border-bottom:1px solid rgba(var(--card),.24)}.inspection-section-label{display:block;margin-bottom:10px;color:rgb(var(--card));font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.inspection-rule-text p{margin-bottom:14px;color:#e1dce6;font-size:16px;line-height:1.55}.inspection-strength{align-self:flex-start;display:flex;align-items:center;gap:8px;margin-top:14px;padding:5px 9px 5px 12px;border:1px solid rgba(var(--card),.55);border-radius:999px;color:var(--muted)}.inspection-strength .card-strength{position:static;width:34px;height:34px}.card-inspection .modal-actions{margin-top:16px}@keyframes card-rise{from{opacity:0;transform:translateY(54px) scale(.94)}}.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:17px}.choice-button{border:1px solid var(--line);border-radius:10px;padding:14px;background:rgba(255,255,255,.035);cursor:pointer;text-align:left}.choice-button:hover{border-color:rgba(var(--accent-rgb),.65);background:rgba(var(--accent-rgb),.1)}.choice-button strong,.choice-button span{display:block}.choice-button span{color:var(--muted);font-size:12px;margin-top:4px}.choice-card-art-button{padding:7px;overflow:hidden;text-align:center;background:rgba(255,255,255,.025)}.choice-card-art{width:100%;max-height:min(56vh,620px);display:block;object-fit:contain;border-radius:7px;image-rendering:auto;backface-visibility:hidden;transform:translateZ(0)}.choice-card-caption{padding:8px 4px 3px;color:var(--cream);font-size:14px}.choice-card-fallback{display:none}.choice-button.image-unavailable .choice-card-art{display:none}.choice-button.image-unavailable .choice-card-fallback{display:block;font-size:14px;line-height:1.5;text-align:left;padding:12px}.toast-region{position:fixed;z-index:120;top:86px;right:16px;display:grid;gap:8px}.toast{background:#24202f;border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:9px;padding:11px 14px;box-shadow:var(--shadow);max-width:330px;font-size:14px;animation:toast-in .22s ease}@keyframes toast-in{from{transform:translateY(-6px);opacity:0}}@media(max-width:1100px){.game-layout{grid-template-columns:170px minmax(0,1fr)}}@media(max-width:780px){.topbar{grid-template-columns:1fr auto;height:64px}.topbar-center{display:none}.brand small{display:none}.phase-strip-mobile{display:flex}.screen{min-height:calc(100vh - 64px)}.menu-villains{grid-template-columns:repeat(2,1fr)}.setup-grid{grid-template-columns:1fr}.players-card{grid-row:auto}.game-layout{display:block}.opponents-panel{flex-direction:row;align-items:flex-start;gap:6px;border:0;border-bottom:1px solid var(--line);overflow-x:auto;padding:10px 12px}.opponent-card{flex:0 0 150px}.opponent-card.viewed{flex-basis:190px;margin:0 8px}.table-area{padding:13px 10px 25px}.realm-board{grid-template-columns:112px repeat(4,114px);border-radius:10px;overflow-x:auto}.realm-portrait{min-width:112px}.realm-header{padding:0 3px;gap:8px;flex-wrap:wrap}.location{min-width:114px}.discard-piles{grid-template-columns:1fr}.hand-dock{height:136px;min-height:0;grid-template-columns:100px minmax(0,1fr);gap:6px;padding:5px 9px calc(4px + env(safe-area-inset-bottom))}.hand-meta{grid-column:1;grid-row:1}.hand-cards{grid-column:2;grid-row:1;height:128px;gap:10px;padding:0 18px}.game-screen{padding-bottom:0}.game-card{flex-basis:82px;min-height:92px;padding:8px}.hand-cards .game-card,.hand-card.has-original-art{flex-basis:88px;width:88px;min-height:123px;padding:0}.hand-cards .game-card+.game-card{margin-left:0}.hand-cards .game-card:hover,.hand-cards .game-card:focus-visible{transform:translateY(-6px)}.modal-backdrop.card-detail-backdrop{padding:10px 10px calc(145px + env(safe-area-inset-bottom))}.modal.card-detail-modal{max-height:calc(100vh - 165px)}.card-inspection{height:min(510px,calc(100vh - 178px));min-height:340px;padding:19px}.card-inspection.has-original-art{height:auto;padding:7px}.inspection-original-card{width:auto;height:min(82vh,760px);max-width:100%}.player-row{grid-template-columns:32px 1fr}.player-row select{grid-column:2}.remove-player{grid-column:1;grid-row:2}}@media(min-width:0px){html.game-active,body.game-active{overflow:hidden;overscroll-behavior:none}body.game-active .game-screen{min-height:100dvh;padding-bottom:0;overflow:visible}body.game-active .game-layout{min-height:100dvh;overflow:visible}body.game-active .opponents-panel{min-height:0;overflow-y:auto;overscroll-behavior:contain}body.game-active .table-area{min-height:0;padding-bottom:0;overflow:visible}.hand-dock{grid-template-columns:1fr}.hand-meta{position:absolute;z-index:2;left:0;top:50%;translate:0 -50%}.hand-cards{grid-column:1;grid-row:1;width:100%}.realm-board{width:60%;grid-template-columns:minmax(128px,.83fr) repeat(4,minmax(0,1fr));aspect-ratio:3.8 / 1;min-height:340px;margin:58px auto 52px;overflow:visible}.realm-portrait,.location{height:100%;min-height:0;overflow:visible}.location{grid-template-rows:minmax(180px,1fr) 46px 112px}.location-name{top:12px;place-items:end center}.captain-hook-realm .location[data-location="3"] .location-name::after,.jafar-realm .location[data-location="3"] .location-name::after{transform:translateY(-12px)}.captain-hook-realm .location[data-location="3"] .location-name::after{right:7px;transform:translateY(1px)}.location-center{width:calc(100% - 2px);height:auto;min-height:0;justify-self:center;aspect-ratio:auto;overflow:visible}.location-center>.action-row{left:50%;right:auto;width:max-content;translate:-50% 0;display:flex;gap:20px}.location-center>.action-row>.action-icon{width:36px;height:36px;padding:5px}.top-actions{top:calc(50% - 50px)}.bottom-actions{bottom:calc(50% - 50px)}.location-center::after{content:"";position:absolute;z-index:0;top:-96px;left:50%;width:190px;height:calc(50% + 96px);translate:-50% 0;pointer-events:none;border:1px solid rgba(var(--realm-edge),.58);border-radius:10px;background:transparent;box-sizing:border-box}.fate-zone{top:-96px;left:50%;right:auto;width:190px;height:168px;translate:-50% 0;overflow:visible;border:0;background:transparent}.fate-zone .mini-card{flex-basis:104px;width:104px;min-height:148px;aspect-ratio:5 / 7}.fate-zone .mini-card+.mini-card{margin-left:-58px}.villain-zone{position:relative;z-index:5;inset:auto;width:148px;height:76px;min-height:76px;justify-self:center;align-self:end;margin:0;overflow:visible;border-style:solid;border-top-color:rgba(var(--realm-edge),.58);background:rgba(var(--realm-glow),.035)}.villain-zone .mini-card{flex-basis:104px;width:104px;min-height:148px;aspect-ratio:5 / 7}.villain-zone .mini-card+.mini-card{margin-top:-112px}}@media(orientation:landscape)and (min-width:560px)and (max-height:650px){.realm-board{grid-template-columns:minmax(112px,.78fr) repeat(4,minmax(0,1fr));overflow:visible}.realm-portrait,.location{min-width:0;min-height:0}.realm-portrait{gap:9px;padding:12px 7px}.portrait-label{top:9px;font-size:9px}.portrait-crest{width:56px;height:56px}.portrait-crest span{font-size:25px}.portrait-copy strong{font-size:12px}.portrait-copy small{font-size:9px}.portrait-objective{left:5px;right:5px;bottom:48px;min-height:72px;gap:4px;padding:6px 5px}.portrait-objective strong,.portrait-objective span{font-size:7px}.location{grid-template-rows:minmax(190px,1fr) 34px 112px}.location-center{width:calc(100% - 2px);min-height:190px;margin:5px 1px 0;border-radius:8px}.location-center>.action-row{left:50%;right:auto;width:max-content;translate:-50% 0;gap:12px}.action-icon{width:30px;height:30px;padding:4px}.fate-zone{top:-105px;left:50%;right:auto;width:170px;height:180px;translate:-50% 0;padding:3px}.location-center::after{top:-105px;width:170px;height:calc(50% + 105px)}.fate-zone .mini-card{flex-basis:110px;width:110px;min-height:160px;aspect-ratio:5 / 7;font-size:9px}.hero-zone-count{font-size:8px;padding:2px 5px}.location-name{margin:2px 1px;padding:4px;font-size:8px}.villain-zone{inset:auto;width:148px;height:76px;min-height:76px;margin:0;padding:4px}.villain-zone .mini-card{flex-basis:110px;width:110px;min-height:160px;aspect-ratio:5 / 7}.villain-zone .mini-card+.mini-card{margin-top:-118px}}@media(orientation:landscape)and (min-width:900px){html.game-active{zoom:.63}.realm-board{width:60%;grid-template-columns:minmax(150px,.85fr) repeat(4,minmax(0,1fr));aspect-ratio:3.55 / 1;min-height:320px;margin:40px auto 64px}.location{grid-template-rows:minmax(0,1fr) 46px 48px}.location-center{width:calc(100% - 2px);height:208px;align-self:center}.location-center::after{top:-5px;width:176px;height:83px;border-top:0;border-radius:0 0 10px 10px}.villain-zone{width:176px;height:32px;min-height:32px;align-self:end;border-bottom:0;border-radius:10px 10px 0 0}.villain-zone .mini-card{flex-basis:120px;width:120px;min-height:168px}.villain-zone .mini-card+.mini-card{margin-top:-122px}.turn-prompt{width:94%;margin-inline:auto}.location-center>.action-row{width:168px;display:grid;grid-auto-columns:minmax(0,1fr);justify-content:space-between;gap:0}.location-center>.action-row>.action-icon{width:48px;height:48px;padding:4px;border:2px solid rgba(var(--realm-edge),.92);background:var(--realm-a);box-shadow:inset 0 0 14px rgba(0,0,0,.24)}.fate-zone .mini-card{flex-basis:128px;width:128px;min-height:179px;translate:0 -10px}.portrait-objective{bottom:58px}.top-actions{top:13px}.bottom-actions{bottom:10px}}@media(max-width:460px){.menu-shell h1{font-size:42px}.menu-actions{display:grid}.menu-actions button{width:100%}.mini-crest{min-height:100px}.choice-grid{grid-template-columns:1fr}.modal{padding:22px 17px}.segmented.compact{grid-template-columns:1fr}}.two-player-tabletop,.two-player-near-seat{display:contents}.two-player-far-seat,.two-player-flip-row{display:none}.two-player-realm-row{display:contents}.realm-side-deck{display:none}.realm-side-discard{display:none}.two-player-tabletop{position:relative}.game-screen.two-player-table-mode .two-player-flip-row.pile-flip:not([hidden]){position:absolute;margin:0;transform:translate(-50%,-50%)}.game-screen.two-player-table-mode .two-player-flip-button{width:44px;height:44px;padding:0!important;border-radius:50%;font-size:26px;line-height:1}.two-player-flip-button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}@media(min-width:0px){html.game-active.two-player-table-mode,body.game-active.two-player-table-mode{overflow:auto;overscroll-behavior:auto}html.game-active.two-player-table-mode{zoom:1}body.two-player-table-mode .game-screen.two-player-table-mode .game-layout{display:block;min-height:auto}body.two-player-table-mode .game-screen.two-player-table-mode .opponents-panel{display:none}body.two-player-table-mode .game-screen.two-player-table-mode .table-area{display:block;min-height:auto;padding:8px 61px 26px;overflow:visible}.game-screen.two-player-table-mode .phase-strip-mobile{display:none}.game-screen.two-player-table-mode .two-player-tabletop{width:1440px;max-width:none;display:grid;grid-template-rows:auto 192px auto;gap:0;margin:0 auto;transform-origin:top center}.game-screen.two-player-table-mode .two-player-seat{width:100%;min-width:0}.game-screen.two-player-table-mode .two-player-near-seat{display:block}.game-screen.two-player-table-mode .two-player-far-seat:not([hidden]){position:relative;display:grid;grid-template-rows:auto 84px;gap:5px;transform:rotate(180deg);transform-origin:center}.game-screen.two-player-table-mode .two-player-center-space{height:192px;pointer-events:none}.game-screen.two-player-table-mode .two-player-flip-row:not([hidden]){position:relative;z-index:35;display:flex;align-items:center;justify-content:center;margin:18px auto 0;pointer-events:none}.game-screen.two-player-table-mode .two-player-flip-button{min-height:40px;padding:8px 19px;border-color:rgba(var(--accent-rgb),.58);background:rgba(9,8,18,.94);box-shadow:0 7px 20px rgba(0,0,0,.44);pointer-events:auto}.game-screen.two-player-table-mode .two-player-realm-row{position:relative;width:100%;display:grid;grid-template-columns:20% 60% 20%;align-items:center;margin:10px 0 16px}.game-screen.two-player-table-mode .two-player-realm-row>.realm-board{grid-column:2}.game-screen.two-player-table-mode .realm-board{width:100%;min-height:242px;height:242px;aspect-ratio:auto;grid-template-columns:minmax(120px,.76fr) repeat(4,minmax(0,1fr));margin:0;justify-self:center}.game-screen.two-player-table-mode .realm-side-deck:not([hidden]){position:relative;width:112px;height:160px;display:block;align-self:center;border-radius:7px;overflow:hidden;box-shadow:0 9px 22px rgba(0,0,0,.48)}.game-screen.two-player-table-mode .realm-side-deck-villain{grid-column:1;justify-self:end;margin-right:36px}.game-screen.two-player-table-mode .realm-side-deck-fate{grid-column:3;justify-self:start;margin-left:36px}.game-screen.two-player-table-mode .realm-side-deck img{width:100%;height:100%;display:block;object-fit:cover}.game-screen.two-player-table-mode .realm-side-deck-count{position:absolute;z-index:2;right:6px;bottom:6px;min-width:28px;height:28px;display:grid;place-items:center;padding:0 6px;border:1px solid rgba(232,189,105,.78);border-radius:999px;color:var(--cream);background:rgba(9,8,18,.92);font-size:13px;font-weight:900;box-shadow:0 3px 9px rgba(0,0,0,.52)}.game-screen.two-player-table-mode .realm-side-deck.can-end-turn{cursor:pointer;box-shadow:0 0 0 2px rgba(var(--accent-rgb),.7),0 9px 22px rgba(0,0,0,.48)}.game-screen.two-player-table-mode .realm-side-deck.can-end-turn:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.game-screen.two-player-table-mode .realm-side-discard{position:absolute;z-index:3;width:112px;height:160px;display:grid;place-items:center;overflow:hidden;box-sizing:border-box;border:1px solid rgba(var(--pile-rgb,var(--accent-rgb)),.56);border-radius:7px;color:var(--cream);background:rgba(9,8,18,.48);box-shadow:0 9px 22px rgba(0,0,0,.34);cursor:pointer}.game-screen.two-player-table-mode .realm-side-discard-villain{left:calc(20% - 148px);top:calc(50% + 92px)}.game-screen.two-player-table-mode .realm-side-discard-fate{right:calc(20% - 148px);bottom:calc(50% + 92px)}.game-screen.two-player-table-mode .two-player-far-seat .realm-side-deck-villain{transform:translateY(-40px)}.game-screen.two-player-table-mode .two-player-far-seat .realm-side-discard-villain{top:calc(50% + 52px)}.game-screen.two-player-table-mode .realm-side-discard img{width:100%;height:100%;display:block;object-fit:cover}.game-screen.two-player-table-mode .realm-side-discard>span:first-child{padding:12px;text-align:center;font:700 12px/1.25 Georgia,serif}.game-screen.two-player-table-mode .realm-side-discard-count{position:absolute;right:6px;bottom:6px;min-width:25px;height:25px;display:grid;place-items:center;padding:0 5px;border:1px solid rgba(var(--pile-rgb,var(--accent-rgb)),.72);border-radius:999px;color:var(--cream);background:rgba(9,8,18,.94);font-size:12px;font-weight:900}.game-screen.two-player-table-mode .realm-side-discard:focus-visible{outline:3px solid var(--gold);outline-offset:4px}body.card-discard-dragging .game-screen.two-player-table-mode .realm-side-discard-villain[data-discard-drop-zone]{border-color:var(--gold);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.38),0 9px 22px rgba(0,0,0,.48)}body.card-discard-dragging .game-screen.two-player-table-mode .realm-side-discard-villain[data-discard-drop-zone].discard-over{background:rgba(var(--accent-rgb),.24);box-shadow:0 0 0 4px var(--gold),0 0 28px rgba(var(--accent-rgb),.62)}.game-screen.two-player-table-mode .realm-portrait,.game-screen.two-player-table-mode .location{min-width:0;height:100%;min-height:0}.game-screen.two-player-table-mode .realm-portrait{border-radius:12px 0 0 12px}.game-screen.two-player-table-mode .location:last-child{border-radius:0 12px 12px 0}.game-screen.two-player-table-mode .location{grid-template-rows:minmax(0,1fr) 33px 42px}.game-screen.two-player-table-mode .location-center{width:calc(100% - 2px);height:161px;min-height:0;margin:5px auto 0;align-self:center;overflow:visible;border-color:transparent;background:transparent;box-shadow:none}.game-screen.two-player-table-mode .location-center::before{inset:16px 0 -16px;border:1px solid rgba(var(--realm-edge),.4);box-sizing:border-box;box-shadow:inset 0 0 28px rgba(0,0,0,.34)}.game-screen.two-player-table-mode .prince-john-realm .location-center::before{box-shadow:inset 0 0 34px rgba(0,0,0,.44)}.game-screen.two-player-table-mode .location.selectable .location-center{border-color:transparent;box-shadow:none;animation:none}.game-screen.two-player-table-mode .location.selectable .location-center::before{border-color:rgba(var(--realm-edge),1);animation:legal-location-image-pulse-two-player 1.15s ease-in-out infinite alternate}@keyframes legal-location-image-pulse-two-player{from{box-shadow:0 0 10px rgba(var(--accent-rgb),.42),inset 0 0 0 2px rgba(var(--realm-edge),.72),inset 0 0 28px rgba(0,0,0,.34)}to{box-shadow:0 0 26px rgba(var(--accent-rgb),.82),inset 0 0 0 3px rgba(var(--realm-edge),1),inset 0 0 28px rgba(0,0,0,.28)}}.game-screen.two-player-table-mode .location-center::after{top:-5px;width:146px;height:79px;border-top:0;border-radius:0 0 8px 8px}.game-screen.two-player-table-mode .location-lock{top:64%}.game-screen.two-player-table-mode .location-center>.action-row{width:138px;gap:0;translate:-50% 16px}.game-screen.two-player-table-mode .location-center>.action-row>.action-icon{width:38px;height:38px;padding:4px}.game-screen.two-player-table-mode .top-actions{top:9px}.game-screen.two-player-table-mode .bottom-actions{bottom:8px}.game-screen.two-player-table-mode .fate-zone{top:-93px;width:146px;height:179px;padding:0;box-sizing:border-box}.game-screen.two-player-table-mode .fate-zone .mini-card{flex-basis:116px;width:116px;min-height:160px;translate:0 0}.game-screen.two-player-table-mode .fate-zone .mini-card+.mini-card{margin-left:-82px}.game-screen.two-player-table-mode .villain-zone{width:146px;height:28px;min-height:28px;padding:3px;border-radius:8px 8px 0 0}.game-screen.two-player-table-mode .villain-zone .mini-card{flex-basis:108px;width:108px;min-height:151px}.game-screen.two-player-table-mode .villain-zone .mini-card+.mini-card{margin-top:-109px}.game-screen.two-player-table-mode .location-name{margin:2px 1px;padding:3px;font-size:8px}.game-screen.two-player-table-mode .portrait-crest{width:66px;height:66px}.game-screen.two-player-table-mode .portrait-copy strong{font-size:13px}.game-screen.two-player-table-mode .portrait-copy small{font-size:9px}.game-screen.two-player-table-mode .portrait-objective{bottom:45px;min-height:64px;padding:5px}.game-screen.two-player-table-mode .portrait-objective strong,.game-screen.two-player-table-mode .portrait-objective span{font-size:7px}.game-screen.two-player-table-mode .turn-prompt{width:92%;min-height:20px;margin:2px auto 0;font-size:12px}.game-screen.two-player-table-mode .hand-dock{width:92%;height:266px;margin:144px auto 0}.game-screen.two-player-table-mode .hand-meta{display:none}.game-screen.two-player-table-mode .hand-cards{height:264px;gap:38px}.game-screen.two-player-table-mode .hand-cards .game-card,.game-screen.two-player-table-mode .hand-cards .hand-card.has-original-art{flex-basis:166px;width:166px;min-height:233px}.game-screen.two-player-table-mode .two-player-far-board{margin:0;pointer-events:auto}.two-player-hand-preview{position:absolute;top:calc(100% - 88px);left:20%;width:120px;height:76px;margin:0;display:flex;align-items:center;justify-content:center}.two-player-card-backs{height:72px;display:flex;align-items:flex-end;justify-content:center;overflow:visible}.two-player-card-backs .game-card{flex-basis:48px;width:48px;min-height:68px;pointer-events:none}.two-player-card-backs .game-card+.game-card{margin-left:-16px}.two-player-card-backs.is-condensed{position:relative;width:48px}.two-player-hand-count{position:absolute;z-index:3;top:4px;right:-25px;width:30px;height:30px;display:grid;place-items:center;border:2px solid rgba(var(--accent-rgb),.76);border-radius:50%;color:var(--cream);background:rgba(9,8,18,.96);box-shadow:0 5px 14px rgba(0,0,0,.55);font-size:14px;font-weight:900;transform:rotate(180deg)}.two-player-card-backs .card-back-emblem{width:35px;height:35px}.two-player-card-backs .card-name{padding-top:16px}.two-player-card-backs .card-type{font-size:7px}}@media(min-width:0px){body.game-active .game-control-rail{transform:translateY(-50%) scale(.72);transform-origin:right center}}html.game-zoom-scaled #app{transform:scale(var(--game-user-scale,1));transform-origin:top left}html.game-zoom-out #app{transform-origin:top center}html.game-active.game-zoom-scaled,body.game-active.game-zoom-scaled{overflow:auto;overscroll-behavior:auto}.game-screen .fate-zone .mini-card{position:absolute;left:50%;top:4px;margin:0;transform:translateX(-50%)}.game-screen .fate-zone .mini-card+.mini-card{margin-left:0!important}.game-screen.two-player-table-mode .two-player-far-board .villain-zone,.game-screen.two-player-table-mode .two-player-far-board .fate-zone{pointer-events:auto;cursor:pointer}.modal-minimize{display:block;position:relative;z-index:3;margin:0 44px 12px 0;font-size:14px}.restore-dialog{position:fixed;z-index:10000;right:16px;bottom:18px;background:#241b2c;color:white;border:2px solid #bc955b;padding:12px 18px}.game-screen .fate-zone .mini-card:nth-child(2){top:-20px}.game-screen .fate-zone .mini-card:nth-child(3){top:-44px}.zone-roster-button{align-self:center;flex-shrink:0;position:relative;z-index:5;border:1px solid #a47c43;border-radius:5px;padding:5px 8px;background:#19151c;color:#fff;font:inherit;font-size:14px;cursor:pointer}@media(min-width:540px)and (orientation:landscape){.modal .choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-card-art{max-height:42vh}}.choice-grid>.choice-button{min-width:0}.current-hero-strength{position:absolute;right:3px;bottom:3px;z-index:6;display:grid;place-items:center;min-width:26px;height:26px;padding:2px;border:2px solid #cba868;border-radius:50%;background:#17131f;color:#fff;font:800 16px/1 system-ui,sans-serif;pointer-events:none}#modalContent .current-hero-strength{display:none}#modalContent :is(.roster-art-wrap,.current-strength-art)>.current-hero-strength{display:grid}.current-strength-art{position:relative;display:inline-block;max-width:100%;vertical-align:top}.location>.mover{position:absolute;z-index:4;top:50%;left:50%;margin:0;transform:translate(-50%,-50%)}.game-screen.two-player-table-mode .two-player-near-seat .restore-dialog{position:absolute;left:calc(20% - 126px);top:calc(50% + 264px);right:auto;bottom:auto;width:112px;padding:10px 6px;font-size:14px;line-height:1.25;white-space:normal}.game-screen .villain-zone .mini-card.is-wicket{rotate:90deg;scale:1;transform-origin:center}.game-screen .fate-zone .mini-card.is-shrunk{transform:translateX(-50%) rotate(calc(var(--size-direction, -1) * 45deg));transform-origin:center}.game-screen .fate-zone .mini-card.is-enlarged{transform:translateX(calc(-50% + var(--size-direction, 1) * 25%)) rotate(90deg);transform-origin:center}.modal:has(.choice-grid){width:min(420px,calc(100vw - 24px));max-height:72dvh;padding:16px}.modal:has(.choice-grid) h2{font-size:22px;margin:8px 0}.modal:has(.choice-grid) p{font-size:14px;line-height:1.4;margin:8px 0}.modal:has(.choice-grid) .choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.modal:has(.choice-grid) .choice-button{padding:8px;min-height:44px}.modal:has(.choice-grid) .choice-card-art{max-height:26dvh}.modal:has(.choice-grid) .choice-card-caption{font-size:12px;padding:5px 2px}.modal:has(.choice-grid) .modal-actions{margin-top:12px}body:not(.game-active){background-color:#291939;background-position:center;background-size:100% 100%,max(100vw,177.69dvh) auto;background-attachment:fixed;background-repeat:no-repeat}body:not(.game-active){background-image:linear-gradient(#140d252b,#140d254d),url(assets/villain-magic-background.png)}.menu-screen::before{content:none}.modal-backdrop.card-detail-backdrop:has(.art-card-modal){padding:12px}.modal.card-detail-modal.art-card-modal{width:min(320px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow-y:auto}.art-card-modal .card-inspection.has-original-art{padding:6px;border-radius:12px}.art-card-modal .inspection-original-card{height:min(55dvh,430px);max-width:100%}.art-card-modal .modal-minimize{min-height:38px;padding:6px 10px;margin-bottom:8px;font-size:12px}.art-card-modal .modal-close{top:0;right:0}.modal.discard-piles-modal{width:min(420px,calc(100vw - 24px));max-height:72dvh;padding:16px}.discard-piles-modal h2{font-size:22px;margin:6px 0 12px}.discard-piles-modal .eyebrow{font-size:10px}.discard-piles-modal .discard-instruction{font-size:13px;line-height:1.4;margin-bottom:8px}.discard-piles-modal .modal-minimize{min-height:38px;padding:6px 10px;margin-bottom:8px;font-size:12px}.discard-piles-modal .discard-piles{gap:8px;margin-top:10px}.discard-piles-modal .discard-pile-section{padding:8px}.discard-piles-modal .discard-pile-heading h3{font-size:15px}.discard-piles-modal .discard-card-list{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;max-height:38dvh;margin-top:8px}.discard-piles-modal .discard-gallery-card{max-width:110px}body:not(.game-active):has(#setupScreen:not([hidden])){background:#291939}.menu-shell h1.menu-logo-title{width:min(780px,100%);margin:0 auto 48px;line-height:0}.menu-logo-title img{display:block;width:100%;height:auto;max-height:60dvh;object-fit:contain}.menu-screen .menu-actions{margin-top:56px}body:not(.game-active):has(#menuScreen:not([hidden])){background:#291939;isolation:isolate}body:not(.game-active):has(#menuScreen:not([hidden]))::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(#140d252b,#140d254d),url(assets/villain-magic-background.png) center/cover no-repeat}@media(min-width:0px){.game-screen.two-player-table-mode:not(.three-player-table-mode) .two-player-realm-row{transform:scale(1.45);transform-origin:center center;margin-top:68px;margin-bottom:74px}}@media(min-width:0px){body.game-active.two-player-table-mode:not(.three-player-table-mode) .game-control-rail{right:10px}}.choice-context{display:block!important;font-size:13px;color:#f4dfb7;margin:6px 0;line-height:1.35}.choice-attachments{display:flex!important;flex-wrap:wrap;gap:8px}.choice-attachments>span{display:flex;flex-direction:column;max-width:90px}.choice-attachments img{width:60px;height:auto}.choice-button>img.choice-card-art{width:100%;max-height:280px;object-fit:contain}.prompt-preview{display:inline-block;vertical-align:top;width:150px;margin:8px}.prompt-preview>img,.prompt-preview>div>img{width:100%;height:auto}body>#restoreDialog{position:fixed;z-index:10000;pointer-events:auto;touch-action:manipulation;min-height:48px;width:132px;max-width:calc(100vw - 24px);padding:10px 8px;line-height:1.3;isolation:isolate}.menu-actions .resume-button{width:auto;max-width:100%;min-height:38px;padding:0 14px;margin-left:auto;justify-self:end;font-size:14px;border-radius:7px;background:linear-gradient(135deg,#d7f2b6,#a6cf7d);color:#19300e;box-shadow:0 9px 30px rgba(166,207,125,.24)}.menu-screen .menu-shell{width:min(1116px,100%)}.menu-screen .menu-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.menu-screen .menu-actions .primary-button{flex:0 0 176px;width:176px;max-width:100%;min-height:38px;height:38px;padding:0 10px;margin:0;font-size:14px;line-height:1.15;border-radius:7px}.hero-roster-modal .hero-roster{align-items:start}.hero-roster-modal .hero-roster-card{min-height:0;padding:12px;gap:12px;justify-content:flex-start;background:#17131f;border:1px solid #67556e;box-shadow:none;aspect-ratio:auto}.hero-roster-modal .hero-roster-card::before{content:none}.hero-roster-modal .roster-art-wrap{position:relative;display:block;align-self:center;width:min(100%,145px)}.hero-roster-modal .hero-roster-art{position:static;width:100%;height:auto;max-height:205px;object-fit:contain;border-radius:6px}.hero-roster-modal .roster-card-info{display:flex;flex-direction:column;gap:6px;width:100%;min-width:0;overflow-wrap:anywhere}.hero-roster-modal .hero-roster-card strong{font-size:18px;line-height:1.2;text-shadow:none}.hero-roster-modal .hero-roster-card small{min-height:0;font-size:14px;line-height:1.4;margin:0}.hero-roster-modal .roster-card-type{color:#b8abbf}.hero-roster-modal .roster-card-action{display:block;padding:8px 10px;border-radius:6px;background:#dfbb70;color:#21170b;font-size:14px;font-weight:700}.hero-roster-modal .choice-attachments{border-top:1px solid #493b50;padding-top:8px}.hero-roster-modal .roster-art-fallback{display:block;padding:12px;min-height:130px;font-size:14px}.game-screen.two-player-table-mode:not(.three-player-table-mode) #twoPlayerFarHand{left:calc(24.6875% - 60px)}@media(min-width:0px){.game-screen.two-player-table-mode:not(.three-player-table-mode) #twoPlayerFarHand{left:calc(13.296875% - 60px)}}.prompt-source{display:flex;align-items:center;gap:12px;margin:12px 0 16px}.prompt-source>img{display:block;position:static;width:64px;height:90px;flex:0 0 64px;object-fit:contain;border-radius:4px}.prompt-source>strong{min-width:0;line-height:1.4}body.game-active .toast-region{top:auto;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));max-width:calc(100vw - 32px);pointer-events:none}body.game-active>#turnStatusStack{position:fixed;z-index:70;top:50%;left:max(12px,env(safe-area-inset-left));right:auto;transform:translateY(-50%);width:76px;display:flex;flex-direction:column;gap:6px;text-align:center;color:var(--muted)}body.game-active>#turnStatusStack{width:52px;gap:4px}body.game-active #turnStatusStack .phase-pill{font-size:9px;min-height:22px;padding:4px 2px}body.game-active #turnStatusStack .turn-summary{font-size:9px;overflow-wrap:anywhere}#controlsToggle{display:none}body.game-active #controlsToggle{display:grid;place-items:center;width:36px;height:36px;padding:7px;align-self:center;border:1px solid var(--line);border-radius:50%;background:#171320;color:var(--cream)}#controlsToggle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}body.game-active .game-control-rail.controls-collapsed>:not(#controlsToggle):not(#aiExplanationButton):not(#aiChatButton):not(#onlineChat):not(#bugReportButton.bug-report-above-menu){display:none!important}body.game-active #controlsToggle{padding:0;line-height:0}#controlsToggle svg{display:block;justify-self:center;align-self:center;flex-shrink:0}.modal.clean-board-modal{width:min(1100px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;padding:16px}.clean-board-image{display:block;width:100%;height:auto;object-fit:contain}.modal.clean-board-modal h2{font-size:20px;margin:0 0 12px}.modal.ally-roster-modal{width:min(450px,calc(100vw - 24px));padding:14px;max-height:calc(100dvh - 28px);overflow:auto}.ally-roster-modal h2{font-size:20px;line-height:1.2;margin:10px 0}.ally-roster-modal p{font-size:12px;line-height:1.35;margin:8px 0 12px}.ally-roster-modal .hero-roster{gap:8px}.ally-roster-modal .hero-roster-card{padding:8px;gap:7px}.ally-roster-modal .roster-art-wrap{width:min(100%,100px)}.ally-roster-modal .hero-roster-art{max-height:142px}.ally-roster-modal .hero-roster-card strong{font-size:14px}.ally-roster-modal .hero-roster-card small{font-size:11px}.ally-roster-modal .roster-card-action{font-size:12px;padding:6px}.ally-roster-modal .modal-actions{margin-top:10px}.ally-roster-modal .secondary-button{font-size:12px;padding:8px 12px}body.game-active .game-control-rail :is(#rulesButton,#soundButton,#objectiveButton){display:none!important}.choice-card-art[src*=scuttle-]{transform:none;backface-visibility:visible}.card-play-toast{display:flex;align-items:center;gap:12px;width:300px;max-width:calc(100vw - 32px)}.card-play-toast img{width:64px;height:90px;object-fit:contain;flex-shrink:0}.card-play-toast strong{display:block;font-size:14px;line-height:1.35}.card-play-toast small{display:block;margin-top:6px;font-size:12px;line-height:1.35;color:var(--muted)}.prompt-preview.condition-trigger-preview{display:flex;align-items:center;gap:18px;width:100%;max-width:100%;margin:16px 0;box-sizing:border-box}.condition-trigger-preview>div{flex:0 0 100px;min-width:0}.condition-trigger-preview img{width:100px!important;height:142px!important;object-fit:contain}.condition-trigger-preview figcaption{flex:1;min-width:0;text-align:left;font-size:14px;line-height:1.4}.condition-trigger-preview figcaption p{font-size:14px;margin:6px 0 0}.game-screen .queen-of-hearts-realm .location>.queen-sized-hero{position:absolute;right:auto;margin:0;padding:0;translate:none;transform:none;display:block;z-index:7;pointer-events:none!important;overflow:visible}.queen-sized-hero svg{display:block;width:100%;height:100%;overflow:visible;pointer-events:none}.queen-sized-hero .queen-sized-art{pointer-events:visiblePainted}.queen-sized-hero:focus-visible{outline:2px solid var(--gold)}.game-screen .queen-of-hearts-realm .queen-sized-underlay{display:none!important}.game-screen .queen-of-hearts-realm .fate-zone:empty{pointer-events:none!important}#accountLink.profile-button{position:static;justify-self:end;min-width:0;z-index:10;min-height:44px;padding:0 18px;display:grid;place-items:center;font-size:16px;font-weight:700;color:var(--gold,#e8bd69);text-decoration:none;border:1px solid currentColor;border-radius:10px;background:#291939}#accountLink.profile-button:hover{background:rgba(232,189,105,.1)}#accountLink.profile-button:focus-visible{outline:2px solid currentColor;outline-offset:3px}#accountLink.profile-button[hidden]{display:none}#accountLink.profile-button.signed-in{display:flex;align-items:center;gap:14px;max-width:100%;box-sizing:border-box;border:0;border-radius:0;background:transparent;padding:0 8px}#accountLink.profile-button.signed-in:hover{background:transparent}#accountLink.profile-button.signed-in img{width:60px;height:60px;box-sizing:border-box}#accountLink.profile-button img{width:32px;height:32px;border-radius:50%;object-fit:cover;flex-shrink:0}#accountLink.profile-button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}img[src$="villainous-logo-avatar.png"],#accountLink.profile-button img[src$="villainous-logo-avatar.png"]{object-fit:contain;object-position:center;background:#291939;padding:5px;box-sizing:border-box}#accountLink.profile-button img{border-radius:0}#accountLink.profile-button img.frame-diamond{border:6px solid transparent;border-image:conic-gradient(from 45deg,#e9fcff,#8cbace 12%,#fff 18%,#b7dfed 26%,#7195b5 34%,#f4ffff 42%,#b4d8e8 52%,#fff 60%,#8aacc8 70%,#eaffff 80%,#b1d7e6 90%,#e9fcff) 1;box-shadow:0 0 0 1px #b4d8e8,0 0 14px #c6efff55;border-width:3px}.topbar.home-profile{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:16px}.topbar.home-profile .topbar-actions{grid-column:2;grid-row:1;justify-self:center}.topbar.home-profile #accountLink{grid-column:3;grid-row:1}@media(max-width:640px){.topbar.home-profile{grid-template-columns:minmax(0,1fr) minmax(0,1fr);height:auto;min-height:72px;padding:8px 16px;gap:10px}.topbar.home-profile #accountLink{grid-column:2;grid-row:1}.topbar.home-profile .topbar-actions{grid-column:1/-1;grid-row:2}#accountLink.profile-button.signed-in{gap:10px;padding:0}}.topbar #rulesButton,.topbar #soundButton{display:none!important}.header-title{display:block;max-width:100%;font:700 22px/1.15 Georgia,serif;letter-spacing:.02em;color:var(--gold);text-align:left}.topbar .brand{min-width:0;max-width:100%}body.game-active #accountLink.profile-button.signed-in{flex-direction:column;gap:6px;padding:4px 0;font-size:12px;text-align:center}body.game-active #accountLink.profile-button.signed-in img{width:44px;height:44px}body.game-active #accountLink.profile-button span{max-width:100%}@font-face{font-family:"Villainous";src:url(assets/fonts/PirataOne-Regular.ttf) format("truetype");font-style:normal;font-weight:400;font-display:swap}.menu-screen .menu-shell>.menu-motto{max-width:100%;margin:0 auto;color:#d8cd83;font-family:"Villainous",Georgia,"Times New Roman",serif;font-size:clamp(64px,8.5vw,120px);font-weight:400;font-synthesis:none;line-height:1.2;letter-spacing:.012em;text-wrap:balance;text-shadow:0 3px 3px rgba(0,0,0,.55)}@supports (-webkit-text-stroke:1px gold){.menu-screen .menu-shell>.menu-motto{color:#050504;-webkit-text-stroke:1.8px #d8cd83;paint-order:stroke fill}}@media(forced-colors:active){.menu-screen .menu-shell>.menu-motto{color:CanvasText;-webkit-text-stroke:0;text-shadow:none}}@media(min-width:0px){body.two-player-table-mode:not(.three-player-table-mode) .game-screen.two-player-table-mode .table-area{padding-top:164px}.game-screen.two-player-table-mode:not(.three-player-table-mode) .two-player-tabletop{grid-template-rows:auto 300px auto}.game-screen.two-player-table-mode:not(.three-player-table-mode) .two-player-center-space{height:300px}.game-screen.two-player-table-mode:not(.three-player-table-mode) .hand-dock{margin-top:210px}}@media(orientation:portrait),(max-width:780px){body.two-player-table-mode:not(.three-player-table-mode) .game-screen.two-player-table-mode .table-area{padding-left:20px;padding-right:20px}}.two-player-tabletop{-webkit-text-size-adjust:100%;text-size-adjust:100%}@media(orientation:portrait){.game-screen.two-player-table-mode:not(.three-player-table-mode) .hand-cards{transform:scale(1.2);transform-origin:top center}.game-screen.two-player-table-mode .realm-side-discard>span:first-child{width:100%;min-width:0;white-space:normal;overflow-wrap:normal;line-height:1.25}.game-screen.two-player-table-mode :is(.realm-side-deck-count,.realm-side-discard-count){line-height:1;box-sizing:border-box}}body.game-active.two-player-table-mode:not(.three-player-table-mode)>#turnStatusStack{position:absolute;top:var(--turn-stack-center,50dvh)}@media(orientation:portrait){body.game-active #turnStatusStack{display:none}body.game-active.two-player-table-mode:not(.three-player-table-mode) #app{position:relative}body.game-active.two-player-table-mode:not(.three-player-table-mode)>#turnStatusStack{position:absolute;top:var(--turn-stack-center,50dvh);left:35vw;transform:translate(-50%,-50%)}body.game-active.two-player-table-mode:not(.three-player-table-mode) .game-control-rail{position:absolute;top:var(--portrait-menu-top,78dvh);left:var(--portrait-menu-left,90%);right:auto;translate:none;transform:translateX(-50%) scale(.72);transform-origin:top center;max-height:60dvh;overflow-y:auto}}@media(orientation:landscape){body.game-active .game-control-rail{transform:translateY(-50%) scale(1);max-height:calc((100dvh - 24px)/var(--game-user-scale,1));overflow-y:auto}}@media(orientation:landscape){.game-screen.two-player-table-mode:not(.three-player-table-mode) .hand-dock{margin-top:230px;height:306px}.game-screen.two-player-table-mode:not(.three-player-table-mode) .hand-cards{transform:scale(1.15);transform-origin:top center}}.current-hero-power{position:absolute;right:3px;bottom:32px;z-index:6;width:26px;height:26px;color:var(--gold);background:#17131f;border-radius:50%;pointer-events:none}.current-hero-power .action-symbol{width:100%;height:100%}.hero-roster-card .current-hero-power{right:8px;bottom:47px;width:36px;height:36px}body.game-active .game-control-rail #onlineChat{flex:0 0 auto;min-height:36px;align-self:center;padding:0 10px}body.game-active .game-control-rail #onlineChat[hidden]{display:none!important}.revealed-hand-trigger{cursor:pointer;pointer-events:auto}.revealed-hand-trigger:focus-visible{outline:2px solid #e4c476;outline-offset:4px}html:not(.game-active) #app>.topbar{width:calc(100% / var(--game-user-scale,1));max-width:none;margin-left:0}html.game-zoom-out:not(.game-active) #app>.topbar{margin-left:calc((100% - 100% / var(--game-user-scale,1)) / 2)}.discard-piles-modal .discard-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px;align-items:start}.discard-piles-modal .discard-gallery>.discard-gallery-card{margin:0;width:100%;max-width:185px;aspect-ratio:auto;overflow:visible;border:0;cursor:default;background:transparent;box-shadow:none}.discard-piles-modal .discard-gallery>.discard-gallery-card:hover{transform:none}.discard-piles-modal .discard-gallery>.discard-gallery-card>img{display:block;position:static;width:100%;height:auto;aspect-ratio:284/401;object-fit:contain;border-radius:6px}.discard-piles-modal .discard-gallery figcaption{font:14px/1.3 system-ui;text-align:center;margin-top:6px;overflow-wrap:anywhere}.game-screen.two-player-table-mode:not(.three-player-table-mode) #twoPlayerFarHand{left:6.5%;width:13.59375%;top:calc(100% - 112px);height:100px}.game-screen.three-player-table-mode .three-player-opponent .two-player-hand-preview{left:14%;width:11.25%;height:100px}.game-screen.two-player-table-mode .two-player-hand-preview .two-player-card-backs{width:100%;height:100%;align-items:flex-end}.game-screen.two-player-table-mode .two-player-hand-preview .two-player-card-backs .game-card{flex:1 1 0;width:0;min-width:0;min-height:0;height:auto;aspect-ratio:284/401;max-width:76px;padding:0}.game-screen.two-player-table-mode .two-player-hand-preview .two-player-card-backs .game-card+.game-card{margin-left:-18px}.game-screen.two-player-table-mode .two-player-hand-preview .two-player-card-backs.is-condensed{width:76px;margin:auto}.game-screen.two-player-table-mode .two-player-hand-preview .game-card>img{display:block;width:100%;height:100%;object-fit:contain}#modalBack:not([hidden]){display:inline-block;margin:0 8px 12px 0}#modalBack:not([hidden])+.modal-minimize{display:inline-block}.game-screen.two-player-table-mode .realm-portrait>.realm-fortune-pile{left:50%;top:calc(100% + 12px);right:auto;bottom:auto;transform:translateX(-50%);cursor:pointer;pointer-events:auto}.game-screen.two-player-table-mode:not(.three-player-table-mode) .hand-dock{left:6.796875%}.game-screen.two-player-table-mode:not(.three-player-table-mode) .two-player-far-seat .realm-portrait>.realm-fortune-pile{top:calc(100% + 88px)}.game-screen.two-player-table-mode .realm-side-deck.has-ingredients{overflow:visible}.realm-side-deck.has-ingredients>img{border-radius:7px}.realm-ingredient-slots{position:absolute;top:calc(100% + 16px);left:0;width:calc(200% + 12px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,var(--ingredient-height,160px));grid-auto-flow:column;gap:16px 12px;z-index:3}.realm-ingredient-slot{box-sizing:border-box;width:100%;height:var(--ingredient-height,160px);min-height:0;margin:0;padding:0;border:1px solid rgba(190,148,220,.7);border-radius:7px;background:rgba(19,12,30,.52);display:grid;place-items:center;overflow:hidden;color:var(--cream);text-align:center}.realm-ingredient-slot span{font-size:13px;padding:8px}.realm-ingredient-slot.filled{cursor:pointer}.realm-ingredient-slot:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.game-screen.two-player-table-mode .realm-ingredient-slot img{width:100%;height:100%;object-fit:contain}.game-screen.two-player-table-mode:not(.three-player-table-mode) .two-player-far-seat:has(.realm-ingredient-slots){margin-top:352px}.game-screen.three-player-table-mode .realm-ingredient-slots{--ingredient-height:183px}.realm-board .mover{width:52px;height:52px;position:absolute}.realm-board .mover-art{position:absolute;left:50%;top:50%;width:auto;max-width:none;max-height:none;height:calc(100% * var(--mover-height-factor,1));transform:translate(var(--mover-center-x,-50%),var(--mover-center-y,-50%))}.realm-board .mover-art.villain-captain-hook-art{--mover-height-factor:1;--mover-center-x:-50%;--mover-center-y:-50%}.realm-board .mover-art.villain-syndrome-art{--mover-height-factor:1.08759757;--mover-center-x:-50.00000000%;--mover-center-y:-49.08293461%}.realm-board .mover-art.villain-maleficent-art{--mover-height-factor:1;--mover-center-x:-50%;--mover-center-y:-50%}.realm-board .mover-art.villain-prince-john-art{--mover-height-factor:1;--mover-center-x:-50%;--mover-center-y:-50%}.realm-board .mover-art.villain-ursula-art{--mover-height-factor:1;--mover-center-x:-50%;--mover-center-y:-50%}.realm-board .mover-art.villain-jafar-art{--mover-height-factor:1;--mover-center-x:-50%;--mover-center-y:-50%}.realm-board .mover-art.villain-queen-of-hearts-art{--mover-height-factor:1;--mover-center-x:-50%;--mover-center-y:-50%}.realm-board .mover-art.villain-evil-queen-art{--mover-height-factor:1.00621762;--mover-center-x:-50.00000000%;--mover-center-y:-50.00000000%}.realm-board .mover-art.villain-dr-facilier-art{--mover-height-factor:1.01754386;--mover-center-x:-50.00000000%;--mover-center-y:-50.00000000%}.game-screen .villain-zone .mini-card.is-trapped{rotate:90deg;transform-origin:center}img[src*="assets/cruella-puppies/"]{object-fit:contain}.game-screen.two-player-table-mode .realm-portrait>.mim-merlin-piles{position:absolute;left:50%;top:calc(100% + 12px);width:112px;display:flex;flex-direction:column;gap:12px;transform:translateX(-50%);pointer-events:auto;z-index:4}.game-screen.two-player-table-mode .mim-merlin-piles>:is(.realm-side-deck,.realm-side-discard){position:relative;left:auto;right:auto;top:auto;bottom:auto;transform:none;flex:none;width:112px;height:160px;margin:0}.game-screen.two-player-table-mode:not(.three-player-table-mode) .two-player-far-seat .realm-portrait>.mim-merlin-piles{top:calc(100% + 88px)}.game-screen.three-player-table-mode .realm-portrait>.mim-merlin-piles{width:128px}.game-screen.three-player-table-mode .mim-merlin-piles>:is(.realm-side-deck,.realm-side-discard){width:128px;height:183px}.game-screen.two-player-table-mode .mim-merlin-piles>.realm-side-discard{padding:0}.game-screen.two-player-table-mode .mim-merlin-piles>.realm-side-discard>img{min-width:0;min-height:0;object-fit:contain}.hand-card-fallback{display:none;padding:10px;color:var(--ink)}.hand-card-fallback strong,.hand-card-fallback small{display:block;overflow-wrap:anywhere}.hand-card-fallback small{margin-top:10px;font-size:12px}.hand-card-art[hidden]{display:none}.hand-card:has(.hand-card-art[hidden]) .hand-card-fallback{display:block}.inspection-image-fallback{display:none;max-width:420px;text-align:left}.card-inspection img[hidden]{display:none}.card-inspection:has(.inspection-original-card[hidden]) .inspection-image-fallback{display:block}.game-screen.two-player-table-mode .realm-portrait>.tamatoa-maui-piles{position:absolute;left:50%;top:calc(100% + 12px);width:112px;display:flex;flex-direction:column;gap:12px;transform:translateX(-50%);pointer-events:auto;z-index:4}.game-screen.two-player-table-mode .tamatoa-maui-piles>:is(.realm-side-deck,.realm-side-discard){position:relative;left:auto;right:auto;top:auto;bottom:auto;transform:none;flex:none;width:112px;height:160px;margin:0}.game-screen.two-player-table-mode:not(.three-player-table-mode) .two-player-far-seat .realm-portrait>.tamatoa-maui-piles{top:calc(100% + 88px)}.game-screen.three-player-table-mode .realm-portrait>.tamatoa-maui-piles{width:128px}.game-screen.three-player-table-mode .tamatoa-maui-piles>:is(.realm-side-deck,.realm-side-discard){width:128px;height:183px}.game-screen.two-player-table-mode .tamatoa-maui-piles>.realm-side-discard{padding:0}.game-screen.two-player-table-mode .tamatoa-maui-piles>.realm-side-discard>img{min-width:0;min-height:0;object-fit:contain}.game-screen.two-player-table-mode .tamatoa-maui-discard{left:calc(20% - 148px);top:calc(50% + 264px);padding:0}.game-screen.two-player-table-mode:not(.three-player-table-mode) .two-player-far-seat .tamatoa-maui-discard{top:calc(50% + 224px)}.game-screen.three-player-table-mode .tamatoa-maui-discard{left:calc(14% - 148px);top:calc(50% + 299px)}.game-screen.two-player-table-mode .tamatoa-maui-discard>img{object-fit:contain;min-width:0;min-height:0}.match-start-notice{position:fixed;z-index:120;left:50%;top:50%;transform:translate(-50%,-50%);width:min(460px,calc(100vw - 36px));max-height:80dvh;overflow:auto;padding:24px;box-sizing:border-box;border:1px solid var(--gold);border-radius:16px;background:#171126;color:#fff;box-shadow:0 12px 40px #0009;text-align:center}.match-start-notice h2{margin-top:0;color:var(--gold)}.ernesto-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px}.ernesto-photo{display:block;position:relative;min-width:0;aspect-ratio:11/8;padding:0;border:0;background:transparent;perspective:700px}.ernesto-photo-flipper{display:block;position:absolute;inset:0;transform-style:preserve-3d;transition:transform .48s ease}.ernesto-photo.is-down .ernesto-photo-flipper{transform:rotateY(180deg)}.ernesto-photo-face{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;backface-visibility:hidden;-webkit-backface-visibility:hidden}.ernesto-photo-back{transform:rotateY(180deg)}.ernesto-photos{position:absolute;right:calc(20% - 256px);bottom:calc(50% + 96px);width:220px;padding:0;border:0;background:transparent;color:#f5e6c3;z-index:4;cursor:pointer;pointer-events:auto}.ernesto-photo-progress{display:block;font-size:12px;line-height:20px;text-align:center;background:#15131ad9;border-radius:0 0 6px 6px}.ernesto-photos:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.ernesto-photo-inspection{width:min(100%,500px);margin:auto}.choice-grid.ernesto-photo-choices{display:block}.choice-photo-grid{width:min(100%,500px);margin:0 auto 18px}.choice-photo-grid .ernesto-photo{cursor:pointer}.choice-photo-grid .ernesto-photo:not(:disabled){outline:3px solid #e8c67c;outline-offset:-3px;z-index:1}.choice-photo-grid .ernesto-photo:disabled{opacity:.4;cursor:default}.choice-photo-grid .ernesto-photo:focus-visible{outline:4px solid white}.game-screen.two-player-table-mode:not(.three-player-table-mode) .two-player-realm-row:has(.ernesto-de-la-cruz-realm)>.realm-side-deck-fate:not([hidden]){position:absolute;grid-column:auto;right:calc(20% - 148px);top:calc(50% + 92px);margin:0}.game-screen.two-player-table-mode:not(.three-player-table-mode) .two-player-realm-row:has(.ernesto-de-la-cruz-realm)>.realm-side-discard-fate{top:50%;bottom:auto;transform:translateY(-50%)}.game-screen.two-player-table-mode:not(.three-player-table-mode) .two-player-far-seat .two-player-realm-row:has(.ernesto-de-la-cruz-realm)>.realm-side-deck-fate{top:calc(50% + 52px)}.game-screen.two-player-table-mode:not(.three-player-table-mode) .two-player-far-seat .two-player-realm-row:has(.ernesto-de-la-cruz-realm)>.realm-side-discard-fate{top:calc(50% - 40px)}.game-screen.two-player-table-mode:not(.three-player-table-mode) .two-player-far-seat .ernesto-photos{bottom:calc(50% + 136px)}.game-screen.two-player-table-mode:not(.three-player-table-mode):has(.ernesto-photos) .two-player-tabletop{grid-template-rows:auto calc(300px + var(--yzma-extra-space,0px)) auto}.game-screen.two-player-table-mode:not(.three-player-table-mode):has(.ernesto-photos) .two-player-center-space{height:calc(300px + var(--yzma-extra-space,0px))}.game-screen.three-player-table-mode .ernesto-photos{right:calc(14% - 268px);bottom:calc(50% + 108px);width:248px}@media(prefers-reduced-motion:reduce){.ernesto-photo-flipper{transition:none}}.realm-board.choosing-actions .location.has-action-choice{filter:none}.realm-board.choosing-actions .board-choice-target{pointer-events:auto!important;cursor:pointer!important;opacity:1!important;outline:4px solid #ffe39a!important;outline-offset:3px;box-shadow:0 0 18px #efbb48!important;background:#efbb4838!important;z-index:35!important}.realm-board.choosing-actions .board-choice-target:focus-visible,.board-choice-symbols .board-choice-target:focus-visible{outline:5px solid white!important}.board-choice-symbols{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.turn-prompt .board-choice-symbols button{display:grid;justify-items:center;gap:5px;padding:8px;max-width:180px;border:2px solid #ffe39a;border-radius:12px;background:#352d20;color:#ffe39a;cursor:pointer}.board-choice-symbols svg{width:44px;height:44px}.turn-prompt.choosing-location{flex-wrap:wrap}.realm-board.choosing-actions .has-action-choice .action-row{z-index:36}.realm-board.choosing-actions .board-choice-target.used::after{display:none}.realm-board.choosing-actions .board-choice-target.used>*{opacity:1}.turn-prompt .board-choice-symbols button{position:relative}.board-choice-symbols :is(.action-symbol,.action-symbol-image){position:static!important;transform:none!important;inset:auto!important;display:block;width:44px;height:44px;object-fit:contain}.realm-board.choosing-actions .board-choice-target{color:#fff3d0!important;background:#3f2e18!important}.realm-board.choosing-actions .board-choice-target>*{visibility:visible!important;opacity:1!important}.realm-board.choosing-actions .choice-spent-hidden{display:none}.board-choice-symbols :is(.action-symbol,.action-symbol-image){translate:none!important}.realm-board.choosing-actions .measured-choice{position:absolute!important;translate:-50% -50%!important;transform:none!important;margin:0!important;padding:0!important;min-width:0!important;min-height:0!important;border:0!important;border-radius:50%!important;box-sizing:border-box}.realm-board.choosing-actions .board-choice-target:not(.covered){background:transparent!important}.realm-board.choosing-actions .board-choice-target:not(.covered)>*{visibility:hidden!important}.game-screen.two-player-table-mode .two-player-far-board .realm-portrait{pointer-events:auto;cursor:pointer}.watch-model-control{display:flex;flex-direction:column;gap:8px;margin-top:14px;color:var(--cream)}.watch-model-control select{padding:10px;border:1px solid var(--line);border-radius:8px;background:#211c29;color:var(--cream);font:inherit}.watch-model-control small{color:var(--muted);line-height:1.45}
