From ffbefe7a4908f961f12f9e3ad3249d6162fd1e2c Mon Sep 17 00:00:00 2001 From: christian Date: Wed, 23 Sep 2026 17:39:58 -0400 Subject: [PATCH] Birthday Mode styling: the gold glow, confetti layer, and its settings --- band-lineup-display/styles.css | 126 +++++++++++++++++++++++++++++++++ 1 file changed, 126 insertions(+) diff --git a/band-lineup-display/styles.css b/band-lineup-display/styles.css index 256ccef..a53169f 100644 --- a/band-lineup-display/styles.css +++ b/band-lineup-display/styles.css @@ -331,6 +331,105 @@ body { color: #9ea7bc; } +.pco-birthday-result { + min-height: 0; + line-height: 1.45; +} + +.pco-birthday-result:empty { + display: none; +} + +/* ---- Birthday Mode settings ---- */ +.bday-block { + margin-top: 14px; + border-top: 1px solid #23232c; + padding-top: 12px; +} +.bday-head { + display: flex; + align-items: center; + justify-content: space-between; +} +.bday-title { + font-size: 13px; + font-weight: 700; + color: #e7e7ef; +} +.bday-switch { + display: inline-flex; + align-items: center; + gap: 6px; + cursor: pointer; + font-size: 12px; + color: #9ea7bc; +} +.bday-controls { + margin-top: 10px; + display: flex; + flex-direction: column; + gap: 10px; +} +.bday-line { + display: flex; + align-items: center; + gap: 10px; + flex-wrap: wrap; +} +.bday-line-label { + font-size: 11px; + letter-spacing: 0.06em; + text-transform: uppercase; + color: #8a8a99; + min-width: 74px; +} +.bday-line-label em { + font-style: normal; + text-transform: none; + letter-spacing: 0; + color: #6d6d7a; +} +.seg-inline { + display: inline-flex; + gap: 4px; + background: #0e0e14; + border: 1px solid #23232c; + border-radius: 9px; + padding: 3px; +} +.seg-inline button { + appearance: none; + border: 0; + background: transparent; + color: #9ea7bc; + font: inherit; + font-size: 12px; + font-weight: 600; + padding: 5px 12px; + border-radius: 6px; + cursor: pointer; +} +.seg-inline button[aria-pressed="true"] { + background: #f5c451; + color: #241a02; +} +.bday-check { + display: inline-flex; + align-items: center; + gap: 6px; + font-size: 12px; + color: #c6cada; + cursor: pointer; +} +.bday-test-select { + flex: 1; + min-width: 150px; +} +.bday-hint { + font-size: 11px; + color: #6d6d7a; +} + .pco-position-builder { display: none; grid-template-columns: minmax(0, 1fr) auto; @@ -624,6 +723,33 @@ body { font-weight: 500; } +/* ---- Birthday Mode tile effects ---- */ +.tile.birthday-subtle { + animation: bdayGlowSubtle 3.4s ease-in-out infinite; +} +.tile.birthday-full { + animation: bdayGlowFull 2.2s ease-in-out infinite; +} +@keyframes bdayGlowSubtle { + 0%, 100% { box-shadow: inset 0 0 0 2px rgba(245, 196, 81, 0.55), 0 0 14px rgba(245, 196, 81, 0.18); } + 50% { box-shadow: inset 0 0 0 2px rgba(245, 196, 81, 0.85), 0 0 20px rgba(245, 196, 81, 0.32); } +} +@keyframes bdayGlowFull { + 0%, 100% { box-shadow: inset 0 0 0 3px rgba(245, 196, 81, 0.8), 0 0 20px rgba(245, 196, 81, 0.42); } + 50% { box-shadow: inset 0 0 0 3px #ffd873, 0 0 34px rgba(245, 196, 81, 0.66); } +} + +/* Birthday Mode intentionally keeps animating even under OS "reduced motion" — it's a celebration + the operator opts into, and freezing it leaves confetti stuck mid-fall. */ + +.birthday-confetti { + position: absolute; + inset: 0; + z-index: 2; + pointer-events: none; +} + + .tile .remove { position: absolute; top: 6px;