/* Preparation screen only. The battle dock and training page retain their own styles. */
body:not(.in-battle){background:#07111e;color:#e9f4ff;isolation:isolate}
body:not(.in-battle)::before{content:'';position:fixed;inset:-12px;background:linear-gradient(90deg,#06111feb,#0a1d32da),url('assets/maps/urban-court-wide.png') center/cover;filter:blur(7px);z-index:-1;pointer-events:none}
body:not(.in-battle) main{max-width:1580px;padding:20px 28px 45px}
body:not(.in-battle) .topbar{background:#071526ec;border-color:#213e61;box-shadow:0 6px 28px #0007}
body:not(.in-battle) .brand{color:#f0f8ff;font-family:'Segoe UI',sans-serif;font-weight:900;letter-spacing:1px}
body:not(.in-battle) .brand b{color:#66d9ff}
#selection{--menu-line:#295074;--menu-muted:#a5bfd4;--menu-cyan:#4ce3ff;--menu-lime:#60e1ff}
#selection .setup-heading{padding:18px 22px;background:linear-gradient(100deg,#081d36ef,#102d4ada);border:1px solid #32618a;border-radius:10px;box-shadow:inset 0 1px #a1d6ff1a,0 10px 35px #0006}
#selection .setup-kicker{color:#51dfff;font-weight:700;letter-spacing:2px}
#selection .setup-heading h1{font-family:'Segoe UI',sans-serif;font-weight:900;color:#f3f8ff;letter-spacing:-1px;font-size:clamp(26px,2.8vw,38px)}
#selection .setup-heading h1 span{color:#36d8ff}
#selection .setup-heading p{color:#a9c5db}
#selection .training-link,#selection .setup-heading>.small-button{background:linear-gradient(135deg,#067fd0,#0956a5);border:1px solid #3dd4ff;border-radius:6px;box-shadow:0 0 15px #008cff38;color:#fff;font-weight:700}
#selection .training-link:hover,#selection .setup-heading>.small-button:hover{background:#087fe3}
#selection .setup-steps{background:#071a2eeb;border:1px solid #204b72;border-radius:7px;overflow:hidden}
#selection .setup-steps a{border-color:#1b3a5c;color:#a8c9e6}
#selection .setup-steps a:hover{background:#123b62;color:#fff}
#selection .setup-steps b,#selection .setup-steps .complete b{background:#0d7099;border-radius:50%;color:#eaffff}
#selection .setup-panel{background:linear-gradient(145deg,#0a1d33f5,#091a2df0);border:1px solid #294d72;border-radius:9px;box-shadow:inset 0 1px #b7e3ff16,0 8px 20px #0005}
#selection .panel-heading h2{font-family:'Segoe UI',sans-serif;font-size:15px;font-weight:800;color:#ecf6ff;letter-spacing:.5px;text-transform:uppercase}
#selection .step-number{display:grid;place-items:center;width:29px;height:29px;padding:0;border:1px solid #75f5ff;border-radius:50%;background:linear-gradient(#10c8e6,#0073a8);color:white;font-weight:800;box-shadow:0 0 12px #00c6ed55}
#selection .panel-meta,#selection #roster-result{color:#86a8c6}
#selection .count-badge{background:#153e60;color:#73eafa;border:1px solid #287ba0;border-radius:4px}
#selection .battle-configuration{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,390px);gap:8px 22px;align-items:start;padding:18px 20px}
#selection .battle-configuration>.panel-heading{grid-column:1/-1}
#selection .settings-fields{grid-column:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
#selection .settings-fields label{color:#a8c2db;font:600 11px 'Segoe UI',sans-serif;letter-spacing:.3px}
#selection select,#selection .search-box{background:#081a2cf0;border:1px solid #2c5379;border-radius:5px;color:#e7f5ff;box-shadow:inset 0 1px 5px #0004}
#selection select:hover,#selection .search-box:focus-within{border-color:#42d4ff}
#selection .config-foot{grid-column:2;grid-row:2 / span 3;display:block;border:0;margin:0;padding:0}
#selection .arena-thumbnail{display:grid;gap:7px}
#selection .arena-image{position:relative;overflow:hidden;border:1px solid #3886b0;border-radius:6px;background:#061326;aspect-ratio:16/6.5}
#selection .arena-image img{width:100%;height:100%;object-fit:cover;border:0;image-rendering:auto;transition:opacity .2s}
#selection .arena-arrow{position:absolute;bottom:8px;width:35px;height:35px;border:1px solid #3e88b4;border-radius:5px;background:#071a2eea;color:#fff;font-size:24px;line-height:1;cursor:pointer}
#selection .arena-arrow:hover{background:#0e69a6}#selection .arena-arrow.previous{left:8px}#selection .arena-arrow.next{right:8px}
#selection .arena-caption{text-align:center}#selection .arena-thumbnail b{font:800 16px 'Segoe UI',sans-serif;color:#f3f8ff}
#selection .arena-thumbnail p{font-size:11px!important;color:#a8c1d8!important;margin:3px 0!important}
#selection .arena-thumbnails{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}
#selection .arena-choice{padding:3px;background:#0b2139;border:1px solid #294c71;border-radius:5px;color:#a9c6db;cursor:pointer;overflow:hidden;min-width:0}
#selection .arena-choice img{display:block;width:100%;height:30px;object-fit:cover;border:0;border-radius:2px;image-rendering:auto}
#selection .arena-choice span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:9px 'Segoe UI',sans-serif;margin-top:3px}
#selection .arena-choice.active{border-color:#31e1ff;box-shadow:0 0 0 1px #22caff,0 0 10px #00aeff85;color:#fff}
#selection .arena-choice:disabled,#selection .arena-arrow:disabled{opacity:.5;cursor:not-allowed}
#selection #mode-description{margin:10px 0 0;max-width:none;color:#8cabc7}
#selection .team-selector{grid-column:1}
#selection .setup-workspace{grid-template-columns:minmax(0,1fr) minmax(335px,410px);gap:16px}
#selection .picker-panel{padding:18px}
#selection .roster-toolbar{grid-template-columns:minmax(130px,1fr) minmax(130px,170px)}
#selection .roster{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-height:780px;scrollbar-color:#2d80aa #071a2c}
#selection .pokemon-card{background:linear-gradient(155deg,#112c47,#0a1c31);border:1px solid #2d5173;border-radius:7px;color:#e8f5ff;box-shadow:inset 0 1px #a8d8ff16;transition:transform .15s,border-color .15s,box-shadow .15s}
#selection .pokemon-card:hover{background:linear-gradient(145deg,#173d5d,#0c243c);border-color:#64cfff;transform:translateY(-2px)}
#selection .pokemon-card.selected{background:linear-gradient(145deg,#124b75,#0b2744);border:2px solid #36ddff;box-shadow:0 0 0 1px #27adff,0 0 13px #00b7ff66}
#selection .card-top{color:#94b6d5}#selection .pick-order{border:1px solid #426b8d;border-radius:5px;background:#0b263d;color:#b5d8ef}
#selection .selected .pick-order{background:#05c4dc;border-color:#8bfaff;color:white}
#selection .sprite-stage{height:105px;background:radial-gradient(ellipse at 50% 70%,var(--tint),transparent 70%)}
#selection .sprite-stage canvas{width:102px!important;height:102px!important;image-rendering:pixelated}
#selection .sprite-stage:after{background:#7acbff33}
#selection .card-copy h3{font-family:'Segoe UI',sans-serif;color:#f4f9ff;letter-spacing:0}
#selection .type{color:var(--type);border-color:color-mix(in srgb,var(--type) 65%,transparent);background:#071a2c;border-radius:3px;font-size:9px;font-weight:700;margin:0 3px 2px 0}
#selection .role{color:#9db7cc}
#selection .card-attributes label,#selection .card-attributes small{color:#a8c3d7}
#selection .card-attributes i>b{background:#1aaee2;box-shadow:0 0 5px #00baff55}
#selection .pick-status{background:#0c233a;color:#b6d9eb;border-color:#254769}
#selection .selected .pick-status{background:#0078bc;color:white;border-color:#36dfff}
#selection .picker-help{border-color:#254769;color:#88aac3}
#selection .prepare-footer{top:12px;overflow:hidden}
#selection .team-block{border-color:#254769;padding:17px}
#selection .team-preview{display:grid;gap:9px}
#selection .team-slot{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px;height:auto;min-height:78px;padding:8px;background:#091b30;border:1px dashed #355a7b;border-radius:6px;color:#93b0c8}
#selection .team-slot.filled{border-style:solid;border-color:#2b577c;background:#0d2943}
#selection .team-slot.active{border-color:#3bdcff;box-shadow:inset 2px 0 #2dd9ff}
#selection .team-edit{display:flex;align-items:center;gap:6px;min-width:0;color:#eef8ff;text-align:left;border:0;background:transparent;cursor:pointer}
#selection .team-edit canvas{width:58px!important;height:58px!important;image-rendering:pixelated;flex:none}
#selection .team-order{color:#53dcf7;font-size:10px}
#selection .team-info{display:grid;gap:4px;min-width:0}#selection .team-info strong{font:800 14px 'Segoe UI',sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#selection .team-info small{font:9px ui-monospace,monospace;color:#b1ccdd;white-space:nowrap}
#selection .team-actions{display:flex;gap:3px;align-self:start}#selection .team-actions button{width:25px;height:25px;background:#102b45;border:1px solid #3b6486;border-radius:4px;color:#d9efff;cursor:pointer}#selection .team-actions button:disabled{opacity:.35}
#selection .team-moves{grid-column:1/-1;justify-self:stretch;border:1px solid #2f9ac4;border-radius:4px;background:#123f65;color:#d9f8ff;font:700 10px 'Segoe UI',sans-serif;padding:6px;cursor:pointer}
#selection .team-moves:hover{background:#086a9d;border-color:#4deaff}
#selection .team-help{color:#91b1c9;font-size:11px}
#selection .loadout-details{order:2;border-top:1px solid #254769}
#selection .loadout-details>summary{display:flex;justify-content:space-between;padding:14px 16px;color:#d9f1ff;font:800 11px 'Segoe UI',sans-serif;cursor:pointer;list-style:none}
#selection .loadout-details>summary span{color:#5bd9ff;font-size:9px}#selection .loadout-details[open]>summary{background:#123550}
#selection .loadout-editor{border:0!important}
#selection .start-area{order:1;background:#081c31;border-color:#254769;padding:16px}
#selection #start{width:100%;border:1px solid #ffe584;border-radius:6px;background:linear-gradient(#ffd75b,#f89a05);color:#17202c;box-shadow:0 3px 0 #a75b00,0 0 16px #e4a72e42;font:900 15px 'Segoe UI',sans-serif;letter-spacing:.5px;padding:14px;transition:transform .15s,filter .15s}
#selection #start:hover:not(:disabled){filter:brightness(1.12);transform:translateY(-2px)}#selection #start:active:not(:disabled){transform:translateY(1px)}#selection #start:disabled{opacity:.48;box-shadow:none}
#selection #selection-hint,#selection .match-summary{color:#a0bdd0}
#selection .menu-controls,#selection .menu-note{color:#91b0c6}
@media(max-width:1000px){#selection .setup-workspace{grid-template-columns:minmax(0,1fr) 330px}#selection .roster{grid-template-columns:repeat(2,minmax(0,1fr))}#selection .battle-configuration{grid-template-columns:minmax(0,1fr) minmax(250px,330px)}}
@media(max-width:760px){body:not(.in-battle) main{padding:14px 12px 105px}#selection .setup-heading{flex-wrap:wrap;padding:15px}#selection .setup-steps{display:grid;grid-template-columns:1fr 1fr}#selection .battle-configuration{display:flex;flex-direction:column;padding:15px;gap:13px}#selection .settings-fields{width:100%}#selection .config-foot{width:100%}#selection .arena-image{max-height:240px}#selection .setup-workspace{display:flex;flex-direction:column}#selection .picker-panel,#selection .prepare-footer{width:100%;position:static}#selection .roster{max-height:none;overflow:visible;padding:0}#selection .prepare-footer{overflow:visible}#selection .start-area{position:static;display:flex}#selection .start-area .match-summary,#selection .start-area #selection-hint{display:block}#selection .mobile-team-link{display:none}#selection .team-slot{min-height:78px}#selection .team-edit canvas{width:58px!important;height:58px!important}}
@media(max-width:400px){#selection .roster-toolbar{grid-template-columns:1fr 120px}#selection .settings-fields{grid-template-columns:1fr}#selection .arena-choice span{font-size:8px}#selection .role{min-height:28px}#selection .card-copy{padding-inline:8px}#selection .pick-status{margin-inline:-8px}}
@media(prefers-reduced-motion:reduce){#selection *{transition:none!important;scroll-behavior:auto!important}}
