:root{--stage:#f7f3ff;--stage-raised:#fff;--ink:#1a0f3d;--ink-muted:#5a4a86;--line:#1a0f3d;--sunshine:#ffd60a;--on-sunshine:#1a0f3d;--hotpink:#ff2e93;--on-hotpink:#1a0f3d;--leaf:#1fd65f;--on-leaf:#1a0f3d;--cyan:#00d4ff;--on-cyan:#1a0f3d;--grape:#7b2ff7;--on-grape:#fff;--marquee:#1a0f3d;--bulb:#fff4b0;--bulb-core:#fff;--bulb-halo:#ffd60a73;--cherry:#c8102e;--on-cherry:#fff;--focus:#0057d9;--link:#6a1fd8;--pop:6px 6px 0 #1a0f3d;--pop-press:2px 2px 0 #1a0f3d}@media (prefers-color-scheme:dark){:root{--stage:#1a0f3d;--stage-raised:#2a1a5e;--ink:#fff;--ink-muted:#c9bdf2;--line:#ff4fa8;--sunshine:#ffd60a;--on-sunshine:#1a0f3d;--hotpink:#ff2e93;--on-hotpink:#1a0f3d;--leaf:#1fd65f;--on-leaf:#1a0f3d;--cyan:#00d4ff;--on-cyan:#1a0f3d;--grape:#7b2ff7;--on-grape:#fff;--marquee:#0d0726;--bulb:#fff4b0;--bulb-core:#fff;--bulb-halo:#ffd60a8c;--cherry:#ff6b6b;--on-cherry:#1a0f3d;--focus:#00d4ff;--link:#ff8fc8;--pop:6px 6px 0 #00d4ff;--pop-press:2px 2px 0 #00d4ff}}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--radius-sm:8px;--radius-md:16px;--radius-lg:28px;--radius-pill:999px;--stroke:3px;--stroke-bold:4px;--stage-height:100svh;--stage-gutter:32px;--max-wide:1600px;--font-show:"Bowlby One", Impact, "Arial Black", sans-serif;--font-sign:Bungee, Impact, "Arial Black", sans-serif;--font-text:Nunito, "Trebuchet MS", system-ui, sans-serif}body{font-family:var(--font-text);background:var(--stage);color:var(--ink);margin:0;font-size:17px;line-height:26px}.sap-row{gap:var(--space-6);padding:var(--space-6);flex-wrap:wrap;align-items:center;display:flex}.sap-stack{gap:var(--space-4);padding:var(--space-6);flex-direction:column;display:flex}:where(.sap-btn,.sap-tile):focus-visible{outline:3px solid var(--focus);outline-offset:3px}.sap-btn{font-family:var(--font-sign);letter-spacing:.04em;border:var(--stroke-bold) solid var(--line);border-radius:var(--radius-pill);background:var(--hotpink);color:var(--on-hotpink);box-shadow:var(--pop);cursor:pointer;padding:14px 28px;font-size:18px;line-height:20px;transition:transform 80ms,box-shadow 80ms}.sap-btn:hover{transform:translate(-1px,-1px)}.sap-btn:active{box-shadow:var(--pop-press);transform:translate(4px,4px)}.sap-btn--sunshine{background:var(--sunshine);color:var(--on-sunshine)}.sap-btn--cyan{background:var(--cyan);color:var(--on-cyan)}.sap-btn--quiet{background:var(--stage-raised);color:var(--ink)}.sap-btn--buzzer{padding:22px 44px;font-size:28px;line-height:32px}.sap-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.sap-tile{font:inherit;text-align:left;align-items:center;gap:var(--space-3);min-width:220px;padding:var(--space-3) var(--space-4) var(--space-3) var(--space-3);border:var(--stroke) solid var(--line);border-radius:var(--radius-md);background:var(--stage-raised);color:var(--ink);box-shadow:var(--pop);cursor:pointer;font-size:19px;font-weight:700;line-height:24px;transition:transform 80ms,box-shadow 80ms;display:flex}.sap-tile:active{box-shadow:var(--pop-press);transform:translate(4px,4px)}.sap-tile__key{border:var(--stroke) solid var(--line);border-radius:var(--radius-pill);background:var(--sunshine);width:44px;height:44px;color:var(--on-sunshine);font-family:var(--font-sign);flex:none;place-items:center;font-size:20px;display:grid}.sap-tile__hint{color:var(--ink-muted);font-size:14px;font-weight:400;line-height:20px;display:block}.sap-tile[aria-pressed=true]{background:var(--sunshine);color:var(--on-sunshine)}.sap-tile[aria-pressed=true] .sap-tile__key{background:var(--marquee);color:var(--sunshine)}.sap-tile[aria-pressed=true] .sap-tile__hint{color:var(--on-sunshine)}.sap-tag{font-family:var(--font-sign);letter-spacing:.06em;padding:5px var(--space-3);border:var(--stroke) solid var(--line);border-radius:var(--radius-pill);background:var(--stage-raised);color:var(--ink);align-items:center;font-size:13px;line-height:16px;display:inline-flex}.sap-tag--leaf{background:var(--leaf);color:var(--on-leaf)}.sap-tag--sunshine{background:var(--sunshine);color:var(--on-sunshine)}.sap-tag--cyan{background:var(--cyan);color:var(--on-cyan)}.sap-tag--cherry{background:var(--cherry);color:var(--on-cherry)}.sap-tag--grape{background:var(--grape);color:var(--on-grape)}.sap-meter{align-items:center;gap:var(--space-2);display:inline-flex}.sap-meter__label{font-family:var(--font-sign);letter-spacing:.06em;margin-right:var(--space-1);font-size:13px;line-height:16px}.sap-meter__bulb{border:var(--stroke) solid var(--line);border-radius:var(--radius-pill);background:var(--stage-raised);width:18px;height:18px}.sap-meter__bulb.is-lit{background:var(--sunshine)}.sap-meter__text{color:var(--ink-muted);margin-left:var(--space-1);font-size:14px;line-height:20px}.sap-card{border:var(--stroke-bold) solid var(--line);border-radius:var(--radius-lg);background:var(--stage-raised);width:320px;color:var(--ink);box-shadow:var(--pop);overflow:hidden}.sap-card__top{align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--leaf);color:var(--on-leaf);border-bottom:var(--stroke-bold) solid var(--line);display:flex;position:relative}.sap-card__rank{border:var(--stroke-bold) solid var(--line);border-radius:var(--radius-pill);background:var(--sunshine);width:64px;height:64px;color:var(--on-sunshine);font-family:var(--font-sign);flex:none;place-items:center;font-size:26px;display:grid}.sap-card__eyebrow{font-family:var(--font-sign);letter-spacing:.06em;font-size:13px;line-height:16px}.sap-card__body{padding:var(--space-4);gap:var(--space-3);flex-direction:column;display:flex}.sap-card__name{font-family:var(--font-show);margin:0;font-size:32px;font-weight:400;line-height:1.05}.sap-card__latin{color:var(--ink-muted);margin:0;font-style:italic}.sap-card__tags{gap:var(--space-2);flex-wrap:wrap;display:flex}.sap-card__note{color:var(--ink-muted);margin:0;font-size:14px;line-height:20px}.sap-bulbs{border:var(--stroke-bold) solid var(--line);border-radius:var(--radius-lg);background:var(--marquee);box-shadow:var(--pop);padding:40px;position:relative}.sap-bulbs:before,.sap-bulbs:after{content:"";border-radius:inherit;pointer-events:none;position:absolute;inset:0}.sap-bulbs:before{background:radial-gradient(circle at 20px 20px, var(--bulb-core) 0 3px, var(--bulb) 4px 8px, var(--bulb-halo) 9px, transparent 17px) left top / 80px 40px repeat-x, radial-gradient(circle at 20px 20px, var(--bulb-core) 0 3px, var(--bulb) 4px 8px, var(--bulb-halo) 9px, transparent 17px) left bottom / 80px 40px repeat-x, radial-gradient(circle at 20px 20px, var(--bulb-core) 0 3px, var(--bulb) 4px 8px, var(--bulb-halo) 9px, transparent 17px) left top / 40px 80px repeat-y, radial-gradient(circle at 20px 20px, var(--bulb-core) 0 3px, var(--bulb) 4px 8px, var(--bulb-halo) 9px, transparent 17px) right top / 40px 80px repeat-y}.sap-bulbs:after{background:radial-gradient(circle at 60px 20px, var(--bulb-core) 0 3px, var(--bulb) 4px 8px, var(--bulb-halo) 9px, transparent 17px) left top / 80px 40px repeat-x, radial-gradient(circle at 60px 20px, var(--bulb-core) 0 3px, var(--bulb) 4px 8px, var(--bulb-halo) 9px, transparent 17px) left bottom / 80px 40px repeat-x, radial-gradient(circle at 20px 60px, var(--bulb-core) 0 3px, var(--bulb) 4px 8px, var(--bulb-halo) 9px, transparent 17px) left top / 40px 80px repeat-y, radial-gradient(circle at 20px 60px, var(--bulb-core) 0 3px, var(--bulb) 4px 8px, var(--bulb-halo) 9px, transparent 17px) right top / 40px 80px repeat-y}.sap-bulbs.is-chasing:before{animation:1s step-end infinite sap-chase}.sap-bulbs.is-chasing:after{animation:1s step-end -.5s infinite sap-chase}@keyframes sap-chase{0%{opacity:1}50%{opacity:.2}}@media (prefers-reduced-motion:reduce){.sap-bulbs.is-chasing:before,.sap-bulbs.is-chasing:after{animation:none}}.sap-bulbs__mirror{padding:var(--space-8);border:var(--stroke) solid var(--line);border-radius:var(--radius-md);background:var(--stage-raised);color:var(--ink);text-align:center;position:relative}.sap-bulbs__title{font-family:var(--font-show);margin:0;font-size:56px;font-weight:400;line-height:1;display:block}.sap-bulbs__lead{margin:var(--space-3) 0 0;color:var(--ink-muted);font-size:22px;font-weight:700;line-height:32px}.sap-marquee{text-align:center;padding:48px 72px;display:inline-block}.sap-marquee__eyebrow{font-family:var(--font-sign);letter-spacing:.06em;color:var(--bulb);font-size:13px;line-height:16px;display:block;position:relative}.sap-marquee__title{margin-top:var(--space-2);font-family:var(--font-show);color:var(--sunshine);font-size:56px;line-height:1;display:block;position:relative}.sap-stage{isolation:isolate;min-height:var(--stage-height);box-sizing:border-box;padding:var(--stage-gutter);background:var(--marquee);grid-template-columns:minmax(0,1fr);display:grid;position:relative;overflow:hidden}.sap-stage:before{content:"";z-index:-1;background:repeating-conic-gradient(var(--grape) 0 7.5deg, transparent 7.5deg 15deg);opacity:.6;width:300vmax;height:300vmax;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sap-stage>.sap-bulbs{width:100%;max-width:var(--max-wide);box-sizing:border-box;background:0 0;place-items:center;margin:0 auto;display:grid}.sap-stage__inner{align-items:center;gap:var(--space-6);text-align:center;padding:var(--space-12) var(--space-6);flex-direction:column;display:flex;position:relative}.sap-stage__eyebrow{font-family:var(--font-sign);letter-spacing:.06em;color:var(--cyan);font-size:18px;line-height:22px}.sap-stage__title{font-family:var(--font-show);color:var(--sunshine);text-shadow:6px 6px 0 var(--hotpink);margin:0;font-size:clamp(64px,11vw,168px);font-weight:400;line-height:.92}.sap-stage__lead{max-width:28ch;color:var(--bulb-core);margin:0;font-size:clamp(20px,2.2vw,28px);font-weight:700;line-height:1.35}.sap-stage__actions{justify-content:center;align-items:center;gap:var(--space-6);flex-wrap:wrap;display:flex}@media (width<=640px){.sap-stage{padding:var(--space-4)}}.sap-wall{gap:var(--space-8);width:100%;max-width:var(--max-wide);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin:0 auto;display:grid}.sap-wall>.sap-card{width:auto}.sap-bulbstrip{background:radial-gradient(circle at 14px 11px, var(--bulb-core) 0 2px, var(--bulb) 3px 5px, var(--bulb-halo) 6px, transparent 10px) 0 0 / 28px 22px repeat-x, var(--marquee);height:22px}
