@charset "UTF-8";
@font-face{font-family:"Emerald Normal";src:url("./assets/fonts/emerald-normal.woff2?v=2") format("woff2"),url("./assets/fonts/emerald-normal.ttf?v=2") format("truetype");font-weight:400;font-style:normal;font-display:block}
@font-face{font-family:"Emerald Narrow";src:url("./assets/fonts/emerald-narrow.woff2?v=2") format("woff2"),url("./assets/fonts/emerald-narrow.ttf?v=2") format("truetype");font-weight:400;font-style:normal;font-display:block}
@font-face{font-family:"Emerald Short";src:url("./assets/fonts/emerald-short.woff2?v=2") format("woff2"),url("./assets/fonts/emerald-short.ttf?v=2") format("truetype");font-weight:400;font-style:normal;font-display:block}
@font-face{font-family:"Emerald Small";src:url("./assets/fonts/emerald-small.woff2?v=2") format("woff2"),url("./assets/fonts/emerald-small.ttf?v=2") format("truetype");font-weight:400;font-style:normal;font-display:block}
@font-face{font-family:"Emerald Small Narrow";src:url("./assets/fonts/emerald-small-narrow.woff2?v=2") format("woff2"),url("./assets/fonts/emerald-small-narrow.ttf?v=2") format("truetype");font-weight:400;font-style:normal;font-display:block}
:root{color-scheme:dark;--bg:#043b3c;--deep:#022b30;--panel:#06494a;--panel-2:#07564f;--mint:#9be5bf;--border:#488e78;--ink:#153f38;--cream:#edf6dc;--paper:#f7f9e9;--gold:#f6d94d;--text:#edf9de;--muted:#b5d7c5;--font-game-label:"Emerald Small";--font-game-body:"Emerald Normal";--font-game-short:"Emerald Short";--font-game-narrow:"Emerald Narrow";--font-game-compact:"Emerald Small Narrow";font-family:var(--font-game-body);font-size:26px;background:var(--bg);color:var(--text)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 85% 0,#08655d55,transparent 36%),var(--bg);line-height:1.25}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit;text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,canvas:focus-visible{outline:3px solid var(--gold);outline-offset:4px}button:focus:not(:focus-visible){outline:none}h1,h2,h3,p{margin:0}img{display:block;max-width:100%}[hidden]{display:none!important}::selection{background:var(--gold);color:var(--ink)}
.shell{max-width:1280px;margin:auto;padding-left:42px;padding-right:42px}.skip-link{position:absolute;left:16px;top:-70px;background:var(--gold);color:var(--ink);z-index:30;padding:10px 20px}.skip-link:focus{top:12px}.site-header{border-bottom:1px solid #488e7866;background:#043b3ce8}.topbar{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none}.brand-icon{position:relative;width:36px;height:36px;display:grid;place-items:center;border:2px solid var(--mint);transform:rotate(45deg);background:#09655c;box-shadow:inset 0 0 0 4px #043b3c}.brand-icon::after{content:"";width:11px;height:11px;background:var(--gold);border:2px solid #163f39}.brand-type{font-family:var(--font-game-label);font-size:22px;line-height:1.5;letter-spacing:.06em}.brand-type small{display:block;color:var(--mint);font-size:16px;letter-spacing:.17em}.top-status{font-family:var(--font-game-label);font-size:16px;color:var(--muted);display:flex;align-items:center;gap:8px}.status-dot{width:6px;height:6px;background:var(--mint);box-shadow:0 0 8px #9be5bf55}.main-nav{display:flex;gap:5px;align-items:center}.nav-btn{border:0;background:transparent;color:var(--muted);padding:11px 15px;font-size:22px;font-weight:400;position:relative}.nav-btn:hover{color:var(--text);background:#ffffff08}.nav-btn[aria-current="page"]{color:var(--gold)}.nav-btn[aria-current="page"]::after{content:"";height:2px;position:absolute;bottom:0;left:15px;right:15px;background:var(--gold)}.nav-play{color:var(--ink)!important;background:var(--gold)!important;border:1px solid #fff1a3;border-radius:3px;box-shadow:0 3px 0 #6f8b51;padding:10px 21px;margin-left:10px}.nav-play[aria-current="page"]::after{display:none}
main{min-height:65vh;padding-top:34px;padding-bottom:70px}.view{animation:appear .22s ease}@keyframes appear{from{opacity:.5;transform:translateY(4px)}to{opacity:1;transform:none}}.eyebrow{font-family:var(--font-game-label);font-size:18px;letter-spacing:.14em;text-transform:uppercase;color:var(--mint)}.eyebrow.gold{color:var(--gold)}.section-top{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:24px}.section-top h2{font-size:48px;line-height:1.25;letter-spacing:0;margin-top:9px}.section-top p{font-size:24px;max-width:350px;color:var(--muted)}.section{margin-top:68px}.hero{display:grid;grid-template-columns:1.03fr 1fr;border:1px solid #63c4a1;border-radius:4px;background:linear-gradient(120deg,#075657,#086153 70%,#0c745a);box-shadow:0 5px 0 var(--deep),inset 0 0 0 4px #07504d;overflow:hidden}.hero-copy{padding:42px 40px;position:relative}.hero-logo{width:200px;height:53px;overflow:hidden;margin-bottom:19px}.hero-logo img{width:256px;max-width:none;height:64px;image-rendering:pixelated;object-fit:contain;transform:translateY(-6px)}.hero h1{font-family:var(--font-game-label);font-size:clamp(48px,3.5vw,68px);line-height:1.2;letter-spacing:0;margin:12px 0 17px;text-shadow:2px 2px #023d39}.hero h1 em{font-style:normal;color:var(--gold)}.hero-description{max-width:370px;font-size:24px;color:#daf1d6}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.button{display:inline-flex;justify-content:center;align-items:center;gap:12px;padding:11px 17px;border:1px solid var(--border);border-radius:3px;background:var(--panel-2);color:var(--text);font-size:22px;font-weight:400;text-decoration:none;min-height:43px;box-shadow:0 3px 0 var(--deep)}.button:hover{background:#0b7161}.button.primary{background:var(--gold);color:var(--ink);border-color:#fff0a3;box-shadow:0 3px 0 #687a48}.button.primary:hover{background:#ffe67b}.button.secondary{background:#063f4088;border-color:#76ba9c}.button.small{padding:8px 12px;font-size:20px;min-height:35px}.button.danger{color:#ffcbab;border-color:#ba8d6b;background:#663d3522}.button.ghost{box-shadow:none;background:transparent}.hero-fine{font-size:18px;color:#a8d3b9;display:flex;gap:14px;flex-wrap:wrap;margin-top:19px}.hero-fine span::before{content:"·";color:var(--mint);margin-right:5px}.hero-art{display:flex;flex-direction:column;justify-content:center;padding:27px 27px 27px 0;position:relative}.hero-screen{border:7px solid #043c3c;border-radius:3px;box-shadow:0 0 0 1px #73b69a,0 12px 25px #002b2f66;overflow:hidden;background:#032c30}.hero-screen img{width:100%;aspect-ratio:1.5;object-fit:cover;image-rendering:pixelated}.screen-caption{font-family:var(--font-game-label);display:flex;justify-content:space-between;font-size:16px;letter-spacing:.05em;color:#bddcc5;padding:9px 10px;background:#043536}.screen-caption span:first-child::before{content:"●";color:#9be5bf;margin-right:6px}.trust-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;padding:23px 0;border-bottom:1px solid #488e7866}.trust-item{display:flex;gap:11px;align-items:start;font-size:22px;color:var(--muted)}.trust-item strong{color:var(--text);font-size:22px}.trust-icon{font-family:var(--font-game-label);font-size:28px;line-height:1.4;color:var(--gold)}
.feature-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:18px}.feature-card{border:1px solid var(--border);border-radius:3px;overflow:hidden;background:var(--panel)}.feature-image{aspect-ratio:1.5;background:#073a3a;overflow:hidden;border-bottom:1px solid var(--border)}.feature-image img{width:100%;height:100%;object-fit:cover;image-rendering:pixelated}.feature-content{padding:19px 20px 22px}.feature-number{font:16px var(--font-game-label);letter-spacing:.12em;color:var(--mint);margin-bottom:7px}.feature-card h3{font-size:32px;line-height:1.3;margin-bottom:8px}.feature-card p{font-size:22px;color:var(--muted)}.facilities-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px}.facility-tile{display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center;padding:18px 8px 14px;background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:3px;box-shadow:0 3px 0 var(--deep)}.facility-tile:hover{background:#0a7361;border-color:var(--mint)}.facility-tile img{width:64px;height:64px;object-fit:contain;image-rendering:pixelated}.facility-tile strong{font:20px var(--font-game-label)}.facility-tile small{font-size:16px;color:var(--muted)}.mode-strip{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:24px 27px;border:1px solid var(--border);border-radius:3px;background:#064744;margin-top:22px}.mode-copy h3{font-size:30px;margin-bottom:5px}.mode-copy p{color:var(--muted);font-size:22px}.mode-badges{display:flex;gap:8px}.badge{display:inline-flex;align-items:center;gap:6px;border:1px solid #5a9c7f;border-radius:2px;padding:4px 7px;background:#063c3b;color:var(--mint);font:16px var(--font-game-label);letter-spacing:.04em;white-space:nowrap}.badge.gold{color:var(--gold);border-color:#b3ad62;background:#414b2c}.privacy-banner{display:grid;grid-template-columns:44px 1fr auto;gap:20px;align-items:center;background:var(--cream);color:var(--ink);padding:28px;border:2px solid #7fbd97;box-shadow:0 4px 0 var(--deep),inset 0 0 0 2px #fffef2;border-radius:4px}.privacy-mark{width:38px;height:38px;display:grid;place-items:center;border:2px solid #399475;font:32px var(--font-game-label);transform:rotate(-6deg)}.privacy-banner h3{font-size:32px;line-height:1.3;margin-bottom:7px}.privacy-banner p{font-size:22px;color:#46685c;max-width:620px}.privacy-banner .button{background:#0c6655;color:#eef8dc;border-color:#358c69}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px}.page-heading h1{font-family:var(--font-game-label);font-size:50px;line-height:1.25;letter-spacing:0;margin:9px 0 9px}.page-heading p{font-size:24px;color:var(--muted);max-width:640px}.panel{padding:25px;border:1px solid var(--border);background:var(--panel);border-radius:3px;box-shadow:0 3px 0 var(--deep)}.panel h2{font-size:30px;line-height:1.35;margin-bottom:14px}.panel h3{font-size:24px;margin-bottom:8px}.panel p{font-size:22px;color:var(--muted)}.panel.cream{background:var(--cream);color:var(--ink);border:2px solid #76b595;box-shadow:0 4px 0 var(--deep),inset 0 0 0 2px #fffef2}.panel.cream p{color:#496a5c}.panel.cream .eyebrow{color:#20775b}.panel.cream h2{color:#124f3f}
.play-layout{display:grid;grid-template-columns:minmax(0,1fr) 286px;gap:22px;align-items:start}.console{background:#042d32;border:1px solid #67b89a;border-radius:4px;padding:19px;box-shadow:0 5px 0 #022327,inset 0 0 0 4px #084a46}.console-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px;font:16px var(--font-game-label);letter-spacing:.07em;color:#b6d7bf}.console-model{color:#70ae91}.canvas-wrap{position:relative;width:100%;background:#011c20;aspect-ratio:1.5;overflow:hidden;border:1px solid #2a6157;box-shadow:0 0 0 3px #02282a}#game-screen{display:block;width:100%;height:100%;image-rendering:pixelated;object-fit:contain;background:#011c20;outline-offset:-3px}.screen-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:26px;background:radial-gradient(ellipse at center,#0b5048,#022c30)}.screen-overlay-inner{display:grid;justify-items:center;gap:10px;max-width:330px}.screen-overlay img{width:86px;height:86px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 3px 0 #02262a)}.screen-overlay strong{font-family:var(--font-game-label);font-size:28px;line-height:1.45;color:#eaf3d4}.screen-overlay p{font-size:22px;color:#9bbfae}.console-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-top:17px}.console-toolbar-group{display:flex;align-items:center;gap:8px}.console-button{background:#0a514c;border:1px solid #397d68;color:var(--text);border-radius:2px;padding:7px 11px;font-size:20px;min-height:34px}.console-button:hover{background:#0b6b5c}.console-button.play{color:var(--gold);border-color:#8d9c58}.console-button[aria-pressed="true"]{background:var(--gold);color:var(--ink)}.play-side{display:grid;gap:18px}.play-side .panel{padding:20px}.rom-picker{display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center;gap:10px;border:1px dashed #7bb995;padding:23px 17px;background:#0a5a4e;border-radius:2px;cursor:pointer;min-height:142px}.rom-picker:hover,.rom-picker.drag-over{border-color:var(--gold);background:#126954}.rom-picker-icon{font:40px var(--font-game-label);color:var(--gold)}.rom-picker strong{font-size:24px}.rom-picker small{font-size:18px;color:#b4d9bf}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.file-state{padding:12px 0 0;font-size:20px;overflow-wrap:anywhere;color:var(--mint)}.side-note{font-size:18px!important;line-height:1.3;margin-top:13px}.small-heading{font:18px var(--font-game-label);letter-spacing:.08em;margin-bottom:10px;color:var(--gold)}.save-status{font-size:20px;color:var(--mint);margin-bottom:13px}.button-row{display:flex;flex-wrap:wrap;gap:8px}.stack-buttons{display:grid;gap:9px}.setting-mini{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:20px;margin-top:12px}.setting-mini input{width:110px;accent-color:var(--gold)}select{background:#063c3b;border:1px solid var(--border);padding:5px 8px;color:var(--text);border-radius:2px}.touch-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:500px;margin:24px auto 5px;user-select:none}.dpad{display:grid;grid-template-columns:repeat(3,40px);grid-template-rows:repeat(3,35px);gap:2px}.touch-button{border:1px solid #4b927a;background:#0c6053;color:var(--text);min-width:40px;min-height:35px;border-radius:3px;font:22px var(--font-game-label);touch-action:none;user-select:none;box-shadow:0 3px 0 #021f26}.touch-button:active,.touch-button.held{background:var(--gold);color:var(--ink);transform:translateY(2px);box-shadow:0 1px 0 #021f26}.dpad [data-button="UP"]{grid-column:2}.dpad [data-button="LEFT"]{grid-row:2;grid-column:1}.dpad [data-button="RIGHT"]{grid-row:2;grid-column:3}.dpad [data-button="DOWN"]{grid-row:3;grid-column:2}.dpad-center{grid-column:2;grid-row:2;background:#08483f;border:1px solid #34735e}.touch-face{display:flex;gap:14px;transform:rotate(-13deg)}.touch-face button{border-radius:50%;width:49px;height:49px;color:var(--gold);border-color:#b6b15e;background:#36543a;font-size:30px}.touch-meta{display:flex;justify-content:center;gap:9px;margin:13px 0 0}.touch-meta .touch-button{min-height:27px;padding:3px 13px;font-size:16px;color:var(--muted)}.controls-panel{margin-top:22px}.controls-panel summary{font-size:22px;color:var(--mint);cursor:pointer}.controls-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}.control-item{font-size:18px;color:var(--muted)}.control-item strong{display:block;color:var(--text);font-size:20px;margin-bottom:4px}.control-item kbd{font-family:var(--font-game-label);font-size:16px}.runtime-message{font-size:20px;color:var(--mint);min-height:18px;margin-top:13px;overflow-wrap:anywhere}.runtime-message.error{color:#ffd0ae}.notice{padding:13px 16px;border-left:3px solid var(--gold);background:#63633322;color:#f6e8a8;font-size:20px;margin-top:18px}.privacy-play{margin-top:20px;padding:17px 21px;background:#06483f;border:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:15px}.privacy-play p{font-size:20px;color:var(--muted)}.privacy-play strong{color:var(--text)}.privacy-play a{font-size:20px;color:var(--gold);white-space:nowrap}
.guide-tabs{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-bottom:23px}.guide-tab{border:1px solid var(--border);background:var(--panel-2);color:var(--text);padding:12px 5px;font:18px var(--font-game-label);border-radius:3px;box-shadow:0 3px 0 var(--deep)}.guide-tab[aria-selected="true"]{background:#efdc7d;color:var(--ink);border-color:#fff3b3;box-shadow:0 3px 0 #71814e}.guide-detail{display:grid;grid-template-columns:180px 1fr;gap:28px;padding:32px}.brain-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-right:1px solid #abc4ac;padding-right:28px}.brain-panel img{width:112px;height:112px;object-fit:contain;image-rendering:pixelated}.brain-panel strong{font-size:24px;margin:13px 0 5px}.brain-panel span{font:16px var(--font-game-label);color:#517665}.guide-detail h2{font:44px var(--font-game-label);letter-spacing:0;margin:9px 0 10px}.guide-detail .guide-description{font-size:24px;color:#31594b;margin-bottom:20px}.guide-tips{list-style:none;margin:0;padding:0;border-top:1px solid #b0c7ad}.guide-tips li{position:relative;padding:12px 0 12px 17px;border-bottom:1px solid #c4d5bb;font-size:22px;color:#3e5e4d}.guide-tips li::before{content:"›";position:absolute;left:0;color:#22875f;font-family:var(--font-game-label);font-size:28px;top:8px}.guide-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px}.guide-foot .badge{background:#d5e6c8;border-color:#9bbe9b;color:#2a634b}.guide-foot .button{background:#176b50;color:#f3f8dd;border-color:#348e64}.lab-guide{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:25px}.lab-guide h2{font-size:32px}.lab-shots{display:flex;gap:9px;margin:17px 0}.lab-shots img{width:calc((100% - 18px)/3);image-rendering:pixelated;border:1px solid #80b391}.lab-guide p{line-height:1.35}.keyline{padding:11px 0;border-bottom:1px solid #397a68;color:var(--muted);font-size:22px}.keyline strong{color:#e7f2d8;font-size:20px}.steps{display:grid;gap:18px;counter-reset:steps;margin:18px 0 0;padding:0;list-style:none}.steps li{counter-increment:steps;position:relative;padding-left:35px;font-size:22px;color:var(--muted)}.steps li::before{content:"0" counter(steps);font:18px var(--font-game-label);color:var(--gold);position:absolute;left:0;top:3px}.steps strong{display:block;color:var(--text);margin-bottom:3px}
.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:23px 0}.metric{padding:23px;background:var(--cream);color:var(--ink);border-top:4px solid #9be5bf;box-shadow:0 3px 0 var(--deep);border-radius:3px}.metric-label{font:16px var(--font-game-label);letter-spacing:.04em;color:#4b705e}.metric-value{font:50px var(--font-game-label);margin:10px 0 5px;color:#174f3e}.metric-note{font-size:18px;color:#55735f}.empty-stats{display:grid;grid-template-columns:80px 1fr auto;align-items:center;gap:24px;padding:31px}.empty-stats img{width:64px;height:64px;image-rendering:pixelated}.empty-stats h2{font-size:34px;margin-bottom:9px}.empty-stats p{max-width:590px}.stats-body{display:grid;grid-template-columns:1.4fr 1fr;gap:22px}.facility-stats{display:grid;gap:0}.facility-stat{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;border-bottom:1px solid #397869;padding:13px 0;font-size:22px}.facility-stat:last-child{border-bottom:0}.facility-stat small{font:18px var(--font-game-label);color:var(--mint)}.battle-list{list-style:none;padding:0;margin:0}.battle-list li{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #397869;padding:13px 0;font-size:20px}.battle-list strong{display:block;color:var(--text)}.battle-list span{color:var(--muted)}.battle-result{font:18px var(--font-game-label);color:var(--gold)!important;align-self:center}.settings-layout{display:grid;grid-template-columns:1.45fr 1fr;gap:22px;align-items:start}.settings-stack{display:grid;gap:22px}.toggle-row{display:flex;align-items:start;gap:16px;padding:21px 0;border-bottom:1px solid #397d69}.toggle-row:last-child{border-bottom:0;padding-bottom:0}.toggle-copy{flex:1}.toggle-copy strong{display:flex;align-items:center;gap:9px;font-size:24px;margin-bottom:7px}.toggle-copy p{font-size:22px}.switch{position:relative;flex:none;width:42px;height:24px;display:block;margin-top:3px}.switch input{opacity:0;position:absolute;inset:0;width:100%;height:100%;margin:0;cursor:pointer}.switch-track{position:absolute;inset:0;background:#052d30;border:1px solid #6d9b83;border-radius:20px;pointer-events:none;transition:background .15s}.switch-track::before{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;background:#aec4aa;border-radius:50%;transition:transform .15s}.switch input:checked+.switch-track{background:var(--gold);border-color:#ffef99}.switch input:checked+.switch-track::before{transform:translateX(18px);background:#285140}.switch input:focus-visible+.switch-track{outline:3px solid var(--gold);outline-offset:4px}.switch input:disabled{cursor:not-allowed}.switch input:disabled+.switch-track{opacity:.4}.inline-state{font:16px var(--font-game-label);padding:3px 5px;border:1px solid #608d73;color:var(--mint);font-weight:400}.privacy-data-list{margin:15px 0 0;padding-left:17px;color:var(--muted);font-size:22px}.privacy-data-list li{margin:7px 0}.details-block{margin-top:20px;border-top:1px solid #397869;padding-top:16px}.details-block summary{cursor:pointer;color:var(--mint);font-size:22px}.privacy-state{padding:12px 14px;background:#043733;border:1px solid #3d826b;font-size:20px;color:var(--mint);margin:17px 0 0;overflow-wrap:anywhere}.danger-zone p{margin-bottom:17px}.footer{border-top:1px solid #488e7877;padding:30px 0 24px;color:#95bca6}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.footer-title{font:18px var(--font-game-label);letter-spacing:.07em;color:#cee6ca}.footer-links{display:flex;gap:18px;font-size:20px}.footer-bottom{font-size:18px;max-width:970px;line-height:1.35}.footer-bottom a{color:#c6ddbd}.toast{position:fixed;right:25px;bottom:25px;max-width:min(400px,calc(100% - 40px));padding:14px 20px;background:var(--cream);border:2px solid #6db394;color:var(--ink);box-shadow:0 4px 0 var(--deep),0 10px 35px #001a2566;font-size:22px;z-index:50;border-radius:3px}.toast[data-type="error"]{border-color:#cd9471;background:#fff0d5}.consent-dialog{max-width:530px;width:calc(100% - 36px);border:2px solid #70b89b;border-radius:4px;background:var(--cream);color:var(--ink);padding:29px;box-shadow:0 8px 0 #002c31,0 20px 80px #0007}.consent-dialog::backdrop{background:#001d28c9;backdrop-filter:blur(3px)}.consent-dialog h2{font-size:22px;line-height:1.3;margin-bottom:16px}.consent-dialog p,.consent-dialog ul{font-size:22px;line-height:1.35;color:#3b604d}.consent-dialog ul{padding-left:17px;margin:14px 0}.consent-dialog .button{background:#0c6655;color:var(--text);border-color:#3d906d}.consent-dialog .button.primary{background:#ebd374;color:var(--ink);border-color:#b3a861}.dialog-actions{display:flex;justify-content:end;gap:10px;margin-top:22px}.dialog-confirm{display:flex;align-items:start;gap:10px;background:#d9e8cd;border:1px solid #a7c59e;padding:12px;margin-top:16px;font-size:22px;color:#254c3c}.dialog-confirm input{margin:4px 0 0;accent-color:#14684e}.noscript{background:var(--cream);color:var(--ink);padding:20px;text-align:center}
@media(min-width:1200px){.hero-copy{padding:45px}.hero-art{padding-right:32px}.hero h1{font-size:72px}}
@media(max-width:1000px){.shell{padding-left:25px;padding-right:25px}.topbar{gap:12px;min-height:84px}.top-status{display:none}.hero-copy{padding:30px}.hero-art{padding:22px 22px 22px 0}.hero h1{font-size:54px}.hero-description{font-size:24px}.hero-fine{gap:8px;font-size:16px}.facilities-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.play-layout{grid-template-columns:minmax(0,1fr) 245px}.panel{padding:21px}.play-side .panel{padding:17px}.stats-grid{gap:10px}.metric{padding:19px}.settings-layout{grid-template-columns:1.3fr 1fr}.guide-tabs{gap:5px}.guide-tab{font-size:16px}.nav-btn{padding-left:11px;padding-right:11px}}
@media(max-width:760px){.shell{padding-left:20px;padding-right:20px}.topbar{flex-wrap:wrap;padding-top:18px;padding-bottom:13px;justify-content:center;gap:15px}.brand{margin-right:auto}.brand-type{font-size:20px}.main-nav{width:100%;justify-content:space-between;gap:2px}.nav-btn{padding:9px 10px;font-size:20px}.nav-play{margin-left:4px;padding:8px 16px}.hero{grid-template-columns:1fr}.hero-copy{padding:30px 28px}.hero-logo{margin-bottom:16px}.hero h1{font-size:60px}.hero-description{max-width:460px}.hero-art{padding:0 28px 28px}.hero-screen{max-width:none}.hero-screen img{max-height:310px;object-fit:cover}.hero-fine{font-size:18px;gap:14px}.trust-strip{gap:13px}.trust-item{font-size:18px;gap:7px}.trust-item strong{font-size:20px}.trust-icon{font-size:24px}.section{margin-top:47px}.section-top{align-items:start}.section-top h2{font-size:40px}.section-top p{max-width:250px;font-size:22px}.feature-grid{grid-template-columns:1fr 1fr}.feature-card:first-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.feature-card:first-child .feature-image{height:100%;border-bottom:0;border-right:1px solid var(--border);aspect-ratio:auto}.feature-card:first-child .feature-content{display:flex;flex-direction:column;justify-content:center;padding:25px}.privacy-banner{grid-template-columns:36px 1fr;gap:15px;padding:24px}.privacy-banner .button{grid-column:2;justify-self:start}.mode-strip{padding:21px}.play-layout{grid-template-columns:1fr}.play-side{grid-template-columns:1fr 1fr;gap:16px}.play-side .panel:first-child{grid-column:1/-1}.rom-picker{min-height:100px;display:grid;grid-template-columns:34px 1fr;text-align:left;justify-content:start;gap:3px 10px;align-content:center;padding:20px}.rom-picker-icon{grid-row:1/3}.rom-picker strong,.rom-picker small{grid-column:2}.guide-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.guide-tab{font-size:18px}.guide-detail{grid-template-columns:110px 1fr;gap:20px;padding:25px}.brain-panel{padding-right:20px}.brain-panel img{width:80px;height:80px}.brain-panel strong{font-size:20px}.guide-detail h2{font-size:22px}.lab-guide{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-body{grid-template-columns:1fr}.empty-stats{grid-template-columns:64px 1fr;padding:24px;gap:17px}.empty-stats .button{grid-column:2;justify-self:start}.settings-layout{grid-template-columns:1fr}.page-heading h1{font-size:44px}.page-heading{align-items:start}.footer-top{align-items:start;flex-direction:column;gap:16px}.controls-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.privacy-play{padding:16px}.mode-badges{flex-direction:column}.footer{padding-top:25px}}
@media(max-width:440px){.shell{padding-left:15px;padding-right:15px}main{padding-top:24px;padding-bottom:45px}.brand-type{font-size:18px}.brand-icon{width:30px;height:30px}.brand-type small{font-size:16px}.nav-btn{font-size:18px;padding:9px 8px}.nav-play{padding:8px 12px}.hero-copy{padding:25px 22px}.hero h1{font-size:52px}.hero-description{font-size:22px}.hero-art{padding:0 20px 22px}.hero-actions{gap:9px}.hero-actions .button{padding:10px 13px;font-size:20px}.hero-fine{font-size:16px;gap:7px}.hero-fine span:last-child{width:100%}.trust-strip{grid-template-columns:1fr;gap:11px;padding:19px 2px}.trust-item{font-size:20px;gap:12px}.trust-item strong{font-size:20px}.trust-item br{display:none}.trust-item strong::after{content:" · "}.trust-icon{width:18px;text-align:center;font-size:24px}.section-top{flex-direction:column;gap:13px;margin-bottom:20px}.section-top p{max-width:none}.section-top h2{font-size:40px}.feature-grid{grid-template-columns:1fr;gap:17px}.feature-card:first-child{display:block;grid-column:auto}.feature-card:first-child .feature-image{aspect-ratio:1.5;border-right:0;border-bottom:1px solid var(--border)}.feature-card:first-child .feature-content{padding:20px}.feature-content{padding:20px}.facilities-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.facility-tile{padding:14px 5px 12px}.facility-tile img{width:57px;height:57px}.facility-tile strong{font-size:18px}.facility-tile small{font-size:16px}.mode-strip{padding:18px;gap:15px}.mode-copy h3{font-size:26px}.mode-copy p{font-size:20px}.mode-badges .badge{font-size:16px}.privacy-banner{padding:20px;gap:12px;grid-template-columns:28px 1fr}.privacy-mark{width:28px;height:28px;font-size:26px}.privacy-banner h3{font-size:28px}.privacy-banner p{font-size:20px}.page-heading{flex-direction:column;gap:10px}.page-heading h1{font-size:42px}.console{padding:12px}.console-top{font-size:16px;letter-spacing:0}.console-toolbar{gap:9px}.console-button{font-size:18px;padding:7px 9px}.console-toolbar-group{gap:5px}.touch-controls{margin-top:23px}.dpad{grid-template-columns:repeat(3,35px);grid-template-rows:repeat(3,31px)}.touch-button{min-width:35px;min-height:31px}.touch-face{gap:11px}.touch-face button{width:43px;height:43px}.touch-meta .touch-button{font-size:16px;padding:3px 10px}.play-side{grid-template-columns:1fr}.play-side .panel:first-child{grid-column:auto}.play-side .panel{padding:20px}.privacy-play{align-items:start;flex-direction:column;gap:10px}.guide-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.guide-tab{font-size:16px;padding:11px 3px}.guide-detail{grid-template-columns:1fr;padding:22px;gap:20px}.brain-panel{border-right:0;border-bottom:1px solid #abc4ac;padding:0 0 18px;flex-direction:row;gap:13px;justify-content:start;text-align:left}.brain-panel img{width:64px;height:64px}.brain-panel strong{margin:0;font-size:22px;max-width:100px}.brain-panel span{font-size:16px;margin-left:auto;max-width:75px}.guide-description{font-size:24px!important}.guide-foot{align-items:start;flex-direction:column;gap:15px}.metric{padding:17px}.metric-label{font-size:16px}.metric-value{font-size:44px}.metric-note{font-size:16px}.empty-stats{padding:22px;grid-template-columns:1fr}.empty-stats img{display:none}.empty-stats .button{grid-column:1}.empty-stats h2{font-size:32px}.toggle-copy strong{font-size:24px;gap:6px;flex-wrap:wrap}.toggle-row{gap:13px}.footer-links{gap:16px;font-size:18px}.footer-title{font-size:16px}.footer-bottom{font-size:16px}.toast{right:15px;bottom:15px}.consent-dialog{padding:23px}.dialog-actions{flex-direction:column}.dialog-actions .button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}


.mt-9{margin-top:9px}.mt-13{margin-top:13px}[data-spacing="15"]{margin-top:15px}[data-spacing="17"]{margin-top:17px}[data-cream-action]{margin-top:18px;background:#176b50}

.hero-logo img{mix-blend-mode:screen}.hero-screen img{height:auto;object-fit:contain}@media(max-width:440px){.feature-card:first-child .feature-image{height:auto;aspect-ratio:1.5}}

.caption-button{border:0;background:transparent;color:var(--gold);padding:0;font:inherit;cursor:pointer;min-height:18px}.caption-button:hover{text-decoration:underline}

.rom-picker:has(+input:focus-visible){outline:3px solid var(--gold);outline-offset:4px}

/* Existing recorder history: local review and explicit one-time research transfer. */
.heading-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;flex:none}
.log-history{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px 25px;align-items:center;margin-top:23px}
.log-history .eyebrow{margin-bottom:9px}.log-history h2{margin-bottom:9px}
.log-history .side-note{max-width:700px}.log-history-actions{display:flex;flex-direction:column;gap:9px}
.log-import-message{grid-column:1/-1;padding:12px 15px;background:#043733;border:1px solid #3d826b;font-size:20px;color:var(--mint);overflow-wrap:anywhere}
.log-import-message.error{color:#ffd0ae;border-color:#a98b64}
.imported-badge{display:inline-block;margin:5px 7px 0 0;padding:1px 4px;border:1px solid #6b9e81;color:var(--mint);font:14px var(--font-game-label);letter-spacing:.05em;vertical-align:middle}
.log-import-dialog{max-width:700px;max-height:calc(100dvh - 40px);overflow:auto}
.log-import-dialog h2{margin-bottom:12px}
.import-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:19px 0}
.import-summary>div{min-width:0;border:1px solid #adc69d;background:#dfebd0;padding:11px 12px}
.import-summary span{display:block;font:16px var(--font-game-label);letter-spacing:.025em;color:#4f7059;overflow-wrap:anywhere}
.import-summary strong{display:block;font:42px var(--font-game-label);color:#1f573f;margin-top:5px}
.import-preview-content{max-height:42vh;overflow:auto;padding-right:5px;overscroll-behavior:contain}
.import-file-list{list-style:none;padding:0;margin:0 0 17px!important}
.import-file-list>li{padding:12px 0;border-bottom:1px solid #b9cdb0}
.import-file-head{display:flex;align-items:start;justify-content:space-between;gap:14px}
.import-file-head strong{font-size:22px;overflow-wrap:anywhere;min-width:0}
.import-file-head span{flex:none;font:16px var(--font-game-label);color:#53765c;padding-top:3px;white-space:nowrap}
.import-file-list ul{font-size:20px;margin:8px 0 0!important;padding-left:18px!important;overflow-wrap:anywhere}
.import-warnings{border-left:3px solid #b59431;padding:12px 14px;margin-bottom:17px;background:#eee1ac;color:#5c5531;overflow-wrap:anywhere}
.import-warnings>strong{font-size:22px}.import-warnings ul{font-size:20px;color:#5c5531!important;margin:7px 0 0!important;padding-left:16px!important}
.import-provenance{background:#dce9cf;border:1px solid #abc69c;padding:12px 14px;margin-bottom:14px}
.import-provenance>strong{font-size:22px}.import-provenance p,.import-local-note{font-size:20px!important;line-height:1.35!important;margin-top:5px!important}
.import-local-note{color:#315d44!important}
@media(max-width:760px){.heading-actions{justify-content:flex-start}.log-history{grid-template-columns:1fr}.log-history-actions{flex-direction:row;flex-wrap:wrap;gap:9px}.log-import-dialog{padding:25px}.import-preview-content{max-height:40vh}}
@media(max-width:440px){.heading-actions{gap:8px}.heading-actions .button{font-size:18px;padding:8px 11px}.log-history{padding:21px}.log-history h2{font-size:32px}.log-import-dialog{padding:21px;max-height:calc(100dvh - 30px)}.import-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:15px 0}.import-summary>div{padding:8px 11px}.import-summary strong{font-size:38px}.import-preview-content{max-height:34vh}.import-file-head{gap:9px}.import-file-head strong{font-size:20px}.import-file-head span{font-size:16px}.log-import-dialog .dialog-actions{margin-top:16px}.log-import-dialog .dialog-actions .button{font-size:20px}}

.import-preview-guarantee{margin:0 0 15px;padding:10px 12px;border-left:3px solid #5b9b72;background:#deead1}.import-preview-guarantee p{font-size:18px!important;line-height:1.3!important;color:#315d44!important}.import-preview-guarantee p+p{margin-top:4px}

/* Typography uses only unmodified game faces. Emphasis comes from source variants. */
:root{font-synthesis:none;text-rendering:geometricPrecision}
body{line-height:1.25}button,input,select,textarea{font-family:var(--font-game-body);font-synthesis:none}
h1,h2{font-family:var(--font-game-body);font-weight:400}h3,strong,b{font-family:var(--font-game-short);font-weight:400}
em,i{font-style:normal}code,pre,kbd,samp{font-family:var(--font-game-label)}
.hero h1,.page-heading h1,.guide-detail h2,.metric-value,.import-summary strong{font-family:var(--font-game-body)}
.nav-btn,.button,.console-button,.touch-button,.guide-tab{font-family:var(--font-game-short);line-height:1.1}
.brand-type{font-family:var(--font-game-short);letter-spacing:.04em}.brand-type small{font-family:var(--font-game-compact)}
.badge,.eyebrow,.feature-number,.metric-label,.imported-badge,.import-summary span{font-family:var(--font-game-compact)}
.screen-caption,.console-top{font-family:var(--font-game-label);line-height:1.25}
.hero h1{line-height:1;white-space:normal}.hero-description{line-height:1.25}
.hero-fine{line-height:1.3}.topbar{flex-wrap:wrap}.main-nav{min-width:0}.nav-btn{white-space:nowrap}
.play-side,.panel,.feature-content,.hero-copy,.section-top>div,.page-heading>div{min-width:0}
.facility-tile strong{font-family:var(--font-game-narrow)}.facility-tile small{font-family:var(--font-game-compact)}
.metric-value{line-height:1}.setting-mini{flex-wrap:wrap}.facility-stats{min-width:0}
.guide-description,.toggle-copy p,.consent-dialog p{line-height:1.3}
@media(max-width:760px){.topbar{gap:14px}.main-nav{flex-wrap:wrap;justify-content:flex-start;gap:6px}.nav-btn{flex:1;padding:9px 7px}.nav-play{margin-left:0}}
@media(max-width:440px){.hero h1{font-size:46px}.hero-actions .button{font-size:20px}.hero-copy{padding:25px 20px}.brand-type{font-size:20px}.main-nav{gap:4px}.nav-btn{font-size:19px;padding:9px 6px}.nav-play{padding:9px 10px}.screen-caption{flex-wrap:wrap;gap:4px}.console-toolbar-group{flex-wrap:wrap}.facility-tile strong{font-size:20px}.facility-tile small{font-size:16px}.guide-tab{font-size:20px}.guide-foot{min-width:0}.mode-badges{flex-shrink:0}.button{max-width:100%}.metric{padding:16px}.metric-label{letter-spacing:0}.privacy-play a{white-space:normal}}

/* Page text must keep the game face even when a host sets a body font. */
html body{font-family:var(--font-game-body);font-synthesis:none;font-weight:400}
body :where(p,li,label,small,summary,option,textarea,input,select){font-family:inherit}
body :where(p,li,label,small,summary){font-synthesis:none}
/* A full-width game title and its Play action remain together while scrolling. */
:root{--title-mark-width:clamp(192px,64vw,300px);--start-hero-height:clamp(168px,28svh,248px);--start-action-height:60px;--start-height:calc(var(--start-hero-height) + var(--start-action-height))}
html{scroll-padding-top:calc(var(--start-action-height) + 16px)}
.sticky-start{position:sticky;top:calc(0px - var(--start-hero-height));z-index:20;isolation:isolate;width:100%;background:var(--bg);box-shadow:0 3px 0 #022b3099}
.title-hero{position:relative;isolation:isolate;width:100%;height:var(--start-hero-height);overflow:hidden;background:#058b79}
.title-hero img{display:block;image-rendering:pixelated}
.title-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 75%;z-index:-1}
.title-wordmarks{position:absolute;top:8px;left:50%;transform:translateX(-50%);width:var(--title-mark-width);display:flex;flex-direction:column;align-items:center}


.title-battle-frontier{margin-top:6px;white-space:nowrap;font-family:var(--font-game-body);font-size:clamp(32px,9.5vw,44px);line-height:1;color:#fff;text-shadow:-1px -1px 0 #000,0 -1px 0 #000,1px -1px 0 #000,-1px 0 0 #000,1px 0 0 #000,-1px 1px 0 #000,0 1px 0 #000,1px 1px 0 #000;letter-spacing:.025em}

.launch-bar{height:var(--start-action-height);display:flex;align-items:center;justify-content:center;padding-top:6px;padding-bottom:6px}
.launch-play{width:var(--title-mark-width);max-width:100%;height:48px;min-height:48px;padding:6px 18px;font-family:var(--font-game-short);font-size:28px;line-height:1}
.sticky-start+main{padding-top:26px}
#main:focus{outline:none}
.arrival-preview{width:min(100%,720px);margin:0 auto}
.arrival-preview .hero-screen img{max-height:none;aspect-ratio:3/2}
.feature-section{margin-top:32px}
.feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.feature-card h3{margin-bottom:10px}
@media(max-width:760px){:root{--start-action-height:56px}.launch-play{height:44px;min-height:44px;font-size:26px}.sticky-start+main{padding-top:22px}}
@media(max-width:440px){.feature-grid{grid-template-columns:1fr}.feature-section{margin-top:24px}.feature-card:first-child{display:block;grid-column:auto}.feature-card:first-child .feature-image{aspect-ratio:3/2;height:auto;border-right:0;border-bottom:1px solid var(--border)}.launch-play{font-size:24px}.sticky-start+main{padding-top:20px}}
@media(max-height:500px) and (orientation:landscape){:root{--start-hero-height:132px;--start-action-height:48px;--title-mark-width:150px}.title-wordmarks{top:4px}.title-battle-frontier{font-size:28px;margin-top:4px}.launch-play{height:36px;min-height:36px;font-size:22px}}

@media(min-width:441px) and (max-width:760px){.feature-grid{grid-template-columns:1fr}.feature-card:first-child{display:block;grid-column:auto}.feature-card:first-child .feature-image{height:auto;aspect-ratio:3/2;border-right:0;border-bottom:1px solid var(--border)}}

/* Preserve the complete game scene on wide screens, with its palette extending to the edges. */
@media(min-width:761px){
 .title-hero{background:linear-gradient(180deg,#004aa4 0%,#005294 16%,#007383 32%,#087b7b 47%,#088b73 65%,#089c6a 100%)}
 .title-background{inset:auto;top:0;left:50%;transform:translateX(-50%);width:auto;height:100%;max-width:none;object-fit:contain;object-position:center;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
}


@media(max-height:500px) and (orientation:landscape){}

.title-emerald{position:relative;left:8.653846%;width:123.076923%;height:auto;max-width:none}

/* Visual review v7: home link, a quieter player, and direct access to battle stats. */
.title-hero{display:block;text-decoration:none}.title-hero:focus-visible{outline-offset:-4px}
html[data-active-view="play"]{--start-action-height:0px}
.console-top{justify-content:flex-end}
.play-stats{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;margin-top:0;padding:20px;border:1px solid var(--border);border-left:4px solid var(--mint);border-radius:3px;background:var(--panel)}
.play-stats h2{font-size:30px;line-height:1.1;margin:0 0 8px}.play-stats p{font-size:20px;line-height:1.3;margin:0;color:var(--muted)}
.play-stats-actions{display:flex;flex-direction:column;align-items:center;gap:10px}.play-stats-actions .button{min-width:150px}.play-stats-actions a{font-size:18px;color:var(--mint)}
@media(max-width:600px){.play-stats{grid-template-columns:1fr;padding:18px;gap:15px}.play-stats-actions{align-items:stretch}.play-stats-actions a{text-align:center}.play-stats-actions .button{width:100%}}

/* Use the desktop sidebar for stats; preserve the mobile reading order. */
.play-main{min-width:0}
@media(min-width:761px){
 .play-layout{grid-template-rows:auto 1fr;row-gap:18px}
 .play-main{grid-column:1;grid-row:1/span 2}
 .play-side{grid-column:2;grid-row:1}
 .play-stats{grid-column:2;grid-row:2;grid-template-columns:minmax(0,1fr);align-self:start;gap:15px}
 .play-stats-actions{align-items:stretch}.play-stats-actions a{text-align:center}
}

/* Visual review v8: playback above the display and an SP-style control deck. */
.console-top{justify-content:flex-start;flex-wrap:wrap;gap:8px 14px;margin-bottom:14px}
.console-toolbar{justify-content:flex-start;flex-wrap:nowrap;gap:6px;margin:0}
.console-toolbar .console-button{white-space:nowrap}
#console-status{margin-left:auto;white-space:nowrap}
.handheld-controls{--pad-unit:clamp(36px,10vw,40px);--face-size:clamp(40px,12vw,48px);max-width:360px;margin:19px auto 0;padding:6px 14px 14px;border:1px solid #2d7062;border-radius:8px 8px 22px 22px;background:linear-gradient(140deg,#105950,#08473f);box-shadow:inset 0 1px 0 #77ae8c44,0 3px 0 #021f26;user-select:none}
.touch-shoulders{display:flex;justify-content:space-between;gap:20px}
.touch-shoulders .touch-button{width:54px;min-height:27px;padding:0 10px;border-radius:7px 7px 3px 3px;background:linear-gradient(#578a79,#356858);border-color:#78a48e;color:#e2edda;font-size:20px;box-shadow:0 2px 0 #032d2d,inset 0 1px 0 #b3ccb344}
.handheld-controls .touch-controls{justify-content:space-between;gap:24px;max-width:none;margin:24px 0 0;padding:0 5px}
.handheld-controls .dpad{position:relative;isolation:isolate;grid-template-columns:repeat(3,var(--pad-unit));grid-template-rows:repeat(3,var(--pad-unit));gap:0;flex:none}
.handheld-controls .dpad::before{content:"";position:absolute;inset:-12px;z-index:-1;border:1px solid #77aa8a77;border-radius:50%;background:#053b38;box-shadow:inset 0 3px 5px #002e32,0 1px 0 #6d99804d}
.handheld-controls .dpad .touch-button,.handheld-controls .touch-face .touch-button{min-width:0;min-height:0;background:linear-gradient(145deg,#e7eee1,#9fb5ab);border:1px solid #567c70;color:#3c6156;box-shadow:0 3px 0 #023430,inset 1px 1px 0 #f6f9ed88}
.handheld-controls .dpad .touch-button{width:var(--pad-unit);height:var(--pad-unit);padding:0;font-size:26px;border-radius:0}
.handheld-controls .dpad [data-button="UP"]{border-bottom:0;border-radius:4px 4px 0 0}
.handheld-controls .dpad [data-button="LEFT"]{border-right:0;border-radius:4px 0 0 4px}
.handheld-controls .dpad [data-button="RIGHT"]{border-left:0;border-radius:0 4px 4px 0}
.handheld-controls .dpad [data-button="DOWN"]{border-top:0;border-radius:0 0 4px 4px}
.handheld-controls .dpad-center{background:linear-gradient(145deg,#d6e2d4,#afc3b6);border:0;position:relative}
.handheld-controls .dpad-center::after{content:"";position:absolute;inset:38%;border:1px solid #8aa498;border-radius:50%;background:#b1c6b8}
.handheld-controls .touch-face{flex:none;gap:10px;transform:rotate(-25deg);padding:8px;border:1px solid #71a28877;border-radius:50px;background:#053b38;box-shadow:inset 0 3px 5px #002e32,0 1px 0 #6d99804d}
.handheld-controls .touch-face .touch-button{width:var(--face-size);height:var(--face-size);border-radius:50%;font-size:30px;transform:rotate(25deg)}
.handheld-controls .touch-button.held,.handheld-controls .touch-button:active{filter:brightness(.88)}
.handheld-controls .dpad .touch-button.held,.handheld-controls .dpad .touch-button:active{transform:translateY(2px);box-shadow:0 1px 0 #023430}
.handheld-controls .touch-face .touch-button.held,.handheld-controls .touch-face .touch-button:active{transform:rotate(25deg) translateY(2px);box-shadow:0 1px 0 #023430}
.touch-speaker{width:38px;height:24px;margin:5px auto 6px;background:radial-gradient(circle at 3px 3px,#022f30 2px,transparent 2.5px) 0 0/10px 10px}
.handheld-controls .touch-meta{gap:25px;margin:0}
.handheld-controls .touch-meta .touch-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:52px;min-height:50px;padding:0 4px;border:0;background:transparent;color:#c7ddc8;box-shadow:none;font-size:16px;transform:none}
.touch-meta-key{display:block;width:27px;height:27px;border:1px solid #5c8171;border-radius:50%;background:linear-gradient(145deg,#e7eee1,#9fb5ab);box-shadow:0 3px 0 #023430,inset 1px 1px 0 #f6f9ed88}
.handheld-controls .touch-meta .touch-button.held .touch-meta-key,.handheld-controls .touch-meta .touch-button:active .touch-meta-key{transform:translateY(2px);box-shadow:0 1px 0 #023430}
@media(max-width:440px){.console-toolbar{gap:5px}.console-toolbar .console-button{font-size:18px;padding:7px 6px}.handheld-controls{margin-top:12px;padding:6px 10px 12px}.handheld-controls .touch-controls{gap:12px;padding:0 2px}}
@media(max-width:360px){.console-toolbar{gap:4px}.console-toolbar .console-button{font-size:16px;padding:7px 5px}}

/* Extend the desktop control shell to the screen edges, keeping the controls centered. */
@media(min-width:761px){
 .handheld-controls{width:100%;max-width:none}
 .touch-shoulders{max-width:330px;margin-left:auto;margin-right:auto}
 .handheld-controls .touch-controls{max-width:330px;margin-left:auto;margin-right:auto}
}

/* Visual review v9: compact totals and a win-rate ring replace the supporting copy. */
.play-stats{padding:18px;gap:12px}
.play-stats h2{margin-bottom:4px}
.play-stats-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:6px;margin:0;padding:0}
.play-stats-metrics>div{display:flex;flex-direction:column-reverse;align-items:center;gap:2px;min-width:0}
.play-stats-metrics dt{font:16px/1 var(--font-game-label);color:var(--muted);white-space:nowrap}
.play-stats-metrics dd{margin:0;font:36px/1 var(--font-game-body);color:var(--text);font-variant-numeric:tabular-nums}
#play-preview-wins{color:var(--mint)}
.play-stats-metrics .play-stats-ring{--win-rate:0%;position:relative;isolation:isolate;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:conic-gradient(var(--mint) 0 var(--win-rate),#143e3b var(--win-rate) 100%);font-size:24px;color:var(--gold)}
.play-stats-ring::before{content:"";position:absolute;inset:4px;z-index:-1;border-radius:50%;background:var(--panel)}

/* Stats review v10: visuals use local capture evidence, with details on demand. */
.stats-page-toolbar{display:flex;justify-content:flex-end;margin-bottom:18px}.stats-page-toolbar .heading-actions{justify-content:flex-end}
[data-page="stats"] .empty-stats{margin-bottom:20px;padding:20px;grid-template-columns:56px 1fr auto;gap:18px}
[data-page="stats"] .empty-stats img{width:48px;height:48px}[data-page="stats"] .empty-stats h2{font-size:28px;margin:0}
.stats-filters{display:flex;align-items:center;flex-wrap:wrap;gap:13px 22px;padding:14px 0;border-top:1px solid #488e7855;border-bottom:1px solid #488e7855}
.stats-filters label{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:20px}.stats-filters select{font-size:20px}.stats-filters>span{margin-left:auto;font:18px var(--font-game-label);color:var(--mint)}
.visual-metrics{gap:16px;margin:20px 0}.visual-metrics .metric{padding:17px 18px;min-width:0;border-top-width:3px}
.visual-metrics .metric-label{font:18px var(--font-game-label);color:#3f6856;letter-spacing:.025em}
.metric-visual-body{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:77px}
.visual-metrics .metric-value{font:50px/1 var(--font-game-body);margin:0;white-space:nowrap;letter-spacing:-.015em}
.metric-graphic{width:90px;max-width:48%;flex:1;min-width:0}.metric-graphic svg{display:block;width:100%;height:auto;overflow:visible}.visual-metrics .metric-note{font-size:18px;line-height:1.15;color:#507260;min-height:21px}
.metric-tiles{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:3px}.metric-tiles i{display:block;aspect-ratio:1;border-radius:1px}
.key-win{background:#80d4ad}.key-loss{background:#e9957f}.key-draw{background:#e6d27d}.key-incomplete,.key-empty{background:#78938b}.key-move{background:#84dab5}.key-switch{background:#f2d35d}.key-replacement{background:#78b9d0}.key-struggle{background:#dfa5bd}
.stacked-track{height:15px;display:flex;overflow:hidden;border-radius:2px;background:#153e3c}.stacked-track>span{display:block;height:100%;min-width:0}.stacked-track>span+span{border-left:1px solid #174f43}
.metric-rate-ring{--rate:0%;width:65px;max-width:100%;aspect-ratio:1;border-radius:50%;background:conic-gradient(#2e9270 0 var(--rate),#bed3b4 var(--rate) 100%);position:relative;margin-left:auto}
.metric-rate-ring::after{content:"";position:absolute;inset:8px;border-radius:50%;background:var(--cream)}
.spark-line{fill:none;stroke:#258263;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.spark-area{fill:#37927030}.spark-empty{stroke:#9ab99a;stroke-width:2}
.chart-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 18px;margin-bottom:18px}.panel .chart-heading h2{font-size:30px;margin:0}.panel .chart-heading p{font-size:20px;margin-top:6px}.chart-subtitle{font:18px var(--font-game-label);color:var(--mint)}
.chart-legend{display:flex;gap:13px;flex-wrap:wrap;color:var(--muted);font-size:18px}.chart-legend>span,.action-key>span{display:flex;align-items:center;gap:6px}.chart-legend i,.action-key i{width:8px;height:8px;display:inline-block;border-radius:1px;flex:none}
.chart-caption{font-size:18px!important;line-height:1.3;color:var(--muted);margin-top:13px;max-width:100%}.chart-empty{font-size:22px!important;color:#a5c9b4!important;padding:20px 0;grid-column:1/-1}
.history-chart{margin-bottom:22px}.result-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(29px,1fr));gap:6px}
.result-tile{border:1px solid #a5cdbd44;border-radius:2px;min-width:0;min-height:42px;padding:4px 2px;color:#103b34;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;box-shadow:0 2px 0 #022d2d}
.result-tile small{font:12px/1 var(--font-game-label)}.result-tile strong{font:22px/1 var(--font-game-short)}.result-tile[aria-pressed="true"]{outline:2px solid var(--gold);outline-offset:2px}.result-tile:hover{filter:brightness(1.12)}
.stats-chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:22px}.stats-chart-grid .panel{min-width:0}
.facility-chart{display:grid;gap:13px}.facility-chart-row{display:grid;grid-template-columns:62px minmax(0,1fr) 32px 42px;gap:9px;align-items:center;font-size:20px}.facility-chart-row>span{color:var(--muted)}.facility-chart-row strong{text-align:right;font:22px var(--font-game-body)}.facility-chart-row small{font:16px var(--font-game-label);text-align:right;color:var(--mint)}
.facility-result-track{background:#033335;border-radius:2px;height:14px;overflow:hidden}.facility-result-track>div{height:100%;min-width:1px}.facility-result-track .stacked-track{height:14px}
.action-key{display:flex;flex-wrap:wrap;gap:9px 17px;margin-top:12px;font-size:18px;color:var(--muted)}.action-key strong{color:var(--text);font-size:20px}
.move-chart{margin-top:21px}.panel .move-chart h3{font-size:22px;margin-bottom:12px}.move-bar-row{display:grid;grid-template-columns:125px minmax(0,1fr) 35px;align-items:center;gap:10px;margin-top:10px;font-size:18px}.move-bar-row>span{font-family:var(--font-game-short)}.move-bar-row strong{text-align:right;font:20px var(--font-game-body)}.move-bar{height:8px;background:#033335;border-radius:1px;overflow:hidden}.move-bar>i{display:block;height:100%;background:#8bdcba;border-radius:1px}
.tempo-chart{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:18px;padding:4px 9px 0}.tempo-column{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0}.tempo-column>strong{font:26px var(--font-game-body)}.tempo-column>span{font:18px var(--font-game-label);color:var(--muted)}.tempo-bar-well{width:100%;max-width:70px;height:120px;background:#033335;display:flex;align-items:flex-end;border-radius:2px;overflow:hidden}.tempo-bar{width:100%;display:flex;flex-direction:column-reverse}.tempo-bar>i{display:block;flex:none;width:100%}
.choice-chart{display:flex;align-items:stretch;gap:4px;height:183px;min-width:0}.choice-column{background:transparent;border:0;padding:0;flex:1;display:flex;align-items:stretch;justify-content:flex-end;flex-direction:column;gap:9px;min-width:0;color:var(--muted)}.choice-column>span{display:block;min-height:2px;border-radius:2px}.choice-column small{font:12px/1 var(--font-game-label);flex:none;text-align:center}.choice-column[aria-pressed="true"]>span{outline:2px solid var(--gold);outline-offset:1px}.choice-column:hover>span{filter:brightness(1.15)}
.decision-panel{margin-bottom:22px}.battle-picker-label{display:flex;align-items:center;gap:9px;font-size:20px;color:var(--muted)}.battle-picker-label select{font-size:20px;max-width:310px}.decision-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 19px;color:var(--muted);font-size:20px}.outcome-badge{color:#0d3932;font-family:var(--font-game-short);padding:4px 9px;border-radius:2px}.battle-step-actions{display:flex;justify-content:space-between;flex-wrap:wrap;gap:9px;margin:18px 0 22px}
.decision-path{padding:0;margin:0;list-style:none;display:grid;gap:16px}.decision-node{display:grid;grid-template-columns:86px minmax(0,1fr);gap:20px;position:relative}.decision-turn{font:20px var(--font-game-short);display:flex;flex-direction:column;gap:3px;padding-top:10px}.decision-turn small{font:16px var(--font-game-label);color:var(--muted)}
.decision-card{border:1px solid #3e856b;border-left:3px solid #8cdcb4;border-radius:3px;padding:14px 17px;background:#043c3e;position:relative}.decision-card::before{content:"";position:absolute;left:-14px;top:19px;width:10px;height:10px;border:2px solid var(--mint);border-radius:50%;background:#043b3c}.decision-card::after{content:"";position:absolute;left:-10px;top:29px;bottom:-37px;border-left:1px solid #629b80}.decision-node:last-child .decision-card::after{display:none}
.decision-foe{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:var(--muted);font:18px var(--font-game-label)}.decision-foe>span:first-child{min-width:110px}.foe-hp{display:block;width:70px;height:7px;border:1px solid #488e78;background:#022f31;border-radius:2px;overflow:hidden}.foe-hp i{display:block;height:100%;background:#92deb1}.decision-foe small{font:16px var(--font-game-label)}
.decision-choice{display:flex;align-items:center;gap:12px;margin:12px 0 10px}.decision-choice>span{font:16px var(--font-game-label);color:var(--mint);background:#0b5c4e;padding:4px 6px;border:1px solid #377f64;white-space:nowrap}.decision-choice strong{font:25px var(--font-game-short);color:var(--text)}
.decision-results{margin:0;padding:0 0 0 13px;display:grid;gap:5px;color:var(--muted);font-size:20px}.decision-results li::marker{color:#75bc9a}.decision-extra{margin-top:10px}.decision-extra summary{font-size:18px;cursor:pointer;color:var(--mint)}.decision-extra .decision-results{margin-top:9px}
.decision-terminal{margin:18px 0 0 106px;display:inline-block;color:#113e34;padding:8px 15px;font:22px var(--font-game-short);border-radius:2px}.decision-panel #stats-path-more{margin:20px 0 0 106px}.decision-panel #stats-path-more:empty{display:none}
.stats-log-tools>summary{font:24px var(--font-game-short);color:var(--mint);cursor:pointer}.stats-log-tools .log-history{margin-top:18px}.stats-log-tools h2{font-size:26px}.stats-log-tools .log-history p{font-size:20px}
.snapshot-party{margin-top:12px;border-top:1px solid #34765e;padding-top:10px}.snapshot-party summary{cursor:pointer;color:var(--mint);font-size:18px}.snapshot-party-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:11px}.snapshot-mon{min-width:0;padding:9px;border:1px solid #34765e;background:#073f3c}.snapshot-mon>span{font:18px var(--font-game-short);display:block}.snapshot-mon strong{font:18px var(--font-game-body);display:block;color:var(--mint);margin-top:4px}.snapshot-mon small{font:16px/1.2 var(--font-game-label);display:block;color:var(--muted);margin-top:6px}.snapshot-mon .move-bar{margin-top:6px}
@media(max-width:1000px){.visual-metrics{gap:10px}.visual-metrics .metric{padding:15px}.visual-metrics .metric-value{font-size:44px}.metric-graphic{width:70px}.facility-chart-row{grid-template-columns:57px minmax(0,1fr) 25px 37px;gap:6px}.move-bar-row{grid-template-columns:105px minmax(0,1fr) 29px;gap:7px;font-size:17px}}
@media(max-width:760px){.stats-page-toolbar .heading-actions{width:100%;justify-content:flex-start}.stats-filters{gap:13px 18px}.stats-filters>span{margin-left:0}.stats-chart-grid{grid-template-columns:1fr}.visual-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-graphic{width:100px}.metric-visual-body{min-height:70px}.stats-chart-grid .panel{padding:22px}.battle-picker-label{width:100%;justify-content:space-between}.battle-picker-label select{max-width:calc(100% - 60px)}.snapshot-party-grid{grid-template-columns:1fr}.decision-node{grid-template-columns:70px minmax(0,1fr);gap:16px}.decision-terminal,.decision-panel #stats-path-more{margin-left:86px}}
@media(max-width:440px){.visual-metrics{gap:10px}.visual-metrics .metric{padding:13px 12px}.visual-metrics .metric-label{font-size:16px;letter-spacing:0}.visual-metrics .metric-value{font-size:40px}.visual-metrics .metric-note{font-size:16px;min-height:34px}.metric-graphic{max-width:45%}.metric-rate-ring{width:48px}.metric-rate-ring::after{inset:6px}.metric-tiles{gap:2px;grid-template-columns:repeat(4,minmax(0,1fr))}.metric-visual-body{gap:5px;min-height:67px}.chart-heading{gap:11px}.panel .chart-heading h2{font-size:28px}.chart-legend{gap:9px;font-size:16px}.result-grid{gap:5px;grid-template-columns:repeat(auto-fill,minmax(28px,1fr))}.result-tile{min-height:40px}.stats-chart-grid .panel{padding:19px}.move-bar-row{grid-template-columns:108px minmax(0,1fr) 29px;font-size:17px}.stats-filters label{font-size:18px}.stats-filters select{font-size:18px;max-width:170px}.stats-filters>span{font-size:16px}.stats-page-toolbar{margin-bottom:15px}.stats-page-toolbar .button{font-size:18px;padding:8px 10px}.decision-panel{padding:18px}.decision-node{grid-template-columns:1fr;gap:7px;margin-left:13px}.decision-turn{flex-direction:row;align-items:center;gap:12px;padding:0 0 0 4px}.decision-card{padding:12px}.decision-card::after{bottom:-62px}.decision-foe{font-size:16px}.decision-foe>span:first-child{min-width:0}.decision-choice{gap:8px;align-items:flex-start}.decision-choice strong{font-size:23px}.decision-results{font-size:19px}.decision-terminal,.decision-panel #stats-path-more{margin-left:13px}.choice-chart{gap:3px;height:160px}.choice-column small{font-size:10px}[data-page="stats"] .empty-stats{grid-template-columns:1fr;gap:13px;padding:20px}[data-page="stats"] .empty-stats img{display:none}[data-page="stats"] .empty-stats .button{grid-column:1}.tempo-chart{gap:13px;padding-left:0;padding-right:0}}

.decision-team{margin-top:14px;padding-top:12px;border-top:1px solid #34765e}.team-snapshot-label{font:16px var(--font-game-label);color:var(--muted);margin-bottom:11px}.party-hp-list{display:grid;gap:10px}.party-hp-list>div{display:grid;grid-template-columns:85px minmax(0,1fr) 60px;gap:9px;align-items:center}.party-hp-list span{font:16px var(--font-game-short)}.party-hp-list strong{font:18px var(--font-game-body);color:var(--mint);text-align:right}.party-hp-list .move-bar{height:7px}.decision-team .snapshot-party{margin-top:12px;padding-top:9px}.decision-team .snapshot-party-grid{grid-template-columns:1fr}
@media(min-width:761px){.decision-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.85fr);gap:8px 20px}.decision-foe,.decision-choice,.decision-results,.decision-extra{grid-column:1}.decision-choice{margin:4px 0}.decision-team{grid-column:2;grid-row:1/span 4;margin:0;padding:0 0 0 18px;border-top:0;border-left:1px solid #34765e;align-self:start}.decision-card>.chart-caption{grid-column:1;margin:0}}

/* Account login and cloud progress. */
.account-panel [hidden],.account-dialog [hidden]{display:none!important}
.account-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:15px 22px;align-items:center;margin:0 0 22px;padding:20px 24px;border-color:#4f9879;background:#084b43;min-width:0}
.account-panel .eyebrow{font-size:14px;margin-bottom:7px;color:var(--mint)}.account-panel h2{font:28px/1.15 var(--font-game-short);margin:0 0 8px}.account-panel p{font:20px/1.25 var(--font-game-body);color:var(--muted);margin:0}.account-panel .account-panel-note{font-size:17px;margin-top:7px}.account-panel-controls{align-self:center}
.account-guest-actions,.account-member-actions,.account-action-row{display:flex;flex-wrap:wrap;gap:9px;align-items:center}.account-member-actions{max-width:380px;justify-content:flex-end}.account-panel .account-public-id{font:16px/1.25 var(--font-game-label);color:var(--mint);margin-top:8px;overflow-wrap:anywhere}
.account-conflict{grid-column:1/-1;border-top:1px solid #438367;padding-top:15px}.account-conflict>strong{font:23px var(--font-game-short);color:var(--gold)}.account-conflict p{margin:7px 0 13px}.account-panel-settings{margin-top:0}.account-panel-settings .account-panel-controls{max-width:390px}
.account-dialog{max-width:590px;max-height:calc(100dvh - 36px);overflow:auto}.account-dialog h2{font:30px/1.15 var(--font-game-short)}.account-dialog>p,.account-dialog form>p{font:21px/1.3 var(--font-game-body)}.account-field{display:grid;gap:6px;margin-top:17px;color:#254c3c;font:22px/1.2 var(--font-game-short)}
.account-field input{width:100%;min-width:0;border:1px solid #83a584;border-radius:3px;padding:11px 12px;background:#fbf9dd;color:#173f33;font:21px/1.2 var(--font-game-body);box-shadow:inset 0 2px 0 #9bb49433}.account-field input[readonly]{font-family:var(--font-game-label);font-size:17px;background:#e0e9c9}.account-field input:focus-visible{outline:3px solid #b8a737;outline-offset:2px}
.account-dialog .account-form-help{font-size:18px;line-height:1.25;margin:10px 0 0;color:#46654c}.account-check{display:flex;gap:10px;align-items:flex-start;font:20px/1.3 var(--font-game-body);padding:12px;border:1px solid #adc69b;background:#e1ebce;color:#234c37;margin-top:16px}.account-check input{accent-color:#18664d;flex:none;margin:4px 0 0;width:17px;height:17px}
.account-dialog .account-form-error{color:#8b382a;background:#f6dfbd;border:1px solid #bb8d69;padding:10px 12px;font:20px/1.25 var(--font-game-body);margin-top:16px;overflow-wrap:anywhere}.account-dialog-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:19px;border-top:1px solid #afc39e;padding-top:13px}.account-dialog .account-dialog-links .button.ghost{background:transparent;border-color:transparent;color:#2a6149;padding:6px 8px;box-shadow:none}
.account-recovery-item{border:1px solid #a6bd93;background:#e2ebcf;padding:13px;margin:15px 0;min-width:0}.account-recovery-item>strong{display:block;font:20px var(--font-game-short);color:#315a3e;margin-bottom:8px}.account-recovery-item code{display:block;font:17px/1.4 var(--font-game-label);color:#133f2c;overflow-wrap:anywhere;user-select:all}.account-dialog .account-action-row{margin-top:15px}.account-dialog button:disabled{cursor:default;opacity:.6}
@media(max-width:760px){.account-panel{grid-template-columns:1fr;padding:20px;gap:14px}.account-panel-controls,.account-panel-settings .account-panel-controls{max-width:none}.account-member-actions{justify-content:flex-start;max-width:none}.account-panel h2{font-size:27px}.account-conflict{grid-column:1}.account-dialog{padding:24px}}
@media(max-width:440px){.account-panel{padding:18px;margin-bottom:17px}.account-panel h2{font-size:26px}.account-panel p{font-size:19px}.account-panel .account-panel-note{font-size:16px}.account-panel .button{font-size:18px;padding:8px 11px}.account-dialog{padding:20px;max-height:calc(100dvh - 24px)}.account-dialog h2{font-size:27px}.account-field input{font-size:20px;min-height:45px}.account-check{font-size:19px}.account-recovery-item code{font-size:16px}.account-guest-actions,.account-member-actions{gap:8px}.account-conflict .account-action-row{align-items:stretch;flex-direction:column}}

/* Cloud subscription controls share the account panel's pixel typography. */
.account-billing{grid-column:1/-1;border-top:1px solid #438367;padding-top:15px;min-width:0}
.account-billing-plans{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px}
.account-panel .account-billing-terms{font-size:17px;margin-top:10px}
.account-billing .account-action-row{margin-top:12px}
@media(max-width:440px){.account-billing-plans{align-items:stretch}.account-billing-plans .button{flex:1;white-space:nowrap}.account-panel .account-billing-terms{font-size:16px}}

/* Subscription-verified web statistics. Ordinary game controls stay independent. */
.stats-access-content{display:contents}
.stats-paywall{margin-bottom:22px;border-color:#8aab67}
.stats-paywall .button{margin-top:16px}
.stats-paywall .side-note{margin-top:12px}
.play-stats .stats-locked-note{grid-column:1/-1;font:20px/1.3 var(--font-game-body);color:var(--muted)}
.stats-locked-note a{color:var(--gold)}
@media(max-width:440px){.stats-paywall{padding:18px}.stats-paywall h2{font-size:27px}.stats-paywall p{font-size:20px}}

/* Review: direct signup, consistent clip captions, and clear shoulder spacing. */
.account-panel-discover{margin:40px 0 0;padding:26px 28px;border-color:#7fbd97;background:var(--cream);color:var(--ink);box-shadow:0 4px 0 var(--deep),inset 0 0 0 2px #fffef2}
.account-panel-discover h2{color:#124f3f;font-size:32px}.account-panel-discover .eyebrow{color:#20775b}.account-panel-discover p{color:#46685c;max-width:650px;font-size:22px}
.account-panel-discover .account-panel-copy{min-width:0}.account-panel-discover .account-guest-actions{justify-content:flex-end}
.account-panel-discover .button.secondary{background:#e3edcf;color:#28543f;border-color:#6f9e7b}
.feature-image.gameplay-clip{aspect-ratio:auto;height:auto;overflow:hidden;display:block}
.gameplay-clip .clip-media{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;image-rendering:pixelated;background:#032c30}
.gameplay-clip .screen-caption{align-items:center;gap:6px 12px;flex-wrap:nowrap;min-width:0}
.gameplay-clip .screen-caption>span{white-space:nowrap;font-size:14px;letter-spacing:.025em}
.gameplay-clip .caption-button{white-space:nowrap;flex:none;min-width:52px;min-height:28px;line-height:1.2;font-size:16px}
.feature-content a{font-size:22px;color:var(--mint);text-underline-offset:4px}
@media(min-width:441px) and (max-width:760px){.feature-card:first-child{display:block;grid-column:auto}.feature-card:first-child .feature-image.gameplay-clip{height:auto;aspect-ratio:auto;border-right:0;border-bottom:1px solid var(--border)}}
@media(max-width:760px){.account-panel-discover{padding:24px;margin-top:32px}.account-panel-discover .account-guest-actions{justify-content:flex-start}}
@media(max-width:440px){.account-panel-discover{padding:20px;margin-top:26px}.account-panel-discover h2{font-size:28px}.account-panel-discover p{font-size:20px}.feature-card:first-child .feature-image.gameplay-clip{aspect-ratio:auto;height:auto}}
/* Controller setup stays readable on handheld browsers. */
.controller-setup{border-top:1px solid #397a68;margin-top:18px;padding-top:16px;min-width:0}
.controller-setup .controller-status{font:20px/1.3 var(--font-game-body);color:var(--mint);margin:9px 0;overflow-wrap:anywhere}
.controller-choice{display:block;min-width:0;max-width:100%;font:20px/1.3 var(--font-game-body);margin:9px 0}
select.controller-choice,.controller-choice select{display:block;width:100%;max-width:100%;min-width:0;font-size:20px}
.controller-setup-actions{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:12px}
.controller-setup-actions .button{max-width:100%}
@media(max-width:440px){.controller-setup-actions{gap:8px}.controller-setup-actions .button{font-size:18px;padding:8px 10px}}
/* Google's pre-approved button asset keeps the provider's mark and lettering intact. */
.google-signin-button{appearance:none;display:inline-flex;flex:none;align-items:center;justify-content:center;max-width:100%;width:216px;height:48px;margin:0;padding:0;border:0;border-radius:5px;background:#fff;box-shadow:none;cursor:pointer;vertical-align:middle}
.google-signin-button img{display:block;width:216px;height:48px;max-width:100%;object-fit:contain}
.google-signin-button:focus-visible{outline:3px solid #4285f4;outline-offset:4px}
.google-signin-button:disabled{cursor:default;opacity:.6}
.account-dialog .dialog-actions{flex-wrap:wrap;align-items:center}
.account-dialog #account-google-loading{min-height:1.25em}

/* Profile and backup pages retain the site's game typography and controls. */
.data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.data-grid .panel{display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-width:0}.data-grid .panel h2{margin:0}.data-grid .panel p{flex:1}.data-grid .button{max-width:100%}.data-notice{padding:17px 20px;margin-bottom:20px;border:1px solid var(--border);border-left:4px solid var(--gold);background:#064744;color:var(--text);font-size:22px;overflow-wrap:anywhere}.data-notice p+p{margin-top:10px}.data-notice .button{margin-top:12px}.profile-data-panel{margin-top:22px}.profile-data-panel p{margin:12px 0}.profile-data-panel .account-action-row{margin-top:15px}.data-page-links{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:23px;font-size:20px;color:var(--mint)}.data-export-note{margin-top:20px!important}.data-delete-dialog .button-row{margin-top:18px}.footer-links{flex-wrap:wrap}.account-panel[data-account-panel="profile"]{margin-top:0}.account-panel[data-account-panel="profile"] .account-panel-note{max-width:700px}
@media(max-width:760px){.data-grid{grid-template-columns:1fr;gap:17px}.data-notice{padding:16px 18px}.profile-data-panel{margin-top:17px}}
@media(max-width:440px){.data-grid .panel{padding:18px}.data-grid .panel h2{font-size:27px}.data-grid .button{width:100%}.data-delete-dialog .button-row{flex-direction:column}.data-delete-dialog .button-row .button{width:100%}}
