html:has(>body.battlepass-page){background:#0c0e11}
body.battlepass-page{min-height:100vh;min-height:100dvh;background:var(--bg)}
.battlepass-page .task-refresh-note{display:block;max-width:80ch;margin-top:8px;color:var(--muted);font-size:12px;line-height:1.6}
/* Compact operational views; reward presentation remains independent. */
.battlepass-page .supporting-panel{padding-bottom:20px}
.battlepass-page .supporting-panel>.section-head{margin:12px 0 18px}
.battlepass-page .supporting-panel>.section-head h2{font:650 26px/1.2 var(--pass-display);margin:0 0 6px}
.battlepass-page .supporting-panel>.section-head p{font-size:13px;line-height:1.6;max-width:70ch}
.battlepass-page .task-dashboard{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.battlepass-page .task-summary{font-size:13px;margin:0}
.battlepass-page .task-filters{gap:4px}
.battlepass-page .task-filters button{font-size:12px;padding:8px 12px}
.battlepass-page .task-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.battlepass-page .task-card{position:relative;padding:16px;text-align:left;border-radius:6px;background:#ffffff04;transition:background .16s,border-color .16s}
.battlepass-page .task-card:hover{background:#ffffff08;border-color:#777e87}
.battlepass-page .task-card:focus-within{outline:2px solid #ffaf93;outline-offset:3px}
.battlepass-page .task-top{font-size:11px;margin-bottom:8px}
.battlepass-page .task-card h3{font-size:19px;line-height:1.25;margin:0 0 6px}
.battlepass-page .task-card p{font-size:12px;line-height:1.5;margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.battlepass-page .task-card progress{height:4px;margin:0 0 8px}
.battlepass-page .task-card .between{margin:0;font-size:11px}
.battlepass-page .task-card .between>span{font-size:11px}
.battlepass-page .task-card .between>span:first-child{color:var(--text);font-variant-numeric:tabular-nums}
.battlepass-page .task-open{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:transparent;border-radius:6px;color:transparent;font-size:0}
.battlepass-page .task-open:focus-visible{outline:0}
/* The published button theme uses important backgrounds; the card hit target must remain transparent in every state. */
@layer daynull-buttons {
 html:root body.battlepass-page #task-grid button.task-open { background:transparent!important;color:transparent!important;border:0!important;box-shadow:none!important;text-shadow:none!important; }
 html:root body.battlepass-page #task-grid button.task-open::before,
 html:root body.battlepass-page #task-grid button.task-open::after { display:none!important; }
}

.battlepass-page .task-card[data-completed=true]{border-color:#769a7e77}
.battlepass-page .task-card[data-completed=true] .task-xp{color:#a6d4b7}
.battlepass-page:has(dialog[open]){overflow:hidden}
.task-dialog{width:calc(100% - 32px);max-width:580px;max-height:calc(100dvh - 32px);overflow:auto;padding:28px;background:#191d23;color:var(--text);border:1px solid #4a4e55;border-radius:10px;scrollbar-width:thin;scrollbar-color:#555f6d transparent}
.task-dialog::backdrop{background:#030508cf}
.task-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}
.task-dialog-head h2{font:650 28px/1.15 var(--pass-display);overflow-wrap:anywhere;margin:3px 0 0}
.task-dialog-head .button{flex-shrink:0}
.task-dialog h3{font-size:13px;margin:0 0 8px}
.task-dialog>p{font-size:16px;line-height:1.6;margin:0 0 24px;overflow-wrap:anywhere}
.task-detail-facts{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 24px;padding-block:16px;border-block:1px solid var(--line)}
.task-detail-facts>div:last-child{grid-column:1/-1}
.task-detail-facts dt{font-size:12px;color:var(--muted);margin-bottom:5px}
.task-detail-facts dd{font-size:14px;margin:0;font-variant-numeric:tabular-nums}
#task-detail-xp{color:#ffb49d;font-weight:700}
.task-detail-status{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:13px;margin-bottom:10px}
.task-detail-status span{color:var(--muted);font-variant-numeric:tabular-nums}
.task-detail-note{font-size:12px;line-height:1.7;color:var(--muted);margin:16px 0 0}
@media(max-width:1150px){.battlepass-page .task-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.battlepass-page .task-grid{grid-template-columns:minmax(0,1fr)}.battlepass-page .task-card{padding:14px}.battlepass-page .task-filters button{font-size:11px;padding-inline:9px}.task-dialog{padding:20px}.task-dialog-head h2{font-size:24px}.task-dialog-head{gap:10px}.task-dialog-head .button{font-size:11px;padding-inline:10px}}
@media(prefers-reduced-motion:reduce){.battlepass-page .task-card{transition:none}}
