body:not([data-account-ready]) > :not(.account-gate):not(script):not(noscript) { display:none !important; }
.account-gate { min-height:100dvh; display:grid; place-items:center; padding:32px 20px; background:var(--hub-bg); color:var(--hub-text); }
.account-card { width:min(100%,440px); padding:36px; background:var(--hub-card); border:1px solid var(--hub-border); border-top:4px solid var(--hub-accent); border-radius:14px; box-shadow:0 18px 55px #0003; }
.account-brand { margin:0 0 36px; font-size:24px; font-weight:800; letter-spacing:-.7px; }
.account-brand small { display:block; margin-top:5px; font-size:12px; letter-spacing:2px; font-weight:600; color:var(--hub-muted); }
.account-card h1 { font-size:28px; line-height:1.2; margin:0 0 12px; }
.account-card p { font-size:16px; line-height:1.55; }
.account-card label { display:block; margin:20px 0 8px; font-size:14px; font-weight:600; }
.account-card input { box-sizing:border-box; width:100%; border:1px solid #586b65; border-radius:7px; padding:12px; background:#0a1412; color:var(--hub-text); font:inherit; font-size:16px; }
.account-card input:focus-visible, .account-card button:focus-visible { outline:3px solid #87b3ff; outline-offset:3px; }
.account-submit { width:100%; margin:24px 0 12px; padding:13px; border:0; border-radius:7px; background:var(--hub-accent); color:#142009; font:inherit; font-weight:600; cursor:pointer; }
.account-links { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; }
.account-links button { border:0; padding:5px 0; background:transparent; color:var(--hub-accent); font:inherit; font-size:14px; cursor:pointer; text-align:left; }
.account-message:not(:empty) { background:#243329; border-radius:7px; padding:12px; margin:20px 0 0; }
.account-card button:disabled { opacity:.55; cursor:wait; }
.account-gate[hidden], .account-card [hidden] { display:none !important; }
.account-open { display:flex; align-items:center; gap:12px; margin-top:auto; padding:16px 8px 0; border:0; border-top:1px solid var(--hub-border); background:none; color:var(--hub-text); font:inherit; font-size:14px; cursor:pointer; }
.account-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
#accountEmail { overflow-wrap:anywhere; }
body[data-page="whiteboard"] .account-open > span:last-child { display:none; }
@media(max-width:760px) { .hub-nav {flex-wrap:wrap;} .account-open {margin:0 0 0 auto; padding:0; border:0;} .account-open > span:last-child {display:none;} }
#accountBusy { padding:24px 32px; border:1px solid var(--hub-border); border-radius:12px; color:var(--hub-text); font:inherit; }
#accountBusy::backdrop { background:#152b3b33; }
@media(max-width:600px) { .account-card {padding:28px 22px;} .account-gate {padding:20px 12px;} }
