.login-page{display:flex;justify-content:center;align-items:center;min-height:100vh;width:100%;background-image:url(https://i.imgur.com/s2LDGi5.jpeg);background-size:cover;background-position:center;padding:20px;box-sizing:border-box}.login-card{width:100%;max-width:400px;background:#0c0620e6;border:1px solid rgba(200,160,255,.2);border-radius:16px;padding:32px 28px;box-shadow:0 8px 48px #000000b3,inset 0 0 40px #5028a00f;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.login-brand{text-align:center;margin-bottom:6px}.login-mascot{width:80px;height:80px;object-fit:contain;filter:drop-shadow(0 0 14px rgba(160,100,255,.7));margin-bottom:8px}.login-game-title{font-size:1.8rem;font-weight:900;color:#f0c040;margin:0 0 4px;letter-spacing:.03em;text-shadow:0 0 20px rgba(240,192,64,.45)}.login-tagline{font-size:.78rem;color:#ffffff73;font-style:italic;margin:0}.login-divider{height:1px;background:linear-gradient(to right,transparent,rgba(200,160,255,.3),transparent);margin:18px 0}.login-heading{font-size:1rem;font-weight:700;color:#fffc;margin:0 0 16px;text-align:center;text-transform:uppercase;letter-spacing:.08em}.login-form{display:flex;flex-direction:column;gap:12px}.login-field{display:flex;flex-direction:column;gap:5px}.login-field label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#ffffff80}.login-field input{background:#ffffff0f;border:1px solid rgba(200,160,255,.2);border-radius:8px;padding:10px 14px;font-size:.95rem;color:#fff;outline:none;transition:border-color .15s,background .15s;width:100%;box-sizing:border-box}.login-field input::placeholder{color:#fff3}.login-field input:focus{border-color:#a078ff99;background:#ffffff17}.login-error{font-size:.8rem;color:#ff7070;background:#ff50501a;border:1px solid rgba(255,80,80,.25);border-radius:6px;padding:8px 12px;margin:0}.login-submit-btn{margin-top:4px;padding:12px;font-size:1rem;font-weight:800;border-radius:10px;border:2px solid #f0c040;background:linear-gradient(135deg,#6c3fa8,#3d1f6e);color:#f0c040;cursor:pointer;letter-spacing:.04em;transition:all .2s;box-shadow:0 0 20px #f0c04026,0 4px 14px #0006}.login-submit-btn:hover:not(:disabled){background:linear-gradient(135deg,#7a4fc0,#4a2888);box-shadow:0 0 28px #f0c0404d,0 6px 18px #0006;transform:translateY(-1px)}.login-submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-toggle-btn{display:block;width:100%;margin-top:14px;background:transparent;border:none;color:#a082ffb3;font-size:.8rem;cursor:pointer;text-align:center;transition:color .15s;padding:4px}.login-toggle-btn:hover{color:#b496ff}.wizard-card{border:1px solid #bbb;border-radius:8px;width:144px;aspect-ratio:2 / 3;cursor:pointer;position:relative;perspective:700px;transition:box-shadow .15s}.wizard-card:hover{box-shadow:0 0 0 2px #6c3fa8}.wizard-card.selected{box-shadow:0 0 0 3px #f0c040}.wizard-card .card-front{background-image:linear-gradient(160deg,#faf6d9,#cac0c8)}.wizard-image{width:100%;flex:1;object-fit:cover;border-radius:4px}.wizard-deck{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:6px}.tower-card{border:1px solid #bbb;border-radius:8px;width:144px;aspect-ratio:3 / 5;cursor:pointer;position:relative;perspective:700px;transition:box-shadow .15s}.tower-card:hover{box-shadow:0 0 0 2px #3a5fa8}.tower-card.selected{box-shadow:0 0 0 3px #f0c040}.tower-card .card-front{background-image:linear-gradient(160deg,#eef0f8,#c8cfe0)}.tower-image{width:100%;flex:1;object-fit:cover;border-radius:4px}.tower-deck{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:6px}.familiar-card{border:1px solid #bbb;border-radius:8px;width:144px;aspect-ratio:3 / 5;cursor:pointer;position:relative;perspective:700px;transition:box-shadow .15s}.familiar-card:hover{box-shadow:0 0 0 2px #a87c32}.familiar-card.selected{box-shadow:0 0 0 3px #f0c040}.familiar-card .card-front{background-image:linear-gradient(160deg,#f8f4e0,#d4c88a)}.familiar-image{width:100%;flex:1;object-fit:cover;border-radius:4px}.familiar-deck{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:6px}.familiar-actions{display:flex;flex-direction:column;align-items:center}.familiar-cards{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-bottom:12px}.familiar-actions-buttons{display:flex;justify-content:space-around;flex-wrap:wrap;gap:6px;margin-bottom:12px}.familiar-action-buttons{margin-top:12px;width:100%}.familiar-action-buttons button{margin:0}.familiar-action-button{min-height:60px}.familiar-action-button:hover{background-color:#005f73}.spell-card{border:1px solid #bbb;border-radius:8px;width:144px;aspect-ratio:2 / 3;cursor:pointer;position:relative;perspective:700px;transition:box-shadow .15s}.spell-card:hover{box-shadow:0 0 0 2px #8e44ad}.spell-card.selected{box-shadow:0 0 0 3px #f0c040}.spell-card .card-front{background-image:linear-gradient(160deg,#f0e8f8,#c4aed8);justify-content:center;gap:8px}.spell-school-img{width:64px;height:64px;filter:drop-shadow(0 2px 8px rgba(100,0,180,.4))}.spell-name-front{font-size:.7rem;font-weight:700;text-align:center;color:#2d0a5a;line-height:1.2;padding:0 4px}.spell-deck{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:6px}.player-actions{--parchment-light: #f8eed0;--parchment-mid: #ead8aa;--parchment-dark: #c59f62;--ink: #4a2c16;--ink-soft: #735337;--wax: #7c2f2b;--forest: #295c4a;--gold: #ba7f2a;text-align:left;padding:14px;border-radius:18px;background:linear-gradient(145deg,#fff8e7f2,#f8edd6e6),radial-gradient(circle at top left,rgba(255,255,255,.7),transparent 42%);border:1px solid rgba(93,66,41,.18);box-shadow:0 18px 40px #31201124}.turn-status-card{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.status-pill{padding:6px 12px;border-radius:999px;background:#5c3f2614;border:1px solid rgba(92,63,38,.1);color:#5d4229;font-size:.82rem;font-weight:700}.action-menu-title{margin:4px 0 14px;color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:1rem;letter-spacing:.12em;text-align:center;text-transform:uppercase;opacity:.65}.action-menu{display:grid;grid-template-columns:repeat(2,minmax(0,130px));gap:6px;justify-content:start;width:fit-content;max-width:366px;margin:0 auto}.action-menu-btn{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;min-width:0;width:100%;border:1px solid rgba(93,66,41,.14);background:linear-gradient(145deg,#fffcf5e6,#f0e0beb3);color:var(--ink);cursor:pointer;text-align:left;font-family:inherit;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.action-menu-btn:hover{transform:translateY(-2px);border-color:#5d42294d;box-shadow:0 8px 20px #3c28121f;background:linear-gradient(145deg,#fffdf8,#f3e4c4d9)}.action-menu-icon{font-size:1.15rem;flex-shrink:0;line-height:1}.action-menu-body{display:flex;flex-direction:column;gap:2px}.action-menu-label{font-size:.78rem;font-weight:800;color:var(--ink);font-family:Georgia,Times New Roman,serif}.action-menu-hint{font-size:.64rem;line-height:1.2}.action-done{align-items:center;gap:12px;text-align:center}.action-done-seal{font-size:2.4rem;color:var(--wax);opacity:.55;letter-spacing:.4em}.action-done-msg{margin:0;color:var(--ink);font-weight:700;font-family:Georgia,Times New Roman,serif;font-size:1rem;line-height:1.5}.action-panel,.selection-summary,.familiar-subpanel{display:flex;flex-direction:column;gap:16px}.player-actions{width:100%;max-width:300px}.action-panel{position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);z-index:300;width:min(92vw,1000px);max-height:min(86vh,880px);overflow:auto;padding:0 0 36px;border-radius:20px;color:var(--ink);background:radial-gradient(circle at 10% 8%,rgba(255,255,255,.68),transparent 18%),radial-gradient(circle at 88% 92%,rgba(255,240,200,.3),transparent 22%),repeating-linear-gradient(90deg,#7c562706 0,#7c562706 2px,#0000 2px,#0000 12px),linear-gradient(175deg,#fdf6e0fc,#f4e5c0fa 55%,#eedaa8f7);border:1px solid rgba(111,74,31,.22);animation:scroll-unfurl .36s ease-out;transform-origin:top center}.player-actions .action-panel:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background:#0e080599;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.player-actions .action-panel:after{content:"";position:absolute;left:12px;right:12px;top:-16px;height:18px;border-radius:999px;background:linear-gradient(180deg,#f0dba8,#c49840 40%,#9a7428,#b89040)}.action-panel-header{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:16px;padding:28px 28px 20px;border-bottom:1px solid rgba(93,66,41,.12);position:relative;background:linear-gradient(180deg,rgba(255,250,232,.6),transparent)}.action-panel-header:after{content:"— ✦ —";position:absolute;left:50%;bottom:-12px;transform:translate(-50%);font-size:.75rem;letter-spacing:.3rem;color:#7c2f2b8c;background:linear-gradient(180deg,#fbf2d2,#f5e4b8);padding:0 14px}.action-panel-header h3{margin:0 0 6px;font-family:Georgia,Times New Roman,serif;font-size:1.45rem;font-weight:700;color:var(--wax);letter-spacing:.02em;line-height:1.2}.player-actions h3{margin:0;color:var(--ink)}.action-hint{margin:0;color:var(--ink-soft);font-size:.84rem;line-height:1.5;font-style:italic;max-width:56ch}.offer-section{display:flex;flex-direction:column;gap:10px;padding:0 28px}.offer-section-label{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:#5d422966;text-align:center}.resource-cards,.wizards-on-offer,.towers-on-offer,.familiar-cards,.spells-on-offer{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;padding:12px 28px 0}.action-layout{display:grid;gap:18px;padding:0 28px}.action-layout.two-column{grid-template-columns:minmax(0,1.5fr) minmax(260px,.9fr);align-items:start}.action-sidebar,.selection-summary{padding:18px 20px;border-radius:14px;background:radial-gradient(ellipse at top left,rgba(255,255,255,.5),transparent 34%),linear-gradient(160deg,#fffbeee6,#eddaafeb);border:1px solid rgba(123,89,44,.2);box-shadow:inset 0 1px #ffffffa6,inset 0 -1px #8b612a1a,0 8px 20px #583c1b17}.player-actions .action-panel>.selection-summary{margin:0 28px}.selection-summary h4{margin:0 0 10px;font-size:.78rem;font-family:Georgia,Times New Roman,serif;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--wax);padding-bottom:8px;border-bottom:1px solid rgba(124,47,43,.15)}.selection-summary p{margin:0 0 6px;color:var(--ink-soft);font-size:.88rem;line-height:1.45}.selection-summary p:last-of-type{margin-bottom:0}.gather-card-wrapper{cursor:pointer;padding:8px;border-radius:18px;border:2px solid transparent;background:transparent;transition:transform .16s ease,background .16s ease,border-color .16s ease}.gather-card-wrapper:hover{transform:translateY(-3px);background:#1b77580f;border-color:#1b77582e}.gather-card-wrapper.selected{background:linear-gradient(145deg,#157b591a,#f0c26124);border-color:#b47b2280;box-shadow:0 12px 26px #573e1d1f,0 0 0 2px #ba7f2a26}.gather-card-wrapper .resource-card{margin:0}.player-actions .resource-card{width:180px;padding:12px;border-radius:16px;border:1px solid rgba(93,66,41,.18);background:linear-gradient(180deg,#fffcf5fa,#f9f1e1fa),repeating-linear-gradient(90deg,rgba(99,67,29,.02) 0 2px,transparent 2px 10px)}.player-actions .resource-card.selected{border-color:#b57c2480;background:linear-gradient(180deg,#fffdf5,#f7eccafa)}.player-actions .gather-section b,.player-actions .increase-section b{border-radius:999px;padding:5px 10px}.player-actions .resource{min-width:36px}.back-btn,.confirm-btn,.end-turn-btn,.player-action-button,.convert-btn,.payment-toggle button,.inline-controls button,.familiar-action-button,.familiar-subpanel-actions button{border:none;border-radius:999px;cursor:pointer;font-family:Georgia,Times New Roman,serif;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.back-btn{padding:8px 16px;font-size:.82rem;font-weight:600;background:#744d2a1a;color:var(--ink);border:1px solid rgba(101,68,35,.18)!important;align-self:flex-start;white-space:nowrap}.back-btn:hover{background:#744d2a2e;transform:translate(-1px)}.confirm-btn,.end-turn-btn{padding:13px 20px;font-size:.95rem;font-weight:700;letter-spacing:.04em;background:linear-gradient(135deg,#9a5624,#c78234);color:#fff8e8;box-shadow:0 4px 14px #9756244d;width:100%}.confirm-btn:hover,.end-turn-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #97562466;background:linear-gradient(135deg,#ab612a,#d48e40)}.player-action-button,.convert-btn,.payment-toggle button,.inline-controls button,.familiar-action-button,.familiar-subpanel-actions button{background:linear-gradient(135deg,#2f6b55,#1e4e4b);color:#fff7e8}.player-action-button:hover,.convert-btn:hover,.payment-toggle button:hover,.inline-controls button:hover,.familiar-action-button:hover,.familiar-subpanel-actions button:hover{transform:translateY(-1px);box-shadow:0 8px 18px #11525838}.player-action-button,.familiar-action-button{padding:11px 16px;font-size:.95rem;font-weight:700}.convert-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.convert-btn{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:104px;padding:14px;border-radius:14px;font-size:.88rem}.convert-btn.selected,.payment-toggle button.selected{background:linear-gradient(135deg,#9a5624,#c78234);box-shadow:0 0 0 2px #c8823266,0 6px 16px #97562440}.convert-btn:disabled{opacity:.35;cursor:not-allowed;box-shadow:none;transform:none}.convert-btn-name{font-size:.95rem;font-weight:700}.convert-btn-have,.convert-btn-rate,.status-note{color:#fff7e8d1;font-size:.78rem}.convert-qty-row,.inline-controls,.payment-toggle,.familiar-subpanel-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.payment-toggle{width:100%}.payment-toggle button{flex:1 1 200px;padding:12px 14px;border-radius:12px;text-align:center}.convert-qty-row input,.inline-controls input{width:88px}.player-actions input{padding:9px 12px;border-radius:12px;border:1px solid rgba(88,64,42,.25);background:#fffffff0;color:#2f2013;font-family:inherit}.mana-preview{font-family:Georgia,Times New Roman,serif;font-size:1.4rem;font-weight:800;color:var(--wax);text-align:center;padding:8px 0 4px;letter-spacing:.02em}.checkbox-row,.familiar-spell-option{display:flex;align-items:center;gap:10px}.checkbox-row{padding:10px 14px;border-radius:12px;background:#6c52360f;border:1px solid rgba(108,82,54,.1);font-size:.85rem;color:var(--ink-soft);cursor:pointer}.familiar-spell-list{display:flex;flex-direction:column;gap:8px}.familiar-actions-container{padding:0 28px;display:flex;flex-direction:column;gap:14px}.familiar-action-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.familiar-subpanel{padding:16px 20px;border-radius:16px;background:radial-gradient(circle at top left,rgba(255,255,255,.42),transparent 24%),linear-gradient(180deg,#fffbf2bf,#e9dcbae0);border:1px solid rgba(93,66,41,.14);margin:0 28px}.familiar-spell-option{padding:10px 12px;border-radius:12px;background:#ffffff9e;border:1px solid rgba(93,66,41,.1);font-size:.88rem;color:var(--ink-soft);cursor:pointer}@keyframes scroll-unfurl{0%{opacity:0;transform:translate(-50%,-53%) scaleY(.7) scaleX(.96);filter:saturate(.8) blur(1px)}55%{opacity:1;transform:translate(-50%,-50%) scaleY(1.03) scaleX(1);filter:saturate(1) blur(0px)}to{opacity:1;transform:translate(-50%,-50%) scaleY(1) scaleX(1);filter:saturate(1) blur(0px)}}@media (max-width: 920px){.action-layout.two-column{grid-template-columns:1fr}.player-actions .action-panel{width:min(96vw,740px)}.action-panel-header,.action-layout,.resource-cards,.wizards-on-offer,.towers-on-offer,.familiar-cards,.spells-on-offer,.familiar-actions-container{padding-left:18px;padding-right:18px}.player-actions .action-panel>.selection-summary,.familiar-subpanel{margin-left:18px;margin-right:18px}}@media (max-width: 640px){.player-actions{padding:12px}.player-actions .action-panel{width:96vw;max-height:90vh;border-radius:16px;padding-bottom:24px}.action-panel-header{grid-template-columns:1fr;gap:10px;padding:20px 16px 16px}.action-layout,.resource-cards,.wizards-on-offer,.towers-on-offer,.familiar-cards,.spells-on-offer,.familiar-actions-container{padding-left:16px;padding-right:16px}.player-actions .action-panel>.selection-summary,.familiar-subpanel{margin-left:16px;margin-right:16px}.convert-grid{grid-template-columns:1fr 1fr}.resource-cards,.wizards-on-offer,.towers-on-offer,.familiar-cards,.spells-on-offer{justify-content:flex-start}}.dungeon-container{background-color:#000c;top:0;width:100%;height:100vh;position:fixed}.dungeon-modal{position:fixed;top:15%;left:15%;width:70%;height:70%;background-color:#000;display:flex;justify-content:center;align-items:center;z-index:1000;border-radius:8px}.dungeon-content{background-image:url(https://i.imgur.com/979JTqn.png);background-position:center;background-repeat:no-repeat;background-size:fit;padding:20px;color:#fff;width:100%;height:100%;overflow-y:auto;text-align:center}.dungeon-cards{display:flex;flex-wrap:wrap;justify-content:center;margin-top:20px}.dungeon-card{height:fit-content;width:100px;margin:10px;text-align:center;background-color:#000c;border-radius:8px;box-shadow:0 0 10px #00000080}.dungeon-card img{width:100%;border-radius:5px;box-shadow:0 0 10px #00000080}.error-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000}.error-modal{background-color:#fff;border-radius:10px;padding:20px;text-align:center;position:relative;width:300px}.error-modal img{width:100px;margin-bottom:10px}.close-button{position:absolute;top:10px;right:10px;background:none;border:none;font-size:20px;cursor:pointer}.ok-button{display:flex;justify-content:center;align-items:center;background-color:red;color:#fff}.game-board{display:flex;flex-direction:column;height:100dvh;overflow:hidden;background-image:url(https://i.imgur.com/6kHA8Dd.png);background-size:cover;background-attachment:fixed}.resource-tracks{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px;padding:6px 16px;background:#1e1040e0;border-bottom:1px solid rgba(255,255,255,.12)}.resource-track{display:flex;align-items:center;gap:5px;padding:3px 8px;background:#ffffff1a;border-radius:20px;color:#fff;font-size:.8rem;white-space:nowrap}.resource-icon{width:20px;height:20px;flex-shrink:0}.card-areas{display:flex;flex-direction:row;justify-content:space-evenly;gap:0;background:#140a2dbf;border-bottom:2px solid rgba(255,255,255,.1);flex-shrink:0}.left-board,.mid-left-board,.mid-right-board,.right-board{display:contents;display:flex;flex-direction:column}.tower-offer,.wizard-offer,.familiar-offer{display:flex;flex-direction:column;align-items:center;flex:1;min-width:100px;padding:1px;border-right:1px solid rgba(255,255,255,.08)}.spell-offer{display:flex;flex-direction:column;align-items:center;flex:1.6;min-width:360px;padding:6px;border-right:none}.tower-offer:last-child,.spell-offer{border-right:none}.tower-offer h3,.wizard-offer h3,.familiar-offer h3,.spell-offer h3,.achievements h3{font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;color:#ffffff8c;margin:2px 0 4px;text-align:center}.face-down-card{display:flex;justify-content:center;align-items:center}.face-down-card-image{width:68px;height:auto;border-radius:6px;box-shadow:0 2px 8px #00000080}.wizard-deck,.tower-deck,.familiar-deck,.spell-deck{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:4px 14px;width:100%;padding:2px 0}.tower-offer .tower-card,.wizard-offer .wizard-card,.familiar-offer .familiar-card{width:92px;padding:5px;margin:0}.spell-offer .spell-deck{display:grid;grid-template-columns:repeat(2,120px);justify-content:center;gap:20px 30px}.spell-offer .spell-card{width:120px;padding:6px;margin:0}.all-player-areas{flex:1;padding:0 12px 8px;display:flex;flex-direction:column}.player-area{border:1px solid #ccc;padding:12px 16px;margin:10px 0;border-radius:10px}.player-resources{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0}.player-resources .resource-track{background:#00000012;color:#1a1a1a;border:1px solid rgba(0,0,0,.12)}.player-cards{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:6px;align-items:flex-start}.action-buttons{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-start}.action-buttons button{flex:1;min-width:110px;padding:8px 10px;font-size:.82rem}.resource-card{border:1px solid #bbb;border-radius:8px;width:130px;padding:8px;cursor:pointer;display:flex;flex-direction:column;background-color:#f7f4ee;transition:border-color .15s,background .15s}.resource-card.selected{border-color:#4caf50;background-color:#e8f8ee}.gather-section,.increase-section{margin-bottom:6px}.gather-section b,.increase-section b{display:block;font-size:.7rem;text-align:center;padding:2px 4px;border-radius:4px;margin-bottom:4px}.gather-section b{background:#c0392b;color:#fff}.increase-section b{background:#2980b9;color:#fff}.resources{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;padding:3px 0}.resource{display:flex;flex-direction:column;align-items:center;cursor:pointer}.resource img{width:22px;height:22px}.resource span{font-size:.72rem;margin-top:2px}.resource.selected{outline:2px solid #4caf50;border-radius:50%}.card-area{display:flex;flex-direction:column;min-width:80px}.card-area h2{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;margin:0 0 3px;color:#444}.cards{display:flex;flex-direction:row;flex-wrap:wrap;gap:4px}.card{border:1px solid #ccc;padding:5px;width:80px;background:#ffffffe6;box-shadow:0 1px 3px #00000026;border-radius:6px;display:flex;flex-direction:column;align-items:center;gap:2px;color:#1a1a1a;font-size:.7rem}.card b{font-size:.7rem;text-align:center}.card p{font-size:.65rem;margin:0;line-height:1.2;text-align:center}.card-image{width:70px;height:auto;border-radius:4px}.card-power-image{width:16px;height:16px}.turn-banner{width:100%;display:flex;align-items:center;gap:8px;padding:5px 10px;background:#1b1031d1;color:#fff;flex-wrap:nowrap;box-sizing:border-box;border-bottom:1px solid rgba(255,255,255,.08);min-height:36px;overflow:hidden}.turn-label{font-size:.7rem;opacity:.72;white-space:nowrap}.turn-player{font-size:.8rem;font-weight:700;white-space:nowrap}.turn-vp-scores{display:flex;gap:4px;flex-wrap:nowrap;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}.turn-vp-scores::-webkit-scrollbar{display:none}.vp-chip{background:#ffffff1f;padding:2px 7px;border-radius:999px;font-size:.68rem;white-space:nowrap;flex-shrink:0}.vp-chip.active{background:#f0c040;color:#222;font-weight:700}.end-turn-banner-btn{background:#e67e22;color:#fff;border:none;padding:5px 10px;border-radius:999px;font-weight:700;font-size:.72rem;white-space:nowrap;cursor:pointer}.end-turn-banner-btn:hover{background:#cf6d17}.track-label{font-size:.8rem;font-weight:700;opacity:.7;width:100%;text-align:center;margin-bottom:-6px}.all-player-areas{display:flex;justify-content:center;max-width:100vw;min-width:98vw}.active-player{border:2px solid #f0c040;background:#fffffff2;border-radius:10px;margin:8px 12px;padding:12px 16px;color:#1a1a1a}.inactive-player{border:1px solid #bbb;background:#ffffffd1;border-radius:10px;margin:4px 12px;padding:8px 12px;color:#1a1a1a}.player-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.player-header h2{margin:0;color:#1a1a1a;font-size:1rem}.player-vp{font-size:1.2rem;font-weight:700;background:#f0c040;color:#222;padding:4px 12px;border-radius:12px}.your-turn-badge{display:inline-block;background:#27ae60;color:#fff;font-size:.7rem;padding:2px 8px;border-radius:10px;margin-left:8px;vertical-align:middle}.action-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:300;background:#fff;color:#1a1a1a;border:1px solid #bbb;border-radius:12px;padding:18px 20px;box-shadow:0 8px 40px #00000073;width:90vw;max-width:660px}.action-panel:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:-1;border-radius:0}.action-panel-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.action-panel-header h3{margin:0}.back-btn{background:transparent;border:1px solid #999;border-radius:6px;padding:4px 10px;cursor:pointer;font-size:.85rem}.action-hint{font-size:.8rem;color:#444;margin:0 0 10px}.wizards-on-offer,.towers-on-offer,.familiar-cards,.spells-on-offer{display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:center;margin:8px 0}.carry-limit{font-size:.8rem;color:#444;font-weight:600;text-align:right;padding:2px 6px}.confirm-btn{margin-top:10px;background:#27ae60;color:#fff;border:none;padding:8px 20px;border-radius:6px;font-weight:700;cursor:pointer}.confirm-btn:hover{background:#1e8449}.gather-card-wrapper{cursor:pointer}.gather-card-wrapper:hover .resource-card{border-color:#27ae60;background:#e8f8ee}.convert-grid{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.convert-btn{display:flex;flex-direction:column;align-items:center;padding:8px 12px;border-radius:8px;border:2px solid #ccc;background:#f9f9f9;cursor:pointer;min-width:80px;gap:2px}.convert-btn.selected{border-color:#3498db;background:#ebf5fb}.convert-btn.disabled{opacity:.4;cursor:not-allowed}.convert-btn-name{font-weight:700;font-size:.85rem}.convert-btn-have,.convert-btn-rate{font-size:.72rem;color:#555}.convert-qty-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.convert-qty-row input{width:60px;padding:6px;border-radius:4px;border:1px solid #ccc}.mana-preview{font-weight:700;color:#8e44ad;font-size:1rem}.bidding-panel{background:#f4ecff;border:1px solid #9b59b6;border-radius:8px;padding:12px;margin-top:10px}.bid-controls{display:flex;gap:10px;margin-top:8px}.action-done{display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px;color:#1a1a1a}.action-done-msg{font-size:1rem;font-weight:700;color:#27ae60}.end-turn-btn{background:#e67e22;color:#fff;border:none;padding:10px 28px;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer}.end-turn-btn:hover{background:#cf6d17}.card-cost{display:flex;align-items:center;justify-content:center;gap:4px;margin-top:4px;font-size:.82rem;font-weight:700;color:#222}.cost-icon{width:18px;height:18px}.cost-or{font-size:.58rem;font-style:italic;font-weight:600;color:#0006;line-height:1;text-align:center;display:block;margin:1px 0}.reagent-cost-item{display:inline-flex;align-items:center;gap:2px;background:#00000014;border-radius:8px;padding:1px 4px;font-size:.7rem;font-weight:700}.card-inner{position:absolute;top:0;right:0;bottom:0;left:0;transform-style:preserve-3d;transition:transform .45s ease}.wizard-card:hover .card-inner,.tower-card:hover .card-inner,.familiar-card:hover .card-inner,.spell-card:hover .card-inner{transform:rotateY(180deg)}.card-face{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:7px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:6px;overflow:hidden}.card-back{transform:rotateY(180deg);background:linear-gradient(160deg,#1a0a3a,#3d1f6e);color:#fff;justify-content:center;gap:5px;text-align:center;padding:10px 8px}.school-badge{position:absolute;top:-9px;right:-9px;width:30px;height:30px;background:#fff;border-radius:50%;border:2px solid rgba(255,255,255,.9);box-shadow:0 2px 8px #00000059;z-index:10;display:flex;align-items:center;justify-content:center;cursor:default}.school-badge img{width:20px;height:20px}.school-badge-tooltip{position:absolute;top:calc(100% + 5px);right:0;background:#0f0828f2;color:#fff;padding:3px 9px;border-radius:4px;font-size:.7rem;font-weight:600;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .15s;pointer-events:none;z-index:20;box-shadow:0 2px 8px #0006}.school-badge:hover .school-badge-tooltip{opacity:1;visibility:visible}.card-back .back-school{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#fff9}.card-back .back-name{font-size:.82rem;font-weight:700;color:#fff;line-height:1.2}.card-back .back-desc{font-size:.73rem;line-height:1.45;color:#ffffffe0;margin:0}.card-back .cast-cost{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;margin-top:4px;padding-top:5px;border-top:1px solid rgba(255,255,255,.2);width:100%}.card-back .cast-cost-label{font-size:.58rem;text-transform:uppercase;letter-spacing:.06em;color:#ffffff80;width:100%;text-align:center}.card-back .cast-reagent{display:flex;align-items:center;gap:2px;background:#ffffff1a;border-radius:10px;padding:2px 5px;font-size:.65rem;color:#fff;font-weight:600}.card-back .cast-reagent img{width:14px;height:14px}.game-over-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:100}.game-over-box{background:#1e1040;color:#fff;border-radius:16px;padding:40px;max-width:560px;width:90%;text-align:center;box-shadow:0 0 40px #c896ff66}.game-over-box h1{margin-top:0;font-size:2.2rem}.final-scores{margin-top:20px;display:flex;flex-direction:column;gap:10px}.score-row{display:flex;align-items:center;gap:12px;background:#ffffff14;border-radius:8px;padding:10px 14px}.score-row.winner{background:#f0c04040;border:1px solid #f0c040}.score-rank{font-size:1.4rem;width:32px;text-align:center}.score-name{font-weight:700;font-size:1rem;min-width:80px}.score-breakdown{display:flex;gap:8px;flex-wrap:wrap;flex:1;font-size:.75rem;opacity:.75}.score-total{font-size:1.3rem;font-weight:700;color:#f0c040;min-width:50px;text-align:right}.card-areas{gap:8px;padding:8px 10px 10px;align-items:stretch;overflow:hidden}.tower-offer,.wizard-offer,.familiar-offer{min-width:88px}.spell-offer{min-width:280px;padding:4px}.market-track-column,.right-board{display:flex;flex-direction:column}.market-track-column{width:132px;flex:0 0 132px;align-items:stretch;padding:2px 0}.market-track-column h3{font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;color:#ffffff8c;margin:2px 0 6px;text-align:center}.board-resource-tracks{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:6px;padding:8px;height:100%;border-radius:14px;background:#221242b8;border:1px solid rgba(255,255,255,.08);border-bottom:none}.board-resource-tracks .resource-track{justify-content:space-between;gap:8px;padding:7px 8px;border-radius:12px;font-size:.74rem}.board-resource-tracks .resource-icon{width:18px;height:18px}.right-board{width:136px;flex:0 0 136px}.achievements{display:flex;flex-direction:column;height:100%}.tower-offer .tower-card,.wizard-offer .wizard-card,.familiar-offer .familiar-card{width:clamp(74px,7vw,92px)}.spell-offer .spell-deck{grid-template-columns:repeat(2,minmax(90px,112px));gap:10px 18px}.spell-offer .spell-card{width:clamp(96px,8vw,112px)}.all-player-areas{min-height:0;padding:8px 12px 10px;gap:8px;overflow:hidden}.player-roster{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.player-chip{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:12px;background:#ffffffd1;border:1px solid rgba(255,255,255,.4);color:#1a1a1a;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.player-chip.viewer-player{border-color:#f0c040cc;box-shadow:0 0 0 1px #f0c04033}.player-chip-header{display:flex;align-items:center;gap:8px}.player-chip-header strong{font-size:.9rem}.player-chip-badge{padding:2px 8px;border-radius:999px;background:#f0c04029;color:#7a5b14;font-size:.7rem;font-weight:700}.player-chip-stats{display:flex;flex-wrap:wrap;gap:6px}.player-chip-stats span{padding:4px 8px;border-radius:999px;background:#0000000f;font-size:.72rem}.active-player{flex:1;min-height:0;margin:0;display:flex;flex-direction:column;gap:10px}.player-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:0}.player-heading{min-width:0}.player-heading h2{margin:0;white-space:nowrap}.player-header-resources{display:flex;align-items:center;justify-content:center;gap:10px;min-width:0;overflow:hidden}.player-vp{font-size:1rem;white-space:nowrap}.player-resource-group{display:flex;align-items:center;gap:4px;min-width:0;padding:5px 7px;border-radius:12px;border:1px solid rgba(64,45,28,.15);background:#3b3257}.reagent-group,.reserve-group{flex-wrap:nowrap}.player-header .player-resource-group .resource-track{padding:4px 6px;font-size:.72rem;border-radius:10px;white-space:nowrap}.reagent-group .resource-track{min-width:0}.reagent-group .resource-track span,.reserve-group .resource-track span{display:block}.reagent-total{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:64px;padding:5px 10px;border-radius:12px;border:1px solid rgba(92,69,46,.2);background:#f0c04024;color:#5b4329;text-align:center}.reagent-total-label{font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;opacity:.8}.reagent-total strong{font-size:1rem;line-height:1.1}.player-focus-layout{display:grid;grid-template-columns:minmax(280px,.95fr) minmax(0,1.35fr);gap:12px;min-height:0;align-items:start;width:100%;overflow:hidden}.player-resources{margin:0}.player-cards{display:grid;grid-template-columns:repeat(3,minmax(140px,1fr));gap:8px;min-width:0;margin-top:0;width:100%;overflow:hidden;align-content:start}.card-area{display:flex;flex-direction:column;gap:6px;min-width:0;padding:10px 11px;border-radius:12px;background:#ffffffb3;border:1px solid rgba(41,24,14,.08);box-shadow:inset 0 1px #ffffffb3;overflow:hidden}.card-area-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.card-area h2{margin:0;color:#5c452e;letter-spacing:.08em;font-size:.68rem;min-width:0}.card-count{min-width:24px;padding:2px 8px;border-radius:999px;background:#5c452e1a;color:#5c452e;font-size:.72rem;font-weight:700;text-align:center}.card-stack{display:flex;align-items:center;min-height:84px;padding-left:2px;overflow:hidden}.card-stack.dense .card-stack-item{margin-left:-28px}.card-stack-item{position:relative;width:54px;aspect-ratio:2 / 3;margin-left:-18px;border-radius:8px;overflow:hidden;box-shadow:0 6px 14px #23160c2e;border:2px solid rgba(255,255,255,.82);background:#f7f0df;transform:translateY(calc(var(--stack-index, 0) * 1px))}.card-stack-item:first-child{margin-left:0}.card-image{width:100%;height:100%;object-fit:cover;display:block}.card-power-image{position:absolute;right:3px;bottom:3px;width:14px;height:14px;border-radius:50%;background:#ffffffeb;padding:2px}.card-stack-more{margin-left:8px;padding:5px 8px;border-radius:999px;background:#5c452e1f;color:#5c452e;font-size:.72rem;font-weight:700;flex-shrink:0}.card-stack.empty{justify-content:center;border:1px dashed rgba(92,69,46,.2);border-radius:12px;min-height:72px;color:#5c452eb3;font-size:.76rem}.card-area-caption{margin:0;color:#6d5a44;font-size:.68rem;line-height:1.25;min-height:1.7em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media (max-width: 1200px){.player-header{grid-template-columns:1fr;justify-items:start}.player-heading h2{white-space:normal}.player-header-resources{justify-content:flex-start;flex-wrap:wrap}.player-focus-layout{grid-template-columns:1fr}.player-cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}@media (max-width: 920px){.game-board{height:auto;min-height:100dvh;overflow:auto}.card-areas{overflow-x:auto;align-items:flex-start}.market-track-column,.right-board{width:120px;flex-basis:120px}.spell-offer{min-width:248px}.player-cards{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.player-header-resources{gap:8px}.player-resource-group{flex-wrap:wrap}}.helper-image-button{background:transparent;border:none;padding:0;cursor:pointer;transition:transform .2s}.helper-image-button:hover{transform:scale(1.08) rotate(-3deg)}.helper-image{width:96px;height:96px;object-fit:contain;display:block;filter:drop-shadow(0 6px 12px rgba(0,0,0,.4))}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0a041cb8;z-index:1000;padding:1.5rem;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.scroll-modal{position:relative;width:100%;max-width:600px;background:repeating-linear-gradient(0deg,transparent,transparent 28px,rgba(180,140,80,.06) 28px,rgba(180,140,80,.06) 29px),linear-gradient(175deg,#fdf5dc,#f5e8be 40%,#eedcaa);border-radius:4px;padding:2.5rem 2rem 2rem;box-shadow:0 0 0 1px #b8903a,0 0 0 4px #d4ab62,0 0 0 6px #b8903a,0 24px 60px #0000008c;font-family:Georgia,Times New Roman,Times,serif;color:#2e1f0e;overflow:visible}.scroll-modal:before,.scroll-modal:after{content:"";position:absolute;left:-6px;right:-6px;height:38px;background:linear-gradient(180deg,#c9a050,#e8c87a 30%,#f5dc9e,#d4a84a 70%,#a07830);border-radius:50%;box-shadow:inset 0 3px 6px #ffffff40,inset 0 -4px 8px #0003,0 4px 10px #0000004d;z-index:3}.scroll-modal:before{top:-19px}.scroll-modal:after{bottom:-19px}.scroll-rod{position:absolute;left:-12px;right:-12px;height:10px;background:linear-gradient(180deg,#7a4e1e,#c08540,#7a4e1e);border-radius:6px;box-shadow:0 2px 6px #00000073;z-index:4}.scroll-rod-top{top:-24px}.scroll-rod-bottom{bottom:-24px}.close-button{position:absolute;top:10px;right:12px;background:transparent;border:none;font-size:1.1rem;cursor:pointer;color:#7a4e1e;z-index:5;line-height:1;opacity:.7;transition:opacity .15s}.close-button:hover{opacity:1}.scroll-header{text-align:center;margin-bottom:.5rem}.scroll-ornament{font-size:1rem;color:#a07030;margin:0 .5rem}.scroll-title{display:inline;font-size:1.5rem;font-weight:700;letter-spacing:.04em;color:#2e1f0e;margin:0 .4rem}.scroll-subtitle{font-size:.8rem;font-style:italic;color:#7a5530;margin:2px 0 0;letter-spacing:.06em}.scroll-divider{height:1px;background:linear-gradient(to right,transparent,#b8903a 20%,#b8903a 80%,transparent);margin:.6rem 0}.scroll-body{max-height:55vh;overflow-y:auto;padding-right:.4rem;scrollbar-width:thin;scrollbar-color:#c9a050 #f0e0b0}.scroll-body::-webkit-scrollbar{width:5px}.scroll-body::-webkit-scrollbar-track{background:#f0e0b0;border-radius:3px}.scroll-body::-webkit-scrollbar-thumb{background:#c9a050;border-radius:3px}.rules-section{margin-bottom:.9rem}.rules-section-heading{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#7a3a10;margin:0 0 .35rem;border-bottom:1px dotted #c9a050;padding-bottom:.15rem}.rules-list{margin:0;padding-left:1.1rem;list-style:none}.rules-list li{font-size:.82rem;line-height:1.55;color:#2e1f0e;margin-bottom:.2rem;padding-left:.2rem}.rules-list li:before{content:"›  ";color:#a07030;font-weight:700}.scroll-footer{text-align:center;font-size:.75rem;font-style:italic;color:#9a6828;margin:0}@media (max-width: 420px){.helper-image{width:72px;height:72px}.scroll-modal{padding:1.5rem 1rem}.scroll-title{font-size:1.2rem}}.achievements-grid{display:flex;flex-direction:column;gap:.5rem}.achievement-tile{background:linear-gradient(180deg,#fff9e6,#f3e6c0);border:2px solid #c9a76b;padding:.6rem;border-radius:6px;font-family:Georgia,Times New Roman,Times,serif;color:#3b2a18;max-width:120px}.ach-title{font-weight:700;font-size:smaller;margin-bottom:.25rem;justify-content:center;text-align:center}.ach-desc{font-size:x-small;margin-bottom:.5rem}.join-game{min-height:100vh;width:100%;display:flex;justify-content:center;align-items:flex-start;background-image:url(https://i.imgur.com/6kHA8Dd.png);background-size:cover;background-position:center;padding:24px 16px;box-sizing:border-box;overflow-y:auto}.setup-panel{width:100%;max-width:900px;background:#0e0724e0;border:1px solid rgba(200,160,255,.2);border-radius:16px;padding:28px 32px;box-shadow:0 8px 48px #000000b3,inset 0 0 60px #5028a014;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.choice-panel{max-width:480px}.setup-header{display:flex;align-items:center;gap:20px;margin-bottom:24px}.setup-mascot{width:72px;height:72px;object-fit:contain;filter:drop-shadow(0 0 12px rgba(160,100,255,.6));flex-shrink:0}.setup-title{font-size:1.8rem;font-weight:800;color:#f0c040;margin:0 0 4px;letter-spacing:.02em;text-shadow:0 0 16px rgba(240,192,64,.4)}.setup-subtitle{font-size:.85rem;color:#fff9;margin:0;font-style:italic}.choice-buttons{display:flex;flex-direction:column;gap:0}.choice-btn{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:16px 20px;border-radius:12px;border:2px solid transparent;cursor:pointer;text-align:left;transition:all .2s;font-family:inherit}.choice-btn.primary{background:linear-gradient(135deg,#3d1f6e,#1a0a3a);border-color:#a078ff66;color:#fff}.choice-btn.primary:hover:not(:disabled){border-color:#a07aff;background:linear-gradient(135deg,#4a2888,#22104a);box-shadow:0 0 20px #6c3fa866;transform:translateY(-1px)}.choice-btn.secondary{background:linear-gradient(135deg,#6c3fa8,#3d1f6e);border-color:#f0c040;color:#f0c040;font-size:1rem;font-weight:800;padding:12px 20px;flex-direction:row;align-items:center;border-radius:10px;white-space:nowrap}.choice-btn.secondary:hover:not(:disabled){background:linear-gradient(135deg,#7a4fc0,#4a2888);box-shadow:0 0 20px #f0c04040;transform:translateY(-1px)}.choice-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.choice-icon{font-size:1.5rem;line-height:1;margin-bottom:4px}.choice-label{font-size:1rem;font-weight:800;letter-spacing:.03em;color:#f0c040}.choice-hint{font-size:.75rem;color:#ffffff80;font-style:italic}.choice-divider{display:flex;align-items:center;gap:12px;margin:16px 0;color:#ffffff4d;font-size:.8rem;font-style:italic;text-transform:uppercase;letter-spacing:.1em}.choice-divider:before,.choice-divider:after{content:"";flex:1;height:1px;background:linear-gradient(to right,transparent,rgba(200,160,255,.25),transparent)}.join-code-form{display:flex;flex-direction:column;gap:8px}.join-code-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#ffffff80}.join-code-row{display:flex;gap:10px;align-items:stretch}.join-code-input{flex:1;background:#ffffff12;border:1px solid rgba(200,160,255,.25);border-radius:10px;padding:12px 16px;font-size:1.2rem;font-weight:800;color:#fff;letter-spacing:.2em;text-align:center;outline:none;transition:border-color .15s,background .15s;font-family:inherit}.join-code-input::placeholder{color:#fff3;letter-spacing:.15em;font-weight:400}.join-code-input:focus{border-color:#a078ff99;background:#ffffff1a}.join-error{font-size:.8rem;color:#ff7070;background:#ff50501a;border:1px solid rgba(255,80,80,.25);border-radius:6px;padding:8px 12px;margin:0}.room-code-banner{display:flex;align-items:center;gap:12px;background:#f0c04012;border:1px solid rgba(240,192,64,.25);border-radius:10px;padding:12px 16px;margin-bottom:20px}.room-code-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#ffffff80;flex-shrink:0}.room-code{flex:1;font-size:1.6rem;font-weight:900;color:#f0c040;letter-spacing:.25em;text-shadow:0 0 16px rgba(240,192,64,.4)}.copy-btn{padding:6px 14px;font-size:.8rem;font-weight:700;background:#f0c04026;border:1px solid rgba(240,192,64,.4);border-radius:8px;color:#f0c040;cursor:pointer;transition:all .15s;font-family:inherit}.copy-btn:hover{background:#f0c04040;border-color:#f0c040}.lobby-players{margin-bottom:20px}.lobby-section-heading{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:#ffffff73;margin:0 0 10px}.lobby-player-list{display:flex;flex-direction:column;gap:6px}.lobby-player-row{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:10px 14px}.lobby-player-name{font-size:.9rem;font-weight:600;color:#ffffffe6;display:flex;align-items:center;gap:8px}.host-badge{font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;background:#f0c04033;color:#f0c040;border:1px solid rgba(240,192,64,.4);padding:1px 7px;border-radius:8px}.lobby-kingdom-chip{font-size:.75rem;font-weight:700;padding:3px 10px;border-radius:20px;border:1px solid;background:#ffffff0a}.lobby-kingdom-pending{font-size:.75rem;color:#ffffff4d;font-style:italic}.lobby-waiting-slot{font-size:.8rem;color:#ffffff40;font-style:italic;text-align:center;padding:10px;border:1px dashed rgba(255,255,255,.1);border-radius:8px}.kingdom-section{margin-bottom:20px}.kingdom-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.kingdom-tile{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:10px 12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.12);border-radius:10px;cursor:pointer;text-align:left;transition:all .15s;color:#fff}.kingdom-tile:hover:not(:disabled){background:#ffffff17;border-color:#ffffff4d;transform:translateY(-1px)}.kingdom-tile.selected{border-width:2px;box-shadow:0 0 16px #a064ff33}.kingdom-tile.taken{opacity:.35;cursor:not-allowed}.kingdom-emblem{font-size:1.4rem;line-height:1;margin-bottom:2px}.kingdom-name{font-size:.78rem;font-weight:700;color:#ffffffe6;line-height:1.2}.kingdom-desc{font-size:.68rem;color:#ffffff73;line-height:1.3}.kingdom-taken-badge{position:absolute;top:6px;right:8px;font-size:.6rem;background:#ff50504d;color:#ff8080;padding:1px 6px;border-radius:8px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.start-btn{width:100%;padding:14px;font-size:1.1rem;font-weight:800;border-radius:10px;border:2px solid rgba(240,192,64,.3);background:#f0c04014;color:#f0c04066;cursor:not-allowed;letter-spacing:.04em;transition:all .2s;font-family:inherit}.start-btn.ready{background:linear-gradient(135deg,#6c3fa8,#3d1f6e);border-color:#f0c040;color:#f0c040;cursor:pointer;box-shadow:0 0 24px #f0c04033,0 4px 16px #0006}.start-btn.ready:hover{background:linear-gradient(135deg,#7a4fc0,#4a2888);box-shadow:0 0 32px #f0c04059,0 6px 20px #0006;transform:translateY(-1px)}.waiting-for-host{text-align:center;font-size:.85rem;color:#ffffff80;font-style:italic;margin:8px 0 0;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:10px}#root{width:100%;margin:0 auto;text-align:left}p{font-size:.75rem;margin:2px 0;line-height:1.3}b{font-size:.85rem}.top-bar{display:flex;justify-content:space-between;align-items:center;padding:10px 20px;background-color:#333;color:#fff}.game-title{font-size:24px;font-weight:700}.resource-status{display:flex;gap:10px}.login-button{background-color:#008cba;border:none;color:#fff;padding:10px 20px;text-align:center;text-decoration:none;display:inline-block;font-size:16px;margin:4px 2px;cursor:pointer;border-radius:4px}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}
