diff --git a/PROJECT.md b/PROJECT.md index c2915d3..5e31306 100644 --- a/PROJECT.md +++ b/PROJECT.md @@ -491,6 +491,20 @@ zombie (now an occasional opponent, `TUNE.racketEvery`, not the every-game fixtu `RETURNED`, `DOUBLE KILL`) is a footnote to something you already watched happen. Sharing the loud FACE with the milestone cards is right; sharing their SIZE made every footnote read as a milestone. +## Session log: THE LEAGUES — the setup grows a league face (2026-08-29, same day, STAGING ONLY) + +Two more from Oliver's screenshots: + +- **THE LEAGUE PANEL.** The generic MATCH SETUP screen showed the player block (tour/kit/skin) on + the league modes too — redundant since the identity moved to the card. On zombie/cup the block + now steps aside (syncSetup toggles, "01 · YOUR LEAGUE") for the league writ large: the breathing + badge, "LEAGUE N — NAME" in the league colour, a felled tally line ("2 OF 4 FELLED · THE CUP IS + THE WAY UP" / "ALL 4 FELLED — TAKE THE CUP"), and the band's roster as head tiles — felled + bodies in colour with their ALL-TIME count (stats' per-foe tallies, key 'L'+index), the rest + grey; the band's top rung wears the red border, it is the final. Every other mode keeps the + player block (main.buildLeaguePanel). +- **The ribbon grew** (13px type, taller band), per his call. + ## Session log: THE LEAGUES — the polish round: the ribbon, the glow, the count-up (2026-08-29, same day, STAGING ONLY) Oliver's retest ("schon viel besser") with five polish items, all built: diff --git a/index.html b/index.html index 7bc092c..2679273 100644 --- a/index.html +++ b/index.html @@ -330,6 +330,28 @@ if (location.hostname !== 'splatter-tennis.wuwi.one' && !window.Capacitor?.isNat #cdCareer { display: flex; align-items: center; gap: 8px; } #cdCareer u { font: 700 8px Silkscreen, monospace; color: var(--dim); text-decoration: none; letter-spacing: 1px; } + /* THE LEAGUE PANEL: the setup's league-mode face. The badge breathes like the card's, the + name is the announcement face in the league's own colour, and the band's roster stands in a + row — felled bodies in colour with their all-time count, the rest grey and waiting. */ + #lgPanel { display: none; } + #lgHead { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; } + #lgBadge { height: 56px; image-rendering: pixelated; animation: badgeGlow 2.6s ease-in-out infinite; } + #lgHead b { display: block; font: 400 24px Bangers, cursive; letter-spacing: 1.5px; } + #lgHead i { display: block; margin-top: 3px; font: 400 9px Silkscreen, monospace; + color: var(--dim); font-style: normal; letter-spacing: 1px; } + #lgFoes { display: flex; gap: 7px; } + .lgFoe { flex: 1; min-width: 0; padding: 7px 2px 6px; background: var(--panel); + border: 2px solid var(--line); text-align: center; } + .lgFoe img { height: 42px; image-rendering: pixelated; } + .lgFoe b { display: block; margin-top: 4px; font: 700 8px Silkscreen, monospace; + color: var(--cream); letter-spacing: 0.5px; white-space: nowrap; overflow: hidden; } + .lgFoe i { display: block; margin-top: 2px; font: 400 8px Silkscreen, monospace; + color: var(--acid); font-style: normal; } + .lgFoe.un { opacity: 0.55; } + .lgFoe.un img { filter: grayscale(1) brightness(0.6); } + .lgFoe.un i { color: var(--dim); } + /* the band's top rung is the final — it wears the door's own red */ + .lgFoe.fin { border-color: var(--red); } /* the WAY-UP RIBBON, horizontal (Oliver's call after two diagonal cuts — a rotated pixel font was the one anti-aliased thing in the menu): a red band running in from OVER the left border, dissolving rightward through a real PIXEL FADE — an inline-SVG mask of 6px cells thresholded @@ -339,7 +361,7 @@ if (location.hostname !== 'splatter-tennis.wuwi.one' && !window.Capacitor?.isNat shadow survives the mask and follows the dither blocks (a box-shadow on the masked element itself was eaten with it). */ .way { position: absolute; top: 12px; left: -8px; z-index: 2; white-space: nowrap; - padding: 5px 56px 5px 14px; font: 700 10px Silkscreen, monospace; font-style: normal; + padding: 8px 64px 8px 16px; font: 700 13px Silkscreen, monospace; font-style: normal; color: #fff; text-shadow: 1px 1px 0 rgba(0,0,0,0.55); filter: drop-shadow(0 2px 3px rgba(0,0,0,0.5)); @@ -676,7 +698,7 @@ if (location.hostname !== 'splatter-tennis.wuwi.one' && !window.Capacitor?.isNat the court off the bottom of the phone. The tiles are gone: the live player IS the picture, so who-you-are shrinks to two words, and every control that changes him stands beside him where you can watch it land. Kit and skin rows are built in main.js from the tables. --> -