/* The sign-up / profile button (its face: js/elgin-account-button.js, the ONE file the town, every daily, the front page and PLAY
   build it from). Signed out it is the words SIGN UP / IN in the game's lettering with a RED DOT on them -- the owner's "red alert
   circle" -- and no seat, since words never stand on a box; signed in it is the profile icon on the row's own round seat. The ask
   under it is lettering, never a box. Each page sizes the icon state; the word state is sized HERE (button.* outranks a page's
   `.x .acct-nudge` and the town's `body .top-actions button`), so the words read the same everywhere. */
.acct-nudge{position:relative}
.acct-nudge svg{width:22px;height:22px;display:block}
button.acct-nudge.acct-nudge--out,button.acct-nudge.acct-nudge--out:hover{width:auto;min-width:0;height:auto;min-height:44px;
  padding:8px 17px 6px 2px;display:inline-flex;align-items:center;background:none;border:0;border-radius:0;box-shadow:none;
  cursor:pointer}
.acct-nudge-word{font:900 16px/1 var(--ink-face);letter-spacing:.02em;white-space:nowrap;
  color:var(--ink-cream);-webkit-text-stroke:5px var(--ink);paint-order:stroke fill;
  text-shadow:2px 3px 0 var(--ink);transition:color .12s}
button.acct-nudge--out:hover .acct-nudge-word,button.acct-nudge--out:focus-visible .acct-nudge-word{color:var(--ink-yellow)}
button.acct-nudge--out .acct-nudge-dot{right:0;top:-1px}
.acct-nudge-dot{position:absolute;right:0;top:0;width:13px;height:13px;border-radius:50%;background:#ff2d2d;border:2px solid var(--ink);
  box-shadow:0 0 0 1.5px var(--ink-cream);pointer-events:none}
.acct-nudge-dot[hidden]{display:none}
/* the ask sits in the call-out's own seat (src/ui/hud/objectives.css #objective-banner: one small line under the top bar, WoW's
   "Quest accepted"), and src/main.ts holds it back while that call-out is up, so the two never stack */
.acct-ask{position:fixed;z-index:30;left:50%;top:92px;transform:translateX(-50%);display:flex;align-items:center;gap:10px;
  white-space:nowrap;pointer-events:auto;animation:acct-ask-in .35s ease-out both}
.acct-ask[hidden]{display:none}
.acct-ask .ink-eyebrow{font-size:12px}
.acct-ask .ink-button{font-size:18px;min-height:40px}
.acct-ask .acct-ask-x{font-size:22px;padding:0 4px;color:var(--ink-cream)}
@keyframes acct-ask-in{from{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%,0)}}
/* A MENU PUTS THE LINE AWAY (src/ui/README.md rule 5; seen 2026-10-11 lying across the bowl under the home aquarium's menu, cut off
   as "SIGN U" by its panel). The town marks the line while a game or a menu has the screen (account-nudge.ts `away`: the call-out's
   own lists, src/ui/hud/objectives.ts GAME_ON_SCREEN and MENU_ON_SCREEN -- a new game's class goes THERE, not here -- and the
   tavern's table games, src/main.ts TABLE_GAME_ON_SCREEN: at darts the line lay across both scores). Two things
   take the screen without being on a list, and the line is not drawn under either, whichever one it is: a modal dialog (nothing
   outside it can be pressed) and an open pick wheel (src/ui/components/pick-wheel.ts: the gun wheel, the emote wheel -- the top
   slice of the wheel stands where the line does). */
.acct-ask.acct-ask--away{display:none}
body:has(dialog:modal) .acct-ask{display:none}
body:has(.pick-wheel.open) .acct-ask{display:none}
/* ON A PHONE THE ACTION ROW HAS THE SEAT (2026-10-19). Where the touch pad stands (src/style.css `(max-height:600px),(pointer:coarse)`)
   the row of action words -- "Drive beater", "Close roof", "Shake crate" -- stands under the top bar at top 73, the band this line
   stands in: at 390x664 with a job being played the ask lay across "Drive beater" (scripts/hud-phone-layout-check.cjs). The word you
   came to press wins; the line is put away while the row is up, and src/main.ts `askable` holds an ask that falls due then until
   the row has gone, as it does for the call-out. */
@media(max-height:600px),(pointer:coarse){body:has(#car-controls:not(.hidden)) .acct-ask{display:none}}
/* Account is an explicitly approved box with normal readable type (owner, 2026-10-13). */
.acct-menu-dim{position:fixed;inset:0;z-index:10050;background:#0b0d1270}
.acct-menu{box-sizing:border-box;position:fixed;z-index:10051;width:min(340px,calc(100vw - 32px));
  max-height:calc(100dvh - 24px);overflow:auto;padding:22px 16px 16px;border:1px solid #444957;border-radius:16px;
  background:#20232c;color:#f7f8fc;box-shadow:0 16px 56px #0006;text-align:left;
  font:400 15px/1.45 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  -webkit-text-stroke:0;text-shadow:none}
.acct-menu-identity{padding:0 32px 14px 6px}
.acct-menu-label{display:block;font-size:12px;font-weight:600;color:#b9c0cf}
.acct-menu-identity p{margin:2px 0 12px;overflow-wrap:anywhere;text-transform:none;letter-spacing:0}
.acct-menu-identity .acct-menu-username{font-size:22px;font-weight:700}
.acct-menu-identity .acct-menu-email{margin-bottom:0}
button.acct-menu-item,button.acct-menu-close{appearance:none;box-sizing:border-box;min-height:44px;border:0;
  border-radius:8px;box-shadow:none;cursor:pointer;font:600 15px/1.3 system-ui,sans-serif;letter-spacing:0;
  color:#f7f8fc;-webkit-text-stroke:0;text-shadow:none;text-transform:none;transform:none}
button.acct-menu-item{display:block;width:100%;margin:4px 0 0;padding:12px;text-align:left;background:#303541;white-space:normal}
button.acct-menu-close{position:absolute;right:10px;top:10px;width:44px;padding:0;background:transparent;font-size:24px}
button.acct-menu-item:hover,button.acct-menu-close:hover{background:#41495a;color:#fff;transform:none}
button.acct-menu-item:focus-visible,button.acct-menu-close:focus-visible{outline:2px solid #fbd563;outline-offset:2px}
button.acct-menu-item[data-acct-menu="out"]{background:transparent;color:#ffb8c6;margin-top:10px}
button.acct-menu-item[data-acct-menu="out"]:hover{background:#3f303b}

button.acct-menu-item[hidden]{display:none}
button.acct-menu-item:disabled{opacity:.55;cursor:wait}
.acct-menu-status{margin:12px 6px 0;color:#d3d9e5;overflow-wrap:anywhere}
