.main-menu{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:2rem;background:radial-gradient(ellipse at 30% 20%,rgba(107,142,78,.08) 0%,transparent 50%),radial-gradient(ellipse at 70% 80%,rgba(212,175,55,.06) 0%,transparent 50%),linear-gradient(180deg,#faf6e5,#f5f0e0,#efe8d8);position:relative;overflow:hidden}.main-menu:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 15% 25%,rgba(107,142,78,.06) 0%,transparent 40%),radial-gradient(circle at 85% 75%,rgba(212,175,55,.05) 0%,transparent 40%),radial-gradient(circle at 50% 50%,rgba(139,119,90,.03) 0%,transparent 60%);pointer-events:none;opacity:.9}.main-menu:after{content:"";position:absolute;top:20px;left:0;right:0;bottom:20px;border-top:2px solid rgba(73,58,48,.1);border-bottom:2px solid rgba(73,58,48,.1);pointer-events:none;box-shadow:inset 0 0 60px #ffffff4d}.menu-content{display:flex;align-items:center;justify-content:center;gap:3rem;width:100%;max-width:1400px;height:100%;position:relative;z-index:2}.logo-section{flex:1;display:flex;align-items:center;justify-content:center;position:relative;max-width:65%;padding:2rem}.logo-particles{position:absolute;width:100%;height:100%;pointer-events:none;overflow:hidden;z-index:4}.logo-particles .particle{position:absolute;background:radial-gradient(circle,#ffc864,#c9a961cc 40%,#c9a96100 70%);border-radius:50%;box-shadow:0 0 5px #ffc86473;will-change:transform,opacity}@keyframes menuDrift1{0%,to{transform:translate(0) scale(1);opacity:.7}25%{transform:translate(14px,-22px) scale(1.12);opacity:.85}50%{transform:translate(-8px,-38px) scale(.92);opacity:.6}75%{transform:translate(16px,-20px) scale(1.05);opacity:.82}}@keyframes menuDrift2{0%,to{transform:translate(0) scale(1);opacity:.65}20%{transform:translate(-18px,-14px) scale(1.15);opacity:.82}50%{transform:translate(10px,-35px) scale(.88);opacity:.68}80%{transform:translate(-12px,-18px) scale(1.02);opacity:.77}}@keyframes menuDrift3{0%,to{transform:translate(0) scale(1);opacity:.72}15%{transform:translate(10px,-12px) scale(1.2);opacity:.88}40%{transform:translate(-14px,-32px) scale(.95);opacity:.6}65%{transform:translate(20px,-24px) scale(1.08);opacity:.85}85%{transform:translate(-5px,-36px) scale(.9);opacity:.7}}.logo-wrapper{position:relative;display:inline-block}.main-logo{width:100%;max-width:1000px;height:auto;object-fit:contain;filter:drop-shadow(0 6px 20px rgba(73,58,48,.2));position:relative;z-index:2;display:block}.logo-wrapper:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(110deg,#fff0 28%,#ffffff0a 36%,#ffffff1a,#ffffff47,#ffffff1f,#ffffff0a 64%,#fff0 72%);background-size:205% 100%;background-repeat:no-repeat;background-position:160% 0;animation:logoShimmerSweep 5s ease-in-out infinite;will-change:background-position;z-index:3;pointer-events:none;mix-blend-mode:screen;-webkit-mask-image:var(--logo-mask-url);mask-image:var(--logo-mask-url);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}@keyframes logoShimmerSweep{0%{background-position:160% 0;opacity:0}16%{opacity:.58}44%{opacity:.58}to{background-position:-60% 0;opacity:0}}.logo-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80%;height:80%;background:radial-gradient(ellipse at center,rgba(107,142,78,.08) 0%,rgba(212,175,55,.04) 30%,transparent 70%);animation:glowPulse 7s ease-in-out infinite;z-index:1}@keyframes glowPulse{0%,to{opacity:.55}50%{opacity:.8}}.menu-section{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:280px;max-width:340px;padding:2rem;background:linear-gradient(135deg,#ffffffd9,#faf6e5e6);border:2px solid rgba(73,58,48,.15);border-radius:16px;box-shadow:0 10px 40px #493a301a,inset 0 1px #fffc}@media (prefers-reduced-motion: reduce){.logo-particles .particle,.logo-wrapper:after,.logo-glow{animation:none!important}}.menu-buttons{display:flex;flex-direction:column;gap:.75rem;width:100%;position:relative;z-index:1}.menu-button{padding:1rem 1.5rem;font-size:1rem;font-family:var(--font-primary);font-weight:600;letter-spacing:.05em;background:linear-gradient(135deg,#fffffff2,#faf6e5fa);color:#493a30;border:2px solid rgba(73,58,48,.2);border-radius:8px;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #493a301a,inset 0 1px #fffc;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:.5rem}.button-icon{font-size:1em;opacity:.85;width:1.25em}.menu-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(212,175,55,.08),transparent);transition:left .5s ease}.menu-button:hover:not(:disabled){transform:translateY(-2px);border-color:#6b8e4e;box-shadow:0 8px 20px #6b8e4e33,inset 0 1px #ffffffe6;color:#5a7a45;background:linear-gradient(135deg,#fffffffa,#faf6e5)}.menu-button:hover:not(:disabled):before{left:100%}.menu-button:active:not(:disabled){transform:translateY(0);box-shadow:0 4px 12px #00000040,inset 0 1px #ffffff0d}.menu-button.primary-button{background:linear-gradient(135deg,#6b8e4e,#5a7a45);color:#fff;border-color:#5a7a4580;text-shadow:0 1px 2px rgba(0,0,0,.2)}.menu-button.primary-button:hover:not(:disabled){background:linear-gradient(135deg,#7a9d5d,#6b8e4e);border-color:#6b8e4e;box-shadow:0 8px 20px #6b8e4e59,inset 0 1px #fff3;color:#fff}.menu-button.tutorial-button{background:linear-gradient(135deg,#d4af37,#aa8a2e);color:#1a2e26;border-color:#d4af3780;text-shadow:0 1px 1px rgba(255,255,255,.2);font-weight:700}.menu-button.tutorial-button:hover:not(:disabled){background:linear-gradient(135deg,#e0bd4a,#d4af37);border-color:#d4af37;box-shadow:0 8px 20px #d4af3759,0 0 20px #d4af3726,inset 0 1px #ffffff4d;color:#1a2e26}.menu-button.settings-button{background:linear-gradient(135deg,#493a3014,#493a300a);border-color:#493a3026;color:#5a5045;font-size:.95rem;margin-top:.5rem}.menu-button.settings-button:hover:not(:disabled){background:linear-gradient(135deg,#493a301f,#493a3014);border-color:#493a3040;color:#493a30}.menu-button.quit-button{background:linear-gradient(135deg,#8b453d1a,#8b453d0f);border-color:#8b453d33;color:#8b453d;font-size:.95rem;margin-top:.25rem}.menu-button.quit-button:hover:not(:disabled){background:linear-gradient(135deg,#8b453dd9,#78322de6);border-color:#8b453d80;color:#fff;box-shadow:0 8px 20px #8b453d40}.menu-button.dev-feature{position:relative}.version{margin-top:1.5rem;font-size:.8rem;color:#8a7a6a;font-family:var(--font-primary);letter-spacing:.1em;position:relative;z-index:1}.password-modal-overlay{background:#000000b3}.password-modal{padding:24px 32px;min-width:320px;max-width:90vw;text-align:center}.password-modal h3{margin:0 0 12px;color:#f4e4c1;font-size:20px;font-family:var(--font-primary)}.password-modal p{margin:0 0 16px;color:#d4c4a1;font-size:14px}.password-modal input{width:100%;padding:10px 14px;font-size:16px;background:#0000004d;border:2px solid #6b5541;border-radius:6px;color:#f4e4c1;text-align:center;box-sizing:border-box;margin-bottom:8px;transition:border-color .2s ease}.password-modal input::placeholder{color:#d4c4a1a6}.password-modal input:focus{outline:none;border-color:#c9a961}.password-modal input.error{border-color:#c65f5f}.password-modal .error-text{display:block;color:#e28f8f;font-size:12px;margin-top:4px}.password-modal .modal-buttons{display:flex;gap:12px;margin-top:16px;justify-content:center}.password-modal .modal-buttons button{padding:10px 20px;font-size:14px;font-weight:600;border-radius:6px;cursor:pointer;transition:all .2s ease;background:#8b73554d;color:#d4c4a1;border:2px solid #6b5541}.password-modal .modal-buttons button:hover{background:#8b735580}.password-modal .modal-buttons button.primary{background:linear-gradient(135deg,#4a7c4e,#3d6840);border-color:#5a9c5e;color:#fff}.password-modal .modal-buttons button.primary:hover{background:linear-gradient(135deg,#5a8c5e,#4d7850)}@media (max-width: 900px){.menu-content{flex-direction:column;gap:2rem}.logo-section{max-width:90%;padding:1rem}.main-logo{max-width:600px}.menu-section{min-width:260px;max-width:320px;padding:1.5rem}}@media (max-width: 480px){.main-menu{padding:1rem}.main-menu:after{top:10px;left:10px;right:10px;bottom:10px}.logo-section{padding:.5rem}.main-logo{max-width:350px}.menu-section{min-width:240px;padding:1.25rem}.menu-buttons{gap:.5rem}.menu-button{padding:.875rem 1.25rem;font-size:.95rem}.button-icon{display:none}}@media (max-height: 600px) and (orientation: landscape){.menu-content{flex-direction:row;gap:2rem}.logo-section{max-width:50%}.main-logo{max-width:400px}.menu-section{padding:1rem}.menu-button{padding:.6rem 1rem;font-size:.9rem}.version{margin-top:.75rem;font-size:.7rem}}.card-image-loader{position:relative;background-size:800% 600%;background-repeat:no-repeat;width:100%;height:100%;transition:opacity .2s ease-in-out}.card-image-loader.loading{opacity:.7}.card-image-loader.error{opacity:.5;background-color:#3a3a3a}.card-image-loading-indicator{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background-color:#0000004d;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1}.card-image-loading-indicator .spinner{width:30px;height:30px;border:3px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.card-image-error-indicator{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;color:#ff6b6b;font-size:32px;z-index:1}.card-image-loader.compact .card-image-loading-indicator .spinner{width:20px;height:20px;border-width:2px}.card-image-loader.compact .card-image-error-indicator{font-size:20px}.board-wrapper{display:flex;flex-direction:column;align-items:center;gap:4px;-webkit-user-select:none;user-select:none}.board-wrapper.rotated,.board-wrapper.rotated .piece-icon{transform:rotate(180deg)}.board-wrapper.rotated .piece:hover .piece-icon{transform:rotate(180deg) scale(1.1)}.board-wrapper.rotated .wound-indicator,.board-wrapper.rotated .invoke-indicator,.board-wrapper.rotated .moved-indicator,.board-wrapper.rotated .disarmed-indicator,.board-wrapper.rotated .shadow-protected-indicator,.board-wrapper.rotated .infiltrator-indicator,.board-wrapper.rotated .wayfinder-indicator,.board-wrapper.rotated .attachment-indicator,.board-wrapper.rotated .strength-indicator,.board-wrapper.rotated .move-indicator,.board-wrapper.rotated .capture-indicator,.board-wrapper.rotated .kill-skull-icon{transform:rotate(180deg)}.board-wrapper.rotated .strength-indicator{top:auto;left:auto;bottom:min(6px,.6vh);right:min(6px,.6vh)}.board-wrapper.rotated .wound-indicator{top:8%;left:50%;right:auto;transform:translate(-50%,50%) rotate(180deg)}.board-wrapper.rotated .moved-indicator{top:30%;left:min(6px,.48vh,.6vw);bottom:auto;right:auto;transform:translateY(-50%) rotate(180deg)}.board-wrapper.rotated .invoke-indicator{top:min(6px,.48vh,.6vw);right:min(6px,.48vh,.6vw);bottom:auto;left:auto}.board-wrapper.rotated .disarmed-indicator{top:auto;bottom:30%;right:auto;left:min(6px,.48vh,.6vw);transform:translateY(50%) rotate(180deg)}.board-wrapper.rotated .shadow-protected-indicator{top:min(6px,.48vh,.6vw);right:min(6px,.48vh,.6vw);bottom:auto;left:auto}.board-wrapper.rotated .infiltrator-indicator,.board-wrapper.rotated .wayfinder-indicator{top:min(6px,.48vh,.6vw);left:50%;bottom:auto;right:auto;transform:translate(-50%) rotate(180deg)}.mercenary-piece-art{position:absolute;left:0;top:-50%;width:100%;height:150%;object-fit:cover;pointer-events:none;z-index:0;opacity:.95}.board-wrapper.rotated .mercenary-piece-art{top:0;transform:rotate(180deg)}.board-wrapper.rotated .attachment-indicator{top:auto;left:auto;bottom:min(44px,3.44vh);right:min(6px,.48vh)}.board-wrapper.rotated .royal-health-bar{transform:translate(-50%) rotate(180deg);bottom:auto;top:min(6px,.48vh)}.board-wrapper.rotated .file-label,.board-wrapper.rotated .rank-label{transform:rotate(180deg)}.board-with-ranks{display:flex;gap:0}.file-labels,.rank-labels{display:flex;color:#6e5b47;font-weight:600;font-size:16px;opacity:.5}.file-labels{gap:0}.file-labels.top{margin-bottom:min(-8px,-.65vh,-.8vw);padding-left:min(38px,3.1vh,3.8vw);padding-right:min(38px,3.1vh,3.8vw)}.file-labels.bottom{margin-top:min(-8px,-.65vh,-.8vw);padding-left:min(38px,3.1vh,3.8vw);padding-right:min(38px,3.1vh,3.8vw)}.rank-labels{flex-direction:column;gap:0;justify-content:space-around;padding-top:min(38px,3.1vh,3.8vw);padding-bottom:min(38px,3.1vh,3.8vw)}.rank-labels.left{margin-right:min(-8px,-.65vh,-.8vw)}.rank-labels.right{margin-left:min(-8px,-.65vh,-.8vw)}.file-label,.rank-label{display:flex;align-items:center;justify-content:center}.file-label{width:min(100px,8vh,10vw);height:min(24px,3vh);font-size:min(16px,2vh,3vw)}.rank-label{width:min(24px,3vh);height:min(100px,8vh,10vw);font-size:min(16px,2vh,3vw)}.corner-space{width:min(24px,3vh);height:min(24px,3vh)}.board{--board-padding: min(38px, 3.1vh, 3.8vw);display:grid;grid-template-columns:repeat(8,min(100px,8vh,10vw));grid-template-rows:repeat(8,min(100px,8vh,10vw));border:none;max-width:calc(100vw - 16px);position:relative;box-sizing:content-box;padding:var(--board-padding);background-image:url(/assets/boards/board_art_placeholder.png);background-size:100% 100%;background-position:center;background-repeat:no-repeat}.board.board-shake-a{animation:board-shake-a .3s ease-out}.board.board-shake-b{animation:board-shake-b .3s ease-out}@keyframes board-shake-a{0%,to{transform:translate(0)}10%{transform:translate(-2px,-1px)}20%{transform:translate(2px,1px)}30%{transform:translate(-1px,2px)}40%{transform:translate(1px,-1px)}50%{transform:translate(-2px,1px)}60%{transform:translate(1px,-2px)}70%{transform:translate(-1px,1px)}80%{transform:translate(2px,-1px)}90%{transform:translate(-1px,-1px)}}@keyframes board-shake-b{0%,to{transform:translate(0)}10%{transform:translate(-2px,-1px)}20%{transform:translate(2px,1px)}30%{transform:translate(-1px,2px)}40%{transform:translate(1px,-1px)}50%{transform:translate(-2px,1px)}60%{transform:translate(1px,-2px)}70%{transform:translate(-1px,1px)}80%{transform:translate(2px,-1px)}90%{transform:translate(-1px,-1px)}}.piece.attack-clash{transition:transform .15s cubic-bezier(.4,0,.6,1);z-index:200;filter:brightness(1.15)}.piece.attack-ranged-idle{filter:brightness(1)}.piece.attack-advance-kill{animation:attack-advance-kill .35s cubic-bezier(.2,0,.3,1) forwards;z-index:200}@keyframes attack-advance-kill{0%{filter:brightness(1.2)}60%{transform:translate(0) scale(1.15);filter:brightness(1.4) drop-shadow(0 0 10px rgba(255,200,100,.9))}80%{transform:translate(0) scale(1.2);filter:brightness(1.3) drop-shadow(0 0 8px rgba(255,200,100,.7))}to{transform:translate(0) scale(1);filter:brightness(1)}}.piece.attack-slam{animation:attack-slam .3s cubic-bezier(.25,.1,.25,1) forwards;z-index:200}@keyframes attack-slam{0%{transform:scale(1);filter:brightness(1.2)}40%{transform:scale(1.2);filter:brightness(1.4) drop-shadow(0 0 8px rgba(255,200,100,.8))}60%{transform:scale(1.05);filter:brightness(1.1)}to{transform:scale(1);filter:brightness(1)}}.piece.attack-killed-fade{animation:attack-killed-fade .35s ease-out forwards;z-index:150}@keyframes attack-killed-fade{0%{opacity:.7;transform:scale(1);filter:brightness(1.3) drop-shadow(0 0 10px rgba(255,100,100,.8))}30%{opacity:.5;transform:scale(.95);filter:brightness(1.1) drop-shadow(0 0 8px rgba(255,100,100,.6))}to{opacity:0;transform:scale(.8);filter:brightness(.8)}}.piece.attack-recoil{animation:attack-recoil .25s ease-out forwards;z-index:200}@keyframes attack-recoil{0%{transform:translate(0);filter:brightness(1.15)}30%{filter:brightness(1.1)}to{transform:translate(0);filter:brightness(1)}}.piece.attack-wounded-recoil{animation:wounded-recoil .4s ease-out forwards;z-index:150}@keyframes wounded-recoil{0%{transform:scale(1);filter:brightness(1)}15%{transform:scale(.85);filter:brightness(.7) sepia(.3)}30%{transform:scale(.9);filter:brightness(.8) sepia(.2)}50%{transform:scale(1.08);filter:brightness(1.1)}to{transform:scale(1);filter:brightness(1)}}.piece.attack-damage-shake{animation:damage-shake .45s ease-out forwards;z-index:150}.piece.morale-hit:after{content:"";position:absolute;top:6%;right:6%;bottom:6%;left:6%;border-radius:50%;pointer-events:none;z-index:4;background:radial-gradient(circle,#8b453d6b,#8b453d29 55%,#8b453d00);animation:morale-piece-flash .42s ease-out forwards}@keyframes morale-piece-flash{0%{opacity:0;transform:scale(.85)}30%{opacity:1;transform:scale(1.05)}to{opacity:0;transform:scale(1.16)}}@keyframes damage-shake{0%{transform:translate(0);filter:brightness(1)}5%{filter:brightness(1.5) saturate(.5)}10%{transform:translate(-5px);filter:brightness(.9)}20%{transform:translate(5px);filter:brightness(1.1)}30%{transform:translate(-4px)}40%{transform:translate(4px)}50%{transform:translate(-3px)}60%{transform:translate(3px)}70%{transform:translate(-2px)}80%{transform:translate(2px)}90%{transform:translate(-1px)}to{transform:translate(0);filter:brightness(1)}}.clash-spark{position:absolute;width:min(60px,4.8vh,6vw);height:min(60px,4.8vh,6vw);pointer-events:none;z-index:250;animation:clash-spark .3s ease-out forwards}.acorn-projectile{position:absolute;width:min(14px,1.1vh,1.4vw);height:min(14px,1.1vh,1.4vw);margin-left:calc(min(14px,1.1vh,1.4vw)/-2);margin-top:calc(min(14px,1.1vh,1.4vw)/-2);border-radius:50%;background:radial-gradient(circle at 35% 35%,#f2d2a2,#a56d3a 60%,#6b4428);pointer-events:none;z-index:260;animation:acorn-flight .18s linear forwards}@keyframes acorn-flight{0%{transform:translate(var(--acorn-start-dx),var(--acorn-start-dy)) scale(.92);opacity:0}12%{transform:translate(var(--acorn-start-dx),var(--acorn-start-dy)) scale(.94);opacity:.9}to{transform:translate(var(--acorn-dx),var(--acorn-dy)) scale(1);opacity:.92}}.acorn-impact{position:absolute;width:min(36px,2.9vh,3.6vw);height:min(36px,2.9vh,3.6vw);margin-left:calc(min(36px,2.9vh,3.6vw)/-2);margin-top:calc(min(36px,2.9vh,3.6vw)/-2);border-radius:50%;pointer-events:none;z-index:255;animation:acorn-impact .22s ease-out forwards;background:radial-gradient(circle,#ffe2acd9,#dd9d5173 45%,#dd9d5100 75%)}@keyframes acorn-impact{0%{box-shadow:0 0 #ffd27ed9,0 0 16px #ffd27ecc;opacity:.95;transform:scale(.35)}to{box-shadow:0 0 0 min(18px,1.4vh,1.8vw) #ffd27e00,0 0 #ffd27e00;opacity:0;transform:scale(1.15)}}.clash-spark:before,.clash-spark:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%}.clash-spark:before{width:100%;height:100%;background:radial-gradient(circle,rgba(255,240,180,.9) 0%,rgba(255,200,100,.6) 30%,rgba(255,150,50,.3) 60%,transparent 100%);animation:spark-flash .2s ease-out forwards}.clash-spark:after{width:30%;height:30%;background:#fffffff2;animation:spark-core .15s ease-out forwards}@keyframes clash-spark{0%{opacity:1;transform:scale(.5)}50%{opacity:1;transform:scale(1.2)}to{opacity:0;transform:scale(1.5)}}@keyframes spark-flash{0%{transform:translate(-50%,-50%) scale(.3);opacity:1}50%{transform:translate(-50%,-50%) scale(1);opacity:.8}to{transform:translate(-50%,-50%) scale(1.3);opacity:0}}@keyframes spark-core{0%{transform:translate(-50%,-50%) scale(.5);opacity:1}to{transform:translate(-50%,-50%) scale(.1);opacity:0}}.board-square{display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;transition:all .15s ease}.board-square.has-animating-piece{z-index:100}.board-square.light{background-color:#ebe4d159}.board-square.dark{background-color:#d4c5a059}.board-square.selected{filter:brightness(1.1);position:relative}.board-square.selected:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 80% at center,rgba(107,142,78,.45) 0%,rgba(107,142,78,.3) 40%,rgba(107,142,78,.1) 70%,transparent 100%);pointer-events:none;z-index:0}.board-square.valid-move:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 75% 75% at center,rgba(107,142,78,.4) 0%,rgba(107,142,78,.25) 40%,rgba(107,142,78,.08) 70%,transparent 100%);pointer-events:none}.board-square.valid-move:hover:after{background:radial-gradient(ellipse 75% 75% at center,rgba(107,142,78,.55) 0%,rgba(107,142,78,.35) 40%,rgba(107,142,78,.12) 70%,transparent 100%)}.board-square.attack-target:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 75% 75% at center,rgba(176,50,50,.45) 0%,rgba(176,50,50,.28) 40%,rgba(176,50,50,.1) 70%,transparent 100%);pointer-events:none}.board-square.attack-target:hover:after{background:radial-gradient(ellipse 75% 75% at center,rgba(196,60,60,.58) 0%,rgba(196,60,60,.38) 40%,rgba(196,60,60,.14) 70%,transparent 100%)}.board-square.highlighted{position:relative}.board-square.highlighted:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 80% at center,rgba(255,152,0,.45) 0%,rgba(255,152,0,.25) 40%,rgba(255,152,0,.08) 70%,transparent 100%);pointer-events:none;z-index:0}.board-square.attack-range-hint:not(.valid-move):not(.attack-target):after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 75% 75% at center,rgba(170,50,50,.35) 0%,rgba(170,50,50,.2) 40%,rgba(170,50,50,.07) 70%,transparent 100%);pointer-events:none}.board-square.movement-path{position:relative}.board-square.movement-path:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 75% 75% at center,rgba(100,160,220,.25) 0%,rgba(100,160,220,.12) 50%,rgba(100,160,220,.03) 80%,transparent 100%);pointer-events:none;z-index:1}.board-square.path-start{position:relative}.board-square.path-start:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 80% at center,rgba(80,140,200,.5) 0%,rgba(80,140,200,.3) 40%,rgba(80,140,200,.08) 75%,transparent 100%);pointer-events:none;z-index:1}.board-square.path-end{position:relative}.board-square.path-end:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 80% at center,rgba(90,170,110,.5) 0%,rgba(90,170,110,.3) 40%,rgba(90,170,110,.08) 75%,transparent 100%);pointer-events:none;z-index:1}@keyframes path-pulse{0%,to{background:radial-gradient(ellipse 75% 75% at center,rgba(100,160,220,.2) 0%,rgba(100,160,220,.1) 50%,rgba(100,160,220,.02) 80%,transparent 100%)}50%{background:radial-gradient(ellipse 75% 75% at center,rgba(100,160,220,.35) 0%,rgba(100,160,220,.18) 50%,rgba(100,160,220,.05) 80%,transparent 100%)}}@keyframes path-start-glow{0%,to{background:radial-gradient(ellipse 80% 80% at center,rgba(80,140,200,.4) 0%,rgba(80,140,200,.2) 40%,rgba(80,140,200,.05) 75%,transparent 100%)}50%{background:radial-gradient(ellipse 80% 80% at center,rgba(80,140,200,.6) 0%,rgba(80,140,200,.35) 40%,rgba(80,140,200,.1) 75%,transparent 100%)}}@keyframes path-end-glow{0%,to{background:radial-gradient(ellipse 80% 80% at center,rgba(90,170,110,.4) 0%,rgba(90,170,110,.2) 40%,rgba(90,170,110,.05) 75%,transparent 100%)}50%{background:radial-gradient(ellipse 80% 80% at center,rgba(90,170,110,.6) 0%,rgba(90,170,110,.35) 40%,rgba(90,170,110,.1) 75%,transparent 100%)}}.ghost-piece{position:absolute;width:min(100px,8vh,10vw);height:min(100px,8vh,10vw);display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:100;opacity:0}.ghost-piece.ghost-piece-waypoint{transition:opacity .35s ease-out}.ghost-piece.ghost-piece-waypoint.visible{opacity:.7}.ghost-piece.ghost-piece-waypoint.transitioning{transition:left 1s ease-in-out,top 1s ease-in-out,opacity .35s ease-out}.ghost-piece.ghost-piece-waypoint.fading-out{opacity:0;transition:opacity .35s ease-in}.kill-position-marker{position:absolute;width:min(100px,8vh,10vw);height:min(100px,8vh,10vw);display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:15}.kill-skull-icon{font-size:min(40px,3.2vh,4vw);color:#8b3a3a;filter:drop-shadow(0 0 4px rgba(139,58,58,.7));animation:skull-pulse 1.5s ease-in-out infinite}@keyframes skull-pulse{0%,to{opacity:.9;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.piece.defeated-piece-remnant{pointer-events:none;width:min(100px,8vh,10vw);height:min(100px,8vh,10vw);display:flex;align-items:center;justify-content:center}.piece.defeated-piece-remnant .piece-icon{width:min(77px,5vh);height:min(77px,5vh)}.ghost-piece .piece-icon{width:min(77px,5vh);height:min(77px,5vh);filter:brightness(1.2) drop-shadow(0 0 8px rgba(100,180,255,.8)) drop-shadow(0 0 4px rgba(100,180,255,.6))}.ghost-piece.player1 .piece-icon{filter:brightness(1.1) sepia(.4) saturate(.8) hue-rotate(25deg) drop-shadow(0 0 10px rgba(100,180,255,.9)) drop-shadow(0 0 5px rgba(255,255,255,.6))}.ghost-piece.player2 .piece-icon{filter:brightness(.9) drop-shadow(0 0 10px rgba(100,180,255,.9)) drop-shadow(0 0 5px rgba(139,69,61,.6))}.piece{font-size:min(77px,6.16vh);line-height:1;position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.piece.preview-piece{pointer-events:none;opacity:.76;filter:saturate(.85) brightness(1.04)}.piece.preview-piece .piece-icon{transform:scale(.94);filter:drop-shadow(0 0 8px rgba(255,196,92,.45)) drop-shadow(0 2px 4px rgba(0,0,0,.22))}.board-wrapper.rotated .piece.preview-piece .piece-icon{transform:rotate(180deg) scale(.94)}.piece.animating{transition:transform .4s cubic-bezier(.4,0,.2,1)}.piece-icon{pointer-events:none;transition:filter .2s ease,transform .1s ease;position:relative;z-index:2;width:min(77px,5vh);height:min(77px,5vh)}.piece-icon.player1-piece{filter:brightness(.95) sepia(.4) saturate(.8) hue-rotate(25deg) drop-shadow(1px -2px 3px rgba(249,245,229,.9))}.piece-icon.player2-piece{filter:brightness(.35) sepia(.7) saturate(1.1) hue-rotate(15deg) drop-shadow(1px -2px 3px rgba(249,245,229,.9))}.piece:hover .piece-icon{transform:scale(1.1)}.piece.player1{color:#f9f5e5;text-shadow:-2px -2px 0 #493a30,2px -2px 0 #493a30,-2px 2px 0 #493a30,2px 2px 0 #493a30,0 0 8px rgba(73,58,48,.9);font-weight:700}.piece.player2{color:#493a30;text-shadow:-2px -2px 0 #fff,2px -2px 0 #fff,-2px 2px 0 #fff,2px 2px 0 #fff,0 0 8px rgba(255,255,255,.9);font-weight:700}.board-square.hovered-piece{position:relative}.board-square.hovered-piece:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 80% at center,rgba(255,200,50,.4) 0%,rgba(255,200,50,.2) 40%,rgba(255,200,50,.06) 70%,transparent 100%);pointer-events:none;z-index:0}.wound-indicator{position:absolute;top:62%;left:50%;transform:translate(-50%,-50%);display:flex;z-index:3;width:min(28px,2.24vh,2.8vw);height:min(28px,2.24vh,2.8vw)}.wound-indicator img{width:100%;height:100%}.moved-indicator{position:absolute;top:70%;right:min(6px,.48vh,.6vw);transform:translateY(-50%);display:flex;z-index:3;font-size:min(18px,1.44vh,1.8vw);opacity:.9;text-shadow:none;color:#877a5b;filter:drop-shadow(0 2px 2px rgba(255,255,255,.5))}.invoke-indicator{position:absolute;bottom:min(6px,.48vh,.6vw);left:min(6px,.48vh,.6vw);display:flex;z-index:3;width:min(28px,2.24vh,2.8vw);height:min(28px,2.24vh,2.8vw);opacity:.85}.invoke-indicator img{width:100%;height:100%;filter:invert(50%) sepia(20%) saturate(800%) hue-rotate(60deg) brightness(85%) contrast(85%) drop-shadow(0 2px 2px rgba(255,255,255,.3))}.piece.invoked .piece-icon,.piece.invoked .mercenary-piece-art{opacity:.85}.disarmed-indicator{position:absolute;top:30%;right:min(6px,.48vh,.6vw);transform:translateY(-50%);display:flex;z-index:3;font-size:min(18px,1.44vh,1.8vw);opacity:.9;color:#b8594f;filter:drop-shadow(0 2px 2px rgba(0,0,0,.4))}.piece.disarmed .piece-icon,.piece.disarmed .mercenary-piece-art{opacity:.75}.shadow-protected-indicator{position:absolute;bottom:min(6px,.48vh,.6vw);left:min(6px,.48vh,.6vw);display:flex;z-index:3;font-size:min(18px,1.44vh,1.8vw);opacity:.9;color:#524766;filter:drop-shadow(0 2px 2px rgba(255,255,255,.5))}.infiltrator-indicator{position:absolute;bottom:min(2px,.16vh,.2vw);left:50%;transform:translate(-50%);display:flex;z-index:3;font-size:min(16px,1.28vh,1.6vw);opacity:.9;color:#b5c4a1;filter:drop-shadow(0 2px 2px rgba(255,255,255,.5))}.wayfinder-indicator{position:absolute;bottom:min(2px,.16vh,.2vw);left:50%;transform:translate(-50%);display:flex;z-index:3;font-size:min(16px,1.28vh,1.6vw);opacity:.9;color:#a67c52;filter:drop-shadow(0 2px 2px rgba(255,255,255,.5))}.attachment-indicator{position:absolute;top:min(44px,3.44vh);left:min(6px,.48vh);display:flex;gap:min(4px,.32vh);pointer-events:none;z-index:3}.equipment-dot{width:min(11px,.88vh);height:min(11px,.88vh);border-radius:50%;background-color:#524766;border:1px solid rgba(82,71,102,.8)}.partner-dot{width:min(11px,.88vh);height:min(11px,.88vh);border-radius:min(3px,.24vh);background-color:#6e3e2b;border:1px solid rgba(110,62,43,.8)}.partner-dot.light{background-color:#8c5640;border-color:#8c5640cc}.strength-indicator{position:absolute;top:min(6px,.6vh);left:min(6px,.6vh);background-color:#6e3e2b;color:#f9f5e5;font-size:min(26px,2.08vh);font-weight:700;width:min(37px,2.6vh);height:min(37px,2.6vh);border-radius:min(6px,.48vh);display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:1;text-shadow:none}.strength-indicator.light{background-color:#8c5640}.strength-indicator.royal{background-color:#8b6914;color:#fff8dc;box-shadow:0 2px 4px #0000004d}.strength-indicator.royal.light{background-color:#a07a1a}.strength-indicator.pawn{opacity:0;transform:translate(calc(min(100px,8vh,10vw)/2 - (min(37px,2.6vh)/2) - min(6px,.6vh)),calc(min(100px,8vh,10vw)/2 - (min(37px,2.6vh)/2) - min(6px,.6vh))) scale(.5);transition:opacity .25s ease,transform .25s ease;pointer-events:none}.strength-indicator.pawn.show{opacity:1;transform:none}.board-wrapper.rotated .strength-indicator.pawn{top:auto;left:auto;bottom:min(6px,.6vh);right:min(6px,.6vh);opacity:0;transform:rotate(180deg) translate(calc(min(100px,8vh,10vw)/2 - (min(37px,2.6vh)/2) - min(6px,.6vh)),calc(min(100px,8vh,10vw)/2 - (min(37px,2.6vh)/2) - min(6px,.6vh))) scale(.5);transition:opacity .25s ease,transform .25s ease}.board-wrapper.rotated .strength-indicator.pawn.show{top:auto;left:auto;bottom:min(6px,.6vh);right:min(6px,.6vh);opacity:1;transform:rotate(180deg)}.strength-indicator.modified{pointer-events:auto;cursor:help}.royal-health-bar{position:absolute;bottom:min(6px,.48vh);left:50%;transform:translate(-50%);width:min(60px,4.8vh);height:min(8px,.64vh);background-color:#0009;border-radius:min(4px,.32vh);overflow:hidden;z-index:3;border:1px solid rgba(0,0,0,.6);box-shadow:0 1px 3px #0006}.royal-health-fill{height:100%;background:linear-gradient(180deg,#549154,#438a43);border-radius:min(3px,.24vh);transition:width .3s ease;box-shadow:inset 0 1px 1px #ffffff4d}.royal-health-bar.mid .royal-health-fill{background:linear-gradient(180deg,#e6b82e,#b89420)}.royal-health-bar.low .royal-health-fill{background:linear-gradient(180deg,#e65a5a,#c93a3a)}.royal-health-bar.morale-hit .royal-health-fill{background:linear-gradient(180deg,#e65a5a,#c93a3a);box-shadow:inset 0 1px 1px #e4a4a159,0 0 6px #8b453d73;animation:royal-health-morale-flash .42s ease-out}@keyframes royal-health-morale-flash{0%{filter:saturate(1.15) brightness(1.25)}to{filter:saturate(1) brightness(1)}}.wound-indicator img{filter:invert(29%) sepia(25%) saturate(1485%) hue-rotate(305deg) brightness(90%) contrast(88%)}.move-indicator{font-size:min(46px,3.68vh);color:#493a30b3;line-height:1;display:flex;align-items:center;justify-content:center;font-weight:700}.move-indicator:before{content:"↑"}.move-indicator.direction-n{transform:rotate(0)}.move-indicator.direction-ne{transform:rotate(45deg)}.move-indicator.direction-e{transform:rotate(90deg)}.move-indicator.direction-se{transform:rotate(135deg)}.move-indicator.direction-s{transform:rotate(180deg)}.move-indicator.direction-sw{transform:rotate(225deg)}.move-indicator.direction-w{transform:rotate(270deg)}.move-indicator.direction-nw{transform:rotate(315deg)}.board-wrapper.rotated .move-indicator.direction-n{transform:rotate(0)}.board-wrapper.rotated .move-indicator.direction-ne{transform:rotate(45deg)}.board-wrapper.rotated .move-indicator.direction-e{transform:rotate(90deg)}.board-wrapper.rotated .move-indicator.direction-se{transform:rotate(135deg)}.board-wrapper.rotated .move-indicator.direction-s{transform:rotate(180deg)}.board-wrapper.rotated .move-indicator.direction-sw{transform:rotate(225deg)}.board-wrapper.rotated .move-indicator.direction-w{transform:rotate(270deg)}.board-wrapper.rotated .move-indicator.direction-nw{transform:rotate(315deg)}.capture-indicator{position:absolute;width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:min(77px,6.16vh);color:#b8594fcc;font-weight:700;pointer-events:none;z-index:10}.piece-symbol{display:block}.card-focus-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);pointer-events:none}.card-focus-container{max-width:90vw;max-height:90vh;display:flex;align-items:center;justify-content:center}.card-focus-image{width:600px;height:840px;border-radius:16px;background-size:800% 600%;background-repeat:no-repeat;box-shadow:0 20px 60px #00000080;animation:zoomIn .2s ease-out}@media (max-width: 900px){.piece{font-size:48px}.piece-icon{max-width:90%;max-height:90%}.strength-indicator{font-size:16px;width:24px;height:24px;top:3px;left:3px}.attachment-indicator{top:27px;left:3px;gap:2px}.royal-health-bar{bottom:3px;width:40px;height:5px}.equipment-dot,.partner-dot{width:7px;height:7px}.move-indicator{font-size:28px}.capture-indicator{font-size:48px}.file-labels,.rank-labels{font-size:14px}}@media (max-width: 600px){.piece{font-size:40px}.piece-icon{max-width:85%;max-height:85%}.strength-indicator{font-size:14px;width:20px;height:20px;top:2px;left:2px;border-radius:3px}.attachment-indicator{top:21px;left:2px;gap:2px}.royal-health-bar{bottom:2px;width:32px;height:4px}.equipment-dot,.partner-dot{width:6px;height:6px}.move-indicator{font-size:24px}.capture-indicator{font-size:40px}.file-labels,.rank-labels{font-size:12px;font-weight:500}.board{border-width:1px}.board-wrapper.rotated .attachment-indicator{bottom:21px;right:2px}.board-wrapper.rotated .royal-health-bar{top:2px;bottom:auto}.board-wrapper.rotated .strength-indicator.pawn{transform:rotate(180deg) scale(.3) translate(min(-100px,-8vh),min(-100px,-8vh))!important}.board-wrapper.rotated .strength-indicator.pawn.show{transform:rotate(180deg) scale(100) translate(0)!important}.card-focus-image{width:min(400px,80vw);height:min(560px,112vw)}.attachment-card{width:min(200px,70vw);height:min(280px,98vw)}.card-focus-attachments{margin-left:16px;padding:16px;gap:12px}.attachments-label{font-size:20px;margin-bottom:4px;padding-bottom:8px}.attachments-list{gap:12px;padding:4px}}@media (max-width: 400px){.piece{font-size:32px}.strength-indicator{font-size:12px;width:18px;height:18px}.file-labels,.rank-labels{font-size:10px}}.board-ping{position:absolute;pointer-events:none;z-index:100;transform:translate(-50%,-50%)}.ping-ring{position:absolute;width:60px;height:60px;border-radius:50%;border:3px solid;animation:ping-expand 1s ease-out forwards;transform:translate(-50%,-50%)}.ping-ring.ring-1{animation-delay:0s}.ping-ring.ring-2{animation-delay:.15s}.ping-ring.ring-3{animation-delay:.3s}.board-ping.player1 .ping-ring{border-color:#ffd764e6;box-shadow:0 0 10px #ffd76499,inset 0 0 10px #ffd7644d}.board-ping.player2 .ping-ring{border-color:#64b4ffe6;box-shadow:0 0 10px #64b4ff99,inset 0 0 10px #64b4ff4d}.ping-center{position:absolute;width:12px;height:12px;border-radius:50%;transform:translate(-50%,-50%);animation:ping-center-pulse 1s ease-out forwards}.board-ping.player1 .ping-center{background:radial-gradient(circle,#ffe696,#ffc850cc);box-shadow:0 0 15px #ffd764cc}.board-ping.player2 .ping-center{background:radial-gradient(circle,#96c8ff,#5096ffcc);box-shadow:0 0 15px #64b4ffcc}@keyframes ping-expand{0%{width:20px;height:20px;opacity:1}to{width:100px;height:100px;opacity:0}}@keyframes ping-center-pulse{0%{transform:translate(-50%,-50%) scale(1);opacity:1}50%{transform:translate(-50%,-50%) scale(1.5);opacity:.8}to{transform:translate(-50%,-50%) scale(.5);opacity:0}}.piece.deploy-drop{animation:piece-deploy-drop .45s cubic-bezier(.22,1,.36,1) forwards}@keyframes piece-deploy-drop{0%{transform:translateY(-80px) scale(.6);opacity:0}50%{opacity:1}75%{transform:translateY(4px) scale(1.05)}to{transform:translateY(0) scale(1);opacity:1}}.piece.equip-wiggle{animation:piece-equip-wiggle .5s ease-in-out}@keyframes piece-equip-wiggle{0%{transform:translateY(0) rotate(0)}15%{transform:translateY(-6px) rotate(-4deg)}30%{transform:translateY(0) rotate(3deg)}50%{transform:translateY(-3px) rotate(-2deg)}70%{transform:translateY(0) rotate(1deg)}to{transform:translateY(0) rotate(0)}}.card-tooltip{position:fixed;background:linear-gradient(135deg,#ffffffd9,#f9f5e5d9);border:2px solid #c9c4b8;border-radius:12px;padding:16px 16px 0;min-width:280px;max-width:320px;box-shadow:0 8px 32px #493a304d;color:#493a30;font-family:var(--font-primary);z-index:10001;pointer-events:none;animation:tooltipFadeIn .25s ease;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}@keyframes tooltipFadeIn{0%{opacity:0}to{opacity:.85!important}}.tooltip-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(73,58,48,.1)}.tooltip-title{font-family:var(--font-card-name);font-size:18px;font-weight:700;color:#493a30;flex:1;margin-left:10px;margin-right:10px}.tooltip-badges{display:flex;align-items:center;gap:6px}.tooltip-cost{display:flex;align-items:center;gap:4px;background:#44653026;padding:4px 10px;border-radius:16px;font-size:16px;font-weight:700;border:1px solid rgba(68,101,48,.5);color:#446530}.tooltip-cost.has-reduction{background:linear-gradient(90deg,#c8e6c84d,#44653026);border-color:#5a9a5a}.tooltip-cost .original-cost{text-decoration:line-through;opacity:.5;color:#666;font-size:14px;margin-right:2px}.tooltip-cost .reduced-cost{color:#2a8a2a;font-weight:700}.tooltip-cost-modifiers{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;padding:6px 8px;background:#50b4501a;border-radius:6px;border-left:2px solid #5a9a5a}.cost-modifier-source{display:flex;align-items:center;gap:4px;font-size:12px}.modifier-source-name{color:#446530;font-weight:500}.modifier-reduction{color:#2a8a2a;font-weight:700}.tooltip-strength{display:flex;align-items:center;gap:4px;background:#96323226;padding:4px 10px;border-radius:16px;font-size:16px;font-weight:700;border:1px solid rgba(150,50,50,.5);color:#963232}.tooltip-type-row{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}.tooltip-type{display:inline-block;padding:4px 12px;border-radius:6px;font-size:12px;font-weight:700;color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.tooltip-stats{font-weight:400;opacity:.9}.tooltip-keywords{display:flex;flex-wrap:wrap;gap:6px}.tooltip-keyword{background:#4465301a;padding:4px 10px;border-radius:6px;font-size:12px;border:1px solid rgba(68,101,48,.3)}.keyword-name{font-weight:600;text-transform:capitalize;color:#c9a961}.tooltip-ability-name{font-size:13px;font-weight:600;color:#8b6914;margin-bottom:8px;padding:6px 8px;background:#c9a96126;border-radius:6px;border-left:2px solid #c9a961}.tooltip-text{font-size:14px;line-height:1.6;color:#444;margin-bottom:12px;padding:8px;background:#ede8d866;border-radius:6px;border-left:3px solid #c9a961}.tooltip-keyword-details{margin-top:12px;padding-top:12px;padding-bottom:16px;border-top:1px solid rgba(73,58,48,.1)}.keyword-detail{font-family:var(--font-helper);font-size:12px;font-style:italic;line-height:1.5;color:#666;margin-bottom:8px}.keyword-detail:last-child{margin-bottom:0}.keyword-detail strong{font-family:var(--font-primary);font-style:normal;color:#c9a961;font-weight:600}.text-bold{font-weight:700;color:#493a30}.stat-badge{display:inline-flex;align-items:center;vertical-align:middle;margin:0 .1em .1em;line-height:inherit}.stat-badge-rounded{display:inline-flex;align-items:center;vertical-align:middle;margin:0 .15em;background-color:#fff;border-color:#73412e;border-radius:.24em;border-style:solid;border-width:0em;box-shadow:0 .04em .55em #73412e2e;color:#493a30;padding:.15em .5em .1em;font-family:Averia Libre,serif;font-weight:700;gap:.2em;font-size:.9em;line-height:1;height:1.4em}.number-badge-rounded{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;margin:0 .15em;background-color:#73412e;border-color:#73412e;border-radius:.24em;border-style:solid;border-width:0em;box-shadow:0 .04em .55em #73412e2e;color:#fff;padding:.15em .4em .1em;font-family:Poppins,sans-serif;font-weight:700;font-size:.9em;line-height:1;height:1.4em}.stat-left{background-color:#73412e;border-color:#73412e;border-radius:.24em 0 0 .24em;border-style:solid;border-width:0em;box-shadow:0 .04em .55em #73412e2e;color:#fff;padding:.15em .4em .1em;font-family:Poppins,sans-serif;font-weight:700;display:inline-flex;align-items:center;justify-content:center;font-size:.9em;line-height:1;height:1.4em}.stat-right{background-color:#fff;border-color:#73412e;border-radius:0 .24em .24em 0;border-style:solid;border-width:0em;box-shadow:0 .04em .55em #73412e2e;color:#493a30;padding:.15em .4em .1em;font-family:Averia Libre,serif;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:.2em;font-size:.9em;line-height:1;height:1.4em}.text-green{color:#1a92ce;font-weight:700;display:inline-flex;align-items:center;vertical-align:bottom;white-space:nowrap;margin-bottom:-.1em;font-size:.9em}.stat-label{margin-right:.2em}.strength-icon{font-size:1.15em;line-height:1}.morale-icon{font-size:1.15em;line-height:1;filter:grayscale(1);opacity:.8}.stat-text{font-size:.9em;font-weight:700;letter-spacing:.02em}.text-help{color:#888;font-family:var(--font-helper);font-style:italic;font-size:.95em}.text-royal{color:#8b6914;font-weight:700}.text-sigil-icon,.text-sigil-cost{display:inline-flex;align-items:center;gap:2px;font-weight:600;color:#446530;vertical-align:middle}.text-icon{display:inline-flex;align-items:center;margin:0 2px;vertical-align:middle}.text-icon.no-margin{margin:0}.battlefield-area{margin-top:14px;margin-bottom:14px;padding-top:12px;border-top:1px solid rgba(73,58,48,.1)}.battlefield-area h4{margin:0 0 8px;font-size:14px;color:#666;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.battlefield-cards{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start}.battlefield-card{display:flex;flex-direction:column;align-items:center;padding:6px;background:#ede8d880;border:2px solid rgba(73,58,48,.2);border-radius:6px;cursor:pointer;transition:all .2s ease;position:relative;flex:0 0 auto;min-width:82px;max-width:82px;box-sizing:border-box}.battlefield-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026;border-color:#6b8e4e99;background:#ede8d8cc}.battlefield-card-sprite{border-radius:4px;box-shadow:0 2px 4px #0003}.battlefield-card-name{font-family:var(--font-card-name);margin-top:4px;font-size:11px;font-weight:600;color:#493a30;text-align:center;max-width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fullscreen-card-preview{animation:fadeIn .15s ease-out}.fullscreen-card-sprite{filter:drop-shadow(0 10px 50px rgba(0,0,0,.8))}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media (max-width: 1200px){.battlefield-area h4{font-size:13px}.battlefield-card-sprite{width:60px!important;height:90px!important}.battlefield-card-name{font-size:10px;max-width:60px}}.battlefield-card.clickable{border-color:#c9a961cc;box-shadow:0 0 8px #c9a96166;animation:pulseGlow 2s ease-in-out infinite}.battlefield-card.clickable:hover{border-color:#c9a961;box-shadow:0 0 16px #c9a96199}@keyframes pulseGlow{0%,to{box-shadow:0 0 8px #c9a96166}50%{box-shadow:0 0 16px #c9a96199}}.battlefield-card-clickable-hint{position:absolute;bottom:-4px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#8b7355,#6b5535);color:#f4e4c1;font-family:var(--font-helper);font-size:9px;font-weight:600;padding:2px 6px;border-radius:4px;white-space:nowrap;text-transform:uppercase;letter-spacing:.5px;opacity:0;transition:opacity .2s ease;pointer-events:none}.battlefield-card.clickable:hover .battlefield-card-clickable-hint{opacity:1}@media (max-width: 900px){.battlefield-area{margin-top:12px;padding-top:10px}.battlefield-area h4{font-size:12px;margin-bottom:6px}.battlefield-cards{gap:6px}.battlefield-card{padding:4px}.battlefield-card-sprite{width:50px!important;height:75px!important}.battlefield-card-name{font-size:9px;max-width:50px;margin-top:2px}}@media (max-width: 600px){.battlefield-area h4{font-size:11px}.battlefield-card-sprite{width:45px!important;height:67.5px!important}.battlefield-card-name{font-size:8px;max-width:45px}}.activate-ability-button{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:linear-gradient(135deg,#6b8e4e,#4a6634);border:1px solid rgba(73,58,48,.3);border-radius:4px;color:#fff;font-size:11px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;position:relative;z-index:10}.activate-ability-button:hover:not(:disabled){background:linear-gradient(135deg,#7da05e,#5a7644);transform:translateY(-1px);box-shadow:0 2px 6px #6b8e4e66}.activate-ability-button:active:not(:disabled){transform:translateY(0)}.activate-ability-button.disabled{background:linear-gradient(135deg,#888,#666);cursor:not-allowed;opacity:.7}.activate-ability-button.compact{padding:3px 6px;font-size:10px}.ability-cost-inline{display:inline-flex;align-items:center;gap:2px}.ability-cost-inline:after{content:":";margin-left:1px;margin-right:2px}.ability-name{font-weight:500}.cost-sigil,.cost-invoke,.cost-discard{display:inline-flex;align-items:center;gap:1px;opacity:.95}.cost-sigil img,.cost-invoke img{filter:brightness(0) invert(1);width:12px;height:12px}.cost-count{font-size:9px;font-weight:700}.activate-ability-button[title]{position:relative}@keyframes abilityPulse{0%,to{box-shadow:0 0 #6b8e4e66}50%{box-shadow:0 0 0 4px #6b8e4e00}}.activate-ability-button.enabled:not(:hover){animation:abilityPulse 2s ease-in-out infinite}.slot-ability-row .activate-ability-button{padding:4px 10px;font-size:11px;border-radius:4px;background:linear-gradient(to bottom,#5a7a3d,#4a6633);box-shadow:0 1px 3px #0000004d}.slot-ability-row .activate-ability-button .cost-sigil img,.slot-ability-row .activate-ability-button .cost-invoke img{width:13px;height:13px}.slot-ability-row .activate-ability-button:hover:not(:disabled){background:linear-gradient(to bottom,#6b8e4e,#5a7a3d);transform:translateY(-1px)}.slot-ability-row .activate-ability-button.disabled{background:linear-gradient(to bottom,#666,#555);opacity:.6}.available-actions-section{background:#ede8d880;border-radius:6px;padding:10px;margin-top:8px}.available-actions-section.opponent{opacity:.7}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.section-title{font-size:12px;font-weight:600;color:#493a30;text-transform:uppercase;letter-spacing:.5px}.sigil-summary{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:#6b8e4e}.sigil-summary svg{fill:#6b8e4e}.sigil-count{font-variant-numeric:tabular-nums}.sigils-row{margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid rgba(73,58,48,.1)}.sigils-icons{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.sigil{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .3s ease}.sigil.active{background:linear-gradient(135deg,#5a8040,#446530);color:#fff;box-shadow:0 2px 6px #44653066}.sigil.active.invoked{background:linear-gradient(135deg,#7a9060,#668850);color:#f5f5f5;box-shadow:0 1px 3px #44653033;opacity:.35}.sigil.highlighted-affordable:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:6px;border:2px solid rgba(255,200,50,.9);box-shadow:0 0 8px #ffc83280,inset 0 0 4px #ffc83233;pointer-events:none;animation:glow-affordable 1.5s ease-in-out infinite}.sigil.highlighted-unaffordable:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:6px;border:2px solid rgba(180,100,60,.7);box-shadow:0 0 6px #b4643c4d,inset 0 0 4px #b4643c26;pointer-events:none}@keyframes glow-affordable{0%,to{box-shadow:0 0 8px #ffc83280}50%{box-shadow:0 0 14px #ffc832cc}}@keyframes pulse-unaffordable{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.waiting-message,.phase-message{text-align:center;font-size:11px;color:#888;padding:6px 0;font-style:italic}.phase-message{color:#6b8e4e;font-style:normal;font-weight:500}.actions-list{display:flex;flex-direction:column;gap:2px}.action-row{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:4px;transition:background .15s ease;font-size:12px}.action-row:hover{background:#493a3014}.action-icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center;font-size:11px;color:#8b7355}.action-row.available .action-icon{color:#6b8e4e}.action-row.unaffordable .action-icon{color:#c9a961}.action-row.unavailable .action-icon{color:#999;opacity:.5}.action-info{flex:1;display:flex;align-items:center;gap:6px;min-width:0}.action-label{color:#493a30;font-weight:500;font-size:12px}.action-row.available .action-label{color:#3d5c32}.action-row.unaffordable .action-label{color:#8b6914}.action-row.unavailable .action-label{color:#888}.action-count{font-size:10px;color:#888;font-weight:400}.action-status{display:flex;align-items:center;gap:3px;min-width:45px;justify-content:flex-end}.status-icon{font-size:9px}.status-icon.available{color:#4caf50}.status-icon.unaffordable{color:#c9a961}.status-icon.unavailable{color:#999}.cost-text{display:flex;align-items:center;gap:2px;font-size:11px;font-weight:600}.action-row.available .cost-text{color:#6b8e4e}.action-row.unaffordable .cost-text{color:#c9a961}.action-row .cost-text svg{fill:currentColor}.action-row.available .cost-text svg{fill:#6b8e4e}.action-row.unaffordable .cost-text svg{fill:#c9a961}.cost-number{font-variant-numeric:tabular-nums}.status-label{font-size:9px;color:#888;font-weight:400;max-width:60px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 280px){.available-actions-section{padding:8px}.sigils-icons{gap:3px}.action-row{padding:3px 4px;gap:6px}.action-label{font-size:11px}.action-count{display:none}}.player-panel{background:#fffffff2;border:2px solid rgba(73,58,48,.1);border-radius:8px;padding:min(16px,2vh);margin-top:40px;width:300px;font-size:clamp(12px,1.5vh,14px);transition:all .3s ease;overflow:visible;flex-shrink:0;align-self:flex-start}.player-panel.active{background:#fffffff2;border-color:#6b8e4e;box-shadow:0 0 20px #6b8e4e66}.player-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(73,58,48,.1)}.player-header h3{margin:0;font-size:18px;color:#493a30}.player-header-title{display:flex;align-items:center;gap:8px;min-width:0}.player-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;border:1px solid rgba(73,58,48,.2);flex-shrink:0}.player-avatar-fallback{width:28px;height:28px;border-radius:50%;background:#493a3033;color:#493a30;font-weight:700;font-size:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.active-indicator{color:#6b8e4e;font-size:12px;font-weight:700;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.player-stats{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.stat-item{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;background:#ede8d880;border-radius:4px;transition:all .2s ease}.stat-item.highlighted{box-shadow:inset 0 0 0 3px #ffc832e6,0 4px 12px #ffc83266;background:#ffc83226}.stat-item.king-health{font-weight:700}.stat-item.queen-deploy{cursor:default}.deploy-queen-button{padding:4px 12px;background:linear-gradient(135deg,#6b8e4e,#556e3e);color:#fff;border:none;border-radius:4px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.deploy-queen-button:hover:not(:disabled){background:linear-gradient(135deg,#7a9d5d,#647d4d);transform:translateY(-1px);box-shadow:0 2px 8px #6b8e4e66}.deploy-queen-button:active:not(:disabled){transform:translateY(0)}.deploy-queen-button:disabled{background:#c8c8c880;cursor:not-allowed;opacity:.6}.killed-label{color:#8b3a3a;font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:.5px}.stat-label{color:#666;font-size:14px;display:flex;align-items:center;gap:6px}.stat-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:#493a301a;border-radius:4px}.player-panel.player1 .stat-icon{background:#493a3040}.stat-value{color:#493a30;font-weight:700;font-size:16px}.turn-stats{display:flex;gap:8px;margin-bottom:14px;font-size:13px;color:#666;padding:8px;background:#ede8d866;border-radius:4px}.royalty-slots{margin-bottom:8px;position:relative;overflow:visible}.slot.royalty-slot{display:flex;flex-direction:column;gap:6px;padding:10px;background:#ede8d866;border:2px solid transparent;border-radius:6px;font-size:14px;color:#999;transition:all .2s ease;cursor:default;position:relative;overflow:clip}.slot.royalty-slot.player1 .slot-icon{background:#493a3040}.slot.royalty-slot .slot-info{flex:1}.slot.royalty-slot .slot-name{font-family:var(--font-card-name);font-weight:600;font-size:13px;color:#493a30}.slot.royalty-slot .slot-strength{font-size:12px;color:#666;font-weight:500}.royalty-health{display:flex;align-items:baseline;gap:2px;padding:4px 8px;background:#6b8e4e26;border-radius:4px;font-weight:700}.royalty-health .health-value{font-size:18px;color:#493a30}.royalty-health .health-max{font-size:12px;color:#888}.royalty-health .health-label{font-size:11px;color:#888;text-transform:uppercase}.slot-status{font-size:12px;color:#aaa}.slot-status.killed{color:#8b3a3a;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.slot.royalty-slot.killed{border-color:#8b3a3a4d;background:#8b3a3a14}.slot.royalty-slot.deployed{background:#f9f5e5e6;border-color:#6b8e4e66;color:#493a30}@media (max-width: 1200px){.player-panel{width:auto;min-width:min(220px,22vw);max-width:min(280px,28vw);padding:12px}}@media (max-width: 900px){.player-panel{min-width:min(200px,30vw);max-width:min(250px,35vw);padding:10px;font-size:12px}.player-header h3{font-size:16px}.stat-label{font-size:12px}.stat-value{font-size:14px}.turn-stats{font-size:11px;padding:6px}}@media (max-width: 600px){.player-panel{margin-top:0;min-width:min(180px,40vw);max-width:min(220px,45vw);padding:8px;font-size:11px}.player-header{margin-bottom:12px;padding-bottom:8px}.player-header h3{font-size:14px}.stat-item{padding:4px 6px}.stat-label{font-size:11px;gap:4px}.stat-value{font-size:13px}.stat-icon{width:20px;height:20px}.deploy-queen-button{padding:3px 8px;font-size:11px}.turn-stats{font-size:10px;padding:4px;gap:6px}}.stat-small{flex:1;text-align:center;padding:4px}.sigils-display{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;padding:10px;background:#ede8d880;border-radius:4px}.sigil{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:14px;border-radius:4px;transition:all .3s ease}.sigil .icon{width:20px;height:20px}.sigil.inactive{background:#c8c8c84d;color:#999}.sigil.active{background:linear-gradient(135deg,#5a8040,#446530);color:#fff;box-shadow:0 2px 8px #44653080}.sigil.active.invoked{background:linear-gradient(135deg,#7a9060,#668850);color:#f5f5f5;box-shadow:0 1px 4px #4465304d;opacity:.35}.sigil.highlighted-affordable{position:relative;animation:pulse-affordable 1.5s ease-in-out infinite}.sigil.highlighted-affordable:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:7px;border:3px solid rgba(255,200,50,.9);box-shadow:0 0 12px #ffc83299,inset 0 0 8px #ffc8324d;pointer-events:none;animation:glow-affordable 1.5s ease-in-out infinite}.sigil.highlighted-unaffordable{position:relative;animation:pulse-unaffordable 1.5s ease-in-out infinite}.sigil.highlighted-unaffordable:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:7px;border:3px solid rgba(180,100,60,.7);box-shadow:0 0 10px #b4643c66,inset 0 0 6px #b4643c33;pointer-events:none;animation:glow-unaffordable 1.5s ease-in-out infinite}@keyframes pulse-affordable{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes pulse-unaffordable{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes glow-affordable{0%,to{opacity:.8;box-shadow:0 0 12px #ffc83299,inset 0 0 8px #ffc8324d}50%{opacity:1;box-shadow:0 0 20px #ffc832e6,inset 0 0 12px #ffc83280}}@keyframes glow-unaffordable{0%,to{opacity:.6;box-shadow:0 0 10px #b4643c66,inset 0 0 6px #b4643c33}50%{opacity:.8;box-shadow:0 0 16px #b4643c99,inset 0 0 10px #b4643c4d}}.awaken-button{width:100%;padding:10px;background:linear-gradient(135deg,#5a8040,#446530);color:#fff;border:none;border-radius:4px;font-weight:700;cursor:pointer;margin-bottom:16px;transition:all .2s ease}.awaken-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea80}.awaken-button:active{transform:translateY(0)}.mercenary-slots{margin-bottom:14px;position:relative;overflow:visible}.mercenary-slots h4{margin:0 0 8px;color:#666;font-size:14px;text-transform:uppercase}.slots{display:flex;flex-direction:column;gap:6px;overflow:visible}.slot{display:flex;flex-direction:column;gap:6px;padding:10px;background:#ede8d866;border:2px solid transparent;border-radius:6px;font-size:14px;color:#999;transition:all .2s ease;cursor:default;position:relative;overflow:clip}.retire-button{position:absolute;top:0;right:0;bottom:0;width:32px;z-index:10;background:linear-gradient(135deg,#5a3a3a,#4a2a2a);border:none;border-left:2px solid #7a5a5a;border-radius:0 4px 4px 0;color:#f4e4c1;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transform:translate(100%);transition:transform .25s cubic-bezier(.4,0,.2,1);writing-mode:vertical-rl;text-orientation:mixed}.retire-button.visible{transform:translate(0)}.retire-button:hover{background:linear-gradient(135deg,#6a4a4a,#5a3a3a);border-left-color:#8a6a6a}.retire-button:active{background:linear-gradient(135deg,#4a2a2a,#3a1a1a)}.retire-button-text{pointer-events:none}.slot-main-row{display:flex;align-items:center;gap:8px;min-height:40px}.slot-ability-row{display:flex;align-items:center}.slot-tooltip{position:absolute;top:50%;z-index:10001;pointer-events:none;opacity:0;animation:tooltipDelayedFadeIn .3s ease forwards;animation-delay:.15s;white-space:nowrap}@keyframes tooltipDelayedFadeIn{0%{opacity:0}to{opacity:1}}.slot-tooltip.tooltip-left{right:100%;margin-right:10px;transform:translateY(-50%)}.slot-tooltip.tooltip-right{left:100%;margin-left:10px;transform:translateY(-50%)}.slot.deployed{background:#f9f5e5e6;border-color:#6b8e4e66;color:#493a30;cursor:pointer}.slot.deployed:hover{box-shadow:0 2px 8px #6b8e4e33}.slot.wounded{border-color:#b8594f80;background:#b8594f14}.slot.wounded:hover{box-shadow:0 2px 8px #b8594f4d}.slot.highlighted{box-shadow:0 0 0 3px #ffc832e6,0 4px 12px #ffc83266!important;background:#ffc83226!important;border-color:#ffc832e6!important}.slot-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#493a301a;border-radius:4px}.slot.player1 .slot-icon{background:#493a3040}.slot.deployed .slot-icon{background:#6b8e4e26}.slot.player1.deployed .slot-icon{background:#5a7a4559}.slot-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.slot-name{font-family:var(--font-card-name);font-weight:600;font-size:13px;color:#493a30;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slot-strength{display:flex;align-items:center;gap:4px;font-size:12px;color:#666;font-weight:500}.slot-empty{flex:1;font-size:13px;color:#aaa;font-style:italic}.wound-icon{position:absolute;font-size:16px;line-height:1}.wound-icon img{filter:invert(29%) sepia(25%) saturate(1485%) hue-rotate(305deg) brightness(90%) contrast(88%)}.wound-icon-pp{position:absolute;top:26px;right:-16px;font-size:16px;line-height:1;scale:80%}.wound-icon-pp img{filter:invert(29%) sepia(25%) saturate(1485%) hue-rotate(305deg) brightness(90%) contrast(88%)}.invoke-icon{position:absolute;font-size:16px;line-height:1}.invoke-icon img{filter:invert(50%) sepia(20%) saturate(800%) hue-rotate(60deg) brightness(85%) contrast(85%)}.invoked-indicator{display:inline-flex;margin-left:6px;vertical-align:middle}.invoked-indicator img{filter:invert(50%) sepia(100%) saturate(600%) hue-rotate(180deg) brightness(100%) contrast(90%)}.invoke-icon-pp{position:absolute;top:2px;right:2px;font-size:14px;line-height:1;scale:220%;opacity:.7}.invoke-icon-pp img{filter:invert(50%) sepia(20%) saturate(800%) hue-rotate(60deg) brightness(85%) contrast(85%)}.slot.disarmed{border-color:#b8594f66;background:#b8594f0d}.slot.disarmed:hover{box-shadow:0 2px 8px #b8594f40}.disarmed-icon-pp{position:absolute;top:2px;left:2px;font-size:16px;line-height:1;opacity:.8;color:#b8594f;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.card-focus-attachments{margin-left:32px;display:flex;flex-direction:column;gap:16px;padding:24px;background:linear-gradient(135deg,#282828d9,#141414e6);border-radius:16px;border:2px solid rgba(200,170,110,.4);box-shadow:0 0 20px #c8aa6e33,inset 0 0 40px #0000004d;position:relative}.card-focus-attachments:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:16px;padding:2px;background:linear-gradient(135deg,#c8aa6e4d,#a0825033,#c8aa6e4d,#a0825033,#c8aa6e4d);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none}.attachments-label{font-size:28px;font-weight:700;color:#e8d4a8;text-shadow:0 0 10px rgba(200,170,110,.5),2px 2px 4px rgba(0,0,0,.8);text-align:center;letter-spacing:1px;text-transform:uppercase;margin-bottom:8px;padding-bottom:12px;border-bottom:2px solid rgba(200,170,110,.3)}.attachments-list{display:flex;flex-direction:column;gap:16px;padding:8px}.attachment-card{width:300px;height:420px;border-radius:12px;background-size:800% 600%;background-repeat:no-repeat;box-shadow:0 10px 30px #0009,0 0 15px #c8aa6e33,inset 0 0 20px #0000004d;border:1px solid rgba(200,170,110,.3);animation:zoomIn .2s ease-out;transition:all .3s ease}.attachment-card:hover{transform:scale(1.02);box-shadow:0 15px 40px #000000b3,0 0 25px #c8aa6e4d,inset 0 0 20px #0000004d}.card{position:relative;width:min(110px,14vh);height:min(154px,20vh);border-radius:8px;cursor:pointer;transition:transform .3s ease,box-shadow .2s,opacity .2s;-webkit-user-select:none;user-select:none;transform-style:preserve-3d}.card:hover{box-shadow:0 8px 16px #493a304d}.card.selected{box-shadow:0 12px 24px #c9a96199;outline:3px solid #c9a961;outline-offset:2px}.card.disabled{cursor:not-allowed;filter:sepia(70%) brightness(.7) saturate(.8) opacity(.9)}.card.disabled:hover{transform:none;box-shadow:none}.card.dragging{opacity:.4;cursor:grabbing;transform:scale(.95)!important}.card.drag-over{box-shadow:0 0 0 3px #6b8e4e}.card-image{width:100%;height:100%;border-radius:8px;background-size:800% 600%;background-repeat:no-repeat;box-shadow:0 2px 8px #493a3033}.card-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(73,58,48,.8),transparent);padding:8px;border-bottom-left-radius:8px;border-bottom-right-radius:8px;color:#fff;font-size:11px;font-weight:700;text-align:center;text-shadow:1px 1px 2px black}.card-cost{position:absolute;top:4px;left:4px;background:#6432c8e6;color:#fff;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;box-shadow:0 2px 4px #0006}.card-strength{position:absolute;top:4px;right:4px;background:#c83232e6;color:#fff;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;box-shadow:0 2px 4px #0006}.card-type-badge{position:absolute;top:32px;right:4px;background:#000000b3;color:#fff;padding:2px 6px;border-radius:4px;font-size:9px;text-transform:uppercase;font-weight:700}.card-type-action{background:#ff9600e6}.card-type-battlefield{background:#329632e6}.card-type-equipment{background:#6464c8e6}.card-type-mercenary{background:#963232e6}.card-back{width:100%;height:100%;border-radius:8px;background:linear-gradient(135deg,#2c3e50,#34495e);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000004d}.card-back-pattern{font-size:48px;opacity:.3}.card-focus-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);pointer-events:none;opacity:1;transition:opacity .3s ease-out,background .3s ease-out;flex-direction:column}.card-focus-overlay.touch-dismissible{pointer-events:auto;cursor:pointer}.card-focus-dismiss-hint{color:#fffc;font-size:14px;margin-top:16px;padding:6px 16px;background:#00000080;border-radius:12px;pointer-events:none;animation:fadeIn .3s ease-out}.card-focus-overlay.fading-out{opacity:0}.card-focus-container{width:90vw;height:90vh;display:flex;align-items:center;justify-content:center;padding:2rem}.card-focus-image{width:min(600px,90vw,calc(90vh * .714));height:min(840px,90vh,calc(90vw / .714));max-width:90vw;max-height:90vh;border-radius:16px;background-size:800% 600%;background-repeat:no-repeat;box-shadow:0 20px 60px #00000080;animation:zoomIn .2s ease-out}@keyframes zoomIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.card-unimplemented-badge{position:absolute;bottom:6px;left:50%;transform:translate(-50%);background:#50463cd9;color:#d4af37;padding:3px 8px;border-radius:12px;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 1px 3px #00000080;border:1px solid rgba(212,175,55,.3);pointer-events:none;z-index:5;display:flex;align-items:center;gap:3px;white-space:nowrap;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.card-unimplemented-badge .badge-icon{font-size:10px;line-height:1;opacity:.8;filter:drop-shadow(0 1px 1px rgba(0,0,0,.3))}.card-unimplemented-badge .badge-text{line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.5);opacity:.9}@keyframes pulse-glow{0%,to{box-shadow:0 1px 3px #00000080}50%{box-shadow:0 1px 3px #00000080}}.space-hint-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#ede8d8f2;color:#493a30;padding:6px 12px;border-radius:4px;border:1px solid rgba(73,58,48,.2);font-size:12px;white-space:nowrap;pointer-events:none;z-index:1000;animation:fadeIn .3s ease-out;box-shadow:0 2px 8px #493a3033}.space-hint-tooltip:before{content:"";position:absolute;bottom:-5px;left:50%;transform:translate(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid rgba(237,232,216,.95)}@media (max-width: 900px){.card{width:min(100px,13vh,15vw);height:min(140px,18vh,21vw)}.card-cost,.card-strength{width:22px;height:22px;font-size:13px}.card-type-badge{font-size:8px;padding:2px 5px}.card-overlay{font-size:10px;padding:6px}.card-unimplemented-badge{font-size:8px;padding:2px 6px;bottom:4px}.card-unimplemented-badge .badge-icon{font-size:9px}}@media (max-width: 600px){.card{width:min(85px,12vh,18vw);height:min(119px,16vh,25vw);border-radius:6px}.card-cost,.card-strength{width:20px;height:20px;font-size:12px;top:3px}.card-cost{left:3px}.card-strength{right:3px}.card-type-badge{font-size:7px;padding:1px 4px;top:26px}.card-overlay{font-size:9px;padding:4px}.card-image{border-radius:6px}.space-hint-tooltip{font-size:10px;padding:4px 8px}.card-unimplemented-badge{font-size:7px;padding:2px 5px;bottom:3px;gap:2px}.card-unimplemented-badge .badge-icon{font-size:8px}}.hand-container{--card-height: min(154px, 20vh);--collapsed-peek: 40px;position:fixed;bottom:0;left:0;right:0;padding:8px 16px;display:flex;justify-content:center;align-items:flex-end;height:min(150px,20vh);z-index:100;transition:height .3s ease,padding .3s ease;overflow:visible;gap:20px;pointer-events:none}.hand{display:flex;gap:min(8px,1vw);align-items:flex-end;justify-content:center;flex-wrap:wrap;max-width:min(1200px,90vw);transition:opacity .3s ease,transform .3s ease;opacity:1;transform:translateY(0);pointer-events:auto}.hand-empty{color:#2c241680;font-style:italic;padding:40px;font-size:13px}.hand-info{position:absolute;display:flex;align-items:center;gap:10px;bottom:12px;left:16px;pointer-events:auto}.hand-count{padding:5px 10px;background:#493a3026;border:1px solid rgba(73,58,48,.25);border-radius:4px;color:#493a30;font-size:13px;font-weight:600;white-space:nowrap}.hand-resources{display:flex;align-items:center;gap:8px}.sigil-indicator{display:flex;align-items:center;gap:4px;padding:5px 10px;background:#6b8e4e26;border:1px solid rgba(107,142,78,.3);border-radius:4px;color:#6b8e4e;font-size:13px;font-weight:600;white-space:nowrap}.sigil-indicator .icon{filter:brightness(.4) sepia(.8) saturate(1.5) hue-rotate(60deg)}.hand-toggle{display:none}.hand-container.collapsed{height:var(--collapsed-peek);padding:0 16px}.hand-container.collapsed .hand{opacity:.5;transform:translateY(calc(var(--card-height) - var(--collapsed-peek)))}.hand-container.collapsed .hand-empty{opacity:0;transform:translateY(20px);pointer-events:none}@media (max-width: 900px){.hand-container{padding:6px 12px;height:min(130px,18vh)}.hand-info{top:6px;left:12px;gap:8px}.hand-count,.sigil-indicator{padding:4px 8px;font-size:12px}.hand{gap:6px}.hand-container.collapsed{height:var(--collapsed-peek);padding:0 12px}}@media (max-width: 600px){.hand-container{padding:4px 8px;height:min(110px,16vh)}.hand-info{top:4px;left:8px;gap:6px;flex-wrap:wrap}.hand-count,.sigil-indicator{padding:3px 6px;font-size:11px}.hand{gap:4px}.hand-empty{padding:20px;font-size:12px}.hand-container.collapsed{height:var(--collapsed-peek);padding:0 8px}}.deck-info{display:flex;align-items:center;gap:12px;background:#493a3099;border:1px solid rgba(73,58,48,.3);padding:5px 12px;border-radius:4px;color:#fff;font-size:13px;font-weight:600;white-space:nowrap}.deck-info-title{display:none}.deck-pile{display:flex;align-items:center;gap:5px;padding:0;border-bottom:none}.deck-pile:last-child{border-bottom:none}.deck-pile-label{font-size:12px;display:flex;align-items:center;gap:4px;font-weight:600}.deck-pile-icon{font-size:16px}.deck-pile-count{font-size:14px;font-weight:700;color:#e8d4a8}.deck-pile-count.low{color:#d4a661}.deck-pile-count.empty{color:#c98963}.deck-pile.clickable{cursor:pointer;transition:background .2s;padding:4px 8px;margin:-4px -8px;border-radius:4px}.deck-pile.clickable:hover{background:#ffffff1a}@media (max-width: 900px){.deck-info{gap:10px;padding:4px 10px;font-size:12px}.deck-pile{gap:4px}.deck-pile-label{font-size:11px}.deck-pile-icon{font-size:14px}.deck-pile-count{font-size:13px}}@media (max-width: 600px){.deck-info{gap:8px;padding:3px 8px;font-size:11px}.deck-pile{gap:3px}.deck-pile-label{font-size:10px;gap:3px}.deck-pile-icon,.deck-pile-count{font-size:12px}.deck-pile.clickable{padding:3px 6px;margin:-3px -6px}}.peek-at-board-button{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:#1e1e1eb3;border:1px solid rgba(139,115,85,.6);border-radius:6px;color:#f4e4c1;font-size:13px;cursor:pointer;transition:all .2s ease;white-space:nowrap;position:fixed;bottom:16px;left:16px;z-index:10100;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.peek-at-board-button:hover{background:#1e1e1ee6;color:#fff;border-color:#8b7355}.peek-at-board-button.peeking{background:#143c1ee6;border:2px solid #4caf50;color:#fff;padding:5px 13px;box-shadow:0 0 12px #4caf5066,0 4px 12px #00000080;animation:peek-pulse 1.5s ease-in-out infinite}.peek-at-board-button svg{flex-shrink:0}.peek-label{font-weight:600;letter-spacing:.3px}@keyframes peek-pulse{0%,to{opacity:1}50%{opacity:.7}}.peek-interaction-blocker{position:fixed;top:0;left:0;right:0;bottom:0;z-index:10050;cursor:default}.game-overlay.peek-active,.card-selection-overlay.peek-active,.mulligan-overlay.peek-active{background:transparent!important;pointer-events:none}.modal-overlay.peek-active{pointer-events:none}.game-overlay.peek-active .peek-at-board-button,.modal-overlay.peek-active .peek-at-board-button,.card-selection-overlay.peek-active .peek-at-board-button,.mulligan-overlay.peek-active .peek-at-board-button{pointer-events:auto;position:fixed;bottom:16px;left:16px;z-index:10100}.game-overlay.peek-active>*:not(.peek-at-board-button),.modal-overlay.peek-active>*:not(.peek-at-board-button),.card-selection-overlay.peek-active>*:not(.peek-at-board-button),.mulligan-overlay.peek-active>*:not(.peek-at-board-button){opacity:0;pointer-events:none;transition:opacity .15s ease}.card-selection-overlay.peek-active .selection-backdrop,.mulligan-overlay.peek-active .mulligan-backdrop{opacity:0!important}body.peek-active .hand-container{z-index:10060;pointer-events:none}body.peek-active .hand-container .hand,body.peek-active .hand-container .hand-info{pointer-events:auto;cursor:default}body.peek-active .card-focus-overlay{z-index:10070}.draw-options{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.draw-option-button{display:flex;align-items:center;gap:12px;padding:16px 24px;background:linear-gradient(135deg,#4a5f52,#3a4f42);border:2px solid #6b7f6f;border-radius:8px;color:#f4e4c1;font-size:18px;font-weight:700;cursor:pointer;transition:all .2s ease;position:relative;width:100%;justify-content:center}.draw-option-button:hover{background:linear-gradient(135deg,#5a6f62,#4a5f52);border-color:#8b9f8f;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.draw-option-button:active{transform:translateY(0);box-shadow:0 2px 6px #0000004d}.draw-option-button.primary{background:linear-gradient(135deg,#6b5f3e,#5b4f2e);border-color:#8b7f5f}.draw-option-button.primary:hover{background:linear-gradient(135deg,#7b6f4e,#6b5f3e);border-color:#9b8f6f}.draw-option-button.recruit-option{background:linear-gradient(135deg,#5e4a3e,#4e3a2e);border-color:#7e6a5e}.draw-option-button.recruit-option:hover{background:linear-gradient(135deg,#6e5a4e,#5e4a3e);border-color:#8e7a6e}.draw-option-button.devious-plot-option{background:linear-gradient(135deg,#3a3a5e,#2a2a4e);border-color:#5a5a7e;flex-direction:column;gap:4px;padding:14px 24px}.draw-option-button.devious-plot-option:hover{background:linear-gradient(135deg,#4a4a6e,#3a3a5e);border-color:#6a6a8e}.draw-option-button.devious-plot-option .option-sublabel{font-size:12px;font-weight:400;color:#a0a0c0;opacity:.8}.option-icon{font-size:24px}.option-label{text-align:center}.card-preview{width:280px;min-width:280px;display:flex;align-items:center;justify-content:center}.card-preview .card{transform:scale(2.2);transform-origin:center;animation:fadeInZoom .2s ease-out;transition:none!important}@keyframes fadeInZoom{0%{opacity:0;transform:scale(2)}to{opacity:1;transform:scale(2.2)}}.card-preview-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;background:#0003;border:2px dashed #6b7f6f;border-radius:8px;color:#8b9f8f;text-align:center;height:200px}.placeholder-icon{font-size:48px;opacity:.6}.placeholder-text{font-size:16px;font-weight:700;color:#a4b4a4}.placeholder-hint{font-family:var(--font-helper);font-size:12px;font-style:italic;opacity:.7}.no-recruits{color:#a49481;font-style:italic;margin-top:8px}.mulligan-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:10000;display:flex;align-items:center;justify-content:center}.mulligan-backdrop{position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at center,#140f0aeb,#0a0805fa);animation:mulliganFadeIn .5s ease-out forwards}@keyframes mulliganFadeIn{0%{opacity:0}to{opacity:1}}.mulligan-particles{position:absolute;width:100%;height:100%;pointer-events:none;overflow:hidden;z-index:1}.mulligan-particles .particle{position:absolute;background:radial-gradient(circle,#ffc864,#c9a961cc 40%,#c9a96100 70%);border-radius:50%;box-shadow:0 0 6px #ffc86499,0 0 12px #c9a9614d}@keyframes mulliganDrift1{0%,to{transform:translate(0) scale(1);opacity:.95}25%{transform:translate(25px,-40px) scale(1.15);opacity:1}50%{transform:translate(-15px,-70px) scale(.9);opacity:.85}75%{transform:translate(30px,-35px) scale(1.1);opacity:1}}@keyframes mulliganDrift2{0%,to{transform:translate(0) scale(1);opacity:.9}20%{transform:translate(-30px,-25px) scale(1.2);opacity:1}50%{transform:translate(20px,-60px) scale(.85);opacity:.88}80%{transform:translate(-20px,-30px) scale(1.05);opacity:.95}}@keyframes mulliganDrift3{0%,to{transform:translate(0) scale(1);opacity:.92}15%{transform:translate(18px,-20px) scale(1.25);opacity:1}40%{transform:translate(-25px,-55px) scale(.95);opacity:.82}65%{transform:translate(35px,-40px) scale(1.1);opacity:1}85%{transform:translate(-10px,-65px) scale(.88);opacity:.9}}.mulligan-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;max-width:95vw;max-height:95vh;overflow:auto;padding:20px;width:100%;text-align:center}.mulligan-header{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;width:100%;animation:mulliganSlideDown .6s ease-out forwards}@keyframes mulliganSlideDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.mulligan-header .player-indicator{display:inline-block;padding:6px 16px;background:linear-gradient(135deg,#4a5568,#2d3748);border-radius:20px;color:#c9a961;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:2px;margin-bottom:12px}.mulligan-header h1{font-size:42px;font-weight:700;color:#f5f0e5;margin:0;text-shadow:0 4px 20px rgba(201,169,97,.4);letter-spacing:2px}.mulligan-instruction{font-size:18px;color:#a0a0a0;margin:8px 0 0}.mulligan-info-banner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:12px 24px;background:#0006;border:1px solid rgba(201,169,97,.3);border-radius:12px;animation:fadeIn .8s ease-out .3s forwards;opacity:0;min-width:300px;text-align:center}.free-mulligan{color:#c9a961;font-size:16px;font-weight:500}.reduced-mulligan{color:#e8a74e;font-size:16px;font-weight:500}.opponent-status{color:#7db8dd;font-size:14px}.mulligan-cards{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;padding:20px;max-width:100%}.mulligan-card{position:relative;cursor:pointer;transition:transform .3s ease,filter .3s ease;animation:cardAppear .5s ease-out forwards;opacity:0;transform:translateY(30px)}.mulligan-card:hover{transform:translateY(-10px) scale(1.05);z-index:10}.mulligan-card.selected{transform:translateY(-5px);filter:brightness(.6) saturate(.5)}.mulligan-card.selected:hover{transform:translateY(-10px);filter:brightness(.7) saturate(.6)}.mulligan-card-inner{position:relative;width:clamp(140px,15vw,200px);height:clamp(196px,21vw,280px);border-radius:10px;overflow:hidden;box-shadow:0 10px 30px #00000080,0 5px 15px #0000004d,0 0 20px #c9a96133;transform-style:preserve-3d}.mulligan-card-image{width:100%;height:100%;background-size:800% 600%;background-repeat:no-repeat}.mulligan-card-selected-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#b43232b3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.mulligan-x{font-size:48px;color:#fff;font-weight:700;text-shadow:0 2px 10px rgba(0,0,0,.5)}.mulligan-label{font-size:14px;color:#fff;text-transform:uppercase;letter-spacing:2px;font-weight:600}.mulligan-card-glow{position:absolute;top:50%;left:50%;width:120%;height:120%;transform:translate(-50%,-50%);background:radial-gradient(ellipse,rgba(201,169,97,.3) 0%,transparent 70%);pointer-events:none;opacity:0;transition:opacity .3s ease}.mulligan-card:hover .mulligan-card-glow{opacity:1}.mulligan-card.selected .mulligan-card-glow{background:radial-gradient(ellipse,rgba(180,50,50,.4) 0%,transparent 70%);opacity:.5}.mulligan-selection-container{min-height:48px;display:flex;align-items:center;justify-content:center}.mulligan-selection-summary{padding:12px 24px;background:#c9a96126;border:1px solid rgba(201,169,97,.4);border-radius:8px;animation:fadeIn .3s ease-out forwards;text-align:center}.mulligan-selection-summary p{margin:0;color:#e8d5a5;font-size:16px}.mulligan-selection-summary strong{color:#c9a961}.mulligan-actions-container{min-height:60px;display:flex;align-items:center;justify-content:center}.mulligan-actions{display:flex;gap:20px;justify-content:center;align-items:center}.mulligan-button{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 32px;font-size:18px;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px}.mulligan-button .button-icon{font-size:20px}.mulligan-button.accept{background:linear-gradient(135deg,#4a5f52,#3a4f42);border:2px solid #6b7f6f;color:#f4e4c1;box-shadow:0 4px 15px #4a5f5266}.mulligan-button.accept:hover{background:linear-gradient(135deg,#5a6f62,#4a5f52);border-color:#8b9f8f;transform:translateY(-2px);box-shadow:0 6px 20px #4a5f5280}.mulligan-button.mulligan{background:linear-gradient(135deg,#c9a961,#a08040);border:2px solid #d4b86a;color:#1a1510;box-shadow:0 4px 15px #c9a96166}.mulligan-button.mulligan:hover:not(:disabled){background:linear-gradient(135deg,#dbb870,#b89050);transform:translateY(-2px);box-shadow:0 6px 20px #c9a96180}.mulligan-button.mulligan:disabled{background:linear-gradient(135deg,#666,#444);border-color:#555;color:#999;cursor:not-allowed;box-shadow:none}.mulligan-help{text-align:center}.mulligan-help p{margin:0;color:#777;font-family:var(--font-helper);font-size:14px;font-style:italic}.mulligan-help kbd{display:inline-block;padding:2px 6px;font-family:monospace;font-size:12px;font-style:normal;color:#c9a961;background:#c9a96126;border:1px solid rgba(201,169,97,.4);border-radius:4px;box-shadow:0 1px 2px #0003}.mulligan-waiting{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;text-align:center}.mulligan-waiting h2{font-size:36px;color:#c9a961;margin:0;text-shadow:0 4px 20px rgba(201,169,97,.4)}.mulligan-waiting p{font-size:18px;color:#a0a0a0;margin:0}.mulligan-spinner{width:60px;height:60px;position:relative}@media (max-width: 768px){.mulligan-header h1{font-size:32px}.mulligan-card-inner{width:120px;height:168px}.mulligan-cards{gap:12px}.mulligan-actions{flex-direction:column;gap:12px}.mulligan-button{padding:12px 24px;font-size:16px}}@media (max-width: 480px){.mulligan-header h1{font-size:26px}.mulligan-card-inner{width:100px;height:140px}.mulligan-x{font-size:36px}.mulligan-label{font-size:12px}}.discard-pile-overlay{background-color:#141e19d9;animation:overlayFadeIn .2s ease}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.discard-pile-modal{max-width:90vw;max-height:85vh;width:800px;display:flex;flex-direction:column;box-shadow:0 12px 40px #00000080;animation:modalSlideIn .3s ease}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.discard-pile-header{display:flex;align-items:center;gap:16px;padding:20px 24px;border-bottom:2px solid rgba(139,127,95,.3);background:#00000026;border-radius:9px 9px 0 0}.discard-pile-header h2{margin:0;font-size:24px;color:#f4e4c1;text-shadow:2px 2px 4px rgba(0,0,0,.5);flex:1}.discard-pile-count{font-size:14px;color:#d4c4a1;background:#8b7f5f4d;padding:4px 12px;border-radius:12px;font-weight:600}.discard-pile-close{background:linear-gradient(135deg,#5a3a3a,#4a2a2a);color:#f4e4c1;border:2px solid #7a5a5a;border-radius:6px;width:36px;height:36px;cursor:pointer;font-size:24px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;line-height:1}.discard-pile-close:hover{background:linear-gradient(135deg,#6a4a4a,#5a3a3a);border-color:#8a6a6a;transform:scale(1.1)}.discard-pile-subtitle{padding:12px 24px;background:#5a7a4a33;border-bottom:1px solid rgba(90,122,74,.3);color:#a4d491;font-size:14px;text-align:center;font-style:italic}.discard-pile-search-bar{position:relative;padding:12px 24px;border-bottom:2px solid rgba(139,127,95,.3);background:#00000026}.discard-pile-search-input{width:100%;padding:10px 36px 10px 12px;border:2px solid rgba(139,127,95,.5);border-radius:6px;font-size:14px;font-family:inherit;background:#0000004d;color:#f4e4c1;transition:all .2s ease}.discard-pile-search-input:focus{outline:none;border-color:#7a9a6a;box-shadow:0 0 0 3px #5a7a4a40;background:#0006}.discard-pile-search-input::placeholder{color:#d4c4a180}.discard-pile-search-clear{position:absolute;right:32px;top:50%;transform:translateY(-50%);background:linear-gradient(135deg,#5a3a3a,#4a2a2a);color:#f4e4c1;border:1px solid #7a5a5a;border-radius:50%;width:24px;height:24px;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;line-height:1}.discard-pile-search-clear:hover{background:linear-gradient(135deg,#6a4a4a,#5a3a3a);border-color:#8a6a6a;transform:translateY(-50%) scale(1.1)}.discard-pile-instructions{padding:12px 24px;background:#5a7a4a33;border-bottom:1px solid rgba(90,122,74,.3);color:#a4d491;font-weight:600;text-align:center}.discard-pile-content{flex:1;overflow-y:auto;padding:20px 24px;min-height:200px;background:#0000001a}.discard-pile-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;color:#8b9f8f}.discard-pile-empty .empty-icon{font-size:48px;margin-bottom:12px;opacity:.6}.discard-pile-empty p{margin:0;font-size:18px;font-style:italic}.discard-pile-groups{display:flex;flex-direction:column;gap:24px}.discard-pile-group{display:flex;flex-direction:column;gap:12px}.group-header{margin:0;font-size:16px;font-weight:700;padding:8px 12px;border-radius:6px;color:#fff}.group-header.type-action{background:linear-gradient(135deg,#495b69,#3d4d5a)}.group-header.type-battlefield{background:linear-gradient(135deg,#4e6140,#3d4d32)}.group-header.type-equipment{background:linear-gradient(135deg,#524766,#423957)}.group-header.type-mercenary{background:linear-gradient(135deg,#6e3e2b,#5a3223)}.discard-pile-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px;padding:4px}.discard-card{display:flex;flex-direction:column;align-items:center;gap:6px;cursor:default;transition:all .2s ease;padding:8px;border-radius:8px;background:#0003;border:2px solid transparent}.discard-card.hovered{background:#00000059;transform:translateY(-4px);box-shadow:0 4px 12px #0000004d;border-color:#8b7f5f80}.discard-card.selectable{cursor:pointer}.discard-card.selectable:hover{border-color:#6b8e4ecc;box-shadow:0 4px 16px #6b8e4e4d}.discard-card.selected{border-color:#7a9a6a;background:#6b8e4e40;box-shadow:0 0 0 3px #6b8e4e66,0 4px 16px #6b8e4e4d;transform:translateY(-4px)}.discard-card.selected .discard-card-image{transform:scale(1.05)}.discard-card.not-selectable{opacity:.5;cursor:not-allowed}.discard-card-image{width:80px;height:112px;background-size:800%;background-repeat:no-repeat;border-radius:4px;box-shadow:0 2px 6px #0003;transition:transform .2s ease}.discard-card.hovered .discard-card-image{transform:scale(1.05)}.discard-card-name{font-family:var(--font-card-name);font-size:11px;font-weight:600;color:#d4c4a1;text-align:center;line-height:1.2;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.discard-pile-footer{padding:16px 24px;border-top:2px solid rgba(139,127,95,.3);display:flex;justify-content:center;gap:12px;background:#00000026;border-radius:0 0 9px 9px}.discard-pile-footer .close-button{padding:12px 32px;background:linear-gradient(135deg,#5a3a3a,#4a2a2a);color:#f4e4c1;border:2px solid #7a5a5a;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.discard-pile-footer .close-button:hover{background:linear-gradient(135deg,#6a4a4a,#5a3a3a);border-color:#8a6a6a;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.discard-pile-footer .take-button{padding:12px 32px;background:linear-gradient(135deg,#5a7a4a,#4a6a3a);color:#f4e4c1;border:2px solid #7a9a6a;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.discard-pile-footer .take-button:hover{background:linear-gradient(135deg,#6a8a5a,#5a7a4a);border-color:#8aaa7a;transform:translateY(-2px);box-shadow:0 4px 12px #5a7a4a66}@media (max-width: 768px){.discard-pile-modal{width:95vw;max-height:90vh}.discard-pile-header{padding:16px}.discard-pile-header h2{font-size:20px}.discard-pile-search-bar{padding:10px 16px}.discard-pile-search-input{padding:8px 32px 8px 10px;font-size:13px}.discard-pile-search-clear{right:24px}.discard-pile-content{padding:16px}.discard-pile-cards{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px}.discard-card-image{width:64px;height:90px}.discard-card-name{font-size:10px;max-width:72px}}.card-reveal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:10000;display:flex;align-items:center;justify-content:center;cursor:pointer;perspective:1500px}.reveal-backdrop{position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at center,#140f0ad9,#0a0805f2);animation:backdropFadeIn .4s ease-out forwards}.card-reveal-overlay.settle .reveal-backdrop{animation:backdropFadeOut .5s ease-in forwards}.reveal-rays{position:absolute;width:100%;height:100%;display:flex;align-items:center;justify-content:center;pointer-events:none}.ray{position:absolute;width:4px;height:600px;background:linear-gradient(to bottom,transparent 0%,rgba(201,169,97,.4) 50%,transparent 100%);transform-origin:center center;opacity:0;animation:rayGrow .8s ease-out forwards}.ray-1{transform:rotate(0);animation-delay:.2s}.ray-2{transform:rotate(45deg);animation-delay:.25s}.ray-3{transform:rotate(90deg);animation-delay:.3s}.ray-4{transform:rotate(135deg);animation-delay:.35s}.ray-5{transform:rotate(180deg);animation-delay:.4s}.ray-6{transform:rotate(225deg);animation-delay:.45s}.ray-7{transform:rotate(270deg);animation-delay:.5s}.ray-8{transform:rotate(315deg);animation-delay:.55s}@keyframes rayGrow{0%{opacity:0;height:0}50%{opacity:.8;height:500px}to{opacity:.3;height:800px}}.card-reveal-overlay.settle .reveal-rays{animation:fadeOutRays .15s ease-out forwards}@keyframes fadeOutRays{to{opacity:0}}.reveal-particles{position:absolute;width:100%;height:100%;pointer-events:none;overflow:hidden;z-index:1}.reveal-particles .particle{position:absolute;background:radial-gradient(circle,#ffc864,#c9a961cc 40%,#c9a96100 70%);border-radius:50%;box-shadow:0 0 6px #ffc86499,0 0 12px #c9a9614d}@keyframes revealDrift1{0%,to{transform:translate(0) scale(1);opacity:.95}25%{transform:translate(25px,-40px) scale(1.15);opacity:1}50%{transform:translate(-15px,-70px) scale(.9);opacity:.85}75%{transform:translate(30px,-35px) scale(1.1);opacity:1}}@keyframes revealDrift2{0%,to{transform:translate(0) scale(1);opacity:.9}20%{transform:translate(-30px,-25px) scale(1.2);opacity:1}50%{transform:translate(20px,-60px) scale(.85);opacity:.88}80%{transform:translate(-20px,-30px) scale(1.05);opacity:.95}}@keyframes revealDrift3{0%,to{transform:translate(0) scale(1);opacity:.92}15%{transform:translate(18px,-20px) scale(1.25);opacity:1}40%{transform:translate(-25px,-55px) scale(.95);opacity:.82}65%{transform:translate(35px,-40px) scale(1.1);opacity:1}85%{transform:translate(-10px,-65px) scale(.88);opacity:.9}}.card-reveal-overlay.settle .reveal-particles{animation:fadeOutRays .15s ease-out forwards}.reveal-card-container{position:relative;z-index:2}.reveal-card-wrapper{position:relative;width:clamp(220px,25vw,400px);height:clamp(308px,35vw,560px);transform-style:preserve-3d;z-index:2;animation:cardRevealEntrance .6s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes cardRevealEntrance{0%{transform:scale(.3) rotateY(180deg) translateY(100px);opacity:0}50%{opacity:1}to{transform:scale(1) rotateY(0) translateY(0);opacity:1}}.reveal-card-container.display .reveal-card-wrapper{animation:cardFloat 2s ease-in-out infinite}@keyframes cardFloat{0%,to{transform:translateY(0) rotateY(0)}50%{transform:translateY(-10px) rotateY(3deg)}}.reveal-card-container.settle .reveal-card-wrapper{animation:cardSettleToHand .5s cubic-bezier(.4,0,.2,1) forwards}@keyframes cardSettleToHand{0%{transform:scale(1) translateY(0) rotateY(0);opacity:1}to{transform:scale(.4) translateY(400px) translate(0) rotateY(0) rotate(-5deg);opacity:0}}.reveal-card-back,.reveal-card-front{position:absolute;width:100%;height:100%;backface-visibility:hidden;border-radius:12px;box-shadow:0 20px 60px #0009,0 10px 30px #0006,0 0 40px #c9a9614d}.reveal-card-back{transform:rotateY(180deg);background:linear-gradient(145deg,#3a4a5a,#2a3a4a,#1a2a3a);border:3px solid #4a5a6a}.card-back-pattern{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative}.card-back-border{position:absolute;top:8px;left:8px;right:8px;bottom:8px;border:2px solid rgba(201,169,97,.3);border-radius:8px}.card-back-symbol{font-size:64px;color:#c9a96166;text-shadow:0 2px 4px rgba(0,0,0,.3)}.reveal-card-front{transform:rotateY(0);overflow:hidden}.reveal-card-image{width:100%;height:100%;border-radius:12px}.reveal-card-glow{position:absolute;top:50%;left:50%;width:300px;height:400px;transform:translate(-50%,-50%);background:radial-gradient(ellipse at center,rgba(201,169,97,.4) 0%,transparent 70%);filter:blur(30px);z-index:1;pointer-events:none;animation:glowPulse 1.5s ease-in-out infinite}@keyframes glowPulse{0%,to{opacity:.6;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}}.card-reveal-overlay.settle .reveal-card-glow{animation:glowFadeOut .2s ease-out forwards}@keyframes glowFadeOut{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.8)}}.reveal-title-banner{position:absolute;bottom:15%;left:50%;transform:translate(-50%);z-index:3;opacity:0;animation:bannerSlideIn .5s ease-out .5s forwards}@keyframes bannerSlideIn{0%{opacity:0;transform:translate(-50%) translateY(30px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.reveal-title-banner.settle{animation:bannerFadeOut .4s ease-in forwards}@keyframes bannerFadeOut{to{opacity:0;transform:translate(-50%) translateY(30px)}}.reveal-title-content{display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 32px;background:linear-gradient(135deg,#28231ef2,#1e1914f2);border:2px solid rgba(201,169,97,.5);border-radius:8px;box-shadow:0 8px 32px #00000080,inset 0 1px #ffffff1a}.reveal-source{font-size:12px;text-transform:uppercase;letter-spacing:3px;color:#c9a961cc}.reveal-card-name{font-size:24px;font-weight:700;color:#f4e4c1;text-shadow:0 2px 4px rgba(0,0,0,.5);text-align:center}.reveal-card-type{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:#a49481cc;padding:2px 8px;border-radius:4px;background:#0003}.reveal-skip-hint{position:absolute;bottom:24px;left:50%;transform:translate(-50%);font-size:12px;color:#a4948180;letter-spacing:1px;animation:fadeInDelayed 1s ease-out 1s forwards;opacity:0}@keyframes fadeInDelayed{to{opacity:1}}.card-reveal-overlay.settle .reveal-skip-hint{opacity:0}.reveal-card-front:after{content:"";position:absolute;top:-100%;left:-100%;width:300%;height:300%;background:linear-gradient(135deg,transparent 40%,rgba(255,255,255,.1) 45%,rgba(255,255,255,.3) 50%,rgba(255,255,255,.1) 55%,transparent 60%);animation:shimmer 1.5s ease-in-out .6s;pointer-events:none;transform:translate(-50%) translateY(-50%)}@keyframes shimmer{0%{transform:translate(-50%) translateY(-50%) rotate(0);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translate(30%) translateY(30%) rotate(0);opacity:0}}@media (max-width: 768px){.reveal-card-wrapper{width:180px;height:252px}.reveal-card-glow{width:240px;height:320px}.reveal-card-name{font-size:20px}.reveal-title-content{padding:12px 24px}}@media (max-width: 480px){.reveal-card-wrapper{width:150px;height:210px}.reveal-card-glow{width:200px;height:280px}.reveal-card-name{font-size:18px}}.reveal-cards-container{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:20px}.multi-card .reveal-card-wrapper{width:clamp(180px,20vw,320px);height:clamp(252px,28vw,448px)}.multi-card .reveal-card-glow{width:250px;height:350px}.multi-card .reveal-card-container{animation:multiCardEntrance .6s cubic-bezier(.34,1.56,.64,1) forwards;opacity:0}@keyframes multiCardEntrance{0%{transform:scale(.3) rotateY(180deg) translateY(100px);opacity:0}50%{opacity:1}to{transform:scale(1) rotateY(0) translateY(0);opacity:1}}.cards-2 .reveal-card-container:nth-child(1){transform-origin:right center}.cards-2 .reveal-card-container:nth-child(2){transform-origin:left center}.cards-2.display .reveal-card-container:nth-child(1) .reveal-card-wrapper{animation:cardFloatLeft 2s ease-in-out infinite}.cards-2.display .reveal-card-container:nth-child(2) .reveal-card-wrapper{animation:cardFloatRight 2s ease-in-out infinite}@keyframes cardFloatLeft{0%,to{transform:translateY(0) rotateY(0) rotate(-2deg)}50%{transform:translateY(-8px) rotateY(2deg) rotate(-2deg)}}@keyframes cardFloatRight{0%,to{transform:translateY(0) rotateY(0) rotate(2deg)}50%{transform:translateY(-8px) rotateY(-2deg) rotate(2deg)}}.multi-card .reveal-card-container.settle .reveal-card-wrapper{animation:cardSettleMulti .5s cubic-bezier(.4,0,.2,1) forwards}@keyframes cardSettleMulti{0%{transform:scale(1) translateY(0) rotateY(0);opacity:1}to{transform:scale(.35) translateY(350px) rotateY(0);opacity:0}}@media (max-width: 768px){.multi-card .reveal-card-wrapper{width:140px;height:196px}.reveal-cards-container{gap:12px}.multi-card .reveal-card-glow{width:180px;height:252px}}@media (max-width: 480px){.multi-card .reveal-card-wrapper{width:110px;height:154px}.reveal-cards-container{gap:8px}.multi-card .reveal-card-glow{width:140px;height:196px}}.card-played-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:10000;display:flex;align-items:center;justify-content:center;cursor:pointer;perspective:1500px}.card-played-backdrop{position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at center,#0a1219d9,#050a0ff2);animation:cardPlayedBackdropIn .35s ease-out forwards}@keyframes cardPlayedBackdropIn{0%{opacity:0}to{opacity:1}}.card-played-overlay.settle .card-played-backdrop{animation:cardPlayedBackdropOut .4s ease-in forwards}@keyframes cardPlayedBackdropOut{0%{opacity:1}to{opacity:0}}.card-played-rays{position:absolute;width:100%;height:100%;display:flex;align-items:center;justify-content:center;pointer-events:none}.card-played-ray{position:absolute;width:3px;height:500px;background:linear-gradient(to bottom,transparent 0%,rgba(120,180,220,.3) 50%,transparent 100%);transform-origin:center center;opacity:0;animation:cardPlayedRayGrow .7s ease-out forwards}.card-played-ray-1{transform:rotate(0);animation-delay:.15s}.card-played-ray-2{transform:rotate(60deg);animation-delay:.2s}.card-played-ray-3{transform:rotate(120deg);animation-delay:.25s}.card-played-ray-4{transform:rotate(180deg);animation-delay:.3s}.card-played-ray-5{transform:rotate(240deg);animation-delay:.35s}.card-played-ray-6{transform:rotate(300deg);animation-delay:.4s}@keyframes cardPlayedRayGrow{0%{opacity:0;height:0}50%{opacity:.6;height:400px}to{opacity:.2;height:650px}}.card-played-overlay.settle .card-played-rays{animation:cardPlayedFadeOut .15s ease-out forwards}@keyframes cardPlayedFadeOut{to{opacity:0}}.card-played-particles{position:absolute;width:100%;height:100%;pointer-events:none;overflow:hidden;z-index:1}.card-played-particle{position:absolute;background:radial-gradient(circle,#96c8ff,#78b4dccc 40%,#78b4dc00 70%);border-radius:50%;box-shadow:0 0 6px #96c8ff99,0 0 12px #78b4dc4d}@keyframes cardPlayedDrift1{0%,to{transform:translate(0) scale(1);opacity:.95}25%{transform:translate(20px,-35px) scale(1.15);opacity:1}50%{transform:translate(-12px,-60px) scale(.9);opacity:.85}75%{transform:translate(25px,-30px) scale(1.1);opacity:1}}@keyframes cardPlayedDrift2{0%,to{transform:translate(0) scale(1);opacity:.9}20%{transform:translate(-25px,-20px) scale(1.2);opacity:1}50%{transform:translate(15px,-50px) scale(.85);opacity:.88}80%{transform:translate(-15px,-25px) scale(1.05);opacity:.95}}@keyframes cardPlayedDrift3{0%,to{transform:translate(0) scale(1);opacity:.92}15%{transform:translate(15px,-18px) scale(1.25);opacity:1}40%{transform:translate(-20px,-45px) scale(.95);opacity:.82}65%{transform:translate(30px,-35px) scale(1.1);opacity:1}85%{transform:translate(-8px,-55px) scale(.88);opacity:.9}}.card-played-overlay.settle .card-played-particles{animation:cardPlayedFadeOut .15s ease-out forwards}.card-played-card-container{position:relative;z-index:2}.card-played-card-wrapper{position:relative;width:clamp(200px,22vw,360px);height:clamp(280px,31vw,504px);z-index:2;animation:cardPlayedEntrance .5s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes cardPlayedEntrance{0%{transform:scale(.4) translateY(80px);opacity:0}50%{opacity:1}to{transform:scale(1) translateY(0);opacity:1}}.card-played-card-container.display .card-played-card-wrapper{animation:cardPlayedFloat 2s ease-in-out infinite}@keyframes cardPlayedFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.card-played-card-container.settle .card-played-card-wrapper{animation:cardPlayedSettle .4s cubic-bezier(.4,0,.2,1) forwards}@keyframes cardPlayedSettle{0%{transform:scale(1) translateY(0);opacity:1}to{transform:scale(.3) translateY(-200px);opacity:0}}.card-played-card-front{position:absolute;width:100%;height:100%;border-radius:12px;overflow:hidden;box-shadow:0 16px 50px #0009,0 8px 25px #0006,0 0 35px #78b4dc40}.card-played-card-image{width:100%;height:100%;border-radius:12px}.card-played-card-glow{position:absolute;top:50%;left:50%;width:280px;height:380px;transform:translate(-50%,-50%);background:radial-gradient(ellipse at center,rgba(120,180,220,.35) 0%,transparent 70%);filter:blur(25px);z-index:1;pointer-events:none;animation:cardPlayedGlowPulse 1.5s ease-in-out infinite}@keyframes cardPlayedGlowPulse{0%,to{opacity:.5;transform:translate(-50%,-50%) scale(1)}50%{opacity:.9;transform:translate(-50%,-50%) scale(1.08)}}.card-played-overlay.settle .card-played-card-glow{animation:cardPlayedGlowOut .2s ease-out forwards}@keyframes cardPlayedGlowOut{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.8)}}.card-played-info-plate{position:absolute;bottom:12%;left:50%;transform:translate(-50%);z-index:3;opacity:0;animation:cardPlayedInfoIn .45s ease-out .4s forwards}@keyframes cardPlayedInfoIn{0%{opacity:0;transform:translate(-50%) translateY(25px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.card-played-info-plate.settle{animation:cardPlayedInfoOut .35s ease-in forwards}@keyframes cardPlayedInfoOut{to{opacity:0;transform:translate(-50%) translateY(25px)}}.card-played-info-content{display:flex;flex-direction:column;align-items:center;gap:5px;padding:14px 28px;background:linear-gradient(135deg,#0f1923f2,#0a121cf2);border:2px solid rgba(120,180,220,.45);border-radius:8px;box-shadow:0 8px 28px #00000080,inset 0 1px #ffffff14}.card-played-type-label{font-size:11px;text-transform:uppercase;letter-spacing:3px;color:#78b4dccc}.card-played-card-name{font-size:22px;font-weight:700;color:#e0ecf4;text-shadow:0 2px 4px rgba(0,0,0,.5);text-align:center}.card-played-message{font-size:13px;color:#b4c8dcd9;text-align:center;max-width:350px;line-height:1.4}.card-played-skip-hint{position:absolute;bottom:24px;left:50%;transform:translate(-50%);font-size:12px;color:#96aabe66;letter-spacing:1px;animation:cardPlayedSkipFadeIn 1s ease-out 1s forwards;opacity:0}@keyframes cardPlayedSkipFadeIn{to{opacity:1}}.card-played-overlay.settle .card-played-skip-hint{opacity:0}.card-played-card-front:after{content:"";position:absolute;top:-100%;left:-100%;width:300%;height:300%;background:linear-gradient(135deg,transparent 40%,rgba(255,255,255,.08) 45%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.08) 55%,transparent 60%);animation:cardPlayedShimmer 1.3s ease-in-out .5s;pointer-events:none;transform:translate(-50%) translateY(-50%)}@keyframes cardPlayedShimmer{0%{transform:translate(-50%) translateY(-50%);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translate(30%) translateY(30%);opacity:0}}@media (max-width: 768px){.card-played-card-wrapper{width:160px;height:224px}.card-played-card-glow{width:220px;height:300px}.card-played-card-name{font-size:18px}.card-played-info-content{padding:10px 20px}.card-played-message{font-size:12px;max-width:280px}}@media (max-width: 480px){.card-played-card-wrapper{width:130px;height:182px}.card-played-card-glow{width:180px;height:250px}.card-played-card-name{font-size:16px}}.card-selection-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:10000;display:flex;align-items:center;justify-content:center}.selection-backdrop{position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at center,#140f0aeb,#0a0805fa);animation:selectionFadeIn .5s ease-out forwards}.selection-discard .selection-backdrop,.selection-discard-to-hand .selection-backdrop{background:radial-gradient(ellipse at center,#280f0feb,#0f0808fa)}.selection-choose .selection-backdrop,.selection-search .selection-backdrop{background:radial-gradient(ellipse at center,#0f1928eb,#080c14fa)}@keyframes selectionFadeIn{0%{opacity:0}to{opacity:1}}.selection-particles{position:absolute;width:100%;height:100%;pointer-events:none;overflow:hidden}.selection-particles .particle{position:absolute;width:6px;height:6px;background:radial-gradient(circle,#c9a961b3,#c9a96100 70%);border-radius:50%;animation:particleFloat 3s ease-out infinite}.selection-discard .selection-particles .particle,.selection-discard-to-hand .selection-particles .particle{background:radial-gradient(circle,#c86464b3,#c8646400 70%)}.selection-particles .particle-1{left:10%;top:20%;animation-delay:0s}.selection-particles .particle-2{left:90%;top:30%;animation-delay:.3s}.selection-particles .particle-3{left:20%;top:70%;animation-delay:.6s}.selection-particles .particle-4{left:80%;top:60%;animation-delay:.9s}.selection-particles .particle-5{left:50%;top:15%;animation-delay:1.2s}.selection-particles .particle-6{left:30%;top:85%;animation-delay:1.5s}.selection-particles .particle-7{left:70%;top:80%;animation-delay:1.8s}.selection-particles .particle-8{left:15%;top:45%;animation-delay:2.1s}.selection-particles .particle-9{left:85%;top:50%;animation-delay:2.4s}.selection-particles .particle-10{left:40%;top:25%;animation-delay:2.7s}.selection-particles .particle-11{left:60%;top:75%;animation-delay:.15s}.selection-particles .particle-12{left:25%;top:35%;animation-delay:.45s}@keyframes particleFloat{0%{transform:translateY(0) scale(0);opacity:0}20%{opacity:.8;transform:translateY(-20px) scale(1)}to{transform:translateY(-100px) scale(.3);opacity:0}}.selection-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;max-width:95vw;max-height:95vh;overflow:auto;padding:20px;width:100%;text-align:center}.selection-header{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;width:100%;animation:selectionSlideDown .6s ease-out forwards}@keyframes selectionSlideDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.selection-header .player-indicator{display:inline-block;padding:6px 16px;background:linear-gradient(135deg,#4a5568,#2d3748);border-radius:20px;color:#c9a961;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:2px;margin-bottom:12px}.selection-header h1{font-size:42px;font-weight:700;color:#f5f0e5;margin:0;text-shadow:0 4px 20px rgba(201,169,97,.4);letter-spacing:2px}.selection-discard .selection-header h1,.selection-discard-to-hand .selection-header h1{text-shadow:0 4px 20px rgba(200,100,100,.4)}.selection-instruction{font-size:18px;color:#a0a0a0;margin:8px 0 0}.selection-info-banner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:12px 24px;background:#0006;border:1px solid rgba(201,169,97,.3);border-radius:12px;animation:fadeIn .8s ease-out .3s forwards;opacity:0;min-width:300px;text-align:center;color:#c9a961;font-size:16px;font-weight:500}.selection-discard .selection-info-banner,.selection-discard-to-hand .selection-info-banner{border-color:#c864644d;color:#e88}@keyframes fadeIn{to{opacity:1}}.selection-cards{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;padding:20px;max-width:100%}.selection-card{position:relative;cursor:pointer;transition:transform .3s ease,filter .3s ease;animation:cardAppear .5s ease-out forwards;opacity:0;transform:translateY(30px)}@keyframes cardAppear{to{opacity:1;transform:translateY(0)}}.selection-card:hover:not(.disabled){transform:translateY(-10px) scale(1.05);z-index:10}.selection-card.selected{transform:translateY(-5px);filter:brightness(.6) saturate(.5)}.selection-card.selected:hover{transform:translateY(-10px);filter:brightness(.7) saturate(.6)}.selection-card.disabled{cursor:not-allowed;filter:brightness(.5) saturate(.3)}.selection-card-inner{position:relative;width:clamp(140px,15vw,200px);height:clamp(196px,21vw,280px);border-radius:10px;overflow:hidden;box-shadow:0 10px 30px #00000080,0 5px 15px #0000004d,0 0 20px #c9a96133;transform-style:preserve-3d}.selection-card-image{width:100%;height:100%;background-size:800% 600%;background-repeat:no-repeat}.selection-card-selected-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#b43232b3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.selection-mulligan .selection-card-selected-overlay{background:#b46432b3}.selection-choose .selection-card-selected-overlay,.selection-search .selection-card-selected-overlay{background:#3264b4b3}.selection-x{font-size:48px;color:#fff;font-weight:700;text-shadow:0 2px 10px rgba(0,0,0,.5)}.selection-label{font-size:14px;color:#fff;text-transform:uppercase;letter-spacing:2px;font-weight:600}.selection-card-glow{position:absolute;top:50%;left:50%;width:120%;height:120%;transform:translate(-50%,-50%);background:radial-gradient(ellipse,rgba(201,169,97,.3) 0%,transparent 70%);pointer-events:none;opacity:0;transition:opacity .3s ease}.selection-card:hover:not(.disabled) .selection-card-glow{opacity:1}.selection-card.selected .selection-card-glow{background:radial-gradient(ellipse,rgba(180,50,50,.4) 0%,transparent 70%);opacity:.5}.selection-summary-container{min-height:48px;display:flex;align-items:center;justify-content:center}.selection-summary{padding:12px 24px;background:#c9a96126;border:1px solid rgba(201,169,97,.4);border-radius:8px;text-align:center}.selection-discard .selection-summary,.selection-discard-to-hand .selection-summary{background:#c8646426;border-color:#c8646466}.selection-summary p{margin:0;color:#e8d5a5;font-size:16px}.selection-discard .selection-summary p,.selection-discard-to-hand .selection-summary p{color:#e8a5a5}.selection-actions-container{min-height:60px;display:flex;align-items:center;justify-content:center}.selection-actions{display:flex;gap:20px;justify-content:center;align-items:center}.selection-button{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 32px;font-size:18px;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px}.selection-button .button-icon{font-size:20px}.selection-button.confirm{background:linear-gradient(135deg,#c9a961,#a08040);border:2px solid #d4b86a;color:#1a1510;box-shadow:0 4px 15px #c9a96166}.selection-button.confirm:hover:not(:disabled){background:linear-gradient(135deg,#dbb870,#b89050);transform:translateY(-2px);box-shadow:0 6px 20px #c9a96180}.selection-button.confirm:disabled{background:linear-gradient(135deg,#666,#444);border-color:#555;color:#999;cursor:not-allowed;box-shadow:none}.selection-discard .selection-button.confirm,.selection-discard-to-hand .selection-button.confirm{background:linear-gradient(135deg,#c96161,#a04040);border:2px solid #d46a6a;box-shadow:0 4px 15px #c9616166}.selection-discard .selection-button.confirm:hover:not(:disabled),.selection-discard-to-hand .selection-button.confirm:hover:not(:disabled){background:linear-gradient(135deg,#db7070,#b85050);box-shadow:0 6px 20px #c9616180}.selection-button.cancel{background:linear-gradient(135deg,#4a5f52,#3a4f42);border:2px solid #6b7f6f;color:#f4e4c1;box-shadow:0 4px 15px #4a5f5266}.selection-button.cancel:hover{background:linear-gradient(135deg,#5a6f62,#4a5f52);border-color:#8b9f8f;transform:translateY(-2px);box-shadow:0 6px 20px #4a5f5280}.selection-help{text-align:center}.selection-help p{margin:0;color:#777;font-family:var(--font-helper);font-size:14px;font-style:italic}.selection-help kbd{display:inline-block;padding:2px 6px;font-family:monospace;font-size:12px;font-style:normal;color:#c9a961;background:#c9a96126;border:1px solid rgba(201,169,97,.4);border-radius:4px;box-shadow:0 1px 2px #0003}.selection-waiting{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;text-align:center}.selection-waiting h2{font-size:36px;color:#c9a961;margin:0;text-shadow:0 4px 20px rgba(201,169,97,.4)}.selection-waiting p{font-size:18px;color:#a0a0a0;margin:0}.selection-spinner{width:60px;height:60px;position:relative}.spinner-ring{position:absolute;width:100%;height:100%;border:4px solid transparent;border-top-color:#c9a961;border-radius:50%;animation:spin 1s linear infinite}@media (max-width: 768px){.selection-header h1{font-size:32px}.selection-card-inner{width:120px;height:168px}.selection-cards{gap:12px}.selection-actions{flex-direction:column;gap:12px}.selection-button{padding:12px 24px;font-size:16px}}@media (max-width: 480px){.selection-header h1{font-size:26px}.selection-card-inner{width:100px;height:140px}.selection-x{font-size:36px}.selection-label{font-size:12px}}.flash-flood-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:10000;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;overflow:hidden}.flood-background-art{position:absolute;top:0;left:0;right:0;bottom:0;background-image:var(--flash-flood-art-url);background-size:cover;background-position:center;background-repeat:no-repeat;opacity:0;animation:backgroundFadeIn .6s ease-out forwards}@keyframes backgroundFadeIn{0%{opacity:0}to{opacity:1}}.phase-fading-out .flood-background-art{animation:backgroundFadeOut .5s ease-in forwards}@keyframes backgroundFadeOut{0%{opacity:1}to{opacity:0}}.flood-backdrop{position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at center,#0f1e32eb,#050f1efa);animation:floodBackdropIn .4s ease-out forwards}@keyframes floodBackdropIn{0%{opacity:0}to{opacity:1}}.phase-fading-out .flood-backdrop{animation:floodBackdropOut .5s ease-in forwards}@keyframes floodBackdropOut{0%{opacity:1}to{opacity:0}}.flood-title{position:absolute;top:15%;z-index:10;opacity:0;transform:translateY(-30px) scale(.8)}.phase-cards .flood-title,.phase-wash .flood-title,.phase-sigils .flood-title{animation:titleAppear .5s ease-out forwards}.title-text{font-size:3.5rem;font-weight:700;color:#5aa8c9;text-shadow:0 0 15px rgba(70,140,180,.6),0 0 30px rgba(50,120,160,.4),0 0 45px rgba(40,100,140,.25),2px 2px 4px rgba(0,0,0,.8);letter-spacing:2px}.water-wave{position:absolute;width:100%;left:0;opacity:0;pointer-events:none}.wave-1{bottom:0;height:0;background:linear-gradient(to top,rgba(20,60,90,.4) 0%,rgba(30,80,110,.3) 40%,rgba(40,100,130,.15) 70%,transparent 100%)}.wave-2{bottom:0;height:0;background:linear-gradient(to top,transparent 0%,rgba(80,140,180,.1) 85%,rgba(120,180,210,.2) 95%,rgba(150,200,230,.15) 100%)}.wave-3{bottom:0;height:8px;background:linear-gradient(90deg,transparent 0%,rgba(150,200,230,.3) 25%,rgba(180,220,240,.4) 50%,rgba(150,200,230,.3) 75%,transparent 100%);transform:translateY(100%)}.phase-wash .wave-1,.phase-wash .wave-2{animation:waterRise 1.4s ease-out forwards}.phase-wash .wave-3{animation:rippleRise 1.4s ease-out forwards,rippleShimmer .8s ease-in-out .6s infinite}.phase-sigils .wave-1,.phase-sigils .wave-2{opacity:1;height:55%;animation:waterRecede 1.2s ease-in forwards;animation-delay:.3s}.phase-sigils .wave-3{opacity:1;bottom:55%;transform:translateY(0);animation:rippleRecede 1.2s ease-in forwards;animation-delay:.3s}.phase-fading-out .wave-1,.phase-fading-out .wave-2,.phase-fading-out .wave-3{opacity:0;transition:opacity .4s ease-out}@keyframes waterRise{0%{opacity:0;height:0}20%{opacity:1}to{opacity:1;height:55%}}@keyframes rippleRise{0%{opacity:0;bottom:0;transform:translateY(0)}20%{opacity:1}to{opacity:1;bottom:55%;transform:translateY(0)}}@keyframes rippleShimmer{0%,to{background-position:0% 50%;opacity:.8}50%{background-position:100% 50%;opacity:1}}@keyframes waterRecede{0%{opacity:1;height:55%}to{opacity:0;height:30%}}@keyframes rippleRecede{0%{opacity:1;bottom:55%}to{opacity:0;bottom:30%}}.splash-particles{position:absolute;width:100%;height:100%;pointer-events:none}.splash-particle{position:absolute;width:6px;height:6px;border-radius:50%;background:#78b4d266;opacity:0;box-shadow:0 0 4px #96c8e64d}.phase-wash .splash-particle{animation:splashFloat 1.8s ease-out forwards}.splash-particles .particle-1{left:20%;top:48%;animation-delay:.9s}.splash-particles .particle-2{left:30%;top:46%;animation-delay:1s}.splash-particles .particle-3{left:40%;top:47%;animation-delay:1.1s}.splash-particles .particle-4{left:50%;top:45%;animation-delay:1.15s}.splash-particles .particle-5{left:60%;top:48%;animation-delay:1.2s}.splash-particles .particle-6{left:70%;top:46%;animation-delay:1.25s}.splash-particles .particle-7{left:80%;top:47%;animation-delay:1.3s}.splash-particles .particle-8{left:25%;top:44%;animation-delay:1.05s}.splash-particles .particle-9{left:45%;top:43%;animation-delay:1.18s}.splash-particles .particle-10{left:65%;top:44%;animation-delay:1.28s}.splash-particles .particle-11{left:35%;top:42%;animation-delay:1.12s}.splash-particles .particle-12{left:55%;top:43%;animation-delay:1.22s}.splash-particles .particle-13,.splash-particles .particle-14,.splash-particles .particle-15,.splash-particles .particle-16,.splash-particles .particle-17,.splash-particles .particle-18,.splash-particles .particle-19,.splash-particles .particle-20{display:none}@keyframes splashFloat{0%{opacity:0;transform:translateY(0) scale(.5)}20%{opacity:.6;transform:translateY(-5px) scale(1)}60%{opacity:.4;transform:translateY(-20px) scale(.8)}to{opacity:0;transform:translateY(-35px) scale(.4)}}.flood-cards-container{position:relative;display:flex;gap:20px;z-index:5;margin-top:50px}.flood-card{opacity:0;transform:translateY(50px) scale(.9)}.phase-cards .flood-card{animation:cardFadeIn .4s ease-out forwards}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(50px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.phase-wash .flood-card,.phase-sigils .flood-card{animation:cardWashAway 1.2s ease-in-out forwards}@keyframes cardWashAway{0%{opacity:1;transform:translateY(0) scale(1) rotate(0)}30%{opacity:1;transform:translateY(-20px) scale(1.05) rotate(-5deg)}50%{opacity:.8;transform:translateY(0) scale(1) rotate(5deg)}to{opacity:0;transform:translate(200px) translateY(100px) scale(.7) rotate(15deg)}}.flood-card-inner{display:flex;flex-direction:column;align-items:center;padding:8px;background:#0009;border-radius:10px;border:2px solid rgba(125,211,252,.3);box-shadow:0 0 15px #38bdf84d}.flood-card.own-card .flood-card-inner{border-color:#c9a96180;box-shadow:0 0 15px #c9a9614d}.flood-card-image{border-radius:6px}.card-label{margin-top:8px;font-size:.85rem;color:#a0aec0;text-align:center;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.own-indicator{margin-top:4px;font-size:.7rem;color:#c9a961;font-weight:500}.sigils-message{position:absolute;z-index:20;display:flex;flex-direction:column;align-items:center;gap:16px;animation:sigilsAppear .6s ease-out forwards}@keyframes sigilsAppear{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.sigils-player-name{font-size:1.4rem;font-weight:600;color:#c4d9b8;text-shadow:0 0 8px rgba(90,128,64,.5),2px 2px 4px rgba(0,0,0,.8);letter-spacing:1px;text-transform:uppercase}.sigils-icon-container{display:flex;gap:12px;padding:16px 24px;background:linear-gradient(135deg,#5a80404d,#44653066);border-radius:12px;border:2px solid rgba(90,128,64,.5);box-shadow:0 4px 20px #44653066}.sigil-icon-wrapper{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#5a8040,#446530);border-radius:8px;box-shadow:0 2px 8px #44653099;opacity:0;transform:rotate(-90deg);animation:sigilReadyRotate .6s ease-out forwards}.sigil-icon-wrapper .icon{filter:brightness(1.1) drop-shadow(0 0 4px rgba(255,255,255,.4))}@keyframes sigilReadyRotate{0%{opacity:0;transform:rotate(-90deg) scale(.8)}40%{opacity:1;transform:rotate(-90deg) scale(1)}to{opacity:1;transform:rotate(0) scale(1)}}.sigils-text{font-size:1.8rem;font-weight:700;color:#7ab356;text-shadow:0 0 15px rgba(90,128,64,.7),0 0 30px rgba(68,101,48,.4),2px 2px 4px rgba(0,0,0,.8)}.no-battlefields-message{font-size:1.5rem;color:#7dd3fc;text-shadow:0 0 10px rgba(125,211,252,.6);animation:messageAppear .5s ease-out forwards}@keyframes messageAppear{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.skip-hint{position:absolute;bottom:40px;font-size:.9rem;color:#a0aec099;animation:hintFadeIn .5s ease-out .5s forwards;opacity:0}@keyframes hintFadeIn{to{opacity:1}}.field-hospital-modal{min-width:450px;max-width:600px}.field-hospital-subtitle{color:#a4b4a4;font-size:14px;margin-bottom:20px}.field-hospital-choices{display:flex;flex-direction:column;gap:16px}.field-hospital-option-group{display:flex;flex-direction:column;gap:12px}.option-group-label{display:flex;align-items:center;gap:8px;color:#8b9f8f;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:1px}.option-group-label svg{color:#6b7f6f}.field-hospital-modal .mercenary-cards-grid{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;padding:16px;background:#00000026;border-radius:8px;min-height:200px}.field-hospital-modal .mercenary-card-wrapper{position:relative;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;border-radius:8px;width:130px;height:182px;display:flex;align-items:center;justify-content:center;overflow:visible}.field-hospital-modal .mercenary-card-wrapper:hover{transform:translateY(-4px);box-shadow:0 4px 12px #0000004d}.field-hospital-modal .mercenary-card-wrapper.heal-target:hover{box-shadow:0 6px 20px #4ade804d}.field-hospital-modal .mercenary-card-wrapper .card{transform:scale(1);transform-origin:center center;pointer-events:none}.field-hospital-modal .mercenary-card-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:90px;height:135px;background:linear-gradient(135deg,#4a5f52,#3a4f42);border:2px solid #6b7f6f;border-radius:8px;color:#f4e4c1;font-size:12px;font-weight:600}.piece-type-badge{position:absolute;left:6px;width:38px;height:38px;background:linear-gradient(135deg,#3a4f42,#2a3f32);border:2px solid #6b7f6f;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:10;box-shadow:0 2px 8px #0006}.piece-type-badge svg{color:#f4e4c1}.heal-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#8b7355b3;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:end;padding:12px;gap:2px;animation:fadeInInvoke .2s ease-out;pointer-events:none}.mercenary-card-wrapper.heal-target:hover .heal-overlay{opacity:1}.heal-icon{width:48px;height:48px;background:#4ade80e6;border-radius:50%;display:flex;align-items:center;justify-content:center}.heal-icon svg{color:#1a2f1a}.heal-label{color:#4ade80;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:2px;text-shadow:0 1px 3px rgba(0,0,0,.5)}.field-hospital-button{display:flex;align-items:center;gap:12px}.field-hospital-button svg{flex-shrink:0}.field-hospital-button.boost-button{background:linear-gradient(135deg,#5a4a3e,#4a3a2e);border-color:#7a6a5e}.field-hospital-button.boost-button:hover{background:linear-gradient(135deg,#6a5a4e,#5a4a3e);border-color:#9a8a7e}.field-hospital-button.boost-button svg{color:#fbbf24}.field-hospital-divider{display:flex;align-items:center;gap:16px;color:#6b7f6f;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:2px}.field-hospital-divider:before,.field-hospital-divider:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,#6b7f6f,transparent)}.field-hospital-option-group.disabled{opacity:.6}.field-hospital-option-group.disabled .option-group-label{color:#6b7f6f}.field-hospital-option-group.disabled .option-group-label svg{color:#5a6a5f}.disabled-option-message{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#00000026;border:1px dashed #5a6a5f;border-radius:8px;color:#8b9f8f;font-size:14px;font-style:italic}.disabled-option-message svg{color:#6b7f6f;opacity:.7;flex-shrink:0}.no-targets-message{color:#a49481;font-style:italic;text-align:center;padding:20px}.recruitment-camp-modal{min-width:400px;max-width:550px}.recruitment-camp-subtitle{color:#a4b4a4;font-size:14px;margin-bottom:20px;line-height:1.4}.recruitment-camp-card-display{display:flex;justify-content:center;padding:16px;background:#00000026;border-radius:8px;margin-bottom:20px;min-height:200px}.recruitment-camp-card-wrapper{position:relative;border-radius:8px;width:130px;height:182px;display:flex;align-items:center;justify-content:center;overflow:visible}.recruitment-camp-card-wrapper .card{transform:scale(1);transform-origin:center center;pointer-events:none}.recruitment-camp-card-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:130px;height:182px;background:linear-gradient(135deg,#4a5f52,#3a4f42);border:2px solid #6b7f6f;border-radius:8px;color:#f4e4c1;font-size:14px;font-weight:600}.recruitment-camp-actions{display:flex;gap:12px;justify-content:center}.recruitment-camp-button{min-width:140px;display:flex;align-items:center;justify-content:center;gap:8px}.recruitment-camp-button.take-button{background:linear-gradient(135deg,#3a5a3e,#2a4a2e);border-color:#5a8a5e}.recruitment-camp-button.take-button:hover{background:linear-gradient(135deg,#4a6a4e,#3a5a3e);border-color:#7aaa7e}.recruitment-camp-button.skip-button{background:linear-gradient(135deg,#5a4a3e,#4a3a2e);border-color:#7a6a5e}.recruitment-camp-button.skip-button:hover{background:linear-gradient(135deg,#6a5a4e,#5a4a3e);border-color:#9a8a7e}.pawn-promotion-modal{min-width:450px;max-width:700px;max-height:80vh;overflow-y:auto}.pawn-promotion-modal h2{display:flex;align-items:center;gap:10px;justify-content:center}.pawn-promotion-modal h2 svg{color:#fbbf24}.pawn-promotion-subtitle{color:#a4b4a4;font-size:14px;margin-bottom:20px;text-align:center}.promotion-step{display:flex;flex-direction:column;gap:16px}.step-label{color:#8b9f8f;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:1px;text-align:center}.mercenary-type-grid{display:flex;gap:16px;justify-content:center;padding:16px}.promotion-mercenary-type-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:120px;height:120px;background:linear-gradient(135deg,#4a5f52,#3a4f42);border:2px solid #6b7f6f;border-radius:12px;color:#f4e4c1;cursor:pointer;transition:all .2s ease}.promotion-mercenary-type-button:hover{transform:translateY(-4px);border-color:#fbbf24;box-shadow:0 6px 20px #fbbf2433;background:linear-gradient(135deg,#5a6f62,#4a5f52)}.promotion-mercenary-type-button svg{color:#f4e4c1}.type-label{font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:1px}.mercenary-card-selection{display:flex;flex-direction:column;gap:16px}.card-source-group{display:flex;flex-direction:column;gap:8px}.card-source-label{color:#6b7f6f;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:2px}.promotion-cards-grid{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;padding:12px;background:#00000026;border-radius:8px;max-height:300px;overflow-y:auto}.promotion-cards-grid::-webkit-scrollbar,.pawn-promotion-modal::-webkit-scrollbar{width:6px}.promotion-cards-grid::-webkit-scrollbar-track,.pawn-promotion-modal::-webkit-scrollbar-track{background:#0000001a;border-radius:3px}.promotion-cards-grid::-webkit-scrollbar-thumb,.pawn-promotion-modal::-webkit-scrollbar-thumb{background:#6b7f6f;border-radius:3px}.promotion-cards-grid::-webkit-scrollbar-thumb:hover,.pawn-promotion-modal::-webkit-scrollbar-thumb:hover{background:#8b9f8f}.promotion-card-wrapper{position:relative;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;border-radius:8px;width:130px;height:182px;display:flex;align-items:center;justify-content:center;overflow:visible}.promotion-card-wrapper:hover{transform:translateY(-4px);box-shadow:0 4px 12px #0000004d}.promotion-card-wrapper.selected{box-shadow:0 0 0 3px #fbbf24,0 6px 20px #fbbf244d}.promotion-card-wrapper .card{transform:scale(1);transform-origin:center center;pointer-events:none}.promotion-card-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:120px;height:170px;background:linear-gradient(135deg,#4a5f52,#3a4f42);border:2px solid #6b7f6f;border-radius:8px;color:#f4e4c1;font-size:12px;font-weight:600;padding:8px;text-align:center}.card-cost{color:#8b9f8f;font-size:11px}.selected-badge{position:absolute;top:-8px;right:-8px;width:28px;height:28px;background:#fbbf24;color:#1a2f1a;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;z-index:10;box-shadow:0 2px 8px #0006}.no-cards-message{color:#a49481;font-style:italic;text-align:center;padding:20px}.promotion-actions{display:flex;justify-content:space-between;gap:12px;margin-top:8px}.promotion-back-button{padding:10px 20px;background:#0000004d;border:1px solid #6b7f6f;border-radius:6px;color:#a4b4a4;font-size:14px;cursor:pointer;transition:all .2s ease}.promotion-back-button:hover{background:#00000080;border-color:#8b9f8f;color:#f4e4c1}.promotion-confirm-button{padding:10px 24px;background:linear-gradient(135deg,#5a7a3e,#4a6a2e);border:2px solid #7a9a5e;border-radius:6px;color:#f4e4c1;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.promotion-confirm-button:hover:not(:disabled){background:linear-gradient(135deg,#6a8a4e,#5a7a3e);border-color:#9aba7e;box-shadow:0 4px 12px #5a7a3e4d}.promotion-confirm-button:disabled{opacity:.5;cursor:not-allowed}.skip-promotion-button{padding:8px 16px;background:transparent;border:1px solid #6b7f6f;border-radius:6px;color:#8b9f8f;font-size:13px;cursor:pointer;transition:all .2s ease;align-self:center;margin-top:8px}.skip-promotion-button:hover{background:#0000004d;border-color:#a49481;color:#f4e4c1}.bramble-patch-modal{min-width:450px;max-width:600px}.bramble-patch-subtitle{color:#a4b4a4;font-size:14px;margin-bottom:20px}.bramble-patch-selection{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.selection-status{display:flex;justify-content:center;align-items:center;padding:8px 16px;background:#0003;border-radius:8px}.selection-count{color:#c9a961;font-size:14px;font-weight:600;letter-spacing:1px}.mercenary-cards-grid{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;padding:16px;background:#00000026;border-radius:8px;min-height:200px}.mercenary-card-wrapper{position:relative;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;border-radius:8px;width:130px;height:182px;display:flex;align-items:center;justify-content:center;overflow:visible}.mercenary-card-wrapper:hover{transform:translateY(-4px);box-shadow:0 4px 12px #0000004d}.mercenary-card-wrapper.selected{transform:translateY(-6px);box-shadow:0 6px 20px #8b735580}.mercenary-card-wrapper .card{transform:scale(1);transform-origin:center center;pointer-events:none}.mercenary-card-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:90px;height:135px;background:linear-gradient(135deg,#4a5f52,#3a4f42);border:2px solid #6b7f6f;border-radius:8px;color:#f4e4c1;font-size:12px;font-weight:600}.bramble-patch-container .piece-type-badge{position:absolute;left:6px;width:38px;height:38px;background:linear-gradient(135deg,#3a4f42,#2a3f32);border:2px solid #6b7f6f;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:10;box-shadow:0 2px 8px #0006}.bramble-patch-container .piece-type-badge svg{color:#f4e4c1}.bramble-invoke-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#8b7355b3;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:end;padding:12px;gap:2px;animation:fadeInInvoke .2s ease-out;pointer-events:none}@keyframes fadeInInvoke{0%{opacity:0}to{opacity:1}}.bramble-invoke-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#0006;border-radius:50%;color:#f4e4c1}.bramble-invoke-label{color:#f4e4c1;font-size:14px;font-weight:700;text-shadow:1px 1px 2px rgba(0,0,0,.5);letter-spacing:1px;text-transform:uppercase}.bramble-patch-actions{display:flex;gap:12px;justify-content:center}.bramble-patch-actions .cancel-button{background:linear-gradient(135deg,#5a4a4a,#4a3a3a);border-color:#7a6a6a;min-width:120px}.bramble-patch-actions .cancel-button:hover{background:linear-gradient(135deg,#6a5a5a,#5a4a4a);border-color:#8a7a7a}.bramble-patch-actions .confirm-button{min-width:180px;display:flex;align-items:center;justify-content:center;gap:8px}.bramble-patch-actions .confirm-button:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.bramble-patch-actions .confirm-button:disabled:hover{transform:none!important;box-shadow:none!important}.bramble-patch-actions .confirm-button.primary{background:linear-gradient(135deg,#5a6a3e,#4a5a2e);border-color:#7a8a5e}.bramble-patch-actions .confirm-button.primary:hover:not(:disabled){background:linear-gradient(135deg,#6a7a4e,#5a6a3e);border-color:#8a9a6e}.bramble-patch-actions .confirm-button .confirm-icon{color:#4ade80;font-size:18px;font-weight:700}.trading-market-modal{min-width:500px;max-width:700px}.trading-market-subtitle{color:#a4b4a4;font-size:14px;margin-bottom:20px}.trading-market-info{display:flex;flex-direction:column;gap:8px;margin-bottom:20px;padding:12px 16px;background:#0003;border-radius:8px}.trading-market-info .info-item{display:flex;align-items:center;gap:8px}.trading-market-info .info-label{color:#a4b4a4;font-size:13px;min-width:60px}.trading-market-info .info-value{color:#f4e4c1;font-size:13px}.trading-market-info .info-item.note{justify-content:center;padding-top:8px;border-top:1px solid rgba(255,255,255,.1);margin-top:4px}.trading-market-info .info-item.note .info-value{color:#c9a961;font-style:italic;font-size:12px}.trading-market-info .info-item.error .info-value{color:#e74c3c;font-weight:600}.trading-market-info .info-item.cost-item .sigil-cost{display:flex;align-items:center;gap:6px;color:#c9a961;font-weight:600}.trading-market-info .sigil-cost svg{color:#c9a961}.trading-market-selection{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.trading-market-selection .selection-header{display:flex;justify-content:space-between;align-items:center;padding:0 8px}.trading-market-selection .selection-label{color:#a4b4a4;font-size:14px}.trading-market-selection .selection-count{color:#c9a961;font-size:14px;font-weight:600;letter-spacing:1px}.hand-cards-grid{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;padding:16px;background:#00000026;border-radius:8px;min-height:200px;max-height:400px;overflow-y:auto}.hand-card-wrapper{position:relative;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;border-radius:8px;width:130px;height:182px;display:flex;align-items:center;justify-content:center;overflow:visible}.hand-card-wrapper:hover{transform:translateY(-4px);box-shadow:0 4px 12px #0000004d}.hand-card-wrapper.selected{transform:translateY(-6px);box-shadow:0 6px 20px #e74c3c66}.hand-card-wrapper .card{transform:scale(1);transform-origin:center center;pointer-events:none}.trading-market-discard-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#e74c3cb3;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;animation:fadeInDiscard .2s ease-out;pointer-events:none}@keyframes fadeInDiscard{0%{opacity:0}to{opacity:1}}.trading-market-discard-overlay .discard-icon{width:48px;height:48px;background:#0000004d;border-radius:50%;display:flex;align-items:center;justify-content:center}.trading-market-discard-overlay .discard-icon svg{font-size:24px;color:#fff}.trading-market-discard-overlay .discard-label{color:#fff;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:1px}.trading-market-actions{display:flex;gap:16px;justify-content:center}.trading-market-actions button svg{margin-right:8px}.trading-market-steal-modal{min-width:380px;max-width:450px}.trading-market-info.steal-info{padding:16px 20px}.steal-cost-row{display:flex;align-items:center;justify-content:center;gap:8px;font-size:15px;margin-bottom:12px}.steal-cost-row .cost-label,.steal-cost-row .available-label{color:#a4b4a4}.steal-cost-row .cost-value{color:#c9a961;font-weight:600}.steal-cost-row .cost-value.insufficient{color:#e74c3c}.steal-cost-row .cost-separator{color:#ffffff4d;margin:0 4px}.steal-cost-row .available-value{font-weight:600}.steal-cost-row .available-value.sufficient{color:#7dcea0}.steal-cost-row .available-value.insufficient{color:#e74c3c}.trading-market-confirm-modal{min-width:380px;max-width:450px}.trading-market-confirm-modal .trading-market-subtitle{font-size:16px;margin-bottom:16px}.trading-market-confirm-modal .trading-market-info{margin-bottom:24px}@media (max-width: 800px){.trading-market-modal{min-width:auto;max-width:90vw}.hand-cards-grid{max-height:300px}.hand-card-wrapper{width:110px;height:154px}}.ironbark-shield-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:10000;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;overflow:hidden}.shield-backdrop{position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at center,#142314eb,#0a140afa);opacity:0;animation:backdropFadeIn .3s ease-out forwards}@keyframes backdropFadeIn{0%{opacity:0}to{opacity:1}}.phase-fading-out .shield-backdrop{animation:backdropFadeOut .4s ease-in forwards}@keyframes backdropFadeOut{0%{opacity:1}to{opacity:0}}.shield-light-burst{position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(139,90,43,.4) 0%,rgba(101,67,33,.2) 30%,rgba(60,40,20,.1) 60%,transparent 80%);opacity:0;transform:scale(.5)}.phase-shield .shield-light-burst,.phase-shatter .shield-light-burst,.phase-message .shield-light-burst{animation:lightBurstIn .6s ease-out forwards}@keyframes lightBurstIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.phase-shatter .shield-light-burst{animation:lightBurstPulse .3s ease-out forwards}@keyframes lightBurstPulse{0%{opacity:1;transform:scale(1)}50%{opacity:1;transform:scale(1.3);filter:brightness(1.5)}to{opacity:.7;transform:scale(1.1);filter:brightness(1)}}.phase-fading-out .shield-light-burst{opacity:0;transition:opacity .3s ease-out}.shield-card-container{position:relative;display:flex;align-items:center;justify-content:center;z-index:10}.shield-card{position:relative;opacity:0;transform:scale(.3) rotateY(90deg)}.phase-shield .shield-card{animation:cardZoomIn .7s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes cardZoomIn{0%{opacity:0;transform:scale(.3) rotateY(90deg)}60%{opacity:1;transform:scale(1.1) rotateY(0)}to{opacity:1;transform:scale(1) rotateY(0)}}.phase-shatter .shield-card{animation:cardShake .15s ease-in-out 3}@keyframes cardShake{0%,to{transform:translate(0)}25%{transform:translate(-5px) rotate(-1deg)}75%{transform:translate(5px) rotate(1deg)}}.phase-message .shield-card{opacity:0;transition:opacity .3s ease-out}.shield-card-image{border-radius:12px;box-shadow:0 0 30px #8b5a2b99,0 0 60px #65432166,0 10px 40px #00000080}.shield-card-glow{position:absolute;top:-10px;left:-10px;right:-10px;bottom:-10px;border-radius:16px;background:linear-gradient(135deg,#8b5a2b4d,#3c28141a,#8b5a2b4d);animation:glowPulse 1s ease-in-out infinite;pointer-events:none}@keyframes glowPulse{0%,to{opacity:.5}50%{opacity:1}}.phase-shatter .shield-card-glow{animation:glowFlash .2s ease-out forwards}@keyframes glowFlash{0%{opacity:1;filter:brightness(1)}50%{opacity:1;filter:brightness(2)}to{opacity:0;filter:brightness(1)}}.crack-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:180px;height:270px;pointer-events:none}.crack{position:absolute;background:linear-gradient(90deg,transparent 0%,rgba(255,200,100,.8) 20%,rgba(255,255,255,.9) 50%,rgba(255,200,100,.8) 80%,transparent 100%);opacity:0;transform-origin:center}.crack-1{width:100%;height:3px;top:40%;left:0}.crack-2{width:80%;height:3px;top:60%;left:10%;transform:rotate(-15deg)}.crack-3{width:3px;height:70%;left:30%;top:15%;transform:rotate(10deg)}.crack-4{width:3px;height:60%;left:65%;top:20%;transform:rotate(-8deg)}.crack-5{width:60%;height:3px;top:25%;left:20%;transform:rotate(8deg)}.phase-shatter .crack{animation:crackAppear .15s ease-out forwards}.phase-shatter .crack-1{animation-delay:0s}.phase-shatter .crack-2{animation-delay:.05s}.phase-shatter .crack-3{animation-delay:.1s}.phase-shatter .crack-4{animation-delay:.15s}.phase-shatter .crack-5{animation-delay:.2s}@keyframes crackAppear{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}.shatter-fragments{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:180px;height:270px;pointer-events:none}.shield-fragment{position:absolute;width:40px;height:40px;background:linear-gradient(135deg,#8b5a2be6,#654321cc,#3c2814e6);border:1px solid rgba(180,120,60,.5);clip-path:polygon(50% 0%,100% 30%,90% 100%,10% 80%,0% 40%);opacity:0;box-shadow:0 0 10px #8b5a2b80}.fragment-1{top:10%;left:20%}.fragment-2{top:5%;left:50%}.fragment-3{top:15%;left:75%}.fragment-4{top:35%;left:10%}.fragment-5{top:30%;left:55%}.fragment-6{top:40%;left:85%}.fragment-7{top:55%;left:15%}.fragment-8{top:50%;left:45%}.fragment-9{top:60%;left:70%}.fragment-10{top:75%;left:25%}.fragment-11{top:80%;left:55%}.fragment-12{top:85%;left:80%}.phase-shatter .shield-fragment{animation:fragmentExplode .8s cubic-bezier(.25,.46,.45,.94) forwards;animation-delay:var(--fragment-delay)}@keyframes fragmentExplode{0%{opacity:1;transform:translate(0) rotate(0) scale(1)}30%{opacity:1}to{opacity:0;transform:translate(calc(cos(var(--fragment-angle)) * var(--fragment-distance)),calc(sin(var(--fragment-angle)) * var(--fragment-distance))) rotate(var(--fragment-rotate)) scale(.5)}}.fragment-1{--explode-x: -100px;--explode-y: -80px}.fragment-2{--explode-x: 20px;--explode-y: -120px}.fragment-3{--explode-x: 120px;--explode-y: -60px}.fragment-4{--explode-x: -130px;--explode-y: 20px}.fragment-5{--explode-x: 60px;--explode-y: -40px}.fragment-6{--explode-x: 150px;--explode-y: 40px}.fragment-7{--explode-x: -110px;--explode-y: 100px}.fragment-8{--explode-x: -20px;--explode-y: 80px}.fragment-9{--explode-x: 100px;--explode-y: 90px}.fragment-10{--explode-x: -80px;--explode-y: 140px}.fragment-11{--explode-x: 40px;--explode-y: 150px}.fragment-12{--explode-x: 130px;--explode-y: 120px}@supports not (transform: translate(calc(cos(0deg)*1px),0)){.phase-shatter .shield-fragment{animation:fragmentExplodeFallback .8s cubic-bezier(.25,.46,.45,.94) forwards;animation-delay:var(--fragment-delay)}@keyframes fragmentExplodeFallback{0%{opacity:1;transform:translate(0) rotate(0) scale(1)}30%{opacity:1}to{opacity:0;transform:translate(var(--explode-x),var(--explode-y)) rotate(var(--fragment-rotate)) scale(.5)}}}.spark-particles{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.spark{position:absolute;width:6px;height:6px;background:radial-gradient(circle,rgba(255,220,150,1) 0%,rgba(255,180,80,.8) 50%,transparent 100%);border-radius:50%;opacity:0}.phase-shatter .spark{animation:sparkFly .6s ease-out forwards;animation-delay:var(--spark-delay)}@keyframes sparkFly{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(calc(cos(var(--spark-angle)) * var(--spark-distance)),calc(sin(var(--spark-angle)) * var(--spark-distance))) scale(.3)}}.spark-1{--spark-x: -80px;--spark-y: -60px}.spark-2{--spark-x: 30px;--spark-y: -90px}.spark-3{--spark-x: 70px;--spark-y: -40px}.spark-4{--spark-x: -60px;--spark-y: 50px}.spark-5{--spark-x: 90px;--spark-y: 30px}.spark-6{--spark-x: -100px;--spark-y: -20px}.spark-7{--spark-x: 50px;--spark-y: 80px}.spark-8{--spark-x: -40px;--spark-y: -80px}.spark-9{--spark-x: 100px;--spark-y: -10px}.spark-10{--spark-x: -70px;--spark-y: 70px}.spark-11{--spark-x: 20px;--spark-y: 100px}.spark-12{--spark-x: 80px;--spark-y: -70px}.spark-13{--spark-x: -90px;--spark-y: 40px}.spark-14{--spark-x: 60px;--spark-y: -50px}.spark-15{--spark-x: -30px;--spark-y: 90px}.spark-16{--spark-x: 110px;--spark-y: 50px}.spark-17{--spark-x: -50px;--spark-y: -70px}.spark-18{--spark-x: 40px;--spark-y: 60px}.spark-19{--spark-x: -80px;--spark-y: -30px}.spark-20{--spark-x: 70px;--spark-y: 70px}@supports not (transform: translate(calc(cos(0deg)*1px),0)){.phase-shatter .spark{animation:sparkFlyFallback .6s ease-out forwards;animation-delay:var(--spark-delay)}@keyframes sparkFlyFallback{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(var(--spark-x),var(--spark-y)) scale(.3)}}}.shield-title{position:absolute;top:12%;z-index:20;opacity:0;transform:translateY(-30px) scale(.8)}.phase-shield .shield-title,.phase-shatter .shield-title,.phase-message .shield-title{animation:titleAppear .5s ease-out forwards}@keyframes titleAppear{0%{opacity:0;transform:translateY(-30px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}.phase-fading-out .shield-title{opacity:0;transition:opacity .3s ease-out}.shield-title .title-text{font-size:3rem;font-weight:700;color:#b87333;text-shadow:0 0 15px rgba(184,115,51,.6),0 0 30px rgba(139,90,43,.4),0 0 45px rgba(101,67,33,.25),2px 2px 4px rgba(0,0,0,.8);letter-spacing:2px}.protection-message{position:absolute;bottom:25%;text-align:center;opacity:0;transform:translateY(30px);z-index:20}.phase-message .protection-message{animation:messageAppear .5s ease-out forwards}@keyframes messageAppear{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.phase-fading-out .protection-message{opacity:0;transition:opacity .3s ease-out}.protected-mercenary{font-size:2rem;font-weight:700;color:#90ee90;text-shadow:0 0 10px rgba(144,238,144,.6),0 0 20px rgba(50,205,50,.4);margin-bottom:.5rem}.protection-text{font-size:1.5rem;color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.8);margin-bottom:.3rem}.player-indicator{font-size:1rem;color:#ffffffb3;font-style:italic}.impact-ring{position:absolute;width:200px;height:200px;border:4px solid rgba(255,200,100,.8);border-radius:50%;opacity:0;pointer-events:none}.phase-shatter .impact-ring{animation:impactRingExpand .6s ease-out forwards}.phase-shatter .ring-2{animation-delay:.1s}@keyframes impactRingExpand{0%{opacity:1;transform:scale(.3)}to{opacity:0;transform:scale(2)}}.skip-hint{position:absolute;bottom:20px;right:20px;font-size:.85rem;color:#ffffff80;font-style:italic;z-index:100}.phase-intro .skip-hint{opacity:0}.phase-fading-out .skip-hint{opacity:0;transition:opacity .2s ease-out}.invoke-mercenary-container{display:flex;align-items:center;justify-content:center;gap:24px}.invoke-mercenary-modal{min-width:400px;max-width:600px}.invoke-mercenary-subtitle{color:var(--text-secondary, #b0b0b0);margin-bottom:20px;font-size:.95rem}.invoke-mercenary-selection{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.selection-status{display:flex;justify-content:center}.selection-count{font-size:.85rem;color:var(--text-secondary, #888);padding:4px 12px;background:#0003;border-radius:12px}.mercenary-cards-grid{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.mercenary-card-wrapper{position:relative;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;border-radius:8px}.mercenary-card-wrapper:hover{transform:translateY(-4px);box-shadow:0 8px 24px #4caf504d}.mercenary-card-wrapper.selected{transform:translateY(-8px);box-shadow:0 8px 24px #ff980080}.piece-type-badge{position:absolute;top:8px;right:8px;padding:4px;background:#000000b3;border-radius:4px;z-index:5;display:flex;align-items:center;justify-content:center}.invoke-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#ff98004d;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;z-index:10;pointer-events:none}.invoke-mercenary-overlay .invoke-icon{background:#ff9800e6;padding:12px;border-radius:50%;display:flex;align-items:center;justify-content:center}.invoke-label{font-size:.85rem;font-weight:600;color:#fff;text-transform:uppercase;text-shadow:0 1px 3px rgba(0,0,0,.5)}.mercenary-card-fallback{width:140px;height:200px;background:linear-gradient(135deg,#424242,#212121);border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:2px solid #666}.mercenary-card-fallback span{font-size:.85rem;color:#ccc}.no-mercenaries-message{padding:32px;text-align:center;color:var(--text-secondary, #888)}.no-mercenaries-message p{margin:0;font-style:italic}.invoke-mercenary-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}@media (max-width: 768px){.invoke-mercenary-container{flex-direction:column}.invoke-mercenary-modal{min-width:90vw}.mercenary-cards-grid{gap:8px}.card-preview{display:none}}.reveal-pick-container{display:flex;align-items:center;justify-content:center;gap:24px}.reveal-pick-modal{min-width:500px;max-width:700px}.reveal-pick-subtitle{color:var(--text-secondary, #b0b0b0);margin-bottom:20px;font-size:.95rem}.reveal-pick-cards{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.revealed-cards-section h3{font-size:.9rem;color:var(--text-secondary, #b0b0b0);margin-bottom:12px;font-weight:500}.revealed-cards-grid{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.revealed-card-wrapper{position:relative;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;border-radius:8px}.revealed-card-wrapper:not(.read-only):hover{transform:translateY(-4px)}.revealed-card-wrapper.pickable:not(.read-only){cursor:pointer}.revealed-card-wrapper.pickable:not(.read-only):hover{box-shadow:0 8px 24px #4caf504d}.revealed-card-wrapper.not-pickable{opacity:.7;cursor:default}.revealed-card-wrapper.selected{transform:translateY(-8px);box-shadow:0 8px 24px #4caf5080}.revealed-card-wrapper.read-only{cursor:default}.card-type-badge{position:absolute;top:8px;left:8px;padding:4px 8px;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase;z-index:5;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.card-type-badge.equipment{background:#8b4513e6;color:gold;border:1px solid #ffd700}.card-type-badge.action{background:#9c27b0e6;color:#e1bee7;border:1px solid #e1bee7}.card-type-badge.mercenary{background:#212121e6;color:#fff;border:1px solid #666}.card-type-badge.battlefield{background:#2e7d32e6;color:#c8e6c9;border:1px solid #c8e6c9}.card-fate-overlay{position:absolute;bottom:0;left:0;right:0;padding:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;z-index:10;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:0 0 8px 8px;opacity:0;transition:opacity .2s ease}.revealed-card-wrapper:not(.read-only):hover .card-fate-overlay{opacity:1}.card-fate-overlay.take{background:#4caf50e6;color:#fff}.card-fate-overlay.discard{background:#616161cc;color:#ccc}.revealed-card-wrapper.selected .card-fate-overlay.take{opacity:1}.revealed-card-wrapper.not-pickable .card-fate-overlay.discard{opacity:.7}.reveal-pick-info{display:flex;flex-direction:column;gap:4px;padding:12px;background:#0003;border-radius:8px;font-size:.85rem}.reveal-pick-info p{margin:0}.reveal-pick-info .info-available{color:var(--color-success, #4caf50)}.reveal-pick-info .info-none{color:var(--text-secondary, #888)}.reveal-pick-info .info-discard{color:var(--text-secondary, #888);font-size:.8rem}.reveal-pick-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.reveal-pick-actions .skip-button{background:var(--color-secondary, #616161)}.reveal-pick-actions .skip-button:hover:not(:disabled){background:var(--color-secondary-dark, #424242)}.reveal-pick-actions .skip-button.primary{background:var(--color-primary, #4caf50)}.reveal-pick-waiting{padding:16px;text-align:center;color:var(--text-secondary, #888);font-style:italic}@media (max-width: 768px){.reveal-pick-container{flex-direction:column}.reveal-pick-modal{min-width:90vw}.revealed-cards-grid{gap:8px}.card-preview{display:none}}.night-whisper-container{display:flex;gap:1.5rem;align-items:flex-start;justify-content:center}.night-whisper-modal{min-width:500px;max-width:700px}.night-whisper-modal.read-only{min-width:350px;max-width:450px}.night-whisper-subtitle{color:var(--text-secondary, #b0b0b0);margin-bottom:1rem;font-size:.95rem}.night-whisper-waiting{padding:2rem;text-align:center}.night-whisper-waiting .waiting-icon{font-size:3rem;margin-bottom:1rem;animation:pulse 2s ease-in-out infinite}.night-whisper-waiting p{margin:.5rem 0;color:var(--text-primary, #fff)}.night-whisper-waiting .waiting-hint{color:var(--text-secondary, #888);font-size:.9rem;font-style:italic}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}.night-whisper-cards{margin-bottom:1.5rem}.night-whisper-cards h3{font-size:.9rem;color:var(--text-secondary, #aaa);margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.5px}.night-whisper-cards-grid{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.night-whisper-card-wrapper{position:relative;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;border-radius:8px;overflow:visible}.night-whisper-card-wrapper:hover{transform:translateY(-4px)}.night-whisper-card-wrapper.selected{box-shadow:0 0 0 3px var(--accent-green, #4caf50),0 8px 24px #4caf504d}.night-whisper-card-wrapper.unchosen{opacity:.7;box-shadow:0 0 0 2px var(--accent-yellow, #ffc107)}.night-whisper-card-wrapper .card-fate-overlay{position:absolute;bottom:0;left:0;right:0;padding:.5rem;display:flex;flex-direction:column;align-items:center;gap:.25rem;background:linear-gradient(to top,rgba(0,0,0,.9),transparent);border-radius:0 0 6px 6px;pointer-events:none}.night-whisper-card-wrapper .card-fate-overlay.take{color:var(--accent-green, #4caf50)}.night-whisper-card-wrapper .card-fate-overlay.unchosen{color:var(--accent-yellow, #ffc107)}.night-whisper-card-wrapper .card-fate-overlay span{font-size:.75rem;font-weight:600;text-transform:uppercase}.night-whisper-destination{margin-bottom:1.5rem;padding:1rem;background:#0000004d;border-radius:8px;border:1px solid rgba(255,255,255,.1)}.night-whisper-destination h3{font-size:.9rem;color:var(--text-secondary, #aaa);margin-bottom:.75rem;text-align:center}.destination-buttons{display:flex;gap:1rem;justify-content:center}.destination-button{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem 1.5rem;background:#ffffff1a;border:2px solid rgba(255,255,255,.2);border-radius:8px;color:var(--text-primary, #fff);cursor:pointer;transition:all .2s ease;min-width:120px}.destination-button:hover{background:#ffffff26;border-color:#ffffff4d}.destination-button.selected{background:#4caf5033;border-color:var(--accent-green, #4caf50);color:var(--accent-green, #4caf50)}.destination-button svg{font-size:1.25rem}.destination-button span{font-size:.85rem;font-weight:500}.night-whisper-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.waterswift-overlay{z-index:1000}.waterswift-container{display:flex;align-items:center;justify-content:center;gap:24px}.waterswift-modal{min-width:400px;max-width:500px}.waterswift-source-card{flex-shrink:0}.waterswift-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.waterswift-header h2{margin:0;flex:1}.waterswift-close-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:#ffffff14;border:1px solid rgba(255,255,255,.16);border-radius:999px;color:#f4e4c1;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease}.waterswift-close-btn:hover{background:#ffffff24;border-color:#ffffff47;transform:translateY(-1px)}.waterswift-subtitle{color:var(--text-secondary, #b0b0b0);margin-bottom:20px;font-size:.95rem}.waterswift-revealed-card{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:24px;padding:16px;background:#ffffff0d;border-radius:8px}.waterswift-card-placeholder{width:150px;height:210px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border-radius:8px;border:2px dashed rgba(255,255,255,.3);color:var(--text-secondary, #b0b0b0)}.waterswift-card-info{display:flex;flex-direction:column;align-items:center;gap:4px}.waterswift-card-name{font-weight:600;font-size:1.1rem;color:var(--text-primary, #ffffff)}.waterswift-card-type{font-size:.85rem;color:var(--text-secondary, #b0b0b0);text-transform:capitalize}.waterswift-card-cost{font-size:.95rem;color:var(--accent-gold, #f0c040)}.waterswift-card-cost strong{color:var(--accent-green, #4caf50);font-size:1.1em}.waterswift-actions{display:flex;flex-direction:column;gap:12px}.waterswift-play-btn,.waterswift-hand-btn{width:100%;font-size:.95rem}.waterswift-play-btn:disabled{opacity:.5;cursor:not-allowed}.waterswift-play-btn:disabled:hover{transform:none;box-shadow:none}.waterswift-waiting{text-align:center;color:var(--text-secondary, #b0b0b0);font-style:italic;padding:16px 0}@media (max-width: 900px){.waterswift-container{flex-direction:column;align-items:stretch}.waterswift-source-card{width:100%;min-width:0}.waterswift-source-card .card{transform:scale(1.5)}}@media (max-width: 640px){.waterswift-modal{min-width:min(400px,calc(100vw - 32px));max-width:calc(100vw - 32px);padding:24px}.waterswift-revealed-card{padding:12px}}.pending-draw-container{display:flex;gap:1.5rem;align-items:flex-start;justify-content:center}.pending-draw-modal{min-width:450px;max-width:550px}.pending-draw-modal.read-only{min-width:350px;max-width:450px}.pending-draw-player-indicator{position:absolute;top:-.5rem;left:50%;transform:translate(-50%);background:var(--accent-color, #4a90d9);padding:.25rem 1rem;border-radius:12px;font-size:.8rem;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.05em}.pending-draw-source{color:var(--text-secondary, #b0b0b0);margin-bottom:1.5rem;font-size:1rem;text-align:center}.pending-draw-source strong{color:var(--text-primary, #fff)}.pending-draw-waiting{padding:2rem;text-align:center}.pending-draw-waiting .waiting-icon{font-size:3rem;margin-bottom:1rem;animation:pendingPulse 2s ease-in-out infinite}.pending-draw-waiting p{margin:.5rem 0;color:var(--text-primary, #fff)}.pending-draw-waiting .waiting-hint{color:var(--text-secondary, #888);font-size:.9rem;font-style:italic}@keyframes pendingPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}.pending-draw-choices{margin-top:1rem}.pending-draw-choices h3{text-align:center;margin-bottom:1rem;color:var(--text-primary, #fff);font-size:1rem}.choice-buttons{display:flex;flex-direction:column;gap:.75rem}.choice-button{display:flex;flex-direction:column;align-items:center;padding:1rem 1.5rem;border:2px solid var(--border-color, #444);border-radius:8px;background:var(--panel-bg, rgba(30, 30, 35, .9));cursor:pointer;transition:all .2s ease;gap:.5rem}.choice-button:hover{border-color:var(--accent-color, #4a90d9);background:#4a90d91a;transform:translateY(-2px)}.choice-button svg{color:var(--text-secondary, #888);transition:color .2s ease}.choice-button:hover svg{color:var(--accent-color, #4a90d9)}.choice-title{font-weight:600;font-size:1.1rem;color:var(--text-primary, #fff)}.choice-description{font-size:.85rem;color:var(--text-secondary, #888);text-align:center}.choice-button.normal-draw:hover{border-color:#5cb85c;background:#5cb85c1a}.choice-button.normal-draw:hover svg{color:#5cb85c}.choice-button.devious-plot{border-color:#7b4fd9}.choice-button.devious-plot svg{color:#9b6fdf}.choice-button.devious-plot:hover{border-color:#9b6fdf;background:#9b6fdf26;box-shadow:0 0 10px #9b6fdf4d}.choice-button.devious-plot:hover svg{color:#b98ff0}.pending-draw-container .card-preview{flex-shrink:0}.pending-draw-container .card-preview .card{transform:scale(.9)}.notification-modal-overlay{background:#00000080;z-index:2000;opacity:0;transition:opacity .3s ease;pointer-events:none}.notification-modal-overlay.visible{opacity:1;pointer-events:auto}.notification-modal{padding:24px 32px;min-width:360px;max-width:500px;box-shadow:0 8px 32px #0009,0 0 60px #0000004d;display:flex;align-items:flex-start;gap:16px;position:relative;transform:scale(.9) translateY(-20px);opacity:0;transition:all .3s ease}.notification-modal.visible{transform:scale(1) translateY(0);opacity:1}.notification-modal.notification-danger{border-color:#a55;box-shadow:0 8px 32px #0009,0 0 30px #aa55554d}.notification-modal.notification-danger .notification-title{color:#f99}.notification-modal.notification-danger .notification-icon{color:#f77}.notification-modal.notification-warning{border-color:#a85;box-shadow:0 8px 32px #0009,0 0 30px #aa88554d}.notification-modal.notification-warning .notification-title{color:#fc9}.notification-modal.notification-info{border-color:#579;box-shadow:0 8px 32px #0009,0 0 30px #5577994d}.notification-modal.notification-info .notification-title{color:#9cf}.notification-modal.notification-success{border-color:#595;box-shadow:0 8px 32px #0009,0 0 30px #5599554d}.notification-modal.notification-success .notification-title{color:#9f9}.notification-icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#00000040;border-radius:8px;color:#f4e4c1}.notification-icon-emoji{font-size:28px;line-height:1}.notification-content{flex:1;text-align:left}.notification-title{color:#f4e4c1;font-size:20px;font-weight:700;margin:0 0 8px;text-shadow:2px 2px 4px rgba(0,0,0,.5);letter-spacing:.5px}.notification-message{color:#d4c4a1;font-size:15px;line-height:1.5;margin:0}.notification-dismiss{position:absolute;top:8px;right:8px;width:28px;height:28px;background:#00000040;border:1px solid rgba(139,115,85,.5);border-radius:4px;color:#a99;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.notification-dismiss:hover{background:#aa55554d;border-color:#a55;color:#fcc}@keyframes notificationPulse{0%,to{box-shadow:0 8px 32px #0009,0 0 30px #aa55554d}50%{box-shadow:0 8px 32px #0009,0 0 50px #aa555580}}.notification-modal.notification-danger.visible{animation:notificationPulse 2s ease-in-out infinite}@media (max-width: 600px){.notification-modal{min-width:280px;max-width:calc(100vw - 40px);padding:20px 24px}.notification-title{font-size:18px}.notification-message{font-size:14px}.notification-icon{width:40px;height:40px}}.debug-panel-toggle{position:fixed;bottom:20px;right:20px;z-index:1000;padding:12px 20px;background:#8b4513e6;color:#fff;border:2px solid rgba(255,215,0,.5);border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 4px 12px #0000004d;transition:all .2s}.debug-panel-toggle:hover{background:#a0522df2;transform:translateY(-2px);box-shadow:0 6px 16px #0006}.debug-panel{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}.debug-panel-header{display:none}.debug-panel-header h2{margin:0;font-size:18px;color:#493a30}.debug-panel-close{background:#8b453dcc;color:#fff;border:none;border-radius:4px;width:32px;height:32px;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.debug-panel-close:hover{background:#8b453d;transform:scale(1.1)}.debug-panel-content{flex:1;overflow-y:auto;padding:20px}.debug-section{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid rgba(255,255,255,.1)}.debug-section:last-child{border-bottom:none}.debug-section h3{margin:0 0 12px;font-size:16px;color:#493a30;font-weight:600}.debug-action-button{width:100%;padding:12px;background:#6b8e4e33;border:2px solid rgba(107,142,78,.5);border-radius:6px;color:#2c2416;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.debug-action-button:hover{background:#6b8e4e66;border-color:#6b8e4eb3;transform:translateY(-1px);box-shadow:0 4px 8px #0003}.debug-action-button:active{transform:translateY(0)}.debug-player-select{display:flex;gap:8px}.debug-player-select button{flex:1;padding:10px;background:#ffffff80;border:1px solid rgba(73,58,48,.2);color:#2c2416;border-radius:6px;cursor:pointer;transition:all .2s;font-weight:500}.debug-player-select button:hover{background:#ffffffb3}.debug-player-select button.active{background:#6b8e4e4d;border-color:#6b8e4e99;color:#2c2416;font-weight:600}.debug-search{width:100%;padding:10px;background:#ffffffb3;border:1px solid rgba(73,58,48,.2);border-radius:6px;color:#2c2416;font-size:14px;margin-bottom:12px}.debug-search:focus{outline:none;border-color:#6b8e4e80;background:#ffffffe6}.debug-search::placeholder{color:#2c241666}.debug-card-list{display:flex;flex-direction:column;gap:8px}.debug-card-list.scrollable{max-height:300px;overflow-y:auto;padding-right:8px}.debug-card-list.scrollable::-webkit-scrollbar{width:6px}.debug-card-list.scrollable::-webkit-scrollbar-track{background:#493a301a;border-radius:3px}.debug-card-list.scrollable::-webkit-scrollbar-thumb{background:#6b8e4e66;border-radius:3px}.debug-card-list.scrollable::-webkit-scrollbar-thumb:hover{background:#6b8e4e99}.debug-empty{color:#2c241666;font-style:italic;margin:8px 0}.debug-card-item{display:flex;justify-content:space-between;align-items:center;padding:10px;background:#ffffffb3;border:1px solid rgba(73,58,48,.1);border-radius:6px;transition:all .2s}.debug-card-item:hover{background:#ffffffe6;border-color:#6b8e4e4d}.debug-card-info{display:flex;flex-direction:column;gap:4px;flex:1}.debug-card-name{font-weight:600;color:#2c2416;font-size:14px}.debug-card-type{font-size:12px;color:#6b8e4e;text-transform:capitalize}.debug-card-cost{font-size:11px;color:#8b7355}.debug-card-location{font-size:11px;color:#2c241699}.debug-card-action{padding:6px 14px;border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:600;transition:all .2s;white-space:nowrap}.debug-card-action.add{background:#4caf5033;color:#2d5f2f;border:1px solid rgba(76,175,80,.5)}.debug-card-action.add:hover{background:#4caf504d;transform:translateY(-1px)}.debug-card-action.remove{background:#f4433633;color:#a83232;border:1px solid rgba(244,67,54,.5)}.debug-card-action.remove:hover{background:#f443364d;transform:translateY(-1px)}.debug-card-status{font-size:11px;color:#2c241680;font-style:italic;padding:6px 12px}.debug-info{display:flex;flex-direction:column;gap:8px;font-size:13px;color:#2c2416}.debug-info div{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid rgba(73,58,48,.1)}.debug-info div:last-child{border-bottom:none}.debug-info strong{color:#6b8e4e}@media (max-width: 768px){.debug-panel{width:100%}.debug-panel-toggle{bottom:10px;right:10px;padding:10px 16px;font-size:14px}}.game-log-container{display:flex;flex-direction:column;gap:4px;padding:8px 0}.log-turn-separator{display:flex;align-items:center;gap:12px;margin:12px 0 8px;padding:0 4px}.log-turn-separator .turn-line{flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(139,115,85,.4),transparent)}.log-turn-separator .turn-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:#8b7355;white-space:nowrap}.log-turn-group{display:flex;flex-direction:column;gap:4px}.log-entry-structured{padding:8px 12px;background:#fffffff2;border-radius:6px;color:#2c2416;font-family:var(--font-primary);font-size:13px;line-height:1.4;border-left:4px solid rgba(139,115,85,.3);transition:all .15s ease;cursor:default}.log-entry-structured:hover{background:#fff}.log-entry-structured.has-details{cursor:pointer}.log-entry-structured.has-details:hover{border-left-color:#8b735599}.log-entry-main{display:flex;align-items:flex-start;gap:8px}.log-icon{flex-shrink:0;font-size:14px;line-height:1.4}.log-message{flex:1;word-wrap:break-word}.log-indicators{flex-shrink:0;display:flex;align-items:center;gap:6px}.log-path-indicator{font-size:10px;color:#8b7355;opacity:.4;transition:opacity .15s ease}.log-entry-structured:hover .log-path-indicator{opacity:.8}.log-expand-indicator{font-size:10px;color:#8b7355;opacity:.6;transition:opacity .15s ease}.log-entry-structured:hover .log-expand-indicator{opacity:1}.log-details{margin-top:6px;padding-top:6px;border-top:1px solid rgba(139,115,85,.2);font-size:12px;color:#5a4a32;font-style:italic}.log-entry-structured.player-light{border-left-color:#6b8e4e99}.log-entry-structured.player-light:hover{border-left-color:#6b8e4ee6}.log-entry-structured.player-dark{border-left-color:#8b453d99}.log-entry-structured.player-dark:hover{border-left-color:#8b453de6}.log-entry-structured.category-turn{background:#f5f0e6fa;font-weight:500}.log-entry-structured.category-combat{background:#fcf0eefa;border-left-color:#b43c3280}.log-entry-structured.category-combat:hover{border-left-color:#b43c32cc}.log-entry-structured.category-damage{background:#faebebfa;border-left-color:#961e1e80}.log-entry-structured.category-damage:hover{border-left-color:#961e1ecc}.log-entry-structured.category-card{background:#f8f2fcfa;border-left-color:#825aa080}.log-entry-structured.category-card:hover{border-left-color:#825aa0cc}.log-entry-structured.category-deploy{background:#fcf8ebfa;border-left-color:#b4963280}.log-entry-structured.category-deploy:hover{border-left-color:#b49632cc}.log-entry-structured.category-sigil{background:#e9f2ebf2;border-left-color:#46825a80}.log-entry-structured.category-sigil:hover{border-left-color:#46825acc}.log-entry-structured.category-movement{background:#eef4fcfa;border-left-color:#3c64a080}.log-entry-structured.category-movement:hover{border-left-color:#3c64a0cc}.log-entry-structured.category-movement.has-movement-path{cursor:pointer;position:relative}.log-entry-structured.category-movement.has-movement-path:hover{background:#dcebff;border-left-color:#5096dc;box-shadow:0 2px 8px #5096dc4d}.log-entry-structured.category-draw{background:#eefafafa;border-left-color:#328c8c80}.log-entry-structured.category-draw:hover{border-left-color:#328c8ccc}.log-entry-structured.category-ability{background:#f2f8fffa;border-left-color:#508cc880}.log-entry-structured.category-ability:hover{border-left-color:#508cc8cc}.log-entry-structured.category-game{background:#fffae6fa;border-left-color:#c8aa3cb3;font-weight:600}.log-entry-structured.category-game:hover{border-left-color:#c8aa3c}.log-entry-structured.category-mulligan{background:#f8f8f8fa;border-left-color:#78787880}.log-entry-structured.category-mulligan:hover{border-left-color:#787878cc}.log-entry-structured.category-system{background:#6464640d;border-left-color:#6464644d;font-size:12px;color:#666}.log-entry-structured.category-system:hover{border-left-color:#64646480}.log-entry.empty{text-align:center;color:#999;font-style:italic;padding:16px}.game-log-container.legacy .legacy-entry{padding:8px 12px;background:#ffffffb3;border-radius:6px;color:#2c2416;font-family:var(--font-primary);font-size:13px;line-height:1.5;border-left:3px solid rgba(107,142,78,.5);transition:all .2s ease}.game-log-container.legacy .legacy-entry:hover{background:#ffffffe6;border-left-color:#6b8e4ecc}.game-log-container::-webkit-scrollbar{width:8px}.game-log-container::-webkit-scrollbar-track{background:#0000000d;border-radius:4px}.game-log-container::-webkit-scrollbar-thumb{background:#8b73554d;border-radius:4px}.game-log-container::-webkit-scrollbar-thumb:hover{background:#8b735580}.game-view{width:100vw;height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#f9f5e5,#ede8d8,#f9f5e5);color:#2c2416;overflow:hidden}.game-header{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;background:#ede8d899;border-bottom:2px solid rgba(73,58,48,.1);gap:12px;flex-wrap:wrap;min-height:48px}.header-nav-actions{display:flex;align-items:center;gap:6px}.exit-button{padding:5px 12px;background:#8b453dd9;color:#fff;border:1px solid rgba(139,69,61,.3);border-radius:4px;cursor:pointer;font-weight:600;font-size:13px;transition:all .2s ease;white-space:nowrap}.exit-button:hover{background:#8b453d;border-color:#8b453d80;transform:translateY(-1px);box-shadow:0 2px 6px #0003}.game-info{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.turn-info{padding:5px 10px;background:#493a3026;border:1px solid rgba(73,58,48,.25);border-radius:4px;font-weight:600;font-size:13px;color:#493a30;white-space:nowrap}.phase-info{padding:5px 10px;background:#495b6926;border:1px solid rgba(73,91,105,.3);border-radius:4px;font-weight:600;font-size:13px;color:#495b69;white-space:nowrap}.player-info{padding:5px 10px;background:#6b8e4e26;border:1px solid rgba(107,142,78,.3);border-radius:4px;color:#6b8e4e;font-weight:600;font-size:13px;white-space:nowrap}.connection-status{padding:5px 10px;border-radius:4px;font-size:11px;font-weight:600;border:1px solid transparent;white-space:nowrap}.connection-status.connected{background:#81c78426;border-color:#81c7844d;color:#4caf50}.connection-status.disconnected{background:#ef535026;border-color:#ef53504d;color:#e53935}.game-over{padding:5px 16px;background:linear-gradient(135deg,#c9a961e6,#d4b982e6);border:1px solid rgba(201,169,97,.5);color:#2c2416;border-radius:4px;font-weight:700;font-size:15px;animation:celebrate 1s ease-in-out infinite alternate;box-shadow:0 2px 8px #c9a96166;white-space:nowrap}@keyframes celebrate{0%{transform:scale(1)}to{transform:scale(1.05)}}.message-overlay{position:fixed;top:60px;left:50%;transform:translate(-50%);z-index:1000;animation:slideDown .3s ease}.modal-overlay{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1000;animation:modalFadeIn .3s ease}.game-modal{background:linear-gradient(135deg,#2d4a3e,#1a2e26);border:3px solid #8b7355;border-radius:12px;padding:32px;min-width:400px;max-width:600px;box-shadow:0 8px 32px #00000080;text-align:center}.game-modal h3{color:#f4e4c1;font-size:24px;margin:0 0 8px;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.game-modal p{color:#d4c4a1;font-size:16px;margin:0 0 24px}.game-modal-player-indicator{display:inline-block;background:transparent;border-bottom:2px solid #8b7f5f;padding:4px 12px 8px;margin-bottom:16px;color:#c9a961;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:2px;opacity:.9}.game-modal-button{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 24px;background:linear-gradient(135deg,#4a5f52,#3a4f42);border:2px solid #6b7f6f;border-radius:8px;color:#f4e4c1;font-size:18px;font-weight:700;cursor:pointer;transition:all .2s ease;width:100%}.game-modal-button:hover:not(:disabled){background:linear-gradient(135deg,#5a6f62,#4a5f52);border-color:#8b9f8f;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.game-modal-button:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px #0000004d}.game-modal-button:disabled{background:linear-gradient(135deg,#3a3a3a,#2a2a2a);border-color:#4a4a4a;color:#888;cursor:not-allowed;opacity:.7}.game-modal-button .disabled-note{font-size:12px;font-weight:400;color:#999;margin-left:8px}.game-modal-button.primary{background:linear-gradient(135deg,#5a7a4a,#4a6a3a);border-color:#7a9a6a}.game-modal-button.primary:hover:not(:disabled){background:linear-gradient(135deg,#6a8a5a,#5a7a4a);border-color:#8aaa7a}.game-modal-button.cancel{background:linear-gradient(135deg,#5a3a3a,#4a2a2a);border-color:#7a5a5a}.game-modal-button.cancel:hover:not(:disabled){background:linear-gradient(135deg,#6a4a4a,#5a3a3a);border-color:#8a6a6a}.game-modal-button.secondary{background:linear-gradient(135deg,#5e4a3e,#4e3a2e);border-color:#7e6a5e}.game-modal-button.secondary:hover:not(:disabled){background:linear-gradient(135deg,#6e5a4e,#5e4a3e);border-color:#8e7a6e}.game-modal-buttons{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.game-modal-buttons.horizontal{flex-direction:row;justify-content:center}.game-modal-buttons.horizontal .game-modal-button{flex:1;max-width:180px}.game-modal-info{background:#00000040;border:1px solid rgba(139,127,95,.4);border-radius:8px;padding:16px;margin-bottom:20px;text-align:left}.game-modal-info .info-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(139,127,95,.3)}.game-modal-info .info-header .card-name{font-family:var(--font-card-name);font-size:18px;font-weight:700;color:#f4e4c1}.game-modal-info .info-header .card-cost{display:flex;align-items:center;gap:4px;background:#5a7a4a66;padding:4px 10px;border-radius:16px;font-size:14px;font-weight:700;border:1px solid rgba(90,122,74,.6);color:#b4d4a1}.game-modal-info .ability-name{font-size:13px;font-weight:600;color:#c9a961;margin-bottom:8px;padding:8px;background:#8b7f5f33;border-radius:4px;line-height:1.4}.game-modal-info .description{font-size:14px;color:#d4c4a1;line-height:1.6;margin-top:8px;padding:8px;background:#00000026;border-radius:4px}.game-modal-notice{margin-top:12px;padding:10px;border-radius:6px;font-size:13px;font-style:italic}.game-modal-notice.battlefield{background:#6b8e4e33;border:1px solid rgba(107,142,78,.4);color:#a4d491}.game-modal-notice.action{background:#495b6933;border:1px solid rgba(73,91,105,.4);color:#a4b4c1}.game-modal-notice.equipment{background:#8264a033;border:1px solid rgba(130,100,160,.4);color:#c4b4d1}.game-modal-notice.warning{background:#8b453d40;border:1px solid rgba(139,69,61,.5);color:#e4a4a1;font-weight:600;font-style:normal}.game-modal-divider{display:flex;align-items:center;gap:16px;margin:16px 0;color:#8b7f5f;font-size:14px;font-weight:700}.game-modal-divider:before,.game-modal-divider:after{content:"";flex:1;height:1px;background:#8b7f5f66}.game-modal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:24px}.game-modal-grid .game-modal-button{flex-direction:column;min-height:100px;gap:6px}.game-modal-grid .game-modal-button .cost-label{font-size:15px;font-weight:600}.game-modal-grid .game-modal-button .hp-label{font-size:13px;font-weight:400;color:#f4e4c1e6}@keyframes slideDown{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes modalFadeIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.message-box{padding:16px 32px;background:#fffffff2;color:#2c2416;border-radius:8px;font-weight:700;box-shadow:0 4px 16px #0003;border:2px solid rgba(107,142,78,.8)}.message-box.reconnecting-box{background:#fff3cdf2;border:2px solid rgba(255,152,0,.8);display:flex;align-items:center;gap:12px}.message-box.reconnecting-box .status-spinner{width:20px;height:20px;border:2px solid rgba(255,152,0,.3);border-top-color:#ff9800cc;border-radius:50%;animation:spin .8s linear infinite}.free-move-prompt{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:900;animation:slideDownBounce .4s ease}@keyframes slideDownBounce{0%{opacity:0;transform:translate(-50%) translateY(-30px)}60%{opacity:1;transform:translate(-50%) translateY(5px)}to{transform:translate(-50%) translateY(0)}}.free-move-content{background:linear-gradient(135deg,#fff8e1,#fff3c4);border:3px solid #ffc107;border-radius:12px;padding:16px 24px;box-shadow:0 6px 20px #00000040,0 0 0 2px #ffc1074d;display:flex;align-items:center;gap:16px;min-width:400px}.free-move-icon{font-size:32px;line-height:1;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:.8}}.free-move-text{flex:1;color:#663c00;font-size:15px;line-height:1.4}.free-move-text strong{color:#e65100;font-size:16px}.cancel-free-move-button{padding:8px 16px;background:#8b453dd9;color:#fff;border:1px solid rgba(139,69,61,.3);border-radius:6px;cursor:pointer;font-weight:600;font-size:14px;transition:all .2s ease;white-space:nowrap}.cancel-free-move-button:hover{background:#8b453d;border-color:#8b453d80;transform:translateY(-1px);box-shadow:0 2px 6px #0003}.game-container{flex:1;display:flex;justify-content:center;align-items:flex-start;gap:min(20px,2vw);padding:8px 8px 160px;overflow-y:auto;scrollbar-width:none;min-height:0;position:relative}.board-area{display:flex;flex-direction:column;gap:8px;align-items:center;flex-shrink:1;margin-bottom:12px;position:relative;max-width:100%;width:fit-content}.board-rotation-toggle{min-width:56px}.action-bar{display:flex;gap:8px;justify-content:center;width:100%;max-width:600px;min-height:48px;align-items:center;flex-wrap:wrap}.phase-button{flex:1;min-width:120px;padding:12px 24px;background:linear-gradient(135deg,#5a7a45,#4e6640);color:#fff;border:none;border-radius:8px;font-weight:700;font-size:14px;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 8px #0000004d}.phase-button:hover{transform:translateY(-2px);box-shadow:0 6px 12px #0006}.phase-button:active{transform:translateY(0)}.phase-button.sigils-depleted{animation:pulse-highlight 1.5s ease-in-out infinite;position:relative}.phase-button.sigils-depleted:before,.phase-button.sigils-depleted:after{content:"→";position:absolute;top:46%;font-size:20px;font-weight:700}.phase-button.sigils-depleted:before{left:calc(50% - 65px);content:"→";animation:arrow-bounce-right 1.5s ease-in-out infinite}.phase-button.sigils-depleted:after{right:calc(50% - 65px);content:"←";animation:arrow-bounce-left 1.5s ease-in-out infinite}@keyframes pulse-highlight{0%,to{box-shadow:0 4px 8px #0000004d}50%{box-shadow:0 4px 20px #c9a961cc,0 0 30px #c9a96166}}@keyframes arrow-bounce-right{0%,to{transform:translateY(-50%);opacity:.7}50%{transform:translate(8px,-50%);opacity:1}}@keyframes arrow-bounce-left{0%,to{transform:translateY(-50%);opacity:.7}50%{transform:translate(-8px,-50%);opacity:1}}.undo-move-button{padding:10px 18px;background:linear-gradient(135deg,#4a5a3a,#3a4a2a);color:#f4e4c1;border:2px solid #6a7a5a;border-radius:8px;font-weight:700;font-size:13px;cursor:pointer;transition:all .2s ease;white-space:nowrap}.undo-move-button:hover{background:linear-gradient(135deg,#5a6a4a,#4a5a3a);border-color:#8a9a6a;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.undo-move-button:active{transform:translateY(0)}.undo-move-button.disabled,.undo-move-button:disabled{background:linear-gradient(135deg,#3a3a3a,#2a2a2a);border-color:#555;color:#999;cursor:not-allowed;opacity:.7}.undo-move-button.disabled:hover,.undo-move-button:disabled:hover{background:linear-gradient(135deg,#3a3a3a,#2a2a2a);border-color:#555;transform:none;box-shadow:none}.cancel-button{padding:12px 20px;background:linear-gradient(135deg,#5a3a3a,#4a2a2a);color:#f4e4c1;border:2px solid #7a5a5a;border-radius:8px;font-weight:700;font-size:14px;cursor:pointer;transition:all .2s ease}.cancel-button:hover{background:linear-gradient(135deg,#6a4a4a,#5a3a3a);border-color:#8a6a6a;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.header-panel-toggles{display:flex;gap:6px;align-items:center}.panel-toggle{padding:5px 12px;background:#495b6999;border:1px solid rgba(73,91,105,.3);color:#fff;border-radius:4px;cursor:pointer;font-weight:600;font-size:13px;transition:all .2s ease;white-space:nowrap}.panel-toggle:hover{background:#495b69cc;border-color:#495b6980;transform:translateY(-1px);box-shadow:0 2px 6px #0003}.panel-toggle.active{background:#495b69;border-color:#495b6999;box-shadow:inset 0 0 0 1px #fff3,0 2px 6px #0003}.panel-toggle.unlocked{border-color:#c9a96199}.in-game-settings-button{display:flex;align-items:center;gap:6px}.right-panel{position:fixed;right:-400px;top:0;bottom:0;width:400px;background:#ede8d8fa;border-left:2px solid rgba(73,58,48,.2);box-shadow:-4px 0 12px #0003;transition:right .3s ease;z-index:200;display:flex;flex-direction:column}.right-panel.visible{right:0}.right-panel-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#493a301a;border-bottom:2px solid rgba(73,58,48,.1)}.right-panel-header h3{margin:0;color:#493a30;font-size:18px}.right-panel-close{background:#8b453dcc;color:#fff;border:none;border-radius:4px;width:32px;height:32px;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.right-panel-close:hover{background:#8b453d;transform:scale(1.1)}.right-panel-content.debug-panel-content{padding:0;overflow:hidden}.right-panel-content:not(.debug-panel-content){flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:8px}.right-panel-content .log-entry{padding:8px 12px;background:#ffffffb3;border-radius:6px;color:#2c2416;font-family:var(--font-primary);font-size:13px;line-height:1.5;border-left:3px solid rgba(107,142,78,.5);transition:all .2s ease}.right-panel-content .log-entry:hover{background:#ffffffe6;border-left-color:#6b8e4ecc}.right-panel-content .log-entry.empty{text-align:center;color:#999;font-style:italic;border-left:none}.game-log-toggle,.game-log-sidebar,.game-log,.debug-panel-toggle{display:none}.game-log h4{margin:0 0 8px;color:#666;font-size:14px;text-transform:uppercase}.log-entries{display:flex;flex-direction:column;gap:4px;font-family:monospace;font-size:12px}.log-entry{padding:4px 8px;background:#ffffff80;border-radius:4px;color:#444}.mercenary-type-selector{background:linear-gradient(135deg,#2d4a3e,#1a2e26);border:3px solid #8b7355;border-radius:12px;padding:32px;max-width:500px;text-align:center;box-shadow:0 8px 32px #00000080}.mercenary-type-selector h3{margin:0 0 8px;font-size:24px;color:#f4e4c1;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.mercenary-type-selector p{margin:0 0 24px;color:#d4c4a1;font-size:16px}.apex-predator-option{background:#8b453d33;border:2px solid rgba(139,69,61,.4);border-radius:8px;padding:16px;margin-bottom:24px;text-align:left}.apex-predator-checkbox{display:flex;align-items:center;gap:12px;cursor:pointer;font-size:16px;margin-bottom:8px}.apex-predator-checkbox input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:#8b453d}.apex-predator-checkbox input[type=checkbox]:disabled{cursor:not-allowed}.apex-predator-checkbox .checkbox-label{flex:1;color:#f4e4c1;font-weight:500}.apex-predator-checkbox .required-note{color:#e4a4a1;font-style:italic;font-weight:400;font-size:14px}.apex-predator-option .cost-display{font-size:14px;color:#d4c4a1;margin-left:32px;font-weight:500}.mercenary-type-buttons{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.mercenary-type-button{padding:16px 24px;background:linear-gradient(135deg,#4a5f52,#3a4f42);color:#f4e4c1;border:2px solid #6b7f6f;border-radius:8px;font-size:18px;font-weight:700;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:12px}.mercenary-type-button:hover:not(:disabled){background:linear-gradient(135deg,#5a6f62,#4a5f52);border-color:#8b9f8f;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.mercenary-type-button:active:not(:disabled){transform:translateY(0)}.mercenary-type-button:disabled{background:linear-gradient(135deg,#3a3a3a,#2a2a2a);border-color:#4a4a4a;color:#888;cursor:not-allowed;opacity:.7}.mercenary-type-button .occupied{font-size:14px;font-weight:400;color:#999}.mercenary-type-button .icon{margin-bottom:6px}.divider{margin:16px 0;color:#8b7f5f;font-size:14px;font-weight:700}.partner-attach-button{width:100%;padding:16px 24px;background:linear-gradient(135deg,#5a7a4a,#4a6a3a);color:#f4e4c1;border:2px solid #7a9a6a;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s ease;margin-bottom:16px}.partner-attach-button:hover{background:linear-gradient(135deg,#6a8a5a,#5a7a4a);border-color:#8aaa7a;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.partner-attach-button:active{transform:translateY(0)}.queen-cost-selector{background:linear-gradient(135deg,#2d4a3e,#1a2e26);border:3px solid #8b7355;border-radius:12px;padding:32px;max-width:500px;text-align:center;box-shadow:0 8px 32px #00000080}.queen-cost-selector h3{margin:0 0 8px;font-size:24px;color:#f4e4c1;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.queen-cost-selector p{margin:0 0 24px;color:#d4c4a1;font-size:16px}.queen-cost-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:24px}.queen-cost-button{padding:16px 20px;background:linear-gradient(135deg,#5a7a4a,#4a6a3a);color:#f4e4c1;border:2px solid #7a9a6a;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:100px}.queen-cost-button:hover:not(:disabled){background:linear-gradient(135deg,#6a8a5a,#5a7a4a);border-color:#8aaa7a;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.queen-cost-button:active:not(:disabled){transform:translateY(0)}.queen-cost-button:disabled{background:linear-gradient(135deg,#3a3a3a,#2a2a2a);border-color:#4a4a4a;color:#888;cursor:not-allowed;opacity:.7}.queen-cost-button .cost-label{font-size:15px;font-weight:600}.queen-cost-button .hp-label{font-size:13px;font-weight:400;color:#f4e4c1e6}.queen-cost-button .unavailable{font-size:12px;font-weight:400;color:#999;margin-top:4px}.card-confirm-modal{background:linear-gradient(135deg,#2d4a3e,#1a2e26);padding:32px;border-radius:12px;border:3px solid #8b7355;max-width:450px;text-align:center;box-shadow:0 8px 32px #00000080}.card-confirm-modal h3{margin:0 0 20px;font-size:24px;color:#f4e4c1;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.card-confirm-info{background:#00000040;border:1px solid rgba(139,127,95,.4);padding:20px;border-radius:8px;margin-bottom:24px;text-align:left}.card-confirm-info p{font-size:14px;color:#d4c4a1;line-height:1.6;margin:0 0 8px}.card-confirm-info p:last-child{margin-bottom:0}.card-confirm-info .sigil-info{color:#c9a961;font-weight:500}.card-confirm-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(139,127,95,.3)}.card-confirm-header .card-name{font-family:var(--font-card-name);font-size:20px;font-weight:700;color:#f4e4c1;flex:1;margin-right:12px}.card-confirm-header .card-cost{display:flex;align-items:center;gap:4px;background:#5a7a4a66;padding:4px 10px;border-radius:16px;font-size:16px;font-weight:700;border:1px solid rgba(90,122,74,.6);color:#b4d4a1;flex-shrink:0;position:relative;width:unset;height:unset;top:unset;left:unset}.card-confirm-info .card-ability-name{font-size:13px;font-weight:600;color:#c9a961;margin-bottom:8px;padding:8px;background:#8b7f5f33;border-radius:4px;line-height:1.4}.card-confirm-info .card-description{font-size:14px;color:#d4c4a1;line-height:1.6;margin-top:8px;padding:8px;background:#00000026;border-radius:4px}.card-confirm-info .battlefield-notice{margin-top:12px;padding:10px;background:#6b8e4e33;border:1px solid rgba(107,142,78,.4);border-radius:6px;font-size:13px;color:#a4d491;font-style:italic}.card-confirm-info .action-notice{margin-top:12px;padding:10px;background:#495b6933;border:1px solid rgba(73,91,105,.4);border-radius:6px;font-size:13px;color:#a4b4c1;font-style:italic}.card-confirm-info .equipment-notice{margin-top:12px;padding:10px;background:#8264a033;border:1px solid rgba(130,100,160,.4);border-radius:6px;font-size:13px;color:#c4b4d1;font-style:italic}.card-confirm-info .equipment-warning{margin-top:12px;padding:10px;background:#8b453d40;border:1px solid rgba(139,69,61,.5);border-radius:6px;font-size:13px;color:#e4a4a1;font-weight:600}.card-confirm-buttons{display:flex;gap:12px;justify-content:center}.card-confirm-buttons .confirm-button{padding:14px 32px;background:linear-gradient(135deg,#5a7a4a,#4a6a3a);color:#f4e4c1;border:2px solid #7a9a6a;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s ease;flex:1;max-width:150px}.card-confirm-buttons .confirm-button:hover{background:linear-gradient(135deg,#6a8a5a,#5a7a4a);border-color:#8aaa7a;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.card-confirm-buttons .confirm-button:active{transform:translateY(0)}.card-confirm-buttons .confirm-button:disabled{background:linear-gradient(135deg,#3a3a3a,#2a2a2a);border-color:#4a4a4a;color:#888;cursor:not-allowed;opacity:.7}.card-confirm-buttons .confirm-button:disabled:hover{transform:none;box-shadow:none;background:linear-gradient(135deg,#3a3a3a,#2a2a2a)}.card-confirm-buttons .cancel-button{padding:14px 32px;background:linear-gradient(135deg,#5a3a3a,#4a2a2a);color:#f4e4c1;border:2px solid #7a5a5a;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s ease;flex:1;max-width:150px}.card-confirm-buttons .cancel-button:hover{background:linear-gradient(135deg,#6a4a4a,#5a3a3a);border-color:#8a6a6a;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.card-confirm-buttons .cancel-button:active{transform:translateY(0)}.card-confirm-buttons .confirm-button.warning{background:linear-gradient(135deg,#8b4513,#6b3510);border-color:#a55a20}.card-confirm-buttons .confirm-button.warning:hover{background:linear-gradient(135deg,#a55a20,#8b4513);border-color:#c57030}.herbal-tonic-modal{max-width:550px}.herbal-tonic-choices{display:flex;gap:16px;align-items:stretch;margin-top:20px}.choice-section{flex:1;display:flex;flex-direction:column}.choice-button{padding:20px;background:#00000040;border:2px solid rgba(107,142,78,.4);border-radius:8px;cursor:pointer;transition:all .2s ease;text-align:center;display:flex;flex-direction:column;gap:8px;min-height:120px;flex:1}.choice-button:hover:not(.disabled){background:#6b8e4e33;border-color:#6b8e4eb3;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.choice-button.selected{background:#6b8e4e4d;border-color:#6b8e4e;border-width:3px}.choice-button.disabled{background:#3232324d;border-color:#50505066;cursor:not-allowed;opacity:.5}.choice-title{font-size:18px;font-weight:700;color:#f4e4c1}.choice-description{font-size:13px;color:#d4c4a1;line-height:1.4}.choice-warning{font-size:11px;color:#e4a4a1;font-weight:600;margin-top:4px;text-align:center}.choice-info{font-size:11px;color:#a4c4a1;font-weight:600;margin-top:4px;text-align:center}.choice-divider{display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:#8b7f5f;min-width:30px}@media (max-width: 1200px){.game-container{flex-wrap:wrap;justify-content:center;gap:12px;padding:6px 6px 140px}.board-area{order:-1;flex-basis:100%;gap:6px;margin-bottom:8px}.game-container .player-panel{align-self:flex-start}}@media (max-width: 900px){.game-header{padding:6px 12px;gap:8px;min-height:44px}.game-info{gap:8px}.turn-info,.player-info,.phase-info{padding:4px 8px;font-size:12px}.connection-status{padding:4px 8px;font-size:10px}.exit-button,.panel-toggle{padding:4px 10px;font-size:12px}.game-over{padding:4px 12px;font-size:14px}.game-container{padding:4px 4px 120px}.action-bar{gap:6px;min-height:44px}.phase-button{padding:10px 16px;font-size:13px;min-width:100px}.cancel-button{padding:10px 16px;font-size:13px}.undo-move-button{padding:8px 14px;font-size:12px}}@media (max-width: 600px){.game-header{padding:4px 8px;gap:6px;min-height:40px}.game-info{gap:6px}.turn-info,.player-info,.phase-info{padding:3px 6px;font-size:11px}.connection-status{padding:3px 6px;font-size:10px}.exit-button,.panel-toggle{padding:3px 8px;font-size:11px}.game-over{padding:3px 10px;font-size:13px}.game-container{padding:4px 4px 100px}.action-bar{gap:4px;min-height:40px}.phase-button{padding:8px 12px;font-size:12px;min-width:80px;border-radius:6px}.cancel-button{padding:8px 12px;font-size:12px;border-radius:6px}.undo-move-button{padding:6px 10px;font-size:11px;border-radius:6px}.right-panel{width:100%;right:-100%}.right-panel.visible{right:0}}.draw-phase-overlay{background-color:#000000b3}.draw-phase-container{display:flex;gap:24px;align-items:center}.draw-phase-modal{padding:32px;min-width:400px;max-width:600px;text-align:center}.draw-phase-player-indicator{display:inline-block;background:transparent;border-bottom:2px solid #8b7f5f;padding:4px 12px 8px;margin-bottom:16px;color:#c9a961;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:2px;opacity:.9}.draw-phase-modal h2{color:#f4e4c1;font-size:28px;margin:0 0 16px;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.draw-phase-modal p{color:#d4c4a1;font-size:16px;margin:0 0 24px}.waiting-modal{min-width:350px;padding:32px;text-align:center}.waiting-modal h2{color:#f4e4c1;font-size:24px;margin:0 0 12px;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.waiting-modal p{color:#d4c4a1;font-size:14px;margin:0}.waiting-spinner{width:40px;height:40px;border:3px solid rgba(201,169,97,.3);border-top-color:#c9a961;border-radius:50%;margin:20px auto 0;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.siege-weapons-confirm-modal{max-width:450px}.siege-weapons-confirm-modal .sigil-info{color:#c9a961;font-size:14px;margin-top:8px}.debug-password-modal{padding:24px 32px;text-align:center;min-width:320px}.debug-password-modal h3{color:#f4e4c1;font-size:20px;margin:0 0 12px}.debug-password-modal p{color:#d4c4a1;font-size:14px;margin:0 0 16px}.debug-password-input{width:100%;padding:10px 14px;font-size:16px;background:#0000004d;border:2px solid #6b5541;border-radius:6px;color:#f4e4c1;text-align:center;margin-bottom:16px}.debug-password-input:focus{outline:none;border-color:#c9a961}.debug-password-buttons{display:flex;gap:12px;justify-content:center}.debug-password-buttons button{padding:10px 20px;font-size:14px;font-weight:600;border-radius:6px;cursor:pointer;transition:all .2s ease;background:#8b73554d;color:#d4c4a1;border:2px solid #6b5541}.debug-password-buttons button:hover{background:#8b735580}.debug-password-buttons button.primary{background:linear-gradient(135deg,#4a7c4e,#3d6840);border-color:#5a9c5e;color:#fff}.debug-password-buttons button.primary:hover{background:linear-gradient(135deg,#5a8c5e,#4d7850)}.debug-password-warning{color:#c9a961;font-size:12px;margin:16px 0 0;opacity:.8}.battlefield-selection-modal{max-width:600px;position:relative;z-index:1001}.battlefield-selection-info{margin-top:16px}.battlefield-selection-info p{color:#d4c4a1;font-size:14px;margin-bottom:16px}.battlefield-group{margin-bottom:16px}.battlefield-group h4{color:#f4e4c1;font-size:13px;font-weight:600;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.battlefield-options{display:flex;flex-wrap:wrap;gap:8px}.battlefield-option{padding:12px 20px;background:#00000040;border:2px solid rgba(107,142,78,.4);border-radius:8px;cursor:pointer;transition:all .2s ease;color:#f4e4c1;font-size:14px;font-weight:500}.battlefield-option:hover{background:#6b8e4e33;border-color:#6b8e4eb3;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.battlefield-option.opponent{border-color:#c5703080}.battlefield-option.opponent:hover{background:#c5703033;border-color:#c57030b3}.battlefield-option.own{border-color:#6b8e4e80}.battlefield-option.own:hover{background:#6b8e4e33;border-color:#6b8e4eb3}.battlefield-card-grid{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}.battlefield-card-option{cursor:pointer;transition:all .2s ease;border-radius:12px;overflow:visible;position:relative}.battlefield-card-option:hover{transform:translateY(-4px) scale(1.05);box-shadow:0 8px 20px #00000080;z-index:100}.battlefield-card-option.opponent:hover{box-shadow:0 6px 16px #c5703099,0 0 0 3px #c57030cc}.battlefield-card-option.own:hover{box-shadow:0 6px 16px #6b8e4e99,0 0 0 3px #6b8e4ecc}.battlefield-card-placeholder{width:110px;height:154px;padding:12px;background:#0000004d;border:2px solid rgba(107,142,78,.4);border-radius:8px;display:flex;align-items:center;justify-content:center;text-align:center;color:#d4c4a1;font-size:12px}.battlefield-selection-modal .battlefield-card-name{font-family:var(--font-card-name);margin-top:8px;font-size:12px;font-weight:500;color:#f4e4c1;text-align:center;text-shadow:1px 1px 2px rgba(0,0,0,.5);max-width:110px;word-wrap:break-word}.battlefield-selection-modal .shift-hint{color:#8a9a7a;font-family:var(--font-helper);font-size:12px;font-style:italic;margin-bottom:12px}.card-confirm-modal .text-bold,.battlefield-selection-modal .text-bold,.modal-overlay .card-confirm-modal .text-bold{color:#f4e4c1;font-weight:700}.card-confirm-modal .text-help,.battlefield-selection-modal .text-help,.modal-overlay .card-confirm-modal .text-help{color:#a4b4c1;font-style:italic}.card-confirm-modal .text-green,.battlefield-selection-modal .text-green,.modal-overlay .card-confirm-modal .text-green{color:#7cc4e8}.card-confirm-modal .text-royal,.battlefield-selection-modal .text-royal,.modal-overlay .card-confirm-modal .text-royal{color:#e4c471;font-weight:700}.card-confirm-modal .stat-badge-rounded,.battlefield-selection-modal .stat-badge-rounded{background-color:#ffffffe6;color:#493a30}.card-confirm-modal .number-badge-rounded,.battlefield-selection-modal .number-badge-rounded{background-color:#73412ee6;color:#fff}.menu-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:2rem;background:radial-gradient(ellipse at 30% 20%,rgba(107,142,78,.08) 0%,transparent 50%),radial-gradient(ellipse at 70% 80%,rgba(212,175,55,.06) 0%,transparent 50%),linear-gradient(180deg,#faf6e5,#f5f0e0,#efe8d8);position:relative;overflow:hidden}.menu-screen:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 15% 25%,rgba(107,142,78,.06) 0%,transparent 40%),radial-gradient(circle at 85% 75%,rgba(212,175,55,.05) 0%,transparent 40%),radial-gradient(circle at 50% 50%,rgba(139,119,90,.03) 0%,transparent 60%);pointer-events:none;animation:menuAmbientPulse 8s ease-in-out infinite}@keyframes menuAmbientPulse{0%,to{opacity:.8}50%{opacity:1}}.menu-screen:after{content:"";position:absolute;top:20px;left:0;right:0;bottom:20px;border-top:2px solid rgba(73,58,48,.1);border-bottom:2px solid rgba(73,58,48,.1);pointer-events:none;box-shadow:inset 0 0 60px #ffffff4d}.menu-card{background:linear-gradient(135deg,#fffffff2,#faf6e5fa);border:2px solid rgba(73,58,48,.15);border-radius:16px;padding:2.5rem;max-width:480px;width:100%;box-shadow:0 10px 40px #493a301f,inset 0 1px #ffffffe6;position:relative;z-index:1}.menu-title{font-size:clamp(1.75rem,4vw,2.25rem);color:#493a30;text-align:center;margin-bottom:1rem;font-family:var(--font-primary);font-weight:700;letter-spacing:.08em;text-shadow:0 2px 4px rgba(73,58,48,.1);position:relative}.menu-title:after{content:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);width:60px;height:3px;background:linear-gradient(90deg,transparent,#6b8e4e,transparent);border-radius:2px}.menu-subtitle{color:#6a5a4a;font-size:1rem;text-align:center;margin-bottom:1.5rem;margin-top:1rem;line-height:1.6}.menu-btn{width:100%;padding:1rem 1.5rem;font-size:1.05rem;font-family:var(--font-primary);font-weight:600;letter-spacing:.04em;border-radius:8px;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:.5rem}.menu-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);transition:left .5s ease}.menu-btn:hover:not(:disabled):before{left:100%}.menu-btn-primary{background:linear-gradient(135deg,#6b8e4e,#5a7a45);color:#fff;border:2px solid rgba(90,122,69,.5);text-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 2px 8px #6b8e4e40,inset 0 1px #ffffff26}.menu-btn-primary:hover:not(:disabled){transform:translateY(-2px);background:linear-gradient(135deg,#7a9d5d,#6b8e4e);border-color:#6b8e4e;box-shadow:0 8px 20px #6b8e4e59,inset 0 1px #fff3}.menu-btn-primary:active:not(:disabled){transform:translateY(0)}.menu-btn-secondary{background:linear-gradient(135deg,#fffffff2,#faf6e5fa);color:#493a30;border:2px solid rgba(73,58,48,.2);box-shadow:0 2px 6px #493a3014,inset 0 1px #fffc}.menu-btn-secondary:hover:not(:disabled){transform:translateY(-2px);border-color:#6b8e4e;color:#5a7a45;box-shadow:0 6px 16px #6b8e4e26,inset 0 1px #ffffffe6}.menu-btn-secondary:active:not(:disabled){transform:translateY(0)}.menu-btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.menu-input{width:100%;padding:1rem 1.25rem;font-size:1.1rem;font-family:Courier New,monospace;text-align:center;letter-spacing:.2rem;background:linear-gradient(135deg,#ffffffe6,#faf6e5f2);border:2px solid rgba(73,58,48,.2);border-radius:8px;color:#493a30;font-weight:600;transition:all .2s ease}.menu-input:focus{outline:none;border-color:#6b8e4e;box-shadow:0 0 0 3px #6b8e4e26}.menu-input::placeholder{color:#6a5a4a80;letter-spacing:normal;font-weight:400}.menu-input:disabled{opacity:.6;cursor:not-allowed}.menu-status{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem 1.25rem;border-radius:8px;margin:1.25rem 0;font-weight:600;font-size:.95rem;border:2px solid;background:linear-gradient(135deg,#fffc,#faf6e5e6)}.menu-status.waiting{border-color:#d4a84b80;color:#8c6d1f;background:linear-gradient(135deg,#fef8e8e6,#fcf4d8f2)}.menu-status.connecting{border-color:#5a7a8c80;color:#3d5a6d;background:linear-gradient(135deg,#e8f4f8e6,#dceef5f2)}.menu-status.signaling-connecting{border-color:#4a6a9c80;color:#2d4a6d;background:linear-gradient(135deg,#e8f0f8e6,#dce8f5f2)}.menu-status.reconnecting{border-color:#d4884b80;color:#8c5d1f;background:linear-gradient(135deg,#fff3e8e6,#fcecd8f2)}.menu-status.connected{border-color:#5a7a4580;color:#3d5230;background:linear-gradient(135deg,#e8f4ece6,#dceee4f2)}.menu-status.error{border-color:#c44c4c80;color:#8c2020;background:linear-gradient(135deg,#f8e8e8e6,#f5dcdcf2)}.menu-spinner{width:18px;height:18px;border:2.5px solid currentColor;border-top-color:transparent;border-radius:50%;animation:menuSpin 1s linear infinite}@keyframes menuSpin{to{transform:rotate(360deg)}}.menu-info-box{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.875rem 1rem;background:linear-gradient(135deg,#e8f4eccc,#dceee4e6);border:2px solid rgba(90,122,69,.3);border-radius:8px;margin:1rem 0}.menu-badge{padding:.375rem .75rem;border-radius:6px;font-size:.8rem;font-family:var(--font-primary);font-weight:700;text-transform:uppercase;letter-spacing:.08em}.menu-badge.host{background:linear-gradient(135deg,#d4a84b,#c49a3d);color:#493a30;border:2px solid rgba(140,109,31,.5);box-shadow:0 2px 6px #d4a84b4d}.menu-badge.guest{background:linear-gradient(135deg,#5a7a8c,#4d6a7a);color:#fefdfb;border:2px solid rgba(61,90,109,.5);box-shadow:0 2px 6px #5a7a8c4d}.menu-error{background:linear-gradient(135deg,#f8e8e8e6,#f5dcdcf2);border:2px solid rgba(196,76,76,.4);border-radius:8px;padding:1rem;color:#8c2020;text-align:center;margin:1rem 0;font-size:.95rem;font-weight:500}.menu-code-display{background:linear-gradient(135deg,#f4efe0e6,#ede6d4f2);border:2px dashed rgba(90,122,69,.4);border-radius:12px;padding:1.75rem;text-align:center;margin:1.5rem 0}.menu-code{font-size:1.25rem;font-weight:700;letter-spacing:.1rem;color:#5a7a45;font-family:Courier New,monospace;text-shadow:0 1px 2px rgba(90,122,69,.15);word-break:break-all;overflow-wrap:break-word}.menu-code.short-code{font-size:2rem;letter-spacing:.35rem}.menu-code-label{color:#6a5a4a;font-size:.9rem;margin-top:.75rem;font-weight:500}.menu-copy-btn{background:linear-gradient(135deg,#6b8e4e,#5a7a45);border:2px solid rgba(90,122,69,.5);border-radius:6px;color:#fff;padding:.5rem 1.25rem;font-size:.9rem;font-family:var(--font-primary);font-weight:600;cursor:pointer;margin-top:1rem;transition:all .2s ease}.menu-copy-btn:hover{background:linear-gradient(135deg,#7a9d5d,#6b8e4e);transform:translateY(-2px);box-shadow:0 4px 12px #6b8e4e59}.menu-steam-btn{background:linear-gradient(135deg,#1b2838,#2a475e);border:2px solid #66c0f4;color:#66c0f4;padding:.75rem 1.5rem;font-size:.95rem;font-family:var(--font-primary);font-weight:600;cursor:pointer;margin-top:1rem;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;border-radius:6px}.menu-steam-btn:hover{background:linear-gradient(135deg,#2a475e,#3d6580);border-color:#a4d7f5;color:#a4d7f5;transform:translateY(-2px);box-shadow:0 4px 12px #66c0f44d}.menu-back-btn{position:absolute;top:2rem;left:2rem;display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.95rem;font-family:var(--font-primary);font-weight:600;letter-spacing:.03em;background:linear-gradient(135deg,#fffffff2,#faf6e5fa);color:#493a30;border:2px solid rgba(73,58,48,.2);border-radius:8px;cursor:pointer;transition:all .25s ease;z-index:10;box-shadow:0 2px 8px #493a301a,inset 0 1px #fffc}.menu-back-btn:hover{transform:translateY(-2px);border-color:#6b8e4e;color:#5a7a45;box-shadow:0 6px 16px #6b8e4e33,inset 0 1px #ffffffe6}.menu-back-btn:active{transform:translateY(0)}.menu-back-btn svg{font-size:.85em}.menu-actions{display:flex;flex-direction:column;gap:.875rem;margin-top:1.5rem}@media (max-width: 600px){.menu-screen{padding:1rem}.menu-screen:after{top:10px;left:10px;right:10px;bottom:10px}.menu-card{padding:1.75rem}.menu-title{font-size:1.5rem}.menu-btn{padding:.875rem 1.25rem;font-size:1rem}.menu-back-btn{top:1rem;left:1rem;padding:.5rem 1rem;font-size:.85rem}}.card-showcase{padding:1rem clamp(1rem,5vw,3rem);min-height:100vh;color:#fff;box-sizing:border-box;width:100%;overflow-x:hidden;position:relative}.showcase-header{text-align:center;margin-bottom:clamp(1rem,3vw,2rem);padding-top:3rem}.showcase-header h1{font-size:clamp(1.5rem,5vw,2.25rem);margin-bottom:8px;color:#5a7a45;text-shadow:0 2px 8px rgba(90,122,69,.3)}.showcase-header p{font-size:clamp(.875rem,2vw,1rem);opacity:.7;color:#888}.type-filter{display:flex;justify-content:center;gap:clamp(.5rem,1.5vw,.75rem);margin-bottom:clamp(1rem,3vw,2rem);flex-wrap:wrap;padding:0 1rem}.type-filter button{background:#5a7a4533;color:#5a7a45;border:2px solid rgba(90,122,69,.4);padding:clamp(.5rem,1.5vw,.75rem) clamp(.75rem,2vw,1rem);border-radius:8px;cursor:pointer;font-size:clamp(.75rem,1.5vw,.875rem);transition:all .2s;font-weight:500;white-space:nowrap}.type-filter button:hover{background:#5a7a454d;border-color:#5a7a4599;transform:translateY(-1px)}.type-filter button.active{background:linear-gradient(135deg,#5a7a45,#4e6640);border-color:#5a7a45;color:#fff;font-weight:700;box-shadow:0 4px 8px #5a7a454d}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(120px,100%),1fr));gap:clamp(.75rem,2vw,1rem);max-width:1600px;margin:0 auto;width:100%}@media (min-width: 1800px){.card-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}@media (max-width: 1200px){.card-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}}@media (max-width: 768px){.card-showcase{padding-top:.5rem}.showcase-header{padding-top:2.5rem}.card-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.75rem}.type-filter{gap:.5rem;padding:0 .5rem}}@media (max-width: 480px){.card-grid{grid-template-columns:repeat(auto-fill,minmax(85px,1fr));gap:.5rem}.showcase-header h1{font-size:1.25rem}.type-filter button{font-size:.7rem;padding:.4rem .6rem}}.settings-screen .menu-card{max-width:520px}.settings-screen-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:11000;overflow-y:auto;background:radial-gradient(ellipse at 30% 20%,rgba(107,142,78,.16) 0%,transparent 50%),radial-gradient(ellipse at 70% 80%,rgba(212,175,55,.12) 0%,transparent 50%),linear-gradient(180deg,#faf6e5b8,#f5f0e0a8,#efe8d8b8);backdrop-filter:blur(3px) saturate(1.05);-webkit-backdrop-filter:blur(3px) saturate(1.05)}.settings-screen-overlay:before{opacity:.55}.settings-screen-overlay:after{border-top-color:#493a3014;border-bottom-color:#493a3014}.settings-screen-overlay .menu-card{background:linear-gradient(135deg,#ffffffeb,#faf6e5f0);border-color:#493a3038}.settings-screen .menu-title:after{display:none}.settings-content{padding:2rem}.settings-section{margin-bottom:2rem}.settings-section:last-child{margin-bottom:0}.settings-section h2{font-size:1.25rem;color:#493a30;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid rgba(107,142,78,.2);font-family:var(--font-primary);letter-spacing:.05em;display:flex;align-items:center;gap:.5rem}.settings-section h2:before{content:"";display:inline-block;width:4px;height:1.25rem;background:linear-gradient(180deg,#6b8e4e,#5a7a45);border-radius:2px}.setting-row{display:flex;justify-content:space-between;align-items:center;padding:.875rem 1rem;margin:0 -.5rem;border-radius:6px;transition:background-color .2s}.setting-row:hover{background:#6b8e4e0d}.setting-label{font-size:1rem;color:#493a30;font-weight:500}.toggle-button{padding:.5rem 1.25rem;font-size:.95rem;font-family:var(--font-primary);font-weight:600;letter-spacing:.05em;border:2px solid rgba(73,58,48,.2);border-radius:20px;background:#493a300d;color:#6a5a4a;cursor:pointer;transition:all .2s ease;min-width:80px}.toggle-button:hover{border-color:#493a3059;background:#493a301a;color:#493a30}.toggle-button.active{background:linear-gradient(135deg,#6b8e4e,#5a7a45);border-color:#5a7a45;color:#fff;box-shadow:0 2px 8px #6b8e4e4d}.toggle-button.active:hover{background:linear-gradient(135deg,#7a9d5d,#6b8e4e)}.toggle-button:disabled,.toggle-button.active:disabled{cursor:not-allowed;opacity:.55;box-shadow:none}.toggle-button:disabled:hover,.toggle-button.active:disabled:hover{border-color:#493a3033;background:#493a300d;color:#6a5a4a}.toggle-button.active:disabled{background:linear-gradient(135deg,#6b8e4eb3,#5a7a45b3);color:#ffffffeb}.display-mode-buttons{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.setting-note{margin:.5rem 0 0;padding:0 .5rem;font-size:.85rem;line-height:1.45;color:#7a6a5a}.volume-control{display:flex;align-items:center;gap:1rem}.volume-slider{width:140px;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#493a3026;border-radius:3px;outline:none;cursor:pointer;transition:background .2s}.volume-slider:hover{background:#493a3033}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;background:linear-gradient(135deg,#6b8e4e,#5a7a45);border-radius:50%;cursor:pointer;transition:all .15s ease;box-shadow:0 2px 6px #6b8e4e66}.volume-slider::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 3px 10px #6b8e4e80}.volume-slider::-moz-range-thumb{width:18px;height:18px;background:linear-gradient(135deg,#6b8e4e,#5a7a45);border-radius:50%;cursor:pointer;border:none;box-shadow:0 2px 6px #6b8e4e66}.volume-value{min-width:45px;text-align:right;font-size:.9rem;color:#6a5a4a;font-weight:500}.about-info{text-align:center;padding:1rem;background:#ede8d880;border-radius:8px}.about-info p{margin:.4rem 0;color:#493a30}.about-info p:first-child{font-family:var(--font-primary);font-size:1.1rem;font-weight:600;letter-spacing:.05em}.version-info{color:#7a6a5a!important;font-size:.9rem}.platform-info{color:#6b8e4e!important;font-size:.85rem;font-style:italic}@media (max-width: 600px){.settings-content{padding:1.5rem}.setting-row{flex-direction:column;align-items:flex-start;gap:.75rem;padding:1rem}.volume-control{width:100%}.display-mode-buttons{width:100%;justify-content:flex-start}.volume-slider{flex:1;width:auto}}.friend-picker-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;background:radial-gradient(circle at 20% 12%,rgba(107,142,78,.16) 0%,transparent 42%),radial-gradient(circle at 78% 88%,rgba(212,175,55,.12) 0%,transparent 36%),#1f1812bd;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.friend-picker-dialog{--picker-bg: #2d4a3e;--picker-bg-soft: #1a2e26;--picker-border: #8b7355;--picker-border-strong: #d4af37;--picker-title: #f4e4c1;--picker-text: #e4d5b4;--picker-muted: #b7ab95;--picker-accent: #c9a961;--picker-online: #b4d4a1;--picker-away: #d7bf84;--picker-busy: #cf8f82;width:min(430px,calc(100vw - 32px));max-height:min(78vh,680px);display:flex;flex-direction:column;background:linear-gradient(135deg,#2d4a3ef7,#1e362cfa 55%,#1a2e26fc),linear-gradient(120deg,#6b8e4e14,#d4af3712);border:2px solid var(--picker-border);border-radius:10px;box-shadow:0 16px 40px #00000080,inset 0 1px #ffffff0f,0 0 0 1px #d4af371f}.friend-picker-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px 11px}.friend-picker-header h3{margin:0;color:var(--picker-title);font-size:clamp(1.2rem,3vw,1.85rem);font-family:var(--font-primary);font-weight:700;letter-spacing:.03em;line-height:1.1}.friend-picker-close{width:28px;height:28px;border:none;background:none;color:#b8aa8d;font-size:1rem;line-height:1;cursor:pointer;border-radius:2px;transition:color .12s ease,background .12s ease}.friend-picker-close:hover{color:#f4e4c1;background:#d4af3729}.friend-picker-close:focus-visible{outline:1px solid rgba(212,175,55,.7);outline-offset:1px}.friend-picker-search{padding:0 16px 12px}.friend-picker-search input{width:100%;box-sizing:border-box;border:1px solid rgba(139,127,95,.55);background:linear-gradient(180deg,#13201bc7,#14221cd1);color:var(--picker-text);padding:9px 10px;font-size:.95rem;font-family:var(--font-primary);outline:none}.friend-picker-search input::placeholder{color:#a79a82;font-style:italic}.friend-picker-search input:focus{border-color:var(--picker-border-strong);box-shadow:0 0 0 1px #d4af3738}.friend-picker-list{flex:1;min-height:120px;margin:0 16px 16px;overflow-y:auto;overflow-x:hidden;padding:0 4px;border:1px solid rgba(139,127,95,.45);background:linear-gradient(90deg,#1c2e26d9,#1a2b23f2 45%,#192821db),linear-gradient(180deg,#121e19a3,#16251e5c)}.friend-picker-loading,.friend-picker-empty{padding:34px 16px;text-align:center;color:var(--picker-muted);font-size:.93rem;font-family:var(--font-primary)}.friend-picker-section-label{margin:10px 0 6px;padding:0 10px;color:var(--picker-accent);font-size:.95rem;font-family:var(--font-primary);font-weight:600}.friend-row{width:100%;box-sizing:border-box;display:flex;align-items:center;gap:10px;border:1px solid transparent;border-radius:4px;background:none;color:inherit;text-align:left;cursor:pointer;padding:7px 8px;margin:1px 0;transition:background .12s ease,border-color .12s ease}.friend-row:hover:not(:disabled){background:linear-gradient(90deg,#5a7a4a3d,#4e6e422b);border-color:#8b7f5f80;box-shadow:inset 0 0 0 1px #d4af3714}.friend-row:focus-visible{outline:1px solid rgba(212,175,55,.75);outline-offset:-1px}.friend-row:disabled{cursor:default}.friend-row.offline{opacity:.72}.friend-avatar{width:34px;height:34px;flex-shrink:0;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(139,127,95,.55);background:linear-gradient(145deg,#4a5f52e0,#34473ce6);color:#f0dfb9;font-family:var(--font-primary);font-size:.92rem;font-weight:600;text-transform:uppercase}.friend-avatar-image{width:100%;height:100%;object-fit:cover;display:block}.friend-info{min-width:0;flex:1;display:flex;flex-direction:column;line-height:1.15}.friend-name{color:var(--picker-title);font-size:1.02rem;font-family:var(--font-primary);font-weight:500;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.friend-row.online .friend-name{color:var(--picker-online)}.friend-row.offline .friend-name{color:#a89b84}.friend-state{margin-top:1px;font-size:.84rem;font-family:var(--font-primary);color:#99a791}.friend-state.online{color:var(--picker-online)}.friend-state.away{color:var(--picker-away)}.friend-state.busy{color:var(--picker-busy)}.friend-state.offline{color:#9e927e}.friend-invite-state{margin-left:8px;font-size:.72rem;font-family:var(--font-primary);letter-spacing:.08em;text-transform:uppercase;color:#b4a791;white-space:nowrap}.friend-row:not(.invited):not(:disabled):hover .friend-invite-state{color:var(--picker-accent)}.friend-row.invited .friend-invite-state{color:#dac67f}.friend-picker-list::-webkit-scrollbar{width:11px}.friend-picker-list::-webkit-scrollbar-track{background:#0f191485}.friend-picker-list::-webkit-scrollbar-thumb{border:1px solid rgba(139,127,95,.55);background:linear-gradient(180deg,#607f4deb,#49663aeb)}.friend-picker-list::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#70915cf2,#567644f2)}@media (max-width: 560px){.friend-picker-backdrop{padding:10px}.friend-picker-dialog{width:min(430px,calc(100vw - 20px));max-height:calc(100vh - 20px)}.friend-picker-header{padding:11px 12px 10px}.friend-picker-search{padding:0 12px 10px}.friend-picker-list{margin:0 12px 12px}.friend-name{font-size:.96rem}}.lobby-screen .menu-card{max-width:1060px}.lobby-card{display:flex;flex-direction:column;gap:1rem;width:min(1060px,100%)}.lobby-header{text-align:center}.lobby-header .menu-title{margin-bottom:.5rem}.lobby-header .menu-subtitle{margin-top:0;margin-bottom:0}.lobby-code-strip{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:10px;border:2px dashed rgba(90,122,69,.4);background:linear-gradient(135deg,#fcf7ebe6,#f4eee0f2)}.lobby-code-strip .menu-copy-btn{margin-top:0;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;flex-shrink:0;padding:.5rem .85rem}.lobby-code-label{color:#6a5a4a;font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;font-family:var(--font-primary)}.lobby-code-value{flex:1;padding:.375rem .65rem;border-radius:6px;background:#5a7a451f;color:#3d5230;font-size:1rem;font-weight:700;letter-spacing:.08em;word-break:break-word}.lobby-main-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:1rem;align-items:start}.lobby-panel{border:2px solid rgba(73,58,48,.18);border-radius:10px;background:linear-gradient(135deg,#ffffffe0,#f8f3e7eb);padding:1rem;display:flex;flex-direction:column;gap:.65rem}.lobby-panel-title{margin:0;font-family:var(--font-primary);color:#493a30;font-size:1.05rem;display:flex;align-items:center;gap:.5rem}.lobby-participant-list{display:flex;flex-direction:column;gap:.65rem}.lobby-participant{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:.65rem;padding:.65rem;border-radius:9px;border:2px solid rgba(90,122,69,.25);background:#e8f4ec73}.lobby-participant.open-slot{border-color:#6a5a4a40;background:#f5f0e5a6}.lobby-avatar{width:42px;height:42px;border-radius:50%;background:#493a3024;border:2px solid rgba(73,58,48,.2);overflow:hidden;display:flex;align-items:center;justify-content:center;font-weight:700;color:#493a30}.lobby-avatar img{width:100%;height:100%;object-fit:cover}.lobby-participant-meta{min-width:0}.lobby-participant-name-row{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem}.lobby-participant-name{font-weight:700;color:#2f251e}.lobby-participant-role{padding:.12rem .4rem;border-radius:99px;font-size:.7rem;text-transform:uppercase;background:#5a7a452e;color:#3d5230}.lobby-you-badge{padding:.12rem .4rem;border-radius:99px;font-size:.7rem;background:#4a6a9c2e;color:#2d4a6d}.lobby-participant-status{margin-top:.2rem;font-size:.85rem;color:#5f5245;display:flex;align-items:center;gap:.35rem}.lobby-ready-pill{display:inline-flex;align-items:center;justify-content:center;padding:.2rem .55rem;border-radius:99px;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;border:2px solid rgba(106,90,74,.35);color:#6a5a4a;background:#ffffff8c;white-space:nowrap}.lobby-ready-pill.ready{border-color:#5a7a4580;color:#2d4a2f;background:#e0f2e4d9}.lobby-start-btn{margin-top:.25rem}.lobby-start-hint{margin:.65rem 0 0;font-family:var(--font-helper);font-size:.84rem;font-style:italic;color:#6a5a4a}.lobby-waiting-box{display:flex;align-items:center;gap:.6rem;border:2px solid rgba(74,106,156,.3);border-radius:8px;padding:.85rem;color:#2d4a6d;background:#e8f0f8d9;min-height:64px}.join-intro-card{max-width:520px;margin-inline:auto}.lobby-close-notice{display:flex;flex-direction:column;gap:.4rem;padding:.9rem 1rem .75rem;border-radius:10px;border:2px solid rgba(74,106,156,.34);background:linear-gradient(135deg,#ecf5ffeb,#e3f0fcf5);color:#2d4a6d;text-align:left;margin:1rem 0 .75rem}.lobby-close-notice-title{font-family:var(--font-primary);font-size:.86rem;letter-spacing:.08em;text-transform:uppercase;color:#325475}.lobby-close-notice-message{font-size:.93rem;line-height:1.35;color:#355a7d}.lobby-close-notice-progress{position:relative;overflow:hidden;height:5px;border-radius:999px;background:#3d5a6d2e;margin-top:.2rem}.lobby-close-notice-progress:after{content:"";position:absolute;left:0;top:0;height:100%;width:100%;background:linear-gradient(90deg,#7398bb,#87aac9);transform-origin:left center;animation:lobbyCloseCountdown 1.8s linear forwards}@keyframes lobbyCloseCountdown{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media (max-width: 900px){.lobby-main-grid{grid-template-columns:1fr}}@media (max-width: 640px){.lobby-screen .menu-card{padding:1.2rem}.lobby-code-strip{flex-wrap:wrap}.lobby-code-value{width:100%}.lobby-participant{grid-template-columns:38px 1fr}.lobby-ready-pill{grid-column:2 / 3;margin-top:.2rem;justify-self:start}}.steam-invite-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease-out}.steam-invite-dialog{background:linear-gradient(135deg,#1a1a2e,#16213e);border:2px solid #3498db;border-radius:12px;padding:2rem;text-align:center;min-width:320px;max-width:400px;box-shadow:0 8px 32px #3498db4d;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.steam-invite-icon{font-size:3rem;margin-bottom:1rem}.steam-invite-dialog h2{color:#fff;margin:0 0 .5rem;font-size:1.5rem}.steam-invite-dialog p{color:#a0a0a0;margin:0 0 1.5rem;font-size:1rem}.steam-invite-error{background:#e74c3c33;border:1px solid #e74c3c;border-radius:6px;color:#e74c3c;padding:.75rem;margin-bottom:1rem;font-size:.9rem}.steam-invite-buttons{display:flex;gap:1rem;justify-content:center}.steam-invite-accept,.steam-invite-decline{padding:.75rem 1.5rem;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.steam-invite-accept{background:linear-gradient(135deg,#2ecc71,#27ae60);color:#fff}.steam-invite-accept:hover:not(:disabled){background:linear-gradient(135deg,#27ae60,#1e8449);transform:translateY(-1px)}.steam-invite-accept:disabled{opacity:.6;cursor:not-allowed}.steam-invite-decline{background:#ffffff1a;color:#a0a0a0;border:1px solid rgba(255,255,255,.2)}.steam-invite-decline:hover:not(:disabled){background:#ffffff26;color:#fff}.steam-invite-decline:disabled{opacity:.6;cursor:not-allowed}.tutorial-highlight-layer{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:9050}.tutorial-dim-svg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.tutorial-spotlight{position:absolute;border-radius:12px;pointer-events:none;z-index:9060;transition:top .1s ease-out,left .1s ease-out,width .1s ease-out,height .1s ease-out}.tutorial-spotlight.interactive{pointer-events:auto;cursor:pointer}.tutorial-spotlight-ring{position:absolute;top:0;left:0;right:0;bottom:0;border:3px solid #d4af37;border-radius:8px;box-shadow:0 0 15px #d4af3780,0 0 30px #d4af3740,inset 0 0 15px #d4af371a}.tutorial-spotlight.pulse .tutorial-spotlight-ring{animation:spotlightPulse 2s ease-in-out infinite}@keyframes spotlightPulse{0%,to{box-shadow:0 0 15px #d4af3780,0 0 30px #d4af3740,inset 0 0 15px #d4af371a;transform:scale(1)}50%{box-shadow:0 0 25px #d4af37b3,0 0 50px #d4af3759,inset 0 0 20px #d4af3726;transform:scale(1.02)}}.tutorial-spotlight.pulse:before{content:"";position:absolute;top:-4px;left:-4px;right:-4px;bottom:-4px;border:2px solid rgba(212,175,55,.4);border-radius:14px;animation:spotlightRingPulse 2s ease-in-out infinite}@keyframes spotlightRingPulse{0%,to{opacity:0;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.tutorial-spotlight-label{position:absolute;left:50%;transform:translate(-50%);padding:6px 12px;background:linear-gradient(135deg,#d4af37,#aa8a2e);color:#1a2e26;font-size:12px;font-weight:700;border-radius:16px;white-space:nowrap;box-shadow:0 2px 8px #0006;z-index:1}.tutorial-spotlight-label.above{bottom:calc(100% + 12px)}.tutorial-spotlight-label.below{top:calc(100% + 12px)}.tutorial-spotlight-label:before{content:"";position:absolute;left:50%;transform:translate(-50%);border:6px solid transparent}.tutorial-spotlight-label.above:before{top:100%;border-top-color:#d4af37}.tutorial-spotlight-label.below:before{bottom:100%;border-bottom-color:#d4af37}.tutorial-spotlight-arrow{position:absolute;color:#d4af37;font-size:20px;animation:arrowBounce 1s ease-in-out infinite}.tutorial-spotlight-arrow.arrow-top{top:-32px;left:50%;transform:translate(-50%)}.tutorial-spotlight-arrow.arrow-bottom{bottom:-32px;left:50%;transform:translate(-50%)}.tutorial-spotlight-arrow.arrow-left{left:-32px;top:50%;transform:translateY(-50%)}.tutorial-spotlight-arrow.arrow-right{right:-32px;top:50%;transform:translateY(-50%)}@keyframes arrowBounce{0%,to{opacity:1}50%{opacity:.5}}.tutorial-spotlight-arrow.arrow-top{animation:arrowBounceUp 1s ease-in-out infinite}.tutorial-spotlight-arrow.arrow-bottom{animation:arrowBounceDown 1s ease-in-out infinite}.tutorial-spotlight-arrow.arrow-left{animation:arrowBounceLeft 1s ease-in-out infinite}.tutorial-spotlight-arrow.arrow-right{animation:arrowBounceRight 1s ease-in-out infinite}@keyframes arrowBounceUp{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(8px)}}@keyframes arrowBounceDown{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-8px)}}@keyframes arrowBounceLeft{0%,to{transform:translateY(-50%) translate(0)}50%{transform:translateY(-50%) translate(8px)}}@keyframes arrowBounceRight{0%,to{transform:translateY(-50%) translate(0)}50%{transform:translateY(-50%) translate(-8px)}}.tutorial-spotlight:after{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;border-radius:14px;background:linear-gradient(135deg,rgba(212,175,55,.3) 0%,transparent 30%,transparent 70%,rgba(212,175,55,.3) 100%);opacity:0;animation:cornerGlow 3s ease-in-out infinite;pointer-events:none}@keyframes cornerGlow{0%,to{opacity:0}50%{opacity:1}}.tutorial-spotlight.interactive:hover .tutorial-spotlight-ring{border-color:#fc4;box-shadow:0 0 20px #fc49,0 0 40px #ffcc444d,inset 0 0 20px #ffcc4426}.tutorial-dim-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;z-index:9000;pointer-events:none}.tutorial-overlay{position:fixed;z-index:9100;pointer-events:none;width:400px;max-width:calc(100vw - 40px);transition:left .4s cubic-bezier(.4,0,.2,1),top .4s cubic-bezier(.4,0,.2,1)}.tutorial-overlay.animating{opacity:.5;transition:left .4s cubic-bezier(.4,0,.2,1),top .4s cubic-bezier(.4,0,.2,1),opacity .15s ease}.tutorial-panel{background:linear-gradient(135deg,#2d4a3e,#1a2e26);border:3px solid #8b7355;border-radius:12px;box-shadow:0 8px 32px #00000080,0 0 40px #8b735526,inset 0 1px #ffffff0d;padding:0;width:100%;max-width:420px;pointer-events:auto;animation:tutorialPanelEnter .3s ease-out}@keyframes tutorialPanelEnter{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.tutorial-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid rgba(139,115,85,.3);background:#0003;border-radius:9px 9px 0 0}.tutorial-lesson-info{display:flex;align-items:center;gap:10px;color:#d4af37;font-weight:600;font-size:14px}.tutorial-lesson-icon{font-size:16px;opacity:.9}.tutorial-lesson-name{opacity:.9}.tutorial-close-btn{background:#8b453d99;border:1px solid rgba(139,69,61,.4);color:#f4e4c1;width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.tutorial-close-btn:hover{background:#8b453de6;border-color:#8b453db3}.tutorial-progress-container{padding:12px 16px;border-bottom:1px solid rgba(139,115,85,.2)}.tutorial-progress-bar{height:6px;background:#0000004d;border-radius:3px;overflow:hidden;margin-bottom:6px}.tutorial-progress-fill{height:100%;background:linear-gradient(90deg,#6b8e4e,#8fbc5a);border-radius:3px;transition:width .3s ease;box-shadow:0 0 10px #6b8e4e80}.tutorial-progress-text{font-size:11px;color:#f4e4c199;text-align:right;display:block}.tutorial-content{padding:20px 20px 16px}.tutorial-title{color:#f4e4c1;font-size:18px;font-weight:700;margin:0 0 12px;font-family:var(--font-primary);text-shadow:0 2px 4px rgba(0,0,0,.3)}.tutorial-text{color:#f4e4c1e6;font-size:14px;line-height:1.6;margin-bottom:12px}.tutorial-text strong{color:#d4af37;font-weight:600}.tutorial-bullet{padding-left:4px;margin:4px 0}.tutorial-tip{display:flex;align-items:flex-start;gap:10px;padding:12px;background:#d4af371a;border:1px solid rgba(212,175,55,.25);border-radius:8px;margin-top:12px}.tutorial-tip-icon{color:#d4af37;font-size:14px;flex-shrink:0;margin-top:2px}.tutorial-tip span{color:#f4e4c1cc;font-family:var(--font-helper);font-size:13px;font-style:italic;line-height:1.5}.tutorial-error{padding:10px 12px;background:#8b453d4d;border:1px solid rgba(139,69,61,.5);border-radius:6px;color:#f99;font-size:13px;margin-top:12px}.tutorial-footer{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-top:1px solid rgba(139,115,85,.2);background:#00000026;border-radius:0 0 9px 9px}.tutorial-skip-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;background:transparent;border:1px solid rgba(244,228,193,.2);color:#f4e4c199;border-radius:6px;font-size:12px;cursor:pointer;transition:all .2s ease}.tutorial-skip-btn:hover{background:#f4e4c11a;color:#f4e4c1e6;border-color:#f4e4c14d}.tutorial-next-btn{display:flex;align-items:center;gap:8px;padding:10px 18px;background:linear-gradient(135deg,#6b8e4e,#4a6b3a);border:1px solid rgba(107,142,78,.5);color:#f4e4c1;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #0000004d}.tutorial-next-btn:hover:not(.disabled){background:linear-gradient(135deg,#7da059,#5a7d48);transform:translateY(-1px);box-shadow:0 4px 12px #0006}.tutorial-next-btn.disabled{background:#493a3080;border-color:#493a304d;color:#f4e4c166;cursor:not-allowed;box-shadow:none}.tutorial-complete-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:9200;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.tutorial-complete-panel{background:linear-gradient(135deg,#2d4a3e,#1a2e26);border:3px solid #8b7355;border-radius:16px;box-shadow:0 16px 48px #0009,0 0 60px #d4af371a;padding:40px;text-align:center;max-width:480px;animation:scaleIn .4s cubic-bezier(.175,.885,.32,1.275)}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.tutorial-complete-icon{width:72px;height:72px;margin:0 auto 20px;background:linear-gradient(135deg,#d4af37,#aa8a2e);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px;color:#1a2e26;box-shadow:0 4px 16px #d4af3766,0 0 30px #d4af3733}.tutorial-complete-icon.success{background:linear-gradient(135deg,#6b8e4e,#4a6b3a);box-shadow:0 4px 16px #6b8e4e66,0 0 30px #6b8e4e33;color:#f4e4c1}.tutorial-complete-panel h2{color:#f4e4c1;font-size:28px;font-family:var(--font-primary);margin:0 0 16px;text-shadow:0 2px 4px rgba(0,0,0,.3)}.tutorial-complete-panel p{color:#f4e4c1d9;font-size:15px;line-height:1.6;margin:0 0 12px}.tutorial-complete-panel p strong{color:#d4af37}.tutorial-next-lesson-preview{padding:16px;background:#0003;border-radius:8px;margin:20px 0 24px!important}.tutorial-next-lesson-desc{font-size:13px;opacity:.7}.tutorial-complete-actions{display:flex;justify-content:center;gap:12px;margin-top:24px}.tutorial-primary-btn{display:flex;align-items:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,#6b8e4e,#4a6b3a);border:1px solid rgba(107,142,78,.5);color:#f4e4c1;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #0000004d}.tutorial-primary-btn:hover{background:linear-gradient(135deg,#7da059,#5a7d48);transform:translateY(-2px);box-shadow:0 6px 16px #0006}.tutorial-secondary-btn{padding:12px 24px;background:transparent;border:1px solid rgba(244,228,193,.3);color:#f4e4c1cc;border-radius:8px;font-size:15px;cursor:pointer;transition:all .2s ease}.tutorial-secondary-btn:hover{background:#f4e4c11a;border-color:#f4e4c180;color:#f4e4c1}@media (max-width: 1024px){.tutorial-overlay.tutorial-panel-right,.tutorial-overlay.tutorial-panel-left{width:340px}}@media (max-width: 768px){.tutorial-overlay.tutorial-panel-right,.tutorial-overlay.tutorial-panel-left{width:100%;max-width:none;top:auto;bottom:0;padding:0;border-radius:16px 16px 0 0}.tutorial-panel{max-width:none;border-radius:16px 16px 0 0}.tutorial-complete-panel{margin:20px;padding:30px}.tutorial-complete-panel h2{font-size:24px}}.tutorial-select{width:100vw;height:100vh;background:linear-gradient(135deg,#1a2e26,#2d4a3e,#1a2e26);display:flex;flex-direction:column;padding:40px;overflow-y:auto;position:relative}.tutorial-select .menu-back-btn{background:#f4e4c11a;border:1px solid rgba(244,228,193,.2);color:#f4e4c1cc;box-shadow:none}.tutorial-select .menu-back-btn:hover{background:#f4e4c133;color:#f4e4c1;border-color:#f4e4c166;box-shadow:none}.tutorial-select-header{text-align:center;margin-bottom:30px}.tutorial-select-header h1{color:#d4af37;font-family:var(--font-primary);font-size:42px;margin:0 0 12px;text-shadow:0 2px 8px rgba(212,175,55,.3)}.tutorial-select-subtitle{color:#f4e4c1b3;font-size:16px;margin:0}.tutorial-overall-progress{max-width:600px;margin:0 auto 40px;background:#0003;border:1px solid rgba(139,115,85,.3);border-radius:12px;padding:20px 24px}.progress-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.progress-label{color:#f4e4c1cc;font-size:14px;font-weight:600}.progress-count{color:#d4af37;font-size:14px}.progress-bar-container{height:8px;background:#0000004d;border-radius:4px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#6b8e4e,#8fbc5a);border-radius:4px;transition:width .5s ease;box-shadow:0 0 10px #6b8e4e80}.reset-progress-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;margin-top:12px;padding:8px;background:transparent;border:1px solid rgba(139,69,61,.3);color:#8b453dcc;border-radius:6px;font-size:12px;cursor:pointer;transition:all .2s ease}.reset-progress-btn:hover{background:#8b453d33;border-color:#8b453d80;color:#f99}.lesson-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;max-width:1200px;margin:0 auto;padding:0 20px}.lesson-card{background:linear-gradient(135deg,#2d4a3ecc,#1a2e26e6);border:2px solid rgba(139,115,85,.4);border-radius:12px;padding:20px;display:flex;align-items:center;gap:16px;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.lesson-card:hover:not(.locked){border-color:#d4af37;transform:translateY(-2px);box-shadow:0 8px 24px #0000004d,0 0 20px #d4af371a}.lesson-card.complete{border-color:#6b8e4e99}.lesson-card.complete:hover{border-color:#6b8e4e;box-shadow:0 8px 24px #0000004d,0 0 20px #6b8e4e1a}.lesson-card.locked{opacity:.6;cursor:not-allowed}.lesson-number{position:absolute;top:0;left:0;padding:6px 12px;background:#8b73554d;color:#f4e4c199;font-size:11px;font-weight:700;border-radius:0 0 8px}.lesson-icon{flex-shrink:0;width:56px;height:56px;background:#0003;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#d4af37;font-size:24px}.lesson-card.complete .lesson-icon{background:#6b8e4e33}.complete-icon{color:#6b8e4e}.lock-icon{color:#f4e4c166}.lesson-info{flex:1;min-width:0}.lesson-name{color:#f4e4c1;font-size:16px;font-weight:600;margin:0 0 6px}.lesson-description{color:#f4e4c1b3;font-size:13px;margin:0 0 8px;line-height:1.4}.lesson-time{color:#f4e4c180;font-size:11px}.lesson-action{display:flex;align-items:center;gap:6px;padding:8px 14px;background:linear-gradient(135deg,#6b8e4e,#4a6b3a);border-radius:6px;color:#f4e4c1;font-size:13px;font-weight:600;transition:all .2s ease}.lesson-card:hover:not(.locked) .lesson-action{background:linear-gradient(135deg,#7da059,#5a7d48)}.lesson-card.complete .lesson-action{background:transparent;border:1px solid rgba(107,142,78,.5);color:#6b8e4e}.lesson-locked-message{color:#f4e4c166;font-size:11px;font-style:italic;max-width:100px;text-align:right}.quick-start-section{text-align:center;margin-top:40px;padding:30px;background:#d4af370d;border:1px dashed rgba(212,175,55,.3);border-radius:12px;max-width:500px;margin-left:auto;margin-right:auto}.quick-start-section p{color:#f4e4c1b3;font-size:14px;margin:0 0 16px}.quick-start-btn{display:inline-flex;align-items:center;gap:10px;padding:14px 28px;background:linear-gradient(135deg,#d4af37,#aa8a2e);border:none;border-radius:8px;color:#1a2e26;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 16px #d4af374d}.quick-start-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #d4af3766}@media (max-width: 768px){.tutorial-select{padding:20px}.tutorial-select .menu-back-btn{position:relative;top:auto;left:auto;margin-bottom:20px}.tutorial-select-header h1{font-size:32px}.lesson-grid{grid-template-columns:1fr}.lesson-card{flex-direction:column;text-align:center;padding-top:32px}.lesson-info{text-align:center}}.perf-monitor{position:fixed;top:12px;left:12px;z-index:9999;background:#14141ee0;color:#e0e0e0;font-family:Consolas,Monaco,Courier New,monospace;font-size:11px;line-height:1.4;padding:10px 14px;border-radius:8px;border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 16px #0006;pointer-events:none;-webkit-user-select:none;user-select:none;min-width:180px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.perf-monitor-title{font-size:12px;font-weight:700;color:#8ecae6;margin-bottom:6px;text-transform:uppercase;letter-spacing:1px}.perf-section{margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.08)}.perf-section:last-of-type{border-bottom:none;margin-bottom:4px}.perf-section-header{font-size:10px;font-weight:600;color:#fb8500;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.perf-row{display:flex;justify-content:space-between;padding:1px 0}.perf-label{color:#999}.perf-value{color:#e0e0e0;font-weight:600;text-align:right}.perf-component{margin-left:4px;margin-bottom:6px;padding-left:8px;border-left:2px solid rgba(142,202,230,.3)}.perf-component-name{font-weight:700;color:#8ecae6;font-size:10px;margin-bottom:2px}.perf-hint{font-size:9px;color:#ffffff4d;text-align:center;margin-top:2px}.mute-toggle{position:fixed;bottom:1rem;right:1rem;z-index:9000;width:40px;height:40px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;background:#1e1e1e8c;color:#ffffffb3;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:.5;transition:opacity .25s ease,background .25s ease,color .25s ease,transform .15s ease;touch-action:manipulation}.mute-toggle:hover{opacity:1;background:#1e1e1ecc;color:#fff;transform:scale(1.1)}.mute-toggle:active{transform:scale(.95)}.mute-toggle[aria-label=Unmute]{color:#ff6464cc}.mute-toggle[aria-label=Unmute]:hover{color:#ff6464}.app{width:100%;height:100%;display:flex;flex-direction:column}.app-loading-screen{width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a1a,#2d2d2d);color:#e0e0e0}.loading-content{text-align:center;max-width:400px;padding:2rem}.loading-content h1{font-size:2.5rem;margin-bottom:2rem;color:#d4af37;text-shadow:0 0 10px rgba(212,175,55,.5);font-family:var(--font-primary)}.loading-bar-container{width:100%;height:8px;background-color:#333;border-radius:4px;overflow:hidden;margin-bottom:1rem;box-shadow:inset 0 2px 4px #0000004d}.loading-bar{height:100%;background:linear-gradient(90deg,#d4af37,gold);border-radius:4px;transition:width .3s ease;box-shadow:0 0 10px #d4af3780}.loading-text{margin-top:1rem;font-size:1rem;color:#999}.prerender-cache{position:absolute;top:0;left:0;width:1px;height:1px;opacity:0;pointer-events:none;overflow:hidden}.prerender-sprite{width:100px;height:140px;background-repeat:no-repeat}@font-face{font-family:BlackChancery;src:url(/fonts/BlackChancery.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--font-primary: "Averia Libre", serif;--font-card-name: "BlackChancery", "Palatino Linotype", serif;--font-helper: "Kalam", cursive}*{margin:0;padding:0;box-sizing:border-box}*{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}input,textarea,[contenteditable]{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}img{-webkit-user-drag:none;user-drag:none;pointer-events:auto}body{font-family:var(--font-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f9f5e5;color:#493a30}#root{width:100vw;height:100vh;overflow:hidden;display:flex;align-items:center;justify-content:center}button{font-family:inherit;cursor:pointer;border:none;outline:none}button:disabled{cursor:not-allowed;opacity:.5}.game-overlay{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;z-index:1000;background:#000000b3}.game-modal-shell{background:linear-gradient(135deg,#2d4a3e,#1a2e26);border:3px solid #8b7355;border-radius:12px;box-shadow:0 8px 32px #00000080}
