.ls-account-dialog {
 box-sizing: border-box;
 width: min(640px, calc(100% - 32px));
 max-height: calc(100vh - 32px);
 max-height: calc(100dvh - 32px);
 overflow: auto;
 overscroll-behavior: contain;
 padding: clamp(18px, 4vw, 32px);
 margin: auto;
 border: 1px solid #b9965f;
 border-radius: 18px;
 box-shadow: 0 20px 70px #35230e42;
 background: #fffaf0;
 color: #493522;
 font: 15px/1.55 system-ui, sans-serif;
 text-align: start;
}
.ls-account-dialog::backdrop { background: #211a13a3; }
.ls-account-dialog:has(form) { width: min(420px, calc(100% - 32px)); }
.ls-account-dialog h2 {
 margin: 0 46px 8px 0;
 font: 700 26px/1.3 KaiTi, STKaiti, 'Songti SC', serif;
}
.ls-account-dialog h3 { margin: 2px 0; font: 700 20px/1.35 system-ui, sans-serif; }
.ls-account-dialog p { margin: 0 0 12px; }
.ls-account-dialog .ls-account-brand { color: #75552e; font-weight: 700; letter-spacing: .12em; }
.ls-account-dialog form { display: grid; gap: 12px; margin: 16px 0 0; }
.ls-account-dialog label { display: grid; gap: 4px; }
.ls-account-dialog input,
.ls-account-dialog button,
.ls-account-dialog .ls-account-primary {
 box-sizing: border-box;
 min-height: 44px;
 padding: 8px 12px;
 border: 1px solid #cdb48d;
 border-radius: 8px;
 background: #fffdf9;
 color: #493522;
 font: inherit;
}
.ls-account-dialog input { width: 100%; font-size: 16px; }
.ls-account-dialog button,
.ls-account-dialog .ls-account-primary { cursor: pointer; }
.ls-account-dialog button:disabled { opacity: .65; cursor: default; }
.ls-account-dialog .ls-account-primary {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 border-color: #9c7539;
 background: #efd59b;
 color: #493522;
 font-weight: 700;
 text-decoration: none;
}
.ls-account-dialog .ls-account-close {
 position: absolute;
 top: 12px;
 right: 12px;
 width: 44px;
 padding: 0;
 font-size: 24px;
}
.ls-account-dialog :focus-visible { outline: 2px solid #8b5c24; outline-offset: 2px; }
.ls-account-dialog .ls-account-status { margin: 0; color: #8c392f; }
.ls-account-dialog .ls-account-status:empty { display: none; }
.ls-account-links { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; }
.ls-account-dialog .ls-account-links a { color: #75552e; text-decoration: underline; }
.ls-account-plans { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.ls-account-plans article {
 display: grid;
 align-content: start;
 padding: 12px;
 border: 1px solid #dfcba7;
 border-radius: 10px;
 background: #fffdf9;
}
.ls-account-plans .ls-account-gold { border-color: #b9965f; background: #faf0d7; }
.ls-account-plans article p { min-height: 3em; margin: 4px 0; }
.ls-home-auth-actions {
 grid-column: 1 / -1;
 display: flex;
 flex-wrap: wrap;
 gap: 8px;
}
.ls-home-auth-actions button {
 min-height: 42px;
 padding: 8px 12px;
 border: 1px solid #bd9b64;
 border-radius: 7px;
 background: #f1e1bd;
 color: #493522;
 font: 600 14px/1.35 system-ui, sans-serif;
 cursor: pointer;
}
@media (max-width: 560px) {
 .ls-account-plans { grid-template-columns: minmax(0, 1fr); }
 .ls-account-plans article p { min-height: 0; }
}
