/* Guest gate: blurred previews, PRO badges and the plans card */
.gate-blur{filter:blur(6px);opacity:.75;pointer-events:none;user-select:none;-webkit-user-select:none}
.gate-host{position:relative}
.gate-card{position:sticky;top:120px;z-index:4;display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 14px;padding:14px 16px;border-radius:16px;background:var(--card);border:1px solid color-mix(in srgb,var(--gold) 55%,var(--line));box-shadow:0 12px 30px -12px rgba(20,33,61,.35)}
.gate-card>div{flex:1 1 200px}
.gate-card b{display:block;font-family:"Bricolage Grotesque",Figtree,sans-serif}
.gate-card p{margin:2px 0 0;color:var(--muted);font-size:.9rem}
.gate-lock{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:color-mix(in srgb,var(--gold) 22%,var(--card));font-size:1.2rem}
#prBox.gate-host .gate-card{position:relative;top:auto}

/* PRO badge on premium controls for guests */
body.sb-guest #subnav button[data-v="practice"]::after,body.sb-guest #subnav button[data-v="board"]::after,
body.sb-guest #dlOne::after,body.sb-guest #askAi::after,body.sb-guest #prShow::after,body.sb-guest .pr-type.cx::after,
body.sb-guest #prTabC::after,body.sb-guest #exsol .ex-prob>summary .ex-count::after,body.sb-guest .sbq-fab::after,body.sb-guest #hxSprint::after,body.sb-guest #hxMock::after{
  content:"PRO";display:inline-block;margin-left:6px;padding:1px 6px;border-radius:6px;font-size:.62rem;font-weight:800;letter-spacing:.06em;line-height:1.5;vertical-align:middle;color:#3b2a00;background:linear-gradient(135deg,#ffd166,#ffb627)}

/* plans card */
.plan-dlg{width:min(720px,calc(100% - 24px));max-height:calc(100vh - 24px);overflow:auto;padding:24px 22px 20px;border:0;border-radius:24px;background:var(--card);color:var(--text);box-shadow:0 30px 70px rgba(0,0,0,.35)}
.plan-dlg::backdrop{background:rgba(6,12,28,.55)}
.plan-x{position:absolute;top:14px;right:14px}
.plan-eyebrow{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:700;color:#b77900}
.plan-dlg h2{margin:4px 40px 4px 0;font-size:clamp(1.35rem,4vw,1.75rem);line-height:1.2}
.plan-sub{margin:0 0 16px;color:var(--muted)}
.plan-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:14px;align-items:stretch}
.plan-card{position:relative;display:flex;flex-direction:column;padding:18px 16px 16px;border-radius:18px;border:1px solid var(--line);background:var(--bg)}
.plan-card h3{margin:0;font-size:1.05rem}
.plan-price{margin:6px 0 0;display:flex;align-items:baseline;gap:6px}
.plan-price b{font-family:"Bricolage Grotesque",Figtree,sans-serif;font-size:2rem;line-height:1.1}
.plan-price span{color:var(--muted)}
.plan-per{margin:2px 0 10px;color:var(--muted);font-size:.9rem}
.plan-perks{margin:0 0 14px;padding:0;list-style:none;display:grid;align-content:start;gap:6px;font-size:.9rem;flex:1}
.plan-perks li{position:relative;padding-left:22px}
.plan-perks li::before{content:"";position:absolute;left:2px;top:.45em;width:12px;height:7px;border-left:2px solid var(--ok);border-bottom:2px solid var(--ok);transform:rotate(-45deg)}
.plan-go{width:100%;padding:11px 14px;font-weight:700}
.plan-best{border:2px solid var(--gold);background:linear-gradient(180deg,color-mix(in srgb,var(--gold) 14%,var(--card)),var(--card) 60%);box-shadow:0 14px 34px -16px color-mix(in srgb,var(--gold) 80%,transparent)}
.plan-best .plan-per{color:var(--text);font-weight:600}
.plan-ribbon{position:absolute;top:-12px;left:16px;padding:3px 10px;border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.03em;color:#3b2a00;background:linear-gradient(135deg,#ffd166,#ffb627);box-shadow:0 4px 12px -4px rgba(183,121,0,.6)}
.plan-cap{margin:18px 0 6px;font-weight:700;font-size:.9rem}
.plan-benefits{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;font-size:.88rem;color:var(--muted)}
.plan-benefits li{position:relative;padding-left:18px}
.plan-benefits li::before{content:"";position:absolute;left:0;top:.55em;width:8px;height:8px;border-radius:50%;background:var(--brand)}
.plan-msg{margin-top:16px;padding:14px;border-radius:14px;background:var(--brand-soft);border:1px solid color-mix(in srgb,var(--brand) 30%,var(--line))}
.plan-msg p{margin:0 0 10px}
@media (max-width:600px){
  .plan-grid,.plan-benefits{grid-template-columns:1fr}
  .plan-dlg{padding:20px 16px 16px}
  .gate-card{top:150px}
}
.plan-note{margin:-8px 0 16px;padding:8px 12px;border-radius:10px;font-size:.88rem;background:color-mix(in srgb,var(--gold) 14%,var(--card));border:1px solid color-mix(in srgb,var(--gold) 40%,var(--line))}

/* a short message after sign-up */
.sb-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:9999;max-width:min(560px,calc(100vw - 32px));padding:14px 20px;border-radius:14px;background:#0b1730;color:#fff;font-weight:600;box-shadow:0 12px 30px rgba(0,0,0,.3);transition:opacity .5s}
.sb-toast.ok{background:#0b6e6e}
.sb-toast.out{opacity:0}
