:root{color:#17233d;background:#111d33;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif}button:focus-visible{outline:3px solid rgb(61 145 184 / 80%);outline-offset:3px}.playback-spike-shell{background:#fff9ef;margin:0 auto;max-width:430px;min-height:100dvh;padding:max(18px,env(safe-area-inset-top)) 16px max(24px,env(safe-area-inset-bottom))}.topbar{align-items:center;display:flex;gap:11px}.brand-mark{background:#111d33;border-radius:15px;box-shadow:0 8px 18px #101b3133;color:#fff;display:grid;flex:0 0 44px;font-size:22px;height:44px;place-items:center;width:44px}h1{font-size:22px;line-height:1.2;margin:3px 0 0}h2{font-size:21px;line-height:1.2;margin:2px 0 8px}p{font-size:16px;line-height:1.5;margin:6px 0}.eyebrow{color:#3d91b8;font-size:11px;font-weight:900;letter-spacing:.12em;margin:0;text-transform:uppercase}.intro,.metadata{color:#687287}.intro{font-size:14px;margin:15px 4px 0}.metadata{font-size:13px}.status-message{min-height:24px;margin:17px 4px 9px}.current-player{background:radial-gradient(circle at 82% 13%,rgb(242 190 62 / 20%),transparent 11rem),linear-gradient(150deg,#1b2b48,#111d33 65%);border-radius:28px;box-shadow:0 24px 70px #08122533;color:#fff;margin:12px 0 16px;overflow:hidden;padding:20px}.player-label-row,.section-heading,.device-row{align-items:center;display:flex;gap:12px;justify-content:space-between}.player-label-row>span{color:#f2be3e;font-size:12px;font-weight:800}.player-eyebrow{color:#ffffffad;font-size:11px;font-weight:900;letter-spacing:.14em;margin:0;text-transform:uppercase}.player-main{align-items:center;display:grid;gap:16px;grid-template-columns:96px minmax(0,1fr);margin-top:17px}.artwork,.artwork-fallback{aspect-ratio:1;border-radius:21px;box-shadow:0 16px 28px #00000047;height:auto;object-fit:cover;width:96px}.artwork-fallback{align-items:center;background:radial-gradient(circle at 68% 30%,#ffd871 0 13%,transparent 14%),linear-gradient(155deg,#804768 0 38%,#df5539 39% 66%,#17233d 67%);display:flex;font-size:42px;justify-content:center}.player-main h2{font-size:clamp(21px,6vw,28px);letter-spacing:-.035em}.player-artist{color:#ffffffad;font-weight:700}.progress{margin-top:20px}.progress-bar{background:#ffffff29;border-radius:9px;height:5px;overflow:hidden}.progress-bar i{background:linear-gradient(90deg,#df5539,#f2be3e);border-radius:inherit;display:block;height:100%}.progress p,.player-observed{color:#ffffff94;font-size:12px;font-variant-numeric:tabular-nums}.player-observed{margin-top:14px}.playback-card{background:#ffffffde;border:1px solid rgb(23 35 61 / 11%);border-radius:24px;box-shadow:0 12px 28px #17233d17;margin:12px 0;padding:18px}.connection-card{background:#fff;border:1px solid rgb(23 35 61 / 11%);border-radius:24px;box-shadow:0 12px 28px #17233d17;margin:12px 0;padding:18px}.connection-card p:not(.eyebrow){color:#687287;font-size:14px}.spotify-link{align-items:center;background:#1ed760;border-radius:17px;color:#07150e;display:flex;font-size:16px;font-weight:900;justify-content:center;margin-top:16px;min-height:52px;padding:12px 18px;text-decoration:none}.spotify-link:focus-visible{outline:3px solid rgb(61 145 184 / 80%);outline-offset:3px}.device-list{list-style:none;margin:12px 0 0;padding:0}.device-list li+li{border-top:1px solid rgb(23 35 61 / 11%);margin-top:10px;padding-top:10px}.device-row strong{display:block}.device-row>div:last-child{text-align:right}.primary-button,.secondary-button{border:0;border-radius:17px;cursor:pointer;font-weight:900;min-height:52px;padding:12px 18px}.primary-button{background:#df5539;box-shadow:0 12px 24px #df553947;color:#fff;margin-top:16px;width:100%}.secondary-button{background:#111d33;color:#fff;min-height:44px;min-width:72px}button:disabled{cursor:not-allowed;opacity:.58}.guidance,.stale-note,.device-notice{background:#fff0c5;border-radius:12px;padding:10px}.device-notice{font-size:13px;margin-top:6px;max-width:180px}.stale-note{font-size:14px}@media(max-width:350px){.player-main{gap:13px;grid-template-columns:82px minmax(0,1fr)}.artwork,.artwork-fallback{width:82px}.current-player{padding:18px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.memory-map{font-size:16px;min-width:0}.memory-map p{line-height:1.6;overflow-wrap:anywhere}.memory-map-notice{background:#f6efdb;border-radius:12px;color:#514422;padding:12px}.memory-map-canvas{border:1px solid #c2ccd5;border-radius:14px;height:320px;isolation:isolate;overflow:hidden;position:relative;width:100%}.memory-map-canvas[hidden]{display:none}.memory-map-list{display:grid;gap:8px;list-style:none;margin:16px 0 0;padding:0}.memory-map .memory-map-list button{align-items:center;background:#fff;border:2px solid #b8c3ce;border-radius:12px;color:#17233d;display:flex;font:inherit;gap:12px;min-height:52px;min-width:44px;padding:8px 12px;text-align:left;width:100%}.memory-map-list button>span:last-child{min-width:0;overflow-wrap:anywhere}.memory-map-symbol{align-items:center;display:inline-flex;flex:0 0 28px;height:28px;justify-content:center}.memory-map-symbol-song_request{background:#9c3520;border-radius:50%;color:#fff}.memory-map-symbol-photo{background:#185c80;border-radius:3px;color:#fff}.memory-map .memory-map-pin{align-items:center;border:3px solid white;box-shadow:0 2px 6px #17233d55;display:flex;font:24px/1 sans-serif;height:44px;justify-content:center;min-height:44px;min-width:44px;padding:0;width:44px}.memory-map .memory-map-pin-song_request{background:#9c3520;border-radius:50%;color:#fff}.memory-map .memory-map-pin-photo{background:#185c80;border-radius:5px;color:#fff}.memory-map .memory-map-pin[aria-pressed=true]{box-shadow:0 0 0 3px #17233d;z-index:1}.memory-map .memory-map-list button[aria-pressed=true]{background:#eaf2f6;border-color:#17233d}.memory-map button:focus-visible,.memory-map canvas:focus-visible{outline:3px solid #105b91;outline-offset:3px}@media(prefers-reduced-motion:reduce){.memory-map *{scroll-behavior:auto}}.memory-page{color:#17233d;font:16px/1.6 system-ui,sans-serif;min-width:0}.memory-page p{margin:8px 0;overflow-wrap:anywhere}.memory-header>p:first-child{color:#21647c;font-weight:700;margin:0}.memory-header h2{font-size:26px;letter-spacing:-.03em;line-height:1.3;margin:6px 0 10px}.memory-page .memory-updated,.memory-page .timeline-muted{color:#59657a}.memory-page .timeline{list-style:none;margin:16px 0;padding:0}.memory-page .timeline>li{margin-bottom:16px;min-width:0;scroll-margin:24px}.timeline-date{color:#59657a;font-size:16px;margin:20px 0 10px}.timeline-card{background:#fff;border:1px solid #d2d9e0;border-radius:20px;overflow:hidden;padding:16px}.timeline-card-song_request{border-top:4px solid #a33621}.timeline-card-photo{border-top:4px solid #21647c}.timeline-card-playback{border-top:4px solid #687286}.timeline-card-header{align-items:baseline;display:flex;flex-wrap:wrap;gap:4px 12px;justify-content:space-between}.timeline-type{color:#21647c;font-weight:750}.timeline-card-header time{color:#59657a;font-size:14px}.timeline-context{font-size:18px;font-weight:650;line-height:1.6}.timeline-track strong{display:block;font-size:20px;overflow-wrap:anywhere}.timeline-track a{align-items:center;color:#155777;display:inline-flex;min-height:44px;overflow-wrap:anywhere;text-underline-offset:3px}.timeline-photo{background:#f0f3f5;border-radius:12px;display:block;height:auto;margin:12px 0;max-height:360px;object-fit:contain;width:100%}.timeline-badge{background:#edf3f6;border-radius:8px;color:#244e63;display:inline-block;padding:3px 8px}.timeline-association{border-left:3px solid #a1b7c4;margin:14px 0;padding-left:12px}.timeline-reason{color:#65461a;white-space:pre-wrap}.memory-page button{background:#fff;border:2px solid #17233d;border-radius:12px;color:#17233d;cursor:pointer;font:inherit;min-height:44px;min-width:44px;padding:8px 12px}.memory-page .timeline-select{margin-top:12px;width:100%}.memory-page .timeline-select[aria-pressed=true]{background:#17233d;color:#fff}.memory-page button:disabled{cursor:wait;opacity:.65}.memory-page button:focus-visible,.memory-page a:focus-visible{outline:3px solid #1474a2;outline-offset:3px}.memory-page .memory-more{display:block;margin:16px auto;width:100%}.memory-error,.memory-empty,.memory-selection-notice{background:#fff5e1;border-radius:14px;padding:14px}.memory-error p{color:#674818}@media(prefers-reduced-motion:reduce){.memory-page *{scroll-behavior:auto}}.song-reason-editor{color:#17233d;font-size:16px;line-height:1.5;min-width:0}.song-reason-editor h3{font-size:19px;margin:0 0 8px}.song-reason-hint{color:#59657a;margin:0 0 16px}.song-reason-tags{border:0;margin:0 0 16px;min-width:0;padding:0}.song-reason-tags legend,.song-reason-editor label{display:block;font-weight:700;margin-bottom:8px}.song-reason-tags>div,.song-reason-actions{display:flex;flex-wrap:wrap;gap:8px}.song-reason-editor button{background:#fff;border:1px solid #59657a;border-radius:12px;color:#17233d;cursor:pointer;font:inherit;min-height:44px;min-width:44px;padding:9px 12px}.song-reason-editor button[aria-pressed=true]{background:#17233d;border-color:#17233d;color:#fff}.song-reason-editor button:disabled,.song-reason-editor textarea:disabled{cursor:default;opacity:.65}.song-reason-editor textarea{border:1px solid #59657a;border-radius:12px;box-sizing:border-box;color:#17233d;display:block;font:inherit;min-height:88px;padding:12px;resize:vertical;width:100%}.song-reason-editor textarea[aria-invalid=true]{border:2px solid #982f2f}.song-reason-editor button:focus-visible,.song-reason-editor textarea:focus-visible{outline:3px solid #21647c;outline-offset:3px}.song-reason-count{color:#59657a;margin:4px 0 12px;text-align:right}.song-reason-error{background:#fff0ed;border-radius:12px;color:#982f2f;margin:0 0 12px;padding:12px}.song-reason-actions>button:first-child{background:#b23822;border-color:#b23822;color:#fff;font-weight:700}.song-reason-status{color:#21647c;min-height:24px;margin:8px 0 0}.song-request-result .song-reason-editor{margin-top:24px}:root{background:#17233d;color:#17233d;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif}button{color:inherit;font:inherit}button:focus-visible{outline:3px solid #21647c;outline-offset:3px}a:focus-visible{outline:3px solid #21647c;outline-offset:3px}.host-shell{background:radial-gradient(circle at 100% 0,rgb(242 190 62 / 22%),transparent 16rem),#fff8ee;margin:0 auto;max-width:430px;min-height:100dvh;padding:max(22px,env(safe-area-inset-top)) 18px max(30px,env(safe-area-inset-bottom))}.host-header{align-items:center;display:flex;gap:12px;margin-bottom:24px}.host-header h1{font-size:24px;letter-spacing:-.03em;margin:2px 0 0}.host-logo{align-items:center;background:#17233d;border-radius:15px;color:#fff;display:flex;flex:0 0 48px;font-size:23px;height:48px;justify-content:center;transform:rotate(-4deg);width:48px}.host-kicker{color:#21647c;font-size:12px;font-weight:900;letter-spacing:.12em;margin:0;text-transform:uppercase}.host-card{background:#fffffff0;border:1px solid rgb(23 35 61 / 15%);border-radius:24px;box-shadow:0 18px 45px #17233d17;margin-top:16px;padding:20px}.host-card h2{font-size:24px;letter-spacing:-.035em;margin:6px 0 10px}.host-card p{color:#59657a;line-height:1.6}.host-primary,.host-card button{border:2px solid #17233d;border-radius:15px;cursor:pointer;font-weight:900;min-height:48px;padding:10px 16px}.host-primary{background:#b23822;border-color:#b23822;color:#fff;margin-top:8px;width:100%}.host-card button:disabled{cursor:wait;opacity:.62}.host-ok,.host-live{background:#e3f3e9;border-radius:14px;color:#275a3b!important;font-weight:800;padding:12px}.host-status{color:#626d80;text-align:center}.host-error{border-color:#982f2f}.host-error h2{color:#982f2f}.host-oauth-link{color:#17233d;display:block;font-weight:900;margin:12px 0}.host-guidance{background:#f4ead4;border-radius:16px;padding:14px}.host-guidance p{margin:6px 0 12px}.host-current{font-weight:800}.host-device-list{list-style:none;margin:16px 0 0;padding:0}.host-device-list li{align-items:center;border-top:1px solid #c4c8d0;display:flex;gap:12px;justify-content:space-between;padding:14px 0}.host-device-list li:first-child{border-top:0;padding-top:0}.host-device-list span{color:#626d80;display:block;font-size:13px;margin-top:4px}.host-start{margin-bottom:18px}@media(max-width:350px){.host-shell{padding-left:14px;padding-right:14px}.host-card{padding:17px}}.host-oauth-link{align-items:center;display:flex;min-height:44px}.host-device-list li>div{min-width:0;overflow-wrap:anywhere}.host-device-list button{flex-shrink:0}.host-header h1{overflow-wrap:anywhere}.song-request-composer,.song-request-result{background:#fffffff0;border:1px solid rgb(23 35 61 / 10%);border-radius:24px;box-shadow:0 18px 45px #17233d1a;padding:20px}.song-request-composer h2,.song-request-result h2{font-size:23px;letter-spacing:-.025em;margin:5px 0 2px;overflow-wrap:anywhere}.song-request-artists{color:#59657a;font-size:16px;margin:0}.song-request-context{color:#59657a;font-size:14px;line-height:1.5;margin:15px 0 0}.song-request-notice,.song-request-error,.song-request-location-note{border-radius:14px;font-size:15px;line-height:1.5;margin:15px 0 0;padding:12px}.song-request-notice{background:#edf6f8;color:#21647c}.song-request-error{background:#fff0ed;color:#982f2f}.song-request-location-note{background:#fff3d4;color:#66511a}.song-request-actions{display:grid;gap:10px;margin-top:16px}.song-request-primary,.song-request-secondary{align-items:center;border-radius:16px;cursor:pointer;display:flex;font-weight:900;justify-content:center;min-height:52px;padding:12px 16px;width:100%}.song-request-primary{background:#b23822;border:0;box-shadow:0 13px 25px #b2382240;color:#fff}.song-request-primary:disabled,.song-request-secondary:disabled{cursor:wait;opacity:.62}.song-request-secondary{background:#fff;border:2px solid #17233d}.song-request-result dl{display:grid;gap:12px;margin:17px 0 0}.song-request-result dl div{border-left:4px solid #f2be3e;padding-left:11px}.song-request-result dt{color:#59657a;font-size:13px;font-weight:800}.song-request-result dd{font-size:16px;font-weight:800;line-height:1.4;margin:3px 0 0;overflow-wrap:anywhere}.song-request-result .song-request-secondary{margin-top:16px}.track-search{background:#fffffff0;border:1px solid rgb(23 35 61 / 10%);border-radius:24px;box-shadow:0 18px 45px #17233d1a;padding:20px}.track-search-heading{align-items:start;display:flex;gap:12px;justify-content:space-between}.track-search-actions{align-items:center;display:flex;flex:0 0 auto;gap:5px}.track-search h2{font-size:23px;letter-spacing:-.025em;margin:5px 0 8px}.track-search-count{color:#21647c;font-size:14px;font-weight:800;min-height:22px;padding-top:3px}.track-search-actions button{background:#fff;border:1px solid #17233d;border-radius:12px;font-size:13px;font-weight:800;min-height:44px;min-width:44px;padding:7px}.track-search-label{display:block;font-size:16px;font-weight:800;margin:16px 0 7px}.track-search input{background:#fff;border:2px solid #6c7482;border-radius:16px;font-size:16px;min-height:52px;padding:13px 14px;width:100%}.track-search-help{color:#59657a;font-size:13px;line-height:1.5;margin:8px 1px 0}.track-search-message,.track-search-error{border-radius:14px;font-size:15px;line-height:1.5;margin:16px 0 0;padding:12px}.track-search-message{background:#edf6f8;color:#21647c}.track-search-error{background:#fff0ed;color:#982f2f}.track-search-recent{margin-top:16px}.track-search-recent p{color:#59657a;font-size:13px;font-weight:800;margin:0 0 7px}.track-search-recent div{display:flex;flex-wrap:wrap;gap:8px}.track-search-recent button{background:#edf6f8;border:1px solid #3e91b8;border-radius:14px;min-height:44px;padding:8px 12px}.track-search-results{display:grid;gap:10px;list-style:none;margin:16px 0 0;padding:0}.track-search-results li{align-items:center;border:1px solid rgb(23 35 61 / 13%);border-radius:18px;display:grid;gap:10px;grid-template-columns:56px minmax(0,1fr) 52px;padding:9px}.track-search-artwork,.track-search-artwork-placeholder{border-radius:4px;height:56px;width:56px}.track-search-artwork{background:#e8e5df;object-fit:contain}.track-search-artwork-placeholder{align-items:center;background:linear-gradient(145deg,#3e91b8,#f2be3e);color:#fff;display:flex;font-size:23px;justify-content:center}.track-search-metadata{min-width:0}.track-search-metadata strong,.track-search-metadata span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.track-search-metadata strong{font-size:16px}.track-search-metadata span{color:#59657a;font-size:13px;margin-top:2px}.track-search-attribution{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.track-search-attribution img{display:block;height:auto;min-width:70px;width:70px}.track-search-attribution a{color:#21647c;font-size:13px;font-weight:800}.track-search-select{align-self:stretch;background:#b23822;border:0;border-radius:14px;color:#fff;cursor:pointer;font-weight:900;min-height:44px;min-width:44px;padding:7px}.track-search-confirm{background:#17233d;border-radius:18px;color:#fff;margin-top:16px;padding:16px}.track-search-confirm h3{font-size:18px;margin:0}.track-search-confirm p{color:#dce5ef;line-height:1.5;margin:7px 0 14px}.track-search-confirm div{display:flex;gap:9px}.track-search-confirm button{background:#fff;border:0;border-radius:12px;color:#17233d;flex:1;font-weight:800;min-height:44px;padding:8px}.track-search-confirm .track-search-confirm-primary{background:#f2be3e}.track-search-recent-artists{margin-top:16px}.track-search-recent-artists p{color:#59657a;font-size:13px;font-weight:800;margin:0 0 7px}.track-search-recent-artists ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}.track-search-recent-artists li{background:#fff3d4;border-radius:14px;color:#66511a;font-size:14px;padding:8px 12px}@media(max-width:350px){.track-search{padding:17px}.track-search-results li{grid-template-columns:48px minmax(0,1fr) 48px}.track-search-artwork,.track-search-artwork-placeholder{height:48px;width:48px}}.offline-song-requests{background:#fffffff0;border:1px solid rgb(23 35 61 / 10%);border-radius:24px;box-shadow:0 18px 45px #17233d1a;margin-top:16px;padding:20px}.offline-song-requests h2{font-size:21px;margin:5px 0 10px}.offline-song-requests ol{display:grid;gap:10px;list-style:none;margin:0;padding:0}.offline-song-requests li{background:#fff3d4;border-left:4px solid #d89a16;border-radius:14px;display:grid;gap:3px;padding:12px}.offline-song-requests li>strong{overflow-wrap:anywhere}.offline-song-requests li>span,.offline-song-requests time{color:#59657a;font-size:13px;line-height:1.45}.offline-song-request-error,.offline-song-request-notice{border-radius:14px;font-size:14px;line-height:1.5;margin:10px 0;padding:12px}.offline-song-request-error{background:#fff0ed;color:#982f2f}.offline-song-request-notice{background:#edf6f8;color:#21647c}.offline-song-requests li>button{background:#fff;border:2px solid #17233d;border-radius:12px;font-weight:800;margin-top:7px;min-height:48px;padding:9px 12px;width:100%}.now-page{display:grid;gap:16px}.now-heading,.now-queue-heading{align-items:center;display:flex;gap:12px;justify-content:space-between}.now-heading h2,.now-queue-heading h3{letter-spacing:-.03em;margin:4px 0 0}.now-heading h2{font-size:26px}.now-queue-heading h3{font-size:21px}.now-eyebrow{color:#21647c;font-size:12px;font-weight:900;letter-spacing:.12em;margin:0;text-transform:uppercase}.now-status{align-items:center;background:#edf6f8;border-radius:999px;color:#174e64;display:inline-flex;font-size:12px;font-weight:800;line-height:1.25;min-height:44px;padding:8px 12px;text-align:center}.now-status:before{background:currentcolor;border-radius:50%;content:"";flex:0 0 8px;height:8px;margin-right:7px;width:8px}.now-status-fallback{background:#fff1cf;color:#79520a}.now-status-stopped{background:#e7e9ed;color:#4d5667}.now-current,.now-empty,.now-queue,.now-error,.now-stale,.now-ended{background:#fffffff5;border:1px solid rgb(23 35 61 / 10%);border-radius:24px;box-shadow:0 18px 45px #17233d1a}.now-current{align-items:center;background:#17233d;color:#fff;display:flex;gap:16px;min-width:0;padding:18px}.now-current .now-eyebrow{color:#86cee5}.now-artwork{aspect-ratio:1;border-radius:18px;display:block;flex:0 0 88px;height:88px;object-fit:cover;width:88px}.now-artwork-placeholder{align-items:center;background:linear-gradient(145deg,#b23822,#f2be3e);display:flex;font-size:31px;justify-content:center}.now-track-copy{min-width:0}.now-track-copy h2,.now-track-copy strong{overflow-wrap:anywhere}.now-track-copy h2{font-size:22px;line-height:1.2;margin:5px 0}.now-track-copy>p:not(.now-eyebrow){color:#d2d8e2;font-size:14px;margin:4px 0}.now-requested-by{color:#667287;font-size:13px}.now-mine-badge{background:#f2be3e;border:2px solid #17233d;border-radius:999px;color:#17233d;display:inline-flex;font-size:12px;font-weight:900;margin-top:7px;padding:4px 8px}.now-track-mine{box-shadow:inset 4px 0 #f2be3e}.now-current.now-track-mine{box-shadow:inset 5px 0 #f2be3e,0 18px 45px #17233d29}.now-updated{color:#59657a;font-size:13px;margin:-9px 2px 0;text-align:right}.now-playback-status{color:#59657a;font-size:13px;margin:-10px 2px 0}.now-stale,.now-ended{color:#65460c;line-height:1.5;margin:0;padding:13px 15px}.now-stale{background:#fff1cf;border-color:#dfb95e}.now-ended{background:#eef0f3;color:#4d5667}.now-error{background:#fff4f2;border-color:#b83a3a4d;padding:15px}.now-error p{color:#812b2b;line-height:1.5;margin:0 0 10px}.now-error button{background:#fff;border:2px solid #17233d;border-radius:14px;font-weight:800;min-height:44px;padding:8px 13px}.now-empty{padding:20px}.now-empty h3{font-size:21px;margin:6px 0}.now-empty>p:last-child{color:#59657a;margin:0}.now-queue{padding:18px}.now-queue-heading>span{background:#edf6f8;border-radius:999px;color:#174e64;font-size:13px;font-weight:900;padding:7px 10px}.now-queue ol{display:grid;gap:8px;list-style:none;margin:15px 0 0;padding:0}.now-queue li{align-items:center;border-radius:17px;display:grid;gap:10px;grid-template-columns:25px 56px minmax(0,1fr);min-width:0;padding:9px}.now-queue li+li{border-top:1px solid rgb(23 35 61 / 9%)}.now-queue .now-artwork{border-radius:13px;height:56px;width:56px}.now-queue .now-artwork-placeholder{font-size:21px}.now-queue-number{color:#59657a;font-size:13px;font-weight:900;text-align:center}.now-queue strong,.now-queue .now-track-copy>span{display:block}.now-queue strong{font-size:16px;line-height:1.25}.now-queue .now-track-copy>span:not(.now-mine-badge){color:#667287;font-size:13px;margin-top:2px;overflow-wrap:anywhere}.now-queue-empty{color:#59657a;margin:16px 0 3px}.now-add-song{background:#b23822;border:0;border-radius:18px;box-shadow:0 13px 25px #b2382240;color:#fff;font-size:17px;font-weight:900;min-height:52px;padding:12px 16px;width:100%}@media(max-width:350px){.now-heading{align-items:flex-start}.now-heading h2{font-size:23px}.now-status{max-width:136px}.now-current{align-items:flex-start;gap:12px;padding:15px}.now-artwork{flex-basis:72px;height:72px;width:72px}.now-queue{padding:15px}.now-queue li{gap:8px;grid-template-columns:20px 50px minmax(0,1fr);padding-left:4px;padding-right:4px}.now-queue .now-artwork{height:50px;width:50px}}@media(prefers-reduced-motion:reduce){.now-page *,.now-page *:before,.now-page *:after{animation:none!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.photo-panel{font-size:16px}.photo-card>p,.photo-pending>p{line-height:1.65}.photo-panel .photo-help{color:#59657a;font-size:16px;line-height:1.55;overflow-wrap:anywhere}.photo-panel .photo-location-option{align-items:center;display:flex;gap:10px;font-size:16px;min-height:44px}.photo-panel .photo-location-option input{accent-color:#b23822;flex:0 0 24px;min-height:24px;padding:0;width:24px}.photo-inputs{display:grid;gap:12px;margin-top:18px}.photo-panel .photo-inputs label{border:2px solid #17233d;border-radius:14px;display:block;font-size:16px;overflow:hidden;padding:12px;position:relative;text-align:center}.photo-inputs input{cursor:pointer;inset:0;min-height:44px;opacity:0;position:absolute}.photo-inputs label:focus-within{outline:3px solid #3e91b8;outline-offset:3px}.photo-inputs label:has(input:disabled){opacity:.62}.photo-draft{margin-top:18px}.photo-draft img{border-radius:16px;display:block;max-height:320px;object-fit:contain;width:100%}.photo-panel textarea{background:#fff;border:2px solid #6c7482;border-radius:14px;color:inherit;display:block;font:inherit;margin-top:8px;max-width:100%;min-height:90px;padding:12px;resize:vertical;width:100%}.photo-panel textarea:focus-visible{outline:3px solid #3e91b8;outline-offset:3px}.photo-panel .photo-error{color:#982f2f;line-height:1.6}.photo-pending{margin-top:18px}.photo-pending ul{list-style:none;margin:0;padding:0}.photo-pending li{border-bottom:1px solid #d8dde3;display:grid;gap:12px;grid-template-columns:64px minmax(0,1fr);padding:16px 0}.photo-pending li>img{border-radius:10px;height:64px;object-fit:cover;width:64px}.photo-pending li p{margin:0 0 8px;overflow-wrap:anywhere}.photo-panel button{min-height:44px;min-width:44px}button:focus-visible,input:focus-visible{outline:3px solid #3e91b8;outline-offset:3px}.join-shell{background:radial-gradient(circle at 100% 0,rgb(62 145 184 / 22%),transparent 16rem),#fff8ee;margin:0 auto;max-width:430px;min-height:100dvh;overflow:hidden;padding:max(22px,env(safe-area-inset-top)) 18px max(104px,calc(env(safe-area-inset-bottom) + 88px))}.join-entry{display:flex;flex-direction:column;justify-content:center}.join-hero{margin-bottom:24px}.join-hero h1{font-size:clamp(34px,10vw,43px);letter-spacing:-.05em;line-height:1.08;margin:9px 0 13px}.join-hero>p:last-child,.join-card>p{color:#59657a;line-height:1.6}.join-logo{align-items:center;background:#17233d;border-radius:22px;box-shadow:0 10px 24px #17233d33;color:#fff;display:flex;font-size:34px;height:70px;justify-content:center;margin-bottom:22px;transform:rotate(-4deg);width:70px}.join-logo-small{border-radius:15px;flex:0 0 48px;font-size:23px;height:48px;margin:0;width:48px}.join-kicker{color:#21647c!important;font-size:12px;font-weight:900;letter-spacing:.12em;margin:0;text-transform:uppercase}.join-header{align-items:center;display:flex;gap:12px;margin-bottom:24px}.join-header h1{font-size:23px;margin:3px 0 0}.join-card,.join-now-playing{background:#fffffff0;border:1px solid rgb(23 35 61 / 10%);border-radius:24px;box-shadow:0 18px 45px #17233d1a;padding:20px}.join-card+.join-card{margin-top:16px}.join-card label{font-size:18px;font-weight:900}.join-hint{color:#6c7689!important;font-size:13px;margin:5px 0 14px!important}.join-card input{background:#fff;border:2px solid #6c7482;border-radius:16px;font-size:16px;min-height:52px;padding:13px 14px;width:100%}.join-card input[aria-invalid=true]{border-color:#b83a3a}.join-field-error{color:#982f2f;font-size:14px;margin:9px 2px 0}.join-primary,.join-secondary,.join-add-track button{align-items:center;border-radius:16px;cursor:pointer;display:flex;font-weight:900;justify-content:center;min-height:48px;padding:11px 16px;width:100%}.join-primary{background:#b23822;border:0;box-shadow:0 13px 25px #b2382240;color:#fff;margin-top:18px}.join-primary:disabled,.join-secondary:disabled{cursor:wait;opacity:.62}.join-secondary{background:#fff;border:2px solid #17233d;margin-top:15px}.join-error{border-color:#b83a3a59}.join-error h2,.join-card h2{font-size:23px;letter-spacing:-.025em;margin:5px 0 8px}.join-now-playing{align-items:center;background:#17233d;color:#fff;display:flex;gap:16px;margin-bottom:16px}.join-now-playing .join-kicker{color:#7fc5dd!important}.join-now-playing h2{font-size:20px;margin:5px 0}.join-now-playing p:last-child{color:#cdd7e6;font-size:14px;margin:0}.join-album-placeholder{align-items:center;background:linear-gradient(145deg,#b23822,#f2be3e);border-radius:18px;display:flex;flex:0 0 76px;font-size:30px;height:76px;justify-content:center}.join-location-result{background:#edf6f8;border-radius:14px;color:#21647c!important;font-weight:700;padding:12px}.join-add-track>button{background:#b23822;border:0;box-shadow:0 13px 25px #b2382240;color:#fff;margin-top:15px}.join-add-track>p:last-child{font-size:13px;margin:9px 0 0;text-align:center}.join-selected-track{background:#edf6f8;border-radius:16px;margin-top:15px;padding:14px}.join-selected-track strong,.join-selected-track span{display:block}.join-selected-track strong{font-size:18px;margin-top:5px}.join-selected-track span{color:#59657a;font-size:14px;margin-top:3px}.join-selected-track>p:not(.join-kicker){color:#21647c;font-size:14px;line-height:1.5;margin:9px 0}.join-selected-track button{background:#fff;border:2px solid #17233d;margin-top:4px}.join-navigation{align-items:center;background:#fff8eef5;border-top:1px solid rgb(23 35 61 / 12%);bottom:0;display:grid;gap:12px;grid-template-columns:1fr 1.25fr;left:50%;max-width:430px;padding:10px 18px max(10px,env(safe-area-inset-bottom));position:fixed;transform:translate(-50%);width:100%;z-index:5}.join-navigation button{align-items:center;background:transparent;border:0;border-radius:16px;display:flex;flex-direction:column;font-size:13px;font-weight:900;justify-content:center;min-height:52px;padding:6px 12px}.join-navigation button>span{font-size:19px;line-height:1;margin-bottom:4px}.join-navigation button[aria-current=page]{background:#edf6f8;color:#174e64}.join-navigation .join-navigation-add{background:#b23822;box-shadow:0 8px 18px #b238223b;color:#fff}.join-navigation .join-navigation-add[aria-current=page]{background:#8f2e1d;color:#fff}@media(max-width:350px){.join-shell{padding-left:14px;padding-right:14px}.join-card,.join-now-playing{padding:17px}.join-album-placeholder{flex-basis:62px;height:62px}}:root{background:#17233d;color:#17233d;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input{color:inherit;font:inherit}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #3e91b8;outline-offset:3px}.trip-shell{background:radial-gradient(circle at 100% 0,rgb(242 190 62 / 22%),transparent 16rem),#fff8ee;margin:0 auto;max-width:430px;min-height:100dvh;overflow:hidden;padding:max(22px,env(safe-area-inset-top)) 18px max(30px,env(safe-area-inset-bottom))}.trip-landing{display:flex;flex-direction:column;justify-content:center}.trip-header{align-items:center;display:flex;gap:12px;margin-bottom:28px}.trip-header h1{font-size:23px;margin:2px 0 0}.trip-logo{align-items:center;background:#17233d;border-radius:15px;box-shadow:0 10px 24px #17233d33;color:#fff;display:flex;flex:0 0 48px;font-size:23px;height:48px;justify-content:center;transform:rotate(-4deg);width:48px}.trip-logo-large{border-radius:22px;font-size:34px;height:70px;margin-bottom:24px;width:70px}.trip-kicker{color:#21647c;font-size:12px;font-weight:900;letter-spacing:.12em;margin:0;text-transform:uppercase}.trip-hero h1{font-size:clamp(34px,10vw,44px);letter-spacing:-.055em;line-height:1.08;margin:8px 0 16px}.trip-lead,.trip-copy{color:#59657a;font-size:16px;line-height:1.65}.trip-lead{margin:0 0 30px}.create-card,.invite-card,.next-card{background:#ffffffeb;border:1px solid rgb(23 35 61 / 10%);border-radius:26px;box-shadow:0 22px 58px #17233d1f;padding:20px}.create-card label{font-size:18px;font-weight:900}.field-hint{color:#6c7689;font-size:13px;line-height:1.45;margin:5px 0 14px}.create-card input{background:#fff;border:2px solid #6c7482;border-radius:16px;font-size:16px;min-height:52px;padding:13px 14px;width:100%}.create-card input[aria-invalid=true]{border-color:#b83a3a}.field-error{color:#982f2f;font-size:14px;line-height:1.45;margin:9px 2px 0}.trip-primary{align-items:center;background:#b23822;border:0;border-radius:17px;box-shadow:0 13px 25px #d94f3245;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:900;justify-content:center;margin-top:18px;min-height:52px;padding:13px 18px;text-align:center;text-decoration:none;width:100%}.trip-primary:disabled{cursor:wait;opacity:.6}.trip-footnote{color:#626d80;font-size:13px;line-height:1.5;margin:18px 8px 0;text-align:center}.invite-card h2,.next-card h2{font-size:27px;letter-spacing:-.035em;margin:6px 0 8px}.qr-frame{background:#fff;border-radius:22px;display:flex;justify-content:center;margin:20px auto;padding:12px;width:min(100%,220px)}.qr-frame svg{height:auto;max-width:100%}.invite-link{align-items:center;border:2px solid #17233d;border-radius:16px;color:#17233d;display:flex;font-weight:900;justify-content:center;min-height:48px;padding:11px 16px;text-decoration:none}.invite-note{color:#626d80;font-size:13px;margin:10px 0 0;text-align:center}.next-card{margin-top:18px}@media(max-width:350px){.trip-shell{padding-left:14px;padding-right:14px}.create-card,.invite-card,.next-card{padding:17px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
