[hidden]{display:none!important}
.portal-controls{position:fixed;right:20px;bottom:20px;display:flex;gap:6px;z-index:15}
.portal-controls button{border:1px solid var(--line);background:var(--bg);color:var(--ink);padding:10px 15px;border-radius:9px;box-shadow:0 5px 20px #0002;font-size:12px}
body[data-portal=live] footer{padding-bottom:100px}
#account-open{max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
dialog{max-height:calc(100dvh - 40px);overflow:auto;scrollbar-gutter:stable;scrollbar-color:var(--muted) var(--bg);padding-right:38px}
dialog .eyebrow{font:9px/1.8 monospace;letter-spacing:2px;color:var(--muted);margin:0 0 16px}
dialog h2{margin:0 0 14px;font-size:24px;font-weight:500;overflow-wrap:anywhere}
.dialog-note{font-size:12px;color:var(--muted)}
dialog label{display:block;font-size:12px;margin:14px 0}
dialog input{display:block;width:100%;font:inherit;padding:11px;border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:5px;margin-top:5px}
dialog input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.tabs{display:flex;border-bottom:1px solid var(--line);margin:22px 0}
.tabs button{flex:1;border:0;border-bottom:2px solid transparent;background:none;padding:11px 0;font-size:13px}
.tabs .selected{border-bottom-color:var(--accent);color:var(--accent)}
dialog .primary{display:flex;width:100%;justify-content:center;background:var(--accent);color:var(--bg);border:0;border-radius:5px;padding:13px 20px;font-size:14px;margin-top:14px}
dialog button:disabled{opacity:.5;cursor:wait}
.text-button{border:0;background:none;color:var(--accent);padding:10px 0;font-size:12px}
#signed-in .text-button{display:block}
#auth-message{font-size:12px;color:var(--accent);overflow-wrap:anywhere}
.account-quota{margin:22px 0 10px;padding:20px 0;border-block:1px solid var(--line)}
.quota{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:12px}
.quota strong{display:block;font-size:18px;color:var(--accent);margin-top:3px}
.account-quota p{font-size:12px;color:var(--muted);margin:15px 0 0}
#appearance-dialog{max-width:560px;width:calc(100% - 32px)}
#portal-theme-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0 8px}
#portal-theme-list button{display:flex;align-items:center;text-align:left;gap:12px;padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--ink);min-width:0}
#portal-theme-list button[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
#portal-theme-list small{display:block;font-size:9px;color:var(--muted);margin-top:4px;line-height:1.6}
.theme-swatch{display:grid;place-items:center;width:35px;height:44px;flex-shrink:0;border:1px solid #8884;border-radius:6px;font-size:24px}
::-webkit-scrollbar{width:14px;height:14px}::-webkit-scrollbar-thumb{background:var(--muted);border:3px solid var(--bg);border-radius:10px}::-webkit-scrollbar-track{background:var(--bg)}
@media(max-width:700px){#account-open{max-width:150px}.portal-controls{right:14px;bottom:14px}dialog{padding:30px 26px}#portal-theme-list{grid-template-columns:1fr}#appearance-dialog{max-width:400px}.quota strong{font-size:16px}}
