/* ── PLANES (Turbo / Catalyst) ── */
#homeViewPremium { display: none; flex-direction: column; height: 100%; overflow: hidden; min-width: 0; background: var(--bg-channel, #1D2026); }
.pm-scroll { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
#msPremiumOverlay { display: none; position: fixed; inset: 0; z-index: 10055; background: #0d0d2b; }
#msPremiumBox { position: absolute; inset: 0; display: flex; flex-direction: column; }
#msPremiumBox .pm-scroll { padding-top: env(safe-area-inset-top, 0); }
#msPremiumBackBtn { position: absolute; top: calc(env(safe-area-inset-top, 0px) + 10px); left: 10px; z-index: 3; width: 44px; height: 44px; border: 0; border-radius: 50%; background: rgba(0,0,0,.35); display: grid; place-items: center; cursor: pointer; }
@media (min-width: 769px) { #msPremiumOverlay { display: none !important; } }

.pm-wrap { --pm-a: #413CDD; --pm-b: #6366f1; min-height: 100%; box-sizing: border-box; padding: 0 0 40px; color: #fff; display: flex; flex-direction: column; align-items: center;
  background: linear-gradient(180deg, var(--pm-a) 0%, color-mix(in srgb, var(--pm-b) 55%, #0d0d2b) 62%, #0d0d2b 100%); }
.pm-state { justify-content: center; gap: 14px; text-align: center; color: #dbdee1; background: transparent; }
.pm-spin { width: 34px; height: 34px; border-radius: 50%; border: 3px solid rgba(255,255,255,.2); border-top-color: #fff; animation: pmspin .8s linear infinite; }
@keyframes pmspin { to { transform: rotate(360deg); } }
.pm-hero { width: 100%; box-sizing: border-box; padding: 64px 20px 8px; display: flex; flex-direction: column; align-items: center; text-align: center; }
.pm-tabs { display: flex; gap: 8px; padding: 4px; border-radius: 999px; background: rgba(0,0,0,.28); margin-bottom: 22px; }
.pm-tab { position: relative; display: flex; align-items: center; gap: 8px; border: 0; padding: 7px 16px 7px 10px; border-radius: 999px; background: transparent; color: rgba(255,255,255,.75); font: inherit; font-weight: 700; font-size: .9rem; cursor: pointer; }
.pm-tab img { width: 26px; height: 20px; object-fit: contain; }
.pm-tab.on { background: rgba(255,255,255,.2); color: #fff; }
.pm-on { position: absolute; top: 5px; right: 8px; width: 8px; height: 8px; border-radius: 50%; background: #23a559; box-shadow: 0 0 0 2px rgba(0,0,0,.35); }
.pm-logo { width: min(240px, 62vw); height: auto; max-height: 190px; object-fit: contain; filter: drop-shadow(0 14px 22px rgba(0,0,0,.4)); margin: 4px 0 6px; pointer-events: none; }
.pm-title { margin: 8px 0 0; font-size: clamp(2rem, 7vw, 3.2rem); font-weight: 900; letter-spacing: -.03em; line-height: 1.05; text-shadow: 0 3px 0 rgba(0,0,0,.25); }
.pm-tag { margin: 10px 0 0; font-size: 1.05rem; opacity: .9; }
.pm-status { margin-top: 14px; padding: 7px 14px; border-radius: 999px; background: rgba(35,165,89,.9); font-weight: 700; font-size: .85rem; }
.pm-card { width: min(520px, calc(100% - 32px)); box-sizing: border-box; margin-top: 26px; padding: 20px; border-radius: 18px; background: rgba(0,0,0,.28); backdrop-filter: blur(6px); }
.pm-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.pm-list li { display: flex; gap: 10px; align-items: flex-start; font-weight: 600; line-height: 1.35; }
.pm-list svg { flex: none; width: 20px; height: 20px; margin-top: 1px; color: #5cf09b; }
.pm-list .pm-dim { opacity: .65; font-weight: 500; }
.pm-list .pm-dim svg { color: #fff; }
.pm-limit { display: flex; align-items: baseline; gap: 8px; margin-top: 18px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.14); }
.pm-limit b { font-size: 1.9rem; font-weight: 900; }
.pm-limit span { opacity: .75; font-size: .9rem; }
.pm-current { margin-top: 12px; display: inline-block; padding: 4px 10px; border-radius: 6px; background: rgba(255,255,255,.18); font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.pm-soon { margin-top: 14px; font-size: .82rem; opacity: .7; line-height: 1.4; }
.pm-actions { width: min(520px, calc(100% - 32px)); margin-top: 18px; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.pm-btn { border: 0; border-radius: 14px; padding: 13px 22px; font: inherit; font-weight: 800; font-size: .95rem; cursor: pointer; }
.pm-btn:disabled { opacity: .6; cursor: default; }
.pm-light { background: #fff; color: #1d1a6b; box-shadow: 0 4px 0 rgba(255,255,255,.35); }
.pm-link { display: inline-flex; align-items: center; gap: 8px; border: 0; background: transparent; color: #fff; font: inherit; font-weight: 800; font-size: 1rem; cursor: pointer; padding: 10px 14px; border-radius: 10px; }
.pm-link:hover { background: rgba(255,255,255,.1); }
.pm-link svg { width: 22px; height: 22px; }
.pm-redeem { width: 100%; display: flex; gap: 8px; }
.pm-input { flex: 1; min-width: 0; box-sizing: border-box; padding: 12px 14px; border-radius: 12px; border: 2px solid rgba(255,255,255,.25); background: rgba(0,0,0,.3); color: #fff; font: inherit; outline: none; }
.pm-input:focus { border-color: #fff; }
.pm-input::placeholder { color: rgba(255,255,255,.55); }
.pm-msg { font-weight: 700; font-size: .9rem; text-align: center; }
.pm-msg.ok { color: #5cf09b; }
.pm-msg.err { color: #ff9a9c; }
