:root{--status-playing:#16A34A;--status-playing-on-dark:#3FB56A;--glass-player-bg:rgba(255,252,247,0.72);--glass-player-rim:rgba(255,255,255,0.75);--shell-bar-solid:rgba(255,252,247,0.96)}.shell-bar{background:var(--shell-bar-solid);border:1px solid rgba(59,47,47,.08);box-shadow:0 14px 36px rgba(59,47,47,.12),0 2px 6px rgba(59,47,47,.06)}@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){@media (hover:hover) and (pointer:fine){.shell-bar--glass{background:var(--glass-player-bg);-webkit-backdrop-filter:blur(12px) saturate(1.1);backdrop-filter:blur(12px) saturate(1.1);border-color:var(--glass-player-rim);box-shadow:inset 0 1px 0 rgba(255,255,255,.65),0 14px 36px rgba(59,47,47,.12),0 2px 6px rgba(59,47,47,.06)}}}@media (prefers-reduced-transparency:reduce){.shell-bar--glass{background:var(--shell-bar-solid)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}}.phone-dock{background:var(--bg-surface);border:1px solid rgba(59,47,47,.08);border-radius:22px;padding-bottom:max(0px,calc(env(safe-area-inset-bottom, 0px) - 8px));box-shadow:0 14px 36px rgba(59,47,47,.12),0 2px 6px rgba(59,47,47,.06)}.phone-dock--joined{border-top-color:rgba(59,47,47,.06);border-top-left-radius:0;border-top-right-radius:0;box-shadow:0 8px 18px rgba(59,47,47,.08)}@media (max-width:639px){html[data-phone-dock]{--phone-dock-height:calc(68px + max(0px, calc(env(safe-area-inset-bottom, 0px) - 8px)))}}.shell-status{display:flex;min-width:0;align-items:center;gap:6px;font-size:12px;font-weight:600;line-height:16px;color:var(--text-secondary)}.shell-status--warn{color:var(--warning-dark,#B45309)}.shell-status--dark{color:#D4C4B5;font-weight:500}.shell-status--dark.shell-status--warn{color:#E08A5E}.shell-dot{width:8px;height:8px;flex-shrink:0;border-radius:9999px}.shell-dot--ok{background:var(--status-playing-on-dark)}.shell-dot--muted{background:rgba(120,113,108,.9)}.shell-dot--neutral{background:#A8A29E}.shell-spin{width:10px;height:10px;flex-shrink:0;border-radius:9999px;border:2px solid rgba(177,81,42,.25);border-top:2px solid var(--accent-warm);animation:shell-spin .9s linear infinite}.shell-status--dark .shell-spin{border-color:#E08A5E rgba(224,138,94,.3) rgba(224,138,94,.3)}.shell-fade{animation:shell-fade-in .18s cubic-bezier(.23,1,.32,1) both}.shell-start-ring{position:relative;display:inline-flex;border-radius:9999px}.shell-start-ring:after{content:"";position:absolute;inset:-5px;border-radius:9999px;border-left:2px solid transparent;border-bottom:2px solid transparent;border-top:2px solid transparent;border-top-color:var(--accent-warm);border-right:2px solid transparent;border-right-color:var(--accent-warm);pointer-events:none;animation:shell-spin .9s linear infinite,shell-fade-in 1ms linear .3s both}.shell-open-hint{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(59,47,47,.46);color:#FAF9F7;opacity:0;pointer-events:none;transition:opacity .16s cubic-bezier(.23,1,.32,1)}[data-shell-open]:focus-visible .shell-open-hint{opacity:1}@media (hover:hover) and (pointer:fine){[data-shell-open]:hover .shell-open-hint{opacity:1}}.shell-fade-late>*{animation:shell-fade-in .18s cubic-bezier(.23,1,.32,1) .4s both}.shell-seek-pulse{animation:shell-pulse 1.1s ease-in-out .3s infinite alternate}.shell-hint{position:absolute;bottom:calc(100% + 14px);left:50%;transform:translateX(-50%);white-space:nowrap;border-radius:9999px;background:var(--accent);color:#FAF9F7;padding:7px 12px;font-size:12.5px;font-weight:500;pointer-events:none;animation:shell-fade-in .24s cubic-bezier(.23,1,.32,1) both}.shell-hint:after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border:5px solid transparent;border-top:5px solid var(--accent)}.shell-ask{animation:shell-rise .24s cubic-bezier(.23,1,.32,1) both}@keyframes shell-spin{to{transform:rotate(1turn)}}@keyframes shell-fade-in{0%{opacity:0}}@keyframes shell-pulse{to{opacity:.25}}@keyframes shell-rise{0%{opacity:0;transform:translateY(8px)}}@media (prefers-reduced-motion:reduce){.shell-fade,.shell-fade-late>*,.shell-hint,.shell-seek-pulse,.shell-spin,.shell-start-ring:after{animation:none}.shell-open-hint{transition:none}.shell-ask{animation:shell-fade-in .18s linear both}}@media (min-width:1024px) and (prefers-reduced-motion:no-preference){.player-dock-slide{transition:translate .2s cubic-bezier(.23,1,.32,1)}.player-dock-slide[data-room-open]{translate:calc(var(--shell-rail-inset, 0px) / -2) 0;transition-duration:.32s}.room-bar:not([data-no-arrive]){animation:room-bar-arrive .32s cubic-bezier(.23,1,.32,1) backwards}.room-bar[data-leaving]{translate:calc(var(--shell-rail-inset, 0px) / 2) 0;transition:translate .2s cubic-bezier(.23,1,.32,1)}}@keyframes room-bar-arrive{0%{translate:calc(var(--shell-rail-inset, 0px) / 2) 0}}