:root{--grey-1:#2c2c2c;--grey-2:#505050;--grey-3:#5d5d5d;--grey-4:#7e7e7e;--grey-5:#939094;--grey-6:#b6b6b6;--grey-7:#d2d2d2;--grey-8:#eaeaea;--grey-9:#fafafc;--mauve-1:#2a1f2e;--mauve-2:#3b2c45;--mauve-3:#483653;--mauve-4:#5f4a6a;--mauve-5:#806e8b;--mauve-6:#a69aae;--mauve-7:#c4b9ca;--mauve-8:#f2ecf4;--mauve-9:#fafafc;--purple-1:#260a28;--purple-2:#4b274f;--purple-3:#5e3462;--purple-4:#824e86;--purple-5:#8f5793;--purple-6:#b78bb9;--purple-7:#c4a3c7;--purple-8:#e3cde4;--purple-9:#fdeffd;--red-1:#4b2e2f;--red-2:#6b4242;--red-3:#7c4c4d;--red-4:#945b5a;--red-5:#ae696a;--red-6:#c28e8d;--red-7:#d2a6a7;--red-8:#e4c6c7;--red-9:#fcfafa;--green-1:#163220;--green-2:#2a4d38;--green-3:#3f674e;--green-4:#4e7c5f;--green-5:#619676;--green-6:#7faf91;--green-7:#9ec4ac;--green-8:#bddcc8;--green-9:#e8fcf0;--blue-1:#193b5b;--blue-2:#294d6c;--blue-3:#365878;--blue-4:#496a8c;--blue-5:#517393;--blue-6:#7a95b1;--blue-7:#8ca6bd;--blue-8:#adc0d3;--blue-9:#d6e4ef;--yellow-1:#484a13;--yellow-2:#4f5216;--yellow-3:#85832e;--yellow-4:#aeaa43;--yellow-5:#c4c04e;--yellow-6:#dbe37c;--yellow-7:#e3eb9d;--yellow-8:#f4f8c5;--yellow-9:#fcfde6;--bar:var(--mauve-1);--primary:var(--purple-4);--primary-strong:var(--purple-3);--action-ask:var(--purple-5);--action-open:var(--blue-5);--action-edit:var(--yellow-4);--accept:var(--green-4);--decline:var(--red-4);--page-bg:var(--grey-9);--card-bg:#fff;--text:var(--grey-1);--text-muted:var(--grey-4);--on-bar:var(--grey-9);--sans:system-ui, "Segoe UI", Roboto, sans-serif;font:16px/1.45 var(--sans);color:var(--text);background:var(--page-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0}#root{background:var(--card-bg);max-width:480px;min-height:100svh;margin:0 auto}.person-link{min-width:0;color:inherit;flex:auto;align-items:center;gap:10px;text-decoration:none;display:flex}.person-link:hover .request-name,.person-link:hover .account-name,.person-link:focus-visible .request-name,.person-link:focus-visible .account-name{text-decoration:underline}.person-link:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:6px}.legal-links{text-align:center}.card-legal{margin:0;padding:0 12px 24px;font-size:13px}.card-legal a{color:var(--text-muted)}.hint-bubble{visibility:hidden;z-index:100;border:1px solid var(--mauve-5);background:var(--mauve-1);max-width:min(260px,100vw - 16px);color:var(--on-bar);pointer-events:none;border-radius:6px;padding:6px 10px;font-size:.8125rem;line-height:1.35;position:fixed;top:0;left:0;box-shadow:0 2px 8px #0003}@font-face{font-family:Alex Brush;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alex-brush-vietnamese-400-normal-BwVwWguG.woff2)format("woff2"),url(/assets/alex-brush-vietnamese-400-normal-HqwE_FB5.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Alex Brush;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alex-brush-latin-ext-400-normal-BkTZxg0h.woff2)format("woff2"),url(/assets/alex-brush-latin-ext-400-normal-Dq7wGc3n.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Alex Brush;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alex-brush-latin-400-normal-B-R394Co.woff2)format("woff2"),url(/assets/alex-brush-latin-400-normal-A5ZkPa-p.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@page{size:A5 landscape;margin:0}@media screen{.print-only{display:none}}.sheet{background:#fff;width:210mm;height:148mm;position:relative;overflow:hidden}.sheet-image{width:100%;height:100%;display:block}.sheet-partners{margin:0;padding:0;list-style:none}.sheet-partner{color:#1c2a55;text-align:center;white-space:nowrap;padding-bottom:.5mm;font-family:Alex Brush,cursive;font-size:4.2mm;line-height:1;position:absolute;transform:translateY(-100%)}@media print{:root,#root{background:#fff;max-width:none;min-height:0}.screen-only{display:none}}.sheet-owner{margin:0;font-size:5mm}.print-all .sheet{break-after:page}.print-all .sheet:last-child{break-after:auto}@media print{body[data-printing=all] .sheet-own{display:none}}.appbar{background:var(--bar);color:var(--on-bar)}.appbar-top{opacity:.85;justify-content:space-between;align-items:center;padding:6px 12px;font-size:12px;display:flex}.appbar-signout{color:var(--on-bar);font:inherit;cursor:pointer;background:0 0;border:0;padding:2px 4px}.appbar-title-row{align-items:center;gap:8px;padding:4px 12px 14px;display:flex}.appbar-back{color:var(--on-bar);font-size:28px;line-height:1;text-decoration:none}.appbar-print{color:var(--on-bar);cursor:pointer;background:0 0;border:0;margin-left:auto;padding:4px;display:flex}.appbar-title{margin:0;font-size:22px;font-weight:500}.player{align-items:center;gap:12px;max-width:360px;margin:12px auto 0;display:flex}.player-toggle{background:var(--primary);width:44px;height:44px;color:var(--grey-9);cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.player-toggle:focus-visible{outline:2px solid var(--primary-strong);outline-offset:2px}.player-seek{min-width:0;accent-color:var(--primary);flex:auto}.player-time{font-variant-numeric:tabular-nums;opacity:.85;flex:none;font-size:13px}.player-failed{opacity:.85;margin:12px 0 0;font-size:13px}.tempos{margin:0;padding:0;list-style:none}.tempo-row{border-bottom:1px solid var(--grey-8)}.tempo-line{flex-wrap:wrap;align-items:center;gap:4px 12px;padding:8px 0;font-size:14px;display:flex}.tempo-title{flex:12em;min-width:0}.tempo-value{font-variant-numeric:tabular-nums;white-space:nowrap}.tempo-none{color:var(--text-muted)}.tempo-open,.tapper-secondary{border:1px solid var(--primary);color:var(--primary-strong);font:inherit;cursor:pointer;background:0 0;border-radius:16px;padding:6px 14px;font-size:14px}.tapper-secondary:disabled{opacity:.5;cursor:default}.tapper{justify-items:center;gap:10px;padding:4px 0 16px;display:grid}.tapper .player{width:100%;margin-top:0}.tapper-pad{aspect-ratio:1;background:var(--primary);width:min(100%,240px);max-width:100%;color:var(--grey-9);font:inherit;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border:0;border-radius:50%;font-size:22px;font-weight:500}.tapper-pad:active{background:var(--primary-strong)}.tapper-pad:focus-visible{outline:2px solid var(--primary-strong);outline-offset:3px}.tapper-note{color:var(--text-muted);text-align:center;margin:0;font-size:13px}.tapper-reading{font-variant-numeric:tabular-nums;min-height:1.4em;margin:0;font-size:22px;font-weight:500}.tapper-count{color:var(--text-muted);font-size:14px;font-weight:400}.tapper-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.message-chart{margin:0}.message-chart-plot{padding-top:18px;position:relative}.message-chart-peak{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:12px;position:absolute;top:0;left:0}.message-chart svg{width:100%;height:120px;display:block}.message-chart-bar{fill:var(--primary)}.message-chart-grid{stroke:var(--grey-8);stroke-width:1px}.message-chart-axis{stroke:var(--grey-6);stroke-width:1px}.message-chart-days{height:18px;color:var(--text-muted);margin-top:4px;font-size:11px;position:relative}.message-chart-days span{white-space:nowrap;padding-left:3px;position:absolute;top:0}@media (width<=480px){.message-chart-days span:nth-child(2n){display:none}}.admin{gap:24px;padding:16px 12px 32px;display:grid}.admin-head{color:var(--text-muted);margin:0 0 8px;font-size:15px}.admin-figures{margin:0}.admin-figures div{border-bottom:1px solid var(--grey-8);justify-content:space-between;align-items:baseline;gap:12px;padding:10px 0;display:flex}.admin-figures dt{margin:0}.admin-figures dd{font-variant-numeric:tabular-nums;margin:0;font-size:18px;font-weight:500}.admin-total{font-weight:500}.admin-forbidden{margin:0}.admin-table-wrap{overflow-x:auto}.admin-songs{border-collapse:collapse;width:100%;font-size:14px}.admin-songs th,.admin-songs td{border-bottom:1px solid var(--grey-8);text-align:right;vertical-align:top;font-variant-numeric:tabular-nums;padding:8px 6px}.admin-songs thead th{color:var(--text-muted);white-space:nowrap;font-size:12px;font-weight:500}.admin-songs th[scope=row],.admin-songs thead th:first-child{text-align:left;min-width:10em;font-weight:400}.admin-song-number{color:var(--text-muted)}.admin-song-artist{color:var(--text-muted);font-size:12px;display:block}.admin-note{color:var(--text-muted);margin:0 0 10px;font-size:14px}.admin-print{background:var(--primary);color:var(--grey-9);font:inherit;cursor:pointer;border:0;border-radius:20px;padding:10px 18px;font-weight:500}.admin-print:disabled{opacity:.6;cursor:default}.admin-subhead{margin:16px 0 6px;font-size:14px;font-weight:500}.admin-held th[scope=row]{min-width:8em}.song-meta{flex-wrap:wrap;align-items:baseline;column-gap:12px;display:flex}.song-artist{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.song-tempo{white-space:nowrap;font-variant-numeric:tabular-nums}.search{padding:12px}.search-song{color:var(--text-muted);margin:0 0 12px;font-weight:500}.people-list{margin:0 0 24px;padding:0;list-style:none}.person-card{border-bottom:1px solid var(--grey-8);align-items:center;gap:10px;padding:10px 0;display:flex}.person-meta{flex-direction:column;flex:auto;min-width:0;display:flex}.person-name{font-weight:500}.person-actions{flex:none;align-items:center;gap:6px;display:flex}.person-open{background:var(--action-open);width:36px;height:36px;color:var(--grey-9);cursor:pointer;border:0;border-radius:50%;flex:none;font-size:18px}.person-ask{background:var(--action-ask);color:var(--grey-9);font:inherit;cursor:pointer;border:0;border-radius:20px;padding:8px 14px}.finder{gap:8px;display:grid}.finder label{font-weight:500}.finder input{border:1px solid var(--grey-6);background:var(--card-bg);color:var(--text);font:inherit;border-radius:8px;padding:10px 12px;font-size:16px}.finder-note{color:var(--text-muted);margin:4px 0}.person-unavailable{color:var(--text-muted);font-size:13px}.invite-btn{background:var(--primary);color:var(--grey-9);font:inherit;cursor:pointer;border:0;border-radius:20px;justify-self:start;padding:10px 18px;font-weight:500}.invite-btn:disabled{opacity:.6;cursor:default}.search-blocked{background:var(--mauve-8);border-radius:6px;margin:16px 12px;padding:12px}.person-card.asked-me{background:var(--green-9)}.person-asked-me{color:var(--green-2);font-size:13px}.link-invite{border-top:2px dotted var(--purple-6);gap:6px;margin-top:8px;padding-top:12px;display:grid}.link-ready{background:var(--mauve-8);border-radius:8px;gap:8px;margin-bottom:16px;padding:12px;display:grid}.link-ready-head{margin:0;font-size:16px;font-weight:500}.link-ready-label{font-size:14px}.link-ready-url{border:1px solid var(--grey-6);background:var(--card-bg);color:var(--text);font:inherit;border-radius:8px;padding:10px 12px;font-size:14px}.link-ready-actions{flex-wrap:wrap;gap:8px;display:flex}.link-share{border:1px solid var(--primary);color:var(--primary);font:inherit;cursor:pointer;background:0 0;border-radius:20px;padding:10px 18px;font-weight:500}.on-discord{border-top:2px dotted var(--purple-6);margin-top:8px;padding-top:12px}.on-discord-head{color:var(--text-muted);margin:0 0 4px;font-size:15px}.on-discord-failed{background:var(--red-8);color:var(--text);border-radius:6px;padding:8px 10px}.dance-row{border-bottom:1px solid var(--grey-8);align-items:center;gap:10px;padding:8px 12px;display:flex}.dance-row.is-blocked{opacity:.45}.dance-num{background:var(--mauve-2);width:28px;height:28px;color:var(--grey-9);border-radius:4px;flex:none;place-items:center;font-size:14px;display:grid}.dance-marker{text-align:center;width:16px;color:var(--purple-4);flex:none}.dance-main{min-width:0;color:var(--text);flex-direction:column;flex:auto;text-decoration:none;display:flex}.dance-title{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.dance-type{color:var(--text-muted);font-size:13px}.dance-action{flex:none}.dance-partner{color:var(--text);align-items:center;gap:6px;text-decoration:none;display:flex}.dance-partner-name{text-align:right;font-size:13px;font-weight:500}.dance-row.is-waiting{background:var(--green-9);box-shadow:inset 4px 0 0 var(--accept)}.status-icon{border:1.5px solid var(--grey-6);background:var(--card-bg);width:36px;height:36px;color:var(--grey-2);font:inherit;border-radius:50%;place-items:center;padding:0;text-decoration:none;display:grid;position:relative}a.status-icon,button.status-icon{cursor:pointer}.status-icon.is-action{border-color:var(--primary);background:var(--primary);color:var(--grey-9)}.status-icon.is-incoming{border-color:var(--accept);background:var(--accept);color:var(--grey-9)}.status-icon.is-muted{border-color:var(--grey-7);color:var(--grey-5)}.status-badge{border:2px solid var(--card-bg);background:var(--red-4);min-width:17px;height:17px;color:var(--grey-9);border-radius:9px;place-items:center;padding:0 3px;font-size:11px;font-weight:700;line-height:1;display:grid;position:absolute;top:-9px;right:-9px}.status-legend{border-top:1px solid var(--grey-8);padding:16px 12px 24px}.status-legend-head{color:var(--text-muted);margin:0 0 8px;font-size:14px}.status-legend-list{gap:8px;margin:0;padding:0;font-size:14px;list-style:none;display:grid}.status-legend-list li{align-items:center;gap:10px;display:flex}.status-legend-list .status-icon{flex:none;width:30px;height:30px}.status-avatar{border-radius:50%;line-height:0;display:block}.status-avatar:focus-visible{outline:2px solid var(--primary-strong);outline-offset:2px}.status-legend-picture{flex:none;line-height:0}.profile-header{border-bottom:1px solid var(--grey-8);align-items:center;gap:12px;padding:14px 12px;display:flex}.profile-link{color:var(--text);text-decoration:none}.profile-chevron{color:var(--text-muted);font-size:28px}.profile-meta{flex:auto;min-width:0}.profile-name{margin:0;font-size:22px;font-weight:500}.dance-list,.dance-block-rows{margin:0;padding:0;list-style:none}.dance-block-rows>.dance-row:last-child{border-bottom:0}.dance-break{border-top:2px dotted var(--purple-6);height:0;margin:10px 24px}.incoming-summary{background:var(--green-9);border-bottom:1px solid var(--grey-8);color:var(--green-2);margin:0;padding:10px 12px;font-weight:500}.link-again{padding:0 12px 16px}.link-again-gone{color:var(--text-muted);margin:0;font-size:14px}.detail{padding:0 0 24px}.detail-head{background:var(--mauve-2);color:var(--grey-9);text-align:center;padding:16px 12px}.detail-title{margin:0;font-size:20px;font-weight:500}.detail-type{opacity:.8;margin:2px 0 0}.detail-toggle{justify-content:center;gap:2px;padding:16px;display:flex}.toggle-btn{border:1px solid var(--grey-7);background:var(--grey-9);max-width:160px;color:var(--text-muted);font:inherit;cursor:pointer;flex:1 1 0;padding:10px}.toggle-btn:first-child{border-radius:20px 0 0 20px}.toggle-btn:last-child{border-radius:0 20px 20px 0}.toggle-btn.is-on{background:var(--purple-4);color:var(--grey-9);border-color:var(--purple-4)}.toggle-btn.is-on-block{background:var(--grey-4);color:var(--grey-9);border-color:var(--grey-4)}.detail-partner{text-align:center;padding:24px}.detail-partner-name{margin:10px 0 0;font-size:20px;font-weight:500}.detail-requests{padding:0 12px}.detail-subhead{color:var(--text-muted);font-size:15px}.detail-empty{text-align:center;color:var(--text-muted);padding:16px}.request-list{margin:0;padding:0;list-style:none}.request-item{border-bottom:1px solid var(--grey-8);align-items:center;gap:10px;padding:10px 0;display:flex}.request-body{flex-direction:column;flex:auto;min-width:0;display:flex}.request-name{font-weight:500}.request-actions{gap:6px;display:flex}.btn-accept,.btn-decline{font:inherit;color:var(--grey-9);cursor:pointer;border:0;border-radius:6px;padding:8px 12px}.btn-accept{background:var(--accept)}.btn-decline{background:var(--decline)}.find-partner{text-align:center;background:var(--primary);max-width:260px;color:var(--grey-9);border-radius:24px;margin:20px auto 0;padding:12px;font-weight:500;text-decoration:none;display:block}.detail-meta{justify-content:center}.partner-card-link{color:var(--primary);margin-top:6px;display:inline-block}.cancel-dance{border:1px solid var(--decline);color:var(--decline);font:inherit;cursor:pointer;background:0 0;border-radius:24px;margin:24px auto 0;padding:10px 18px;display:block}.cancel-confirm{margin-top:24px}.cancel-q{margin:0 0 12px}.cancel-actions{justify-content:center;gap:8px;display:flex}.btn-keep{border:1px solid var(--grey-6);background:var(--card-bg);color:var(--text);font:inherit;cursor:pointer;border-radius:6px;padding:8px 12px}.cancel-notice{background:var(--mauve-8);border-radius:6px;margin:16px 0 0;padding:12px}.cancel-notice-text{margin:0 0 6px}.cancel-notice a{color:var(--primary)}.request-time{color:var(--text-muted);font-size:13px}.request-item.is-outgoing{border-bottom:0}.request-item.is-incoming{display:block}.request-row{align-items:center;gap:10px;display:flex}.decline-choice{background:var(--mauve-8);border-radius:6px;margin-top:10px;padding:10px 12px}.decline-q{margin:0 0 8px;font-weight:500}.decline-actions{flex-wrap:wrap;gap:6px;display:flex}.decline-empty{margin:0 0 8px}.offer-list{flex-direction:column;gap:4px;margin:0 0 8px;padding:0;list-style:none;display:flex}.offer-btn{border:1px solid var(--grey-7);background:var(--card-bg);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:6px;padding:10px 12px}.detail-nav{align-items:center;gap:8px;display:flex}.detail-titles{flex:auto;min-width:0}.detail-arrow{width:40px;height:40px;color:var(--grey-9);border-radius:50%;flex:none;place-items:center;font-size:30px;line-height:1;text-decoration:none;display:grid}a.detail-arrow:hover,a.detail-arrow:focus-visible{background:#ffffff26}a.detail-arrow:focus-visible{outline:2px solid var(--grey-9);outline-offset:1px}.swipe{border-radius:6px;position:relative;overflow:hidden}.swipe-behind{color:var(--grey-9);align-items:center;padding:0 16px;font-weight:500;display:flex;position:absolute;inset:0}.swipe-behind.is-accept{background:var(--accept);justify-content:flex-start}.swipe-behind.is-decline{background:var(--decline);justify-content:flex-end}.swipe .request-row{background:var(--card-bg);touch-action:pan-y;-webkit-user-select:none;user-select:none;transition:transform .2s ease-out;position:relative}.swipe.is-swiping .request-row{transition:none}@media (prefers-reduced-motion:reduce){.swipe .request-row{transition:none}}.iv-intro{margin:12px}.iv-variant{border-top:6px solid var(--grey-8);margin:0 0 8px;padding:12px 0 16px}.iv-head{margin:0 12px 4px;font-size:17px}.iv-sub{color:var(--text-muted);margin:12px 12px 4px;font-size:14px}.iv-rows{margin:0;padding:0;list-style:none}.iv-other{gap:8px;margin:0;padding:0 12px;font-size:14px;list-style:none;display:grid}.iv-other li{align-items:center;gap:10px;display:flex}.icons-roles .status-icon{color:var(--grey-9);border-color:#0000}.icons-roles .status-icon:has([data-glyph=open]){background:var(--action-open)}:is(.icons-roles .status-icon:has([data-glyph=out]),.icons-roles .status-icon:has([data-glyph=ask])){background:var(--action-ask)}.icons-roles .status-icon:has([data-glyph=theyHavePartner]){background:var(--grey-4)}.icons-roles .status-icon:has([data-glyph=blocked]){background:var(--grey-5)}.icons-roles .status-icon.is-incoming{background:var(--accept)}.icons-roles .status-icon.is-muted{background:var(--grey-6)}.icons-purple-fill .status-icon{background:var(--purple-5);color:var(--grey-9);border-color:#0000}.icons-purple-fill .status-icon.is-incoming{background:var(--accept)}.icons-purple-fill .status-icon.is-muted{background:var(--grey-6)}.icons-purple-outline .status-icon{border-color:var(--purple-5);color:var(--purple-4)}.icons-purple-outline .status-icon.is-muted{border-color:var(--grey-7);color:var(--grey-5)}.icons-purple-outline .status-icon.is-action{color:var(--grey-9)}.icons-purple-outline .status-icon.is-incoming{border-color:var(--accept);color:var(--grey-9)}.login{background:var(--bar);min-height:100svh;color:var(--on-bar);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:24px;display:flex}.login-title{margin:0;font-size:40px;font-weight:500}.login-event{opacity:.85;margin:0}.login-providers{flex-direction:column;gap:10px;width:min(100%,300px);margin-top:16px;display:flex}.login-provider{background:var(--primary);color:var(--grey-9);font:inherit;cursor:pointer;border:0;border-radius:24px;padding:12px 20px;font-weight:500}.login-warning{max-width:320px;margin:0;font-size:14px}.login-switch{color:var(--on-bar);font-size:14px}.login-error{background:var(--red-8);max-width:320px;color:var(--grey-1);border-radius:6px;padding:2px 12px}.login-create{background:var(--primary);color:var(--grey-9);font:inherit;cursor:pointer;border:0;border-radius:20px;margin:4px 0 10px;padding:8px 16px;font-weight:500}.login-create:disabled{opacity:.6;cursor:default}.server-status{opacity:.7;margin:0;font-size:12px}.login-secondary{color:var(--on-bar);border:1px solid;border-radius:24px;padding:11px 20px;font-weight:500;text-decoration:none}.login-note{opacity:.85}.login-legal{margin:8px 0 0;font-size:13px}.login-legal a{color:var(--on-bar)}.legal{max-width:44rem;padding:16px max(16px, env(safe-area-inset-right,0px)) 40px max(16px, env(safe-area-inset-left,0px));margin:0 auto;line-height:1.55}.legal-back{margin:0 0 8px}.legal article h1{text-wrap:balance;margin:8px 0 4px;font-size:26px;font-weight:500}.legal article h2{margin:28px 0 8px;font-size:18px;font-weight:500}.legal article p,.legal article li{max-width:65ch}.legal article ul{padding-left:1.2em}.legal article li+li{margin-top:6px}.legal-updated{color:var(--text-muted);font-size:14px}.legal-gap{background:var(--yellow-7,#fdf0b0);color:var(--text);outline:1px dashed var(--text-muted);border-radius:3px;padding:0 3px}.legal a{color:var(--primary)}.legal-other{border-top:1px solid var(--grey-8);margin-top:32px;padding-top:12px;font-size:14px}.legal-facts{grid-template-columns:max-content 1fr;gap:8px 16px;margin:16px 0 24px;display:grid}.legal-facts dt{font-weight:500}.legal-facts dd{margin:0}@media (width<=420px){.legal-facts{grid-template-columns:1fr;gap:2px}.legal-facts dd{margin-bottom:10px}}.accounts{padding:0 12px 24px}.accounts-head{color:var(--text-muted);font-size:15px}.account-list{margin:0;padding:0;list-style:none}.account-row{border-bottom:1px solid var(--grey-8);align-items:center;gap:12px;padding:12px 0;display:flex}.account-meta{flex-direction:column;flex:auto;min-width:0;display:flex}.account-name{font-weight:500}.account-status{color:var(--text-muted);font-size:13px}.account-row.is-connected .account-status{color:var(--accept)}.account-why{color:var(--text-muted);font-size:13px}.account-connect,.account-disconnect{font:inherit;cursor:pointer;border-radius:20px;flex:none;padding:8px 14px}.account-connect{background:var(--primary);color:var(--grey-9);border:0}.account-disconnect{border:1px solid var(--grey-6);background:var(--card-bg);color:var(--text)}.account-disconnect:disabled{color:var(--grey-6);border-color:var(--grey-7);cursor:not-allowed}.welcome{background:var(--mauve-8);padding:16px 12px}.welcome-head{margin:0 0 6px;font-size:20px;font-weight:500}.welcome-text{margin:0}.welcome-done{padding:0 12px 32px}.welcome-continue{background:var(--blue-2);width:100%;color:var(--grey-9);font:inherit;cursor:pointer;border:0;border-radius:24px;padding:14px;font-weight:500;display:block}.account-refused{background:var(--red-8);border-radius:6px;margin-top:4px;padding:6px 8px;font-size:13px}.notify{padding:0 12px 24px}.notify-row{border-bottom:1px solid var(--grey-8);cursor:pointer;align-items:flex-start;gap:12px;padding:12px 0;display:flex}.notify-row input{width:20px;height:20px;accent-color:var(--primary);flex:none;margin:1px 0 0}.notify-note{color:var(--text-muted);font-size:13px;display:block}.notify-none{background:var(--mauve-8);border-radius:6px;margin:12px 0 0;padding:8px 10px;font-size:14px}.names{gap:10px;padding:0 12px 24px;display:grid}.names-intro{color:var(--text-muted);margin:0;font-size:14px}.names-field{gap:4px;font-size:14px;display:grid}.names-field input{border:1px solid var(--grey-6);background:var(--card-bg);color:var(--text);font:inherit;border-radius:8px;padding:10px 12px;font-size:16px}.names-field input[aria-invalid=true]{border-color:var(--decline);border-width:2px}.names-error{margin:0;font-size:13px}.names-check{cursor:pointer;align-items:flex-start;gap:10px;font-size:14px;display:flex}.names-check input{width:20px;height:20px;accent-color:var(--primary);margin:0}.names-check input:disabled+span{color:var(--text-muted)}.names-preview{margin:0;font-size:14px}.names-actions{align-items:center;gap:12px;display:flex}.names-save{background:var(--primary);color:var(--grey-9);font:inherit;cursor:pointer;border:0;border-radius:20px;padding:9px 18px;font-weight:500}.names-save:disabled{opacity:.5;cursor:default}.names-saved{color:var(--accept);font-size:14px}.names-list{border:0;gap:6px;margin:0;padding:0;font-size:14px;display:grid}.names-list legend{margin-bottom:4px;padding:0}.names-list:disabled .names-check span{color:var(--text-muted)}.names-preview{gap:2px;display:grid}.names-preview p{margin:0}.profile-legal{margin:0;padding:0 12px 24px;font-size:13px}.profile-legal a{color:var(--text-muted)}.invitee{border-bottom:1px solid var(--grey-8)}.invitee .account-row{border-bottom:0}.invitee-confirm{background:var(--mauve-8);border-radius:6px;margin:0 0 12px;padding:10px 12px;font-size:14px}.invitee-confirm p{margin:0 0 8px}.invitee-confirm-actions{flex-wrap:wrap;gap:8px;display:flex}.invitee-remove{background:var(--decline);color:var(--grey-9);font:inherit;cursor:pointer;border:0;border-radius:20px;padding:8px 14px}.request{padding:16px 12px}.request-head{border-bottom:1px solid var(--grey-8);align-items:center;gap:12px;padding-bottom:16px;display:flex}.request-name{margin:0;font-size:20px;font-weight:500}.request-song{color:var(--text-muted);margin:2px 0 0}.request-form{flex-direction:column;gap:8px;padding-top:16px;display:flex}.send-btn{background:var(--blue-2);color:var(--grey-9);font:inherit;cursor:pointer;border:0;border-radius:24px;margin-top:8px;padding:14px;font-weight:500}.request-confirm{text-align:center;padding:24px 0}.request-confirm:focus{outline:none}.confirm-text{color:var(--green-3);font-size:20px;font-weight:500}.confirm-links{flex-direction:column;gap:10px;margin-top:16px;display:flex}.confirm-links a{color:var(--primary-strong)}.request-blocked{background:var(--mauve-8);border-radius:6px;margin-top:16px;padding:2px 12px 12px}.request-blocked a{color:var(--primary)}
