/* Account presentation: scoped to migrated templates; legacy action pages keep their own layout. */
.hc-main:has(.hc-account-flow)>.hc-page-heading{display:none}
.hc-main:has(.hc-account-flow){padding-top:48px;padding-bottom:75px}
.hc-account-flow *{box-sizing:border-box}
.hc-account-flow{max-width:1180px}
.horizon-chronicles .hc-account-heading{margin-bottom:32px}
.horizon-chronicles .hc-account-heading h2{font:400 clamp(30px,3.5vw,46px)/1.14 Georgia,serif;letter-spacing:-.6px;margin:10px 0 17px;max-width:800px}
.hc-account-heading>p:not(.hc-eyebrow),.hc-account-heading>div>p:not(.hc-eyebrow){color:#c4b8a9;max-width:64ch;margin-bottom:0}
.hc-account-flow a{text-underline-offset:4px}
.hc-account-flow .hc-ticket-form{border-top:2px solid #b58b57;background:linear-gradient(135deg,#28221c,#201d19 70%);padding:32px}
.horizon-chronicles .hc-account-flow .hc-ticket-form input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.horizon-chronicles .hc-account-flow .hc-ticket-form select{min-height:48px;background:#161513;border-color:#605141}
.horizon-chronicles .hc-account-flow .hc-ticket-form input:focus,.horizon-chronicles .hc-account-flow .hc-ticket-form select:focus{border-color:#d6ad72}
.hc-account-flow .hc-ticket-form label{font-size:13px}
.hc-account-flow .hc-ticket-form>.hc-button[type=submit]{min-width:190px;margin-top:12px}
.hc-account-flow .hc-login-grid{grid-template-columns:minmax(0,1.1fr) minmax(270px,.9fr);gap:28px;align-items:stretch}
.hc-field-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:14px}
.hc-login-recovery-link{font-size:12px;min-height:30px;display:inline-flex;align-items:center}
.hc-login-controls{border-top:1px solid #4b3e30;margin-top:16px;padding-top:20px}
/* Legacy token toggles set inline height:100%; nested grid controls must size to content. */
.hc-login-controls :is(#myTokenDiv1,#myTokenDiv2){height:auto!important}
.hc-login-controls #myTokenDiv1{margin-bottom:8px}
.hc-account-flow .hc-login-token{margin:14px 0 0!important}
.hc-login-token .hc-muted{max-width:56ch}
.horizon-chronicles .hc-login-token .hc-button{padding:8px 0;border:0;min-height:40px;text-decoration:underline;text-underline-offset:4px;margin:0}
.horizon-chronicles .hc-account-flow .hc-access-story{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;min-height:450px;padding:35px;border:1px solid #705338;background:#241f19;overflow:hidden;margin:0 0 25px}
.hc-access-story::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#20191444 0%,#201914bb 32%,#201914f5 64%),url("assets/guild.jpg") center 30%/cover;opacity:.9}
.hc-access-story-mark{align-self:flex-end;display:grid;place-items:center;width:52px;height:64px;clip-path:polygon(0 0,100% 0,100% 78%,50% 100%,0 78%);background:#592e25e8;color:#f5d7a4;font:32px Georgia,serif;border-top:2px solid #c7a164}
.horizon-chronicles .hc-story-copy h3{font-size:34px;line-height:1.16;max-width:280px}
.hc-story-copy>p:not(.hc-eyebrow){color:#d4c4af;max-width:34ch}
.hc-story-copy .hc-button{margin-top:6px}
.hc-story-copy .hc-back{display:block;width:fit-content;font-size:12px}
.hc-account-flow.hc-account-entry{min-height:350px;position:relative;isolation:isolate;overflow:hidden;border-top:2px solid #b58b57}
.hc-account-entry::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#211e1bf5 25%,#211e1bd9 60%,#211e1b88),url("assets/guild.jpg") center 38%/cover}
.hc-account-entry .hc-account-heading{max-width:720px}
.hc-register .hc-ticket-form{gap:22px}
.hc-register .hc-registration-grid{gap:50px}
.hc-account-flow .hc-ticket-form legend{font-size:23px;display:flex;gap:14px;align-items:center;line-height:1.3;margin-bottom:22px}
.hc-step-number{display:inline-grid;place-items:center;flex:none;min-width:34px;height:38px;font:20px Georgia,serif;border:1px solid #72573a;color:#dcb67f;background:#2c231b}
.hc-register .hc-registration-grid fieldset{margin:0}
.hc-register .hc-ticket-form>fieldset{border-top:1px solid #564330;padding-top:28px;margin:0}
.hc-register .hc-ticket-form>fieldset>legend{float:left;width:100%}
.hc-register .hc-ticket-form>fieldset>legend+*{clear:both}
.hc-account-flow .hc-world-card{transition:border-color .15s ease,background-color .15s ease}
.hc-account-flow .hc-world-card:hover{border-color:#a17e51}
.hc-account-flow .hc-recovery-progress{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:0;margin:26px 0 30px}
.hc-recovery-progress li{display:flex;align-items:center;gap:12px;border-bottom:2px solid #494035;padding-bottom:14px;font-size:12px;color:#b6aa9b}
.hc-recovery-progress li.is-current{border-color:#d6ad72;color:#f2d6ac}
.hc-recovery-progress .is-current .hc-step-number{background:#d6ad72;border-color:#d6ad72;color:#241b12}
.hc-recovery-progress .is-complete .hc-step-number{color:#b5c8ad;border-color:#637356;background:#263025}
.hc-account-flow.hc-recovery{max-width:860px}
.hc-recovery-method{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.hc-recovery-method strong{color:#e4c593;font-weight:600;font-size:13px}
.hc-account-flow .hc-notice-error{border-color:#d28f7b;background:#342320;color:#f2cec1}
.hc-account-flow .hc-notice-success{border-color:#a7be87;background:#263024;color:#d7e7c5}
.hc-account-flow .hc-action-row>.hc-back{font-size:12px;min-height:44px}
.hc-account-flow #loginErrorMsg{background:#342820;color:#f0d3ad;border-left:3px solid #cf9c61;padding:15px;margin:0 0 18px}
.hc-account-flow .hc-dashboard-banner{position:relative;isolation:isolate;padding:32px 34px;margin-bottom:0;border:1px solid #725438;border-top:2px solid #c29b67;min-height:210px;background:#241f1a}
.hc-dashboard-banner::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#241f1aff 12%,#241f1af0 44%,#241f1a88),url("assets/guild.jpg") right 32%/cover}
.hc-dashboard-banner>div{max-width:790px}
.hc-dashboard-banner form{align-self:flex-start}
.hc-dashboard-banner .hc-button-secondary{background:#211c16cc!important}
.hc-account-flow .hc-account-shortcuts{display:flex;flex-wrap:wrap;gap:0;margin:0 0 26px;padding:0;background:#211c17;border:1px solid #59442f;border-top:0}
.hc-account-shortcuts a{display:flex;align-items:center;gap:24px;min-height:50px;padding:12px 22px;font-size:12px;text-decoration:none;border-right:1px solid #59442f}
.hc-account-shortcuts a:hover{background:#31261c;color:#ffe0ad}
.hc-account-shortcuts a span[aria-hidden]{margin-left:auto}
.hc-account-flow :is(#hc-characters,#hc-account-security,#hc-account-details){scroll-margin-top:110px}
.hc-account-flow .hc-account-metrics{gap:16px;margin-bottom:32px}
.hc-account-flow .hc-account-card{background:linear-gradient(140deg,#29231d,#211e1a);border-color:#514332;padding:24px}
.hc-account-flow .hc-account-value{font-size:36px;line-height:1.1;margin:12px 0 18px}
.hc-account-flow .hc-balance{border-top:2px solid #be945f}
.hc-account-flow .hc-account-card dl{font-size:12px;margin-bottom:16px}
.hc-account-flow .hc-account-card dl>div{gap:12px}
.hc-account-flow .hc-dashboard-columns{grid-template-columns:minmax(0,1fr) 290px;gap:26px;align-items:start}
.hc-account-flow .hc-character-heading{padding-bottom:18px;border-bottom:1px solid #614d35;margin-bottom:22px}
.hc-character-heading .hc-eyebrow{margin:0 0 7px}
.hc-character-heading .hc-muted{margin-bottom:0}
.horizon-chronicles .hc-character-heading h3{font-size:28px}
.hc-account-flow .hc-character{display:grid;grid-template-columns:66px minmax(0,1fr);gap:22px;position:relative;border-left:2px solid #a87d4a}
.hc-character-level{height:76px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;text-align:center;border:1px solid #755b3d;background:#32271c;color:#e6c493}
.hc-character-level>span{font-size:10px;letter-spacing:.5px}
.hc-character-level strong{font:27px/1.1 Georgia,serif;overflow-wrap:anywhere;max-width:100%}
.hc-character-main{min-width:0}
.hc-account-flow .hc-character-meta{color:#c2b4a1;font-size:12px;margin-top:4px}
.hc-account-flow .hc-character-top h3{font-size:23px;line-height:1.35}
.hc-account-flow .hc-character-states{margin-bottom:12px}
.hc-account-flow .hc-character-actions{padding-top:8px}
.hc-account-flow .hc-character-actions summary{font-size:12px;min-height:40px}
.hc-character-actions form[action$="deletecharacter"] .hc-button-secondary{border-color:#845d51;color:#e3b2a1}
.hc-account-flow .hc-character-deleted{border-left-color:#706452}
.hc-account-flow .hc-badge-muted{color:#c2b5a4;border-color:#5b5042;background:#29241f}
.hc-account-flow .hc-badge-warning{color:#f0bda3;border-color:#92604c;background:#39251c}
.hc-account-flow .hc-badge-ready{color:#c0d6aa;border-color:#5d734a;background:#253022}
.hc-account-flow .hc-security-card{border-top:2px solid #8c9a6c}
.hc-security-state{display:flex;align-items:center;gap:8px;font-size:12px}
.hc-security-state::before{content:"";width:6px;height:6px;border-radius:50%;background:#ccac77;flex:none}
.hc-security-state.is-enabled::before{background:#b3cc8b}
.hc-security-state.is-enabled{color:#c0d6aa}
.hc-account-flow .hc-account-empty{padding:40px 25px;text-align:center;border:1px dashed #756044;margin-bottom:24px;background:#241f19}
.hc-account-empty p{color:#c2b3a4;max-width:42ch;margin:12px auto 0}
.hc-empty-mark{font:48px Georgia,serif;display:block;color:#d0aa73;margin-bottom:12px}
@media(max-width:1000px){
 .hc-account-flow .hc-dashboard-columns{grid-template-columns:minmax(0,1fr) 260px;gap:20px}
 .hc-account-flow .hc-account-card{padding:20px}
 .hc-account-flow .hc-character{grid-template-columns:54px minmax(0,1fr);gap:16px}
 .hc-character-level strong{font-size:24px}
}
@media(max-width:760px){
 .hc-main:has(.hc-account-flow){padding-top:28px}
 .horizon-chronicles .hc-account-heading{margin-bottom:24px}
 .horizon-chronicles .hc-account-heading h2{font-size:32px}
 .hc-account-flow .hc-login-grid,.hc-register .hc-registration-grid,.hc-account-flow .hc-dashboard-columns{grid-template-columns:1fr}
 .hc-account-flow .hc-access-story{min-height:330px}
 .hc-account-flow .hc-login-grid{gap:0}
 .hc-account-flow .hc-ticket-form>.hc-button[type=submit]{justify-self:stretch;width:100%}
 .hc-register .hc-registration-grid{gap:30px}
 .hc-register .hc-registration-grid fieldset+fieldset{padding-top:28px;border-top:1px solid #564330}
 .hc-recovery-progress li{flex-direction:column;align-items:flex-start;gap:10px;font-size:11px}
 .hc-account-flow .hc-recovery-progress{gap:10px}
 .hc-account-flow .hc-dashboard-banner{padding:24px;margin:0;min-height:230px}
 .hc-dashboard-banner::before{background:linear-gradient(90deg,#241f1af5,#241f1acc),url("assets/guild.jpg") center/cover}
 .hc-account-shortcuts a{flex:1 1 100%;border-right:0;border-bottom:1px solid #4f3e2c}
 .hc-account-shortcuts a:last-child{border-bottom:0}
 .hc-account-flow .hc-account-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:30px}
 .hc-account-flow .hc-balance{grid-column:1/-1}
 .hc-account-flow .hc-account-metrics .hc-account-card{padding:18px}
 .hc-account-flow .hc-account-value{font-size:30px}
 .hc-account-flow .hc-account-metrics .hc-eyebrow{font-size:9px;letter-spacing:1px}
 .horizon-chronicles .hc-account-flow .hc-membership h3{font-size:20px}
 .hc-account-flow .hc-membership .hc-vip-date{font-size:14px}
 .hc-account-flow .hc-loyalty .hc-button{font-size:11px;padding:10px}
 .hc-account-flow .hc-character{grid-template-columns:48px minmax(0,1fr);gap:14px;padding:18px 14px}
 .hc-character-level{height:66px}
 .hc-character-level strong{font-size:22px}
 .hc-account-flow .hc-character-top h3{font-size:21px}
 .hc-account-flow .hc-character-top{gap:6px}
 .hc-account-flow :is(#hc-characters,#hc-account-security,#hc-account-details){scroll-margin-top:90px}
}
@media(prefers-reduced-motion:reduce){.hc-account-flow .hc-world-card{transition:none}}
