/* Account control (static/account.js). Button rules are prefixed with #acct
   so they outrank host-page rules like the shell's `.nav button`.
   — the person icon / cursive initial at
   the far right of every page's main-menu row, its dropdown menu, and the
   sign-in / register / recover / display-name dialog. Vendored, no deps. */
#acct { margin-left:auto; display:flex; align-items:center; flex:none; }
#acct .acct-btn { width:34px; height:34px; border-radius:50%; padding:0; cursor:pointer;
            display:inline-flex; align-items:center; justify-content:center;
            background:#1b1e27; border:1px solid #2c3140; color:#8b93a7;
            line-height:1; overflow:hidden; }
#acct .acct-btn:hover, #acct .acct-btn.on, #acct .acct-btn:focus-visible { border-color:#5b7fff; color:#e6e8ee; outline:none; }
#acct .acct-btn svg { width:20px; height:20px; display:block; }
#acct .acct-btn.in { border-color:#4a4a3a; }
#acct .acct-btn.in:hover, #acct .acct-btn.in.on, #acct .acct-btn.in:focus-visible { border-color:#e8b45a; }
/* Signed in: a large, flowing cursive capital of the first name in soft gold.
   Installed cursive faces only (the site vendors everything, no web fonts);
   the generic `cursive` family is the fallback glyph when none exist. */
#acct .acct-initial { font-family:"Snell Roundhand", "Apple Chancery", "Brush Script MT",
                "Segoe Script", "URW Chancery L", cursive;
                font-style:italic; font-size:26px; font-weight:400; line-height:1;
                padding:0 1px 3px 0;
                background:linear-gradient(135deg, #e8b45a 0%, #f3d58a 100%);
                -webkit-background-clip:text; background-clip:text;
                color:transparent; -webkit-text-fill-color:transparent; }
.acct-menu { position:fixed; z-index:80; min-width:200px; display:none;
             background:#171a28; border:1px solid #3d4f8f; border-radius:12px;
             padding:6px; font:13px/1.4 -apple-system, "Segoe UI", sans-serif; color:#c9cede; }
.acct-menu.open { display:block; }
.acct-head { padding:6px 10px 8px; border-bottom:1px solid #252a38; margin-bottom:4px; }
.acct-head .acct-name { color:#e6e8ee; font-weight:600; font-size:13.5px;
                        overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:260px; }
.acct-head .acct-user { color:#8b93a7; font-size:11.5px;
                        overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:260px; }
.acct-head .acct-stat { color:#e8b45a; font-size:11px; margin-top:2px; }
.acct-item { display:block; width:100%; text-align:left; background:none; border:none;
             color:#c9cede; padding:7px 10px; border-radius:8px; font-size:13px; cursor:pointer;
             font-family:inherit; }
.acct-item:hover, .acct-item:focus-visible { background:#243052; color:#e6e8ee; outline:none; }
.acct-item.acct-admin { color:#e8b45a; }
/* dialog */
.acct-wrap { position:fixed; inset:0; background:rgba(8,10,16,0.65); z-index:90;
             display:none; align-items:center; justify-content:center;
             font:14px/1.5 -apple-system, "Segoe UI", sans-serif; color:#e6e8ee; }
.acct-wrap.open { display:flex; }
.acct-card { width:340px; max-width:calc(100vw - 32px); max-height:calc(100vh - 32px); overflow-y:auto;
             box-sizing:border-box; background:#171a28; border:1px solid #3d4f8f;
             border-radius:14px; padding:20px 22px; position:relative; }
.acct-card h3 { margin:0 0 12px; font-size:16px; font-weight:600; }
.acct-card input { width:100%; box-sizing:border-box; background:#1b1e27; color:#e6e8ee;
                   border:1px solid #2c3140; border-radius:8px; padding:8px 10px;
                   font-size:14px; margin-bottom:8px; outline:none; font-family:inherit; }
.acct-card input:focus { border-color:#5b7fff; }
.acct-card .acct-q { color:#8b93a7; font-size:12px; margin:6px 0 6px; }
.acct-card .acct-err { color:#ff7b7b; font-size:12.5px; min-height:1.2em; margin-bottom:6px; }
.acct-card .acct-links { margin-top:10px; font-size:12.5px; color:#586074; }
.acct-card .acct-links a { color:#8fa3e8; text-decoration:none; cursor:pointer; }
.acct-card .acct-go { background:#5b7fff; color:#fff; border:none; border-radius:8px;
                      padding:8px 14px; font-size:14px; cursor:pointer; font-family:inherit; }
.acct-card .acct-go:hover { background:#6e8eff; }
.acct-card .acct-go:disabled { opacity:.6; cursor:default; }
.acct-close { position:absolute; top:8px; right:12px; background:none; border:none;
              color:#586074; font-size:18px; cursor:pointer; }
.acct-close:hover { color:#e6e8ee; }
.acct-pw { position:relative; }
.acct-pw input { padding-right:38px; }
.acct-eye { position:absolute; right:6px; top:5px; background:none; border:none;
            color:#8b93a7; cursor:pointer; padding:4px; }
.acct-eye:hover { color:#e6e8ee; }
.acct-view { display:none; }
.acct-view.open { display:block; }
