/* HAL account + membership v2 — obvious sign-in surface, membership plans, PayPal checkout. */
.hal-acct-menu,.hal-membership-modal{box-sizing:border-box}.hal-acct-chip{
  min-width:132px!important;
  width:auto!important;
  height:44px!important;
  padding:4px 12px 4px 5px!important;
  justify-content:flex-start!important;
  gap:9px!important;
}
.hal-acct-chip .hal-acct-name{
  display:flex!important;
  position:static!important;
  width:auto!important;height:auto!important;
  overflow:visible!important;clip:auto!important;clip-path:none!important;
  white-space:nowrap!important;margin:0!important;padding:0!important;
  flex-direction:column;align-items:flex-start;gap:2px;
  color:#f3efe6;font-size:12px;line-height:1.05;
}
.hal-acct-name-main{font-weight:800;max-width:116px;overflow:hidden;text-overflow:ellipsis;}
.hal-acct-name-sub{font:700 9px/1 ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;color:#aeb4bf;}
.hal-acct-chip.is-paid-member{border-color:rgb(57 255 136/.55);box-shadow:inset 0 1px 0 rgb(255 255 255/.16),0 0 0 1px rgb(57 255 136/.14),0 0 18px rgb(57 255 136/.12);}
.hal-acct-chip.is-paid-member .hal-acct-name-sub{color:#79ffb4;}
.hal-acct-av{flex:none;color:#111;}
html.hx-ui #app .product-ribbon-actions{padding-inline-start:196px!important;}
html.hx-ui #app .product-ribbon-actions .hal-acct-chip{left:0!important;}
html.hx-ui #app .product-ribbon-actions .cast-launch{left:140px!important;}

.hal-acct-menu{
  width:min(520px,calc(100vw - 24px))!important;
  max-height:min(78vh,720px);
  overflow:auto;
}
.hal-acct-head-account{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.hal-member-badge{
  display:inline-flex;align-items:center;min-height:28px;padding:0 9px;border-radius:999px;
  background:rgb(57 255 136/.1);border:1px solid rgb(57 255 136/.35);color:#7fffc1;
  font:800 10px/1 ui-monospace,monospace;letter-spacing:.12em;
}
.hal-acct-membership-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;}
.hal-acct-membership-summary>div{display:grid;gap:3px;padding:9px;border-radius:10px;background:rgb(0 0 0/.28);border:1px solid rgb(255 255 255/.07);}
.hal-acct-membership-summary span{font-size:10px;color:#9da3ad;text-transform:uppercase;letter-spacing:.08em;}
.hal-acct-membership-summary b{font-size:14px;color:#fff;}
.hal-acct-membership-cta,.hal-acct-membership-teaser{
  border-color:rgb(57 255 136/.42)!important;
  background:linear-gradient(180deg,rgb(57 255 136/.15),rgb(57 255 136/.06))!important;
}
.hal-acct-membership-cta{color:#a9ffd0!important;font-weight:800!important;}
.hal-acct-membership-teaser{text-align:left!important;display:grid!important;gap:4px!important;}
.hal-acct-membership-teaser b{color:#b8ffd7;font-size:14px;}
.hal-acct-membership-teaser span{color:#a6acb5;font-size:11px;font-weight:500;}
.hal-acct-divider{display:flex;align-items:center;gap:8px;color:#777f8b;font-size:10px;text-transform:uppercase;letter-spacing:.1em;}
.hal-acct-divider::before,.hal-acct-divider::after{content:"";height:1px;flex:1;background:rgb(255 255 255/.09);}

.hal-membership-overlay{
  position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:18px;
  background:rgb(0 0 0/.78);backdrop-filter:blur(8px);
}
.hal-membership-modal{
  width:min(1120px,100%);max-height:94vh;overflow:auto;padding:22px;border-radius:18px;
  color:#ece7dc;background:
    radial-gradient(800px 360px at 15% -10%,rgb(255 106 26/.12),transparent 60%),
    linear-gradient(160deg,#22252a,#101114 72%);
  border:1px solid rgb(255 255 255/.13);box-shadow:0 30px 100px rgb(0 0 0/.75),inset 0 1px 0 rgb(255 255 255/.08);
}
.hal-membership-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:12px;}
.hal-membership-head h2{margin:3px 0 6px;font-size:clamp(24px,4vw,42px);line-height:1;}
.hal-membership-head p{margin:0;max-width:760px;color:#afb4bc;line-height:1.45;}
.hal-membership-kicker{font:800 10px/1 ui-monospace,monospace;letter-spacing:.18em;color:#ff8a45;}
.hal-membership-head>[data-member-close]{width:42px;height:42px;border-radius:50%;font-size:24px;padding:0;flex:none;}
.hal-membership-current{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;margin:12px 0 14px;border-radius:10px;background:rgb(0 0 0/.28);border:1px solid rgb(255 255 255/.07);color:#c9ced6;}.hal-member-cancel{min-height:34px!important;padding:7px 10px!important;border-color:rgb(255 96 96/.35)!important;background:rgb(150 30 30/.18)!important;color:#ffb4b4!important;font-size:11px!important;white-space:nowrap}.hal-member-cancel.is-confirming{border-color:#ff6b6b!important;background:rgb(180 35 35/.32)!important;color:#fff!important}
.hal-member-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
.hal-member-plan{
  min-width:0;display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:13px;
  background:linear-gradient(180deg,rgb(255 255 255/.045),rgb(0 0 0/.16));
  border:1px solid rgb(255 255 255/.09);
}
.hal-member-plan.is-current{border-color:#55e79b;box-shadow:0 0 0 1px rgb(85 231 155/.15),0 0 22px rgb(85 231 155/.08);}
.hal-member-plan-top{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.hal-member-plan-top span{font:800 9px/1 ui-monospace,monospace;letter-spacing:.1em;color:#ff9d63;}
.hal-member-plan-top b{font-size:15px;}
.hal-member-price{display:flex;align-items:baseline;gap:5px;}
.hal-member-price strong{font-size:26px;color:#fff;letter-spacing:-.04em;}
.hal-member-price span{font-size:10px;color:#8f96a0;}
.hal-member-plan ul{list-style:none;padding:0;margin:0;display:grid;gap:5px;color:#bdc2c9;font-size:11px;line-height:1.35;flex:1;}
.hal-member-plan li::before{content:"✓";color:#69f3ac;margin-right:6px;font-weight:800;}
.hal-member-plan-action button{width:100%;min-height:38px;border-radius:9px;}
.hal-paypal-slot{margin-top:8px;min-height:0;}
.hal-paypal-status{padding:9px;border-radius:8px;background:rgb(255 255 255/.05);color:#c8ced7;font-size:11px;text-align:center;}
.hal-paypal-error{padding:9px;border-radius:8px;background:rgb(255 70 70/.1);color:#ff9b9b;font-size:11px;}
.hal-member-funding{margin-top:16px;padding:15px;border-radius:13px;border:1px solid rgb(255 138 69/.25);background:rgb(255 106 26/.055);}
.hal-member-funding h3{margin:0 0 9px;font-size:15px;}
.hal-member-funding>div{display:flex;flex-wrap:wrap;gap:6px;}
.hal-member-funding span{padding:6px 8px;border-radius:999px;background:rgb(0 0 0/.26);color:#d8dce2;font-size:10px;}
.hal-member-funding p,.hal-membership-paypal-note{color:#8f96a0;font-size:10px;line-height:1.45;}
.hal-membership-paypal-note{margin:12px 0 0;}

@media(max-width:900px){
  .hal-member-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:700px){
  html.hx-ui #app .product-ribbon-actions{padding-inline-start:104px!important;}
  html.hx-ui #app .product-ribbon-actions .hal-acct-chip{width:44px!important;min-width:44px!important;padding:0!important;justify-content:center!important;}
  html.hx-ui #app .product-ribbon-actions .hal-acct-chip .hal-acct-name{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;}
  html.hx-ui #app .product-ribbon-actions .cast-launch{left:52px!important;}
  .hal-acct-menu{top:72px!important;width:calc(100vw - 20px)!important;right:10px!important;}
  .hal-member-grid{grid-template-columns:1fr;}
  .hal-membership-modal{padding:15px;}
  .hal-acct-membership-summary{grid-template-columns:1fr;}
}
