.account-dialog{box-sizing:border-box;width:min(540px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:32px;border:1px solid #294d39;background:#050e0a;color:#bcf5cc;font:14px/1.6 var(--mono,monospace);box-shadow:0 24px 100px #000a}
.account-dialog::backdrop{background:#030a06ed}
.account-dialog>small{font-size:10px;letter-spacing:1px;color:#85ac93}
.account-dialog h2{font:600 32px/1.15 var(--ui,sans-serif);margin:20px 0 14px;color:#d5ffe1}
.account-dialog p{font-size:12px;color:#85ac93}
.account-dialog label{display:block;font-size:12px;margin:16px 0 8px}
.account-dialog input[type=password],.account-dialog textarea{box-sizing:border-box;width:100%;font:16px/1.7 var(--mono,monospace);color:#d5ffe1;background:#091a10;border:1px solid #476a52;padding:12px;border-radius:0}
.account-dialog textarea{height:108px;resize:none;overflow-wrap:anywhere}
.account-dialog .account-check{display:flex;align-items:center;gap:10px;line-height:1.5}.account-check input{width:18px;height:18px;flex:none;accent-color:#bcf5cc}
.account-dialog .account-command{display:block;position:relative;min-height:44px;margin:8px 0;padding:10px 10px 10px 24px;background:transparent;border:0;color:#bcf5cc;font:13px var(--mono,monospace);text-align:left;box-shadow:none;transform:none}
.account-command::before{content:'>';position:absolute;left:0;opacity:0}.account-command:focus-visible::before,.account-command:hover::before{opacity:1}.account-command:disabled{opacity:.4}.account-dialog :focus-visible{outline:1px solid #bcf5cc;outline-offset:3px}
.account-key-actions{display:flex;gap:12px;flex-wrap:wrap}.account-new{margin-top:24px}.account-error{min-height:20px;color:#e4ba7e!important}
#save-status{font:10px var(--mono);color:var(--muted-phosphor);background:none;border:0;box-shadow:none;padding:8px;min-height:44px;white-space:nowrap}
@media(max-width:700px){.account-dialog{padding:24px}.account-dialog h2{font-size:28px}#save-status{position:fixed;right:12px;bottom:8px;z-index:45;background:var(--glass);min-height:32px;font-size:9px}}
.account-dialog:focus{outline:none}
/* Account commands are terminal text in every input state. */
.account-dialog button.account-command,
.account-dialog button.account-command:hover:not(:disabled),
.account-dialog button.account-command:active,
.account-dialog button.account-command:focus,
.account-dialog button.account-command:focus-visible,
body[data-input=gamepad] .account-dialog button.account-command:focus{
 background:transparent!important;border:0!important;box-shadow:none!important;
 outline:none;text-decoration:none;transform:none;color:#bcf5cc
}
.account-dialog button.account-command:focus-visible,
.account-dialog button.account-command:hover:not(:disabled),
body[data-input=gamepad] .account-dialog button.account-command:focus{color:#e1ffea;text-shadow:0 0 12px #98ffb044}
body[data-input=gamepad] .account-dialog button.account-command:focus::before{opacity:1}
#save-status,#save-status:hover:not(:disabled),#save-status:active{width:36px;min-width:36px;padding:8px;background:transparent;border:0;box-shadow:none;transform:none;display:grid;place-items:center;color:var(--muted-phosphor)}
#save-status .icon{width:18px;height:18px}
#save-status[data-state=saving] .icon{animation:save-pulse 1s ease-in-out infinite}
#save-status[data-state=warning]{color:var(--amber,#e4ba7e)}
@keyframes save-pulse{50%{opacity:.35}}
@media(prefers-reduced-motion:reduce){#save-status[data-state=saving] .icon{animation:none;color:var(--phosphor)}}
#save-status{opacity:.8;color:var(--cyan)}
#save-status:hover:not(:disabled),#save-status:focus-visible{opacity:1;color:var(--cyan);filter:drop-shadow(0 0 4px var(--cyan))}
#save-status[data-state=warning]:hover{color:#e4ba7e;filter:drop-shadow(0 0 4px #e4ba7e)}
