*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none;background:#020611;color:#e2efff;font-family:Georgia,serif}#universe,#world{width:100%;height:100%;position:fixed;inset:0}#world{display:block;touch-action:none;outline:none}#loading{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#020611;transition:opacity .7s;pointer-events:none}#loading span{font-size:50px;color:#a9d6ff;animation:breathe 2s ease-in-out infinite}#loading p{font-size:23px;font-style:italic;margin:25px 15px}#loading small{font:9px Arial,sans-serif;letter-spacing:3px;color:#819cbd}#loading.done{opacity:0}#fallback{position:fixed;inset:20%;text-align:center;line-height:1.8}.accessible{position:fixed;left:-10000px;top:0;width:1px;height:1px;overflow:hidden}.accessible:focus-within{max-height:calc(100vh - 40px);overflow:auto;left:20px;top:20px;width:270px;height:auto;padding:20px;z-index:10;background:#153b62;border:1px solid #9ad1ff;border-radius:8px}.accessible button{display:block;margin:10px 0;padding:8px} @keyframes breathe{50%{opacity:.35;transform:scale(.8)}}@media(prefers-reduced-motion:reduce){#loading span{animation:none}}

#lyrics-dialog{width:min(560px,calc(100vw - 32px));max-height:82vh;max-height:82dvh;padding:28px;border:1px solid #566b78;border-radius:12px;background:#111e28;color:#e2efff;box-shadow:0 18px 80px #0008}
#lyrics-dialog[open]{display:flex;flex-direction:column;gap:22px}
#lyrics-dialog::backdrop{background:#020611c9}
.lyrics-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid #344650;flex-shrink:0}
.lyrics-header h2{font:normal 28px Georgia,serif;margin:0 0 9px}
.lyrics-header p{font:13px/1.5 Arial,sans-serif;margin:0;color:#a4bdcd}
#lyrics-close{font:13px Arial,sans-serif;border:1px solid #617783;background:transparent;color:#e2efff;border-radius:6px;padding:10px 14px;cursor:pointer}
#lyrics-close:hover{background:#263b49}
#lyrics-close:focus-visible,.lyrics-copy:focus-visible{outline:2px solid #e7cc8f;outline-offset:4px}
.lyrics-copy{min-height:0;overflow-y:auto;overscroll-behavior:contain;white-space:pre-wrap;font:17px/1.85 Georgia,serif;padding:0 8px 6px 0;scrollbar-color:#617783 #111e28}
@media(max-width:500px){#lyrics-dialog{padding:22px}.lyrics-copy{font-size:16px}.lyrics-header h2{font-size:25px}}
