@font-face{font-family:Arcadepix;src:url(/fonts/ARCADEPI.TTF) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Bookman Old Style;src:url(/fonts/BOOKOS.TTF) format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--bg-dark:#1a1a2e;--bg-table:#16213e;--surface:#0f3460;--text:#eee;--text-muted:#a0a8b8;--accent:#e94560;--border:#2a3a5c;--highlight:#e8b923}*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;min-height:100vh;background:var(--bg-dark) url(/gui_assets/gallery_bg.webp) center /cover no-repeat fixed;color:var(--text);font-family:system-ui,sans-serif}.boss-modal__hint,.start-subtitle,label,p,span{font-family:Bookman Old Style,Georgia,serif}.main-menu-screen{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}.main-menu-screen__bg{position:absolute;inset:0;background-size:cover;background-position:50%;background-repeat:no-repeat}.main-menu-screen__content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:2rem;padding:2rem 1rem;max-width:900px;width:100%}.main-menu-screen__logo-wrap{flex-shrink:0}.main-menu-screen__logo{display:block;max-width:min(90vw,420px);height:auto;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}.main-menu-screen__options{display:flex;gap:1.5rem;flex-wrap:wrap;justify-content:center;width:100%}.main-menu-screen__panel{flex:1 1;min-width:260px;max-width:380px;padding:2rem 1.5rem;background:url(/gui_assets/big_button.webp) 50%/cover no-repeat;border:none;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;text-align:center;cursor:pointer;transition:transform .15s;aspect-ratio:500/400}.main-menu-screen__panel:hover{background-image:url(/gui_assets/big_button_selected.webp);transform:scale(1.03)}.main-menu-screen__panel:active{transform:scale(.98)}.main-menu-screen__panel--online{opacity:.85}.main-menu-screen__panel[aria-disabled=true]{pointer-events:none}.main-menu-screen__panel-title{margin:0;font-family:Arcadepix,monospace;font-size:1.75rem;font-weight:400;color:var(--text);letter-spacing:.05em;text-shadow:2px 2px 4px rgba(0,0,0,.7)}.main-menu-screen__panel-desc{margin:.5rem 0 0;line-height:1.4}.main-menu-screen__panel-coming,.main-menu-screen__panel-desc{font-size:.9rem;color:var(--text-muted);text-shadow:1px 1px 3px rgba(0,0,0,.7)}.main-menu-screen__panel-coming{margin-top:.5rem;font-style:italic}.start-name-row{display:flex;align-items:stretch;gap:.5rem;width:100%}.start-name-row__input{flex:1 1;min-width:0;padding:.75rem 1.25rem;border:none;border-radius:0;background:url(/gui_assets/txt_bg_long.webp) 50%/100% 100% no-repeat;color:var(--text);min-height:52px;box-sizing:border-box}.start-name-row__random{flex-shrink:0;padding:.5rem .75rem;font-size:.85rem;font-weight:600;background:url(/gui_assets/button.webp) 50%/100% 100% no-repeat;color:var(--text);border:none;border-radius:0;cursor:pointer;white-space:nowrap;min-height:48px}.start-name-row__random:active{background-image:url(/gui_assets/button_pressed.webp)}.start-screen{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}.start-screen__bg{position:absolute;inset:0;background-size:cover;background-position:50%;background-repeat:no-repeat}.start-screen__back{position:absolute;top:1rem;left:1rem;z-index:2;width:48px;height:48px;padding:0;border:none;border-radius:0;background:transparent url(/gui_assets/back_bt.webp) 50%/contain no-repeat;cursor:pointer}.start-screen__back:hover{opacity:.9}.start-screen__back:active{background-image:url(/gui_assets/back_bt_pressed.webp)}.start-screen__content{position:relative;z-index:1;padding:2rem;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.start-screen__logo-wrap{flex-shrink:0}.start-screen__logo{display:block;max-width:min(90vw,420px);height:auto;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}.start-screen h1{margin-bottom:.25rem;font-size:2rem;font-family:Arcadepix,monospace}.start-screen .start-subtitle{color:var(--text-muted);font-size:1rem;font-family:Arcadepix,monospace}.start-form{gap:1.25rem;max-width:360px}.start-form,.start-form label{display:flex;flex-direction:column;align-items:center}.start-form label{gap:.5rem;font-family:Arcadepix,monospace}.start-form input{padding:.75rem 1.25rem;border:none;border-radius:0;background:url(/gui_assets/txt_bg_long.webp) 50%/100% 100% no-repeat;color:var(--text);width:100%;min-height:52px;box-sizing:border-box}.start-player-count{display:flex;align-items:center;gap:.75rem}.start-player-count__btn{width:48px;height:48px;border-radius:0;border:none;background:url(/gui_assets/button.webp) 50%/100% 100% no-repeat;color:var(--text);cursor:pointer;font-size:1.25rem}.start-player-count__btn:active:not(:disabled){background-image:url(/gui_assets/button_pressed.webp)}.start-player-count__btn:disabled{opacity:.5;cursor:not-allowed}.start-screen__start-btn{width:200px;height:56px;padding:0;border:none;border-radius:0;background:transparent url(/gui_assets/intro_start_btn.webp) 50%/contain no-repeat;cursor:pointer;text-indent:-9999px;overflow:hidden}.start-screen__start-btn:hover{opacity:.95}.start-screen__start-btn:active{background-image:url(/gui_assets/intro_start_btn_pressed.webp)}.setup-screen{min-height:100vh;padding:.75rem 1rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;box-sizing:border-box;overflow-x:hidden}.setup-screen h2{font-size:1.1rem;color:var(--text-muted);margin:0;font-family:Arcadepix,monospace}.setup-screen p{margin:0;font-size:.85rem}.setup-cards{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;max-width:100%;flex-shrink:0}.setup-cards--two{flex-wrap:nowrap;gap:.5rem;max-width:min(100%,320px)}.setup-cards--two .game-card{max-width:50%}.setup-cards--hand{gap:.35rem;max-width:min(100vw,640px)}.setup-actions{display:flex;gap:.5rem;margin-top:.25rem;flex-shrink:0}.setup-actions button:not(.pass-btn){padding:.6rem 1.25rem;border-radius:8px;border:none;background:var(--surface);color:var(--text);cursor:pointer}.setup-actions button.primary{background:var(--accent);color:#fff}.pass-btn{width:200px;height:56px;padding:0;border:none;border-radius:0;background:transparent url(/gui_assets/pass_button.webp) 50%/contain no-repeat;cursor:pointer;text-indent:-9999px;overflow:hidden;margin-left:auto}.pass-btn:active:not(:disabled){background-image:url(/gui_assets/pass_button_pressed.webp)}.pass-btn:disabled{opacity:.5;cursor:not-allowed}.discard-btn{padding:.5rem 1.5rem;border:none;border-radius:0;background:url(/gui_assets/button.webp) 50%/100% 100% no-repeat;color:#fff;font-family:Arcadepix,monospace;font-size:.95rem;cursor:pointer;min-height:48px}.discard-btn:active:not(:disabled){background-image:url(/gui_assets/button_pressed.webp)}.discard-btn:disabled{opacity:.4;cursor:not-allowed}.done-btn{padding:0;border:none;border-radius:0;width:200px;height:56px;background:transparent url(/gui_assets/done_button_unlimited.webp) 50%/contain no-repeat;cursor:pointer;text-indent:-9999px;overflow:hidden}.done-btn:active:not(:disabled){background-image:url(/gui_assets/done_button_unlimited_pressed.webp)}.done-btn:disabled{opacity:.4;cursor:not-allowed}.setup-actions button:disabled{opacity:.5;cursor:not-allowed}.game-card{position:relative;flex-shrink:0;padding:0;border:none;outline:2px solid var(--border);outline-offset:-2px;border-radius:8px;background:var(--surface);overflow:hidden;cursor:default;transition:transform .15s,box-shadow .15s}.game-card--clickable{cursor:pointer}.game-card--clickable:hover{transform:scale(1.03);box-shadow:0 4px 12px rgba(0,0,0,.3)}.game-card--clickable[draggable=true]{cursor:-webkit-grab;cursor:grab}.game-card--clickable[draggable=true]:active{cursor:-webkit-grabbing;cursor:grabbing}.game-card--inactive{opacity:.5;filter:grayscale(.6)}.game-card--inactive:hover{transform:none}.game-card--highlight{outline-color:var(--highlight);box-shadow:0 0 0 2px var(--highlight)}.game-card--highlight-red{outline-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.game-card__img{display:block;width:100%;height:100%;object-fit:contain;vertical-align:middle}.game-card__token-frame{position:absolute;top:20%;left:7%;width:86%;height:40%;pointer-events:none}.game-card__token{object-fit:contain;object-position:center bottom;image-rendering:pixelated;image-rendering:crisp-edges}.game-card__status-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.game-card__damage-buff{position:absolute;top:4px;left:4px;min-width:1.4em;padding:1px 4px;border-radius:999px;background:var(--accent);color:#fff;font-family:Arcadepix,sans-serif;font-size:.7rem;font-weight:700;line-height:1.4;text-align:center;box-shadow:0 1px 4px rgba(0,0,0,.6);pointer-events:none;z-index:2}.game-card__back{background:url(/cards_redux/back_room.webp) 50%/cover no-repeat;border-radius:6px}.game-card__placeholder{display:flex;align-items:center;justify-content:center;background:var(--bg-table)}.game-card__placeholder-name{font-size:.7rem;text-align:center;padding:.25rem}.build-warning-toast{position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:1000;max-width:90vw;background:var(--accent);color:#fff;padding:.6rem 1.2rem;border-radius:8px;font-size:.9rem;font-weight:600;box-shadow:0 4px 14px rgba(0,0,0,.4);text-align:center}.game-screen{position:relative;min-height:100vh;padding:0 1rem 1rem;display:flex;flex-direction:column;gap:0;max-width:1200px;margin:0 auto}.game-table{background:url(/gui_assets/multiplayer_bg.webp) 50%/cover no-repeat;border-radius:10px;padding:1rem;margin-bottom:1rem;border:1px solid var(--border);flex-direction:column;gap:.5rem}.game-phase,.game-table{image-rendering:pixelated;image-rendering:crisp-edges;display:flex}.game-phase{align-items:flex-end;justify-content:center;width:100vw;margin-left:calc(-50vw + 50%);height:72px;background:url(/gui_assets/bg_top.webp) bottom/100% 72px no-repeat}.game-phase--top{align-items:flex-start;background-position:top;margin-top:-10px;margin-bottom:10px}.game-phase__img{height:72px;padding-bottom:0;image-rendering:pixelated;image-rendering:crisp-edges}.game-status-bar{justify-content:space-between;align-items:center;padding:0 1rem;gap:.5rem}.game-status-bar__side{flex:1 1;display:flex;align-items:center;gap:.5rem;min-width:0}.game-status-bar__side--left{justify-content:flex-start}.game-status-bar__side--right{justify-content:flex-end;flex-wrap:wrap}.game-status-bar__side--right .done-btn,.game-status-bar__side--right .pass-build-btn,.game-status-bar__side--right .play-spell-btn{width:150px;height:42px;min-width:150px;min-height:42px}.game-status-bar__side--right .discard-btn{min-height:38px;padding:.3rem 1.1rem;font-size:.85rem}.hand-toggle-btn{width:56px;height:56px;min-width:56px;min-height:56px;flex-shrink:0;padding:0;border:none;background:url(/gui_assets/play.webp) 50%/contain no-repeat;cursor:pointer;text-indent:-9999px;overflow:hidden}.hand-toggle-btn:hover{opacity:.9}.hand-toggle-btn--pressed{background-image:url(/gui_assets/play_pressed.webp)}.dev-hand-switch-btn{width:32px;height:32px;min-width:32px;min-height:32px;flex-shrink:0;padding:0;border:2px dashed #ff4d4d;border-radius:4px;background:rgba(0,0,0,.6);color:#ff4d4d;font-size:1.1rem;line-height:1;cursor:pointer}.dev-hand-switch-btn:hover{background:rgba(255,77,77,.2)}.table-band{display:flex;flex-direction:column;gap:.35rem;overflow:visible}.table-band__area{position:relative;overflow:visible}.table-band__label{font-size:.85rem;font-weight:600;color:#fff;font-family:Arcadepix,monospace;text-align:center;background:rgba(26,26,46,.45);padding:.25rem .75rem;border-radius:6px}.table-dungeon{flex-direction:column;padding:.5rem;gap:.35rem;background:transparent;background-size:100% 100%;background-position:50%;background-repeat:no-repeat;border-radius:8px;border:1px solid var(--border);image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}.table-dungeon,.table-dungeon__cards{display:flex;align-items:center;width:100%;overflow:visible}.table-dungeon__cards{justify-content:center;gap:.5rem;flex-wrap:nowrap;height:auto;min-height:108px}.table-dungeon--upside-down{transform:rotate(180deg)}.game-table[data-player-count="3"]{display:grid;grid-template-columns:154px auto 1fr auto 154px;grid-template-rows:1fr auto;grid-template-areas:"left  ll  center   rl  right" "left  .   bottom   .   right";background:url(/gui_assets/multiplayer_bg.webp) 50%/cover no-repeat;image-rendering:pixelated;image-rendering:crisp-edges;padding:.75rem;grid-gap:.25rem;gap:.25rem}.game-table[data-player-count="3"] .table-band--left{grid-area:left}.game-table[data-player-count="3"] .table-band__label--left{grid-area:ll}.game-table[data-player-count="3"] .table-band--middle{grid-area:center}.game-table[data-player-count="3"] .table-band__label--right{grid-area:rl}.game-table[data-player-count="3"] .table-band--right{grid-area:right}.game-table[data-player-count="3"] .table-band--bottom{grid-area:bottom}.game-table[data-player-count="4"]{display:grid;grid-template-columns:154px auto 1fr auto 154px;grid-template-rows:auto auto 1fr auto;min-height:70vh;grid-template-areas:"left  .   top      .   right" "left  .   top-lbl  .   right" "left  ll  center   rl  right" "left  bottom bottom bottom right";background:url(/gui_assets/multiplayer_bg.webp) 50%/cover no-repeat;image-rendering:pixelated;image-rendering:crisp-edges;padding:.75rem;grid-gap:.25rem;gap:.25rem}.game-table[data-player-count="4"] .table-band--top{grid-area:top}.game-table[data-player-count="4"] .table-band--left{grid-area:left}.game-table[data-player-count="4"] .table-band__label--left{grid-area:ll}.game-table[data-player-count="4"] .table-band--middle{grid-area:center}.game-table[data-player-count="4"] .table-band__label--right{grid-area:rl}.game-table[data-player-count="4"] .table-band--right{grid-area:right}.game-table[data-player-count="4"] .table-band--bottom{grid-area:bottom}.game-table[data-player-count="4"] .table-band__label--top{grid-area:top-lbl}.table-band--bottom,.table-band--top{min-height:180px}.game-table[data-player-count="4"] .table-band__label--top{margin-top:-1.5rem}.table-band--bottom{justify-content:flex-end}.table-band--left,.table-band--right{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0;align-self:stretch;background:transparent;border-radius:8px;border:none;overflow:visible}.table-band__bg{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.table-band__bg:before{content:"";position:absolute;top:50%;left:50%;width:800px;height:160px;background-image:inherit;background-size:cover;background-position:50%;background-repeat:no-repeat;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}.table-band__bg--left:before{transform:translate(-50%,-50%) rotate(90deg)}.table-band__bg--right:before{transform:translate(-50%,-50%) rotate(-90deg)}.table-band__label--left,.table-band__label--right{writing-mode:vertical-lr;transform:rotate(180deg);display:flex;align-items:center;justify-content:center;padding:.25rem;z-index:2}.table-band__label--left{margin-right:-1rem;transform:none}.table-band__label--right{margin-left:-1rem}.table-band--left>.table-dungeon-rotator,.table-band--right>.table-dungeon-rotator{z-index:1}.table-dungeon-rotator{display:flex;align-items:center;justify-content:center}.table-dungeon-rotator--left{transform:rotate(90deg);transform-origin:center center;width:154px;height:700px}.table-dungeon-rotator--right{transform:rotate(-90deg);transform-origin:center center;width:154px;height:700px}.table-dungeon--compact{min-height:108px;gap:.35rem;padding:.5rem;background:transparent;border:none;border-radius:0}.table-dungeon--compact .table-dungeon__cards{height:auto;min-height:108px;gap:.5rem}.table-dungeon--compact .table-dungeon__entrance{font-size:.6rem;padding:.25rem}.table-dungeon--compact .table-dungeon__boss,.table-dungeon--compact .table-dungeon__entrance,.table-dungeon--compact .table-dungeon__room{width:76px;min-width:76px;height:108px;min-height:108px}.game-table[data-player-count="3"],.game-table[data-player-count="4"]{overflow:hidden}.table-dungeon__entrance,.table-dungeon__room,.table-slot{border:2px dashed rgba(42,58,92,.6);border-radius:6px;background:rgba(26,26,46,.45);color:#fff;font-size:.75rem;font-weight:600;display:flex;align-items:center;justify-content:center;text-align:center}.table-dungeon__room:has(.game-card){background:transparent;border-color:transparent}.table-dungeon__entrance{width:76px;min-width:76px;height:108px;min-height:108px;padding:.25rem;position:relative}.table-dungeon__entrance:has(.table-dungeon__entrance-heroes){background:transparent;border-color:transparent;padding:0}.table-dungeon__entrance-heroes{position:absolute;inset:0}.table-dungeon__entrance-hero{position:absolute;top:50%;transform:translateY(-50%)}.table-dungeon__entrance-count{position:absolute;bottom:-6px;left:-6px;font-size:.7rem;color:#fff;background:rgba(26,26,46,.85);border:1px solid var(--highlight);padding:.05rem .4rem;border-radius:8px;z-index:10}.table-dungeon__room{width:76px;min-width:76px;height:108px;min-height:108px}.table-dungeon__room .game-card{width:100%;height:100%;min-width:0}.table-dungeon__room--drop-target{border-color:var(--highlight);box-shadow:0 0 0 2px var(--highlight);background:rgba(232,185,35,.18)}.table-dungeon__room--pending{position:relative;animation:pendingPulse 1.4s ease-in-out infinite}@keyframes pendingPulse{0%,to{box-shadow:0 0 0 2px var(--highlight)}50%{box-shadow:0 0 10px 3px var(--highlight)}}.table-dungeon__pending-cancel{position:absolute;top:-8px;right:-8px;width:20px;height:20px;border-radius:50%;border:none;background:var(--accent);color:#fff;font-size:.65rem;line-height:1;cursor:pointer;z-index:5;display:flex;align-items:center;justify-content:center;padding:0}.table-dungeon__pending-cancel:hover{filter:brightness(1.15)}.drag-preview{position:fixed;pointer-events:none;z-index:999;transform:translate(-50%,-50%)}.drag-preview .game-card{box-shadow:0 6px 16px rgba(0,0,0,.5)}.flying-card{z-index:998;transition:left .32s ease-out,top .32s ease-out,width .32s ease-out,height .32s ease-out}.flying-card,.flying-hero{position:fixed;pointer-events:none;transform:translate(-50%,-50%)}.flying-hero{z-index:997;transition:left .45s ease-in-out,top .45s ease-in-out}.game-card--bait-stay{animation:baitStayPulse .6s ease-in-out 1}@keyframes baitStayPulse{0%,to{box-shadow:none;transform:none}50%{box-shadow:0 0 10px 3px var(--accent);transform:translateY(-4px)}}.adventure-token{position:absolute;pointer-events:none;z-index:996;transition:left .45s ease-in-out,top .45s ease-in-out,transform .6s ease-in,opacity .6s ease-in;display:flex;flex-direction:column;align-items:center}.adventure-token__img{object-fit:contain;image-rendering:pixelated;image-rendering:crisp-edges;filter:drop-shadow(0 4px 6px rgba(0,0,0,.5))}.adventure-token--fading{opacity:0}.adventure-token__health{position:relative;width:28px;height:28px;margin-top:.1rem}.adventure-token__health-icon{width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges}.adventure-token__health-value{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding-top:3px;color:#fff;font-family:"04b03",monospace;font-size:.7rem;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.9);pointer-events:none}.adventure-damage-number{position:absolute;top:-8px;left:50%;color:#ff4d4d;font-weight:700;font-size:1rem;text-shadow:0 1px 3px rgba(0,0,0,.8);animation:adventureDamageFloat .9s ease-out forwards;pointer-events:none}@keyframes adventureDamageFloat{0%{opacity:0;transform:translate(-50%)}15%{opacity:1;transform:translate(-50%,4px)}to{opacity:0;transform:translate(-50%,40px)}}.adventure-timer-bar{position:absolute;width:64px;height:16px;pointer-events:none;z-index:995;background:url(/gui_assets/timebar_bg.webp) 50%/100% 100% no-repeat;border-radius:3px;overflow:hidden}.adventure-timer-bar__fill{position:absolute;left:4px;right:4px;top:5px;bottom:5px;background:url(/gui_assets/settings_slider_bar.webp) 50%/100% 100% no-repeat;transform-origin:left;animation-name:adventureTimerDrain;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes adventureTimerDrain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.table-dungeon__boss{width:76px;min-width:76px;height:108px;min-height:108px;border:3px solid rgba(42,58,92,.6);border-radius:8px;background:rgba(26,26,46,.45);color:#fff;font-size:.8rem;font-weight:700;display:flex;align-items:center;justify-content:center}.table-dungeon__boss:has(.game-card){background:transparent;border-color:transparent}.table-dungeon__boss .game-card{width:100%;height:100%;min-width:0}.table-dungeon__boss--jiggle .game-card{animation:bossJiggle .5s ease-in-out 1}@keyframes bossJiggle{0%,to{transform:translateX(0) rotate(0)}20%{transform:translateX(-4px) rotate(-3deg)}40%{transform:translateX(4px) rotate(3deg)}60%{transform:translateX(-3px) rotate(-2deg)}80%{transform:translateX(3px) rotate(2deg)}}.treasure-legend{position:relative;z-index:1;flex-direction:column;justify-content:flex-start;gap:.25rem;padding:.35rem;width:72px;min-width:72px;height:103px;min-height:103px;background:50%/100% 100% no-repeat;image-rendering:pixelated;image-rendering:crisp-edges;overflow:visible}.treasure-legend,.treasure-legend__item{display:flex;align-items:center;flex-shrink:0}.treasure-legend__item{gap:.15rem}.treasure-legend__icon{width:20px;height:20px;flex-shrink:0;image-rendering:pixelated;image-rendering:crisp-edges}.treasure-legend__count{font-family:"04b03",monospace;font-size:.75rem;color:#fff;min-width:1ch}.table-dungeon--compact .treasure-legend{min-width:72px}.treasure-legend--top{background:none!important;width:72px!important;min-width:72px!important;height:103px!important;min-height:103px!important;flex-shrink:0}.treasure-legend--top:before{content:"";position:absolute;inset:0;z-index:-1;background:url(/gui_assets/bg_treasures_boss_profile.webp) 50%/100% 100% no-repeat;image-rendering:pixelated;image-rendering:crisp-edges;transform:rotate(180deg);transform-origin:center center}.treasure-legend--bottom{background:none!important;width:72px!important;min-width:72px!important;height:103px!important;min-height:103px!important;flex-shrink:0}.treasure-legend--bottom:before{content:"";position:absolute;top:50%;left:50%;width:103px;height:72px;z-index:-1;background:url(/gui_assets/bg_treasures_boss_profile.webp) 50%/100% 100% no-repeat;image-rendering:pixelated;image-rendering:crisp-edges;transform:translate(-50%,-50%) rotate(90deg);transform-origin:center center}.treasure-legend--side-left,.treasure-legend--side-right{background:none!important}.treasure-legend--side-left:before,.treasure-legend--side-right:before{content:"";position:absolute;top:50%;left:50%;width:103px;height:72px;z-index:-1;background:url(/gui_assets/bg_treasures_boss_profile.webp) 50%/100% 100% no-repeat;image-rendering:pixelated;image-rendering:crisp-edges}.treasure-legend--side-left:before{transform:translate(-50%,-50%) rotate(-90deg);transform-origin:center center}.treasure-legend--side-right:before{transform:translate(-50%,-50%) rotate(90deg);transform-origin:center center}.table-dungeon--compact .treasure-legend__icon{width:20px;height:20px}.table-dungeon--compact .treasure-legend__count{font-size:.75rem}.treasure-legend--zoom{width:100px;min-width:100px;height:168px;min-height:168px;justify-content:center;padding:.5rem;gap:.35rem}.treasure-legend--zoom .treasure-legend__icon{width:24px;height:24px}.treasure-legend--zoom .treasure-legend__count{font-size:.9rem}.table-shared{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.5rem;padding:.5rem;border-radius:8px}.game-table[data-player-count="3"] .table-shared,.game-table[data-player-count="4"] .table-shared,.table-shared{background:transparent;border:none}.table-shared__left,.table-shared__right{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.5rem}.table-shared__left{justify-content:flex-start;align-items:flex-start;align-self:stretch;flex:1 1;flex-wrap:nowrap;width:450px;margin-left:30px}.table-shared__right{justify-content:flex-end;align-items:center;align-self:stretch;margin-right:50px}.table-shared__hero-decks{display:flex;flex-direction:column;gap:.5rem;margin-left:0}.table-shared__util-decks{display:flex;flex-direction:column;gap:.5rem;align-items:center;margin-right:0}.table-deck--rotated{transform:rotate(-90deg);width:76px;height:108px;margin:-16px 16px -16px 0}.table-deck{width:76px;display:flex;flex-direction:column;align-items:center;gap:.2rem;color:#fff;font-size:.7rem;font-weight:600;text-align:center}.table-deck__img{width:76px;height:108px;object-fit:contain;border-radius:6px;border:2px solid var(--border);flex-shrink:0}.table-deck__label{line-height:1.2}.table-deck__count{font-size:.75rem;color:#fff;background:rgba(26,26,46,.45);padding:.15rem .5rem;border-radius:6px}.table-deck__top-card{width:76px;height:108px;flex-shrink:0}.table-deck__top-card .game-card{max-width:76px}.table-deck__top-card .game-card,.table-slot{width:76px;height:108px;min-width:76px;min-height:108px;max-height:108px}.table-slot{flex-shrink:0}.table-revealed-row,.table-town-wrap{display:flex;gap:.35rem;align-items:flex-start}.table-town-wrap{flex:1 1;flex-direction:column;margin-left:10px;height:30px}.table-town-label{font-size:1.1rem;font-weight:600;color:#fff;font-family:Arcadepix,monospace;background:rgba(26,26,46,.45);padding:.25rem .75rem;border-radius:6px}.spell-target-banner{position:relative;width:100%;max-width:340px;aspect-ratio:879/212;background:url(/gui_assets/txt_bg_long.webp) 50%/100% 100% no-repeat;display:flex;align-items:center;justify-content:center;padding:0 2.5rem;z-index:10}.spell-target-banner__text{font-family:Arcadepix,monospace;font-size:.95rem;color:var(--text);text-align:center}.spell-target-banner__cancel{position:absolute;top:50%;right:14%;transform:translateY(-50%);width:22px;height:22px;border-radius:50%;border:none;background:rgba(0,0,0,.55);color:#fff;cursor:pointer;font-size:.75rem;line-height:1}.table-dungeon__entrance--drop-target{border-color:var(--highlight);box-shadow:0 0 0 2px var(--highlight);background:rgba(232,185,35,.18)}.table-town-slots{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:center}.table-town-slots .game-card{width:76px;height:auto}.game-hand{margin-bottom:1rem;width:100%}.game-hand .game-hands,.game-hand .setup-cards--hand{width:100%;max-width:none}.game-hand__title{font-size:.95rem;font-weight:600}.game-hand__subtitle,.game-hand__title{font-family:Arcadepix,monospace;color:var(--text-muted);margin:0 0 .5rem}.game-hand__subtitle{font-size:.9rem}.game-hand__muted{color:var(--text-muted);font-size:.9rem}.game-hands{display:flex;gap:1rem;flex-wrap:wrap;padding:.75rem;background:url(/gui_assets/txt_bg_large.webp) 50%/100% 100% no-repeat;border-radius:10px;border:none;width:100%;box-sizing:border-box}.game-hands__section{display:flex;flex-direction:column;gap:.35rem}.game-hands__section .game-card{flex-shrink:0}.game-hands__cards{display:flex;flex-wrap:wrap;gap:.35rem;max-width:100%}.game-hands__section-title{font-size:.8rem;color:var(--text-muted)}.fanned-hand{display:flex;flex-direction:column;gap:.5rem;min-width:0;flex:1 1}.fanned-hand--empty{align-items:center;padding:.5rem}.fanned-hand__empty-msg{font-size:.9rem;color:var(--text-muted);margin:0}.fanned-hand__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.fanned-hand__title{font-size:.9rem;font-weight:600;color:var(--text)}.fanned-hand__count{font-size:.8rem;color:var(--text-muted)}.fanned-hand__viewport-wrap{gap:.25rem;width:100%}.fanned-hand__viewport,.fanned-hand__viewport-wrap{display:flex;align-items:center;min-height:320px;min-width:0}.fanned-hand__viewport{position:relative;flex:1 1;overflow:hidden}.fanned-hand__track{position:relative;flex-shrink:0;height:308px;transition:transform .25s ease-out;left:0}.fanned-hand__card-wrap{position:absolute;top:0;left:0;transition:transform .2s ease-out,z-index 0s;pointer-events:auto}.fanned-hand__card-wrap .game-card{box-shadow:0 4px 12px rgba(0,0,0,.35)}.fanned-hand__nav{flex-shrink:0;width:48px;height:48px;border-radius:0;border:none;background:url(/gui_assets/hand.webp) 50%/contain no-repeat;color:transparent;font-size:0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .15s}.fanned-hand__nav:hover:not(:disabled){opacity:.8}.fanned-hand__nav:disabled{opacity:.35;cursor:not-allowed}.fanned-hand__nav--prev{transform:scaleX(-1)}.game-actions__leave{width:140px;height:40px;padding:0;border:none;border-radius:0;background:transparent url(/gui_assets/intro_quit_btn.webp) 50%/contain no-repeat;cursor:pointer;text-indent:-9999px;overflow:hidden}.game-actions__leave:hover{opacity:.9}.game-actions__leave:active{background-image:url(/gui_assets/intro_quit_btn_pressed.webp)}.pass-build-btn{width:200px;height:56px;min-width:200px;min-height:56px;padding:0;border:none;border-radius:0;background:transparent url(/gui_assets/pass_button.webp) 50%/contain no-repeat;cursor:pointer;text-indent:-9999px;overflow:hidden;flex-shrink:0;color:transparent}.pass-build-btn:hover{opacity:.95}.pass-build-btn:active{background-image:url(/gui_assets/pass_button_pressed.webp)}.play-spell-btn{width:200px;height:56px;min-width:200px;min-height:56px;padding:0 1rem;border:none;border-radius:0;background:transparent url(/gui_assets/options_bt.webp) 50%/contain no-repeat;cursor:pointer;color:#fff;font-family:Arcadepix,monospace;font-size:.95rem;flex-shrink:0}.play-spell-btn:hover{opacity:.95}.play-spell-btn:active{background-image:url(/gui_assets/options_bt_pressed.webp)}.game-status-bar__side--right button:not(.pass-build-btn):not(.done-btn):not(.discard-btn):not(.play-spell-btn){padding:.5rem 1rem;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;font-size:.9rem}.game-status-bar__side--right button.primary:not(.pass-build-btn):not(.done-btn):not(.discard-btn){background:var(--accent);border-color:var(--accent);color:#fff}.game-status-bar__side--right button:disabled:not(.pass-build-btn):not(.done-btn):not(.discard-btn):not(.play-spell-btn){opacity:.5;cursor:not-allowed}.boss-modal-overlay{position:fixed;inset:0;z-index:500;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;padding:1rem;box-sizing:border-box}.boss-modal{background:url(/gui_assets/txt_bg_large.webp) 50%/100% 100% no-repeat local;border:none;border-radius:12px;padding:2.5rem 1.5rem;max-width:min(100%,520px);max-height:95vh;overflow-y:auto;display:flex;flex-direction:column;align-items:center;gap:1rem}.boss-modal__title{margin:0;font-size:1.1rem;font-family:Arcadepix,monospace;color:var(--text);text-align:center}.boss-modal__hint{margin:0;font-size:.9rem;color:var(--text-muted);text-align:center}.boss-modal__cards{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.boss-modal__card-wrap{cursor:pointer;border-radius:8px;border:3px solid transparent;transition:border-color .15s}.boss-modal__card-wrap--selected{border-color:var(--highlight);box-shadow:0 0 12px rgba(232,185,35,.6)}.boss-modal__btn{padding:.6rem 1.5rem;border-radius:0;border:none;background:url(/gui_assets/options_bt.webp) 50%/100% 100% no-repeat;color:#fff;font-size:1rem;cursor:pointer;min-height:48px}.boss-modal__btn:disabled{opacity:.4;cursor:not-allowed}.boss-modal__btn:active:not(:disabled){background-image:url(/gui_assets/options_bt_pressed.webp)}.levelup-modal-overlay{position:fixed;inset:0;z-index:550;background:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;padding:1rem;box-sizing:border-box}.levelup-modal{max-width:min(100%,420px)}.levelup-modal,.levelup-modal__panel{display:flex;flex-direction:column;align-items:center}.levelup-modal__panel{background:url(/gui_assets/bg_levelup_panel.webp) 50%/100% 100% no-repeat;border:3px solid var(--highlight);border-radius:8px;padding:2rem 1.5rem 1.75rem;gap:.75rem;width:100%;box-sizing:border-box}.levelup-modal__title{margin:0;font-size:1.1rem;font-family:Arcadepix,monospace;color:#fff;text-align:center}.levelup-modal__card-wrap{flex-shrink:0}.levelup-modal__ability{margin:0;font-size:.9rem;color:#fff;text-align:center}.levelup-modal__btn{width:183px;height:59px;min-width:183px;min-height:59px;padding:0;border:none;border-radius:0;background:transparent url(/gui_assets/levelup_bt.webp) 50%/contain no-repeat;cursor:pointer;text-indent:-9999px;overflow:hidden}.levelup-modal__btn:hover{opacity:.95}.levelup-modal__btn:active{background-image:url(/gui_assets/levelup_bt_pressed.webp)}.target-picker-overlay{position:fixed;inset:0;z-index:560;background:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;padding:1rem;box-sizing:border-box}.target-picker-modal{background:url(/gui_assets/txt_bg_large.webp) 50%/100% 100% no-repeat;border:none;border-radius:12px;padding:2.5rem 1.5rem 1.5rem;max-width:min(100%,480px);max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;align-items:center;gap:1rem}.target-picker__title{margin:0;font-size:1.1rem;font-family:Arcadepix,monospace;color:var(--text);text-align:center}.target-picker__players{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.target-picker__player-btn{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.75rem 1rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);cursor:pointer;font-size:.9rem}.target-picker__player-btn:hover{border-color:var(--highlight)}.target-picker__player-boss{width:48px;height:48px;object-fit:contain}.target-picker__cards{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.target-picker__card-btn{padding:0;border:2px solid transparent;border-radius:8px;background:none;cursor:pointer}.target-picker__card-btn:focus-visible,.target-picker__card-btn:hover{border-color:var(--highlight);outline:none}.target-picker__cancel{padding:.5rem 1.25rem;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}.reveal-modal-overlay{position:fixed;inset:0;z-index:600;background:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;padding:1rem;box-sizing:border-box;opacity:0;transition:opacity .4s ease}.reveal-modal-overlay--visible{opacity:1}.reveal-modal-overlay--out{opacity:0}.reveal-modal{background:url(/gui_assets/txt_bg_large.webp) 50%/100% 100% no-repeat local;border:none;border-radius:12px;padding:2.5rem 3rem;display:flex;flex-direction:column;align-items:center;gap:1rem;transform:scale(.9);transition:transform .4s ease}.reveal-modal-overlay--visible .reveal-modal{transform:scale(1)}.reveal-modal-overlay--out .reveal-modal{transform:scale(.9)}.reveal-modal__title{margin:0;font-size:1.4rem;font-family:Arcadepix,monospace;color:var(--highlight);text-shadow:1px 1px 4px rgba(0,0,0,.7)}.reveal-modal__image{height:56px;image-rendering:pixelated;image-rendering:crisp-edges}.reveal-modal__countdown{margin:0;font-size:3rem;font-family:"04b03",monospace;color:var(--text);text-shadow:2px 2px 6px rgba(0,0,0,.7)}.dungeon-zoom-overlay{position:fixed;inset:0;z-index:750;background:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;padding:1rem;box-sizing:border-box}.dungeon-zoom__content{background:url(/gui_assets/txt_bg_large.webp) 50%/100% 100% no-repeat local;border:none;border-radius:12px;padding:2.5rem 1.5rem;max-width:960px;width:100%;max-height:95vh;overflow-y:auto;display:flex;flex-direction:column;align-items:center;gap:1rem}.dungeon-zoom__title{margin:0;font-size:1.15rem;font-family:Arcadepix,monospace;color:var(--text);text-shadow:1px 1px 4px rgba(0,0,0,.7)}.dungeon-zoom__dungeon{gap:.5rem;flex-wrap:nowrap}.dungeon-zoom__dungeon,.dungeon-zoom__slot{display:flex;align-items:center;justify-content:center}.dungeon-zoom__slot{width:120px;min-width:120px;height:168px;min-height:168px;border:2px dashed rgba(42,58,92,.6);border-radius:8px;background:rgba(26,26,46,.45);color:var(--text-muted);font-size:.8rem;font-weight:600;text-align:center;flex-shrink:0}.dungeon-zoom__slot:has(.game-card){background:transparent;border-color:transparent}.dungeon-zoom__slot--entrance{padding:.35rem}.dungeon-zoom__slot--boss{border-style:solid;border-width:3px;font-size:.9rem;font-weight:700}.dungeon-zoom__slot--boss:has(.game-card){background:transparent;border-color:transparent}.dungeon-zoom__slot .game-card{width:100%;height:100%;min-width:0}.dungeon-zoom__stats{display:flex;gap:1.5rem;font-size:.95rem;color:var(--text);text-shadow:1px 1px 3px rgba(0,0,0,.7)}.dungeon-zoom__footer{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;width:100%}.dungeon-zoom__footer .dungeon-tracker{margin-left:calc(120px + .5rem)}.dungeon-zoom__eliminated{color:var(--accent);font-weight:700}.dungeon-zoom__close{padding:.4rem 1rem;border-radius:0;border:none;background:url(/gui_assets/button.webp) 50%/100% 100% no-repeat;color:#fff;cursor:pointer;font-size:.9rem;min-height:44px;flex-shrink:0}.dungeon-zoom__close:active{background-image:url(/gui_assets/button_pressed.webp)}@media (max-width:900px){.dungeon-zoom__dungeon{flex-wrap:wrap;justify-content:center}.dungeon-zoom__content{max-width:100%;padding:1rem}}.discard-pile-overlay{position:fixed;inset:0;z-index:750;background:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;padding:1rem;box-sizing:border-box}.discard-pile-modal{background:url(/gui_assets/txt_bg_large.webp) 50%/100% 100% no-repeat local;border:none;border-radius:12px;padding:2rem 1.5rem;max-width:90vw;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;align-items:center;gap:1rem}.discard-pile__title{margin:0;font-size:1.15rem;font-family:Arcadepix,monospace;color:var(--text);text-shadow:1px 1px 4px rgba(0,0,0,.7)}.discard-pile__hint{margin:0;font-size:.9rem;color:var(--text-muted)}.discard-pile__cards{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.discard-pile__card-wrap,.discard-pile__card-wrap .game-card{cursor:pointer}.discard-pile__empty{margin:0;color:var(--text-muted);font-style:italic}.discard-pile__close{padding:.4rem 1rem;border-radius:0;border:none;background:url(/gui_assets/button.webp) 50%/100% 100% no-repeat;color:#fff;cursor:pointer;font-size:.9rem;min-height:44px}.discard-pile__close:active{background-image:url(/gui_assets/button_pressed.webp)}.dungeon-tracker{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.15rem 0}.dungeon-tracker__row{display:flex;align-items:center;gap:.2rem}.dungeon-tracker__label{font-family:"04b03",monospace;font-size:.7rem;color:#fff;margin-right:.15rem;white-space:nowrap}.dungeon-tracker__icon{width:20px;height:20px;image-rendering:pixelated;image-rendering:crisp-edges}.table-dungeon--compact .dungeon-tracker__icon{width:14px;height:14px}.table-dungeon--compact .dungeon-tracker__label{font-size:.55rem}.table-dungeon--compact .dungeon-tracker{padding:.15rem 0;gap:.75rem}.dungeon-tracker--zoom .dungeon-tracker__icon{width:28px;height:28px}.dungeon-tracker--zoom .dungeon-tracker__label{font-size:.85rem}.win-screen{min-height:100vh;padding:2rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem}.win-screen h1{font-size:2rem}.win-screen p{color:var(--text-muted)}.win-screen button{padding:.75rem 2rem;border-radius:8px;border:none;background:var(--accent);color:#fff;font-size:1rem;cursor:pointer}.win-screen button:hover{filter:brightness(1.1)}.card-zoom-overlay{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;padding:1rem;box-sizing:border-box}.card-zoom__content{background:url(/gui_assets/txt_bg_large.webp) 50%/100% 100% no-repeat local;border:none;border-radius:12px;padding:2.5rem 1rem;max-width:min(100%,380px);max-height:95vh;overflow-y:auto;display:flex;flex-direction:column;align-items:center;gap:.75rem}.card-zoom__card{position:relative;flex-shrink:0;width:320px;height:448px;border-radius:8px;overflow:hidden;border:2px solid var(--border);background:var(--bg-table)}.card-zoom__img{width:100%;height:100%;object-fit:contain;display:block}.card-zoom__placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg-table)}.card-zoom__placeholder-name{font-size:1rem;color:var(--text-muted)}.card-zoom__details{text-align:center;width:100%}.card-zoom__name{margin:0 0 .25rem;font-size:1.25rem;font-family:Arcadepix,monospace;color:var(--text)}.card-zoom__type{margin:0;font-size:.85rem;color:var(--text-muted)}.card-zoom__ability{margin:.5rem 0 0;font-size:.9rem;line-height:1.4;color:var(--text)}.card-zoom__stats{margin:.25rem 0 0;font-size:.85rem;color:var(--text-muted)}.card-zoom__action{padding:.5rem 1.25rem;border-radius:0;border:none;background:url(/gui_assets/options_bt.webp) 50%/100% 100% no-repeat;color:#fff;cursor:pointer;font-size:.95rem;min-height:48px}.card-zoom__action:active{background-image:url(/gui_assets/options_bt_pressed.webp)}.card-zoom__close{padding:.4rem 1rem;border-radius:0;border:none;background:url(/gui_assets/button.webp) 50%/100% 100% no-repeat;color:#fff;cursor:pointer;font-size:.9rem;min-height:44px}.card-zoom__close:active{background-image:url(/gui_assets/button_pressed.webp)}.card-zoom__unknown{margin:0;color:var(--text-muted)}.site-footer{text-align:center;padding:1.5rem 1rem;font-size:.75rem;color:var(--text-muted);border-top:1px solid var(--border);margin-top:auto}.site-footer a{color:var(--accent);text-decoration:none}.site-footer a:hover{text-decoration:underline}.card-flip{--flip-speed:0.6s;--flip-width:200px;--flip-height:280px;width:var(--flip-width);height:var(--flip-height);perspective:800px;cursor:pointer}.card-flip__inner{position:relative;width:100%;height:100%;transition:transform var(--flip-speed) ease-in-out;transform-style:preserve-3d}.card-flip--flipped .card-flip__inner{transform:rotateY(180deg)}.card-flip__back,.card-flip__front{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:8px;overflow:hidden}.card-flip__front{z-index:2}.card-flip__back{transform:rotateY(180deg)}.card-flip__img{display:block;width:100%;height:100%;object-fit:cover;image-rendering:pixelated;image-rendering:crisp-edges;border-radius:8px}.card-flip--auto .card-flip__inner{transition:none;animation:flipCardAuto var(--flip-speed,.6s) ease-in-out var(--flip-delay,0s) forwards}@keyframes flipCardAuto{0%{transform:rotateY(0deg)}to{transform:rotateY(180deg)}}.test-flip-page{min-height:100vh;padding:2rem;background:var(--bg-dark);color:var(--text);font-family:Arcadepix,monospace}.test-flip-page__title{font-size:1.5rem;margin-bottom:1rem}.test-flip-page__subtitle{font-size:1.1rem;margin:2rem 0 1rem}.test-flip-page__controls{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;margin-bottom:1rem}.test-flip-page__btn{padding:.5rem 1rem;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-family:Arcadepix,monospace;font-size:.85rem;cursor:pointer}.test-flip-page__btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.test-flip-page__speed{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-muted)}.test-flip-page__speed input[type=range]{width:120px}.test-flip-page__hint{color:var(--text-muted);font-size:.8rem;margin-bottom:1.5rem}.test-flip-page__cards{display:flex;gap:2rem;flex-wrap:wrap;align-items:flex-start}.test-flip-page__variant{display:flex;flex-direction:column;align-items:center;gap:.5rem}.test-flip-page__card-label{text-align:center;font-size:.75rem;color:var(--text-muted);margin-top:.5rem}