@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Marcellus&display=swap";:root{font-family:DM Sans,system-ui,sans-serif;color:#f4f0e7;background:#101522;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--gold: #e6bd75;--muted: #a3a9b8}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#101522}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{min-height:100vh;position:relative;overflow:hidden;padding:28px clamp(20px,5vw,72px) 24px;background:radial-gradient(ellipse at 50% 34%,#202b40,#141c2b 42%,#101522 78%)}.ambient{position:absolute;pointer-events:none;border-radius:50%;filter:blur(2px);opacity:.18}.ambient-one{width:420px;height:420px;border:1px solid #b48b53;top:100px;right:-260px;box-shadow:0 0 90px #9d713a}.ambient-two{width:300px;height:300px;border:1px solid #657c9d;bottom:-190px;left:-130px}.topbar{max-width:1080px;margin:0 auto;display:flex;align-items:center;gap:12px;position:relative;z-index:1}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border:1px solid #8d754f;color:var(--gold);border-radius:12px;background:#252b36}.brand-title{font-size:13px;font-weight:700;letter-spacing:.14em}.brand-title span{color:var(--gold)}.brand-subtitle{color:#8791a3;font-size:8px;letter-spacing:.16em;margin-top:3px}.online-indicator{margin-left:auto;color:#9ba6b6;font-size:9px;letter-spacing:.13em;display:flex;align-items:center;gap:8px}.online-indicator i,.eyebrow span{width:7px;height:7px;border-radius:50%;background:#8ebc9b;box-shadow:0 0 12px #8ebc9b}.hero{max-width:760px;margin:clamp(66px,11vh,112px) auto 38px;text-align:center;position:relative;z-index:1}.eyebrow{color:var(--gold);font-size:10px;letter-spacing:.22em;font-weight:700;display:flex;align-items:center;justify-content:center;gap:10px}.eyebrow span{background:var(--gold);box-shadow:0 0 12px #d7a95d}h1{font-family:Marcellus,Georgia,serif;font-size:clamp(39px,7vw,66px);line-height:1.12;font-weight:400;letter-spacing:-.035em;margin:22px 0 15px}h1 em{color:var(--gold);font-style:normal}.hero-copy{max-width:460px;margin:0 auto;color:#aab2c0;font-size:14px;line-height:1.7}.lobby-card{position:relative;z-index:1;width:min(100%,470px);margin:0 auto;padding:28px;border:1px solid #3a4558;border-radius:18px;background:linear-gradient(145deg,#263041f5,#1a2230f7);box-shadow:0 24px 80px #080d1766,inset 0 1px #ffffff0d}.card-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.section-kicker{color:var(--gold);font-size:9px;letter-spacing:.2em;font-weight:700}h2{font-family:Marcellus,Georgia,serif;font-size:26px;font-weight:400;margin:7px 0 0}.heading-icon{color:#9da8ba}.primary-action,.secondary-action{width:100%;min-height:54px;border-radius:10px;display:flex;align-items:center;gap:11px;padding:0 16px;font-size:13px;font-weight:600;transition:transform .15s,border-color .15s}.primary-action{color:#1c2029;background:linear-gradient(110deg,#f0cf91,#d6a95f);border:1px solid #f3d9a7;box-shadow:0 6px 22px #d7ad6320}.secondary-action{margin-top:10px;color:#e6e9ef;background:#ffffff08;border:1px solid #596477}.primary-action span,.secondary-action span{margin-left:auto;font-size:18px}.primary-action:hover:not(:disabled),.secondary-action:hover{transform:translateY(-1px)}.secondary-action:hover{border-color:var(--gold)}.feature-row{display:flex;justify-content:space-between;gap:8px;margin-top:24px;padding-top:18px;border-top:1px solid #ffffff16}.feature-row div{display:flex;align-items:center;gap:6px;color:#aab3c2;font-size:9px;white-space:nowrap}.feature-row svg{color:var(--gold)}.sub-screen h2{margin-bottom:10px}.back-link{display:block;padding:0;border:0;background:none;color:#aab3c2;font-size:12px;margin-bottom:24px}.muted-copy,.prototype-note{color:#aab3c2;font-size:12px;line-height:1.6}.room-summary{display:flex;align-items:center;gap:12px;padding:15px;border:1px solid #4b5668;background:#ffffff08;border-radius:10px;margin:20px 0;color:var(--gold)}.room-summary div{display:grid;gap:3px;color:#edf0f5;font-size:12px}.room-summary small{color:#aab3c2;font-size:10px}.prototype-note{font-size:10px;margin:13px 0 0}.input-label{display:block;color:var(--gold);font-size:9px;letter-spacing:.15em;margin:22px 0 8px}input{width:100%;height:50px;border:1px solid #596477;border-radius:9px;background:#111927;color:#f4f0e7;padding:0 14px;outline:none;margin-bottom:14px}input:focus{border-color:var(--gold)}.footer{position:relative;z-index:1;margin:clamp(64px,10vh,100px) auto 0;text-align:center;display:grid;gap:9px;color:#818b9c;font-size:8px;letter-spacing:.18em}.footer-rule{width:80px;height:1px;background:#8d754f;margin:0 auto 8px}.footer small{color:#687386;font-size:8px;letter-spacing:.14em}@media(max-width:480px){.app-shell{padding:20px 16px 22px}.hero{margin-top:68px;margin-bottom:30px}.hero-copy{font-size:12px}.lobby-card{padding:22px 18px}.feature-row{flex-wrap:wrap;justify-content:flex-start;gap:12px 18px}.online-indicator{font-size:8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}.game-screen{position:relative;z-index:1;width:min(100%,760px);margin:48px auto 0}.game-heading{text-align:center;margin-bottom:22px}.game-heading .back-link{margin:0 auto 20px}.game-heading h2{font-size:32px}.game-heading .muted-copy{max-width:470px;margin:9px auto 0}.battle-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 auto 14px;max-width:560px}.battle-meta div{display:grid;gap:4px;padding:10px 12px;border:1px solid #3b4658;border-radius:9px;background:#ffffff08;text-align:center}.battle-meta span{color:#8e9aad;font-size:8px;letter-spacing:.15em}.battle-meta strong{color:var(--gold);font-size:13px;letter-spacing:.08em}.board-frame{max-width:560px;margin:0 auto;padding:12px;border:1px solid #596477;border-radius:14px;background:linear-gradient(145deg,#283448,#192333);box-shadow:0 18px 55px #05091280}.board-label{text-align:center;font-size:8px;letter-spacing:.2em;padding:4px 0 10px;color:#a8b2c2}.own-label{color:var(--gold);padding:10px 0 3px}.board-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:3px;aspect-ratio:1}.board-cell{min-width:0;min-height:0;border:1px solid #ffffff10;border-radius:3px;display:grid;place-items:center;padding:2px;position:relative}.cell-light{background:#b8a88b}.cell-dark{background:#687d82}.enemy-zone{filter:saturate(.65) brightness(.78)}.own-zone{box-shadow:inset 0 0 0 1px #e6bd7530}.board-cell.selected{outline:3px solid #f4d18f;outline-offset:-3px;z-index:2}.board-cell.valid-target{box-shadow:inset 0 0 0 3px #b8e0a5}.unit-token{width:100%;height:100%;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;color:#1a2028;text-shadow:0 1px #ffffff60}.unit-token b{display:grid;place-items:center;width:48%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 25%,#fff1cf,#c39a5b 72%);border:2px solid #5b4528;box-shadow:0 3px 7px #0006;font-family:Georgia,serif;font-size:clamp(11px,2.6vw,20px)}.unit-token small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(5px,1.3vw,9px);font-weight:700}.unit-ranger b{background:radial-gradient(circle at 35% 25%,#e6f4d7,#759b76 72%)}.unit-mystic b{background:radial-gradient(circle at 35% 25%,#e7ddff,#8b78bd 72%)}.board-controls{max-width:560px;margin:12px auto 0;display:flex;align-items:center;justify-content:space-between;gap:10px}.board-notice{color:#c4cbd6;font-size:11px;line-height:1.5}.secondary-action.compact{width:auto;min-height:38px;padding:0 11px;margin:0;white-space:nowrap;font-size:10px}.unit-roster{max-width:560px;margin:20px auto 0;padding:14px;border:1px solid #3b4658;border-radius:12px;background:#ffffff08}.roster-title{display:flex;align-items:center;gap:8px;color:var(--gold);font-size:9px;letter-spacing:.16em;margin-bottom:10px}.roster-title span{margin-left:auto;color:#aab3c2}.roster-unit{display:inline-flex;align-items:center;gap:8px;margin:4px 6px 4px 0;padding:7px 10px;color:#edf0f5;background:#ffffff08;border:1px solid #596477;border-radius:8px;text-align:left}.roster-unit b{color:var(--gold);font-family:Georgia,serif;font-size:17px}.roster-unit span{display:grid;gap:2px;font-size:10px}.roster-unit small{color:#8f9bad;font-size:7px;letter-spacing:.12em}.roster-selected{border-color:var(--gold);background:#e6bd7515}.game-screen>.prototype-note{max-width:560px;margin:14px auto 0;text-align:center}@media(max-width:480px){.game-screen{margin-top:35px}.board-frame{padding:7px}.board-grid{gap:2px}.board-controls{align-items:flex-start;flex-direction:column}.secondary-action.compact{width:100%;justify-content:center}}.battle-launch{max-width:560px;margin:14px auto 0}.battle-launch .primary-action{justify-content:center}.battle-report{max-width:560px;margin:14px auto 0;padding:15px;border:1px solid #8d754f88;border-radius:12px;background:linear-gradient(145deg,#2a3040,#1a2231)}.battle-report h3{margin:5px 0 12px;color:var(--gold);font:24px Marcellus,Georgia,serif;text-transform:capitalize}.battle-survivors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.battle-survivors div{display:grid;gap:3px;padding:9px;border:1px solid #ffffff18;border-radius:8px;background:#ffffff06}.battle-survivors span{color:#e8ebf1;font-size:10px}.battle-survivors strong{color:var(--gold);font-size:11px}.battle-survivors small{color:#96a1b2;font-size:8px}.battle-log{max-height:170px;overflow:auto;margin-top:12px;padding-top:8px;border-top:1px solid #ffffff18}.battle-log p{margin:5px 0;color:#b9c2d0;font-size:10px;line-height:1.5}.collection-panel{max-width:760px;margin:0 auto 14px;padding:15px;border:1px solid #3b4658;border-radius:12px;background:#ffffff08}.champion-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.champion-card{display:grid;gap:5px;text-align:left;padding:11px;border:1px solid #596477;border-radius:9px;background:#151e2d;color:#edf0f5}.champion-card b{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#b28c56;color:#17202b;font:17px Georgia,serif}.champion-card strong{font:13px Marcellus,Georgia,serif}.champion-card small,.champion-card span{color:#aeb7c5;font-size:8px;letter-spacing:.08em}.champion-card span{color:var(--gold)}.champion-card p{margin:0;color:#98a3b3;font-size:9px;line-height:1.4}.champion-active{border-color:var(--gold);background:#e6bd7512}.synergy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.synergy-card{padding:10px;border:1px solid #8d754f88;border-radius:8px;background:#e6bd750b;display:grid;gap:5px}.synergy-card strong{color:var(--gold);font-size:11px}.synergy-card small{color:#aab3c2;font-size:9px}.synergy-card p{margin:0;color:#e0e4eb;font-size:10px}.upgrade-row{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.upgrade-row span{padding:7px 9px;border:1px solid #596477;border-radius:7px;color:#e7eaf0;font-size:10px}.item-lab{margin-top:15px;padding-top:12px;border-top:1px solid #ffffff18}.item-lab>strong{color:var(--gold);font-size:12px}.item-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.item-buttons button{display:grid;gap:3px;text-align:left;padding:9px;border:1px solid #596477;border-radius:8px;background:#ffffff08;color:#edf0f5;font-size:10px}.item-buttons small{color:#aab3c2;font-size:9px}@media(max-width:520px){.champion-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.collection-panel{padding:11px}.synergy-grid{grid-template-columns:1fr}}.economy-stats{max-width:760px;margin:0 auto 14px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.economy-stats div{padding:12px;border:1px solid #8d754f88;border-radius:9px;background:#e6bd750b;display:grid;gap:5px;text-align:center}.economy-stats small{color:#aab3c2;font-size:8px;letter-spacing:.15em}.economy-stats strong{color:var(--gold);font-size:20px}.shop-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.shop-card{min-width:0;padding:9px 6px;border:1px solid #596477;border-radius:9px;background:#151e2d;display:grid;justify-items:center;gap:5px;text-align:center}.shop-card>b{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#b28c56;color:#17202b;font:17px Georgia,serif}.shop-card strong{font:12px Marcellus,Georgia,serif;color:#edf0f5}.shop-card small{font-size:7px;color:#aab3c2}.shop-card span{font-size:9px;color:var(--gold)}.shop-card button{width:100%;padding:7px 2px;border:1px solid #8d754f;border-radius:6px;background:#e6bd7515;color:#f4e6c8;font-size:9px}.shop-card button:disabled{opacity:.4}.shop-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.shop-actions .secondary-action{justify-content:center;font-size:10px;padding:0 8px}@media(max-width:520px){.shop-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.economy-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-actions{grid-template-columns:1fr}}.prep-screen{max-width:900px}.prep-bench{display:flex;flex-wrap:wrap;gap:7px;min-height:48px;margin:10px 0 16px}.prep-unit{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid #596477;border-radius:8px;background:#151e2d;color:#edf0f5;text-align:left}.prep-unit>b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#b28c56;color:#17202b;font:17px Georgia,serif}.prep-unit span{display:grid;gap:3px;font-size:10px}.prep-unit small{color:#aab3c2;font-size:8px}.selected-prep-unit{border-color:var(--gold);background:#e6bd7518}.prep-roster-title{margin-top:14px;padding-top:12px;border-top:1px solid #ffffff18}.prep-board-frame{max-width:560px}.prep-management{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.prep-management .secondary-action{justify-content:center;font-size:10px;padding:0 8px}.prep-screen .collection-panel>.primary-action{margin-top:12px;justify-content:center}.prep-battle-button{background:linear-gradient(110deg,#c8d7e9,#91a8c7);border-color:#d5e3f2}@media(max-width:520px){.prep-management{grid-template-columns:1fr}.prep-unit{flex:1 1 calc(50% - 7px);min-width:0}.prep-board-frame{padding:7px}}.prep-synergies{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}.prep-synergies span{padding:6px 9px;border:1px solid #8d754f88;border-radius:7px;background:#e6bd7512;color:var(--gold);font-size:9px}.item-inventory{margin:16px 0;padding:12px;border:1px solid #8d754f66;border-radius:9px;background:#ffffff05}.selected-equipment{display:grid;gap:4px;margin-top:10px;padding:9px;border-top:1px solid #ffffff18;color:#edf0f5;font-size:10px}.selected-equipment strong{color:var(--gold)}.selected-equipment span,.selected-equipment small{color:#aab3c2;font-size:9px}.item-inventory .item-buttons button:disabled{opacity:.4}
