@import"https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap";/*! tailwindcss v4.1.12 | MIT License | https://tailwindcss.com */.lobby-container{background:var(--gradient-background);min-height:100vh;max-height:100vh;padding:clamp(1rem,3vh,2rem);overflow-y:auto;container-type:inline-size}.lobby-header{text-align:center;margin-bottom:2rem}.lobby-title{-webkit-text-fill-color:transparent;text-shadow:0 4px 8px #0009;background:linear-gradient(135deg,#f0c442,#e8b430,#ecb613,#c9951d,#ad7e1f);-webkit-background-clip:text;background-clip:text;margin-bottom:1.5rem;font-family:Cinzel,serif;font-size:4rem;font-weight:700;position:relative}.lobby-title:after{content:"";background:linear-gradient(90deg,transparent,hsl(var(--primary)),transparent);width:8rem;height:2px;position:absolute;bottom:-.5rem;left:50%;transform:translate(-50%)}.lobby-subtitle{color:hsl(var(--muted-foreground));text-align:center;max-width:48rem;margin:0 auto 2rem;font-size:1.1rem;font-style:italic;font-weight:500;line-height:1.6}.lobby-badges{flex-wrap:wrap;justify-content:center;gap:2rem;margin-bottom:2rem;display:flex}.lobby-badge{color:hsl(var(--primary)/.8);text-transform:uppercase;letter-spacing:.1em;background:linear-gradient(145deg,hsl(var(--primary)/.1),hsl(var(--primary)/.05));border:1px solid hsl(var(--primary)/.2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:.5rem;align-items:center;gap:.75rem;padding:.5rem 1rem;font-size:.875rem;font-weight:600;display:flex}.lobby-main{grid-template-columns:1fr 1fr;align-items:start;gap:clamp(1.5rem,3vw,3rem);max-width:90rem;margin:0 auto;display:grid}.lobby-panel{background:var(--gradient-card);border:2px solid hsl(var(--primary)/.4);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:1.25rem;flex-direction:column;min-height:min(550px,80vh);padding:1.75rem;display:flex;position:relative;overflow:hidden}.lobby-panel:before{content:"";background:linear-gradient(90deg,transparent,hsl(var(--primary)/.3),transparent);height:1px;position:absolute;top:0;left:0;right:0}.lobby-panel:hover{background:var(--gradient-card-hover);border-color:hsl(var(--primary)/.6);transform:translateY(-2px);box-shadow:0 12px 40px #0009,0 6px 20px #0006,0 3px 12px #0000004d,inset 0 1px #ffffff26}.panel-header{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.panel-icon{background:linear-gradient(145deg,hsl(var(--primary)/.2),hsl(var(--primary)/.1));border:2px solid hsl(var(--primary)/.3);border-radius:1rem;justify-content:center;align-items:center;width:3.5rem;height:3.5rem;display:flex;box-shadow:0 4px 12px #0000004d,inset 0 1px #ffffff1a}.panel-icon svg{width:2rem;height:2rem;color:hsl(var(--primary))}.panel-icon svg[style*=destructive]{color:hsl(var(--destructive))!important}.panel-header:has(svg[style*=destructive]) .panel-icon{background:linear-gradient(145deg,hsl(var(--destructive)/.2),hsl(var(--destructive)/.1));border-color:hsl(var(--destructive)/.3)}.panel-title{-webkit-text-fill-color:transparent;letter-spacing:.05em;text-shadow:0 2px 4px #0000004d;background:linear-gradient(135deg,#eebd2b,#e6ac1a,#c9951d);-webkit-background-clip:text;background-clip:text;font-family:Cinzel,serif;font-size:1.75rem;font-weight:600}.form-group{box-sizing:border-box;width:100%;margin-bottom:1rem}.form-label{color:hsl(var(--primary)/.9);text-transform:uppercase;letter-spacing:.1em;justify-content:flex-start;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.875rem;font-weight:600;line-height:1;display:flex}.form-label svg{color:hsl(var(--primary))}.form-input{width:100%;max-width:100%;color:hsl(var(--foreground));box-shadow:none;box-sizing:border-box;background:#0000004d;border:1px solid #ffffff26;border-radius:6px;padding:.875rem 1rem;font-size:.875rem;font-weight:400;transition:all .2s}.form-input:focus{background:#0000004d;border-color:#ffffff4d;outline:none;box-shadow:0 0 0 2px #ffffff1a}.form-input::-moz-placeholder{color:#fff6;font-style:normal}.form-input::placeholder{color:#fff6;font-style:normal}.form-container{flex-direction:column;gap:1.25rem;display:flex}.action-grid{grid-template-columns:1fr 1fr;align-items:stretch;gap:1.25rem;margin-top:1.5rem;display:grid}.action-card{border:1px solid hsl(var(--primary)/.2);transition:var(--transition-smooth);box-sizing:border-box;background:linear-gradient(145deg,#1a1714,#211d17,#171411 50%,#1d1916);border-radius:1rem;flex-direction:column;justify-content:space-between;min-height:min(270px,40vh);padding:1.25rem;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 12px #0006,0 2px 6px #0000004d,inset 0 1px #ffffff0d}.action-card:before{content:"";background:linear-gradient(90deg,transparent,hsl(var(--primary)/.3),transparent);height:1px;position:absolute;top:0;left:0;right:0}.action-card.join-battle{border-color:hsl(var(--destructive)/.3);background:linear-gradient(145deg,#201613,#281c15,#1d1411 50%,#221816)}.action-card.join-battle:before{background:linear-gradient(90deg,transparent,hsl(var(--destructive)/.3),transparent)}.action-card.join-battle:hover{border-color:hsl(var(--destructive)/.5);background:linear-gradient(145deg,#261b17,#2e2019,#231915 50%,#281d1b)}.action-card.join-battle .action-title{color:hsl(var(--destructive)/.9)}.action-card:hover{border-color:hsl(var(--primary)/.4);background:linear-gradient(145deg,#201c18,#27221b,#1d1a16 50%,#221e1b);transform:translateY(-2px);box-shadow:0 8px 20px #00000080,0 4px 12px #0006,inset 0 1px #ffffff14}.action-title{color:hsl(var(--primary));text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:.75rem;margin-bottom:1.25rem;font-size:1.1rem;font-weight:600;display:flex}.lobby-panel.battlegrounds{border-color:hsl(var(--destructive)/.4);background:linear-gradient(145deg,#211a17,#281f1b,#1e1715 50%,#231b1a)}.lobby-panel.battlegrounds:before{background:linear-gradient(90deg,transparent,hsl(var(--destructive)/.3),transparent)}.lobby-panel.battlegrounds:hover{border-color:hsl(var(--destructive)/.6);background:linear-gradient(145deg,#271e1b,#2e241f,#241c19 50%,#29201e)}.battlegrounds-list{flex-grow:1;max-height:none;margin-top:1rem;overflow-y:auto}.battle-item{border:1px solid hsl(var(--primary)/.2);transition:var(--transition-smooth);background:linear-gradient(145deg,#1d1a16,#242019,#1a1714 50%,#1f1b19);border-radius:.75rem;justify-content:space-between;align-items:center;gap:1rem;min-height:44px;margin-bottom:1rem;padding:1.5rem;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 12px #0006,0 2px 6px #0000004d,inset 0 1px #ffffff0d}.battle-item:before{content:"";background:linear-gradient(90deg,transparent,hsl(var(--primary)/.2),transparent);height:1px;position:absolute;top:0;left:0;right:0}.battle-item:hover{border-color:hsl(var(--primary)/.4);background:linear-gradient(145deg,#231f1a,#2a251d,#201c18 50%,#25201d);transform:translateY(-2px);box-shadow:0 8px 20px #00000080,0 4px 12px #0006,inset 0 1px #ffffff14}.battle-icon{background:linear-gradient(145deg,hsl(var(--primary)/.15),hsl(var(--primary)/.08));border:1px solid hsl(var(--primary)/.2);border-radius:.5rem;justify-content:center;align-items:center;width:2rem;height:2rem;margin-right:.75rem;display:inline-flex;box-shadow:0 2px 6px #0003,inset 0 1px #ffffff1a}.battle-icon svg{width:1rem;height:1rem;color:hsl(var(--primary)/.9)}.battle-info{flex:1;align-items:center;gap:.75rem;min-width:0;display:flex;overflow:hidden}.battle-text{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.battle-name{color:hsl(var(--foreground));word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;align-items:center;gap:.5rem;font-weight:600;line-height:1.2;display:flex}.battle-details{color:hsl(var(--muted-foreground));flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.25rem;font-size:.75rem;line-height:1.2;display:flex}.battle-details svg{color:hsl(var(--primary)/.7)}.battle-actions{align-items:center;gap:.75rem;display:flex}.status-badge{text-transform:uppercase;letter-spacing:.1em;border:1px solid #0000;border-radius:9999px;padding:.4rem 1rem;font-size:.625rem;font-weight:700;box-shadow:0 2px 4px #0003,inset 0 1px #fff3}.status-open{color:#bef4be;background:linear-gradient(145deg,#196619,#194d19);border-color:#248f24}.status-playing{color:#f4bebe;background:linear-gradient(145deg,#661919,#4d1919);border-color:#8f2424}.primary-button{background:var(--gradient-button-primary);color:#1d1a16;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;width:100%;transition:var(--transition-smooth);box-shadow:var(--shadow-button);border:none;border-radius:.75rem;justify-content:center;align-items:center;gap:.75rem;margin-top:auto;padding:1rem 2rem;font-size:.875rem;font-weight:700;display:flex;position:relative;overflow:hidden}.primary-button:before{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.primary-button:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 25px #0006,0 4px 12px #0000004d,inset 0 1px #ffffff4d}.primary-button:hover:not(:disabled):before{left:100%}.primary-button:active:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 15px #0000004d,inset 0 1px #fff3}.primary-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.secondary-button{background:var(--gradient-button-secondary);color:hsl(var(--foreground));border:1px solid hsl(var(--primary)/.3);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:var(--transition-smooth);border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;width:-moz-fit-content;width:fit-content;margin:0 auto;padding:.75rem 1.5rem;font-size:.8rem;font-weight:600;display:flex;box-shadow:0 2px 8px #0003,inset 0 1px #ffffff1a}.secondary-button:hover{border-color:hsl(var(--primary)/.5);background:linear-gradient(145deg,#4c3b2e,#5a4530,#46362a);transform:translateY(-1px);box-shadow:0 4px 12px #0000004d,inset 0 1px #ffffff26}.switch-group{justify-content:flex-start;align-items:center;gap:.75rem;height:24px;margin:1rem 0;display:flex}.switch-label{color:hsl(var(--muted-foreground));justify-content:flex-start;align-items:center;gap:.5rem;font-size:.75rem;line-height:1;display:flex}.empty-state{text-align:center;color:hsl(var(--muted-foreground));padding:3rem 1rem}.loading-state{color:hsl(var(--muted-foreground));justify-content:center;align-items:center;gap:.75rem;padding:2rem;display:flex}.responsive-grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}@media (min-width:768px){.md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:1024px){.lg\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:1280px){.xl\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (min-width:1536px){.\\32xl\\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}}.responsive-container{width:100%;margin:0 auto;padding:0 1rem}.max-w-sm{max-width:24rem}.max-w-md{max-width:28rem}.max-w-lg{max-width:32rem}.max-w-xl{max-width:36rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-full{max-width:100%}@container (max-width:768px){.lobby-main{gap:1rem}.action-grid{grid-template-columns:1fr}}@media (max-width:1024px){.lobby-main{grid-template-columns:1fr;gap:2rem;max-width:48rem;padding:1rem}.action-grid{grid-template-columns:1fr;gap:1.5rem}.lobby-title{font-size:2.5rem}.lobby-panel{min-height:auto;padding:1.5rem}.form-container{gap:1rem}.primary-button,.secondary-button{padding:.75rem 1.5rem;font-size:.9rem}}@media (max-width:768px){.lobby-container{padding:1rem}.lobby-main{gap:1.5rem;padding:.5rem}.lobby-title{font-size:2rem}.lobby-panel{padding:1.25rem}.action-grid{grid-template-columns:1fr;gap:1.25rem;margin-top:1.5rem}.action-card{border-radius:8px;min-height:250px;padding:1rem}.battle-name{font-size:.9rem;line-height:1.2}.battle-details{margin-top:.25rem;font-size:.75rem}.battle-info{flex-direction:column;align-items:flex-start;gap:.5rem}.battle-icon{align-self:center}.battle-details{flex-wrap:wrap;gap:.5rem}.battle-item{flex-direction:column;gap:.75rem}.battle-actions{justify-content:space-between;align-self:stretch}.primary-button,.secondary-button{border-radius:6px;justify-content:center;width:100%;padding:.75rem 1rem}.lobby-badges{flex-wrap:wrap;justify-content:center}.panel-header{text-align:center;flex-direction:column;gap:.5rem}}@media (max-width:480px){.lobby-title{font-size:1.75rem;line-height:1.1}.lobby-panel{padding:.75rem}.panel-title{font-size:1.1rem;line-height:1.2}.form-input{padding:.75rem;font-size:1rem}.battle-name{font-size:.85rem;line-height:1.2}.battle-details{font-size:.7rem;line-height:1.2}.lobby-badge{padding:.25rem .5rem;font-size:.75rem;line-height:1.2}.action-card{min-height:220px;padding:.75rem}.action-title{font-size:.9rem;line-height:1.2}.primary-button,.secondary-button{padding:.625rem 1rem;font-size:.8rem;line-height:1.2}}@media (max-width:360px){.lobby-title{font-size:1.5rem;line-height:1.1}.action-card{min-height:200px;padding:.5rem}.battle-name{font-size:.8rem;line-height:1.2}.battle-details{font-size:.65rem;line-height:1.3}.form-input{padding:.65rem;font-size:.9rem}.primary-button,.secondary-button{padding:.5rem .75rem;font-size:.75rem}}.battle-item:focus-within,.primary-button:focus-visible,.secondary-button:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-contrast:high){.lobby-panel{border:2px solid}.battle-item{border:1px solid}.primary-button,.secondary-button{border:2px solid}}.button-base{background:hsl(var(--primary));color:hsl(var(--primary-foreground));cursor:pointer;background:linear-gradient(180deg,hsl(var(--primary)/.95),hsl(var(--primary)/.9));border:1px solid #0000;border-radius:8px;padding:8px 12px;font-weight:600;box-shadow:0 2px #0000000f}.button-base:disabled{opacity:.6;cursor:not-allowed}.button-base:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px #0000001f}.button-base:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px #00000014}.button-base:focus{box-shadow:0 0 0 4px hsl(var(--ring)/.12),0 6px 18px #0000001f;outline:none}.button-ghost{border:1px solid hsl(var(--border));color:hsl(var(--foreground));background:0 0;padding:7px 11px}.button-ghost:hover{background:#ffffff05}.button-secondary{background:linear-gradient(180deg,hsl(var(--muted)/.98),hsl(var(--muted)/.95));border:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));padding:8px 12px}.ui-label{color:hsl(var(--muted-foreground));font-size:13px;display:block}.ui-switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:0 0;border:none;padding:0}.ui-switch .ui-switch-track{background:#0006;border:1px solid #fff3;border-radius:999px;width:44px;height:24px;transition:background .12s,border-color .12s;display:inline-block;position:relative}.ui-switch.on .ui-switch-track{background:hsl(var(--primary));border-color:hsl(var(--primary))}.ui-switch .ui-switch-knob{background:#ffffffe6;border-radius:999px;width:20px;height:20px;transition:transform .16s;position:absolute;top:2px;left:2px;box-shadow:0 2px 6px #0000004d}.ui-switch.on .ui-switch-knob{transform:translate(20px)}.ui-switch:focus{box-shadow:0 0 0 4px hsl(var(--ring)/.12);outline:none}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.waiting-container{background:var(--gradient-background);justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}@keyframes medieval-pulse{0%,to{border-color:hsl(var(--primary)/.4);box-shadow:var(--shadow-card)}50%{border-color:hsl(var(--primary)/.6);box-shadow:var(--shadow-card),0 0 15px hsl(var(--primary)/.3)}}.waiting-panel{background:var(--gradient-card);border:2px solid hsl(var(--primary)/.4);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);text-align:center;border-radius:1.25rem;width:100%;max-width:28rem;padding:2rem;animation:4s ease-in-out infinite medieval-pulse;position:relative;overflow:hidden}.waiting-panel:before{content:"";background:linear-gradient(90deg,transparent,hsl(var(--primary)/.3),transparent);height:1px;position:absolute;top:0;left:0;right:0}.waiting-icon{width:3.5rem;height:3.5rem;color:hsl(var(--primary));filter:drop-shadow(0 0 5px hsl(var(--primary)/.4));stroke-width:2px;margin:0 auto 1.5rem}@keyframes medieval-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes medieval-glow{0%,to{filter:drop-shadow(0 0 5px hsl(var(--primary)/.4))}50%{filter:drop-shadow(0 0 8px hsl(var(--primary)/.7))}}.waiting-icon.animate-spin{animation:1.5s linear infinite medieval-spin,3s ease-in-out infinite medieval-glow!important}@keyframes medieval-shimmer{0%{background-position:-200%}to{background-position:200%}}.waiting-title{-webkit-text-fill-color:transparent;text-shadow:0 2px 4px #0000004d;background:linear-gradient(135deg,#eebd2b,#e6ac1a 33%,#f5d63d,#c9951d 67%,#eebd2b) 0 0/200%;-webkit-background-clip:text;background-clip:text;margin-bottom:1rem;font-family:Cinzel,serif;font-size:1.75rem;font-weight:600;animation:6s linear infinite medieval-shimmer}.waiting-info{color:hsl(var(--foreground));margin-bottom:.5rem;font-size:.95rem}.waiting-info-highlight{color:hsl(var(--primary));font-weight:600}@keyframes message-fade{0%,to{opacity:.6}50%{opacity:1}}.waiting-message{color:hsl(var(--muted-foreground));margin:1.5rem 0;font-size:.875rem;font-style:italic;animation:5s ease-in-out infinite message-fade}.waiting-button{background:var(--gradient-button-secondary);color:hsl(var(--foreground));border:1px solid hsl(var(--primary)/.3);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:var(--transition-smooth);box-shadow:var(--shadow-button);border-radius:.75rem;margin-top:1rem;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600}.waiting-button:hover{border-color:hsl(var(--primary)/.5);background:linear-gradient(145deg,#4c3b2e,#5a4530,#46362a);transform:translateY(-1px);box-shadow:0 4px 12px #0000004d,inset 0 1px #ffffff26}.name-prompt-panel{animation:4s ease-in-out infinite medieval-pulse}.name-input-container{margin:1rem 0 1.5rem}.name-input{width:100%;color:hsl(var(--foreground));background:#0000004d;border:1px solid #ffffff26;border-radius:6px;padding:.875rem 1rem;font-size:.875rem;transition:all .2s}.name-input:focus{border-color:hsl(var(--primary)/.5);box-shadow:0 0 0 2px hsl(var(--primary)/.2);background:#0000004d;outline:none}.name-input::-moz-placeholder{color:#fff6;font-style:italic}.name-input::placeholder{color:#fff6;font-style:italic}.buttons-container{justify-content:center;gap:1rem;display:flex}@keyframes button-pulse{0%,to{box-shadow:var(--shadow-button)}50%{transform:translateY(-1px);box-shadow:0 6px 18px #0000004d,0 3px 8px #0003,inset 0 1px #ffffff4d}}.primary-waiting-button{background:var(--gradient-button-primary);color:#1d1a16;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:var(--transition-smooth);box-shadow:var(--shadow-button);border:none;border-radius:.75rem;padding:.75rem 1.5rem;font-size:.875rem;font-weight:700;animation:3s ease-in-out infinite button-pulse}.primary-waiting-button:hover:not(:disabled){animation:none;transform:translateY(-2px);box-shadow:0 8px 25px #0006,0 4px 12px #0000004d,inset 0 1px #ffffff4d}.primary-waiting-button:disabled{opacity:.5;cursor:not-allowed;animation:none}.wonder-building-overlay{z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000c;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.wonder-building-header{text-align:center;background:#fff;border-radius:10px;margin-bottom:20px;padding:20px;box-shadow:0 4px 20px #0000004d}.wonder-building-header h3{color:#333;margin:0 0 15px;font-size:18px}.cancel-wonder-building{color:#fff;cursor:pointer;background:#dc3545;border:none;border-radius:5px;padding:10px 20px;font-size:14px;transition:background-color .2s}.cancel-wonder-building:hover{background:#c82333}.wonder-building-grid{background:#fff;border-radius:10px;width:90%;max-width:600px;padding:20px;box-shadow:0 4px 20px #0000004d}.wonder-building-grid .player-wonders-container{margin:0}.wonder-building-grid .player-wonders{gap:15px}.wonder-building-mode .wonder-container.highlighted{animation:1s infinite wonder-pulse-strong;box-shadow:0 0 0 4px red,0 4px 20px #ff000080}@keyframes wonder-pulse-strong{0%,to{box-shadow:0 0 0 4px red,0 4px 20px #ff000080}50%{box-shadow:0 0 0 8px #ff0000b3,0 4px 20px #f00c}}.wonder-building-grid .wonder-container.clickable:hover{transform:scale(1.1);box-shadow:0 0 0 4px #f44,0 6px 25px #00000080}.action-button.wonder.active{color:#fff;background:#ff6b35;box-shadow:0 0 0 2px #ff6b35}.action-button.wonder.active:hover{background:#e55a2b}.end-game-container{z-index:100;box-sizing:border-box;background:#000c;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:20px;display:flex;position:relative;margin:var(--gutter,20px)!important}.end-game-header{text-align:center;margin-bottom:30px}.victory-message{color:#d4a537;text-shadow:2px 2px 4px #000c;margin-bottom:10px;font-size:36px;font-weight:700}.victory-explanation{color:#fff;margin:0;font-size:18px}.end-game-table-container{background:#fffffff2;border-radius:12px;max-width:900px;padding:20px;overflow-x:auto;box-shadow:0 8px 32px #0000004d}.end-game-table{border-collapse:collapse;border-style:hidden;width:100%;font-family:Arial,sans-serif}.end-game-table th,.end-game-table td{text-align:center;white-space:nowrap;text-overflow:ellipsis;border:3px solid #fff9;min-width:50px;padding:8px 4px;font-size:20px;font-weight:700;overflow:hidden}.end-game-table th{background:#d4a5371a;font-size:16px}.player-name-header{min-width:100px;max-width:120px}.category-header{width:60px;padding:5px 2px}.total-header{background:#d4a5374d;font-weight:900}.victory-condition-header{width:40px;font-size:20px}.end_game_player_name{text-shadow:1px 1px 1px #fff;text-overflow:ellipsis;max-width:120px;font-weight:700;overflow:hidden;font-size:16px!important}.score-cell{font-family:Arial,sans-serif;font-size:24px;font-weight:800}.total-cell{background:#d4a53733;font-size:28px;font-weight:900}.victory-condition-cell{padding:8px}.victory-checkbox{cursor:default;width:20px;height:20px}.winner-row{background:#00ff001a;box-shadow:inset 0 0 0 2px #00ff004d}.winner-row .end_game_player_name{color:#060;font-weight:900}.loser-row{opacity:.7}.tie-row{background:#ffff001a;box-shadow:inset 0 0 0 2px #ffff004d}.end_game_icon{display:inline-block}.end_game_card{background-image:url(../assets/combined/sprites.webp);width:29px;height:44px;margin:0 auto;display:block;background-color:initial!important}.end_game_blue{color:#0074bcb3;text-shadow:0 0 #000000b3;background-color:#0074bc33}.end_game_blue .end_game_card{background-position:93.3921% .471698%;background-size:882.759%}.end_game_green{color:#008d48b3;text-shadow:0 0 #000000b3;background-color:#008d4833}.end_game_green .end_game_card{background-position:80.1762% 42.9245%;background-size:882.759%}.end_game_yellow{color:#fccc14b3;text-shadow:0 0 #000000b3;background-color:#fccc1433}.end_game_yellow .end_game_card{background-position:60.3524% .471698%;background-size:882.759%}.end_game_purple{color:#7a5b92b3;text-shadow:0 0 #000000b3;background-color:#7a5b9233}.end_game_purple .end_game_card{background-position:93.3921% 42.9245%;background-size:882.759%}.end_game_wonders{color:#f7c161b3;text-shadow:0 0 #000000b3;background-color:#f7c16133}.end_game_wonders .end_game_card{background-image:url(../assets/combined/sprites.webp);background-position:82.5581% 76.1261%;background-size:624.39%;width:53px;height:44px}.end_game_progresstokens{color:#1b6332b3;text-shadow:0 0 #000000b3;background-color:#1b633233}.end_game_progresstokens .end_game_card{background-position:.471698% 79.717%;background-size:581.818%;width:44px;height:44px}.end_game_coins{color:#e0bd0eb3;text-shadow:0 0 #000000b3;background-color:#e0bd0e33}.end_game_coins .end_game_card{background-image:url(../assets/combined/sprites.webp);background-position:40.4867% 94.6903%;background-size:853.333%;width:44px;height:44px}.end_game_military{color:#c21f2cb3;text-shadow:0 0 #000000b3;background-color:#c21f2c33}.end_game_military .end_game_card{background-position:42.2274% 79.3427%;background-size:632.099%;width:44px;height:44px}.end-game-actions{text-align:center;margin-top:30px}.return-to-lobby-btn{color:#fff;cursor:pointer;background-color:#007bff;border:none;border-radius:8px;padding:15px 30px;font-size:18px;font-weight:700;transition:background-color .3s}.return-to-lobby-btn:hover{background-color:#0056b3}@media (max-width:768px){.end-game-table-container{margin:0 10px;padding:10px}.end-game-table th,.end-game-table td{min-width:40px;padding:6px 2px;font-size:16px}.score-cell{font-size:18px}.total-cell{font-size:20px}.end_game_card{width:20px;height:30px}.victory-message{font-size:28px}}*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}@layer base{:root{--background:20 15% 6%;--foreground:45 15% 85%;--card:30 15% 9%;--card-foreground:45 15% 85%;--surface:25 20% 12%;--surface-foreground:45 15% 85%;--panel:30 15% 8%;--panel-foreground:45 15% 85%;--primary:45 85% 50%;--primary-foreground:30 15% 10%;--secondary:25 25% 20%;--secondary-foreground:45 15% 85%;--muted:25 20% 15%;--muted-foreground:45 10% 65%;--accent:15 40% 35%;--accent-foreground:45 15% 85%;--destructive:0 70% 50%;--destructive-foreground:45 15% 85%;--border:45 25% 25%;--input:30 15% 12%;--ring:45 85% 50%;--medieval-gold:45 85% 50%;--medieval-accent:15 40% 35%;--medieval-stone:25 20% 18%;--medieval-parchment:45 35% 75%;--medieval-science:210 50% 40%;--medieval-science-foreground:45 15% 85%;--gold:45 85% 50%;--beige:37 35% 75%;--military:0 70% 50%;--progress:210 50% 40%;--progress-foreground:45 15% 85%;--card-brown:30 40% 35%;--card-grey:0 0% 45%;--card-yellow:50 80% 55%;--card-red:0 70% 50%;--card-green:120 50% 40%;--card-blue:210 60% 45%;--card-purple:270 50% 45%;--radius:.75rem;--gradient-primary:linear-gradient(135deg,hsl(var(--primary)/.15)0%,hsl(var(--primary)/.05)100%);--gradient-secondary:linear-gradient(135deg,hsl(var(--accent)/.8)0%,hsl(var(--destructive)/.7)100%);--gradient-background:linear-gradient(135deg,#0c0a09 0%,#15110e 25%,#120f0d 50%,#181410 75%,#0f0c0b 100%);--gradient-card:linear-gradient(145deg,#211c17 0%,#28221b 25%,#1e1a15 50%,#231e1a 100%);--gradient-card-hover:linear-gradient(145deg,#27211b 0%,#2e281f 25%,#241f19 50%,#29231e 100%);--gradient-button-primary:linear-gradient(145deg,#eebd2b 0%,#e6ac1a 25%,#e2ae12 75%,#c9951d 100%);--gradient-button-secondary:linear-gradient(145deg,#46362a 0%,#53402d 50%,#403126 100%);--shadow-medieval:0 8px 32px #0009,0 4px 16px #0006,0 2px 8px #0000004d,inset 0 1px 0 #ffffff1a;--shadow-card:0 6px 24px #00000080,0 3px 12px #0000004d,inset 0 1px 0 #ffffff14;--shadow-button:0 4px 16px #0000004d,0 2px 8px #0003,inset 0 1px 0 #fff3;--shadow-glow:0 0 24px hsl(var(--primary)/.3);--transition-smooth:all .25s cubic-bezier(.4,0,.2,1);--transition-bounce:all .3s cubic-bezier(.68,-.55,.265,1.55)}*{border-color:hsl(var(--border));box-sizing:border-box}body{background:var(--gradient-background);color:hsl(var(--foreground));font-feature-settings:"liga" 1,"kern" 1;-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,system-ui,sans-serif}h1,h2,h3,h4,h5,h6,.font-display{letter-spacing:.5px;font-family:Cinzel,serif}.glass-panel{background:var(--gradient-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid hsl(var(--primary)/.3);box-shadow:var(--shadow-medieval);border-radius:var(--radius)}.gold-border{border:2px solid hsl(var(--primary)/.6);box-shadow:0 0 0 1px hsl(var(--primary)/.2),inset 0 1px hsl(var(--primary)/.1),0 8px 32px -8px #0009}.section-title{color:hsl(var(--primary));letter-spacing:.05em;align-items:center;gap:.75rem;margin-bottom:1.5rem;font-size:1.25rem;font-weight:600;line-height:1.75rem;display:flex}.divider-line{background:linear-gradient(90deg,transparent,hsl(var(--primary)/.6),transparent);height:1px;margin:1.5rem 0}.styled-scrollbar{scrollbar-width:thin;scrollbar-color:hsl(var(--primary)/.4)hsl(var(--muted))}.styled-scrollbar::-webkit-scrollbar{width:8px}.styled-scrollbar::-webkit-scrollbar-track{background:hsl(var(--muted));border-radius:4px}.styled-scrollbar::-webkit-scrollbar-thumb{background:hsl(var(--primary)/.4);border-radius:4px;-webkit-transition:background .3s;transition:background .3s}.styled-scrollbar::-webkit-scrollbar-thumb:hover{background:hsl(var(--primary)/.6)}}.progress-token-selection-row{background:hsl(var(--card));border:2px solid hsl(var(--border));border-radius:var(--radius);width:100%;box-shadow:0 4px 16px hsl(var(--background)/.2);margin:1rem 0;padding:1rem;position:relative}.progress-token-selection-container{justify-content:center;align-items:center;width:100%;display:flex}.selection-message{text-align:center;color:hsl(var(--muted-foreground));font-size:1rem;font-style:italic}.progress-token-options{justify-content:center;align-items:center;gap:1rem;display:flex}.progress-token-option{border:2px solid hsl(var(--border));background:hsl(var(--surface));cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;transition:all .2s;display:flex;position:relative;overflow:hidden}.progress-token-option.selectable:hover{border-color:hsl(var(--primary));background:hsl(var(--surface)/.8);box-shadow:0 4px 20px hsl(var(--primary)/.3);transform:scale(1.1)}.progress-token-option.disabled{opacity:.6;cursor:not-allowed}.progress-token-option.unknown{background:hsl(var(--muted));border-color:hsl(var(--border)/.5);color:hsl(var(--muted-foreground));font-size:.7rem}.progress-token-image{-o-object-fit:cover;object-fit:cover;border-radius:50%;width:100%;height:100%}.token-placeholder{color:hsl(var(--muted-foreground));text-align:center;padding:.2rem;font-size:.7rem}.loading-overlay{background:hsl(var(--background)/.8);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:0;right:0;bottom:0;left:0}.loading-spinner{border:2px solid hsl(var(--border));border-top:2px solid hsl(var(--primary));border-radius:50%;width:1.5rem;height:1.5rem;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
