:root{--bg:#0f1115;--surface:#181b22;--surface-2:#232733;--text:#f3f4f7;--muted:#9aa1b2;--heart:#ff4d79;--error:#ff6b6b;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow-x:clip}#root{max-width:480px;min-height:100dvh;margin:0 auto}h1{margin:0;font-size:1.4rem}.screen h1{transition:opacity .25s ease-out}.screen h1.pending{opacity:0}.screen h1.reserve{align-items:flex-end;min-height:2.5em;display:flex}.muted{color:var(--muted);margin:4px 0 0}.pad{padding:16px}.screen{padding:48px 16px 24px}.stack{flex-direction:column;gap:16px;margin-top:24px;display:flex}.screen .stack>.primary{margin-top:16px}.screen p.muted+.stack{margin-top:40px}label{color:var(--muted);flex-direction:column;gap:6px;font-size:.9rem;display:flex}input{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--surface-2);border-radius:12px;width:100%;padding:14px;font-size:1rem}input:focus-visible,button:focus-visible{outline-offset:2px;outline:2px solid #fff}.code-input{letter-spacing:.2em;text-transform:uppercase;text-align:center;font-size:1.4rem}button{font:inherit;cursor:pointer}.primary{color:var(--bg);background:#fff;border:0;border-radius:999px;padding:14px;font-weight:700}.primary:disabled{opacity:.5;cursor:default}.link{color:var(--muted);white-space:nowrap;background:0 0;border:0;min-height:44px;padding:8px}.error{color:var(--error);margin:8px 16px}.screen .error{margin:0}.toast{top:calc(12px + env(safe-area-inset-top));z-index:20;background:var(--surface-2);text-align:center;border-radius:12px;max-width:448px;margin:0 auto;padding:12px 14px;animation:.3s ease-out toast-in;position:fixed;left:16px;right:16px;box-shadow:0 8px 24px #00000080}.toast.leaving{animation:.3s ease-in forwards toast-out}@keyframes toast-in{0%{opacity:0;transform:translateY(-150%)}}@keyframes toast-out{to{opacity:0;transform:translateY(-150%)}}.party header{z-index:5;-webkit-backdrop-filter:blur(20px)saturate(160%);backdrop-filter:blur(20px)saturate(160%);background:#0f11158c;border-bottom:1px solid #ffffff1a;margin-inline:calc(50% - 50vw);padding:16px max(16px,50vw - 224px) 22px;position:sticky;top:0}.name-btn{font:inherit;color:var(--text);text-underline-offset:3px;background:0 0;border:0;margin:-10px -6px;padding:10px 6px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.name-form{margin:8px 16px 16px}.name-form .muted{margin:0}.name-actions{gap:12px;display:flex}.name-actions button{flex:1}.secondary{color:var(--text);background:0 0;border:1px solid #ffffff4d;border-radius:999px;padding:14px;font-weight:700}.backdrop.modal{align-items:flex-start;padding:max(16px,8dvh) 16px 0}.sheet.modal{border-radius:20px;height:auto;max-height:100%;padding-bottom:0;animation:.2s ease-out fade-in}.fab-bar{max-width:480px;padding:24px 16px calc(16px + env(safe-area-inset-bottom));background:linear-gradient(to top, var(--bg) 60%, transparent);pointer-events:none;margin:0 auto;position:fixed;bottom:0;left:0;right:0}.fab-bar button{pointer-events:auto;width:100%;box-shadow:0 4px 16px #0006}.backdrop{z-index:10;background:#000000d9;justify-content:center;align-items:flex-end;animation:.2s ease-out fade-in;display:flex;position:fixed;inset:0}.sheet{overscroll-behavior:contain;background:var(--bg);width:100%;max-width:480px;height:calc(100% - 24px);padding-bottom:env(safe-area-inset-bottom);border-radius:20px 20px 0 0;animation:.25s ease-out slide-up;overflow-y:auto}.sheet-head{z-index:1;background:var(--bg);justify-content:space-between;align-items:center;padding:8px 8px 8px 16px;display:flex;position:sticky;top:0}.sheet-head h2{margin:0;font-size:1.1rem}.search{width:calc(100% - 32px);margin:4px 16px 8px}@keyframes slide-up{0%{transform:translateY(100%)}}@keyframes fade-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.backdrop,.sheet,.toast,.toast.leaving{animation:none}}.songs{flex-direction:column;gap:12px;margin:0;padding:8px 16px 96px;list-style:none;display:flex}.party>.songs{padding-top:20px}.sort-bar{color:var(--muted);justify-content:flex-end;align-items:center;gap:12px;padding:16px 16px 0;font-size:.9rem;display:flex}.pill{color:#fff;height:28px;font:inherit;background:#595959;border:0;border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-size:14px;font-weight:600;line-height:normal;display:inline-flex}.pill:focus-visible{outline:none}.menu-layer{z-index:30;position:fixed;inset:0}.menu{scrollbar-width:none;background:#fff;border-radius:16px;padding:6px 0;animation:.15s ease-out fade-in;position:fixed;overflow-y:auto;box-shadow:0 4px 12px #0000002e}.menu::-webkit-scrollbar{display:none}.menu-item{color:#111;width:100%;font:inherit;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;font-size:16px;font-weight:600;display:flex}.menu-item:focus-visible{outline-offset:-2px;outline:2px solid #111}@media (prefers-reduced-motion:reduce){.menu{animation:none}}.sort-bar+.songs{padding-top:16px}.songs li{background:var(--surface);border-radius:12px;align-items:center;gap:12px;min-height:72px;padding:12px 10px 12px 12px;display:flex}.songs li.played,.songs li.deleted{background:0 0;box-shadow:inset 0 0 0 1px #2e2e2e}.songs li.played>:not(.played-btn):not(.delete-btn),.songs li.deleted>:not(.delete-btn){opacity:.4}.songs img,.art{background:var(--surface-2);border-radius:8px;flex:none;width:48px;height:48px}.art-link{border-radius:8px;flex:none;width:48px;height:48px;display:block;position:relative}.art-link .play{color:#fff;pointer-events:none;background:#0000008c;border-radius:50%;place-items:center;width:22px;height:22px;margin:auto;display:grid;position:absolute;inset:0}.art-link img,.art-link .art{display:block}.art-link .play svg{margin-left:2px}.info{flex-direction:column;flex:1;min-width:0;display:flex}.info strong,.info span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.info span{color:var(--muted);font-size:.9rem}.info .by{align-items:center;gap:6px;font-size:.8rem;display:flex}.info .admin-tag{background:var(--heart);color:#fff;letter-spacing:.02em;border-radius:999px;flex:none;padding:0 7px;font-size:.65rem;font-weight:400;line-height:1.5}.heart{min-width:52px;min-height:52px;color:var(--muted);background:0 0;border:0;flex-direction:column;flex:none;justify-content:center;align-items:center;font-size:1.5rem;line-height:1;display:flex}.heart small{margin-top:2px;font-size:.8rem}.heart.on{color:var(--heart)}.heart.static{min-width:0}.heart.static+.played-btn{margin-left:4px}.heart.tight{min-width:0;margin:0 -14px;padding:0 14px}.heart.tight+.delete-btn{margin-left:4px}.delete-btn+.delete-btn{margin-left:-6px}.add-circle{color:#fff;background:#595959;border:0;border-radius:50%;flex:none;place-items:center;width:40px;height:40px;margin:0 6px 0 0;padding:0;display:grid}.add-circle:disabled{opacity:.6;cursor:default}.played-btn.on,.delete-btn.on{color:#999;background:#333}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}}.empty{text-align:center;flex-direction:column;gap:16px;padding:48px 16px;display:flex}.toolbar{flex-wrap:wrap;align-items:center;gap:12px 16px;padding:16px 16px 0;display:flex}.toolbar .sort-bar{margin-left:auto;padding:0}.toolbar+.songs{padding-top:16px}.check{flex-direction:row;align-items:center;gap:12px}.check input{appearance:none;corner-shape:round;background:#595959;border:0;border-radius:999px;flex:none;width:48px;height:28px;margin:0;padding:0;transition:background-color .2s;position:relative}.check input:after{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .2s,background-color .2s;position:absolute;top:3px;left:3px}.check input:checked{background:#fff}.check input:checked:after{background:#595959;transform:translate(20px)}@media (prefers-reduced-motion:reduce){.check input,.check input:after{transition:none}}@supports (corner-shape:squircle){.songs li,.songs img,.songs .art,.art-link,input,.menu,.toast,.sheet{corner-shape:squircle}}html,.sheet{scrollbar-width:none}html::-webkit-scrollbar{display:none}.sheet::-webkit-scrollbar{display:none}.party header{view-transition-name:page-header}.fab-bar{view-transition-name:suggest-bar}::view-transition-old(root){display:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-group(*){animation-duration:.3s;animation-timing-function:ease-in-out}.party .songs.admin li.played:not(.deleted)>*,.party .songs.fan li.played>*{opacity:1}.played-check{color:#fff;flex:none;place-items:center;width:40px;height:40px;margin:0 6px 0 4px;display:grid}.info .played-tag{background:var(--heart);color:#fff;letter-spacing:.02em;border-radius:999px;flex:none;padding:0 7px;font-size:.65rem;font-weight:400;line-height:1.5}.sheet.modal .sheet-head{padding:16px 16px 8px}.title-row{padding-right:52px}.play-circle{color:#fff;background:#595959;border:0;border-radius:50%;place-items:center;width:40px;height:40px;padding:0;display:grid;position:absolute;top:50%;right:max(16px,50vw - 224px);transform:translateY(-50%)}.play-circle:disabled{opacity:.6;cursor:default}
