/* PointsBall 2.4 — Play Center and expandable navigation */
.drawer-account-actions{display:grid;justify-items:end;gap:6px}.drawer-account-actions>a{color:var(--cyan);font:850 9px var(--mono)}.drawer-account-actions>button{border:0;background:transparent;padding:0;color:var(--red-ink);font:800 9px var(--mono);text-transform:uppercase}.drawer-account-actions>button:hover{color:#fff}
.menu-button{width:38px;height:38px;border:1px solid var(--line2);border-radius:10px;background:var(--panel);color:var(--soft);font-size:18px;line-height:1}.menu-button:hover{border-color:var(--cyan);color:#fff}
.nav-drawer{position:fixed;z-index:130;top:0;right:0;width:min(430px,100%);height:100dvh;display:flex;flex-direction:column;background:var(--s2);border-left:1px solid var(--line2);box-shadow:-30px 0 80px var(--shadow);transform:translateX(105%);transition:transform .24s ease;overflow:hidden}.nav-drawer.open{transform:none}.drawer-scrim{position:fixed;z-index:125;inset:0;background:var(--shadow-strong);opacity:0;visibility:hidden;transition:.2s}.drawer-scrim.open{opacity:1;visibility:visible}.drawer-head{height:69px;flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid var(--line)}.drawer-head .brand{width:auto}.drawer-body{min-height:0;overflow-y:auto;padding:15px 14px 30px}.drawer-account{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:11px;padding:14px;border:1px solid var(--line);border-radius:13px;background:linear-gradient(135deg,var(--s6),var(--s3))}.drawer-avatar{width:46px;height:46px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,var(--cyan),var(--blue));color:var(--s2);font-weight:950}.drawer-account strong,.drawer-account span{display:block}.drawer-account span{margin-top:2px;color:var(--muted);font:700 10px var(--mono)}.drawer-account>a{color:var(--cyan);font:850 9px var(--mono)}.drawer-snapshot{display:grid;grid-template-columns:repeat(3,1fr);margin:9px 0 17px;border:1px solid var(--line);border-radius:11px;background:var(--panel);overflow:hidden}.drawer-snapshot>div{padding:10px;border-right:1px solid var(--line)}.drawer-snapshot>div:nth-child(3){border-right:0}.drawer-snapshot span{display:block;color:var(--muted);font:750 7px var(--mono);letter-spacing:.08em}.drawer-snapshot b{display:block;margin-top:4px;font:900 15px var(--mono)}.drawer-snapshot .drawer-limit{grid-column:1/-1;border:0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px}.drawer-limit i{grid-column:1/-1;height:3px;background:var(--b1);border-radius:3px;overflow:hidden}.drawer-limit em{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--amber))}.drawer-signin{padding:19px;border:1px solid var(--b3);border-radius:13px;background:radial-gradient(circle at 100% 0,rgba(24,209,231,.18),transparent 45%),var(--panel);margin-bottom:18px}.drawer-signin>span{color:var(--cyan);font:800 8px var(--mono);letter-spacing:.12em}.drawer-signin h3{margin:7px 0 13px;font-size:19px}.drawer-group{margin-top:17px}.drawer-group>label{display:block;margin:0 7px 6px;color:var(--t4);font:850 8px var(--mono);letter-spacing:.15em}.drawer-link{display:grid;grid-template-columns:35px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border:1px solid transparent;border-radius:10px;color:var(--soft)}.drawer-link:hover,.drawer-link.active{border-color:var(--line);background:var(--panel2);color:#fff}.drawer-link>b{width:35px;height:35px;display:grid;place-items:center;border-radius:9px;background:var(--s7);color:var(--cyan);font:900 14px var(--mono)}.drawer-link strong,.drawer-link small{display:block}.drawer-link strong{font-size:12px}.drawer-link small{margin-top:2px;color:var(--muted);font-size:9px}.drawer-link>i{min-width:22px;padding:3px 5px;border-radius:99px;background:rgba(24,209,231,.12);color:var(--cyan);font:850 8px var(--mono);font-style:normal;text-align:center}.drawer-body>footer{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin-top:23px;padding-top:15px;border-top:1px solid var(--line)}.drawer-body>footer span{color:var(--t4);font:700 7px var(--mono);letter-spacing:.05em}.drawer-body>footer span:not(:last-child):after{content:' ·';margin-left:7px}
.play-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.5fr);gap:24px;align-items:center;margin-bottom:14px;padding:25px;border:1px solid var(--blue-10);border-radius:17px;background:radial-gradient(circle at 12% 0,rgba(24,209,231,.14),transparent 42%),linear-gradient(145deg,var(--s5),var(--s2));overflow:hidden}.chain-live{display:inline-flex;padding:5px 8px;border-radius:99px;background:rgba(244,186,71,.11);color:var(--amber);font:850 8px var(--mono);letter-spacing:.1em}.chain-live.connected{background:rgba(36,209,140,.11);color:var(--green)}.play-hero h2{margin:13px 0 3px;font:950 clamp(32px,5vw,54px)/1 var(--mono);letter-spacing:-.06em}.play-hero h2 em{font:800 13px var(--mono);color:var(--cyan);letter-spacing:.06em}.play-hero p{margin:0;color:var(--muted);font:700 10px var(--mono)}.play-hero>div>a{display:inline-block;margin-top:13px;color:var(--cyan);font:850 9px var(--mono)}.receipt-coverage{padding-left:25px;border-left:1px solid var(--line)}.receipt-coverage strong,.receipt-coverage span,.receipt-coverage small{display:block}.receipt-coverage strong{font:950 40px/1 var(--mono)}.receipt-coverage span{margin-top:7px;color:var(--cyan);font:850 8px var(--mono);letter-spacing:.1em}.receipt-coverage small{margin-top:7px;color:var(--muted);font-size:9px;line-height:1.45}
.play-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:24px;border:1px solid var(--line);border-radius:13px;background:var(--panel);overflow:hidden}.play-stat-grid>div{padding:15px 17px;border-right:1px solid var(--line)}.play-stat-grid>div:last-child{border:0}.play-stat-grid span,.play-stat-grid small{display:block}.play-stat-grid span{color:var(--muted);font:800 8px var(--mono);letter-spacing:.1em}.play-stat-grid b{display:block;margin:5px 0 2px;font:950 19px var(--mono)}.play-stat-grid small{color:var(--muted);font-size:9px}
.daily-limits{margin-top:27px}.daily-limits>.section-title>small{color:var(--muted);font:700 9px var(--mono)}.limit-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.limit-card{padding:16px;border:1px solid var(--line);border-radius:13px;background:var(--panel)}.limit-card>div:first-child,.limit-card footer{display:flex;justify-content:space-between;gap:10px}.limit-card span{color:var(--muted);font:750 9px var(--mono)}.limit-card>div:first-child b{font:900 13px var(--mono);color:var(--meter)}.limit-track{height:7px;margin:12px 0 8px;border-radius:8px;background:var(--b1);overflow:hidden}.limit-track i{display:block;height:100%;border-radius:8px;background:var(--meter)}.limit-card footer span{font-size:8px}.limit-card>small{display:block;margin-top:8px;color:var(--t4);font-size:9px}
.play-section .section-title h2 span{display:inline-grid;place-items:center;min-width:23px;height:21px;margin-left:5px;border-radius:99px;background:var(--panel3);color:var(--cyan);font:850 9px var(--mono);vertical-align:2px}.play-list{display:grid;gap:10px}.play-entry{border:1px solid var(--line);border-radius:13px;background:var(--panel);overflow:hidden}.play-entry.live{border-color:var(--green-2);box-shadow:inset 3px 0 var(--green)}.play-entry.processing{border-color:var(--amber-1);box-shadow:inset 3px 0 var(--amber)}.play-entry.failed{opacity:.75}.play-entry-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 13px;border-bottom:1px solid var(--line);color:var(--muted);font:750 8px var(--mono);letter-spacing:.07em}.play-entry-head b{color:var(--soft)}.play-entry-main{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:14px}.play-match{color:var(--muted);font:800 9px var(--mono)}.play-entry-main h3{margin:5px 0 2px;font-size:17px}.play-entry-main h3 em{margin-left:5px;color:var(--cyan);font:850 12px var(--mono);font-style:normal}.play-entry-main p{margin:0;color:var(--muted);font:700 9px var(--mono)}.play-result{text-align:right}.play-result strong,.play-result span{display:block}.play-result strong{font:950 18px var(--mono)}.play-result span{margin-top:2px;color:var(--muted);font:750 8px var(--mono)}.play-money{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr)) auto;border-top:1px solid var(--line);background:var(--s2)}.play-money>span,.play-money>a{padding:9px 13px;border-right:1px solid var(--line)}.play-money small,.play-money b{display:block}.play-money small{color:var(--muted);font:750 7px var(--mono);letter-spacing:.07em}.play-money b{margin-top:2px;font:850 10px var(--mono)}.play-money>a{display:grid;place-items:center;border-right:0;color:var(--cyan);font:850 8px var(--mono)}.play-failure{padding:8px 13px;border-top:1px solid rgba(255,51,79,.25);background:rgba(255,51,79,.06);color:var(--red-6);font-size:9px}.receipt-row{display:flex;align-items:center;gap:6px;min-height:34px;padding:6px 12px;border-top:1px solid var(--line);background:var(--s1);overflow:auto}.chain-name{margin-right:auto;white-space:nowrap;color:var(--t4);font:800 8px var(--mono);letter-spacing:.08em}.chain-receipt{white-space:nowrap;padding:4px 7px;border-radius:5px;border:1px solid var(--line);font:800 8px var(--mono)}.chain-receipt.verified{border-color:rgba(36,209,140,.3);background:rgba(36,209,140,.07);color:var(--green)}.chain-receipt.warning,.chain-receipt.processing{border-color:rgba(244,186,71,.3);background:rgba(244,186,71,.07);color:var(--amber)}.chain-receipt.failed{border-color:rgba(255,51,79,.3);color:var(--red-ink)}.chain-receipt.neutral{color:var(--t3)}.empty.compact{padding:24px}.chain-explainer{margin-top:28px;padding:16px 18px;border-left:3px solid var(--cyan);background:var(--panel);border-radius:0 11px 11px 0}.chain-explainer b{font:850 9px var(--mono);color:var(--cyan);letter-spacing:.1em}.chain-explainer p{margin:6px 0 0;color:var(--muted);font-size:10px;line-height:1.55}
.status-pill.processing{background:rgba(244,186,71,.12);color:var(--amber)}.status-pill.failed{background:rgba(255,51,79,.12);color:var(--red-ink)}
@media(max-width:1100px){.play-money{grid-template-columns:repeat(3,1fr)}.play-money>a{grid-column:1/-1;border-top:1px solid var(--line);padding:9px}.play-stat-grid{grid-template-columns:1fr 1fr}.play-stat-grid>div:nth-child(2){border-right:0}.play-stat-grid>div:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:700px){.menu-button{width:37px;height:37px}.wallet-chip{display:none}.drawer-head{height:60px}.play-hero{grid-template-columns:1fr;padding:18px}.receipt-coverage{padding:14px 0 0;border-left:0;border-top:1px solid var(--line)}.play-stat-grid{grid-template-columns:1fr 1fr}.play-stat-grid>div{padding:13px}.limit-grid{grid-template-columns:1fr}.play-entry-main{grid-template-columns:1fr}.play-result{text-align:left;display:flex;align-items:baseline;gap:8px}.play-money{grid-template-columns:1fr 1fr}.play-money>span:nth-child(3){grid-column:1/-1;border-top:1px solid var(--line)}.receipt-row{align-items:flex-start;flex-wrap:wrap}.chain-name{width:100%;margin-bottom:2px}.drawer-body{padding-bottom:90px}}
@media(max-width:420px){.drawer-snapshot{grid-template-columns:1fr 1fr}.drawer-snapshot>div:nth-child(2){border-right:0}.drawer-snapshot>div:nth-child(3){grid-column:1/-1;border-top:1px solid var(--line)}.play-stat-grid{grid-template-columns:1fr}.play-stat-grid>div{border-right:0;border-bottom:1px solid var(--line)!important}.play-stat-grid>div:last-child{border-bottom:0!important}.play-money{grid-template-columns:1fr}.play-money>span{border-right:0;border-bottom:1px solid var(--line)}.play-money>span:nth-child(3){grid-column:auto}}

/* 2.7 all-sport cards, cancellations and three-ledger limits */
.limit-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.play-cancel{border:0;border-left:1px solid var(--line);padding:9px 13px;background:rgba(255,91,30,.08);color:var(--orange-3);font:850 8px var(--mono);text-transform:uppercase;letter-spacing:.04em}.play-cancel:hover:not(:disabled){background:rgba(255,91,30,.17);color:#fff}.play-cancel:disabled{opacity:.45}.play-entry.cancelled{border-color:rgba(151,161,175,.28);box-shadow:inset 3px 0 var(--t3)}.status-pill.cancelled{background:rgba(151,161,175,.12);color:var(--t2)}.play-card-legs span b{white-space:normal}.ticker-game{align-items:center}.ticker-sport{width:27px;height:27px;display:grid;place-items:center;flex:0 0 auto;border:1px solid rgba(255,255,255,.09);border-radius:9px;background:var(--s6);font-style:normal;font-size:14px}.ticker-game:hover .ticker-sport{border-color:rgba(24,209,231,.4);background:var(--s8)}
@media(max-width:900px){.limit-grid{grid-template-columns:1fr 1fr}.limit-card:last-child{grid-column:1/-1}}
@media(max-width:700px){.limit-grid{grid-template-columns:1fr}.limit-card:last-child{grid-column:auto}.play-cancel{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding:11px}.ticker-sport{width:24px;height:24px;font-size:12px}}

/* ============================================================
   2.15 · Play controls (limits, breaks, self-exclusion)
   ============================================================ */
.protection-banner{display:flex;flex-direction:column;gap:3px;border-radius:11px;padding:13px 15px;margin:0 0 16px}
.protection-banner b{font:900 10px var(--mono);letter-spacing:.1em}
.protection-banner span{font-size:12px}
.protection-banner.excluded{background:color-mix(in srgb,var(--red) 14%,transparent);border:1px solid var(--red);color:var(--red-ink)}
.protection-banner.cooling{background:color-mix(in srgb,var(--amber) 14%,transparent);border:1px solid var(--amber);color:var(--amber-ink)}
.protection-banner.pending{background:color-mix(in srgb,var(--cyan) 12%,transparent);border:1px solid var(--cyan);color:var(--cyan-ink)}

.protection-usage{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 18px}
.protection-usage>div{border:1px solid var(--line);border-radius:11px;background:var(--panel2);padding:13px}
.protection-usage span{display:block;font:800 8px var(--mono);letter-spacing:.11em;color:var(--muted);text-transform:uppercase}
.protection-usage b{display:block;margin-top:6px;font:900 17px var(--mono)}
.limit-meter{display:block;height:5px;margin-top:9px;border-radius:99px;background:var(--panel3);overflow:hidden}
.limit-meter em{display:block;height:100%;border-radius:99px;background:var(--cyan)}

.protection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:11px;margin-bottom:15px}
.protection-grid label{display:block;font-size:11px;color:var(--muted)}
.protection-grid input{width:100%;margin-top:5px;border:1px solid var(--line2);border-radius:8px;background:var(--sunken);padding:10px;color:var(--ink);outline:0}
.protection-grid input:focus{border-color:var(--cyan)}

.protection-break{margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}
.protection-break h3{margin:0 0 4px;font-size:15px}
.protection-break p{margin:0 0 11px;color:var(--muted);font-size:12px}

.protection-exclude{margin-top:20px;border:1px solid var(--line);border-radius:11px;background:var(--panel2);padding:14px}
.protection-exclude summary{font-weight:850;cursor:pointer}
.protection-exclude p{color:var(--muted);font-size:12px;margin:10px 0}
.permanent-exclude{margin-top:16px;padding-top:14px;border-top:1px dashed var(--line2);display:grid;gap:9px}
.permanent-exclude label{font-size:11px;color:var(--muted)}
.permanent-exclude b{color:var(--red-ink);font-family:var(--mono)}
.permanent-exclude input{width:100%;margin-top:5px;border:1px solid var(--line2);border-radius:8px;background:var(--sunken);padding:10px;color:var(--ink);outline:0}

.protection-help{margin-top:20px;padding:13px 15px;border-radius:11px;background:var(--panel3);color:var(--soft);font-size:12px;line-height:1.5}
.protection-help a{color:var(--cyan);font-weight:800}
@media(max-width:700px){.protection-usage{grid-template-columns:1fr}}

/* 2.25 — Futures are positions, not cancellable game slips */
.play-entry.universe-future{border-color:color-mix(in srgb,var(--amber) 35%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--amber) 6%,var(--panel)),var(--panel))}
.play-universe-badge.future{background:color-mix(in srgb,var(--amber) 15%,transparent);color:var(--amber)}
.future-position-price{font:800 9px var(--mono)!important;letter-spacing:.04em;color:var(--muted)!important;margin:4px 0 0!important}.future-position-price b{color:var(--soft)}
