body.hc-account-open { overflow:hidden; }
.hc-account { --account-accent:#b84e31; width:min(640px,calc(100% - 32px)); max-width:none; max-height:92svh; padding:0; border:1px solid #d7d0c6; border-radius:8px; background:#f7f4ee; color:#302d28; box-shadow:0 24px 80px #201c2050; overflow:hidden; }
.hc-account[open] { display:flex; flex-direction:column; }
.hc-account::backdrop { background:#26232899; backdrop-filter:blur(3px); }
.hc-account * { box-sizing:border-box; letter-spacing:0; }
.hc-account-head { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 24px; border-bottom:1px solid #ddd7ce; background:#f7f4ee; flex-shrink:0; }
.hc-account-brand { display:flex; align-items:center; gap:12px; min-width:0; }
.hc-account-brand img { flex:none; border-radius:8px; }
.hc-account-brand span { display:block; font-size:9px; line-height:1.5; color:#746b60; }
.hc-account h2 { margin:3px 0 0; font-size:23px; line-height:1.25; }
.hc-account-close { flex:none; display:grid; place-items:center; width:44px; height:44px; padding:0; font-size:28px; line-height:1; border:1px solid #d9d2c7; border-radius:50%; background:#fffdfa; }
.hc-account-scroll { padding:0 24px 20px; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; min-height:0; }
.hc-account-message { position:sticky; top:0; z-index:2; margin:0; padding:12px 0; background:#f7f4ee; font-size:13px; line-height:1.65; color:#35654e; overflow-wrap:anywhere; }
.hc-account-message:empty { padding:0; }
.hc-account-message.is-error { color:#a22e22; }
.hc-account-lead { font-size:20px; line-height:1.5; font-weight:700; margin:24px 0 8px; }
.hc-account-note,.hc-account-support { font-size:12px; line-height:1.8; color:#776e63; overflow-wrap:anywhere; }
.hc-account-note { margin:10px 0 20px; }
.hc-account-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px; padding:4px; margin:20px 0; border-radius:8px; background:#e9e3da; }
.hc-account-tabs button { min-height:44px; padding:10px 6px; border-radius:6px; font-size:14px; line-height:1.4; color:#776d60; }
.hc-account-tabs [aria-selected=true] { background:#fffdfa; color:#302d28; box-shadow:0 2px 6px #302d2810; font-weight:700; }
.hc-account form { display:grid; gap:16px; padding:0 0 4px; }
.hc-account form>label { display:grid; gap:7px; min-width:0; }
.hc-account label>span { font-size:13px; font-weight:600; line-height:1.5; }
.hc-account input:not([type=checkbox]) { width:100%; min-width:0; height:48px; border:1px solid #d5cbbd; border-radius:6px; background:#fffdfa; color:#302d28; padding:10px 12px; font:inherit; font-size:16px; }
.hc-account input:focus-visible { outline:2px solid var(--account-accent); outline-offset:2px; }
.hc-account form>small { margin-top:-9px; font-size:11px; line-height:1.7; color:#7b7164; }
.hc-account-primary,.hc-account-secondary { width:100%; min-height:48px; padding:12px 16px; border-radius:6px; font-size:14px; font-weight:700; line-height:1.5; white-space:normal; }
.hc-account-primary { background:#33302b; color:#fffdf8; margin-top:4px; }
.hc-account-primary:hover:not(:disabled) { background:#b84e31; }
.hc-account-secondary { margin:14px 0 0; background:#e9e3da; color:#4a4239; }
.hc-account [disabled] { opacity:.5; cursor:default; }
.hc-account-optional { margin:0; padding:12px 0; border-block:1px solid #ded6cb; }
.hc-account-optional summary { min-height:32px; cursor:pointer; font-size:13px; font-weight:600; }
.hc-account-optional summary span { font-size:11px; color:#867a6c; font-weight:400; }
.hc-account-optional p { font-size:12px; line-height:1.7; color:#7b7164; }
.hc-account-optional>label { display:grid; gap:7px; margin-top:14px; }
.hc-account-consents { display:grid; gap:12px; }
.hc-account-consents label { display:grid; grid-template-columns:20px minmax(0,1fr); align-items:start; gap:8px; }
.hc-account-consents input { width:18px; height:18px; margin:2px 0 0; accent-color:var(--account-accent); }
.hc-account-consents label>span { font-size:12px; font-weight:400; line-height:1.7; }
.hc-account a { text-decoration:underline; text-underline-offset:3px; }
.hc-account-support { margin:22px 0 12px; }
.hc-account-support span { display:block; margin-top:4px; font-size:11px; }
.hc-account-person { display:flex; align-items:center; gap:14px; padding:24px 0 4px; min-width:0; }
.hc-account-person>[data-account-initial] { display:grid; place-items:center; width:52px; height:52px; flex:none; border-radius:50%; background:#d9c2ae; color:#54372b; font-size:22px; font-weight:700; }
.hc-account-person>div { min-width:0; }
.hc-account-person strong { display:block; font-size:22px; line-height:1.4; overflow-wrap:anywhere; }
.hc-account-person small { display:block; font-size:12px; color:#7b7164; margin-top:3px; overflow-wrap:anywhere; }
.hc-account-ranks { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:0; border-block:1px solid #d9d0c2; }
.hc-account-ranks>div { padding:20px 12px; }
.hc-account-ranks>div+div { border-left:1px solid #d9d0c2; }
.hc-account-ranks dt { font-size:12px; color:#7b7164; }
.hc-account-ranks dd { font-size:28px; line-height:1.25; margin:8px 0; font-weight:700; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.hc-account-ranks small { font-size:11px; color:#7b7164; }
.hc-account-badge-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:24px 0 12px; }
.hc-account h3 { font-size:16px; margin:0; line-height:1.5; }
.hc-account-badge-heading>span { font-size:12px; font-variant-numeric:tabular-nums; color:#7b7164; }
.hc-account-badges { list-style:none; padding:0; margin:0; }
.hc-account-badges>li { border-top:1px solid #ddd4c8; }
.hc-account-badges>li:last-child { border-bottom:1px solid #ddd4c8; }
.hc-account-badges button { display:grid; grid-template-columns:44px minmax(0,1fr) 48px; align-items:center; gap:12px; width:100%; padding:16px 4px; text-align:left; border-radius:6px; }
.hc-account-badges button[aria-pressed=true] { background:#efe1d6; }
.hc-account-badges svg { width:44px; height:44px; color:#b35332; fill:currentColor; }
.hc-account-badges .hc-badge-edge { fill:none; stroke:currentColor; stroke-width:1.2; }
.hc-account-badges .hc-badge-half { opacity:.15; }
.hc-account-badges svg text { font-size:12px; font-weight:700; fill:currentColor; }
.hc-account-badges strong { display:block; font-size:13px; line-height:1.5; }
.hc-account-badges small { display:block; margin-top:4px; font-size:10px; line-height:1.6; color:#7b7164; overflow-wrap:anywhere; }
.hc-account-badges em { font-style:normal; font-size:11px; text-align:right; line-height:1.5; color:#a64a2d; }
.hc-account-selected { display:flex; align-items:center; flex-wrap:wrap; gap:10px; padding:18px 0; border-bottom:1px solid #d9d0c2; }
.hc-account-selected>span:first-child { flex-basis:100%; font-size:12px; color:#7b7164; }
.hc-account-selected strong,.hc-account-selected button { font-size:12px; }
.hc-account-selected button { margin-left:auto; padding:8px; text-decoration:underline; }
.hc-account-selected .hc-public-badge { display:flex; align-items:center; gap:8px; font-size:13px; }
.hc-account-selected svg { width:28px; height:28px; color:#b35332; }
.hc-account-selected .hc-badge-edge { fill:none; stroke:currentColor; }
.hc-account-selected .hc-badge-half { fill:currentColor; opacity:.15; }
.hc-account-selected text { font-size:12px; fill:currentColor; }
#hc-account-profile>[role=status] { font-size:12px; line-height:1.7; color:#7b7164; }
#hc-account-profile>[role=status]:empty { display:none; }
#hc-account-settings form { border-top:1px solid #d9d0c2; margin-top:24px; padding-top:24px; }
.hc-account-logout { width:100%; min-height:48px; border:1px solid #d1b3a5; border-radius:6px; color:#a13c28; font-size:13px; padding:12px; }
.hc-account-deletion { margin-top:24px; border-top:1px solid #ddd4c8; padding-top:16px; }
.hc-account-deletion>summary { cursor:pointer; color:#a13c28; font-size:14px; padding:10px 0; }
.hc-delete h3 { font-size:17px; line-height:1.5; }
.hc-delete p,.hc-delete li { font-size:13px; line-height:1.7; overflow-wrap:anywhere; }
.hc-delete ul { padding-left:20px; }
.hc-delete form label:has(input[type=checkbox]) { display:flex; align-items:flex-start; gap:10px; }
.hc-delete input[type=checkbox] { flex:0 0 18px; width:18px; height:18px; min-height:18px; margin-top:4px; }
.hc-delete button { min-height:48px; padding:10px 14px; border:1px solid #d5c9bb; border-radius:6px; font-size:13px; white-space:normal; }
.hc-delete .hc-delete-final { color:#fff; background:#9b3526; border-color:#9b3526; }
.hc-delete-message { min-height:1.5em; }
.hc-delete-message.is-error { color:#a13c28; }
.hc-account-foot { border-top:1px solid #ddd4c8; margin:24px 0 0; padding-top:20px; display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; font-size:10px; color:#8c7d6c; }
.hc-account-foot>div { display:flex; flex-wrap:wrap; gap:10px 16px; }
.hc-account-retry,[data-account-profile-retry] { font-size:13px; text-decoration:underline; padding:12px 0; }
@media(max-width:540px) {
  .hc-account { width:100%; height:100svh; max-height:100svh; margin:0; border:0; border-radius:0; }
  .hc-account-head { padding:calc(12px + env(safe-area-inset-top,0px)) 20px 12px; }
  .hc-account-scroll { padding:0 20px calc(20px + env(safe-area-inset-bottom,0px)); }
  .hc-account h2 { font-size:21px; }
  .hc-account-ranks dd { font-size:24px; }
  .hc-account-badges button { grid-template-columns:38px minmax(0,1fr) 42px; gap:10px; }
  .hc-account-badges svg { width:38px; height:38px; }
}
@media(prefers-reduced-motion:reduce) { .hc-account * { transition:none!important; } }
