/* Account and public profile surfaces. Kept separate from the reader's shared dialogs. */
.account-page { --account-border:#bca2d526; --account-muted:#b2a5c0; --account-panel:#19131f; color-scheme:dark; }
.account-page .account-experience { width:min(1120px,calc(100% - 64px)); max-width:1120px; padding:44px 0 72px; min-height:70vh; }
.account-experience *, .account-experience *:before, .account-experience *:after { box-sizing:border-box; }
.account-experience a { color:#d9c0f2; }
.account-experience p { line-height:1.7; }
.account-experience h1 { font-size:clamp(32px,4vw,44px); line-height:1.13; margin:8px 0 12px; }
.account-experience h2 { font:600 22px/1.3 Manrope,Arial,sans-serif; letter-spacing:-.5px; margin:0 0 12px; }
.account-experience .account-eyebrow { font-size:10px; letter-spacing:.16em; line-height:1.6; margin:0 0 10px; }
.account-experience .account-card { border:1px solid var(--account-border); border-radius:18px; padding:28px; background:var(--account-panel); }
.account-experience .account-primary, .account-experience .account-secondary { display:inline-flex; align-items:center; justify-content:center; gap:15px; min-height:44px; padding:11px 18px; border-radius:10px; font:700 12px/1.5 Manrope,Arial,sans-serif; text-decoration:none; transition:background .18s,border-color .18s,box-shadow .18s; }
.account-experience .account-primary { color:#fff; background:#8050bd; border:1px solid #b98de7; box-shadow:0 4px 16px #7b45b32b; }
.account-experience .account-primary:hover { background:#9160cc; box-shadow:0 5px 20px #7b45b34d; }
.account-experience .account-secondary { color:#e9dff2; background:#251d2e; border:1px solid #ba98d632; box-shadow:none; }
.account-experience .account-secondary:hover { background:#31233f; border-color:#b69bcb77; filter:none; }
.account-experience .account-text { color:#d0b4e7; min-height:42px; text-decoration:none; }
.account-experience .account-text:hover { color:#f1e4ff; }
.account-experience button:disabled { cursor:default; opacity:.45; box-shadow:none; }
.account-experience [aria-busy=true] { cursor:wait; }
.account-experience :focus-visible { outline:2px solid #d6adff; outline-offset:4px; }
.account-experience [hidden] { display:none!important; }
.account-experience .account-status { min-height:0; margin:0; color:var(--account-muted)!important; font-size:12px; }
.account-experience .account-status[data-tone=success] { color:#9fdbbc!important; }
.account-experience .account-status[data-tone=error] { color:#ffb1c2!important; }
.account-skip { position:fixed; z-index:100; top:10px; left:10px; transform:translateY(-160%); padding:12px 18px; background:#ddc7f5; color:#1c1029; border-radius:8px; }
.account-skip:focus { transform:none; }
.account-page .reader-account-nav { margin-left:auto; }
.account-page .simple-actions:empty { display:none; }
.account-loading { min-height:360px; display:grid; place-content:center; justify-items:center; gap:14px; }
.account-loading-mark { display:grid; place-items:center; width:56px; height:66px; border:1px solid #c79fec44; background:linear-gradient(145deg,#5a3a75,#271a35); border-radius:6px 14px 14px 6px; font:36px Georgia,serif; }
.account-loading p { font-size:13px; }
.account-page-heading { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:30px; }
.account-page-heading>div { min-width:0; }
.account-page-heading>div>p:last-child { margin:0; color:var(--account-muted); font-size:14px; }
.account-page-heading>a { flex-shrink:0; }
.settings-layout { display:grid; grid-template-columns:280px minmax(0,1fr); gap:28px; align-items:start; }
.settings-sidebar, .settings-content { min-width:0; }
.settings-sidebar { position:sticky; top:24px; }
.settings-preview { background:#1b1423; border:1px solid var(--account-border); border-radius:18px; overflow:hidden; }
.settings-preview-art { height:105px; position:relative; overflow:hidden; background:radial-gradient(ellipse at 15% 15%,#bc82d746,transparent 70%),linear-gradient(125deg,#462955,#23182f); }
.settings-preview-art:after { content:""; position:absolute; width:240px; height:140px; right:-35px; bottom:-75px; border:1px solid #e1bafb25; border-radius:50%; transform:rotate(-25deg); }
.settings-preview-art span { position:absolute; right:18px; top:-38px; color:#dfb3f512; font:160px Georgia,serif; transform:rotate(12deg); }
.settings-preview-body { padding:0 22px 24px; }
.settings-preview-body .reader-avatar { width:68px; height:68px; font-size:21px; margin-top:-34px; margin-bottom:20px; position:relative; box-shadow:0 0 0 5px #1b1423; }
.settings-preview-body h2 { font-size:23px; overflow-wrap:anywhere; margin-bottom:10px; }
.settings-preview-body .account-eyebrow { font-size:9px; margin-bottom:7px; }
.settings-preview-bio { overflow-wrap:anywhere; white-space:pre-wrap; margin:0 0 16px; font-size:12px; color:#c4b4d0!important; }
.settings-preview-body small { font-size:11px; color:#9f90ac; }
.settings-preview-private { margin:0; border-top:1px solid var(--account-border); padding:15px 22px; font-size:11px; }
.settings-nav { display:grid; gap:5px; margin-top:18px; padding:5px 0; }
.settings-nav a { display:flex; align-items:center; justify-content:space-between; min-height:43px; gap:12px; padding:10px 15px; font-size:12px; text-decoration:none; color:#bdaeC8; border-radius:9px; transition:background .15s; }
.settings-nav a:hover { background:#bd91e516; color:#f0e2fb; }
.settings-nav a:first-child { color:#e4ccf7; background:#b386db13; }
.settings-content .account-card { margin:0; scroll-margin-top:22px; }
.settings-content { display:grid; gap:24px; }
.settings-card-heading { display:flex; gap:20px; align-items:center; justify-content:space-between; margin-bottom:24px; }
.settings-card-heading .account-eyebrow { font-size:9px; margin-bottom:5px; }
.settings-card-heading h2 { margin:0 0 7px; }
.settings-card-heading p:last-child { font-size:12px; margin:0; }
.settings-section-mark { flex-shrink:0; display:grid; place-items:center; width:49px; height:49px; border:1px solid #c398e52b; border-radius:12px; background:#5f377525; color:#d8b4f2; font:italic 24px Georgia,serif; }
.account-experience #reader-profile-form { gap:21px; }
.account-experience label { font-size:12px; gap:9px; }
.account-experience label>span>small { font-size:11px; font-weight:400; margin-left:8px; color:#a696b3; }
.account-experience input, .account-experience textarea, .account-experience select { border:1px solid #a88aba36; border-radius:9px; background:#100c16; font:14px/1.55 Manrope,Arial,sans-serif; padding:12px 14px; min-height:46px; transition:border-color .15s; }
.account-experience input:hover, .account-experience textarea:hover { border-color:#c1a2d55c; }
.account-experience input:focus, .account-experience textarea:focus { outline:2px solid #b28add; outline-offset:2px; border-color:transparent; }
.account-experience textarea { resize:vertical; min-height:106px; }
.account-experience [aria-invalid=true] { border-color:#eb93a8; }
.account-experience #username-feedback { min-height:0; margin:-14px 0 -6px; font-size:11px; }
.account-experience #username-feedback:empty { display:none; }
.account-experience #username-feedback[data-state=success] { color:#9fdbbc; }
.account-experience #username-feedback[data-state=error] { color:#ffb1c2; }
.account-experience .bio-count { font-size:10px; margin-top:-3px; color:#aa99b8; }
.settings-avatar-choices { border:0; padding:0; margin:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }
.settings-avatar-choices legend { font-size:12px; font-weight:600; margin-bottom:12px; }
.settings-avatar-choices label { position:relative; display:flex; align-items:center; justify-content:center; gap:8px; cursor:pointer; border:1px solid #b29dc02b; border-radius:10px; padding:12px 8px; background:#110d18; }
.settings-avatar-choices label:hover { background:#261a32; }
.settings-avatar-choices input { position:absolute; opacity:0; inset:0; min-height:0; width:100%; height:100%; margin:0; cursor:pointer; }
.settings-avatar-choices span { width:19px; height:19px; border:1px solid #ffffff33; border-radius:50%; flex-shrink:0; }
.settings-avatar-choices strong { font-size:10px; font-weight:500; }
.settings-avatar-choices label:has(input:checked) { border-color:#bd8feb; background:#70439b26; color:#f0dfff; box-shadow:inset 0 0 0 1px #bd8feb20; }
.settings-avatar-choices label:has(input:focus-visible) { outline:2px solid #d6adff; outline-offset:3px; }
.settings-save-bar { display:flex; align-items:center; justify-content:space-between; gap:18px; border-top:1px solid var(--account-border); padding-top:20px; margin-top:5px; }
.settings-save-bar>div { display:flex; gap:16px; align-items:center; flex-shrink:0; }
.settings-save-bar .account-text { font-size:11px; }
.settings-security-row { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 0; border-top:1px solid var(--account-border); }
.settings-security-row>div { min-width:0; }
.settings-security-row h3 { font:600 12px/1.5 Manrope,Arial,sans-serif; margin:0 0 4px; color:#ece1f4; }
.settings-security-row p { font-size:11px; line-height:1.65; margin:0; overflow-wrap:anywhere; }
.settings-security-row button { flex-shrink:0; font-size:11px!important; min-height:40px!important; }
.settings-security #security-status:not(:empty) { padding:12px 14px; border:1px solid var(--account-border); background:#ffffff04; border-radius:8px; margin:6px 0 16px; }
.settings-security .account-danger { margin:0; padding-top:20px; }
.settings-security .account-danger summary { font-size:12px; min-height:26px; }
.settings-security .account-danger p { font-size:12px; line-height:1.8; }
.settings-security #delete-reader-form { margin-top:20px; }
.account-experience .account-danger-button { border-radius:9px; padding:12px 16px; min-height:44px; font-size:12px; }
.account-page .account-exit-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-top:24px; }
.account-experience .account-admin-panel { margin-top:26px; }
.account-experience .account-admin-panel>p { font-size:13px; }
.account-experience .account-back { display:inline-block; color:#b6a2c7; font-size:12px; text-decoration:none; margin:0 0 22px; }
.account-experience .account-back:hover { color:#f0e3fc; }
.profile-identity-card { border:1px solid var(--account-border); border-radius:22px; background:var(--account-panel); overflow:hidden; }
.profile-cover-art { height:150px; position:relative; overflow:hidden; background:radial-gradient(ellipse at 5% 40%,#9162b140,transparent 64%),linear-gradient(120deg,#392548,#211529); }
.profile-cover-art:before,.profile-cover-art:after { content:""; position:absolute; width:480px; height:230px; border:1px solid #e4c0fd18; border-radius:50%; transform:rotate(-20deg); right:0; top:15px; }
.profile-cover-art:after { top:40px; right:-35px; }
.profile-cover-art>span { display:block; padding:34px; font:italic 25px/1.3 Georgia,serif; color:#d9b9ef99; }
.profile-cover-art>i { position:absolute; font:230px Georgia,serif; top:-85px; right:12%; color:#d6b2f214; transform:rotate(10deg); }
.profile-identity-body { display:flex; align-items:center; gap:24px; padding:28px 34px; position:relative; }
.profile-identity-body>.reader-avatar { width:84px; height:84px; font-size:26px; box-shadow:0 0 0 6px var(--account-panel); margin-top:-65px; }
.profile-identity-copy { min-width:0; flex:1; }
.profile-identity-copy .account-eyebrow { font-size:8px; margin:0 0 6px; }
.profile-identity-copy h1 { font:600 clamp(26px,3vw,38px)/1.2 Manrope,Arial,sans-serif; letter-spacing:-1px; overflow-wrap:anywhere; margin:0 0 8px; }
.profile-identity-copy .profile-joined { font-size:11px; margin:0; color:#a99ab5; }
.profile-identity-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.profile-share-feedback { padding:0 34px; }
.profile-share-feedback:has(.account-status:not(:empty)) { padding-bottom:24px; }
.profile-share-feedback label { margin-top:14px; max-width:480px; }
.public-profile-content { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(240px,1fr); gap:24px; margin-top:24px; }
.public-profile-content .account-card { margin:0; }
.profile-about .profile-bio { margin:18px 0 0; color:#d9cbe3; font-size:15px; line-height:1.9; }
.profile-about>.account-text { display:inline-block; margin-top:18px; font-size:12px; }
.profile-discover { background:radial-gradient(ellipse at 100% 0,#70479829,transparent 70%),var(--account-panel)!important; }
.profile-discover p { font-size:12px; margin:10px 0 22px; }
.profile-mini-book { width:32px; height:40px; display:grid; place-items:center; margin-bottom:20px; border:1px solid #b594cf44; border-radius:3px 7px 7px 3px; background:#473052; color:#dcc4f0; font:22px Georgia,serif; }
.account-welcome { display:grid; grid-template-columns:1.15fr 1fr; min-height:460px; border:1px solid var(--account-border); border-radius:24px; overflow:hidden; margin-top:22px; background:#19121f; }
.account-welcome-copy { align-self:center; padding:48px; }
.account-welcome-copy h1 { font-size:clamp(40px,5vw,64px); margin:16px 0 22px; letter-spacing:-2px; }
.account-welcome-copy>p:not(.account-eyebrow) { font-size:14px; max-width:340px; color:#bba9c9; }
.account-welcome-actions { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin:30px 0 24px; }
.account-welcome-copy .account-back { font-size:11px; margin:0; }
.account-welcome-art { background:radial-gradient(ellipse at 100% 0,#9756c142,transparent 75%),linear-gradient(140deg,#30203e,#23172d); border-left:1px solid var(--account-border); padding:46px 36px; }
.account-welcome-emblem { display:grid; place-items:center; width:54px; height:65px; font:40px Georgia,serif; border:1px solid #c59bdd66; color:#e4c8f8; background:linear-gradient(140deg,#80529455,#513b6855); box-shadow:5px 7px 0 #120c1d44; border-radius:4px 12px 12px 4px; margin-bottom:34px; }
.account-welcome-art .account-eyebrow { font-size:9px; }
.account-welcome-art ul { margin:22px 0 0; padding:0; list-style:none; display:grid; gap:24px; }
.account-welcome-art li { display:flex; gap:14px; }
.account-welcome-art li>span { color:#a680c6; font-size:10px; padding-top:3px; }
.account-welcome-art strong { font-size:13px; color:#f0e4fb; }
.account-welcome-art li p { font-size:11px; color:#b6a2c7; margin:4px 0 0; }
.account-error { max-width:620px; margin:44px auto!important; }
.account-error>div { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
@media(max-width:900px) {
  .account-page .account-experience { width:calc(100% - 40px); }
  .settings-layout { grid-template-columns:235px minmax(0,1fr); gap:20px; }
  .account-experience .account-card { padding:23px; }
  .settings-save-bar { align-items:flex-start; flex-direction:column; gap:10px; }
  .settings-save-bar>div { align-self:flex-end; }
  .settings-avatar-choices { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .settings-avatar-choices label { justify-content:flex-start; padding-left:14px; }
  .settings-security-row { flex-wrap:wrap; gap:10px; }
  .profile-identity-body { flex-wrap:wrap; padding:24px; }
  .profile-identity-copy { flex-basis:calc(100% - 115px); }
  .profile-identity-actions { margin-left:108px; }
  .account-welcome-copy { padding:34px; }
  .account-welcome-art { padding:38px 28px; }
}
@media(max-width:700px) {
  .account-page .account-experience { padding-top:28px; }
  .account-page-heading { align-items:flex-start; flex-direction:column; gap:16px; margin-bottom:24px; }
  .settings-layout { grid-template-columns:minmax(0,1fr); gap:20px; }
  .settings-sidebar { position:static; }
  .settings-preview { position:relative; background:linear-gradient(115deg,#382441,#1c1523 80%); }
  .settings-preview-art { display:none; }
  .settings-preview-body { padding:22px 22px 20px 107px; min-height:130px; }
  .settings-preview-body .reader-avatar { position:absolute; top:28px; left:23px; margin:0; width:62px; height:62px; font-size:19px; box-shadow:0 0 0 5px #b990d115; }
  .settings-preview-body h2 { font-size:22px; margin-bottom:8px; }
  .settings-preview-bio { font-size:11px; margin-bottom:10px; }
  .settings-preview-private { padding:12px 22px; font-size:10px; }
  .settings-nav { grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px; margin-top:10px; }
  .settings-nav a { padding:8px 12px; font-size:11px; min-height:40px; }
  .settings-avatar-choices { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .settings-avatar-choices label { justify-content:center; padding:12px 6px; }
  .settings-security-row { flex-wrap:nowrap; }
  .public-profile-content { grid-template-columns:minmax(0,1fr); }
  .profile-cover-art { height:125px; }
  .profile-cover-art>span { font-size:22px; padding:26px; }
  .account-welcome { grid-template-columns:minmax(0,1fr); margin-top:0; }
  .account-welcome-copy { padding:32px; }
  .account-welcome-copy h1 { font-size:48px; }
  .account-welcome-art { border-left:0; border-top:1px solid var(--account-border); padding:26px 32px; }
  .account-welcome-emblem { display:none; }
  .account-welcome-art ul { gap:18px; }
}
@media(max-width:480px) {
  .account-page .account-experience { width:calc(100% - 28px); padding-top:22px; }
  .account-experience .account-card { padding:20px; border-radius:15px; }
  .account-experience input, .account-experience textarea, .account-experience select { font-size:16px; }
  .account-page .reader-library-link, .account-page .reader-write-link { display:none; }
  .account-page .simple-header { gap:12px; padding-inline:18px; }
  .account-page .simple-menu { margin-left:0; }
  .account-page-heading>div>p:last-child { font-size:12px; }
  .settings-avatar-choices { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .settings-avatar-choices label { justify-content:flex-start; padding:12px; }
  .settings-security-row { flex-wrap:wrap; }
  .settings-save-bar>div { width:100%; justify-content:space-between; gap:8px; }
  .settings-save-bar .account-primary { padding-inline:14px; }
  .settings-card-heading { gap:10px; }
  .settings-card-heading h2 { font-size:21px; }
  .settings-section-mark { width:40px; height:40px; }
  .profile-identity-body { gap:18px; padding:20px; }
  .profile-identity-body>.reader-avatar { width:62px; height:62px; font-size:20px; margin-top:-65px; }
  .profile-identity-copy { flex-basis:calc(100% - 85px); }
  .profile-identity-copy .account-eyebrow { font-size:7px; }
  .profile-identity-copy h1 { font-size:24px; }
  .profile-identity-actions { margin-left:0; width:100%; }
  .profile-identity-actions>* { flex:1; padding:10px 12px!important; }
  .profile-cover-art>span { font-size:20px; padding:24px; }
  .profile-share-feedback { padding-inline:20px; }
  .profile-about .profile-bio { font-size:14px; }
  .account-welcome-copy { padding:28px 24px; }
  .account-welcome-copy h1 { font-size:43px; }
  .account-welcome-copy>.account-eyebrow { font-size:8px; }
  .account-welcome-art { padding:25px 24px; }
  .account-welcome-actions { gap:10px; }
  .account-welcome-actions button { padding:11px 13px!important; font-size:11px!important; }
}
@media(prefers-reduced-motion:reduce) { .account-experience * { transition:none!important; scroll-behavior:auto!important; } }
