/* Stage screens rebuilt one-to-one from the DS ui_kit — lobby extras, queue, match intro, title.
   Loaded after stage.css. All values are the mock-ups' own px/rem. */

/* ---- Lobby extras (connection surface, drawers, join dialog) ---- */
.bp-lobby-spinner{width:44px;height:44px;border-radius:50%;border:4px dashed rgba(255,214,140,.55);animation:bp-spin 2.2s linear infinite}
.bp-lobby-join-backdrop{position:absolute;inset:0;z-index:11;display:grid;place-items:center;background:rgba(23,26,50,.7)}
.bp-lobby-join-backdrop>.bp-lobby-join{position:static;transform:none}
.bp-lobby-join form{display:grid;gap:10px}
.bp-lobby-code-big{color:#ffe9b1;font:700 2rem var(--font-display);letter-spacing:.12em;text-shadow:0 3px 0 #361108}
.bp-lobby-service{position:absolute;z-index:9;left:50%;bottom:11%;transform:translateX(-50%);color:#ffe9b1;font:1000 .7rem var(--font-ui);text-align:center}
.bp-lobby-service:empty{display:none}
.bp-lobby .ds-image-button{display:grid;place-items:center;padding:0;border:0;background:none;cursor:pointer}
.bp-lobby .ds-image-button>img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}
.bp-lobby .ds-image-button>strong{position:relative}
.bp-lobby .ds-image-button:disabled{filter:grayscale(.5);opacity:.7;cursor:not-allowed}
.bp-lobby .ds-switch-row{min-height:44px;border-bottom:1px solid rgba(255,231,178,.3);color:#fff4d6;font:1000 var(--text-body,.88rem) var(--font-ui)}

/* ---- Queue (MetaScreens.jsx QueueScreen) ---- */
.bp-queue{position:relative;width:100%;height:100%;overflow:hidden;font-family:var(--font-ui);color:#fff2c8}
.bp-queue-bg{position:absolute;inset:0;background:var(--bp-lobby-bg) center/cover no-repeat,#163c42}
.bp-queue-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,23,30,.68),rgba(4,23,30,.22) 55%,transparent)}
.bp-queue-title{position:absolute;left:50%;top:3%;width:31%;transform:translateX(-50%)}
.bp-queue-card{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);width:min(760px,64%);display:grid;grid-template-columns:168px minmax(0,1fr);align-items:center;gap:26px;padding:30px;border:9px solid #9d5524;border-radius:34px;background:linear-gradient(#783a1c,#51220f);box-shadow:inset 0 0 0 3px #e8a445,inset 0 0 22px #301006,0 16px 34px rgba(0,0,0,.46)}
.bp-queue-end{position:absolute;left:8%;right:8%;height:10%;border:4px solid #754019;border-radius:60%;background:#a86629}
.bp-queue-end.is-top{top:-4%}
.bp-queue-end.is-bottom{bottom:-4%}
.bp-queue-orbit{position:relative;width:168px;height:168px;display:grid;place-items:center}
.bp-queue-orbit>.is-ring{position:absolute;inset:0;border-radius:50%;border:3px dashed rgba(255,214,140,.45);animation:bp-spin 2.2s linear infinite}
.bp-queue-orbit>.is-core{position:absolute;inset:16px;border-radius:50%;background:radial-gradient(circle at 50% 36%,#ffd88a 0 22%,#c9762a 58%,#5d2c10 100%);box-shadow:inset 0 0 0 3px #f6ca70}
.bp-queue-orbit>img{position:relative;width:58%;height:58%;object-fit:contain;filter:drop-shadow(0 4px 3px rgba(0,0,0,.5))}
.bp-queue-copy{min-width:0;display:grid;gap:12px}
.bp-queue-copy>.bp-kick{font-size:.72rem;letter-spacing:.14em}
.bp-queue-copy>h2{margin:0;color:#fff8df;font:700 2.3rem var(--font-display);line-height:.95;text-shadow:0 3px 0 #361108}
.bp-queue-copy>p{margin:0;max-width:46ch;color:#f8d8ac;font:800 .92rem var(--font-ui);line-height:1.38}
.bp-queue-count{display:grid;gap:6px}
.bp-queue-count>div{display:flex;align-items:baseline;gap:10px}
.bp-queue-count strong{color:#fff8df;font:700 2rem var(--font-display);line-height:1;font-variant-numeric:tabular-nums}
.bp-queue-count strong>small{font-size:.55em;color:#f4d9a9}
.bp-queue-count>div>span{color:#f1d371;font:1000 .66rem var(--font-ui);letter-spacing:.12em}
.bp-queue-count>i{display:block;height:10px;border-radius:999px;background:#2b120b;box-shadow:inset 0 2px 5px rgba(0,0,0,.45);overflow:hidden}
.bp-queue-count>i>b{display:block;height:100%;border-radius:999px;background:var(--xp-fill,linear-gradient(90deg,#83d530,#c6f39a))}
.bp-queue-meta{display:flex;gap:22px;flex-wrap:wrap}
.bp-queue-meta>span{display:grid;gap:2px}
.bp-queue-meta small{color:#bd9569;font:1000 .56rem var(--font-ui);letter-spacing:.12em}
.bp-queue-meta strong{color:#ffe9b1;font:1000 .8rem var(--font-ui)}
.bp-queue-offer{display:grid;gap:9px;padding:12px;border-radius:12px;border:2px solid #b3803f;background:rgba(20,10,4,.42)}
.bp-queue-offer>p{margin:0;color:#f4dcb0;font:800 .78rem var(--font-ui);line-height:1.35}
.bp-queue-offer>div{display:flex;gap:9px;flex-wrap:wrap}
.bp-queue-cancel{position:absolute;left:50%;bottom:5%;transform:translateX(-50%);width:17%;height:10%;display:grid;place-items:center;padding:0;border:0;background:none;cursor:pointer}
.bp-queue-cancel>img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}
.bp-queue-cancel>strong{position:relative}
.bp-queue-cancel:disabled{filter:grayscale(.5);opacity:.7;cursor:not-allowed}
.bp-queue-pill{position:absolute;right:18px;top:18px}

/* ---- Match intro (MetaScreens.jsx MatchIntroScreen) ---- */
.bp-intro{position:relative;width:100%;height:100%;overflow:hidden;font-family:var(--font-ui);color:#fff3d4}
.bp-intro-bg{position:absolute;inset:0;background:var(--bp-intro-bg) center/cover no-repeat,#1a2b24}
.bp-intro-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,20,16,.82),rgba(5,20,16,.35) 55%,rgba(5,20,16,.6))}
.bp-intro-body{position:absolute;inset:0;display:grid;align-content:center;justify-items:center;gap:16px;padding:30px}
.bp-intro-body>.bp-kick{font-size:.84rem;letter-spacing:.16em}
.bp-intro-body>h1{margin:0;color:#fff8df;font:700 3rem var(--font-display);line-height:1;text-shadow:0 4px 0 #24140c,0 8px 12px rgba(0,0,0,.5)}
.bp-intro-count{display:grid;place-items:center;width:96px;height:96px;border-radius:50%;border:5px solid #e8a445;background:radial-gradient(circle at 50% 34%,#7d3b20,#2c1409);color:#ffe9a8;font:700 3rem var(--font-display);line-height:1;font-variant-numeric:tabular-nums;box-shadow:0 8px 18px rgba(0,0,0,.5)}
.bp-intro-seats{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px;width:min(1180px,92%);margin-top:6px}
.bp-intro-seat{display:grid;justify-items:center;gap:6px;padding:12px 6px;border-radius:14px;border:3px solid #8f4e22;background:linear-gradient(180deg,#4a2716,#231107);box-shadow:0 5px 0 rgba(15,7,3,.6)}
.bp-intro-seat.is-human{border-color:#67d8c6;background:linear-gradient(180deg,#1d5a52,#0d2b28);box-shadow:0 0 16px rgba(103,216,198,.45)}
.bp-intro-seat>.bp-avatar{width:62px;height:62px}
.bp-intro-seat>strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff3cc;font:1000 .78rem var(--font-ui);text-transform:uppercase}
.bp-intro-seat>small{text-align:center;color:#6ee7ff;font:1000 .5rem var(--font-ui);letter-spacing:.08em;line-height:1.25}
.bp-intro-seat.is-human>small{color:#f4d9a9}

/* ---- Title (MetaScreens.jsx TitleScreen) ---- */
.bp-title{position:relative;width:100%;height:100%;overflow:hidden;font-family:var(--font-ui);color:#fff3d4}
.bp-title-bg{position:absolute;inset:0;background:var(--bp-title-bg) center/cover no-repeat,#2d9bc0}
.bp-title-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,24,34,.62) 0,rgba(4,24,34,.2) 52%,transparent 100%),linear-gradient(0deg,rgba(5,26,38,.72),transparent 46%)}
.bp-title-copy{position:absolute;left:7%;top:50%;transform:translateY(-50%);width:620px;display:grid;gap:18px;justify-items:start}
.bp-title-copy>.bp-kick{font-size:.95rem;letter-spacing:.16em}
.bp-title-copy>img{width:520px;object-fit:contain;filter:drop-shadow(0 10px 5px rgba(10,28,44,.5))}
.bp-title-copy>h2{margin:0;color:#fff8df;font:700 2.5rem var(--font-display);line-height:1;letter-spacing:.1em;text-shadow:0 4px 0 #59324b,0 7px 10px rgba(7,24,39,.5)}
.bp-title-copy>p{margin:0;max-width:30ch;color:#f8d8ac;font:800 1.15rem var(--font-ui);line-height:1.38}
.bp-title-pack{position:absolute;right:4%;bottom:0;display:flex;align-items:flex-end}
.bp-title-pack img{object-fit:contain;filter:drop-shadow(0 14px 8px rgba(16,37,43,.5))}
.bp-title-pack img:nth-child(1){width:250px}
.bp-title-pack img:nth-child(2){width:210px;margin-left:-46px}
.bp-title-pack img:nth-child(3){width:230px;margin-left:-46px}

/* ---------- Round + meta DS pages pinned to the 1600×900 stage (RoundScreens.jsx / MetaScreens.jsx) ---------- */
.bp-stage .ds-page{position:absolute;inset:0;min-height:0;height:100%;overflow:hidden;padding:26px 34px;gap:12px;background:linear-gradient(180deg,#123044,#0a1a26 58%,#061119)}
.bp-stage .ds-page::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 26%,rgba(96,196,232,.16),transparent 52%),radial-gradient(ellipse at 88% 78%,rgba(255,176,86,.13),transparent 40%);pointer-events:none}
.bp-stage .ds-page>*{position:relative;min-width:0}
.bp-stage .ds-page-head{margin-bottom:0}
.bp-stage .ds-page-head>h1{font-size:2.5rem}
.bp-stage .ds-page-head>.ds-pill{position:absolute;right:0;top:4px;margin:0}
.bp-stage .ds-scout-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}
.bp-stage .ds-scout-card{min-height:0}
.bp-stage .ds-scout-roster{grid-template-columns:repeat(9,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);height:100%}
.bp-stage .ds-parade-page{grid-template-rows:auto auto minmax(0,1fr) auto auto}
.bp-stage .ds-parade-ring{grid-template-rows:repeat(2,minmax(0,1fr));overflow:hidden}
.bp-stage .ds-parade-pick{min-height:0}
.bp-stage .ds-parade-pick>img{max-height:100%;min-height:0}
.bp-stage .ds-standings-layout{grid-template-columns:minmax(0,1fr) 300px}
.bp-stage .ds-standings{grid-auto-rows:minmax(0,1fr);overflow:hidden}
.bp-stage .ds-standing{min-height:0}
.bp-stage .ds-spectate{position:absolute;inset:0;min-height:0;height:100%}
.bp-stage .ds-page-actions{flex-wrap:nowrap}
.bp-stage .ds-book{position:absolute;inset:0;min-height:0;height:100%;overflow:hidden;padding:16px 24px 20px;gap:12px}
.bp-stage .ds-book-grid{max-height:none;overflow:auto}
.bp-stage .ds-book-body{grid-template-columns:216px minmax(0,1fr);gap:20px}
.bp-stage .ds-book-plaque{min-height:80px;padding:4px 24px;border-width:7px}
.bp-stage .ds-book-plaque>strong{font-size:3.15rem}

/* ---------- Profile + Settings (MetaPages.jsx) ---------- */
.bp-profile-grid{min-height:0;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);max-width:1180px;width:100%;justify-self:center;align-content:center;gap:18px}
.bp-profile-card{display:grid;grid-template-columns:108px minmax(0,1fr);align-content:start;gap:16px;padding:20px;margin:0;min-height:0}
.bp-profile-ring{display:grid;place-items:center;width:108px;height:108px;overflow:hidden;border-radius:50%;border:5px solid #e5ad4b;background:radial-gradient(circle at 50% 38%,#4a2718 0 58%,#241009 100%)}
.bp-profile-ring>img{width:94%;height:94%;object-fit:contain;object-position:center bottom}
.bp-profile-body{min-width:0;display:grid;gap:9px;align-content:start}
.bp-profile-name{display:grid;gap:4px}
.bp-input,.bp-select{min-height:44px;padding:8px 12px;border:2px solid #b96b2e;border-radius:11px;background:#fff8e7;color:#35170e;font:1000 .95rem var(--font-ui)}
.bp-profile-name>.bp-input{font:700 1.5rem var(--font-display)}
.bp-profile-wallets{display:flex;gap:7px;flex-wrap:wrap}
.bp-profile-avatars{margin:0;padding:0;border:0;display:grid;gap:6px}
.bp-avatar-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
.bp-avatar-option{display:grid;justify-items:center;gap:2px;min-height:44px;padding:5px 2px;border:2px solid #8f4e22;border-radius:10px;background:linear-gradient(#7d411f,#47200f);color:#fff6d8;font:1000 .56rem var(--font-ui);cursor:pointer}
.bp-avatar-option>img{width:46px;height:46px;object-fit:contain;object-position:center bottom}
.bp-avatar-option.is-selected{border-color:#67e8f9;background:linear-gradient(#12474f,#0a2b31);box-shadow:0 0 12px rgba(104,232,255,.45)}
.bp-profile-stats{margin:0;color:#f8d8ac;font:800 .84rem var(--font-ui);line-height:1.4}
.bp-profile-error{display:block;min-height:1em;color:#ffb0a4;font:1000 .72rem var(--font-ui)}
.bp-profile-error:empty{display:none}
.bp-profile-actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center}
.bp-profile-stale{padding:8px 14px;border-radius:10px;border:2px solid #b3803f;background:rgba(20,10,4,.42);color:#ffe9b1;font:1000 .72rem var(--font-ui)}
.bp-account-card{display:grid;align-content:start;gap:10px;padding:20px;min-height:0}
.bp-account-card>h2,.bp-settings-panel>h2{margin:0;color:#fff8df;font:700 1.5rem var(--font-display);line-height:1;text-shadow:0 3px 0 #361108}
.bp-account-card>strong{color:#fff3cc;font:1000 1rem var(--font-ui);text-transform:uppercase}
.bp-account-card>span{color:#9fd7e4;font:1000 .72rem var(--font-ui)}
.bp-account-card>p,.bp-settings-panel>p{margin:0;color:#f8d8ac;font:800 .82rem var(--font-ui);line-height:1.38}
.bp-account-card>small{color:#e7cc9d;font:800 .7rem var(--font-ui);line-height:1.35}
.bp-account-actions{display:flex;gap:9px;flex-wrap:wrap}
.bp-plate{display:grid;place-items:center;width:54px;height:54px;border-radius:14px;border:3px solid #c9a24a;background:radial-gradient(circle at 50% 34%,#7d3b20,#2c1409);color:#ffe9a8;font:1000 1.5rem var(--font-ui)}
.bp-plate.is-ok{color:#baff85}
/* Seven panels pack in order into four stage-height columns (column flex wrap): the tall Audio and
   Display panels each own a column, the short ones stack, and nothing is sliced by the stage edge.
   Only an enlarged text scale can overflow — it then adds a column that scrolls sideways. */
.bp-settings-grid{min-height:0;height:100%;display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-start;gap:12px;padding:2px 2px 4px;overflow:auto hidden;scrollbar-width:thin}
.bp-settings-panel{flex:0 0 auto;width:calc((100% - 36px) / 4);display:grid;align-content:start;gap:6px;padding:14px 16px;min-height:0}
.bp-settings-panel>.bp-kick{margin-bottom:-4px}
.bp-settings-panel.is-deferred{border-style:dashed;border-color:#6b5a4a;background:linear-gradient(#3a2a1c,#231710)}
.bp-setting{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:44px;padding-bottom:5px;border-bottom:1px solid rgba(255,231,178,.28)}
.bp-setting>span{display:grid;gap:2px;min-width:0}
.bp-setting strong{color:#fff4d6;font:1000 .84rem var(--font-ui)}
.bp-setting small{color:#e7cc9d;font:800 .68rem var(--font-ui)}
.bp-setting .bp-select{min-height:40px;padding:6px 10px;font-size:.8rem;max-width:180px}
.bp-range{width:140px;accent-color:#e8a445}
.bp-muted{color:#c8b389!important}
/* Empty seats keep a visible circular invite ring (LobbyScreen.jsx SeatPod) */
.bp-lobby .ds-seat-portrait{border:3px solid rgba(255,214,140,.55);border-radius:50%;box-sizing:border-box}
.bp-lobby .ds-seat.is-empty .ds-seat-portrait{border-style:dashed;border-color:#ffd88a}
/* Seven opponents: 2 × 4 cards, each with a single row of nine compact roster slots */
.bp-stage .ds-scout-grid{grid-template-rows:repeat(4,minmax(0,1fr));gap:10px}
.bp-stage .ds-scout-card{padding:10px 13px;gap:6px}
.bp-stage .ds-scout-card>header>.ds-avatar{width:40px;height:40px}
.bp-stage .ds-scout-roster{grid-auto-rows:minmax(0,1fr);gap:5px}
.bp-profile-rank .ds-rank-tier{font-size:.72rem}


/* ---------- Practice (Pack Book → PRACTICE) ---------- */
.bp-practice-grid{min-height:0;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);max-width:1240px;width:100%;justify-self:center;align-content:center;gap:18px}
.bp-practice-spotlight{display:grid;grid-template-columns:300px minmax(0,1fr);gap:18px;padding:20px;min-height:0}
.bp-practice-art{display:grid;place-items:end center;min-height:300px;border-radius:16px;background:radial-gradient(ellipse at 50% 112%,#6b3f66,#241428 62%,#180f1a)}
.bp-practice-art>img{width:92%;height:92%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 8px 6px rgba(0,0,0,.5))}
.bp-practice-copy{display:grid;align-content:start;gap:10px;min-width:0}
.bp-practice-copy>h2,.bp-practice-setup>h2{margin:0;color:#fff8df;font:700 2rem var(--font-display);line-height:1;text-shadow:0 3px 0 #361108}
.bp-practice-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.bp-practice-stats{margin:0;color:#f4d9a9;font:1000 .72rem var(--font-ui);letter-spacing:.06em}
.bp-practice-ability{display:grid;gap:3px;padding:10px 12px;border-radius:11px;border:2px solid #b3803f;background:rgba(20,10,4,.42)}
.bp-practice-ability>strong{color:#8fe5ff;font:1000 .95rem var(--font-ui);text-transform:uppercase}
.bp-practice-ability>small{color:#9fd7e4;font:1000 .62rem var(--font-ui);letter-spacing:.08em}
.bp-practice-ability>p{margin:0;color:#f8d8ac;font:800 .8rem var(--font-ui);line-height:1.38}
.bp-practice-ladder{margin:0;color:#e7cc9d;font:1000 .72rem var(--font-ui)}
.bp-practice-setup{display:grid;align-content:start;gap:10px;padding:20px;min-height:0}
.bp-practice-fixed{color:#ffe9b1;font:1000 .78rem var(--font-ui);letter-spacing:.08em}
.bp-practice-actions{display:grid;gap:9px;justify-items:start;margin-top:6px}
/* Focus Puppy highlight in the Prep shop */
.bp-shop-grid>.is-focus{outline:3px solid var(--cyan-400,#68e8ff);outline-offset:2px;box-shadow:0 0 16px rgba(104,232,255,.55)}

/* ---------- Rules · Pass track · Lobby notifications ---------- */
.bp-rules-grid{min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;overflow-y:auto;padding:2px 6px 8px 2px;scrollbar-width:thin;align-items:start}
.bp-rules-card{display:grid;align-content:start;gap:8px;padding:16px}
.bp-rules-card>h2{margin:0;color:#fff8df;font:700 1.4rem var(--font-display);line-height:1;text-shadow:0 3px 0 #361108}
.bp-rules-card>p,.bp-rules-note{margin:0;color:#f8d8ac;font:800 .8rem var(--font-ui);line-height:1.38}
.bp-rules-card.is-deferred{border-style:dashed;border-color:#6b5a4a;background:linear-gradient(#3a2a1c,#231710)}
.bp-rules-list,.bp-rules-divisions,.bp-rules-placements{margin:0;padding:0;list-style:none;display:grid;gap:5px}
.bp-rules-list>li{padding:6px 10px;border-radius:8px;background:rgba(20,10,4,.42);color:#f8d8ac;font:800 .76rem var(--font-ui);line-height:1.35}
.bp-rules-list b,.bp-rules-divisions b{color:#ffe9b1;font-weight:1000}
.bp-rules-divisions>li{display:grid;grid-template-columns:auto auto;gap:2px 10px;padding:6px 10px;border-radius:8px;border:1px solid transparent;background:rgba(20,10,4,.42)}
.bp-rules-divisions>li.is-current{border-color:#67e8f9;box-shadow:0 0 10px rgba(104,232,255,.35)}
.bp-rules-divisions span{color:#9fd7e4;font:1000 .68rem var(--font-ui);justify-self:end}
.bp-rules-divisions small{grid-column:1/-1;color:#e7cc9d;font:800 .68rem var(--font-ui)}
.bp-rules-placements>li{display:grid;grid-template-columns:40px auto minmax(0,1fr);align-items:baseline;gap:8px;padding:4px 10px;border-radius:8px;background:rgba(20,10,4,.42)}
.bp-rules-placements b{color:#ffd76a;font:700 1.1rem var(--font-display)}
.bp-rules-placements span{color:#baff85;font:1000 .78rem var(--font-ui)}
.bp-rules-placements small{color:#e7cc9d;font:800 .66rem var(--font-ui);text-align:right}
.bp-track-summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:22px;padding:14px 20px}
.bp-track-summary strong{display:block;color:#fff8df;font:700 1.6rem var(--font-display);line-height:1;text-shadow:0 3px 0 #361108}
.bp-track-bar{display:grid;gap:6px}
.bp-track-bar>i{display:block;height:12px;border-radius:999px;background:#2b120b;box-shadow:inset 0 2px 5px rgba(0,0,0,.45);overflow:hidden}
.bp-track-bar>i>b{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#ffd76a,#e8a445)}
.bp-track-list{min-height:0;margin:0;padding:2px 6px 8px 2px;list-style:none;overflow-y:auto;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;scrollbar-width:thin}
.bp-track-level{display:grid;justify-items:center;gap:4px;padding:8px 6px;border-radius:12px;border:2px solid #8f4e22;background:linear-gradient(#7d411f,#47200f);color:#fff6d8}
.bp-track-level>b{font:700 1.3rem var(--font-display);color:#ffd76a}
.bp-track-level>small{font:1000 .52rem var(--font-ui);letter-spacing:.08em;color:#e7cc9d}
.bp-track-level.is-claimed{opacity:.72}
.bp-track-level.is-current{border-color:#67e8f9;box-shadow:0 0 14px rgba(104,232,255,.5)}
.bp-track-level.is-locked{filter:saturate(.5);opacity:.85}
.bp-track-reward strong{font:1000 .6rem var(--font-ui);color:#ffe9b1;text-align:center}
.bp-lobby-notifications{position:absolute;right:.4%;top:11.2%;width:22.4%;z-index:40;display:grid;gap:8px;padding:14px}
.bp-lobby-notifications>h2{margin:0;color:#fff8df;font:700 1.3rem var(--font-display);line-height:1;text-shadow:0 3px 0 #361108}
.bp-notice-list{margin:0;padding:0;list-style:none;display:grid;gap:6px}
.bp-notice-list>li{display:grid;gap:2px;padding:7px 10px;border-radius:9px;background:rgba(20,10,4,.42);border:1px solid #9a5e2b}
.bp-notice-list strong{color:#ffe9b1;font:1000 .72rem var(--font-ui)}
.bp-notice-list small{color:#e7cc9d;font:800 .64rem var(--font-ui);line-height:1.3}
.bp-stage .ds-page.bp-track{grid-template-rows:auto auto minmax(0,1fr) auto}

/* Live-Cup pill on reference pages (Scout / Parade / Pack Book / Settings / Practice while a Cup runs) */
.bp-live-cup{position:absolute;z-index:60;right:18px;top:14px;display:flex;align-items:center;gap:10px;padding:6px 8px 6px 14px;border-radius:999px;border:2px solid #e8a445;background:linear-gradient(#5f331e,#2a160d);box-shadow:0 6px 16px rgba(0,0,0,.5);color:#fff3cc;font:1000 .68rem var(--font-ui);letter-spacing:.08em}
.bp-live-cup>i{width:8px;height:8px;border-radius:50%;background:#83d530;box-shadow:0 0 8px #83d530;animation:bp-pulse 1.2s ease-in-out infinite alternate}
.bp-live-cup>b{color:#ffd36a;font-variant-numeric:tabular-nums}
.bp-live-cup>.ds-button{min-height:34px;padding:6px 12px;font-size:.62rem}
@keyframes bp-pulse{from{opacity:.55}to{opacity:1}}

/* Learn to Play (onboarding spec §3): three chapter cards on the DS page canvas. */
.bp-learn .ds-page-head>.ds-pill{grid-column:1;justify-self:start}
.bp-learn-grid{min-height:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;gap:20px;align-content:stretch}
.bp-learn-card{position:relative;grid-template-rows:auto auto auto 1fr auto auto;gap:10px;padding:22px 24px 24px}
.bp-learn-card>h2{margin:0;color:var(--cream-100);font:800 1.8rem/1 var(--font-display);text-shadow:var(--text-carved)}
.bp-learn-card>p{margin:0;color:var(--cream-300);font:var(--weight-body) 1rem/1.4 var(--font-ui)}
.bp-learn-kick{color:var(--gold-300);font:1000 .78rem var(--font-ui);letter-spacing:.12em}
.bp-learn-kick>b{padding:2px 8px;border-radius:999px;background:var(--gold-400);color:#3a1f0d}
.bp-learn-steps{margin:0;padding-left:20px;display:grid;gap:5px;align-content:start;color:var(--cream-200);font:var(--weight-body) .95rem/1.35 var(--font-ui)}
.bp-learn-status{justify-self:start;padding:5px 14px;border-radius:999px;border:2px solid var(--gold-400);color:var(--cream-100);font:1000 .74rem var(--font-ui);letter-spacing:.1em}
.bp-learn-card[data-status="DONE"]{box-shadow:inset 0 0 0 3px #83d530,inset 0 0 22px #301006,0 12px 26px rgba(0,0,0,.42)}
.bp-learn-card[data-status="DONE"] .bp-learn-status{border-color:#83d530;color:#c8ff8a}
.bp-learn-card[data-status="NEXT"]{box-shadow:inset 0 0 0 3px #ff5c73,inset 0 0 22px #301006,0 0 0 4px rgba(255,92,115,.28),0 12px 26px rgba(0,0,0,.42)}
.bp-learn-card[data-status="NEXT"] .bp-learn-status{border-color:#ff5c73;color:#ffd0d8}
.bp-learn-card[data-status="LOCKED"]{filter:saturate(.55) brightness(.8)}
.bp-learn-note{color:var(--cream-400);font:var(--weight-body) .84rem var(--font-ui)}
.bp-learn-launch{min-height:1.2em;color:var(--gold-200);font:1000 .9rem var(--font-ui)}
.bp-learn-launch[data-state="FAILED"]{color:#ffb0bb}
.bp-learn-invite{display:flex;align-items:center;gap:12px;margin:0;padding:8px 14px;border-radius:12px}
.bp-learn-invite>span{flex:1;color:var(--cream-300);font:var(--weight-body) .74rem var(--font-ui)}
.bp-intro-lesson{max-width:62ch;margin:0 0 6px;color:#ffe9b1;font:var(--weight-body) .9rem/1.35 var(--font-ui);text-shadow:0 2px 0 rgba(0,0,0,.6)}
@media (orientation:portrait){.bp-learn-grid{grid-template-columns:1fr}}

/* Pack Book: one sentence on how a synergy activates (onboarding spec §6). */
.ds-book-explain{margin:-4px 0 2px;color:#6b4423;font:var(--weight-body) .74rem/1.35 var(--font-ui)}

/* Legacy Prep sandbox header: the three readouts were touching. */
.gdd-stage-tracker{display:inline-flex;align-items:baseline;gap:8px}
