/* Owner-selected Menu blue is the only gameplay UI palette. */
:root{--ui-text:#e6f4ff;--ui-bg-top:#173348;--ui-bg-mid:#081b2b;--ui-bg-bottom:#030b15;--ui-frame:#91b4ce26;--ui-accent:#9cceef;--ui-eyebrow:#9aadc0;--ui-muted:#a8bfd1;--ui-button:#173a5277;--ui-border:#91b4ce44;--ui-primary:#a9d5f3;--ui-on-primary:#071722;--ui-primary-border:#c9e9ff;--ui-hover:#244c67;--ui-hover-border:#bddcf0;--ui-focus:#cbeaff;--ui-primary-hover:#c9e9ff;--ui-primary-hover-border:#eff8ff;--ui-note:#9db3c6;--ui-status:#c9e9ff;--ui-complete-top:#21455f;--ui-complete-mid:#0b2236;--ui-complete-deep:#04121f;--ui-complete-base:#020914;--ui-ring:#8ac7ef26;--ui-ring-light:#bddfff55;--ui-ring-dark:#5b98c322;--ui-ring-inset:#aad9ff18;--ui-ring-glow:#6bb7ff1a;--ui-number:#acd9ff0d;--ui-message:#a8bfd1;--ui-coming:#e1effa;--ui-pill-border:#a2c8e244;--ui-pill:#b8d3e6;--ui-quiet:#a9c1d3;--ui-credit-label:#a6c9df;--ui-credit-text:#d6e7f4;--ui-control-title:#b8def6;--ui-control-border:#8eb6d122;--ui-control-text:#b8ccdc;}
#gameplay-menu{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:32px;color:var(--ui-text);background:radial-gradient(ellipse at 50% 0,var(--ui-bg-top) 0,var(--ui-bg-mid) 42%,var(--ui-bg-bottom) 100%);font:18px/1.5 system-ui,sans-serif;overflow:auto}
#gameplay-menu::before{content:"";position:absolute;inset:24px;border:1px solid var(--ui-frame);pointer-events:none}
#gameplay-menu[hidden]{display:none}
/* Native pause/checkpoint dialogs own simulation, but never presentation. */
body.gameplay-menu-open #canvas{visibility:hidden}
.gameplay-card{position:relative;width:min(440px,100%);text-align:left;padding:32px 0}
.gameplay-card::before{content:"";display:block;width:44px;height:3px;background:var(--ui-accent);margin-bottom:28px}
.gameplay-card h2{font-size:clamp(36px,6vw,52px);font-weight:550;line-height:1.1;letter-spacing:-.045em;margin:0 0 32px}
.gameplay-card .eyebrow{text-transform:uppercase;font-size:11px;font-weight:650;letter-spacing:.24em;color:var(--ui-eyebrow);margin:0 0 10px}
.gameplay-card>p:not(.eyebrow){color:var(--ui-muted);font-size:15px}
.gameplay-card button{display:block;width:100%;margin:10px 0;padding:15px 18px;text-align:left;background:var(--ui-button);border:1px solid var(--ui-border);border-radius:3px;color:var(--ui-text);font:550 16px system-ui;cursor:pointer;transition:background .12s,border-color .12s}
.gameplay-card button:first-of-type{background:var(--ui-primary);color:var(--ui-on-primary);border-color:var(--ui-primary-border)}
.gameplay-card button:hover,.gameplay-card button:focus-visible{background:var(--ui-hover);border-color:var(--ui-hover-border);outline:2px solid var(--ui-focus);outline-offset:3px}
.gameplay-card button:first-of-type:hover,.gameplay-card button:first-of-type:focus-visible{background:var(--ui-primary-hover);border-color:var(--ui-primary-hover-border);outline-color:var(--ui-primary-hover)}
.gameplay-card button:disabled{opacity:.5;cursor:wait;outline:none}
.menu-note{font-size:13px!important;color:var(--ui-note)}
#gameplay-menu-status:empty{display:none}
#gameplay-menu-status{color:var(--ui-status)!important}
#fullscreen-control{position:fixed;right:24px;bottom:20px;z-index:10001;text-align:right;max-width:min(360px,85vw)}
#fullscreen-control button{padding:10px 16px;border:1px solid #7892a688;border-radius:4px;background:#07121dcc;color:#deefff;font:500 14px system-ui;cursor:pointer}
#fullscreen-control button:hover{background:#20394e}
#fullscreen-control button:focus-visible{outline:2px solid #a9cee8;outline-offset:3px}
[data-fullscreen-status]{font:13px/1.5 system-ui;color:var(--ui-status)}
[data-fullscreen-status]:empty{display:none}
@media(max-width:600px){#gameplay-menu{padding:32px}#gameplay-menu::before{inset:12px}.gameplay-card{padding:12px 0}}
#continue-game{display:block;margin:12px auto;padding:12px 26px;border:1px solid #7ab4d1;border-radius:5px;background:#14374de8;color:#e8f6ff;font:600 18px system-ui;cursor:pointer}#continue-game[hidden]{display:none}#continue-game:hover,#continue-game:focus-visible{background:#27566f;outline:2px solid #9bddff}
/* Terminal success appears only after the native extraction outro finishes. */
#gameplay-menu.is-complete{background:radial-gradient(ellipse at 75% 45%,var(--ui-complete-top) 0,var(--ui-complete-mid) 30%,var(--ui-complete-deep) 67%,var(--ui-complete-base) 100%);isolation:isolate;overflow-x:hidden}
#gameplay-menu.is-complete::after{content:"";position:absolute;z-index:-1;left:65%;top:50%;width:min(74vw,1000px);height:min(74vw,1000px);border:clamp(30px,6vw,80px) solid var(--ui-ring);border-left-color:var(--ui-ring-light);border-right-color:var(--ui-ring-dark);border-radius:50%;transform:translate(-20%,-50%) rotate(-24deg) scaleX(.43);box-shadow:inset 14px 0 40px var(--ui-ring-inset),0 0 90px var(--ui-ring-glow);pointer-events:none}
.is-complete .gameplay-card{width:min(1040px,100%);padding:42px 0}
.is-complete .gameplay-card::before{width:56px;margin-bottom:24px}
.is-complete .gameplay-card h2{font-size:clamp(54px,7.8vw,100px);line-height:.99;letter-spacing:-.065em;margin:36px 0 24px;font-weight:580;max-width:700px}
.gameplay-card .completion-number{position:absolute;right:5%;top:12%;font:500 clamp(150px,24vw,300px)/1 system-ui;color:var(--ui-number);letter-spacing:-.1em;margin:0;z-index:-1}
.gameplay-card .completion-message{font-size:17px;line-height:1.55;margin:0 0 26px;color:var(--ui-message)}
.gameplay-card .coming-soon{display:flex;align-items:center;gap:16px;color:var(--ui-coming);font-size:16px;font-weight:550;margin:0 0 34px}
.coming-soon span{border:1px solid var(--ui-pill-border);border-radius:20px;padding:5px 12px;color:var(--ui-pill);font-size:11px;text-transform:uppercase;letter-spacing:.12em}
.completion-actions{width:min(370px,100%)}
.completion-actions button span{float:right;font-size:20px;line-height:20px}
.gameplay-card button.quiet-button{width:auto;background:none;border-color:transparent;color:var(--ui-quiet);padding:8px 0;margin-top:16px;font-size:13px;text-decoration:underline;text-underline-offset:4px}
.completion-credits{max-width:440px;margin:30px 0;font-size:16px}.completion-credits dt{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:var(--ui-credit-label);margin-top:22px}.completion-credits dd{margin:5px 0 0;color:var(--ui-credit-text)}.is-complete .gameplay-card>button{max-width:370px}
@media(max-width:600px){.is-complete .gameplay-card{padding:28px 0}.is-complete .gameplay-card h2{font-size:58px;margin-top:26px}#gameplay-menu.is-complete::after{left:55%;width:120vw;height:120vw;opacity:.6}.gameplay-card .completion-number{right:0;top:18%}.completion-actions{width:100%}}

#fullscreen-control small{margin-left:10px;opacity:.7;font-size:11px}
body.ownership-pending #fullscreen-control,#loading.starting:not([hidden])~#fullscreen-control,.gameplay-menu-open #fullscreen-control{display:none}
body:fullscreen,body:-webkit-full-screen{width:100%;height:100%;background:#030610}

#gameplay-menu.is-controls{align-items:start}
.is-controls .gameplay-card{width:min(780px,100%);padding:12px 0}
.is-controls .gameplay-card::before{margin-bottom:16px}
.is-controls .gameplay-card h2{font-size:40px;margin-bottom:22px}
.controls-columns{display:grid;grid-template-columns:1fr 1fr;gap:36px}
.controls-columns h3{font-size:14px;color:var(--ui-control-title);margin:0 0 12px}
.controls-columns dl{margin:0;font-size:13px;line-height:1.4}
.controls-columns dl>div{display:flex;justify-content:space-between;gap:16px;padding:2px 0;border-bottom:1px solid var(--ui-control-border)}
.controls-columns dt{color:var(--ui-control-text)}.controls-columns dd{margin:0;text-align:right;color:var(--ui-text);white-space:nowrap}
.controls-columns p,.gameplay-card .controls-driving,.gameplay-card .controls-fullscreen{font-size:13px;line-height:1.5;color:var(--ui-control-text)}
.gameplay-card .controls-driving{margin:20px 0 4px}.gameplay-card .controls-fullscreen{margin:4px 0 18px}
.is-controls .gameplay-card>button{max-width:320px}
@media(max-width:620px){.controls-columns{grid-template-columns:1fr;gap:24px}.is-controls .gameplay-card{padding:16px 0}.is-controls .gameplay-card h2{font-size:36px}.is-controls .gameplay-card>button{max-width:none}}
