@font-face{font-family:Modern Antiqua;src:url(./modern-antiqua-regular-xK-b9Hr3.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(./jetbrainsmono-regular-B6W8R_vR.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}body.dragging-card{cursor:grabbing!important}.card-enemy-intent{height:290px;min-height:290px;max-height:290px;width:180px;display:block;margin-top:16px;cursor:default;pointer-events:none;margin-left:0;transform:none!important;overflow:hidden}.card-enemy-intent .card-cost{display:none}.card-slot{border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:.45rem .6rem;background:#ffffff08;text-transform:uppercase;font-size:.75rem;letter-spacing:.08em;display:flex;align-items:center;justify-content:center}.card-slot.card-pile,.card-slot.side-pile{position:relative;min-width:96px;background:transparent;border:none;overflow:hidden;color:transparent;background-image:url(./back-Dqu8Wnqk.png);background-size:contain;background-repeat:no-repeat;background-position:center}.card-slot.card-pile.side-pile--empty,.card-slot.side-pile.side-pile--empty{border-style:dashed;border-color:#ffffff59;background:#ffffff03;background-image:none;color:inherit}.side-pile__empty-label{display:block;text-align:center;letter-spacing:.2em;font-size:.75rem;font-weight:600;text-transform:uppercase}.card-button{--card-border-color: rgba(255, 255, 255, .2);--card-base-image: url(./basic-DiURB9aX.png);flex:0 0 180px;width:180px;padding:0;margin:0;border:none;border-radius:16px;background-image:var(--card-overlay),var(--card-base-image);--card-overlay: linear-gradient(180deg, rgba(42, 45, 58, 1), rgba(27, 29, 39, 1));background-size:cover;background-position:center;background-repeat:no-repeat;color:inherit;font-family:var(--font-primary);font-size:inherit;line-height:1;cursor:grab;text-align:left;display:block;min-width:120px;height:290px;overflow:visible;box-sizing:border-box;transition:transform .15s ease,opacity .15s ease,border-color .2s ease;--card-inset-border: inset 0 0 0 1px rgba(255, 255, 255, .3), inset 0 0 8px rgba(0, 0, 0, .4);box-shadow:var(--card-inset-border);position:relative}.card-button.card-school-paladin{--card-overlay: linear-gradient(180deg, rgba(42, 42, 42, .5), rgba(254, 210, 88, 1));--card-base-image: url(./paladin-mZ2mCCYu.png)}.card-button.card-school-paladin .card-art-svg{color:#fed258e6}.card-button.card-school-psychic{--card-overlay: linear-gradient(180deg, rgba(42, 42, 42, .5), rgba(184, 160, 255, 1));--card-base-image: url(./psychic-YNTvsaaj.png)}.card-button.card-school-psychic .card-art-svg{color:#b8a0ffe6}.card-button.card-school-dark{--card-overlay: linear-gradient(180deg, rgba(42, 42, 42, .5), rgba(65, 25, 118, 1));--card-base-image: url(./dark-zGSGOEkn.png)}.card-button.card-school-dark .card-art-svg{color:#411976e6}.card-button.card-school-nature{--card-overlay: linear-gradient(180deg, rgba(42, 42, 42, .5), rgba(16, 86, 43, 1));--card-base-image: url(./plant2-CXvoSY12.png)}.card-button.card-school-nature .card-art-svg{color:#10562be6}.card-button.card-school-supernatural{--card-overlay: linear-gradient(180deg, rgba(42, 42, 42, .5), rgba(157, 214, 238, 1));--card-base-image: url(./ghoststone-B5Zxcx8e.png)}.card-button.card-school-supernatural .card-art-svg{color:#9dd6eee6}.card-button.card-school-basic{--card-overlay: linear-gradient(180deg, rgba(42, 42, 42, .5), rgba(146, 106, 73, 1));--card-base-image: url(./basic-DiURB9aX.png)}.card-button.card-school-basic .card-art-svg{color:#926a49e6}.card-button.card-school-mechanical{--card-overlay: linear-gradient(180deg, rgba(42, 42, 42, .5), rgba(138, 51, 51, 1));--card-base-image: url(./mechanical-Bt8dz-iF.png)}.card-button.card-school-mechanical .card-art-svg{color:#8a3333e6}.card-button.card-school-blight{--card-overlay: linear-gradient(180deg, rgba(42, 42, 42, .5), rgba(141, 187, 104, 1));--card-base-image: url(./plant-D_x29RXk.png)}.card-button.card-school-blight .card-art-svg{color:#8dbb68e6}.card-button.card-school-magic{--card-overlay: linear-gradient(180deg, rgba(42, 42, 42, .5), rgba(47, 142, 134, 1));--card-base-image: url(./ghoststone-B5Zxcx8e.png)}.card-button.card-school-magic .card-art-svg{color:#2f8e86e6}.card-button.card-school-demonic{--card-overlay: linear-gradient(180deg, rgba(42, 42, 42, .5), rgba(227, 2, 2, 1));--card-base-image: url(./ghoststone-B5Zxcx8e.png)}.card-button.card-school-blackmagic{--card-overlay: linear-gradient(180deg, rgba(42, 42, 42, .5), rgba(0, 0, 0, 1));--card-base-image: url(./ghoststone-B5Zxcx8e.png)}.card-button.card-school-blackmagic .card-art-svg{color:#141414e6}.card-button.card-school-angelic{--card-overlay: linear-gradient(180deg, rgba(42, 42, 42, .5), rgba(255, 255, 255, 1));--card-base-image: url(./ghoststone-B5Zxcx8e.png)}.card-button.card-school-demonic{--card-overlay: linear-gradient(180deg, rgba(42, 42, 42, .5), rgba(227, 2, 2, 1));--card-base-image: url(./ghoststone-B5Zxcx8e.png)}.card-button.card-school-demonic .card-art-svg{color:#e30202e6}.card-button.card-school-blackmagic{--card-overlay: linear-gradient(180deg, rgba(42, 42, 42, .5), rgba(0, 0, 0, 1));--card-base-image: url(./ghoststone-B5Zxcx8e.png)}.card-button.card-school-blackmagic .card-art-svg{color:#000000e6}.card-button.card-school-angelic{--card-overlay: linear-gradient(180deg, rgba(42, 42, 42, .5), rgba(255, 255, 255, 1));--card-base-image: url(./ghoststone-B5Zxcx8e.png)}.card-button.card-school-angelic .card-art-svg{color:#ffffffe6}.card-button:disabled{cursor:not-allowed;filter:grayscale(.5) brightness(.5)}.card-button:not(:first-child){margin-left:calc(-1 * var(--hand-card-overlap, 100px))}.card-button:not(:disabled):hover,.card-button:focus-visible{transform:translateY(-48px)}.card-button.dragging{opacity:0;cursor:grabbing}.card-illustration-intent{position:absolute;top:37px;left:10px;width:160px;height:145px}.card-illustration-intent .card-art-frame,.card-illustration-intent .card-art-frame img{width:100%;height:100%;object-fit:cover}.card-header{position:absolute;top:8px;left:10px;right:10px;height:20px;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:.15rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;padding-right:1.5rem;z-index:2}.card-title{font-weight:600;flex:1;padding-right:.25rem;text-shadow:0 2px 4px rgba(0,0,0,.6)}.card-subtitle{font-size:.65rem;font-style:italic;letter-spacing:.2em;color:#ffffffbf;text-shadow:0 1px 3px rgba(0,0,0,.6)}.card-cost{width:38px;height:38px;position:absolute;top:auto;right:19px;bottom:-18px;transform:translate(20px);pointer-events:none;z-index:3}.card-cost-diamond{width:100%;height:100%;background:linear-gradient(135deg,#73c0ff,#3c86ff);border-radius:3px;display:flex;align-items:center;justify-content:center;transform:rotate(45deg);box-shadow:0 6px 10px #00000059}.card-cost--dynamic .card-cost-diamond{box-shadow:0 0 10px #52aaffd9,0 0 18px #52aaff99,0 6px 10px #00000059}.card-cost-diamond span{transform:rotate(-45deg);font-weight:800;color:#fff;font-size:1.6rem;line-height:1;text-shadow:0 0 3px rgba(0,0,0,.9),0 0 6px rgba(0,0,0,.6),0 0 1px rgba(0,0,0,.9)}.card-impact-indicator{position:absolute;bottom:100px;width:48px;height:48px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:800;color:#fff;text-shadow:0 0 3px rgba(0,0,0,.9),0 0 6px rgba(0,0,0,.6),0 0 1px rgba(0,0,0,.9);box-shadow:0 10px 18px #00000073;border:0px solid rgba(0,0,0,.35);z-index:8;transform:translateY(0)}.card-impact-indicator--aro{left:6px;z-index:7}.card-impact-indicator--aro-negative{background:#2cd9e5;width:55px;height:55px;bottom:98px;clip-path:polygon(30% 0%,70% 0%,70% 30%,100% 30%,100% 70%,70% 70%,70% 100%,30% 100%,30% 70%,0% 70%,0% 30%,30% 30%);border-radius:0;border-width:0px}.card-impact-indicator--aro-positive{background:#f6f}.card-impact-indicator--hp{right:6px;z-index:6}.card-impact-indicator--hp-negative{background:#e13034;border-width:0px}.card-impact-indicator--hp-positive{background:#29c84f;width:55px;height:55px;bottom:98px;clip-path:polygon(30% 0%,70% 0%,70% 30%,100% 30%,100% 70%,70% 70%,70% 100%,30% 100%,30% 70%,0% 70%,0% 30%,30% 30%);border-radius:0;border-width:0px}.card-illustration{position:absolute;top:37px;left:10px;width:160px;height:145px;border-radius:12px;overflow:visible;background:transparent;z-index:1}.card-art-frame{width:100%;height:100%}.card-art-frame img{width:100%;height:100%;object-fit:cover;display:block}.card-art-svg{width:100%;height:100%;display:block;color:#ffffff4d}.card-art-placeholder{display:flex;align-items:center;justify-content:center;font-size:1rem;color:#ffffff8c;text-transform:uppercase;letter-spacing:.1em;background:repeating-linear-gradient(45deg,rgba(255,255,255,.04),rgba(255,255,255,.04) 10px,transparent 10px,transparent 20px)}.card-body{position:absolute;top:192px;left:10px;right:10px;height:84px;background:#fff;border-radius:0;padding:0;color:#16161a;letter-spacing:.05em;font-size:.7rem;opacity:.75;box-sizing:border-box;overflow:visible;z-index:2}.card-target-row{position:absolute;top:183px;left:10px;right:10px;display:flex;align-items:center;justify-content:center;z-index:3}.card-school-row{position:absolute;bottom:-14px;left:50%;transform:translate(-50%);display:flex;justify-content:center;z-index:4}.card-school-badge{padding:.1rem .65rem;border-radius:999px;border:1px solid rgba(255,255,255,.3);background:#ffffff1a;font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:#000000bf}.card-school-badge--paladin{border-color:#ffd77d;background:#ffebb4;color:#000000bf}.card-school-badge--psychic{border-color:#b18aff;background:#d3beff;color:#000000bf}.card-school-badge--dark{border-color:#ab70ff;background:#9477c2;color:#000000bf}.card-school-badge--nature{border-color:#74eba1;background:#a9ffcd;color:#000000bf}.card-school-badge--supernatural{border-color:#5fcbf2;background:#a5e2ff;color:#000000bf}.card-school-badge--basic{border-color:#bdbdbd;background:#fff;color:#000000bf}.card-school-badge--magic{border-color:#5dbfb5;background:#b2ebe4;color:#000000bf}.card-school-badge--demonic{border-color:#e30202;background:#ffb4b4;color:#000000bf}.card-school-badge--blackmagic{border-color:#464646;background:#1e1e1e;color:#ffffffd9}.card-school-badge--angelic{border-color:#dcdcdc;background:#fff;color:#000000bf}.card-body-row{position:relative;width:100%}.card-corruption-indicator{position:absolute;bottom:7px;left:5px;width:12px;height:12px;border-radius:50%;display:block;z-index:5}.card-corruption-indicator--positive{background:#000}.card-corruption-indicator--negative{background:#fff}.card-enemy-intent .card-corruption-indicator{bottom:8px}.card-rarity-pip{position:absolute;bottom:8px;right:8px;width:10px;height:10px;border-radius:50%;border:1.5px solid rgba(0,0,0,.4);box-shadow:0 2px 4px #00000080;z-index:10;pointer-events:none}.card-rarity-pip--common{background:linear-gradient(135deg,#cd7f32,#9a5f26);border-color:#cd7f32cc}.card-rarity-pip--uncommon{background:linear-gradient(135deg,silver,#a8a8a8);border-color:#c0c0c0cc}.card-rarity-pip--rare{background:linear-gradient(135deg,gold,#ffed4e);border-color:#ffd700cc;box-shadow:0 2px 4px #0006,0 0 8px #ffd7004d}.card-rarity-pip--legendary{background:linear-gradient(135deg,#a855f7,#c084fc);border-color:#a855f7cc;box-shadow:0 2px 4px #0006,0 0 8px #a855f766}.card-body-copy{position:absolute;top:10px;left:4px;right:12px;font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-weight:600;font-size:clamp(.52rem,.5rem + .4vw,.75rem);line-height:1.3;white-space:normal;overflow-wrap:anywhere;word-break:break-word;max-width:100%;text-transform:none}.card-type-attack{border-color:#f05a5a}.card-type-defense{border-color:#4ba5f8}.card-type-utility{border-color:#b76bfa}.card-type-default{border-color:#fff3}.card-badges{display:flex;flex-wrap:wrap}.card-badge{font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;padding:.2rem .5rem;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:#ffffff0f}.card-body .card-badge{border-radius:8px}.card-badge-area,.card-badge-any{border-color:#5fb0ff;color:#1d5bbf;background:#97c4ff}.card-badge-other{border-color:#e05c5c;color:#a32020;background:#f4aaaa}.card-badge-self{border-color:#6bd38a;color:#0e5c2c;background:#96e2a4}.map-side-column--deck .card-slot.side-pile{min-height:200px;min-width:140px}.card-pile-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem;box-sizing:border-box}.card-slot.card-modal,.card-pile-modal{background:linear-gradient(180deg,#232634fa,#161822fa);border:1px solid rgba(255,255,255,.15);border-radius:20px;box-shadow:0 20px 60px #0009;width:min(1200px,90vw);max-height:min(800px,85vh);display:flex;flex-direction:column;overflow:hidden}.card-pile-modal__header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0}.card-pile-modal__title{margin:0;font-size:1.5rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#f3f3f3}.card-pile-modal__close{width:40px;height:40px;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#ffffff0d;color:#f3f3f3;font-size:1.75rem;font-weight:300;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.card-pile-modal__close:hover,.card-pile-modal__close:focus-visible{background:#ffffff26;border-color:#fff6;transform:scale(1.05)}.card-pile-modal__body{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding:2rem;position:relative}.card-pile-modal__body::-webkit-scrollbar{width:12px}.card-pile-modal__body::-webkit-scrollbar-track{background:#0000004d;border-radius:0 20px 20px 0}.card-pile-modal__body::-webkit-scrollbar-thumb{background:#fff3;border-radius:6px;border:2px solid transparent;background-clip:padding-box}.card-pile-modal__body::-webkit-scrollbar-thumb:hover{background:#ffffff4d;background-clip:padding-box}.card-pile-modal__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1.5rem;justify-items:center}.card-pile-modal__card-wrapper{width:180px;display:flex;justify-content:center}.card-pile-modal__card{width:100%;pointer-events:none;-webkit-user-select:none;user-select:none}.card-pile-modal__card .card-button{margin:0;cursor:default}.card-pile-modal__card .card-button:hover,.card-pile-modal__card .card-button:focus-visible{transform:none}.card-pile-modal__empty{grid-column:1 / -1;text-align:center;padding:3rem;font-size:1.1rem;color:#ffffff80;text-transform:uppercase;letter-spacing:.1em}.reward-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem;box-sizing:border-box}.reward-modal{background:linear-gradient(180deg,#232634fa,#161822fa);border:1px solid rgba(255,255,255,.15);border-radius:20px;box-shadow:0 20px 60px #0009;width:min(1000px,90vw);max-height:min(700px,85vh);display:flex;flex-direction:column;overflow:hidden}.reward-modal__header{padding:1.5rem 2rem;border-bottom:1px solid rgba(255,255,255,.1);text-align:center}.reward-modal__title{margin:0;font-size:2rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#f3f3f3}.reward-modal__body{flex:1 1 auto;padding:2rem;display:flex;flex-direction:column;align-items:center;gap:1.5rem;overflow-y:auto}.reward-modal__prompt{margin:0;font-size:1.2rem;color:#ffffffb3;text-transform:uppercase;letter-spacing:.1em}.reward-modal__cards{display:grid;grid-template-columns:repeat(3,180px);gap:2rem;justify-content:center;justify-items:center;width:100%;max-width:800px}.reward-modal__card-wrapper{cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.reward-modal__card-wrapper:hover{transform:translateY(-8px)}.reward-modal__card-wrapper .card-slot.choose-card{box-shadow:0 4px 12px #0000004d;transition:box-shadow .2s ease}.reward-modal__card-wrapper:hover .card-slot.choose-card{box-shadow:0 8px 24px #fff3}.reward-modal__divider{margin:.5rem 0;font-size:1.5rem;color:#ffffff80;font-style:italic}.reward-modal__gold{width:100%;max-width:400px}.reward-modal__gold-button{width:100%;padding:1.5rem 2rem;background:linear-gradient(135deg,#d4af37,#f4e4a6);color:#1a1a1a;border:2px solid #d4af37;border-radius:12px;font-size:1.5rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #d4af374d}.reward-modal__gold-button:hover{background:linear-gradient(135deg,#f4e4a6,#d4af37);transform:scale(1.05);box-shadow:0 6px 20px #d4af3780}.reward-modal__selected{animation:pulse-selection .3s ease-in-out}@keyframes pulse-selection{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1.05)}}.side-pile.side-pile--full{cursor:pointer;transition:transform .15s ease,border-color .15s ease}.side-pile.side-pile--full:hover{transform:translateY(-2px);border-color:#ffffff59}.card-slot.choose-card{padding:0;height:290px;width:180px;display:flex;align-items:center;justify-content:center;background:#0003}.card-slot.choose-card .card-button{margin:0;cursor:default}.card-slot.choose-card .card-button:hover{transform:none}.shop-stage{width:100%;height:100%;position:relative;background-image:var(--shop-background-image);background-size:cover;background-position:center;display:flex;overflow:hidden}.shop-content{display:flex;width:100%;height:100%;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);justify-content:center}.shop-frame{display:grid;grid-template-columns:var(--scene-side) var(--scene-main);gap:var(--scene-gap);align-items:stretch}.shop-frame.scene-frame{height:100%;min-height:0}.shop-frame>*{min-width:0}.shop-frame>.shop-main{min-width:0}@media (max-width: 1200px){.shop-frame{grid-template-columns:1fr}}.shop-main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:.6rem 1.1rem .9rem;min-width:0;overflow-y:auto;overflow-x:hidden}.shop-container{background:var(--surface-2);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:.85rem;max-width:1400px;margin:0 auto;width:calc(100% - 3rem);display:flex;flex-direction:column;gap:.85rem;box-shadow:var(--shadow-xl)}.shop-container--traits{margin-top:auto;margin-bottom:auto}.shop-header{text-align:center}.shop-header h2{font-family:var(--font-display);font-size:1.85rem;color:var(--text-1);margin-top:0;margin-bottom:.2rem}.shop-header p{color:var(--text-2);font-style:italic;margin:0}.shop-inventory{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;justify-items:center;min-height:230px}.shop-empty{color:var(--text-muted);font-size:1.5rem;align-self:center;margin:auto;grid-column:1 / -1}.shop-item{display:flex;flex-direction:column;gap:.5rem;align-items:center;background:var(--surface-1);padding:.4rem;border-radius:var(--radius-md);border:1px solid var(--border-dim);transition:transform .2s ease;width:100%;max-width:240px}.shop-item:hover{transform:translateY(-10px);border-color:var(--border-dim);box-shadow:none}.shop-card-visual{transform:scale(.9)}.shop-item-controls{display:flex;flex-direction:column;gap:.5rem;width:100%;align-items:center}.shop-item-price{font-weight:700;color:var(--accent-gold);font-size:1.2rem;display:flex;align-items:center;gap:.25rem}.shop-buy-button{width:100%;padding:.5rem 1rem;background:var(--primary);color:var(--primary-fg);border:none;border-radius:var(--radius-sm);cursor:pointer;font-weight:700;transition:background .2s}.shop-buy-button:hover:not(:disabled){background:var(--primary-hover)}.shop-buy-button:disabled{background:var(--surface-3);color:var(--text-muted);cursor:not-allowed}.shop-footer{display:flex;justify-content:center;padding-top:.75rem;border-top:1px solid var(--border-dim)}.shop-button{padding:.75rem 2rem;background:var(--surface-3);color:var(--text-1);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;font-size:1.1rem;transition:all .2s}.shop-button:hover{background:var(--surface-4);border-color:var(--text-2)}.storekeeper-portrait-container{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:1}.storekeeper-portrait{width:100%;height:100%;object-fit:cover;object-position:center;border-radius:16px;filter:saturate(.9)}.shop-purchase-flare,.shop-gold-splash,.shop-gold-spend-text{position:fixed;pointer-events:none;z-index:1200;transform:translate(-50%,-50%)}.shop-purchase-flare{width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,#ffeb96f2,#ffc24199 36%,#ffaa2826 60%,#ffaa2800 72%);filter:drop-shadow(0 0 18px rgba(255,200,80,.8));mix-blend-mode:screen;animation:shop-purchase-flare .75s ease-out forwards}.shop-purchase-flare:before{content:"";position:absolute;top:12px;right:12px;bottom:12px;left:12px;border-radius:50%;border:2px solid rgba(255,214,90,.8);filter:drop-shadow(0 0 10px rgba(255,214,90,.8));animation:shop-purchase-ring .75s ease-out forwards}.shop-purchase-flare:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:conic-gradient(from 0deg,#ffeba0b3,#ffbe3c33,#ffeba0b3);opacity:.7;animation:shop-purchase-spark .75s ease-out forwards}.shop-gold-splash{width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,#ffeb96e6,#ffc8468c 40%,#ffaa281a 68%,#ffaa2800 78%);filter:drop-shadow(0 0 12px rgba(255,210,90,.85));mix-blend-mode:screen;animation:shop-gold-splash .65s ease-out forwards}.shop-gold-spend-text{font-size:1.05rem;font-weight:700;color:#ffe08a;text-shadow:0 2px 8px rgba(40,25,0,.8);letter-spacing:.04em;animation:shop-gold-spend-text .9s ease-out forwards}.gold-circle--spend{animation:gold-circle-spend .6s ease-out}@keyframes shop-purchase-flare{0%{opacity:0;transform:translate(-50%,-50%) scale(.6)}30%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}to{opacity:0;transform:translate(-50%,-50%) scale(1.35)}}@keyframes shop-purchase-ring{0%{opacity:.7;transform:scale(.7)}to{opacity:0;transform:scale(1.2)}}@keyframes shop-purchase-spark{0%{opacity:.6;transform:scale(.8) rotate(0)}to{opacity:0;transform:scale(1.2) rotate(90deg)}}@keyframes shop-gold-splash{0%{opacity:0;transform:translate(-50%,-50%) scale(.7)}35%{opacity:1;transform:translate(-50%,-50%) scale(1.05)}to{opacity:0;transform:translate(-50%,-50%) scale(1.25)}}@keyframes shop-gold-spend-text{0%{opacity:0;transform:translate(-50%,-35%) scale(.9)}30%{opacity:1;transform:translate(-50%,-70%) scale(1)}to{opacity:0;transform:translate(-50%,-110%) scale(1.05)}}@keyframes gold-circle-spend{0%{transform:scale(1);box-shadow:0 0 20px #ffd7004d,inset 0 0 20px #fff3}45%{transform:scale(1.18);box-shadow:0 0 28px #ffd700b3,inset 0 0 24px #ffffff59}to{transform:scale(1);box-shadow:0 0 20px #ffd7004d,inset 0 0 20px #fff3}}:root{--game-width: 1600;--game-height: 900;--game-aspect: calc(var(--game-width) / var(--game-height));--viewport-height: 100vh;--scene-side: 544px;--scene-main: 736px;--scene-gap: 1.5rem;--scene-width: calc(var(--scene-side) + var(--scene-main) + var(--scene-gap))}.root{color-scheme:dark;font-family:var(--font-primary);color:#f3f3f3}body{margin:0;font-family:var(--font-primary);display:flex;justify-content:center;align-items:center;height:var(--viewport-height);min-height:var(--viewport-height);background-color:#0f0f12;background-image:radial-gradient(#1f1f25 1px,transparent 1px);background-size:24px 24px;overflow:hidden}#game-frame{width:min(100vw,calc(var(--viewport-height) * var(--game-aspect)));height:min(var(--viewport-height),calc(100vw / var(--game-aspect)));display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}#app{padding:12px;position:absolute;left:0;top:0;width:calc(var(--game-width) * 1px);height:calc(var(--game-height) * 1px);display:flex;flex-direction:column;transform-origin:top left;will-change:transform;box-sizing:border-box;overflow:hidden;background-color:#0a0015}.menu-atmosphere{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0;overflow:hidden;background:url(./knighted-Dn31l3rB.png) center / cover no-repeat,radial-gradient(circle at 70% 20%,#12142080,#0a0015f2),linear-gradient(315deg,#0a0015,#2e0854,#0a0015)}.menu-atmosphere:before{content:"";position:absolute;top:0;bottom:0;left:-50%;right:-50%;pointer-events:none;z-index:1;opacity:.12;background-image:repeating-linear-gradient(-60deg,#b0d68fe6,#b0d68fe6 6%,#57aaebe6 6%,#57aaebe6 14%,#b0d68fbf 14%,#b0d68fbf 22%,#57aaebd9 22%,#57aaebd9 32%);background-size:160% 160%;animation:slide-beams 20s ease-in-out infinite alternate;mix-blend-mode:screen}.menu-atmosphere__layer{position:absolute;top:0;bottom:0;left:-50%;right:-50%;pointer-events:none;z-index:1;opacity:.08;mix-blend-mode:screen}.menu-atmosphere__layer--secondary{background-image:repeating-linear-gradient(-20deg,#78b4ffd9,#78b4ffd9 4%,#ffe6b4b3 4%,#ffe6b4b3 9%,#78b4ffd9 9%,#78b4ffd9 16%);background-size:200% 200%;animation:slide-beams-secondary 28s ease-in-out infinite alternate-reverse}.menu-atmosphere:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:2;background:none}@media (prefers-reduced-motion: reduce){.water-layer{animation:none}.menu-atmosphere:before{animation:none}}@keyframes gradient{0%{background-position:0% 0%}50%{background-position:100% 100%}to{background-position:0% 0%}}@keyframes slide-beams{0%{transform:translate(-25%)}to{transform:translate(25%)}}@keyframes slide-beams-secondary{0%{transform:translate(20%) translateY(-6%)}to{transform:translate(-20%) translateY(6%)}}@keyframes wave{2%{transform:translate(1)}25%{transform:translate(-25%)}50%{transform:translate(-50%)}75%{transform:translate(-25%)}to{transform:translate(1)}}.menu-screen{position:relative;z-index:2;flex:1;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;padding-right:calc(clamp(2rem,6vw,6rem) + 64px);gap:1.5rem}.menu-panel{width:min(480px,90vw);padding:clamp(1.5rem,4vw,3rem);border-radius:24px;background:#060609d9;box-shadow:0 20px 45px #0006,inset 0 0 24px #ffffff0a;text-align:center;margin-top:-96px}.menu-title{font-size:clamp(1.75rem,4vw,2.5rem);margin-bottom:.25rem}.menu-subtitle{color:#9e9eac;font-size:1rem;margin-bottom:2rem}.menu-actions{display:flex;flex-direction:column;gap:.75rem}.menu-wordmark{display:block;width:min(612px,76.5vw);height:auto;margin:0 auto 1.5rem}.menu-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);margin:.25rem 0}.menu-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.menu-button{padding:.9rem 1.25rem;font-size:1rem;border-radius:999px;border:1px solid rgba(255,255,255,.25);background:#ffffff14;color:#f3f3f3;font-weight:600;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.menu-button--square{aspect-ratio:1 / 1;border-radius:16px;padding:.75rem;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;line-height:1.2;font-size:.9rem;gap:.5rem}.menu-button__icon{width:26px;height:26px;filter:brightness(0) invert(1)}.menu-button:disabled{opacity:.4;cursor:not-allowed}.menu-button:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 12px 28px #00000059}.menu-button--primary{background:linear-gradient(120deg,#f361dc,#649bff);border-color:transparent}.settings-screen{position:relative;z-index:2;flex:1;display:flex;align-items:center;justify-content:center;padding:2rem}.settings-panel{width:min(860px,92vw);padding:clamp(1.5rem,3vw,3rem);border-radius:24px;background:#060609e0;box-shadow:0 20px 45px #0006,inset 0 0 24px #ffffff0a;display:flex;flex-direction:column;gap:1.5rem}.settings-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.settings-kicker{margin:0;letter-spacing:.16em;text-transform:uppercase;color:#7fa7ff;font-size:.8rem}.settings-title{margin:.15rem 0 0;font-size:clamp(1.6rem,3vw,2.2rem)}.settings-subtitle{margin:.5rem 0 0;color:#9e9eac}.settings-actions{display:flex;gap:.5rem}.settings-list{display:flex;flex-direction:column;gap:1rem}.settings-item{border-radius:18px;padding:1rem 1.25rem;border:1px solid rgba(255,255,255,.08);background:#ffffff0a}.settings-item--danger{border-color:#ff8c8c59;background:#46121240}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.settings-label{display:flex;flex-direction:column;gap:.3rem}.settings-name{font-weight:700;font-size:1rem}.settings-note{color:#9e9eac;font-size:.85rem}.settings-controls{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;justify-content:flex-end}.settings-slider{width:min(260px,60vw);accent-color:#ff9f6d;height:14px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;--slider-fill: 50%;--slider-fill-color: #d7d7d7;--slider-track-color: rgba(255, 255, 255, .15)}.settings-slider:disabled{opacity:.45;cursor:not-allowed;accent-color:#9a6b54}.settings-slider::-webkit-slider-runnable-track{height:14px;border-radius:999px;background:linear-gradient(to right,var(--slider-fill-color) 0%,var(--slider-fill-color) var(--slider-fill),var(--slider-track-color) var(--slider-fill),var(--slider-track-color) 100%)}.settings-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:30px;height:30px;border-radius:50%;background:#ff9f6d;border:2px solid rgba(6,6,9,.6);margin-top:-8px}.settings-slider:disabled::-webkit-slider-thumb{background:#9a6b54}.settings-slider::-moz-range-track{height:14px;border-radius:999px;background:var(--slider-track-color)}.settings-slider::-moz-range-thumb{width:30px;height:30px;border-radius:50%;background:#ff9f6d;border:2px solid rgba(6,6,9,.6)}.settings-slider:disabled::-moz-range-thumb{background:#9a6b54}.settings-slider::-moz-range-progress{height:14px;border-radius:999px;background:var(--slider-fill-color)}.settings-toggle{padding:.6rem 1.1rem;font-size:.9rem}.settings-toggle-switch{position:relative;width:56px;height:30px;display:inline-flex;align-items:center}.settings-toggle-input{position:absolute;width:100%;height:100%;opacity:0;margin:0;cursor:pointer}.settings-toggle-slider{position:relative;width:100%;height:100%;border-radius:999px;background:#ffffff1f;border:1px solid rgba(255,255,255,.25);transition:background .15s ease,border-color .15s ease}.settings-toggle-slider:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#f3f3f3;transition:transform .15s ease}.settings-toggle-input:focus-visible+.settings-toggle-slider{box-shadow:0 0 0 3px #7fa7ff59}.settings-toggle-input:checked+.settings-toggle-slider{background:linear-gradient(120deg,#ff9f6d,#ff6b6b);border-color:transparent}.settings-toggle-input:checked+.settings-toggle-slider:after{transform:translate(26px)}.settings-reset-button{background:linear-gradient(120deg,#ff9f6d,#ff6b6b);border-color:transparent;color:#2c0d0d}.settings-item--actions{display:flex;gap:1rem;padding-top:.5rem}.settings-item--actions .menu-button{flex:1}.settings-quit-button{background:linear-gradient(120deg,#ff9f6d,#ff6b6b);border-color:transparent;color:#2c0d0d}.settings-version{margin:1rem 0 0;font-size:.75rem;color:#ffffff59;text-align:center;letter-spacing:.05em}.settings-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10100;padding:2rem;box-sizing:border-box}.settings-modal{background:linear-gradient(180deg,#232634fa,#161822fa);border:1px solid rgba(255,255,255,.15);border-radius:20px;box-shadow:0 20px 60px #0009;width:min(500px,90vw);max-height:min(600px,85vh);display:flex;flex-direction:column;overflow:hidden}.settings-modal__header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0}.settings-modal__title{margin:0;font-size:1.5rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#f3f3f3}.settings-modal__close{width:40px;height:40px;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#ffffff0d;color:#f3f3f3;font-size:1.75rem;font-weight:300;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.settings-modal__close:hover,.settings-modal__close:focus-visible{background:#ffffff26;border-color:#fff6;transform:scale(1.05)}.settings-modal__body{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding:1.5rem 2rem 2rem}.settings-modal__body::-webkit-scrollbar{width:12px}.settings-modal__body::-webkit-scrollbar-track{background:#0000004d;border-radius:0 20px 20px 0}.settings-modal__body::-webkit-scrollbar-thumb{background:#fff3;border-radius:6px;border:2px solid transparent;background-clip:padding-box}.settings-modal__body::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.settings-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10200;padding:2rem;box-sizing:border-box}.settings-confirm{background:linear-gradient(180deg,#2d303efa,#1c1e28fa);border:1px solid rgba(255,255,255,.15);border-radius:16px;box-shadow:0 16px 48px #00000080;padding:2rem;text-align:center;max-width:360px}.settings-confirm__title{margin:0 0 .5rem;font-size:1.25rem;font-weight:600;color:#f3f3f3}.settings-confirm__desc{margin:0 0 1.5rem;font-size:.95rem;color:#ffffffb3;line-height:1.4}.settings-confirm__actions{display:flex;gap:1rem;justify-content:center}.settings-confirm__yes{background:linear-gradient(120deg,#ff9f6d,#ff6b6b);border-color:transparent;color:#2c0d0d}.reset-confirm-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10300;display:flex;align-items:center;justify-content:center}.reset-confirm-modal[hidden]{display:none}.reset-confirm-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.reset-confirm-dialog{position:relative;background:linear-gradient(180deg,#2d303efa,#1c1e28fa);border:1px solid rgba(255,255,255,.15);border-radius:16px;box-shadow:0 16px 48px #00000080;padding:2rem;text-align:center;max-width:400px}.reset-confirm-title{margin:0 0 .75rem;font-size:1.35rem;font-weight:600;color:#f3f3f3}.reset-confirm-text{margin:0 0 1.5rem;font-size:.95rem;color:#ffffffb3;line-height:1.5}.reset-confirm-actions{display:flex;gap:1rem;justify-content:center}.reset-confirm-no{min-width:80px}.reset-confirm-yes{min-width:80px;background:linear-gradient(120deg,#ff9f6d,#ff6b6b);border-color:transparent;color:#2c0d0d}.debug-screen{flex:1;display:flex;flex-direction:column;gap:1rem;min-height:0;height:100%;max-width:1400px;margin:0 auto;width:calc(100% - 3rem);border-radius:24px;padding:clamp(1.5rem,3vw,2.5rem);background:linear-gradient(140deg,#060609e0,#0c0c10eb);box-shadow:0 20px 45px #0006,inset 0 0 24px #ffffff0a}.debug-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.debug-kicker{margin:0;letter-spacing:.16em;text-transform:uppercase;color:#7fa7ff;font-size:.8rem}.debug-title{margin:.15rem 0;font-size:clamp(1.4rem,3vw,2rem)}.debug-lede{margin:0;color:#9e9eac}.debug-actions{display:flex;gap:.5rem}.debug-list{flex:1;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;overflow-x:hidden;overflow-y:auto;padding:.25rem;min-height:0;max-height:100%}.debug-list:focus-visible{outline:2px solid rgba(127,167,255,.8);outline-offset:4px}.debug-enemy{position:relative;background:linear-gradient(160deg,#06060980,#0a0a0e40),var(--debug-enemy-portrait, none);background-size:cover;background-position:center;border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:1.2rem 1rem;min-height:320px;color:inherit;text-align:left;display:flex;flex-direction:column;gap:.6rem;transition:transform .14s ease,border-color .14s ease,background .14s ease}.debug-enemy:hover{transform:translateY(-2px);border-color:#7fa7ff99;background:linear-gradient(160deg,#06060959,#0a0a0e26),var(--debug-enemy-portrait, none);background-size:cover;background-position:center}.debug-enemy__title{font-weight:700;font-size:2rem;line-height:1.1;min-height:2.2em;margin-bottom:.35rem}.debug-enemy__meta{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.35rem}.debug-enemy__types{color:#ebebf2e6;font-size:.95rem;letter-spacing:.04em;text-transform:uppercase}.debug-enemy__actions{display:flex;flex-direction:column;gap:.5rem;margin-top:auto;position:relative;z-index:2}.debug-enemy__action{border:1px solid rgba(200,200,210,.45);border-radius:6px;padding:.45rem .9rem;background:#dcdce6;color:#e6e6ee;display:inline-flex;align-items:center;gap:.45rem;font-size:.85rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.debug-enemy__action:hover{transform:translateY(-1px);box-shadow:0 10px 20px #0000004d;background:#f0f0f559}.debug-enemy__action--battle{background:#e6e6eb;border-color:#d2d2dcb3;color:#15151a}.debug-enemy__action--view{background:#6e6e78;border-color:#82828c;color:#f5f5f7}.debug-enemy__action-icon{width:1rem;height:1rem;display:inline-flex;align-items:center;justify-content:center}.debug-enemy__action-icon svg{width:100%;height:100%;fill:currentColor}.debug-enemy__gimmick{margin:0;color:#b8b8c7;font-size:.95rem;line-height:1.35}.debug-pill{padding:.2rem .5rem;border-radius:999px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);font-size:.85rem}.debug-pill--rarity{border-radius:12px;background:#ffffff24;border-color:#fff3}.debug-pill--school{border-radius:10px;background:linear-gradient(0deg,#0a0a0e8c,#0a0a0e8c),var(--school-color, rgba(255, 255, 255, .1));border-color:var(--school-color, rgba(255, 255, 255, .18));color:#f3f3f3}.debug-enemy--locked{position:relative;background:#32323c}.debug-enemy--locked:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--debug-enemy-portrait, none);background-size:cover;background-position:center;filter:brightness(0);opacity:.7;border-radius:inherit;pointer-events:none;z-index:0}.debug-enemy--locked>*{position:relative;z-index:1}.debug-enemy--locked .debug-enemy__title,.debug-enemy--locked .debug-enemy__types{color:#c8c8d280}.debug-enemy--locked:hover{transform:none;border-color:#ffffff14;background:#32323c}.debug-enemy__actions--locked{display:flex;justify-content:center;margin-top:auto}.debug-enemy__locked-label{color:#b4b4be99;font-size:.85rem;font-style:italic;text-transform:uppercase;letter-spacing:.06em}.map-view{display:flex;flex-direction:column;flex:1;height:100%;min-height:0;max-width:1400px;margin:0 auto;width:calc(100% - 3rem)}.map-controls{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:flex-end}.map-button{border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:.6rem 1.4rem;background:#ffffff0d;color:#f5f5ff;cursor:pointer;font-size:.9rem;font-weight:600;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.map-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 28px #00000059}.map-button:disabled{opacity:.4;cursor:not-allowed}.map-button--primary{background:linear-gradient(120deg,#7f5dff,#52c2ff);border-color:transparent;color:#0b0b11}.map-stage{flex:1;display:grid;grid-template-columns:var(--scene-side) var(--scene-main);gap:1.5rem;align-items:stretch;height:100%;min-height:0;background:radial-gradient(circle at center,#0000,#00000073 60%,#000000bf),linear-gradient(#18181880,#18181880),var(--map-stage-background-image, url(./slate-BJ8Y5h_6.png));background-repeat:repeat;background-position:center top;background-size:auto}@media (max-width: 1200px){.map-stage{grid-template-columns:1fr}}.map-side-panel{display:grid;grid-template-columns:150px 364px;grid-template-rows:auto auto 1fr;height:100%;row-gap:1rem;column-gap:1.5rem}@media (max-width: 900px){.map-side-panel{grid-template-columns:1fr;grid-template-rows:auto}}.map-side-column{background:#08080c00;display:flex;justify-content:right;width:100%}.map-side-column--portrait{align-items:flex-start;align-self:flex-start;height:auto;flex-direction:column;gap:8px}.map-side-column--menu-button{grid-column:1;grid-row:2;justify-content:right;align-items:flex-start;padding-bottom:12px}.map-side-column--deck{grid-column:1;grid-row:3;justify-content:right}.map-side-column--background{grid-column:2;grid-row:2 / 4;background-size:cover;background-position:center;background-repeat:no-repeat;background-origin:border-box;background-clip:border-box;border-radius:18px;border:2px solid rgba(255,255,255,.2);overflow:hidden;margin-bottom:24px;max-width:346px;justify-self:left;width:100%;box-sizing:border-box;position:relative;display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding-top:16px;padding-bottom:16px}.map-side-column--background:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at center,transparent 20%,rgba(0,0,0,.85) 100%);pointer-events:none;border-radius:16px;z-index:0}.background-act-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1;text-align:center;font-size:1.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#ffffffe6;text-shadow:0 2px 4px rgba(0,0,0,.8);white-space:nowrap}.background-seed-label{position:absolute;bottom:16px;left:50%;transform:translate(-50%);z-index:1;text-align:center;font-size:.65rem;color:#969696cc;text-shadow:0 1px 2px rgba(0,0,0,.6)}@media (max-width: 900px){.map-side-column--menu-button,.map-side-column--deck{grid-column:auto;grid-row:auto}.map-side-column--background{display:none}}#app.fixed-layout .map-stage{grid-template-columns:var(--scene-side) var(--scene-main);justify-content:center}#app.fixed-layout .map-side-panel{grid-template-columns:150px 364px;grid-template-rows:auto auto 1fr}#app.fixed-layout .map-side-column--menu-button{grid-column:1;grid-row:2}#app.fixed-layout .map-side-column--deck{grid-column:1;grid-row:3}#app.fixed-layout .map-side-column--background{display:flex}.deck-overview{width:100%;aspect-ratio:1 / 1;border-radius:18px;height:350px;border:1px dashed rgba(255,255,255,.18);background:#ffffff08;display:flex;align-items:center;justify-content:center;color:#fffc;text-transform:uppercase;letter-spacing:.08em;font-size:.85rem}.map-empty-state{margin:0;color:#a3a3b8;font-style:italic}.act-choice{flex:1;display:flex;flex-direction:column;gap:1rem;background:#08080cd9;border-radius:24px;padding:clamp(1.5rem,3vw,2.5rem);box-shadow:0 20px 45px #0006,inset 0 0 24px #ffffff0a}.act-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.act-choice-card{border-radius:20px;padding:1rem;border:1px solid rgba(255,255,255,.12);background:#ffffff08;display:flex;flex-direction:column;gap:.6rem}.act-choice-label{text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;color:#a3a3b8}.victory-screen{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;border-radius:24px;background:linear-gradient(135deg,#32264e,#0d0d10);box-shadow:0 30px 70px #00000073}.map-grid{--map-grid-padding: 50px;--map-vertical-margin: 40px;--map-horizontal-margin: 40px;position:relative;width:min(780px,100%);height:100%;max-height:100%;background:#00000040;overflow-x:hidden;overflow-y:auto}.map-grid-surface{position:relative;width:100%;min-height:max(var(--map-grid-height, 720px),100%);height:auto;padding:var(--map-grid-padding);padding-top:calc(var(--map-grid-padding) + var(--map-vertical-margin));padding-bottom:calc(var(--map-grid-padding) + var(--map-vertical-margin));padding-left:calc(var(--map-grid-padding) + var(--map-horizontal-margin));padding-right:calc(var(--map-grid-padding) + var(--map-horizontal-margin));box-sizing:border-box;--map-grid-inner-vertical: calc(var(--map-grid-padding) + var(--map-vertical-margin));--map-grid-inner-horizontal: calc(var(--map-grid-padding) + var(--map-horizontal-margin));background:var(--map-grid-background-image, url(/assets/backgrounds/map/Crypt/bg.jpeg));background-size:auto;background-position:center top;background-repeat:repeat-y}.map-edge-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}.map-edge-line{stroke:#fff3;stroke-width:2px;transition:stroke .2s ease,opacity .2s ease;stroke-linecap:round}.map-edge-line--secret{stroke-dasharray:6 6}.map-edge-line--traversed{stroke:#64a2ff;stroke-width:8px;opacity:1;filter:drop-shadow(0 0 10px rgba(100,162,255,.65))}.map-floor-layout{position:relative;z-index:1;display:flex;flex-direction:column;gap:1rem}.map-floor-row,.map-floor-edge-row{display:grid;grid-template-columns:repeat(var(--floor-columns, 1),minmax(0,1fr));gap:1rem;align-items:center}.map-floor-cell{min-height:72px;display:flex;align-items:center;justify-content:center}.map-floor-cell--empty{visibility:hidden}.map-floor-edge-row{height:48px}.map-floor-edge-cell{display:flex;align-items:center;justify-content:center}.map-floor-edge-line{width:6px;height:100%;border-radius:999px;background:#fff3;opacity:.4;transition:opacity .2s ease,background .2s ease}.map-floor-edge-line--active{background:#ffffffd9;opacity:.85}.map-floor-edge-line--traversed{background:#64a2ffd9;opacity:1}.map-node-chip{--map-node-size: 42px;width:var(--map-node-size);height:var(--map-node-size);min-width:var(--map-node-size);min-height:var(--map-node-size);inline-size:var(--map-node-size);block-size:var(--map-node-size);aspect-ratio:1 / 1;flex:none;box-sizing:border-box;padding:0;margin:0;border-radius:10px;border:2px solid #4f4f5b;background:#2f2f37;color:#f3f3f3;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;text-transform:uppercase;line-height:1;-moz-appearance:none;appearance:none;-webkit-appearance:none;transition:background .15s ease,border-color .15s ease,opacity .15s ease}.map-node-chip--hidden{opacity:.08;pointer-events:none}.map-node-chip--unreachable{filter:grayscale(.75) brightness(.6)}.map-node-chip--current{background:#fff;border-color:#fff;color:#0b0b10;box-shadow:0 0 0 3px #ffffff80}.map-node-chip--completed{border-color:#d4d6df;background:#eef1f6;color:#1b1b21}.map-node-chip--pending{border-color:#ffffffd9;color:#0b0b10}.map-node-chip--visited{border-color:#c6cad4;background:#dadfe8;color:#1f1f26}.map-node-chip--selectable{cursor:pointer;transition:background .15s ease,border-color .15s ease,opacity .15s ease,transform .2s ease}.map-node-chip--selectable:hover{transform:scale(1.15)}.map-node-chip--selectable:hover .map-node-icon{transform:scale(1.2)}.map-node-chip--selectable:focus-visible{outline:2px solid #9fd2ff;outline-offset:2px}.map-node-chip--type-battle,.map-node-chip--type-elite-battle{background:#f54848;border-color:#f54848;color:#140202}.map-node-chip--type-shop{background:#f8c35e;border-color:#f8c35e;color:#221504}.map-node-chip--type-event{background:#62d074;border-color:#62d074;color:#041c09}.map-node-chip--type-rest{background:#4cc9d9;border-color:#4cc9d9;color:#021e24}.map-node-chip--type-secret{background:#c281ff;border-color:#c281ff;color:#1f0528}.map-node-chip--type-boss{background:#7e1126;border-color:#7e1126;color:#ffe6ec}.map-node-icon{width:70%;height:70%;max-width:100%;max-height:100%;object-fit:contain;pointer-events:none;transition:transform .2s ease}.arena-grid{display:flex;flex-direction:column;align-items:center;flex:1;min-height:0;width:100%;background-image:var(--battle-background-image, url(./Hallway-DqtXg-yc.jpeg));background-size:cover;background-position:center;background-repeat:no-repeat;padding:24px;box-shadow:inset 0 0 120px #00000059;position:relative;overflow:hidden}.arena-grid:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at center,#18181e8c,#0f0f14bf 60%,#060609eb);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none;z-index:0}.arena-grid>*{position:relative;z-index:1}.arena-grid[data-turn-locked=true]{pointer-events:none;-webkit-user-select:none;user-select:none}.arena-grid[data-turn-locked=true] .hand-cards .card-button{opacity:1;filter:grayscale(1) brightness(.65)}.status-row{display:grid;grid-template-columns:150px 320px 180px 320px 150px;gap:16px;align-items:stretch}.status-row>*:nth-child(1){grid-column:1}.status-row>*:nth-child(2){grid-column:2}.status-row>*:nth-child(3){grid-column:3}.status-row>*:nth-child(4){grid-column:4}.status-row>*:nth-child(5){grid-column:5}.status-control{display:flex;align-items:center;justify-content:center}.status-control button{border-radius:999px;padding:.6rem 1.7rem;border:1px solid rgba(255,255,255,.4);background:#ffffff1a;color:#fff;font-weight:600;text-transform:uppercase;letter-spacing:.08em;transition:opacity .2s ease,filter .2s ease,box-shadow .2s ease}.status-control button:disabled,.status-control button.status-control__button--locked{opacity:.45;filter:grayscale(1);cursor:not-allowed}.stat-chip{border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:.8rem 1rem;text-align:center;text-transform:uppercase;letter-spacing:.08em;background:#ffffff0a}.arousal-bar{border-radius:12px;padding:.2rem 0;position:relative;width:100%;min-width:120px}.resolve-bar{border-radius:12px;padding:.2rem 0;position:relative}.arousal-track{position:relative;height:18px;border-radius:999px;background:#0006;overflow:hidden}.resolve-pips{display:flex;gap:8px;justify-content:center;align-items:center;padding:4px 0}.resolve-pip{width:16px;height:16px;border-radius:50%;transition:background-color .2s ease,border-color .2s ease;border:1px solid rgba(255,255,255,.3)}.resolve-pip--filled{background-color:#fffffff2;border-color:#fffffff2}.resolve-pip--empty{background-color:#000c;border-color:#ffffff4d}.arousal-fill{position:absolute;top:0;bottom:0;background:linear-gradient(90deg,#f39,#f6f);transition:width .2s ease}.arousal-track[data-direction=right] .arousal-fill{right:0}.arousal-track[data-direction=left] .arousal-fill{left:0}.battlefield{display:grid;grid-template-columns:150px 320px 180px 320px 150px;gap:16px;align-items:stretch}.pillar{display:flex;flex-direction:column;gap:clamp(1.85rem,2vh,1.2rem);width:100%;max-width:150px}.pillar-head{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.5rem,1vw,.85rem);align-items:stretch}.pillar-player .pillar-head{grid-template-columns:auto 1fr}.pillar-enemy .pillar-head{grid-template-columns:1fr auto}.pillar-cell{display:flex;justify-content:center;align-items:stretch}.pillar-statuses{align-items:stretch}.status-panel{display:flex;flex-wrap:wrap;gap:.35rem;align-content:flex-start;width:100%;min-height:48px;padding:.4rem;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:#0a0a0ea6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);position:relative;z-index:5}.status-panel.status-panel-empty{justify-content:center;align-items:center;color:#fff9;font-size:.85rem}.status-panel.status-panel-empty span{padding:.35rem .5rem}.status-token{position:relative;display:inline-flex;flex:none}.status-tick-flare{position:absolute;top:-10px;left:50%;transform:translate(-50%);background:#000000bf;border:1px solid rgba(255,255,255,.6);border-radius:10px;padding:4px 8px;font-size:1.5rem;font-weight:900;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.7);opacity:.95;transition:transform 1.2s ease,opacity 1.6s ease;pointer-events:none;z-index:10}.status-tick-flare.fade-out{opacity:0;transform:translate(-50%,-12px)}.status-token-face{width:36px;height:36px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#ffffff0d;display:flex;justify-content:center;align-items:center;cursor:default;padding:0;color:inherit;position:relative;overflow:visible;transition:border-color .12s ease,box-shadow .12s ease}.status-token-face:hover,.status-token-face:focus-visible{border-color:#f6c56f;box-shadow:0 0 12px #f6c56f59}.status-art{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}.status-art img{width:100%;height:100%;object-fit:cover}.status-fallback{font-size:.8rem;font-weight:600;letter-spacing:.04em}.status-stack{position:absolute;bottom:-.2rem;right:-.2rem;background:linear-gradient(135deg,#f45287,#f9aa5a);color:#fff;font-size:.75rem;padding:.15rem .4rem;border-radius:999px;font-weight:700;box-shadow:0 0 6px #00000073}.pillar-health{justify-content:center}.pillar-player .pillar-health{justify-content:flex-start;align-items:stretch}.pillar-enemy .pillar-health{justify-content:flex-end;align-items:stretch}.pillar-foot{display:flex;flex-direction:column;gap:clamp(.5rem,1vw,.85rem)}.pillar-foot--enemy{align-items:center;margin-top:auto}.battle-log-button{width:100%;max-width:140px;padding:.65rem .75rem;font-size:.85rem;letter-spacing:.1em}.battle-log-row{position:absolute;bottom:24px;left:24px;right:24px;width:calc(100% - 48px);max-width:1184px;margin:0 auto;display:flex;justify-content:center;box-sizing:border-box;min-height:0}.battle-log-row .battle-log{width:100%;max-width:100%;box-sizing:border-box}.battle-log{border:1px solid rgba(255,255,255,.15);border-radius:12px;background:#2a3545;height:clamp(100px,12vh,180px);display:flex;flex-direction:column;overflow:hidden}.battle-log__messages{flex:1;overflow-y:auto;overflow-x:hidden;padding:.5rem .6rem;display:flex;flex-direction:column;gap:.15rem}.battle-log--modal{height:100%;max-height:none;flex:1}.battle-log-modal__body{display:flex;flex-direction:column;min-height:320px}.battle-log__entry{font-size:.65rem;line-height:1.2;color:#ffffffd9;text-transform:lowercase;letter-spacing:.02em;font-family:var(--font-mono)}.battle-log--empty{display:flex;align-items:center;justify-content:center;font-size:.7rem;color:#ffffff80;text-transform:uppercase}.battle-log__messages::-webkit-scrollbar{width:6px}.battle-log__messages::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.battle-log__messages::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.battle-log__messages::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.battle-log__entry .log-name{color:#999;font-weight:700}.battle-log__entry .log-damage{color:#f44;font-weight:700}.battle-log__entry .log-heal{color:#4f8;font-weight:700}.battle-log__entry .log-repressed{color:#fa4;font-weight:700}.battle-log__entry .log-ondraw{color:#4df;font-weight:700}.battle-log__entry .log-arousal-increase{color:#f6f;font-weight:700}.battle-log__entry .log-arousal-decrease{color:#4ff;font-weight:700}.battle-log__entry .log-status-positive{color:gold;font-weight:700}.battle-log__entry .log-status-negative{color:#b6f;font-weight:700}.battle-log__entry .log-neutral{color:#fff;font-weight:700}.inventory-button{border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:.75rem 1rem;min-height:60px;min-width:96px;flex:1;background:#ffffff08;text-transform:uppercase;font-size:.85rem;letter-spacing:.08em;display:flex;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer;color:#f3f3f3;font-weight:500;transition:all .2s ease}.inventory-button:hover,.inventory-button:focus-visible{background:#ffffff14;border-color:#ffffff4d;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.inventory-controls{display:flex;align-items:center;gap:.75rem}.gold-circle{width:60px;height:60px;border-radius:50%;background:radial-gradient(circle at 30% 30%,gold,orange);border:2px solid rgba(255,215,0,.5);box-shadow:0 0 20px #ffd7004d,inset 0 0 20px #fff3;display:flex;align-items:center;justify-content:center;flex-shrink:0}.gold-amount{color:#1a1a1a;font-size:1.1rem;font-weight:700;text-shadow:0 1px 2px rgba(255,255,255,.5)}.inventory-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem;box-sizing:border-box}.inventory-modal{background:linear-gradient(180deg,#232634fa,#161822fa);border:1px solid rgba(255,255,255,.15);border-radius:20px;box-shadow:0 20px 60px #0009;width:min(900px,90vw);max-height:min(700px,85vh);display:flex;flex-direction:column;overflow:hidden}.inventory-modal__header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0}.inventory-modal__title{margin:0;font-size:1.5rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#f3f3f3}.inventory-modal__gold{font-size:1.1rem;font-weight:500;color:#ffa947;text-transform:uppercase;letter-spacing:.05em}.inventory-modal__close{width:40px;height:40px;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#ffffff0d;color:#f3f3f3;font-size:1.75rem;font-weight:300;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.inventory-modal__close:hover,.inventory-modal__close:focus-visible{background:#ffffff26;border-color:#fff6;transform:scale(1.05)}.inventory-modal__body{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding:2rem;position:relative}.inventory-modal__body::-webkit-scrollbar{width:12px}.inventory-modal__body::-webkit-scrollbar-track{background:#0000004d;border-radius:0 20px 20px 0}.inventory-modal__body::-webkit-scrollbar-thumb{background:#fff3;border-radius:6px;border:2px solid transparent;background-clip:padding-box}.inventory-modal__body::-webkit-scrollbar-thumb:hover{background:#ffffff4d;background-clip:padding-box}.inventory-modal__grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem;max-width:100%}.inventory-slot{aspect-ratio:1 / 1;border:2px solid rgba(255,255,255,.15);border-radius:12px;background:#ffffff08;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.5rem;box-sizing:border-box;position:relative;transition:all .2s ease}.inventory-slot--empty{border-style:dashed;border-color:#ffffff1a;background:#0003}.inventory-slot--filled{border-color:#ffffff40;background:linear-gradient(135deg,#ffffff14,#ffffff0a)}.inventory-slot--droppable{cursor:pointer;border-color:#ff64644d}.inventory-slot--droppable:hover{background:linear-gradient(135deg,#ff646426,#ff646414);border-color:#ff646480;transform:scale(1.05);box-shadow:0 4px 12px #ff646433}.inventory-slot--unknown{border-color:#ffc80066;background:linear-gradient(135deg,#ffc8001a,#ffc8000d)}.inventory-slot__image{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.inventory-slot__name{font-size:.75rem;font-weight:500;text-align:center;text-transform:uppercase;letter-spacing:.05em;color:#f3f3f3;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.inventory-slot__badge{position:absolute;top:4px;right:4px;background:#000c;color:#ffa947;font-size:.7rem;font-weight:600;padding:2px 6px;border-radius:6px;border:1px solid rgba(255,169,71,.4);line-height:1}.inventory-modal__help{margin-top:1.5rem;text-align:center;font-size:.85rem;color:#ffffff80;text-transform:uppercase;letter-spacing:.08em}.character-column{display:flex;align-items:flex-end;justify-content:center}.effect-column{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:16px;width:min(250px,100%)}.effect-column>.card-button{width:180px}.effect-column>.intent-placeholder{width:100%}.card-enemy-intent{position:relative;transition:transform .2s ease,box-shadow .2s ease;will-change:transform}.card-enemy-intent--animating{box-shadow:0 12px 32px #00000059;transition:transform .5s ease,box-shadow .5s ease}.card-enemy-intent--animating[data-attack-dir=left]{transform:translate(-140px) scale(1.03)}.card-enemy-intent--animating[data-attack-dir=right]{transform:translate(140px) scale(1.03)}.card-enemy-intent--animating[data-attack-dir=down]{transform:translateY(120px) scale(1.02)}.card-enemy-intent-ghost{box-shadow:0 20px 40px #ff646499,0 0 30px #ff323266;border-color:#ff9696!important;filter:brightness(1.2) saturate(1.3);will-change:transform,opacity}.card-enemy-intent--ghosting{opacity:.3;filter:brightness(.7);transform-origin:center center}.card-transfer-ghost{pointer-events:none;margin:0}.card-transfer-ghost--back{border-radius:16px;background-size:cover;background-position:center;background-repeat:no-repeat;box-shadow:0 16px 30px #0006}.card-draw-hidden{opacity:0}.card-preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0a0a0e59;opacity:0;transition:opacity .16s ease;pointer-events:none;z-index:9998}.card-preview-overlay--visible{opacity:1}.card-preview-overlay--hide{opacity:0}.card-preview{transform:scale(1.05);box-shadow:0 30px 70px #0000008c}.intent-placeholder{text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;opacity:.75;text-align:center;border:1px dashed rgba(255,255,255,.25);border-radius:12px;padding:.75rem;min-height:80px;display:flex;align-items:center;justify-content:center;width:100%}.vertical-panel{position:relative;min-height:270px;width:28px;flex:0 0 28px;padding:0;border:none;background:transparent}.vertical-track{width:100%;height:100%;border-radius:999px;background:#0000008c;overflow:hidden;position:relative;border:1px solid rgba(255,255,255,.1)}.vertical-fill{position:absolute;left:0;bottom:0;width:100%;background:linear-gradient(180deg,#f15858,#c21f1f);transition:height .2s ease}.health-particle{position:absolute;width:12px;height:12px;border-radius:2px;pointer-events:none;z-index:100;background:linear-gradient(135deg,#ff6b6b,#f33);box-shadow:0 0 12px #ff3333e6,0 0 6px #ff6b6bb3;animation:particle-burst .9s cubic-bezier(.25,.46,.45,.94) forwards}.health-particle--heal{background:linear-gradient(135deg,#4fffb0,#29c84f);box-shadow:0 0 12px #29c84fe6,0 0 6px #4fffb0b3}@keyframes particle-burst{0%{transform:translate(0) scale(1) rotate(0);opacity:1}40%{opacity:1;transform:translate(var(--particle-x),var(--particle-y)) scale(1.3) rotate(90deg)}to{transform:translate(calc(var(--particle-x) * 2),calc(var(--particle-y) * 2.2)) scale(.2) rotate(180deg);opacity:0}}.health-sparkle{position:absolute;width:8px;height:8px;border-radius:1px;pointer-events:none;z-index:99;background:linear-gradient(135deg,#fff,#faa);box-shadow:0 0 10px #fffffff2,0 0 5px #ffc8c8cc;animation:sparkle-burst .7s cubic-bezier(.25,.46,.45,.94) forwards}.health-sparkle--heal{background:linear-gradient(135deg,#fff,#afc);box-shadow:0 0 10px #fffffff2,0 0 5px #afcc}@keyframes sparkle-burst{0%{transform:translate(0) scale(1) rotate(0);opacity:1}30%{opacity:1}to{transform:translate(calc(var(--particle-x) * 1.6),calc(var(--particle-y) * 1.8)) scale(0) rotate(270deg);opacity:0}}.firework-particle{position:absolute;width:18px;height:18px;border-radius:50%;pointer-events:none;animation:firework-burst 1.2s ease-out forwards;box-shadow:0 0 12px currentColor;z-index:100}@keyframes firework-burst{0%{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(calc(-50% + var(--particle-x)),calc(-50% + var(--particle-y))) scale(.3);opacity:0}}.arousal-particle{position:absolute;width:12px;height:12px;border-radius:2px;pointer-events:none;z-index:100;background:linear-gradient(135deg,#f6f,#f3c);box-shadow:0 0 12px #ff66ffe6,0 0 6px #ff33ccb3;animation:arousal-particle-burst .9s cubic-bezier(.25,.46,.45,.94) forwards}.arousal-particle--decrease{background:linear-gradient(135deg,#3ff,#0cc);box-shadow:0 0 12px #33ffffe6,0 0 6px #00ccccb3}@keyframes arousal-particle-burst{0%{transform:translate(0) scale(1) rotate(0);opacity:1}40%{opacity:1;transform:translate(var(--particle-x),var(--particle-y)) scale(1.3) rotate(-90deg)}to{transform:translate(calc(var(--particle-x) * 2),calc(var(--particle-y) * 2.2)) scale(.2) rotate(-180deg);opacity:0}}.arousal-sparkle{position:absolute;width:8px;height:8px;border-radius:1px;pointer-events:none;z-index:99;background:linear-gradient(135deg,#fff,#faf);box-shadow:0 0 10px #ffaafff2,0 0 5px #f6fc;animation:arousal-sparkle-burst .7s cubic-bezier(.25,.46,.45,.94) forwards}.arousal-sparkle--decrease{background:linear-gradient(135deg,#fff,#aff);box-shadow:0 0 10px #aafffff2,0 0 5px #3ffc}@keyframes arousal-sparkle-burst{0%{transform:translate(0) scale(1) rotate(0);opacity:1}30%{opacity:1}to{transform:translate(calc(var(--particle-x) * 1.6),calc(var(--particle-y) * 1.8)) scale(0) rotate(-270deg);opacity:0}}.card-play-splash{position:fixed;pointer-events:none;z-index:1100;transform:translate(-50%,-50%)}.card-play-splash__wave{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:80px;height:80px;border-radius:50%;pointer-events:none;animation:splash-wave .5s cubic-bezier(.16,1,.3,1) forwards}.card-play-splash__wave--offensive{background:radial-gradient(circle,rgba(255,51,51,.8),rgba(255,51,51,.4) 40%,transparent 70%);box-shadow:0 0 30px #ff3333e6,0 0 60px #ff333380}.card-play-splash__wave--defensive{background:radial-gradient(circle,rgba(51,255,102,.8),rgba(51,255,102,.4) 40%,transparent 70%);box-shadow:0 0 30px #33ff66e6,0 0 60px #33ff6680}.card-play-splash__wave--choice{background:radial-gradient(circle,rgba(255,215,0,.8),rgba(255,215,0,.4) 40%,transparent 70%);box-shadow:0 0 30px #ffd700e6,0 0 60px #ffd70080}.card-play-splash__wave--curse{background:radial-gradient(circle,rgba(187,68,255,.8),rgba(187,68,255,.4) 40%,transparent 70%);box-shadow:0 0 30px #bb44ffe6,0 0 60px #bb44ff80}@keyframes splash-wave{0%{transform:translate(-50%,-50%) scale(0);opacity:1}50%{opacity:.9}to{transform:translate(-50%,-50%) scale(4.5);opacity:0}}.card-play-splash__particle{position:absolute;width:14px;height:14px;border-radius:3px;pointer-events:none;animation:splash-particle .45s cubic-bezier(.25,.46,.45,.94) forwards}.card-play-splash__particle--offensive{background:linear-gradient(135deg,#f66,#f33);box-shadow:0 0 14px #ff3333f2,0 0 7px #f66c}.card-play-splash__particle--defensive{background:linear-gradient(135deg,#6f9,#3f6);box-shadow:0 0 14px #33ff66f2,0 0 7px #6f9c}.card-play-splash__particle--choice{background:linear-gradient(135deg,#fd6,gold);box-shadow:0 0 14px #ffd700f2,0 0 7px #fd6c}.card-play-splash__particle--curse{background:linear-gradient(135deg,#c6f,#b4f);box-shadow:0 0 14px #bb44fff2,0 0 7px #c6fc}@keyframes splash-particle{0%{transform:translate(-50%,-50%) scale(1) rotate(0);opacity:1}60%{opacity:.8}to{transform:translate(calc(-50% + var(--particle-x)),calc(-50% + var(--particle-y))) scale(.3) rotate(180deg);opacity:0}}.card-play-splash__sparkle{position:absolute;width:10px;height:10px;border-radius:2px;pointer-events:none;background:linear-gradient(135deg,#fff,#fff9);box-shadow:0 0 12px #fffffff2,0 0 6px #fffc;animation:splash-sparkle .4s cubic-bezier(.25,.46,.45,.94) forwards}@keyframes splash-sparkle{0%{transform:translate(-50%,-50%) scale(1.2) rotate(0);opacity:1}to{transform:translate(calc(-50% + var(--particle-x)),calc(-50% + var(--particle-y))) scale(0) rotate(360deg);opacity:0}}.card-play-splash__cross{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:12px;height:80px;pointer-events:none;animation:splash-cross .5s cubic-bezier(.16,1,.3,1) forwards}.card-play-splash__cross:before,.card-play-splash__cross:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:linear-gradient(180deg,#fff,#ffffffb3);box-shadow:0 0 20px #fff,0 0 40px #fffc,0 0 60px #ffffff80}.card-play-splash__cross:before{width:12px;height:100%;border-radius:6px}.card-play-splash__cross:after{width:100%;height:12px;border-radius:6px}@keyframes splash-cross{0%{transform:translate(-50%,-50%) scale(0) rotate(0);opacity:1}50%{opacity:1}to{transform:translate(-50%,-50%) scale(1.8) rotate(90deg);opacity:0}}.card-play-splash__particle--immune{background:linear-gradient(135deg,#fff,#f0f0f0);box-shadow:0 0 14px #fffffff2,0 0 7px #f0f0f0cc}.move-container{width:110px;height:110px;position:relative;margin:0 auto;display:flex;align-items:center;justify-content:center}.move-shell{position:absolute;width:90px;height:90px;background:#0009;clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%);border:1px solid rgba(255,255,255,.1)}.move-diamond{position:absolute;width:80px;height:80px;background:linear-gradient(135deg,#4f9cff,#88c0ff);clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%);transition:transform .2s ease}.character-card{border-radius:18px;background:linear-gradient(180deg,#ffffff7a,#00000059);aspect-ratio:2 / 3;min-height:520px;max-width:420px;width:100%;display:flex;padding-bottom:1.3rem;align-items:flex-end;justify-content:center;position:relative;text-transform:uppercase;letter-spacing:.08em;color:#fffc}.character-card:before{content:"";position:absolute;top:16px;right:18px;bottom:60px;left:18px;border-radius:12px;border:2px solid rgba(255,255,255,.32);background:transparent;box-shadow:inset 0 0 10px #000000a6;transition:background .25s ease,box-shadow .25s ease,border .25s ease;z-index:3;pointer-events:none}.character-card[data-frame-state=active]:before{border-color:#ffffffe6;box-shadow:0 0 48px #ffffff8c}.character-card[data-frame-state=inactive]:before{border-color:#ffffff1a;box-shadow:inset 0 0 18px #000000e6}.character-card span{position:relative;z-index:2;pointer-events:none}.character-portrait-background-container{position:absolute;top:16px;right:18px;bottom:60px;left:18px;border-radius:12px;overflow:hidden;pointer-events:none;z-index:1}.character-portrait-background{position:absolute;top:0;left:40px;width:100%;height:100%;object-fit:cover;object-position:right bottom;transform:scale(2);transform-origin:right bottom}.character-card[data-target=enemy] .character-portrait-background{filter:drop-shadow(0 0 12px rgba(138,43,226,.3))}.character-card[data-target=player] .character-portrait-background{left:0;right:0;object-position:center bottom;transform-origin:center bottom;filter:drop-shadow(0 0 12px rgba(255,215,0,.3))}.character-portrait{position:absolute;top:16px;right:18px;bottom:60px;left:18px;width:calc(100% - 36px);height:calc(100% - 76px);object-fit:cover;border-radius:12px;filter:saturate(.8);pointer-events:none;z-index:2}.character-card[data-target=player] .character-portrait{filter:saturate(.8) drop-shadow(0 0 16px rgba(255,215,0,.35))}.character-card[data-target=enemy] .character-portrait{filter:saturate(.8) drop-shadow(0 0 16px rgba(138,43,226,.35))}.character-card[data-target=player]{--portrait-hit-offset: -6px;--portrait-hit-rebound: 4px}.character-card[data-target=enemy]{--portrait-hit-offset: 6px;--portrait-hit-rebound: -4px}.character-card[data-hit=true] .character-portrait,.character-card[data-hit=true] .character-portrait-overlay-layer{animation:portrait-hit-jolt .22s ease-out}@keyframes portrait-hit-jolt{0%{transform:translate(0)}30%{transform:translate(var(--portrait-hit-offset, 0))}60%{transform:translate(var(--portrait-hit-rebound, 0))}to{transform:translate(0)}}.character-portrait-overlay-layer{position:absolute;top:16px;right:18px;bottom:60px;left:18px;pointer-events:none;z-index:7}.character-portrait-overlay{position:absolute;max-width:150%;object-fit:contain;filter:drop-shadow(0 3px 6px rgba(0,0,0,.4))}.character-portrait-overlay--crack{width:82%;left:50%;top:50%;transform:translate(-50%,-50%);opacity:.95}.character-portrait-overlay--blood{width:110%;opacity:.88}.character-card[data-target][data-allowed=true]{outline:2px solid rgba(79,156,255,.45)}.character-card[data-target][data-dragging=true]{outline:2px solid #4f9cff;background:#4f9cff40}.effect-circle{width:140px;height:140px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:#0000004d;display:flex;flex-direction:column;align-items:center;justify-content:center;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;gap:.2rem;margin-bottom:64px}.effect-circle{display:none}.effect-column .effect-circle[data-visible=true]{display:flex}.effect-column .effect-circle{margin-top:auto}.effect-circle[data-target][data-dragging=true]{border-color:#4f9cff;background:#4f9cff4d}.effect-circle[data-target][data-allowed=true]{border-color:#4f9cff66}.hand-panel{border:none;border-radius:14px;min-height:300px;padding:.5rem .75rem;background:transparent;overflow:visible}.hand-row{display:grid;grid-template-columns:150px 320px 180px 320px 150px;gap:16px;height:clamp(280px,32vh,340px);padding-bottom:4px;box-sizing:border-box;position:relative}.hand-row .side-pile{position:relative;align-self:end;justify-self:center;height:275px;aspect-ratio:369 / 677;padding:0;box-sizing:border-box}.hand-row .side-pile[data-pile-kind=draw]{grid-column:1}.hand-row .side-pile[data-pile-kind=discard]{grid-column:5}.hand-row .hand-panel{grid-column:2 / span 3;min-height:100%}.side-pile{display:flex;align-items:center;justify-content:center;font-size:.8rem;text-align:center;position:relative}.side-pile.has-tooltip{cursor:help}.hand-cards{display:flex;flex-wrap:nowrap;align-items:flex-start;justify-content:center;gap:0;padding-left:.25rem;padding-right:.25rem;overflow:visible}.hand-cards--discarding{position:relative;min-height:300px}.hand-cards--discarding .card-button{filter:grayscale(1) brightness(.7);transition:none}.card-button.card-face-down{background:var(--card-back-url) center / cover no-repeat}.card-button.card-face-down *{opacity:0}.card-button.card-discarded{opacity:0;visibility:hidden;pointer-events:none}.controls-row{display:flex;justify-content:flex-end}.controls-top{justify-content:center;width:100%}button:not(.card-button):not(.map-node-chip):not(.debug-enemy):not(.debug-enemy__action):not(.card-gallery-toggle){border:none;border-radius:12px;padding:.95rem 2rem;font-size:1rem;font-family:var(--font-primary);text-transform:uppercase;letter-spacing:.08em;background:linear-gradient(135deg,#e85858,#f09819);color:#fff;cursor:pointer;transition:transform .15s ease,opacity .15s ease}button:not(.card-button):not(.map-node-chip):not(.card-gallery-toggle):disabled{opacity:.4;cursor:not-allowed}button:not(.card-button):not(.map-node-chip):not(.card-gallery-toggle):not(:disabled):hover{transform:translateY(-1px)}.status{text-align:center;font-weight:600;letter-spacing:.08em}.status-finished{display:flex;flex-direction:column;align-items:center;gap:.75rem}.status-button{border:1px solid rgba(255,255,255,.4);border-radius:999px;padding:.6rem 1.5rem;font-size:.9rem;text-transform:none;letter-spacing:.02em;background:#ffffff14;color:#f3f3f3;cursor:pointer}.hand-panel h3{margin-top:0;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.08em}.character-card .impact-flare-layer{position:absolute;top:16px;right:18px;bottom:60px;left:18px;pointer-events:none;display:flex;align-items:center;justify-content:center;z-index:100}@keyframes impact-flare-pulse{0%{transform:translate(-50%,-40%) scale(3)}12%{transform:translate(-50%,-40%) scale(3.6)}to{transform:translate(-50%,-40%) scale(3)}}@keyframes impact-flare-pulse-deck{0%{transform:translate(-50%,-50%) scale(1.4)}12%{transform:translate(-50%,-50%) scale(1.6)}to{transform:translate(-50%,-50%) scale(1.4)}}.impact-flare{--base-scale: 3;--scale-multiplier: 1;--flare-spacing: 4.5rem;position:absolute;top:calc(18% + var(--flare-index, 0) * var(--flare-spacing));left:50%;transform:translate(-50%,-40%) scale(calc(var(--base-scale) * var(--scale-multiplier)));color:#fff;font-weight:900;font-size:2.2rem;text-shadow:0 2px 6px rgba(0,0,0,.6);opacity:1;animation:impact-flare-pulse 1s cubic-bezier(.34,1.56,.64,1);transition:transform .8s cubic-bezier(.4,0,.6,1),opacity 3.6s ease,top 3.6s ease}.impact-flare--tick{--scale-multiplier: .733;font-size:1.35rem;opacity:.95;transition:transform .5s ease,opacity 2s ease,top 2s ease}.impact-flare.fade-out{opacity:0;transform:translate(-50%,-40%) scale(calc(var(--base-scale) * var(--scale-multiplier)))}.impact-flare--neutral{color:#fff;letter-spacing:.08em;text-shadow:0 2px 10px rgba(255,255,255,.8),0 0 20px rgba(255,255,255,.3)}.impact-flare--damage{color:#f33;text-shadow:0 2px 10px rgba(255,51,51,.8),0 0 20px rgba(255,51,51,.3)}.impact-flare--heal{color:#3f6;text-shadow:0 2px 10px rgba(51,255,102,.8),0 0 20px rgba(51,255,102,.3)}.impact-flare--arousal-increase{color:#f6f;text-shadow:0 2px 10px rgba(255,102,255,.8),0 0 20px rgba(255,102,255,.3)}.impact-flare--arousal-decrease{color:#3ff;text-shadow:0 2px 10px rgba(51,255,255,.8),0 0 20px rgba(51,255,255,.3)}.impact-flare--status-positive{color:gold;letter-spacing:.08em;font-weight:700;text-shadow:0 2px 10px rgba(255,215,0,.8),0 0 20px rgba(255,215,0,.3)}.impact-flare--status-negative{color:#b4f;letter-spacing:.08em;text-shadow:0 2px 10px rgba(187,68,255,.8),0 0 20px rgba(187,68,255,.3)}.character-card .impact-flare-layer{z-index:8}.impact-flare{z-index:9}.side-pile .impact-flare-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;display:flex;align-items:center;justify-content:center;z-index:5}.impact-flare--deck{--scale-multiplier: .467;--flare-spacing: 2rem;font-size:.85rem;letter-spacing:.14em;transform:translate(-50%,-50%) scale(calc(var(--base-scale) * var(--scale-multiplier)));animation:impact-flare-pulse-deck 1s cubic-bezier(.34,1.56,.64,1);text-shadow:0 2px 10px rgba(255,255,255,.75),0 0 18px rgba(255,255,255,.25);top:calc(15% + var(--flare-index, 0) * var(--flare-spacing))}.impact-flare--deck.fade-out{transform:translate(-50%,-50%) scale(calc(var(--base-scale) * var(--scale-multiplier) * .786))}.has-tooltip{position:relative}.hover-tooltip{position:fixed;left:0;top:0;min-width:160px;padding:10px 12px;background:#0c0c12eb;border:1px solid rgba(255,255,255,.2);border-radius:8px;box-shadow:0 8px 24px #00000080;opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease;color:#f5f5f5;pointer-events:none;z-index:10000}.hover-tooltip.enemy-tooltip{min-width:220px}.hover-tooltip strong{display:block;font-size:.95rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}.hover-tooltip p{margin:3px 0;font-size:.8rem;opacity:.85}.hover-tooltip[data-visible=true]{opacity:1;visibility:visible}.hover-tooltip[data-visible=false]{left:-9999px;top:-9999px}.hover-tooltip--card-statuses{min-width:200px;max-width:280px}.card-status-tooltip{padding:8px 0;border-bottom:1px solid rgba(255,255,255,.1)}.card-status-tooltip:first-child{padding-top:0}.card-status-tooltip:last-child{padding-bottom:0;border-bottom:none}.card-status-tooltip strong{display:block;font-size:.9rem;margin-bottom:4px}.card-status-tooltip p{margin:0;font-size:.8rem;line-height:1.4}.card-status-tooltip.unmet-requirement strong{color:#f44}.card-status-tooltip.unmet-requirement p{color:#f66}.card-button{pointer-events:auto}.card-button.card-irresistible{position:relative;box-shadow:0 0 20px #ff646499,0 0 40px #ff323266,0 14px 26px #00000073;animation:irresistible-pulse 2s ease-in-out infinite}.card-button.card-irresistible:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:14px;background:linear-gradient(135deg,#ff3232cc,#ff9632cc,#ff3232cc);z-index:-1;animation:irresistible-border-rotate 3s linear infinite}.card-button.card-irresistible:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:14px;background:inherit;z-index:-1}@keyframes irresistible-pulse{0%,to{box-shadow:0 0 20px #ff646499,0 0 40px #ff323266,0 14px 26px #00000073}50%{box-shadow:0 0 30px #ff6464cc,0 0 60px #ff323299,0 14px 26px #00000073}}@keyframes irresistible-border-rotate{0%{filter:hue-rotate(0deg)}to{filter:hue-rotate(360deg)}}.card-button.card-irresistible[disabled]{opacity:.7;animation:none}.card-button.card-irresistible[disabled]:before{animation:none;opacity:.5}.card-play-clone.card-irresistible{animation:none!important;box-shadow:0 14px 26px #00000073!important;overflow:hidden!important;position:fixed!important}.card-play-clone.card-irresistible:before,.card-play-clone.card-irresistible:after{content:none!important;display:none!important}.card-play-clone--discard.card-irresistible{animation:card-discard-flight .7s cubic-bezier(.2,.8,.25,1) forwards!important;overflow:hidden!important}.card-play-clone{position:fixed;left:0;top:0;margin:0;pointer-events:none;transform:translateZ(0);transform-origin:center center;z-index:1200;border-radius:14px;overflow:hidden;box-shadow:0 14px 26px #00000073}.card-play-clone--discard{animation:card-discard-flight .7s cubic-bezier(.2,.8,.25,1) forwards;filter:none;border:none;box-shadow:none;padding:0;background:var(--card-back-url) center / cover no-repeat;border-radius:0;overflow:visible}.card-play-clone--discard:before,.card-play-clone--discard:after{content:none}.card-play-clone--discard *{opacity:0}.card-play-clone--consume{animation:card-burn 1.5s ease-in forwards;box-shadow:0 18px 30px #ff5a1473,0 0 28px #ff781480;filter:brightness(1.05) saturate(1.15)}.card-play-clone--consume:before{content:"";position:absolute;top:-10%;right:-10%;bottom:40%;left:-10%;background:radial-gradient(circle at 40% 80%,#ffdc8cf2,#ff782899 45%,#ff3c0000 70%);mix-blend-mode:screen;animation:burn-flicker .18s steps(2,end) infinite,burn-layer-fade 1.5s ease-out forwards;z-index:3}.card-play-clone--consume:after{content:"";position:absolute;top:10%;right:12%;bottom:0;left:12%;background:radial-gradient(circle at 50% 90%,#140a0073,#000000f2 70%);filter:blur(6px);animation:burn-smoke 1.5s ease-out forwards;z-index:4}@keyframes card-discard-flight{0%{opacity:1;transform:translateZ(0) scale(1) rotate(0)}45%{transform:translate3d(calc(var(--play-x) * .5),calc(var(--play-y) * .45),0) scale(1) rotate(4deg);opacity:1}to{opacity:1;transform:translate3d(var(--play-x),var(--play-y),0) scale(1) rotate(12deg)}}@keyframes card-burn{0%{opacity:1;transform:translateZ(0) scale(1);filter:brightness(1.05) saturate(1.2)}35%{filter:brightness(1.3) saturate(1.6)}70%{filter:brightness(.9) saturate(1.2) sepia(.8) blur(.4px);transform:translate3d(0,-18px,0) scale(.92) rotate(-2deg)}to{opacity:0;transform:translate3d(0,-46px,0) scale(.7) rotate(-6deg);filter:brightness(.4) saturate(.6) grayscale(.9) blur(1.2px)}}@keyframes burn-flicker{0%{opacity:.6;transform:translateY(0) scale(1)}to{opacity:1;transform:translateY(-6px) scale(1.05)}}@keyframes burn-layer-fade{0%{opacity:.85}to{opacity:0}}@keyframes burn-smoke{0%{opacity:.2;transform:translateY(0) scale(.9)}50%{opacity:.45;transform:translateY(-12px) scale(1)}to{opacity:0;transform:translateY(-30px) scale(1.08)}}.rest-stage{min-height:100%;display:flex;align-items:center;justify-content:center;padding:2rem;background:radial-gradient(circle at top,rgba(255,255,255,.08),transparent 55%),#050607}.rest-content{width:min(100%,780px);background:#090b0ff2;border-radius:1.5rem;padding:2rem;box-shadow:0 30px 60px #00000073;border:1px solid rgba(255,255,255,.05);text-align:center}.rest-image{margin-bottom:1.25rem}.rest-splash{width:100%;max-height:360px;border-radius:1rem;object-fit:cover;display:block}.rest-description{margin:0 auto 1.5rem;max-width:600px;color:#ffffffd9}.rest-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.rest-button{border:none;border-radius:999px;padding:.75rem 1.5rem;background:linear-gradient(120deg,#7a5ef8,#26d7c4);color:#fff;font-size:.95rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.rest-button:focus-visible,.rest-button:hover{transform:translateY(-1px);box-shadow:0 8px 20px #00000040}.rest-button:active{transform:translateY(0);box-shadow:0 4px 12px #0000004d}.event-stage{min-height:100%;width:100%;height:100%;position:relative;display:flex;align-items:center;justify-content:center;background-image:var(--event-background-image);background-size:cover;background-position:center;background-color:#050607;overflow:hidden}.event-content{display:flex;justify-content:center;width:100%;height:100%;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:0;box-sizing:border-box}.event-main{height:736px;display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:1rem}@media (max-width: 900px){.event-main{grid-template-columns:1fr}}#app.fixed-layout .event-content{justify-content:center}.event-image{border-radius:1rem;overflow:hidden;aspect-ratio:4 / 3}.event-splash{width:100%;height:100%;object-fit:cover;display:block}.event-body{position:relative;color:#f5f5f5;padding-top:.75rem}.event-header h2{margin:0 0 .5rem}.event-impact-flare-layer{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1000}.event-impact-flare-layer .impact-flare{--scale-multiplier: 1;--flare-spacing: 2rem;position:absolute;top:var(--flare-y, calc(25% + var(--flare-index, 0) * var(--flare-spacing)));left:var(--flare-x, 50%);transform:translate(-50%,-40%) scale(calc(var(--base-scale) * var(--scale-multiplier)));font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;opacity:1;animation:impact-flare-pulse 1s cubic-bezier(.34,1.56,.64,1);transition:transform .8s cubic-bezier(.4,0,.6,1),opacity 3.6s ease,top 3.6s ease;z-index:11}.event-impact-flare-layer .impact-flare.fade-out{opacity:0;transform:translate(-50%,-60%) scale(calc(var(--base-scale) * var(--scale-multiplier)))}.event-options{margin-top:.75rem;display:flex;flex-direction:column;gap:.5rem}.event-option{background:none;border:none;border-radius:0;padding:0}.event-option-button{width:100%;border:none;border-radius:999px;padding:.75rem 1.25rem;background:linear-gradient(120deg,#f05f57,#e4717a);color:#fff;font-size:.95rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.event-option-button:disabled{opacity:.5;cursor:not-allowed}.event-option-button:not(:disabled):hover,.event-option-button:not(:disabled):focus-visible{transform:translateY(-1px);box-shadow:0 10px 20px #00000059}.event-option-description{margin:.5rem 0 0;color:#ffffffd9}.event-option-reason{margin:.25rem 0 0;font-size:.8rem;color:#f8b500}.event-result{margin-top:1.5rem;display:flex;flex-direction:column;gap:.75rem}.event-result-image{border-radius:1rem;overflow:hidden}.event-empty-state{margin-top:1.5rem;color:#ffffffb3}.event-error{color:#f5a9a9;font-size:1rem;margin-bottom:1rem}.event-button{border:none;border-radius:999px;padding:.85rem 1.75rem;background:linear-gradient(120deg,#6dd5ed,#2193b0);color:#fff;font-size:.95rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.event-button:hover,.event-button:focus-visible{transform:translateY(-1px);box-shadow:0 10px 20px #00000059}.map-tooltip-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1000}.gallery-screen{flex:1;display:flex;flex-direction:column;min-height:0;height:100%;border-radius:24px;background-image:var(--gallery-background);background-size:cover;background-position:center;background-repeat:no-repeat;position:relative;overflow:hidden}.gallery-screen:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at center,#0000004d,#0009);pointer-events:none}.gallery-header{display:flex;align-items:center;gap:2rem;padding:1rem 2rem;position:relative;z-index:10;background:linear-gradient(to bottom,rgba(0,0,0,.7),transparent)}.gallery-back{flex-shrink:0}.gallery-title{margin:0;font-size:1.5rem;font-weight:700;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.8);flex:1}.gallery-portrait-container{flex:1;display:flex;align-items:flex-end;justify-content:center;position:relative;z-index:5}.gallery-portrait{width:800px;height:900px;background-size:contain;background-position:center bottom;background-repeat:no-repeat}.gallery-controls{display:flex;justify-content:center;gap:3rem;padding:1rem 2rem 1.5rem;position:relative;z-index:10;background:linear-gradient(to bottom,rgba(0,0,0,.6),transparent)}.gallery-control-group{display:flex;align-items:center;gap:.75rem}.gallery-control-label{font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#fff9}.gallery-state-buttons{display:flex;gap:.5rem}.gallery-state-btn{padding:.625rem 1.25rem;font-size:.875rem;font-weight:600;color:#fffc;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;cursor:pointer;transition:all .15s ease}.gallery-state-btn:hover{background:#fff3;color:#fff}.gallery-state-btn--active{background:#ffffff40;color:#fff;border-color:#fff6;box-shadow:0 0 12px #ffffff26}.gallery-bg-nav{display:flex;align-items:center;gap:1rem}.gallery-nav-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;color:#fffc;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:50%;cursor:pointer;transition:all .15s ease}.gallery-nav-btn:hover{background:#fff3;color:#fff}.gallery-bg-name{min-width:100px;text-align:center;font-size:1rem;font-weight:600;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.6)}.card-gallery-screen{flex:1;display:flex;flex-direction:column;min-height:0;height:100%;max-width:1400px;margin:0 auto;width:calc(100% - 3rem);border-radius:24px;padding:1.5rem 1.75rem;gap:1rem;background:radial-gradient(circle at 10% 20%,rgba(80,120,255,.15),transparent 55%),radial-gradient(circle at 90% 10%,rgba(255,120,200,.12),transparent 50%),linear-gradient(160deg,#08080cf2,#101016e0);box-shadow:0 20px 45px #00000073,inset 0 0 24px #ffffff0a}.card-gallery-header{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.card-gallery-heading{display:flex;flex-direction:column;gap:.35rem}.card-gallery-filters{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.card-gallery-actions{margin-left:auto}.card-gallery-toggle{width:48px;height:48px;border-radius:4px;border:1px solid rgba(255,255,255,.35);background-color:var(--school-color, rgba(255, 255, 255, .2));background-image:none;box-shadow:0 4px 10px #00000040;cursor:pointer;padding:0;transition:transform .12s ease,opacity .12s ease,box-shadow .12s ease}.card-gallery-toggle:hover,.card-gallery-toggle:focus-visible{transform:translateY(-1px) scale(1.05);box-shadow:0 6px 14px #00000059}.card-gallery-toggle[data-active=false]{opacity:.35;filter:grayscale(.6) brightness(.85);box-shadow:none}.card-gallery-toggle[data-active=true]{opacity:1;filter:none;border-color:var(--school-color, rgba(255, 255, 255, .6))}.card-gallery-title{margin:0;font-size:clamp(1.4rem,2.6vw,2rem);letter-spacing:.02em}.card-gallery-subtitle{margin:0;color:#bebecde6;font-size:.95rem}.card-gallery-body{flex:1;min-height:0;overflow-y:auto;padding-right:.5rem}.card-gallery-body::-webkit-scrollbar{width:10px}.card-gallery-body::-webkit-scrollbar-track{background:#ffffff0a;border-radius:999px}.card-gallery-body::-webkit-scrollbar-thumb{background:#fff3;border-radius:999px}.card-gallery-body::-webkit-scrollbar-thumb:hover{background:#ffffff59}.card-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.1rem;align-items:start;justify-items:center;padding-top:3rem;padding-bottom:1rem}.card-gallery-card{display:flex;justify-content:center;width:100%;position:relative;z-index:0}.card-gallery-card .card-button,.card-gallery-card--locked .card-button{cursor:default}.card-gallery-locked{display:flex;align-items:center;justify-content:center;background:#0c0c10d9;border:2px dashed rgba(255,255,255,.35);box-shadow:inset 0 0 0 2px #ffffff14}.card-gallery-locked-label{font-size:1.6rem;letter-spacing:.3em;text-transform:uppercase;font-weight:700;color:#ebebf58c;text-shadow:0 0 12px rgba(255,255,255,.08)}.card-gallery-card .card-button:hover,.card-gallery-card .card-button:focus-visible{z-index:3}.card-gallery-card--locked .card-button:hover,.card-gallery-card--locked .card-button:focus-visible{transform:none}.card-gallery-empty{margin:2rem auto;color:#b4b4bed9;font-style:italic}.app-scene-root{width:100%;height:100%;position:relative}.scene-frame{width:min(var(--scene-width),100%);height:100%;min-height:0;margin:0 auto}.scene-frame--columns{display:grid;grid-template-columns:var(--scene-side) var(--scene-main);gap:var(--scene-gap);align-items:stretch}@media (max-width: 1200px){.scene-frame--columns{grid-template-columns:1fr}}.scene-frame--battle{padding:0 var(--scene-gap);display:flex;flex-direction:column;min-height:0}.audio-overlay{position:absolute;top:16px;right:16px;z-index:10050;pointer-events:none}.audio-overlay__group{display:flex;flex-direction:column;gap:8px;padding:0;align-items:center;background:transparent;border:none;border-radius:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:auto}.audio-overlay__button{position:relative;flex:0 0 auto;width:36px;height:auto;aspect-ratio:1 / 1;padding:0;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#14141cd9;color:#f5f1e8;display:grid;place-items:center;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background .12s ease,opacity .12s ease}.audio-overlay__button:hover{transform:translateY(-1px);background:#22222ee6;box-shadow:0 6px 12px #00000059}.audio-overlay__button:focus-visible{outline:2px solid rgba(255,221,153,.9);outline-offset:2px}.audio-overlay__button[data-muted=true]{opacity:.55}.audio-overlay__icon{width:36px;height:36px;display:inline-flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.audio-overlay__icon svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.audio-overlay__icon img{width:100%;height:100%;display:block;object-fit:contain;filter:brightness(0) invert(1)}.audio-overlay__icon--slash{position:absolute;opacity:0;transform:translate(-50%,-50%) rotate(-12deg)}.audio-overlay__button[data-muted=true] .audio-overlay__icon--slash{opacity:1}
