/* Main menu */
body[data-screen=menu]>header,body[data-screen=menu]>main{visibility:hidden}.lobby{position:fixed;inset:0;z-index:500;background:radial-gradient(ellipse at 80% 35%,#35492255,transparent 60%),#101510;overflow-y:auto;display:flex;flex-direction:column;padding:30px max(5vw,env(safe-area-inset-left));color:#edf5e6}.lobby[hidden]{display:none}.lobby-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.lobby-wordmark{font-size:23px;font-weight:700;letter-spacing:-1px}.lobby-wordmark b{color:var(--lime)}.lobby-content{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;max-width:1250px;width:100%;margin:30px auto}.lobby-copy h1{font-size:clamp(44px,5.6vw,78px);line-height:1.03;letter-spacing:-3px;margin:20px 0}.lobby-copy h1 em{color:var(--lime);font-style:normal}.lobby-copy>p:not(.eyebrow):not(.notice){font-size:14px;line-height:1.7;color:#a8b69e;max-width:390px}.lobby-facts{display:flex;gap:30px;margin:25px 0 12px}.lobby-facts>span{font-size:22px;color:#e4f6c8}.lobby-facts small{display:block;font-size:7px;letter-spacing:1.5px;margin-top:5px;color:#89967f}.lobby-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:430px}.lobby-buttons>a,.lobby-buttons>button{min-height:48px;text-decoration:none;display:flex;align-items:center;justify-content:space-between;font-size:12px;padding:13px 16px}.lobby-buttons>.primary{grid-column:1/-1;font-size:16px;min-height:56px;box-shadow:0 8px 35px #b7ee3520}.lobby-buttons>.text-button{background:none;border:0;color:#99aa88;grid-column:1/-1;justify-content:center;min-height:36px}.lobby-buttons span{color:inherit;opacity:.65;font-size:11px}.lobby-footer{display:flex;justify-content:space-between;gap:20px;color:#708063;letter-spacing:1.5px;font-size:8px;padding-top:20px;border-top:1px solid #40533355}.lobby-showcase{position:relative;min-height:430px;display:flex;align-items:center;justify-content:center;isolation:isolate}.showcase-orbit{position:absolute;width:90%;aspect-ratio:1;border:1px solid #b5db5f22;border-radius:50%;box-shadow:0 0 80px #c0ef4220,inset 0 0 60px #c0ef420a;rotate:-25deg}.showcase-orbit:after{content:'';position:absolute;inset:25px;border:1px dashed #b5db5f22;border-radius:50%}.showcase-card{position:absolute;width:clamp(170px,18vw,270px);filter:drop-shadow(0 20px 20px #0009);animation:lobbyFloat 6s ease-in-out infinite}.showcase-card.card-0{z-index:3;rotate:-5deg;translate:-20px 0}.showcase-card.card-1{z-index:2;rotate:16deg;translate:85px 15px;animation-delay:-2s}.showcase-card.card-2{z-index:1;rotate:-19deg;translate:-95px 25px;animation-delay:-4s}.showcase-empty{font-size:120px;color:#c7ed6c;text-shadow:0 0 60px #a9ec4455}.showcase-empty span{display:block;font-size:9px;letter-spacing:3px;color:#a8bd89}.deck-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:-30px;background:#1a2016;padding:12px 0;z-index:2}.deck-controls strong{color:var(--lime);font-size:16px}.deck-builder{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:15px 0 22px}.deck-entry{display:flex;gap:12px;background:#11180e;border:1px solid #38482d;border-radius:9px;padding:12px}.deck-entry>div{width:64px;flex-shrink:0}.deck-entry>section{min-width:0}.deck-entry strong{font-size:12px;overflow-wrap:anywhere}.deck-entry p{font-size:10px;line-height:1.4;margin:7px 0}.deck-entry label{font-size:10px;display:flex;align-items:center;gap:8px}.deck-entry input{width:60px;background:#27351c;color:white;border:1px solid #637d40;border-radius:5px;padding:8px;font-size:16px}.grave-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:18px}.grave-entry>strong{font-size:12px;display:block;margin-top:8px}.grave-entry>p{font-size:10px;line-height:1.4}.grave-entry .card-face{max-width:180px}.zone-counters{margin-left:auto;display:flex;gap:9px;align-items:center;white-space:nowrap;font-size:8px;color:#8a9b7c}.zone-counters b{color:#e8f2d5;font-size:10px;margin-left:3px}.grave-button{border:1px solid #5b694333;border-radius:5px;background:#27331c;padding:3px 6px;color:#b8c6a6;font:inherit;min-height:24px}.game-page .my-deck-row .zone-counters{position:absolute;right:46px;bottom:6px;z-index:3}.game-page .enemy-hand{flex:1}.game-page .enemy-deck-row .zone-counters{flex-shrink:0}.game-page .my-deck-row>div.zone-counters{display:flex}.action-prompt{border:1px solid #9dbd4a55;border-radius:7px;padding:9px!important;background:#799f1818;color:#d2f097!important;font-size:10px!important;font-weight:600;line-height:1.4!important}.action-prompt[data-tone=bot]{background:#658baa11;border-color:#7195ba55;color:#a8cce9!important}.arena[data-mode=attack] #enemyField .card{cursor:crosshair}.arena[data-mode=attack] #enemyField .card-face{outline:2px solid #efb957;box-shadow:0 0 20px #e9a95044}.arena[data-mode=attack] #myField .selected{filter:brightness(1.2)}#cancelAttack{font-size:9px;padding:5px;min-height:30px}#cancelAttack[hidden]{display:none}.game-page .field{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));justify-items:center;align-content:center;column-gap:clamp(6px,1vw,12px)}.game-page .field .card.model-card,.game-page .field .slot{width:min(21cqw,calc((100cqh - 15px)*.6847),145px)}.game-page .field .card.defense{outline:none}.game-page .field .card.defense .card-face,.duel-ghost.defense .card-face,.duel-fragment .card.defense .card-face{transform:rotate(90deg);transform-origin:center;outline:2px solid #77aff0;border-radius:5px}.game-page .field .card.defense.selected{box-shadow:none}.game-page .field .card.defense.selected .card-face{box-shadow:0 0 0 2px var(--lime),0 0 25px #c8ff3f30}.action-banner{position:fixed;top:44%;left:50%;translate:-50% -50%;z-index:10003;pointer-events:none;background:linear-gradient(90deg,#10180bd9,#273a14fa,#10180bd9);border-block:1px solid #b4d96f55;box-shadow:0 15px 70px #0008;backdrop-filter:blur(9px);padding:20px 45px;min-width:min(530px,92vw);text-align:center;color:var(--lime);overflow:hidden}.action-banner strong{font-size:clamp(21px,4vw,39px);display:block;font-weight:700;letter-spacing:3px}.action-banner span{display:block;margin-top:8px;font-size:11px;color:#cfdfbb;letter-spacing:.5px}.action-banner.tone-bot{background:linear-gradient(90deg,#101a26db,#223b53fa,#101a26db);border-color:#72a9d055;color:#a0d9ff}.action-banner.tone-attack{border-color:#d0a55d88;color:#ffe3a3;background:linear-gradient(90deg,#231b10de,#49331afa,#231b10de)}.game-page .model-card{will-change:auto}.game-page .card-face img{user-select:none;-webkit-user-drag:none}dialog[open]{animation:dialogEnter .18s ease-out}.model-card.selected .card-face{filter:brightness(1.08)}@keyframes lobbyFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-15px)}}@keyframes dialogEnter{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:1000px){.lobby{padding:20px max(20px,env(safe-area-inset-left))}.lobby-content{gap:15px}.lobby-showcase{min-height:330px}.showcase-card{width:180px}.showcase-card.card-1{translate:45px 10px}.showcase-card.card-2{translate:-65px 20px}.lobby-copy h1{font-size:52px}.game-page .my-deck-row .zone-counters{bottom:3px;right:42px}.game-page .zone-counters{font-size:7px;gap:5px}.game-page .grave-button{padding:2px 5px;min-height:22px}.game-page .zone-counters b{font-size:9px}.game-page .enemy-deck-row .zone-counters>span:last-child{display:none}.game-page .handbar:has(#cancelAttack:not([hidden])) #deckCount{display:none}.game-page .handbar:has(#cancelAttack:not([hidden])) .primary{font-size:9px;padding:6px}.game-page .field .card.model-card,.game-page .field .slot{width:min(21cqw,calc((100cqh - 15px)*.6847),135px)}}
@media(max-width:600px){.lobby-content{grid-template-columns:1fr;margin:25px 0;gap:20px}.lobby-copy h1{font-size:clamp(43px,12vw,62px);margin:16px 0}.lobby-copy{z-index:2}.lobby-copy>p:not(.eyebrow):not(.notice){font-size:12px}.lobby-showcase{position:absolute;right:0;top:105px;width:45%;min-height:200px;opacity:.24;pointer-events:none;z-index:-1;overflow:hidden}.showcase-card{width:135px}.lobby-content{isolation:isolate;position:relative}.lobby-buttons{max-width:none}.lobby-facts{gap:25px}.lobby-facts>span{font-size:19px}.lobby-footer{font-size:6px;gap:8px}.lobby-footer>span{max-width:100px;text-align:right}.lobby-wordmark{font-size:19px}.lobby .eyebrow{font-size:8px;letter-spacing:1.2px}.deck-builder{grid-template-columns:1fr}.deck-controls{top:-20px}.deck-controls strong{font-size:14px}.grave-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.action-banner{padding:17px 16px}.action-banner span{font-size:10px}.game-page .my-deck-row .zone-counters{bottom:1px}.game-page .player:not(.enemy){padding-right:150px;position:relative}.game-page .player:not(.enemy) .life{position:absolute;right:10px}.game-page .my-deck-row .zone-counters{right:45px;bottom:-1px;background:#18210ff2;border-radius:4px}.game-page .my-deck-row .grave-button{min-height:20px}.game-page #status{max-width:155px}}
@media(max-width:1000px) and (orientation:landscape) and (max-height:600px){.lobby{padding:12px 25px}.lobby-content{margin:10px 0;grid-template-columns:1.3fr 1fr;gap:25px}.lobby-copy h1{font-size:35px;line-height:1;margin:10px 0}.lobby-copy h1 br{display:none}.lobby-copy .eyebrow{font-size:7px}.lobby-copy>p:not(.eyebrow):not(.notice){display:none}.lobby-facts{margin:10px 0;gap:22px}.lobby-facts>span{font-size:16px}.lobby-copy .notice{font-size:10px;margin:8px 0}.lobby-buttons{gap:6px}.lobby-buttons>a,.lobby-buttons>button{min-height:34px;padding:7px 10px;font-size:10px}.lobby-buttons>.primary{min-height:39px;font-size:13px}.lobby-buttons>.text-button{min-height:24px}.lobby-showcase{min-height:220px}.showcase-card{width:130px}.lobby-footer{padding-top:8px}.game-page .my-deck-row .zone-counters{position:static;margin-left:auto;font-size:6px;gap:3px}.game-page .my-deck-row #youDeck{flex-shrink:0}.game-page .my-deck-row .grave-button{min-height:20px;padding:2px 3px}.game-page .my-deck-row>div.zone-counters{display:flex}.game-page .enemy-hand{display:none}.game-page .enemy-deck-row{justify-content:space-between}.game-page .field .card.model-card,.game-page .field .slot{width:min(20cqw,calc((100cqh - 15px)*.6847),100px)}.game-page .player:not(.enemy){padding-right:9px}.game-page .player:not(.enemy) .life{position:static}.game-page .my-deck-row{overflow:visible}.game-page #status{max-width:105px}.game-page .handbar{padding:2px}.game-page .handbar #cancelAttack{width:100%;font-size:8px;min-height:22px}.game-page .handbar:has(#cancelAttack:not([hidden]))>span{display:none}.game-page .handbar:has(#cancelAttack:not([hidden])) #end{min-height:22px;padding:3px}}
@media(prefers-reduced-motion:reduce){.showcase-card,dialog[open]{animation:none}.action-banner{backdrop-filter:none}}
.game-page .handbar .zone-counters{margin-left:0;font-size:8px}.game-page .handbar #deckCount[hidden]{display:none}.game-page .handbar:has(#cancelAttack:not([hidden])) .zone-counters{display:none}.game-page .handbar .grave-button{min-height:30px}.game-page .handbar>span{white-space:nowrap}.game-page #status{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:600px){.game-page .player:not(.enemy){padding-right:10px;position:static}.game-page .player:not(.enemy) .life{position:static}.game-page .handbar{gap:6px}.game-page .handbar .zone-counters{gap:5px;font-size:7px}.game-page .handbar .grave-button{font-size:7px;min-height:30px}.game-page .handbar .zone-counters b{font-size:9px}.game-page .handbar #end{padding:7px 9px;font-size:10px}.game-page #status{max-width:150px}}
@media(max-width:1000px) and (orientation:landscape) and (max-height:600px){.game-page .handbar .zone-counters{justify-content:center;width:100%;font-size:6px}.game-page .handbar .zone-counters .grave-button{min-height:18px;padding:1px 3px}.game-page .handbar>span{font-size:7px}.game-page .handbar #end{min-height:22px;padding:2px;font-size:9px}.game-page .handbar:has(#cancelAttack:not([hidden])) .zone-counters{display:none}}
@media(max-width:600px){.game-page .handbar .zone-counters,.game-page .handbar .grave-button{font-size:9px}.game-page .handbar .zone-counters b{font-size:10px}}
@media(max-width:1000px) and (orientation:landscape) and (max-height:600px){.game-page .handbar .zone-counters,.game-page .handbar .grave-button{font-size:7px}}
.game-page .handbar #youDeck{position:static;display:flex;width:19px;height:26px;flex-shrink:0;margin:0 3px;font-size:12px}.game-page .handbar #youDeck small{display:none}@media(max-width:1000px) and (orientation:landscape) and (max-height:600px){.game-page .handbar #youDeck{display:none}.game-page .handbar #youDeckCount{display:inline}}
