:root{--auth-ink:#254439;--auth-paper:#f7f4e9;--auth-line:#d7ddcc;--auth-soft:#68776c;--auth-accent:#cc6947}*{box-sizing:border-box}[hidden]{display:none!important}.login-page{margin:0;min-height:100svh;display:grid;place-items:center;padding:36px 18px;background:radial-gradient(ellipse at 20% 0%,#e2e9d4,transparent 60%),#eeeadd;color:var(--auth-ink);font-family:"Segoe UI","Microsoft YaHei",sans-serif}.login-card{width:min(100%,480px);padding:40px;background:var(--auth-paper);border:1px solid var(--auth-line);border-radius:24px;box-shadow:0 20px 60px #314f3310}.login-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;font-size:23px;font-weight:750}.login-brand small{display:block;font-size:12px;letter-spacing:.12em;font-weight:400;margin-top:4px;color:var(--auth-soft)}.auth-eyebrow{color:var(--auth-accent);font-size:12px;letter-spacing:.15em;margin:38px 0 8px}.login-card h1{font-size:27px;line-height:1.4;margin:0 0 14px}.auth-muted,.auth-footnote{font-size:14px;color:var(--auth-soft);line-height:1.8}.auth-footnote{font-size:12px;margin:25px 0 0}.auth-form{display:grid;gap:18px;margin-top:25px}.auth-form label{display:grid;gap:8px;font-size:14px;font-weight:600}.auth-form small{font-size:12px;font-weight:400;color:var(--auth-soft)}.auth-form input{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--auth-line);border-radius:9px;background:#fffef8;font:inherit;color:var(--auth-ink)}.auth-form input:focus{outline:2px solid #78977a;outline-offset:2px}.auth-button{border:1px solid var(--auth-ink);border-radius:9px;min-height:44px;padding:10px 16px;background:var(--auth-ink);color:#fffdf1;font:inherit;font-weight:600;cursor:pointer}.auth-button.secondary{background:transparent;color:var(--auth-ink)}.auth-button:disabled{opacity:.55;cursor:wait}#auth-error,.account-error{color:#a33c2b;font-size:14px;line-height:1.6;min-height:1.6em}.account-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:18px}.account-toolbar button{font-size:12px;padding:7px 12px;min-height:36px}.account-toolbar span{margin-right:auto;color:var(--auth-soft);font-size:13px}.account-dialog{width:min(760px,calc(100% - 28px));max-height:85svh;overflow:auto;background:var(--auth-paper);color:var(--auth-ink);border:1px solid var(--auth-line);border-radius:18px;padding:28px}.account-dialog::backdrop{background:#15372c80}.account-dialog h2{margin-top:0}.account-dialog h3{margin:26px 0 10px}.account-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:14px 0;border-bottom:1px solid var(--auth-line)}.account-row .account-info{flex:1;min-width:180px}.account-info small{display:block;color:var(--auth-soft);margin-top:5px}.account-row button{font-size:12px;min-height:36px}.account-dialog .auth-form{max-width:440px}.account-close{float:right}.account-rooms{margin:18px 0;display:flex;gap:8px;flex-wrap:wrap}.account-rooms:empty{display:none}@media(max-width:500px){.login-card{padding:28px 24px}.login-card h1{font-size:24px}.account-dialog{padding:20px}}
:is(.login-card,.account-dialog) .auth-form label{justify-content:stretch;margin:0;min-width:0}
.account-dialog{max-width:760px}
.account-dialog .auth-form input{margin:0}
.account-dialog .auth-form{max-width:none}

#account-login{margin-top:24px;font-size:13px;color:var(--auth-soft)}#account-login summary{cursor:pointer;min-height:44px;display:flex;align-items:center}input,select,button{touch-action:manipulation}.auth-form input{font-size:16px}.account-toolbar span{overflow-wrap:anywhere}
