/* Account UI — a quiet, editorial extension of the existing studio. */
.studio-header .studio-account-link { display:inline-flex; align-items:center; gap:6px; white-space:nowrap; color:var(--studio-gold); }
.studio-account-link svg { width:16px; height:16px; flex-shrink:0; }
.studio-header .studio-top-buy { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:10px 17px; border:1px solid #efce95; border-radius:3px; background:#e6c38a; color:#17130d; font-weight:700; white-space:nowrap; box-shadow:0 3px 18px #d5b78320; }
.studio-header .studio-top-buy:hover { background:#f3d8ac; color:#17130d; }
.studio-header:has(.studio-top-buy)>.studio-current { display:none; }
#account-panel,#purchase { scroll-margin-top:100px; }
@media(max-width:700px) {
 .studio-header:has(.studio-top-buy) nav { gap:10px; }
 .studio-header:has(.studio-top-buy) nav>a:not(.studio-top-buy):not(.studio-account-link) { display:none; }
 .studio-header .studio-top-buy { min-height:40px; padding:9px 11px; font-size:11px; }
}
@media(max-width:380px) { .studio-header:has(.studio-top-buy) nav { gap:7px; } .studio-header .studio-top-buy { padding:9px 8px; } }
@media(max-width:480px) { .studio-header:has(.studio-top-buy) .studio-switch { display:none; } }
.studio-account { min-height:100vh; background:radial-gradient(ellipse at 14% 34%,#b3914a0e,transparent 50%),#0a0a0b; }
.studio-account [hidden] { display:none!important; }
.account-layout { display:grid; grid-template-columns:1.12fr 1fr; gap:clamp(40px,8vw,120px); max-width:1320px; margin:auto; padding:145px 48px 70px; align-items:start; }
.account-eyebrow { font:11px/1.6 Consolas,monospace; letter-spacing:.19em; color:#b9a27c; margin:0 0 24px; }
.account-editorial h1 { font:400 clamp(32px,3.5vw,52px)/1.35 Georgia,"Songti SC","SimSun",serif; letter-spacing:-.03em; margin:0 0 24px; white-space:pre-line; }
.account-intro { color:#a5a39d; line-height:1.8; font-size:14px; }
.account-art { position:relative; height:235px; margin:22px 0; overflow:hidden; border-bottom:1px solid #d5b78338; }
.account-art>span { display:block; font:italic 260px/.95 Georgia,serif; color:#d5b78319; transform:translateX(20px); user-select:none; }
.account-art-line { position:absolute; width:230px; height:230px; border:1px solid #d5b78333; border-radius:50%; right:12%; top:12px; }
.account-art-line:after { content:""; position:absolute; inset:22px -40px; border:1px solid #d5b78325; border-radius:50%; transform:rotate(-35deg); }
.account-art small { position:absolute; bottom:15px; right:0; color:#9e917b; font:9px Consolas,monospace; letter-spacing:.1em; }
.account-public-note { color:#93918b; line-height:1.9; font-size:12px; max-width:420px; }
.account-panel { background:#111112; border:1px solid #d5b78329; padding:32px clamp(22px,3vw,42px); box-shadow:0 18px 75px #0003; border-top:2px solid #b79a6d; min-width:0; }
.account-panel h2 { margin:26px 0; font-size:27px; font-weight:500; overflow-wrap:anywhere; }
.account-tabs { display:flex; gap:26px; border-bottom:1px solid #ffffff17; }
.account-tabs button { border:0; background:none; color:#8d8b86; padding:0 0 14px; border-bottom:2px solid transparent; }
.account-tabs button[aria-pressed="true"] { color:#e5c994; border-bottom-color:#d5b783; }
.account-panel label { display:block; font-size:13px; margin:20px 0 9px; color:#d5d0c6; }
.account-panel input { width:100%; min-width:0; height:48px; border:1px solid #ffffff25; background:#080809; color:#f0ece4; border-radius:3px; padding:11px 13px; font:16px/1.4 "Microsoft YaHei UI",sans-serif; transition:border-color .2s; }
.account-panel input:focus { outline:2px solid #d5b783; outline-offset:2px; }
.account-panel input:autofill { color:#f0ece4; }
.account-password-wrap { position:relative; }
.account-password-wrap input { padding-right:72px; }
.account-reveal { position:absolute; right:4px; top:4px; height:40px; min-width:54px; background:none; border:0; color:#c4b28f; font-size:12px!important; }
.account-hint { font-size:11px; color:#96948f; line-height:1.7; margin:9px 0 0; }
.account-notice { border-left:2px solid #bba075; padding:9px 12px; background:#d5b78308; font-size:12px; line-height:1.85; color:#b7afa0; margin:23px 0; }
.account-primary { display:block; width:100%; padding:14px 18px; background:#d5b783; color:#171510!important; border:1px solid #d5b783; text-align:center; border-radius:3px; font-weight:600!important; line-height:1.5; text-decoration:none; }
.account-primary:hover { background:#e3c99d; }
.account-panel button:disabled { opacity:.55; cursor:wait; }
.account-panel button:focus-visible,.account-security summary:focus-visible { outline:2px solid #d5b783; outline-offset:4px; }
.account-member-top { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.account-monogram { width:64px; height:64px; display:grid; place-items:center; color:#d5b783; border:1px solid #d5b78344; font:italic 34px Georgia,serif; }
.account-status { font-size:11px; color:#d5b783; padding:7px 10px; border:1px solid #d5b78344; }
.account-facts { margin:0; border-top:1px solid #ffffff17; }
.account-facts>div { padding:13px 0; border-bottom:1px solid #ffffff17; display:grid; grid-template-columns:90px minmax(0,1fr); gap:10px; font-size:12px; }
.account-facts dt { color:#96948f; }
.account-facts dd { margin:0; word-break:break-all; font-family:Consolas,monospace; }
.account-security { margin-top:26px; border-top:1px solid #ffffff17; padding-top:20px; }
.account-security summary { cursor:pointer; font-size:13px; color:#d8d0c3; }
.account-secondary { margin-top:18px; padding:12px 16px; color:#d5b783; background:transparent; border:1px solid #d5b78366; border-radius:3px; }
.account-logout { border:0; background:none; color:#aaa49a; padding:12px 0; margin-top:16px; font-size:12px!important; text-decoration:underline; text-underline-offset:4px; }
.account-code-row { display:flex; gap:10px; align-items:stretch; }
.account-code-row input { flex:1; width:0; letter-spacing:.16em; }
.account-code-row button { border:1px solid #d5b78366; background:#d5b7830a; color:#d5b783; border-radius:3px; padding:8px 12px; flex:0 0 auto; font-size:12px; max-width:55%; }
.account-email-section { border-top:1px solid #ffffff17; margin-top:26px; padding-top:18px; }
.account-email-section h3 { font-size:14px; font-weight:500; }
.account-membership { border:1px solid #d5b78344; padding:20px; background:linear-gradient(130deg,#d5b78312,transparent); margin:24px 0; }
.account-membership[data-tier="member"] { border-color:#d5b783; }
.account-membership .account-eyebrow { margin-bottom:10px; }
.account-membership h3 { color:#e0c69a; font:400 23px/1.5 Georgia,"Songti SC",serif; margin:0 0 10px; }
#membership-prices { padding:0; list-style:none; }
#membership-prices li { display:flex; flex-direction:column; gap:7px; padding:13px 0; border-bottom:1px solid #ffffff12; font-size:12px; line-height:1.6; }
#membership-prices a { color:#d9d3c8; text-decoration:underline; text-underline-offset:4px; }
#membership-prices span { color:#d5b783; }
#membership-history { font-size:12px; line-height:1.8; color:#aaa18f; overflow-wrap:anywhere; }
.account-checkout { scroll-margin-top:110px; }
.account-checkout>p { font-size:12px; line-height:1.8; }
.account-checkout .checkout-price { font:500 28px/1.5 Georgia,serif; color:#e0c69a; }
.account-panel .checkout-consent { display:flex; gap:10px; align-items:flex-start; font-size:12px; line-height:1.8; }
.account-panel .checkout-consent input { width:18px; height:18px; flex:0 0 18px; margin-top:3px; accent-color:#d5b783; }
.account-checkout input[readonly] { font:13px/1.5 Consolas,monospace; }
.account-checkout .account-secondary { display:block; margin:12px 0; text-decoration:none; text-align:center; width:100%; }
.checkout-product-nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:16px 0 24px; }
.account-checkout .checkout-product-nav .account-secondary { margin:0; padding:11px 8px; font-size:12px; line-height:1.6; display:flex; align-items:center; justify-content:center; }
.checkout-product-nav a[aria-current="page"] { background:#e6c38a; color:#17130d; border-color:#e6c38a; }
.checkout-unlocked { color:#b7d3b6; }
#checkout-feedback { font-size:12px; line-height:1.8; color:#e0c69a; overflow-wrap:anywhere; }
#checkout-order-id { overflow-wrap:anywhere; }
.account-email-status { font-size:13px; color:#c1b59e; overflow-wrap:anywhere; }
#account-reset-form>.account-primary { margin-top:24px; }
#account-feedback { font-size:13px; line-height:1.8; color:#f0ac99; margin:16px 0 0; overflow-wrap:anywhere; }
#account-feedback:empty { margin:0; }
#account-feedback[data-success="true"] { color:#b7d3b6; }
.account-footer { max-width:1320px; margin:auto; padding:24px 48px; border-top:1px solid #ffffff12; font:11px Georgia,serif; color:#aaa18f; display:flex; justify-content:space-between; gap:12px; }
.account-footer span { font:9px Consolas,monospace; letter-spacing:.1em; }
@media(max-width:1000px) { .studio-header:has(.studio-account-link) nav { gap:16px; } .studio-header:has(.studio-account-link)>.studio-current { display:none; } }
@media(max-width:760px) {
 .studio-header:has(.studio-account-link) .studio-contact-link { display:none; }
 .studio-header:has(.studio-account-link) nav { gap:12px; }
 .studio-account-link svg { width:15px; height:15px; }
 .account-layout { grid-template-columns:1fr; gap:22px; padding:105px 20px 36px; }
 .account-editorial h1 { font-size:32px; margin-bottom:12px; }
 .account-eyebrow { font-size:9px; margin-bottom:16px; }
 .account-art { display:none; }
 .account-intro { margin:0; font-size:12px; }
 .account-public-note { font-size:11px; margin:12px 0 0; max-width:none; }
 .account-panel { padding:24px 22px; }
 .account-panel h2 { font-size:25px; margin:20px 0; }
 .account-footer { padding:22px 20px; flex-direction:column; }
}
@media(max-width:380px) { .studio-header:has(.studio-account-link) nav { gap:9px; font-size:10px; } .studio-account-link svg { display:none; } }
@media(prefers-reduced-motion:reduce) { .account-panel input { transition:none; } }
