/* Solar Duel desktop presentation. Version 2.4.5 adds a single separated banner below the arena and compact advertising links in settings. Gameplay retains its original viewport dimensions. */
:root{color-scheme:dark;font-family:Inter,Arial,sans-serif;background:#070b13;color:#e6eef9}*{box-sizing:border-box}body{margin:0;padding:22px 34px;background:radial-gradient(ellipse at 50% 30%,#102031 0,#070b13 65%);min-width:850px}header{height:85px;display:flex;align-items:flex-start;justify-content:space-between}h1{font-size:23px;letter-spacing:5px;margin:0 0 5px;font-weight:850}h1 span{color:#69e8dc}a{color:#8293a8;text-decoration:none}.mission{text-align:center;display:grid;gap:9px}.eyebrow{font-size:10px;letter-spacing:3px;color:#879bb1}.mission strong{font-size:16px;letter-spacing:4px}.tools{display:flex;align-items:center;gap:12px}.tools>span{font-size:10px;letter-spacing:1px;color:#89a9aa}button{cursor:pointer;color:inherit;border:1px solid #304150;background:#12202c;border-radius:7px;padding:10px 14px;font:inherit}button:hover{border-color:#6debdc;background:#203743}button:focus-visible{outline:2px solid #72f6e5;outline-offset:3px}svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;display:block}main{max-width:1660px;margin:auto}.hud{display:flex;justify-content:space-between;align-items:center;margin:0 0 18px;gap:50px}.hud section{width:42%;max-width:540px}.pilot{display:flex;justify-content:space-between;font-size:11px;letter-spacing:2px;margin-bottom:9px}.bar{height:5px;background:#1d2b38;margin-bottom:10px}.bar i{display:block;height:100%;transition:width .15s;background:var(--ship)}.subsystems{display:flex;gap:16px;font-size:9px;letter-spacing:1px;color:#98a9bc}.subsystems b{color:var(--ship);font-weight:500}.abilities{display:flex;justify-content:space-between;margin-top:10px;font-size:10px;color:#8599ad;letter-spacing:1px}.score{text-align:center;white-space:nowrap}.score span{display:block;font-size:26px;letter-spacing:5px}.score small{font-size:8px;letter-spacing:2px;color:#72889f}.arena{position:relative;border:1px solid #263945;border-radius:10px;overflow:hidden;box-shadow:0 24px 90px #0007;background:#070c16}canvas{display:block;width:100%;aspect-ratio:16/9;max-height:calc(100vh - 270px);object-fit:contain}.arena-tag{position:absolute;top:18px;left:22px;font-size:9px;letter-spacing:2px;color:#88a2b5;pointer-events:none}.arena-tag span{margin-left:20px;color:#3f5d70}footer{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.4px;color:#70899f;padding:15px 0}footer>div:first-child{display:flex;gap:8px;align-items:center}.dot{width:6px;height:6px;border-radius:50%;background:#5ef1d3}.spin{display:inline-block;width:10px;height:10px;border:1px solid #517577;border-top-color:#73f0de;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#overlay{position:absolute;inset:0;display:flex;align-items:center;padding:7%;background:linear-gradient(90deg,#070c16ed,#070c1670 63%,transparent)}#overlay.hidden{display:none}.card{max-width:550px}.card h2{font-size:clamp(34px,4.5vw,70px);line-height:1.06;letter-spacing:-2px;margin:24px 0}.card em{font-style:normal;color:#74e8d8}.card p{font-size:14px;color:#8da4ba;line-height:1.7;max-width:440px}.primary{background:#76eddb;color:#071919;border:0;font-size:11px;font-weight:800;letter-spacing:2px;padding:19px 23px;margin-top:20px;min-width:250px;display:flex;justify-content:space-between;gap:30px}.primary:hover{background:#acffee}.card small{display:block;font-size:9px;letter-spacing:2px;color:#6b8498;margin-top:17px}#notice{position:absolute;bottom:26px;width:100%;text-align:center;color:#f3c572;font-size:11px;letter-spacing:2px;pointer-events:none}dialog{max-width:570px;border:1px solid #3a5366;background:#0d1723;color:#cfdeeb;border-radius:15px;padding:28px;box-shadow:0 20px 100px #000}dialog::backdrop{background:#000b}.menu-head{display:flex;justify-content:space-between;align-items:center}.menu-head h2{margin:0}ol{padding-left:20px;font-size:13px;line-height:1.7;color:#9db1c3}li{margin:8px 0}b{color:#dce9f1}label{display:block;margin:18px 0;font-size:13px}#restart{font-size:10px;letter-spacing:2px}

/* Version 2.0.0: compact intermission banner; combat uses the entire viewport without status banners. */
body.battle{padding:0;overflow:hidden}body.battle header,body.battle .hud,body.battle footer,body.battle .arena-tag{display:none}body.battle main{max-width:none}body.battle .arena{height:100vh;border:0;border-radius:0}body.battle canvas{height:100vh;max-height:none;width:100vw;object-fit:contain}.card h2{font-size:48px;letter-spacing:1px;margin:10px 0}.card p{margin:10px 0}.card .eyebrow:empty{display:none}#overlay{background:linear-gradient(90deg,#070c16d9,#070c1633);padding:5%}.score span{font-size:18px;letter-spacing:2px}.hud{margin-bottom:14px}.credits,#logStatus{font-size:11px;color:#92aabe;line-height:1.5}.credits a,#downloadLog{color:#77e8d4}.toggle{border:1px solid #304b59;border-radius:8px;padding:12px}.toggle input{accent-color:#64e8d3}#downloadLog{display:block;margin:10px 0}#downloadLog[hidden],#start[hidden]{display:none}button:disabled{opacity:.5;cursor:wait}

/* Version 2.1.0: dominant win scoreboard with separately labeled remaining lives. */
.score{min-width:210px;padding:10px 24px;border:1px solid #294451;border-radius:12px;background:linear-gradient(135deg,#13302c88,#26162788);box-shadow:0 6px 24px #0003}.score #score{display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:48px;font-weight:850;line-height:1.05;font-variant-numeric:tabular-nums;margin:5px 0}.score #score .score-divider{font-size:27px;color:#6e8394}.score .you-score{color:#6ff4dc}.score .rival-score{color:#ff719d}.score .score-label{display:flex;justify-content:space-between;letter-spacing:2px}.score .score-label span{font-size:10px;letter-spacing:2px}.score>small{display:block}.score #lives{margin-top:7px;color:#c3d2df;letter-spacing:1px;font-size:9px}

/* Version 2.3.0: compact local-network controls, accessible toggles and training feedback. */
.network-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:12px 0}.network-buttons button{padding:12px 6px;font-size:12px;min-height:46px}.network-buttons button[aria-pressed="true"]{background:#174c46;border-color:#6ff4dc;color:#a9ffeb;box-shadow:0 0 12px #6ff4dc22}.network-buttons button[aria-pressed="true"]::after{content:' · ON'}button:disabled{opacity:.5;cursor:wait}#networkStatus,#logStatus{font-size:12px;line-height:1.5;margin:9px 0}#networkStatus.error{color:#ff91a5}.working::before{content:'';display:inline-block;width:12px;height:12px;border:2px solid #38536c;border-top-color:#6ff4dc;border-radius:50%;animation:spin 1s linear infinite;margin-right:8px}#networkProgress{width:100%;accent-color:#6ff4dc}#downloadNetwork{display:block;margin:10px 0;color:#6ff4dc}#downloadNetwork[hidden],#fileDrop[hidden]{display:none}#fileDrop{position:fixed;inset:0;z-index:100;background:#081622ed;border:3px dashed #6ff4dc;display:grid;place-items:center;text-align:center;padding:24px;pointer-events:none}details{margin:10px 0;font-size:12px;color:#a6b8ca}summary{cursor:pointer}details p{line-height:1.5}

/* Version 2.3.1: compact New Game action in the status header. */
#newGame{font-size:11px;font-weight:700;white-space:nowrap;color:#9ff8e7;border-color:#477e76;padding:10px 12px}

/* Version 2.4.0: four learning actions in a compact two-column settings layout. */
.network-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}

body.pb-game-ads.battle{overflow-y:auto;overflow-x:auto}

/* Version 1.0.0: one desktop banner in normal document flow, with a 150px buffer from gameplay and advertising links in settings. */
.pb-game-ad{width:728px;margin:150px auto 24px;padding:0;text-align:center;line-height:normal}
.pb-game-ad[hidden]{display:none!important}
.pb-ad-label{margin:0 0 8px;font:10px/1.4 Arial,sans-serif;letter-spacing:1px;color:#9daaa6}
.pb-game-ad ins.adsbygoogle{margin:0;padding:0;background:transparent;text-decoration:none}
.pb-ad-links{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:16px 0;font:12px/1.5 Arial,sans-serif}
.pb-ad-links a{color:#8ee1c1;text-decoration:underline;text-underline-offset:3px}
