:root{color-scheme:dark;--bg:#10151c;--panel:#18212d;--line:#34485e;--muted:#b2c0cd;--accent:#f4df60;--green:#173f31}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);color:#eef3f7;font:16px/1.55 system-ui,sans-serif}a{color:var(--accent);text-underline-offset:4px}header{background:#0e2d24;border-bottom:2px solid #496655;padding:20px max(20px,calc((100% - 1160px)/2))}header a{font-size:26px;font-weight:800;text-decoration:none;letter-spacing:1px}header p{margin:2px 0;color:#ccd9ce;font-size:14px}nav{display:flex;flex-wrap:wrap;gap:8px;max-width:1200px;padding:16px 20px;margin:auto}nav a,.button,button{background:#253347;border:1px solid #50647a;border-radius:4px;color:#fff;text-decoration:none;font:inherit;padding:10px 16px;min-height:44px;cursor:pointer}nav a[aria-current=page],.primary{background:var(--green);border-color:#739c7d;color:var(--accent)}button:disabled{opacity:.4;cursor:default}main{max-width:1160px;margin:0 auto;padding:16px 20px 40px}h1{font-size:clamp(28px,4vw,42px);line-height:1.15;margin:12px 0 20px;color:var(--accent)}h2{font-size:22px;margin-top:0}p{margin:12px 0}.lead{font-size:19px;max-width:780px;color:#d8e1e8}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:2px;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin:24px 0}.panel{border:1px solid var(--line);background:var(--panel);padding:22px;border-radius:6px;margin:16px 0}.cards .panel{margin:0}.actions,.game-tools,.touch-tools,.touch-entry,.pager{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:16px 0}.notice{border-left:3px solid var(--accent);padding:12px 16px;background:#24291f}.muted,small{color:var(--muted)}.stats{display:flex;flex-wrap:wrap;gap:28px;margin:30px 0}.stats strong{font-size:28px;color:var(--accent);display:block}.filters{display:flex;flex-wrap:wrap;gap:14px;margin:24px 0}.filters label{display:flex;flex-direction:column;gap:6px;flex:1;min-width:150px}input,select{font:inherit;min-height:44px;background:#0e1723;color:white;border:1px solid #587086;border-radius:3px;padding:10px;max-width:100%}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;background:var(--panel)}th,td{padding:12px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--accent)}td button{padding:2px;border:0;background:none;color:var(--accent);text-align:left}dialog{background:var(--panel);color:#fff;border:1px solid #677f95;border-radius:6px;max-width:min(580px,95vw);width:100%;max-height:90vh;padding:24px}dialog::backdrop{background:#000b}dialog h2{margin-right:70px}dialog .close{float:right}.attribute{display:grid;grid-template-columns:145px 1fr 25px;align-items:center;gap:10px;margin:8px 0}progress{width:100%;height:10px;accent-color:var(--accent)}footer{border-top:1px solid var(--line);padding:22px;text-align:center;color:var(--muted);font-size:13px}footer a{color:var(--muted)}summary{cursor:pointer;font-weight:600}#dos{width:100%;height:min(75vw,660px);min-height:240px;background:black;touch-action:none;border:1px solid var(--line)}#dos canvas{touch-action:none}#game-status{padding:12px 16px;background:#1e3027;min-height:48px}.busy{color:var(--accent)}.game-tools button[hidden]{display:none}.touch-tools [aria-pressed=true]{background:var(--green);color:var(--accent)}.page-play main:fullscreen{background:var(--bg);overflow:auto;max-width:none;width:100%;padding:12px}.page-play main:fullscreen #dos{height:calc(100vh - 215px);min-height:240px}.page-play main:fullscreen .game-intro,.page-play main:fullscreen details{display:none}.page-play main:fullscreen h1{font-size:20px;margin:0}.page-play main:fullscreen .game-tools{margin:8px 0}.page-play main:fullscreen #game-status{margin:8px 0}.page-play main:fullscreen .touch-entry{margin:8px 0}.badge{display:inline-block;background:#223c2e;border:1px solid #5d8968;padding:3px 10px;border-radius:3px;font-size:13px}.warning{background:#3f3020;border-color:#9c7d4e}@media(max-width:600px){nav{gap:6px;padding:12px}nav a{padding:8px 10px;font-size:14px}main{padding:12px}.panel{padding:16px}.attribute{grid-template-columns:125px 1fr 22px;font-size:14px}.stats{gap:20px}.game-tools button,.touch-tools button{padding:8px 10px;font-size:14px}.filters label{min-width:130px}header{padding:16px}#dos{min-height:220px}td,th{padding:9px}.page-play main:fullscreen #dos{height:calc(100vh - 190px)}}

/* The first screen is a game launcher; controls appear when the game is ready. */
#dos:empty{display:none}body:has(#start-game:not([hidden])) .touch-tools,body:has(#start-game:not([hidden])) .touch-entry{display:none}#start-game{background:var(--green);border-color:#739c7d;color:var(--accent);font-size:20px;font-weight:700;padding:14px 30px;min-width:220px}.page-play .game-intro{max-width:760px}.page-play #game-status{font-size:14px}.page-play details{max-width:900px}

[hidden]{display:none!important}.account-nav{margin-left:auto;font-size:14px}#account-dialog{max-width:min(680px,95vw)}#account-dialog input:not([type=file]),#account-dialog select{display:block;width:100%;margin:8px 0 14px}#account-status:empty{display:none}#account-status{padding:12px;background:#20372d}#account-status.error{background:#4a2525}.cloud-save{border-top:1px solid var(--line);padding:14px 0}.cloud-save h3{margin:0;overflow-wrap:anywhere}.cloud-save p{font-size:14px}.cloud-save .actions{margin-bottom:0}#account-identity{overflow-wrap:anywhere}#account-dialog details{margin:18px 0}#account-login .muted{font-size:13px}@media(max-width:600px){.account-nav{margin-left:0;width:100%;text-align:left}}

.cloud-confirm{border:1px solid var(--accent);background:#20372d;padding:14px;margin:14px 0}.cloud-confirm button{margin:4px}

.auth-modes button[aria-pressed="true"]{background:#194d3c;color:#fff;border-color:#194d3c}#account-dialog textarea{box-sizing:border-box;width:100%;font:1rem/1.7 monospace;background:#0e1723;color:#fff;padding:12px;border:1px solid #a9b9af;border-radius:6px;resize:vertical}#account-dialog input{box-sizing:border-box}#account-key{padding:14px;background:#20372d;border:1px solid #739c7d;border-radius:8px}#account-dialog label{display:block;margin-top:12px}#account-dialog form>button{margin-top:14px}

/* Bring back the original CM menu: a green pitch, yellow title and blue tile edges. */
:root{--bg:#08230e;--panel:rgba(3,12,19,.95);--line:#1739a7;--muted:#c5d1cb;--accent:#fcfe02;--green:#004000}
body{position:relative;isolation:isolate;font-family:'Lucida Grande','Lucida Sans Unicode',Verdana,sans-serif;font-size:15px;background:#092a11}
.pitch-backdrop{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 35%,#ffffff09,transparent 65%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 640' preserveAspectRatio='xMidYMid slice'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.09' stroke-width='2'%3E%3Crect x='40' y='40' width='920' height='560'/%3E%3Cpath d='M500 40v560M40 190h140v260H40M960 190H820v260h140'/%3E%3Ccircle cx='500' cy='320' r='90'/%3E%3Ccircle cx='500' cy='320' r='3' fill='%23fff'/%3E%3C/g%3E%3C/svg%3E") center/cover no-repeat,repeating-linear-gradient(90deg,#15491f 0 7.14%,#11401b 7.14% 14.28%)}
.pitch-backdrop:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 25%,#0008)}
header{padding:17px 20px 13px;text-align:center;background:#004000;border-bottom:2px solid #001900;box-shadow:inset 0 1px #387238,0 2px #000}
header a{font-size:clamp(21px,3vw,30px);letter-spacing:.4px;text-shadow:2px 2px #000;line-height:1.25}
header a span{white-space:nowrap}header p{font-size:12px;color:#fff;margin-top:5px}
nav{max-width:1020px;justify-content:center;padding:18px 20px;gap:7px}
nav a,nav button,.button,button{border-radius:0;border:2px solid var(--line);background:#041219;font-size:14px;text-shadow:1px 1px #000;transition:background .12s,border-color .12s}
nav a[aria-current=page],.primary{background:#004000;border-color:#3050ce;color:var(--accent)}
nav a:hover,nav button:hover,button:hover:not(:disabled),.button:hover{background:#113d2b;border-color:var(--accent)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.account-nav{margin-left:16px;font-size:13px}
main{max-width:1020px;padding-top:14px}
h1,h2{text-shadow:2px 2px #000}h1{font-size:clamp(28px,4vw,38px)}
.panel{border:2px solid var(--line);border-radius:0;padding:20px;background:var(--panel)}
.panel>h2{background:#004000;color:var(--accent);font-size:17px;margin:-20px -20px 18px;padding:8px 14px;border-bottom:2px solid var(--line)}
input,select{background:#06151d;border-color:#526c81;border-radius:0}
table{background:#06151dec}th{background:#004000}td,th{border-bottom-color:#2c4d45}
footer{max-width:980px;margin:16px auto 0;padding:18px 16px;border-top:1px solid #91b38c55;font-size:11px;color:#ccd8cf;text-shadow:1px 1px #000}
footer a{display:inline-block;padding:5px 2px;color:#e5e9df}
.game-room{border:2px solid var(--line);background:rgba(2,13,18,.93);box-shadow:0 12px 40px #0004;padding:38px 36px 22px;max-width:900px;margin:4px auto 0}
.game-room .launch-copy{max-width:720px;margin:0 auto;text-align:center}
.game-room .eyebrow{font-size:11px;letter-spacing:2.5px;color:var(--accent);margin:0 0 15px}
.game-room h1{font-size:clamp(30px,5vw,47px);color:white;margin:0 0 14px;line-height:1.15}
.game-room .lead{font-size:17px;line-height:1.6;margin:0 auto 12px;color:#e8eee8}
.launch-instruction{font-size:13px;line-height:1.7;color:var(--muted);margin:0}
.game-room .game-tools{justify-content:center;margin:25px 0 15px}
.game-room #start-game{min-height:68px;min-width:290px;font-size:24px;font-weight:700;background:#004000;color:var(--accent);border:2px solid #3154df;border-radius:0;box-shadow:inset 0 1px #2b6b30,0 3px #000}
.game-room #start-game:hover:not(:disabled){border-color:var(--accent);background:#075509}
.game-room #game-status{padding:0;min-height:0;margin:14px auto 24px;max-width:570px;background:none;text-align:center;color:var(--muted);font-size:12px;line-height:1.7}
.launch-facts{display:flex;justify-content:center;gap:40px;border-top:1px solid #345447;padding-top:22px;text-align:center}
.launch-facts span{font-size:11px;color:var(--muted)}.launch-facts strong{display:block;font-size:19px;color:var(--accent);margin-bottom:3px}
.game-room .launch-footnote{font-size:11px;color:var(--muted);text-align:center;margin:23px 0 0;max-width:none}
.launch-footnote a{color:var(--muted)}
body:has(.game-room #start-game:not([hidden])) .game-room>details{display:none}
/* Once launched, give the game the space occupied by the welcome screen. */
.game-room:has(#start-game[hidden]){max-width:none;padding:12px;background:#06121b}
.game-room:has(#start-game[hidden]) .game-intro{display:none}
.game-room:has(#start-game[hidden]) .game-tools{margin:0 0 10px}
.game-room:has(#start-game[hidden]) #game-status{text-align:left;margin:10px 0;max-width:none}
.game-room:has(#start-game[hidden]) #dos{height:min(72vw,660px)}
.game-room>details{margin-bottom:0}
.page-play main:fullscreen .game-room:has(#start-game[hidden]) #dos{height:calc(100vh - 215px)}
#account-dialog,dialog{border:2px solid #3154df;border-radius:0;background:#06151d}
#account-key{border-color:#568652;border-radius:0;background:#113b27}
.auth-modes button[aria-pressed=true]{background:#004000;color:var(--accent);border-color:#3154df}
#account-dialog textarea{border-radius:0}
@media(max-width:600px){
 header{padding:16px 14px 12px}header a{display:block;max-width:330px;margin:auto}header p{font-size:11px}
 nav{gap:6px;padding:14px 12px}nav a{flex:1;text-align:center;padding:8px 6px;font-size:12px}
 .account-nav{margin:0;width:100%;text-align:center;min-height:40px;font-size:12px}
 main{padding:6px 12px 22px}.game-room{padding:27px 17px 19px;margin:0 auto}
 .game-room .lead{font-size:14px}.launch-instruction{font-size:12px}.launch-instruction br{display:none}
 .game-room #start-game{width:100%;min-width:0;min-height:64px;font-size:23px}
 .game-room .game-tools{margin:22px 0 14px}.game-room #game-status{font-size:11px;margin-bottom:20px}
 .launch-facts{gap:16px;justify-content:space-between;padding-top:18px}.launch-facts span{flex:1;min-width:0;font-size:10px}.launch-facts strong{font-size:16px}
 .game-room .launch-footnote{font-size:10px;margin-top:18px}.game-room:has(#start-game[hidden]){padding:6px}
 .page-play main:fullscreen .game-room:has(#start-game[hidden]) #dos{height:calc(100vh - 190px)}
 .panel{padding:16px}.panel>h2{margin:-16px -16px 15px}footer{margin:0 12px;padding:15px 0;font-size:10px}
 #account-dialog{padding:18px}.auth-modes{gap:6px}.auth-modes button{padding:8px;font-size:12px}
}
@media(prefers-reduced-motion:reduce){nav a,nav button,.button,button{transition:none}}
