/* Foundation by K28 — account: header cell, sign-in gate, account menu, and the standalone
   sign-in / privacy / dashboard pages. Same tokens as site.css, with fallbacks for pages without it. */
.acct{gap:10px;color:var(--ink8,rgba(242,242,244,.82));letter-spacing:.14em;font-size:10.5px;cursor:pointer;background:none;border:0;border-right:1px solid var(--line,rgba(255,255,255,.16));font-family:inherit;text-transform:uppercase;transition:color .3s}
.acct:hover{color:var(--acc,#D9FF00)}
.acct img,.acct .ini{width:20px;height:20px;border:1px solid var(--line2,rgba(255,255,255,.3));object-fit:cover;display:grid;place-items:center;font-size:10px;color:#000;background:var(--acc,#D9FF00)}
.acct .dot{width:6px;height:6px;background:var(--acc,#D9FF00);display:inline-block}
@media (max-width:860px){.acct .nm{display:none}}

.amenu{position:fixed;z-index:60;right:calc(var(--fi,14px) + 1px);top:calc(var(--fi,14px) + var(--top,46px));min-width:250px;background:rgba(13,13,15,.96);border:1px solid var(--line2,rgba(255,255,255,.3));font-size:11px;letter-spacing:.06em;color:var(--ink,#f2f2f4);backdrop-filter:blur(8px)}
.amenu[hidden]{display:none}
.amenu .who{padding:14px 16px;border-bottom:1px solid var(--line,rgba(255,255,255,.16))}
.amenu .who b{display:block;font-size:12px;letter-spacing:0}
.amenu .who span{color:var(--ink6,rgba(242,242,244,.6));font-size:10.5px;word-break:break-all}
.amenu a,.amenu button{display:flex;justify-content:space-between;width:100%;padding:11px 16px;background:none;border:0;border-bottom:1px solid var(--line,rgba(255,255,255,.16));color:inherit;font:inherit;letter-spacing:.14em;text-transform:uppercase;text-align:left;cursor:pointer;font-size:10.5px}
.amenu>:last-child{border-bottom:0}
.amenu a:hover,.amenu button:hover{background:var(--acc,#D9FF00);color:#000}

/* sign-in gate */
.gate{position:fixed;inset:0;margin:auto;width:min(460px,calc(100vw - 32px));max-height:calc(100vh - 32px);padding:0;border:0;background:none;color:var(--ink,#f2f2f4);overflow:visible}
.gate::backdrop{background:rgba(5,5,6,.72);backdrop-filter:blur(6px)}
.gate[open]{animation:gateIn .5s cubic-bezier(.2,.8,.2,1)}
@keyframes gateIn{from{opacity:0;transform:translateY(12px)}}
.gbox{position:relative;border:1px solid var(--line2,rgba(255,255,255,.3));background:rgba(13,13,15,.97);padding:30px 28px 22px;font-family:var(--mono,'IBM Plex Mono',ui-monospace,monospace);font-weight:300}
.gbox .c{position:absolute;width:14px;height:14px;border:0 solid var(--ink,#f2f2f4)}
.gbox .c.tl{left:-5px;top:-5px;border-width:2px 0 0 2px}.gbox .c.tr{right:-5px;top:-5px;border-width:2px 2px 0 0}
.gbox .c.bl{left:-5px;bottom:-5px;border-width:0 0 2px 2px}.gbox .c.br{right:-5px;bottom:-5px;border-width:0 2px 2px 0}
.gk{display:block;font-size:10px;letter-spacing:.22em;color:var(--acc,#D9FF00);text-transform:uppercase}
.gbox h3,.gbox h1{font-size:clamp(26px,4vw,34px);letter-spacing:-.04em;line-height:1.05;margin:.55em 0 .2em;font-weight:300}
.gname{font-size:12px;color:var(--ink,#f2f2f4);margin-bottom:1.1em;min-height:1.5em}
.gname em{color:var(--acc,#D9FF00)}
.gbox p{font-size:12px;line-height:1.65;color:var(--ink6,rgba(242,242,244,.6))}
.gerr{border:1px solid #ff5b4a;color:#ffb3aa!important;padding:9px 12px;margin-bottom:14px}
.gerr[hidden]{display:none}
.ggo{display:flex;align-items:center;gap:14px;height:48px;margin:22px 0 18px;padding:0 14px 0 6px;background:#131314;border:1px solid #8e918f;color:#e3e3e3;font-size:12.5px;letter-spacing:.04em;text-decoration:none;transition:border-color .3s,box-shadow .3s}
.ggo:hover,.ggo:focus-visible{border-color:var(--acc,#D9FF00);box-shadow:0 0 0 1px var(--acc,#D9FF00);outline:0}
.ggo .g{width:36px;height:36px;display:grid;place-items:center;background:#fff}
.ggo .g svg{width:18px;height:18px}
.ggo .ar{margin-left:auto;color:var(--acc,#D9FF00)}
.gtab{margin:-8px 0 16px;font-size:10.5px!important;color:var(--acc,#D9FF00)!important;letter-spacing:.04em}
.gfine{font-size:10.5px!important;border-top:1px solid var(--line,rgba(255,255,255,.16));padding-top:12px;color:var(--ink4,rgba(242,242,244,.4))!important}
.gfine a{color:var(--ink8,rgba(242,242,244,.82));text-decoration:underline;text-underline-offset:3px}
.gfine a:hover{color:var(--acc,#D9FF00)}
.gx{position:absolute;right:10px;top:8px;width:32px;height:32px;background:none;border:0;color:var(--ink6,rgba(242,242,244,.6));font:inherit;font-size:18px;cursor:pointer}
.gx:hover{color:var(--acc,#D9FF00)}

/* standalone pages: /signin/, /privacy/, /admin/ */
.page{margin:0;min-height:100vh;background:#050506;color:#f2f2f4;font-family:'IBM Plex Mono',ui-monospace,Menlo,monospace;font-weight:300;font-size:13px;line-height:1.6;
  --acc:#D9FF00;--ink:#f2f2f4;--ink8:rgba(242,242,244,.82);--ink6:rgba(242,242,244,.6);--ink4:rgba(242,242,244,.4);--line:rgba(255,255,255,.16);--line2:rgba(255,255,255,.3)}
.page *{box-sizing:border-box;font-weight:300}
.page a{color:inherit}
.page ::selection{background:var(--acc);color:#111}
.pframe{position:fixed;inset:14px;border:1px solid var(--line);pointer-events:none;z-index:0}
.pbar{position:sticky;top:0;z-index:5;display:flex;align-items:stretch;height:46px;margin:14px 14px 0;border:1px solid var(--line);background:rgba(5,5,6,.9);font-size:10.5px;letter-spacing:.08em;backdrop-filter:blur(6px)}
.pbar>*{display:flex;align-items:center;padding:0 18px;border-right:1px solid var(--line);text-decoration:none}
.pbar .logo b{border:1px solid var(--ink);padding:3px 7px;letter-spacing:.14em;font-size:11px}
.pbar .logo span{background:var(--ink);color:#000;padding:4px 7px;border:1px solid var(--ink);font-size:11px;letter-spacing:.14em}
.pbar .sp{margin-left:auto;border-left:1px solid var(--line)}
.pbar .ttl{color:var(--ink6);text-transform:uppercase;letter-spacing:.2em}
.pbar a:not(.logo):hover{color:var(--acc)}
.pmain{position:relative;z-index:1;padding:8vh 14px 10vh;max-width:820px;margin:0 auto}
.pmain.center{min-height:calc(100vh - 60px);display:grid;place-items:center;padding-top:0}
.pmain.wide{max-width:1400px;padding:36px 34px 80px}
.pfoot{position:relative;z-index:1;text-align:center;font-size:10px;letter-spacing:.18em;color:var(--ink4);text-transform:uppercase;padding:0 0 34px}
@media (max-width:720px){.pbar .ttl{display:none}.pmain.wide{padding:24px 18px 60px}}
