#loginScreen { --auth-bg:#f5f6f2; --auth-card:#fff; --auth-ink:#23382e; --auth-muted:#64756b; --auth-line:#d9e3da; --auth-field:#f5f8f5; background:var(--auth-bg); overflow:auto; padding:32px 20px; }
[data-theme="dark"] #loginScreen { --auth-bg:#101c19; --auth-card:#192a24; --auth-ink:#eef4e8; --auth-muted:#a6bbae; --auth-line:#365046; --auth-field:#14231e; }
#loginScreen::before { content:""; position:fixed; inset:0; pointer-events:none; background:radial-gradient(ellipse at 20% 15%,#77aa7a26,transparent 50%),radial-gradient(ellipse at 85% 80%,#d6b76e18,transparent 45%); }
.auth-shell { position:relative; display:grid; grid-template-columns:1fr 380px; gap:80px; align-items:center; width:min(100%,1000px); color:var(--auth-ink); }
.auth-story { padding:32px 10px; }
.auth-wordmark { font-size:18px; letter-spacing:.2em; font-weight:700; color:var(--auth-muted); }
.auth-story h1 { font-size:clamp(36px,4vw,56px); letter-spacing:.07em; line-height:1.45; margin:24px 0; font-weight:600; }
.auth-story p { color:var(--auth-muted); font-size:15px; line-height:2; }
.auth-flower { display:block; font-size:64px; color:#9dbd8c; line-height:1.3; margin-bottom:35px; }
.auth-caption { margin-top:50px; font-size:12px; letter-spacing:.18em; color:var(--auth-muted); }
.auth-card { background:var(--auth-card); border:1px solid var(--auth-line); border-radius:24px; padding:32px; box-shadow:0 24px 80px #0000001a; text-align:left; }
.auth-card-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.auth-card h2 { font-size:23px; margin:0; color:var(--auth-ink); }
.auth-theme { background:none; border:1px solid var(--auth-line); border-radius:50%; color:var(--auth-ink); width:36px; height:36px; cursor:pointer; font-size:18px; }
.auth-card .auth-welcome { color:var(--auth-muted); font-size:13px; margin:0 0 24px; }
.auth-tabs { display:flex; background:var(--auth-field); border:1px solid var(--auth-line); border-radius:10px; padding:4px; margin-bottom:24px; gap:4px; }
.auth-tabs button { flex:1; padding:9px; background:transparent; border:0; border-radius:7px; color:var(--auth-muted); cursor:pointer; font:inherit; font-size:14px; }
.auth-tabs .on { background:var(--auth-card); color:var(--auth-ink); box-shadow:0 2px 6px #00000012; font-weight:700; }
.auth-card form { display:grid; gap:16px; }
.auth-field { display:grid; gap:7px; font-size:13px; color:var(--auth-ink); text-align:left; }
.auth-field input { width:100%; min-width:0; box-sizing:border-box; height:46px; padding:10px 12px; border:1px solid var(--auth-line,#748579); background:var(--auth-field,var(--bg)); color:var(--auth-ink,var(--ink)); border-radius:8px; font:inherit; font-size:16px; }
.auth-field input:focus { outline:2px solid #97b686; outline-offset:2px; }
.auth-card .main-btn { width:100%; margin:0; min-height:46px; border-radius:9px; background:#a6c590; color:#17261b; border:1px solid #a6c590; font-weight:700; font-size:15px; }
.auth-hint { color:var(--auth-muted); font-size:11px; line-height:1.7; margin:12px 0; }
.auth-card .dialog-err { font-size:13px; line-height:1.65; min-height:0; margin:10px 0; color:#cc645e; }
.auth-divider { display:flex; gap:12px; align-items:center; color:var(--auth-muted); font-size:11px; margin:22px 0 14px; }
.auth-divider::before,.auth-divider::after { content:""; height:1px; flex:1; background:var(--auth-line); }
.auth-social { display:grid; gap:10px; }
.auth-provider { display:flex; align-items:center; justify-content:center; position:relative; gap:12px; width:100%; min-height:42px; border-radius:4px; padding:10px 12px; box-sizing:border-box; cursor:pointer; font:500 14px Arial,sans-serif; letter-spacing:.25px; text-decoration:none; }
.auth-provider img { width:20px; height:20px; object-fit:contain; flex:none; }
.auth-google { background:#fff; color:#1f1f1f; border:1px solid #747775; }
.auth-discord { background:#5865f2; color:#fff; border:1px solid #5865f2; }
.auth-provider:hover { box-shadow:0 0 0 2px #91aa8c55; }
.auth-provider:disabled { opacity:.65; cursor:default; }
.auth-legacy { display:block; margin:22px auto 0; background:none; border:0; color:var(--auth-muted); text-decoration:underline; text-underline-offset:4px; cursor:pointer; font-size:12px; }
[hidden],.auth-field[hidden],.auth-provider[hidden] { display:none!important; }
#accountSettings { z-index:300; padding:20px; overflow:auto; }
.account-dialog { width:min(100%,420px); max-height:90dvh; overflow:auto; text-align:left; }
.account-dialog form { display:grid; gap:12px; }
.account-dialog h3 { margin:24px 0 12px; font-size:16px; }
.account-dialog .auth-social { margin:16px 0; }
.account-title { display:flex; justify-content:space-between; align-items:center; }
@media(max-width:760px) {
  #loginScreen { align-items:flex-start; padding:28px 18px; }
  .auth-shell { grid-template-columns:1fr; gap:22px; max-width:400px; margin:auto; }
  .auth-story { padding:0 8px; text-align:center; }
  .auth-flower,.auth-caption,.auth-story p { display:none; }
  .auth-wordmark { font-size:20px; color:var(--auth-ink); }
  .auth-story h1 { font-size:15px; margin:8px 0 0; color:var(--auth-muted); letter-spacing:.08em; }
  .auth-story h1 br { display:none; }
  .auth-card { padding:24px; border-radius:20px; }
}
