@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=DM+Sans:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',system-ui,sans-serif;color:#f5eddb;background:#111e28;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(ellipse at 50% -10%,#294459 0%,#111e28 55%,#0b151d 100%);min-height:100vh}button{font:inherit;cursor:pointer}button:disabled{cursor:not-allowed}button:focus-visible{outline:3px solid #e7bc72;outline-offset:3px}#app{max-width:1450px;margin:auto;min-height:100vh;display:flex;flex-direction:column}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,4vw,56px);border-bottom:1px solid #ffffff18;background:#0d1a22ad}.brand{display:flex;gap:11px;align-items:center;font-family:'Barlow Condensed',sans-serif;font-size:19px;line-height:.84;letter-spacing:.11em;color:#e8d4a3}.brand strong{font-size:23px;color:#fff8e9}.brand-mark{font-size:42px;line-height:1;color:#d8a957}.header-center{text-align:center;display:grid;gap:1px}.eyebrow{margin:0;font-family:'Barlow Condensed',sans-serif;color:#d5ac70;font-size:13px;font-weight:800;letter-spacing:.21em}.phase-name{font-family:'Barlow Condensed',sans-serif;font-size:23px;font-weight:800;letter-spacing:.08em}.version{font-family:'Barlow Condensed';font-weight:700;color:#a8b7bd;font-size:15px}.scoreboard{display:flex;align-items:center;justify-content:center;gap:clamp(10px,3vw,42px);padding:12px 16px;border-bottom:1px solid #ffffff13;background:#10222d}.score{min-width:120px;display:flex;align-items:center;gap:12px}.score span,.final-score span{font-family:'Barlow Condensed';font-size:16px;font-weight:800;letter-spacing:.09em}.score strong{white-space:nowrap;font-family:'Barlow Condensed';font-size:21px}.score i{font-style:normal;opacity:.4}.score.p0 span,.player-color.p0{color:#75c4d8}.score.p1 span,.player-color.p1{color:#f0ae85}.score-divider{font:800 16px 'Barlow Condensed';color:#6c838d}.screen{flex:1;padding:clamp(20px,3vw,42px) clamp(18px,4vw,56px) 44px}.intro{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:hidden;min-height:calc(100vh - 76px)}.intro-glow{position:absolute;width:min(68vw,700px);height:min(68vw,700px);border:1px solid #dbab6540;border-radius:50%;box-shadow:0 0 0 45px #d7aa5c08,0 0 0 105px #d7aa5c05,0 0 110px #a8783950;pointer-events:none}.crest,.result-crest{position:relative;font-size:80px;color:#d5aa67;text-shadow:0 6px 35px #e0ad6470}.intro h1{position:relative;margin:12px 0 20px;font:900 clamp(78px,13vw,170px)/.73 'Barlow Condensed',sans-serif;letter-spacing:.035em;text-shadow:0 8px 0 #0c1820,0 20px 35px #0007}.intro h1 em{font-style:normal;color:#e1b876}.intro-copy{position:relative;max-width:440px;color:#bac7c8;line-height:1.55;margin:16px 0 30px}.quiet{color:#8e9fa7;font-size:12px}.intro .quiet{position:relative;margin-top:20px}.primary,.secondary{border:0;border-radius:8px;padding:14px 24px;font-family:'Barlow Condensed';font-size:18px;font-weight:800;letter-spacing:.075em;transition:transform .15s,filter .15s}.primary:hover,.secondary:hover{transform:translateY(-2px);filter:brightness(1.1)}.primary{background:linear-gradient(#f6cc83,#d39b52);color:#18232b;box-shadow:0 4px 0 #8b5e35,0 13px 25px #0005}.primary.large{min-width:240px;padding:17px 35px;font-size:21px}.primary span{margin-left:18px}.secondary{background:#213644;color:#e9d6ad;border:1px solid #b98c4b80}.secondary:disabled{opacity:.42}.section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:26px}.section-title h1,.result-screen h1{font:800 clamp(36px,5vw,62px)/.92 'Barlow Condensed';letter-spacing:.025em;margin:5px 0 8px}.section-title p:not(.eyebrow){color:#a8b8bd;margin:0;max-width:500px;font-size:14px;line-height:1.4}.coins{display:grid;text-align:center;min-width:90px;padding:8px 16px;border:1px solid #c9975780;border-radius:12px;background:#22333c;font:800 36px 'Barlow Condensed';color:#eec281;line-height:1}.coins strong{display:inline}.coins small{font-size:11px;letter-spacing:.16em}.offers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,2vw,28px);max-width:920px;margin:0 auto}.offer{display:grid;background:#243746;border:2px solid #597181;border-radius:15px;padding:8px;text-align:center;color:inherit;box-shadow:0 16px 25px #0005;transition:transform .15s,border-color .15s}.offer:not(:disabled):hover{transform:translateY(-7px);border-color:#e8bb75}.offer.disabled{opacity:.5}.card{position:relative;overflow:hidden;border-radius:11px;background:#1a2b38;box-shadow:0 5px 14px #0007}.card-art{aspect-ratio:300/420;overflow:hidden}.card-art img{width:100%;height:100%;object-fit:cover;display:block}.card-info{position:absolute;bottom:0;left:0;right:0;display:none;background:#15222c}.card-info strong{font:800 19px 'Barlow Condensed'}.stats{display:flex;justify-content:center;gap:8px;font:800 15px 'Barlow Condensed'}.stats span{border-radius:4px;padding:2px 8px}.atk{background:#873e3a}.hp{background:#34786e}.offer-price{margin-top:8px;padding:9px;background:#dba95e;border-radius:6px;color:#1b2b34;font:800 16px 'Barlow Condensed';letter-spacing:.06em}.shop-actions{display:flex;justify-content:center;gap:14px;margin:25px auto;flex-wrap:wrap}.shop-actions .secondary span{opacity:.7;margin-left:10px}.deck-panel{max-width:920px;margin:0 auto;padding:18px 20px;background:#192c37;border:1px solid #57717a77;border-radius:10px}.deck-panel>div:first-child{display:flex;align-items:baseline;gap:14px;margin-bottom:11px}.deck-panel strong{font:800 20px 'Barlow Condensed';letter-spacing:.05em}.deck-list{display:flex;flex-wrap:wrap;gap:7px}.deck-list span{border:1px solid #66818a80;background:#263f4b;border-radius:5px;padding:6px 9px;font-size:12px;color:#d4e1df}.deck-list b{color:#edc17b}.remaining{display:flex;gap:7px;align-items:center;flex-wrap:wrap;max-width:180px}.remaining span{font:800 28px 'Barlow Condensed';padding:5px 12px;background:#223b48;border:1px solid #6785956b;border-radius:7px}.remaining span:nth-child(2){background:#45332d;border-color:#9c7663}.remaining small{font-size:13px}.remaining label{width:100%;text-align:center;font:700 10px 'Barlow Condensed';letter-spacing:.18em;color:#9db0b5}.placement-layout{display:grid;grid-template-columns:minmax(160px,240px) 1fr;gap:clamp(20px,4vw,56px);align-items:start}.current-panel{text-align:center;position:sticky;top:20px}.current-panel .eyebrow{margin-bottom:13px}.active-card{max-width:210px;margin:auto;border:3px solid #e5b46f;box-shadow:0 0 0 5px #d6aa4b22,0 18px 30px #0009;cursor:grab}.current-panel .quiet{margin-top:12px}.territories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.territory{display:block;text-align:left;color:inherit;background:linear-gradient(160deg,#264553,#1a303b);border:2px solid #518099;border-radius:13px;padding:13px;min-height:275px;transition:transform .15s,box-shadow .15s}.territory:hover,.territory.drag-hover{transform:translateY(-5px);box-shadow:0 0 0 3px #e9bc7280}.land-B{background:linear-gradient(160deg,#49404d,#292b38)!important;border-color:#86768e!important}.land-C{background:linear-gradient(160deg,#544038,#322d2a)!important;border-color:#a27a62!important}.land-heading{display:flex;align-items:center;gap:8px;margin-bottom:15px}.land-symbol{font-size:28px;color:#e0b976}.land-heading b{display:block;font:800 19px 'Barlow Condensed';letter-spacing:.07em}.land-heading small{font-size:11px;color:#adbec2}.land-arrow{margin-left:auto;font-size:26px;color:#e2b973}.lane{min-height:88px;border-top:1px solid #ffffff2b;padding-top:7px;margin-top:8px}.lane label{display:block;font:800 12px 'Barlow Condensed';letter-spacing:.08em;color:#8fd2e1}.lane:last-child label{color:#f2bd9c}.lane-cards{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.mini-card{position:relative;display:inline-flex;width:35px;height:49px;overflow:hidden;border:1px solid #88c8d7;border-radius:4px;background:#182b34}.mini-card.p1{border-color:#e2aa86}.mini-card img{width:100%;height:100%;object-fit:cover}.mini-card b{position:absolute;bottom:0;left:0;background:#8f3f37;padding:1px 3px;font:800 10px 'Barlow Condensed'}.mini-card b:last-child{left:auto;right:0;background:#337c70}.empty-slot{font:700 11px 'Barlow Condensed';color:#849ba1;border:1px dashed #6a899080;padding:12px 8px;border-radius:4px}.battle-screen{display:flex;flex-direction:column;align-items:center;text-align:center}.battle-progress{display:flex;gap:8px;width:min(500px,100%)}.battle-progress span{flex:1;padding:10px;border:1px solid #647983;background:#1d303a;color:#7e989e;font:800 18px 'Barlow Condensed';border-radius:6px}.battle-progress span.current{color:#ffe1a4;border-color:#dca85f;box-shadow:0 0 19px #dba75555}.battle-progress span.complete{color:#9fd9cb;border-color:#438f80}.battle-label{margin:35px 0 20px}.duel{width:min(680px,100%);display:flex;align-items:center;justify-content:center;gap:clamp(8px,3vw,35px)}.fighter{width:min(37%,205px)}.fighter .card{border:3px solid #70bed4}.fighter.p1 .card{border-color:#e6a67c}.impact{font-size:42px;color:#f9c47c;text-shadow:0 0 20px #efb252}.combat-hp{margin-top:8px;font:800 27px 'Barlow Condensed';color:#d8f0e6}.combat-hp small{font-size:17px;color:#fc8c7d;margin-left:5px}.battle-message{min-height:320px;display:flex;flex-direction:column;justify-content:center;align-items:center}.battle-spark{font-size:90px;color:#e5bd7e}.battle-message h2{font:800 clamp(32px,5vw,52px) 'Barlow Condensed';margin:0}.battle-message p,.battle-footer p{color:#afbec2}.battle-footer{margin-top:24px;min-height:90px}.pulse-dots{display:flex;justify-content:center;gap:6px}.pulse-dots i{width:7px;height:7px;border-radius:50%;background:#deb478;animation:pulse 1s infinite alternate}.pulse-dots i:nth-child(2){animation-delay:.2s}.pulse-dots i:nth-child(3){animation-delay:.4s}@keyframes pulse{to{opacity:.25;transform:translateY(-5px)}}.result-screen{text-align:center;display:flex;align-items:center;flex-direction:column}.result-crest{font-size:76px}.result-screen h1{max-width:900px;margin:10px auto}.result-copy{color:#aebec1;font-size:14px;line-height:1.5}.result-board{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:min(700px,100%);margin:22px 0}.result-land{display:grid;justify-items:center;gap:3px;padding:13px;border:1px solid #6090a7;border-radius:10px;background:#203d4c}.result-land span{font-size:30px;color:#e6ba72}.result-land b{font:800 25px 'Barlow Condensed'}.result-land small{font:800 12px 'Barlow Condensed';letter-spacing:.07em}.final-score{display:flex;justify-content:space-around;gap:20px;width:min(700px,100%);padding:19px;border-top:1px solid #ffffff24;border-bottom:1px solid #ffffff24;margin-bottom:25px}.final-score>div{display:grid;gap:5px}.final-score strong{font:800 30px 'Barlow Condensed'}.final-score i{font-style:normal;color:#d8ae68;margin:0 10px}.error{text-align:center}.error h1{font:800 42px 'Barlow Condensed'}
@media(max-width:820px){.territories{grid-template-columns:1fr}.territory{min-height:unset}.placement-layout{grid-template-columns:155px 1fr;gap:14px}.active-card{max-width:145px}.lane{min-height:55px}.score{display:grid;gap:0;text-align:center}.score strong{font-size:18px}.shop-screen .offers{gap:8px}.offer{padding:5px}.offer-price{font-size:13px;padding:7px 2px}}
@media(max-width:560px){.topbar{height:62px;padding:0 15px}.brand{font-size:12px;gap:6px}.brand strong{font-size:17px}.brand-mark{font-size:30px}.phase-name{font-size:19px}.header-center .eyebrow{font-size:10px}.scoreboard{gap:8px;padding:8px}.score{min-width:0}.score span{font-size:12px}.score strong{font-size:17px}.screen{padding:22px 14px 40px}.intro{min-height:calc(100vh - 62px)}.intro h1{font-size:clamp(70px,18vw,110px)}.intro-copy{font-size:14px}.section-title{margin-bottom:15px}.section-title h1{font-size:35px}.section-title p:not(.eyebrow){font-size:12px}.coins{font-size:24px;min-width:63px;padding:6px}.coins small{font-size:8px}.offers{gap:6px}.offer{border-width:1px;border-radius:8px;padding:3px}.card{border-radius:5px}.offer-price{font-size:11px;line-height:1.1}.shop-actions{margin:18px auto}.shop-actions button{font-size:15px;padding:11px 14px}.deck-panel{padding:11px}.placement-layout{grid-template-columns:1fr}.current-panel{position:static;display:flex;align-items:center;text-align:left;gap:12px}.current-panel .eyebrow{display:none}.current-panel .draggable{width:85px;flex:none}.active-card{width:85px}.current-panel .quiet{font-size:12px}.territories{grid-template-columns:1fr;gap:9px}.territory{padding:9px}.land-heading{margin-bottom:4px}.land-heading b{font-size:17px}.land-symbol{font-size:24px}.lane{min-height:40px;display:flex;align-items:center;gap:8px;margin-top:4px;padding-top:4px}.lane label{min-width:72px}.lane-cards{margin-top:0}.mini-card{width:28px;height:39px}.empty-slot{padding:7px}.remaining span{font-size:19px}.result-screen h1{font-size:43px}.result-board{gap:5px}.result-land{padding:8px 3px}.result-land small{font-size:10px}.final-score strong{font-size:24px}.duel{gap:5px}.fighter{width:41%}.impact{font-size:24px}.battle-label{margin-top:25px}}
.offer .card-art{aspect-ratio:1.1;overflow:hidden}.offer .card-art img{height:auto;object-fit:cover;object-position:top}.offer .card-info{display:block;position:relative;padding:4px 2px}.offer .card-info strong{font-size:clamp(14px,1.8vw,22px)}.offer .stats{font-size:clamp(12px,1.3vw,16px)}
.current-description{display:grid;gap:4px;margin-top:13px}.current-description strong{font:800 25px 'Barlow Condensed'}.current-description span{font:800 20px 'Barlow Condensed';color:#d9b987}.current-description small{color:#93a9ae;font-size:11px}
.mini-card{width:58px;height:65px}.mini-card img{height:100%;object-fit:cover;object-position:top}.mini-name{position:absolute;bottom:0;left:0;right:0;padding:3px 1px;background:#15242ce8;font:700 10px 'Barlow Condensed';white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}.mini-card b{bottom:auto;top:0}
@media(max-width:560px){.offer .card-info strong{font-size:14px}.offer .stats{font-size:12px;gap:2px}.offer .stats span{padding:1px 4px}.mini-card{width:48px;height:54px}.mini-name{font-size:9px}.current-description{margin-top:0}.current-description strong{font-size:23px}}
