/* A height-driven landscape collection; no fixed-height art inside grid rows. */
:root{--lobby-bg:#071d35;--lobby-line:#ffffff18;--lobby-muted:#9eb8d1;--lobby-accent:#9df7df}
#menu{background:radial-gradient(ellipse at 78% 2%,#184b6b 0,transparent 55%),var(--lobby-bg);padding:0}
.launcher{width:min(1440px,100%);height:100dvh;max-height:100%;padding:max(20px,env(safe-area-inset-top)) max(28px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(28px,env(safe-area-inset-left));display:grid;grid-template-columns:230px minmax(0,1fr);grid-template-rows:52px minmax(0,1fr);gap:24px 32px}
.lobby-header{grid-column:1/-1;display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--lobby-line);padding-bottom:18px}
.wordmark{font-size:20px;font-weight:950;letter-spacing:-1px;color:white;text-decoration:none;font-style:italic}.wordmark em{color:var(--lobby-accent)}
.lobby-status{margin-left:auto;font-size:11px;font-weight:700}.fullscreen-control{width:38px;height:34px;border:1px solid var(--lobby-line);background:#ffffff09;border-radius:10px;color:#d9f9ff;font-size:24px}
.loadout{min-height:0;display:flex;flex-direction:column;gap:14px;padding:12px 0 8px}.eyebrow{font-size:10px;letter-spacing:.18em;font-weight:850;color:var(--lobby-muted);margin:0 0 8px}
.loadout h1{font-size:32px;line-height:1.05;letter-spacing:-.04em;text-shadow:none;font-style:normal}.loadout h1 em{color:var(--lobby-accent);background:none;font-style:normal}
.loadout-portrait{flex:1;min-height:0;position:relative;background:radial-gradient(ellipse,#67efc325,transparent 65%)}
.loadout-portrait canvas{position:static;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 12px 12px #0005)}
.equipped strong{display:block;font-size:18px;line-height:1.2}.equipped .eyebrow{display:block;font-size:8px;margin-bottom:5px}
.loadout .name-box{height:48px;min-height:44px;border-radius:12px;background:#031629}.loadout .name-box input{font-size:14px}
.loadout .play-btn{min-height:50px;border-radius:12px;background:linear-gradient(135deg,#c9ff8b,#7feec8);font-size:16px;box-shadow:0 5px 0 #255646,0 10px 24px #020f1e88}
.control-hint{font-size:10px;line-height:1.7;color:var(--lobby-muted);margin:5px 0 0;text-align:center}
.collection{min-width:0;min-height:0;display:grid;grid-template-rows:auto 42px minmax(0,1fr) 20px;gap:14px}
.collection-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.collection-title h2{margin:0;font-size:26px;letter-spacing:-.03em}.collection-title .eyebrow{margin-bottom:5px}
.unlocked{font-size:10px;color:var(--lobby-accent);text-align:right}.unlocked b{display:block;color:#fff;font-size:14px;margin-top:4px}
.collection-tabs{display:flex;gap:24px;border-bottom:1px solid var(--lobby-line)}.collection-tabs button{background:none;border:0;border-bottom:3px solid transparent;color:var(--lobby-muted);font-size:12px;font-weight:800;padding:0 4px 10px}.collection-tabs button.active{color:white;border-color:var(--lobby-accent)}
.launcher .skins.skins-grid{min-height:0;min-width:0;height:100%;padding:5px 5px 9px;display:grid;grid-auto-flow:column;grid-template-columns:none;grid-template-rows:repeat(2,minmax(0,1fr));grid-auto-columns:calc((100% - 48px)/5);gap:12px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#6d9aaf66 transparent;touch-action:pan-x;overscroll-behavior-inline:contain}
.launcher .skin-card{height:100%;min-height:0;padding:0;display:grid;grid-template-rows:minmax(0,1fr) auto auto;overflow:hidden;border:2px solid #ffffff19;border-radius:14px;background:linear-gradient(160deg,color-mix(in srgb,var(--skin-main) 45%,#234b75),#172046);box-shadow:0 4px 0 #02102180;scroll-snap-align:start;transition:border-color .16s,box-shadow .16s;isolation:isolate}
.launcher .skin-card[hidden]{display:none}.launcher .skin-card:hover{transform:none;border-color:#c5fff1}.launcher .skin-card.selected{border-color:var(--lobby-accent);box-shadow:0 0 0 2px #9df7df44,0 0 18px #6cffcf22}
.launcher .skin-preview{min-height:0;height:100%;width:100%;margin:0;border-radius:0;background:radial-gradient(ellipse at 50% 60%,color-mix(in srgb,var(--skin-light) 35%,transparent),transparent 72%)}
.launcher .skin-preview canvas{position:static;inset:auto;width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 7px 3px #0004)}
.launcher .skin-name{font-size:11px;line-height:1.15;min-height:32px;margin:0;padding:7px 4px 2px;white-space:normal;background:#06142d70;text-align:center}
.launcher .skin-sub{margin:0;padding:3px 2px 8px;font-size:9px;color:#bed1e5;background:#06142d70}.launcher .selected .skin-sub{color:var(--lobby-accent)}
.collection-footer{display:flex;justify-content:space-between;font-size:9px;color:var(--lobby-muted);align-items:center}.collection-footer span:last-child{color:#bfe9ee}
button:focus-visible,input:focus-visible{outline:3px solid #d1fff2;outline-offset:3px}
@media(max-width:1100px){.launcher{grid-template-columns:185px minmax(0,1fr);gap:16px 20px;padding:16px}.launcher .skins.skins-grid{grid-auto-columns:calc((100% - 24px)/3)}.loadout h1{font-size:27px}.collection-title h2{font-size:22px}}
@media(max-height:600px){.launcher{grid-template-rows:38px minmax(0,1fr);gap:12px 20px;padding:max(10px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.lobby-header{padding-bottom:8px}.loadout{padding:0;gap:10px}.loadout h1{font-size:25px}.collection{grid-template-rows:auto 32px minmax(0,1fr) 16px;gap:8px}.collection-title h2{font-size:20px}.collection-title .eyebrow{display:none}.collection-tabs{gap:20px}.collection-tabs button{font-size:11px;padding-bottom:7px}.launcher .skins.skins-grid{grid-auto-columns:clamp(120px,15vw,180px)}.launcher .skin-name{font-size:10px;min-height:26px}.launcher .skin-sub{padding-bottom:5px;font-size:8px}.control-hint{font-size:9px}.equipped strong{font-size:15px}}
@media(max-height:500px){.launcher{grid-template-columns:170px minmax(0,1fr)}.loadout .eyebrow{font-size:8px}.loadout h1{font-size:23px}.loadout .name-box{height:42px;min-height:42px}.loadout .play-btn{min-height:44px}.loadout{gap:9px}.control-hint{display:none}.launcher .skins.skins-grid{grid-template-rows:1fr;grid-auto-columns:clamp(140px,22vw,190px)}.wordmark{font-size:17px}.collection-footer span:first-child{display:none}}
@media(max-height:390px){.loadout-portrait{display:none}.loadout{justify-content:center}.loadout h1{font-size:21px}.launcher{grid-template-rows:32px minmax(0,1fr);gap:8px 16px}.collection{grid-template-rows:24px 28px minmax(0,1fr) 12px;gap:5px}.collection-title h2{font-size:17px}.collection-tabs button{font-size:10px}.unlocked b{display:inline;font-size:10px;margin-left:6px}.launcher .skins.skins-grid{grid-auto-columns:clamp(115px,19vw,160px);gap:9px}.collection-footer{font-size:8px}.lobby-status{font-size:9px}}
@media(max-width:600px) and (orientation:portrait){.launcher{grid-template-columns:140px minmax(0,1fr);gap:12px}.loadout h1{font-size:23px}.collection-title h2{font-size:18px}.collection-tabs{gap:6px}.collection-tabs button{font-size:9px}.unlocked{display:none}.launcher .skins.skins-grid{grid-auto-columns:100%}}
