@property --water{syntax:"<color>";inherits:true;initial-value:#05070d}@property --water-deep{syntax:"<color>";inherits:true;initial-value:#0a1120}@property --water-mid{syntax:"<color>";inherits:true;initial-value:#0b1130}@property --accent{syntax:"<color>";inherits:true;initial-value:#8fbde0}@property --caustic-1{syntax:"<color>";inherits:true;initial-value:#6b5cd6}@property --caustic-2{syntax:"<color>";inherits:true;initial-value:#3b82d9}@property --caustic-3{syntax:"<color>";inherits:true;initial-value:#2fb8a8}:root{--ink:#dbe7f7;--ink-quiet:#93a8c0;--chrome-edge:#ffffff1f;--chrome-edge-strong:#fff3;--mood-still:#8fbde0;--mood-glass:#9ce4f5;--mood-ember:#eeae74;--mood-bloom:#b6e296;transition:--water 1.4s,--water-mid 1.4s,--water-deep 1.4s,--accent 1.4s,--caustic-1 1.4s,--caustic-2 1.4s,--caustic-3 1.4s}*{box-sizing:border-box}html,body{height:100%}body{background:radial-gradient(circle at 50% 42%, var(--water-deep), var(--water-mid) 38%, var(--water) 76%);color:var(--ink);-webkit-tap-highlight-color:transparent;background-attachment:fixed;margin:0;font-family:system-ui,-apple-system,Segoe UI,roboto,helvetica,arial,sans-serif;font-weight:400;line-height:1.5}.pool{overscroll-behavior:none;overflow:hidden}body:before{content:"";z-index:2;pointer-events:none;background:linear-gradient(#ffffff0a,#0000);height:45vh;position:fixed;inset:0 0 auto}#caustics{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}#caustics span{background:radial-gradient(circle, var(--caustic-1) 0%, transparent 68%);opacity:.2;will-change:transform;border-radius:50%;position:absolute}#caustics span:first-child{width:78vmax;height:78vmax;animation:41s ease-in-out infinite drift-a;top:-22vmax;left:-18vmax}#caustics span:nth-child(2){background:radial-gradient(circle, var(--caustic-2) 0%, transparent 68%);width:60vmax;height:60vmax;animation:53s ease-in-out infinite drift-b;bottom:-20vmax;right:-16vmax}#caustics span:nth-child(3){opacity:.16;background:radial-gradient(circle, var(--caustic-3) 0%, transparent 68%);width:44vmax;height:44vmax;animation:67s ease-in-out infinite drift-c;top:32%;left:44%}@keyframes drift-a{0%,to{transform:translate(0,0)scale(1)}50%{transform:translate(9vmax,7vmax)scale(1.14)}}@keyframes drift-b{0%,to{transform:translate(0,0)scale(1.08)}50%{transform:translate(-11vmax,-6vmax)scale(1)}}@keyframes drift-c{0%,to{transform:translate(0,0)}33%{transform:translate(-8vmax,6vmax)}66%{transform:translate(7vmax,-5vmax)}}#pool{z-index:1;touch-action:none;cursor:crosshair;width:100%;height:100%;display:block;position:fixed;inset:0}body:after{content:"";z-index:2;pointer-events:none;background:radial-gradient(circle at 50% 45%,#0000 42%,#00000073 100%);position:fixed;inset:0}header,#invite,#hint,#moods{z-index:3;pointer-events:none;margin:0;animation:1.6s backwards settle;position:fixed}@keyframes settle{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}header{align-items:baseline;gap:1.1rem;padding:1.4rem 1.6rem;display:flex;top:0;left:0}.pool h1,.brand{color:var(--ink);letter-spacing:.2em;text-transform:uppercase;margin:0;font-size:.92rem;font-weight:500;text-decoration:none}nav a{pointer-events:auto;min-height:24px;color:var(--ink-quiet);letter-spacing:.1em;align-items:center;padding:.35rem .15rem;font-size:.78rem;text-decoration:none;transition:color .3s;display:inline-flex;box-shadow:inset 0 -1px}nav{gap:1rem;display:flex}nav a:hover,nav a:focus-visible{color:var(--ink)}nav a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}nav a[aria-current=page]{color:var(--ink);box-shadow:inset 0 -2px var(--accent)}#invite{letter-spacing:.26em;text-transform:lowercase;place-items:center;font-size:clamp(1.05rem,3.6vw,1.55rem);font-weight:300;transition:opacity 1.1s,transform 1.1s;display:grid;inset:0}#invite span{border:1px solid var(--chrome-edge-strong);box-shadow:0 0 60px -12px var(--accent);border-radius:50%;padding:1.6em 2em;animation:4.2s ease-in-out infinite breathe;position:relative}#invite span:after{content:"";border:1px solid var(--chrome-edge);border-radius:50%;animation:4.2s ease-in-out .5s infinite breathe;position:absolute;inset:-1.5rem}#invite[data-played]{opacity:0;visibility:hidden;transform:scale(1.35)}@keyframes breathe{0%,to{box-shadow:0 0 46px -18px var(--accent);transform:scale(1)}50%{box-shadow:0 0 78px -8px var(--accent);transform:scale(1.055)}}#moods{justify-content:center;gap:.4rem;display:flex;bottom:3.6rem;left:0;right:0}#moods button{pointer-events:auto;border:1px solid var(--chrome-edge);min-height:44px;color:var(--ink-quiet);font:inherit;letter-spacing:.14em;cursor:pointer;background:#ffffff12;border-radius:999px;align-items:center;gap:.55em;padding:0 1.1em;font-size:.78rem;transition:color .32s,border-color .32s,background .32s,box-shadow .32s;display:inline-flex}#moods button:before{content:"";background:var(--pill);width:.55em;height:.55em;box-shadow:0 0 0 0 var(--pill);border-radius:50%;transition:box-shadow .32s}#moods button[data-mood=still]{--pill:var(--mood-still)}#moods button[data-mood=glass]{--pill:var(--mood-glass)}#moods button[data-mood=ember]{--pill:var(--mood-ember)}#moods button[data-mood=bloom]{--pill:var(--mood-bloom)}#moods button:hover{border-color:var(--chrome-edge-strong);color:var(--ink);background:#ffffff10}#moods button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}#moods button[aria-pressed=true]{border-color:var(--pill);color:var(--ink);background:#ffffff14}#moods button[aria-pressed=true]:before{box-shadow:0 0 12px 1px var(--pill)}#hint{color:var(--ink-quiet);letter-spacing:.07em;flex-wrap:wrap;justify-content:center;gap:.35rem 1.2rem;font-size:.8rem;display:flex;bottom:1.4rem;left:1.5rem;right:1.5rem}#hint span+span:before{content:"·";color:var(--chrome-edge);margin-right:1.15rem}@media (width<=30rem){header{padding:1.1rem 1.15rem}#moods{bottom:4.4rem}#hint{font-size:.7rem;bottom:1rem;left:1rem;right:1rem}#hint span+span:before{content:none}}@media (prefers-reduced-motion:reduce){#caustics span,#invite span,#invite span:after,header,#invite,#hint,#moods{animation:none}:root{transition:none}}.brand,#hint a{min-height:24px;color:var(--ink);pointer-events:auto;text-underline-offset:3px;align-items:center;padding:0 .35rem;display:inline-flex}.songbook main{max-width:46rem;margin:0 auto;padding:6rem 1.5rem 8rem}.songbook h1{letter-spacing:-.01em;margin:0 0 1rem;font-size:clamp(1.9rem,6vw,2.6rem);font-weight:300}.lede{max-width:34em;margin:0 0 .9rem;font-size:1rem;line-height:1.65}.lede--quiet{color:var(--ink-quiet)}.lede a{color:var(--ink);text-underline-offset:3px}.song{border-top:1px solid var(--chrome-edge);margin-top:2.75rem;padding-top:2rem}.song h2,.keymap h2{letter-spacing:.01em;margin:0 0 .4rem;font-size:1.2rem;font-weight:500}.song__meta{color:var(--ink-quiet);flex-wrap:wrap;align-items:center;gap:.5rem .85rem;margin:0 0 .5rem;font-size:.82rem;display:flex}.song__mood{border:1px solid var(--pill);color:var(--ink);letter-spacing:.06em;border-radius:999px;padding:.25em .75em;font-size:.74rem}.song__mood[data-mood=still]{--pill:var(--mood-still)}.song__mood[data-mood=glass]{--pill:var(--mood-glass)}.song__mood[data-mood=ember]{--pill:var(--mood-ember)}.song__mood[data-mood=bloom]{--pill:var(--mood-bloom)}.song__note{max-width:34em;color:var(--ink-quiet);margin:0 0 1.25rem;font-size:.92rem}.score,#keymap-rows{flex-direction:column;gap:.65rem;display:flex}.phrase{flex-wrap:wrap;gap:.4rem;display:flex}.phrase__words{color:var(--ink-quiet);flex-basis:100%;margin:0;font-size:.86rem;line-height:1.4}.phrase:has(.phrase__words)+.phrase:has(.phrase__words){margin-top:.7rem}.note{border:1px solid var(--chrome-edge);background:#ffffff08;border-radius:.5rem;flex-direction:column;justify-content:center;align-items:center;gap:.15rem;min-width:2.4rem;padding:.45rem .4rem;display:inline-flex}.note__key{text-transform:uppercase;font-family:ui-monospace,sfmono-regular,Cascadia Mono,menlo,consolas,monospace;font-size:1rem;line-height:1}.note__lyric{color:var(--ink-quiet);white-space:nowrap;font-size:.68rem;line-height:1.2}.note.is-lit{animation:1s ease-out note-lit}@keyframes note-lit{0%{border-color:hsl(var(--note-hue,200) 90% 70%);background:hsl(var(--note-hue,200) 90% 60% / 38%)}to{border-color:var(--chrome-edge);background:#ffffff08}}.keymap{border-top:1px solid var(--chrome-edge);margin-top:3rem;padding-top:2rem}.keymap p{max-width:34em;color:var(--ink-quiet);font-size:.92rem}.songbook #moods{bottom:1.25rem}@media (width<=30rem){.songbook main{padding:5rem 1.1rem 7rem}.note{min-width:2.15rem;padding:.4rem .3rem}}@media (prefers-reduced-motion:reduce){.note.is-lit{border-color:hsl(var(--note-hue,200) 90% 70%);animation:none}}#playalong{z-index:0;pointer-events:none;place-items:center;padding:6rem 1.5rem 8rem;display:grid;position:fixed;inset:0}#playalong[hidden]{display:none}#playalong .score{align-items:center;gap:1rem}#playalong .phrase{justify-content:center;gap:.55rem}#playalong .note{background:#ffffff05;border-color:#ffffff14;min-width:2.9rem}#playalong .note__key{color:var(--ink-quiet);font-size:1.15rem}#song-banner{z-index:3;text-align:center;color:var(--ink-quiet);letter-spacing:.05em;font-size:.82rem;position:fixed;top:4.4rem;left:1.5rem;right:1.5rem}#song-banner[hidden]{display:none}#song-banner a{pointer-events:auto;min-height:24px;color:var(--ink);text-underline-offset:3px;align-items:center;padding:0 .15rem;display:inline-flex}.song__play{border:1px solid var(--chrome-edge-strong);min-height:44px;color:var(--ink);letter-spacing:.06em;border-radius:999px;align-items:center;margin-top:1.1rem;padding:0 1.2em;font-size:.82rem;text-decoration:none;transition:border-color .32s,background .32s;display:inline-flex}.song__play:hover{border-color:var(--accent);background:#ffffff10}.song__play:focus-visible{outline:2px solid var(--ink);outline-offset:3px}@media (width<=30rem){#playalong{padding:5.5rem .9rem 7.5rem}#playalong .note{min-width:2.4rem}#playalong .note__key{font-size:1rem}#song-banner{font-size:.78rem;top:3.9rem}}:root[data-song] #invite{place-items:end center;padding-bottom:8.5rem;font-size:clamp(.95rem,3vw,1.1rem)}:root[data-song] #invite span{box-shadow:none;border:0;padding:0;animation:none}:root[data-song] #invite span:after{content:none}@media (width<=30rem){:root[data-song] #playalong{padding-top:6.75rem}:root[data-song] #invite{padding-bottom:7.5rem}}.song__length{font-variant-numeric:tabular-nums}.banner__line{flex-wrap:wrap;justify-content:center;align-items:center;gap:.1rem .35rem;display:inline-flex}#playalong[data-long] .note{border-radius:.4rem;min-width:1.85rem;padding:.25rem .3rem}#playalong[data-long] .note__key{font-size:.88rem}#playalong[data-long] .score{gap:.42rem}#playalong[data-long] .phrase{gap:.3rem}@media (width<=30rem){#playalong[data-long] .note{min-width:1.6rem;padding:.2rem .22rem}#playalong[data-long] .note__key{font-size:.8rem}}.note.is-here{border-color:hsl(var(--note-hue,200) 90% 62%);box-shadow:0 0 0 1px hsl(var(--note-hue,200) 90% 62% / 45%)}.song,.keymap{scroll-margin-top:5.5rem}#practice-toggle{pointer-events:auto;border:1px solid var(--chrome-edge-strong);min-height:24px;color:var(--ink-quiet);font:inherit;letter-spacing:.05em;cursor:pointer;background:0 0;border-radius:999px;padding:.15em .7em;font-size:.78rem;transition:color .25s,border-color .25s,background .25s}#practice-toggle:hover{color:var(--ink);border-color:var(--accent)}#practice-toggle:focus-visible{outline:2px solid var(--ink);outline-offset:3px}#practice-toggle[aria-pressed=true]{border-color:var(--accent);color:var(--ink);background:#ffffff14}#practice-status{color:var(--ink-quiet);font-variant-numeric:tabular-nums;letter-spacing:.05em;text-align:center;pointer-events:none;margin:.3rem 0 0;font-size:.78rem}#practice-status[hidden]{display:none}#practice-status[data-missed=true]{color:#ffa1a1}.note.is-next{border-color:var(--ink);box-shadow:0 0 0 2px #ffffff30}.note.is-missed{animation:.7s ease-out note-missed}@keyframes note-missed{0%,55%{background:#ff5a5a4d;border-color:#ff8f8f}to{border-color:var(--chrome-edge);background:#ffffff08}}@media (prefers-reduced-motion:reduce){.note.is-missed{border-color:#ff8f8f;animation:none}}
