/* Game-local overlay. The shared shell and core styles remain pinned. */
html.tt-shell .gift-copy small { display:block; color:var(--muted); font-size:14px; margin-top:5px; }
html.tt-shell .tt-gift-picker-option-copy > span:not(.tt-gift-picker-stale) { display:none; }
.source-page { color-scheme:dark; }
.source-page #match-stage { position:absolute; width:1080px; height:1920px; transform-origin:top left; color:#fffdf2; font-size:26px; text-shadow:-2px -2px 1px #151611,2px -2px 1px #151611,-2px 2px 1px #151611,2px 2px 1px #151611,0 3px 7px #000; }
#match-stage * { box-sizing:border-box; }
.mm-overlay { position:absolute; top:72px; left:60px; right:60px; }
.mm-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.mm-brand { margin:0 0 12px; font-size:22px; font-weight:750; letter-spacing:5px; }
.mm-heading h1 { font-size:68px; line-height:1.05; letter-spacing:-3px; margin:0; font-weight:850; }
.mm-heading h1 span { color:#ffd43b; }
.mm-clock { text-align:right; flex:none; }
.mm-clock strong { display:block; font-size:60px; line-height:1.05; font-variant-numeric:tabular-nums; }
.mm-clock span { display:block; font-size:22px; letter-spacing:2px; margin-top:12px; }
.mm-clock[data-urgent=true] { color:#ffd43b; }
.mm-mode { margin:22px 0 0; color:#ffd43b; font-size:22px; letter-spacing:2px; font-weight:700; }
.mm-mode:empty { display:none; }
.mm-scores { display:grid; grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr); align-items:center; gap:20px; margin-top:48px; }
.mm-side { text-align:center; min-width:0; position:relative; }
.mm-side p { font-size:43px; line-height:1.16; min-height:50px; margin:0; font-weight:750; overflow-wrap:anywhere; }
.mm-side>strong { display:block; font-size:132px; line-height:1.13; font-weight:850; font-variant-numeric:tabular-nums; letter-spacing:-5px; }
.mm-side>span { display:block; font-size:28px; margin-top:8px; }
.mm-side b { font-size:32px; }
#left-side>strong, #left-side b { color:#ffd43b; }
#right-side>strong, #right-side b { color:#e9f5ff; }
.mm-versus { text-align:center; font-size:24px; font-weight:800; letter-spacing:3px; }
.mm-side[data-winner=true] { filter:drop-shadow(0 0 18px #ffd43baa); }
.mm-side[data-flash=true] { filter:drop-shadow(0 0 25px #fff) drop-shadow(0 0 12px #ffd43b); }
.mm-meter { display:flex; position:relative; height:42px; border:3px solid #fff9; border-radius:22px; overflow:hidden; margin-top:30px; box-shadow:0 2px 8px #0006; }
.mm-meter i { display:block; height:100%; width:50%; transition:width .4s cubic-bezier(.2,.8,.2,1); }
#left-bar { background:#ffd43b; }
#right-bar { background:#dbeeff; }
.mm-meter>span { position:absolute; width:4px; top:0; bottom:0; left:calc(50% - 2px); background:#222926; }
.mm-lead { margin:23px 0 0; text-align:center; font-size:32px; font-weight:750; color:#ffd43b; min-height:40px; }
.mm-result { text-align:center; margin-top:24px; }
.mm-result[hidden] { display:none; }
.mm-result small { display:block; font-size:22px; letter-spacing:4px; }
.mm-result strong { display:block; font-size:60px; line-height:1.12; margin:12px 0; color:#ffd43b; overflow-wrap:anywhere; }
.mm-result p { margin:0; font-size:26px; }
.mm-activity { text-align:center; margin-top:26px; }
.mm-activity p { font-size:26px; line-height:1.4; margin:8px 0; overflow-wrap:anywhere; }
#members { font-size:22px; }
.mm-gifts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; margin-top:36px; }
.mm-gift { text-align:center; display:flex; flex-direction:column; align-items:center; gap:9px; }
.mm-gift img { display:block; width:66px; height:66px; object-fit:contain; }
.mm-gift p { margin:0; font-size:24px; line-height:1.4; }
.mm-gift b { color:#ffd43b; }
.mm-footer { margin:30px 0 0; font-size:20px; text-align:center; }
.mm-heart { position:absolute; font-size:54px; color:#ff92b3; line-height:1; pointer-events:none; }
.mm-points { position:absolute; font-size:52px; font-weight:850; color:#ffd43b; pointer-events:none; }
.source-page #match-stage .tt-core-overlay-status { position:absolute; top:1140px; left:60px; width:960px; max-width:none; transform:none; margin:0; font-size:26px; }
.source-page #match-stage .tt-core-notice { background:transparent; border:0; padding:0; box-shadow:none; font-size:26px; }
.source-page #match-stage .tt-core-notice strong { font-size:28px; }
#match-stage[data-reduced-motion=true] .mm-meter i { transition:none; }
