:root{--bg-0: #04061a;--bg-1: #0a0e2a;--ink-1: #f2f0fa;--ink-2: #cfd2ec;--ink-3: #9aa0c8;--ink-4: #6a7099;--line: rgba(141, 151, 220, .28);--accent: #f4b942;--accent-soft: rgba(244, 185, 66, .14);--warn: #ff9c84;--mono: ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;--sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;color-scheme:dark}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg-0);color:var(--ink-2);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}button,a,input{touch-action:manipulation}.about{box-sizing:border-box;max-width:44rem;margin:0 auto;padding:9vh 24px 48px;line-height:1.6;color:var(--ink-3)}.about h1{margin:0 0 6px;font-size:22px;font-weight:700;letter-spacing:.02em;color:var(--ink-1)}.about h2{margin:26px 0 6px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-4)}.about p,.about ul{margin:0 0 10px}.about ul{padding-left:18px}.about a{color:var(--ink-2)}.about .about-loading{color:var(--accent)}a{color:var(--ink-2)}.app{display:flex;flex-direction:column;height:100%}.bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px 16px;padding:8px 16px;background:#06081aeb;border-bottom:1px solid var(--line);z-index:10}.bar h1{margin:0;font-size:15px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-1)}.tools{display:flex;flex-wrap:wrap;justify-content:flex-end;justify-self:end;gap:6px}@media(max-width:860px){.bar{grid-template-columns:1fr auto}.tools{grid-column:1 / -1;justify-self:stretch;justify-content:center}}.chip{height:28px;padding:0 12px;border-radius:14px;border:1px solid var(--line);font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--ink-3);transition:color .16s,border-color .16s,background-color .16s}.chip:hover{color:var(--ink-1)}.chip.on{color:var(--ink-1);border-color:var(--accent);background:var(--accent-soft)}.chip:disabled{opacity:.4;cursor:default}.chip:focus-visible,.pill-city:focus-visible,.close:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.chip.chip-music{height:40px;padding:0 28px;border-radius:20px;font-size:15px;letter-spacing:.08em;color:var(--ink-1);border-color:#8d97dc73;background:#8d97dc14}.chip.chip-music:hover{border-color:var(--accent)}.chip.chip-music.on{background:var(--accent-soft);border-color:var(--accent);box-shadow:0 0 18px #8d97dc4d}.stage{position:relative;flex:1;min-height:0;overflow:hidden;background:radial-gradient(1px 1px at 8% 14%,rgba(255,255,255,.55),transparent),radial-gradient(1px 1px at 23% 71%,rgba(255,255,255,.4),transparent),radial-gradient(1px 1px at 37% 9%,rgba(255,255,255,.35),transparent),radial-gradient(1.5px 1.5px at 61% 88%,rgba(200,220,255,.5),transparent),radial-gradient(1px 1px at 79% 22%,rgba(255,255,255,.45),transparent),radial-gradient(1px 1px at 91% 63%,rgba(255,240,220,.4),transparent),radial-gradient(1.5px 1.5px at 14% 47%,rgba(190,210,255,.35),transparent),radial-gradient(1px 1px at 69% 41%,rgba(255,255,255,.25),transparent),radial-gradient(ellipse at 50% 46%,#101a46,#0a0f2e 52%,#060820)}.globe-stage{position:absolute;inset:0;overflow:hidden;cursor:grab;touch-action:none;outline:none;user-select:none;-webkit-user-select:none}.globe-stage.dragging{cursor:grabbing}.globe-stage:focus-visible{box-shadow:inset 0 0 0 1px var(--accent)}.globe-gl,.globe-wind,.globe-svg,.globe-pills{position:absolute;left:0;top:0;display:block}.globe-wind{pointer-events:none}.globe-pills{width:100%;height:100%;pointer-events:none}.globe-fallback .sphere{fill:#0c2348;stroke:#3d5fb0;stroke-width:1px}.globe-fallback .graticule{fill:none;stroke:#a0beff1f;stroke-width:.8}.globe-fallback .land{fill:#2b5d4c;stroke:#5d9a80;stroke-width:.6;fill-rule:evenodd}.city{cursor:pointer}.city .hit{fill:transparent}.city .citylight{fill:url(#g-citylight)}.city .ring{fill:#ebe6f638;stroke:#ebe6f6e6;stroke-width:1px;stroke-linejoin:round}.city .dot{fill:#ebe6f6;stroke:#060919;stroke-width:.8px}.city .sel{fill:none;stroke:var(--accent);stroke-width:1.2px;stroke-dasharray:3 2.5}.city:hover .ring,.city:hover .dot{filter:brightness(1.25)}.pill-city{position:absolute;left:0;top:0;pointer-events:auto;display:inline-flex;align-items:center;gap:6px;height:21px;padding:0 8px;border-radius:11px;background:#080b20d6;border:1px solid rgba(141,151,220,.3);color:var(--ink-2);font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;box-shadow:0 2px 10px #0006;transition:border-color .16s,background-color .16s,color .16s}.pill-city:hover{background:#161c46f0;color:var(--ink-1)}.pill-city.selected{border-color:var(--accent);color:var(--ink-1)}.pc-name{overflow:hidden;text-overflow:ellipsis}.pc-temp{font-family:var(--mono);font-size:10px;font-weight:600;color:var(--tc);background:color-mix(in srgb,var(--tc) 16%,transparent);border-radius:4px;padding:0 4px}.panel{position:absolute;top:16px;right:16px;z-index:5;width:min(260px,calc(100% - 32px));max-height:calc(100% - 136px);overflow-y:auto;overscroll-behavior:contain;padding:14px 16px;border-radius:12px;background:#06081ae0;border:1px solid var(--line);box-shadow:0 8px 32px #00000080}.panel h2{margin:0 0 4px;font-size:16px;color:var(--ink-1)}.panel p{margin:4px 0}.panel .big{font-family:var(--mono);font-size:30px;font-weight:600;color:var(--ink-1)}.panel .dim{color:var(--ink-4);font-size:12px}.panel .close{position:sticky;top:0;z-index:1;float:right;width:24px;height:24px;margin:-6px -8px 0 6px;border-radius:12px;background:#06081ae6;font-size:18px;line-height:1;color:var(--ink-3)}.panel .close:hover{color:var(--ink-1)}.caption{position:absolute;left:16px;right:16px;bottom:12px;display:flex;flex-direction:column;gap:2px;font-size:11px;color:var(--ink-3);pointer-events:none;text-shadow:0 1px 3px #000}.caption .warn{color:var(--warn)}.caption .credit{color:var(--ink-4);pointer-events:auto}.stage-search{position:absolute;top:14px;left:16px;z-index:7;width:min(280px,calc(100% - 32px))}.search{position:relative;display:flex;align-items:center;width:100%;height:34px;border-radius:17px;border:1px solid rgba(141,151,220,.3);background:#080b20db;box-shadow:0 8px 26px #00000073;transition:border-color .16s,background-color .16s}.search:focus-within{border-color:var(--accent);background:#0a0d26f7}.search-icon{flex:none;width:14px;height:14px;margin:0 7px 0 11px;fill:none;stroke:var(--ink-4);stroke-width:1.6px;stroke-linecap:round}.search:focus-within .search-icon{stroke:var(--accent)}.search-field{position:relative;flex:1;min-width:0;height:100%}.search-field input,.search-ghost{position:absolute;inset:0;width:100%;margin:0;padding:0 12px 0 0;border:0;font:500 13px/32px var(--sans);letter-spacing:.01em}.search-field input{outline:0;background:transparent;color:var(--ink-1)}.search-field input::placeholder{color:var(--ink-4)}.search-ghost{color:var(--ink-4);white-space:pre;overflow:hidden;pointer-events:none}.search-ghost .typed{color:transparent}.search-list{position:absolute;left:0;top:calc(100% + 6px);z-index:20;width:max(100%,320px);max-width:calc(100vw - 32px);margin:0;padding:6px;list-style:none;border-radius:12px;background:#090c22fa;border:1px solid rgba(141,151,220,.25);box-shadow:0 18px 40px #0000008c}.search-list li{display:flex;align-items:baseline;gap:9px;padding:7px 10px;border-radius:8px;cursor:pointer;font-size:13px;color:var(--ink-2)}.search-list li[aria-selected=true]{background:var(--accent-soft);color:var(--ink-1)}.search-list .kind{flex:none;width:12px;text-align:center;font-size:10px;color:var(--ink-4)}.search-list .kind.country{color:#8fb8ff}.search-list .kind.place{color:var(--accent)}.search-list .name{white-space:nowrap}.search-list .name mark{background:none;color:var(--ink-1);font-weight:700}.search-list .note{color:var(--accent);font-size:11px}.search-list .detail{min-width:0;margin-left:auto;padding-left:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;color:var(--ink-4)}.pin-shape{fill:var(--accent);stroke:#080a1cd9;stroke-width:1.2px}.pin-hole{fill:#080a1cd9}.pin-label{font:600 12px var(--sans);fill:var(--ink-1);paint-order:stroke;stroke:#060818e6;stroke-width:3px;stroke-linejoin:round}.iss-track{fill:none;stroke:#a0e1ff80;stroke-width:1.2px;stroke-dasharray:1.5 4;stroke-linecap:round}.iss-track.past{stroke:#a0e1ff33;stroke-dasharray:none}.iss-foot{fill:#96dcff08;stroke:#a0e1ff38;stroke-width:1px;stroke-dasharray:3 5}.iss-path.selected .iss-foot{fill:#96dcff0f;stroke:#a0e1ff73}.iss-plumb{fill:none;stroke:#d2eeff80;stroke-width:1px;stroke-dasharray:1.5 2}.iss-ground{fill:#d6efff;stroke:#060818cc;stroke-width:1px}.iss{cursor:pointer;outline:none}.iss-hit{fill:transparent}.iss-halo{fill:url(#g-iss-halo);opacity:.85;transition:opacity .2s}.iss:hover .iss-halo,.iss.selected .iss-halo{opacity:1}.iss:focus-visible .iss-halo{stroke:var(--accent);stroke-width:1.5px}.iss-craft{filter:drop-shadow(0 1px 1.5px rgba(0,0,0,.65));transition:filter .4s}.iss-array{fill:url(#g-iss-array);stroke:#301c08bf;stroke-width:.5px}.iss-array.small{fill:#c99550}.iss-cells{fill:none;stroke:#38200a8c;stroke-width:.45px}.iss-truss{fill:#dfe5ef;stroke:#14182899;stroke-width:.4px}.iss-rad{fill:#f7f9fc;stroke:#14182880;stroke-width:.4px}.iss-module{fill:#f4f6fa;stroke:#1418288c;stroke-width:.5px}.iss.eclipsed .iss-craft{filter:brightness(.45) saturate(.6) drop-shadow(0 1px 1.5px rgba(0,0,0,.65))}.iss.eclipsed .iss-halo{opacity:.3}.iss-tag rect{fill:#080b20e0;stroke:#a0e1ff73;stroke-width:1px}.iss.selected .iss-tag rect{stroke:var(--accent)}.iss-tag text{font:700 9.5px var(--sans);letter-spacing:.12em;fill:#d8efff}.iss-3d{position:absolute;left:0;top:0;pointer-events:none}.iss-beacon{position:absolute;left:0;top:0;width:0;height:0;pointer-events:none}.iss-beacon i{position:absolute;left:-34px;top:-34px;width:68px;height:68px;border-radius:50%;border:1.4px solid rgba(160,225,255,.75);transform:scale(.35);opacity:0;will-change:transform,opacity;animation:iss-ping 3.2s cubic-bezier(.2,.6,.3,1) infinite}.iss-beacon i+i{animation-delay:-1.6s}@keyframes iss-ping{0%{transform:scale(.35);opacity:.8}to{transform:scale(1);opacity:0}}@media(prefers-reduced-motion:reduce){.iss-beacon{visibility:hidden}}.iss-panel{width:min(290px,calc(100% - 32px))}.iss-where{margin:10px 0 8px!important;font-weight:600;color:var(--ink-1)}.iss-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:0 0 6px}.iss-stats div{padding:6px 8px;border-radius:8px;background:#ffffff0a}.iss-stats dt{font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-4)}.iss-stats dd{margin:2px 0 0;font-family:var(--mono);font-size:12.5px;color:var(--ink-1)}.iss-follow{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0 2px}.iss-speed{display:inline-flex;gap:4px}.iss-speed .chip{height:24px;padding:0 9px;font-size:11px}.day-song{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}.day-song h3{margin:0 0 4px;font-size:13px;color:var(--accent)}.day-song .songs{margin-top:8px}.link{padding:0;border:0;background:none;font:inherit;color:var(--ink-1);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.link:hover{color:var(--accent)}.menu{position:relative}.menu-button .caret{margin-left:2px;font-size:9px;opacity:.7}.menu-list{position:absolute;top:calc(100% + 6px);z-index:30;display:flex;flex-direction:column;gap:2px;min-width:170px;padding:6px;max-height:calc(100vh - 80px);max-height:calc(100dvh - 80px);overflow-y:auto;overscroll-behavior:contain;border-radius:12px;background:#090c22fa;border:1px solid rgba(141,151,220,.25);box-shadow:0 18px 40px #0000008c}.menu-list.end{right:0}.menu-list.start{left:0}.menu-item{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:8px;text-align:left;font-size:13px;color:var(--ink-2)}.menu-item:hover,.menu-item:focus-visible{background:var(--accent-soft);color:var(--ink-1);outline:none}.menu-item:disabled{opacity:.4;cursor:default}.menu-item .tick{width:14px;font-size:12px;color:transparent}.menu-item .tick.on{color:var(--accent)}.corner{position:absolute;right:16px;bottom:12px;z-index:6;display:flex;flex-direction:column;align-items:flex-end}.zoom{position:absolute;right:16px;bottom:44px;z-index:4;display:flex;flex-direction:column;overflow:hidden;border-radius:16px;border:1px solid rgba(141,151,220,.3);background:#080b20d1;box-shadow:0 6px 20px #0006}.zoom-button{width:32px;height:32px;font-size:17px;line-height:1;color:var(--ink-2)}.zoom-button+.zoom-button{border-top:1px solid rgba(141,151,220,.2)}.zoom-button:hover{color:var(--ink-1);background:var(--accent-soft)}.zoom-button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.info{position:relative}.info-line{display:flex;align-items:center;gap:8px}.info-credit{font-size:10px;color:var(--ink-4);opacity:.75}.info-credit:hover{color:var(--ink-3);opacity:1}.info-button{width:22px;height:22px;border-radius:11px;border:1px solid rgba(141,151,220,.35);background:#080b20cc;font:italic 700 12px/20px Georgia,serif;color:var(--ink-3)}.info-button:hover,.info-button.on{color:var(--ink-1);border-color:var(--accent)}.info-button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.info-card{position:absolute;right:0;bottom:calc(100% + 10px);width:min(340px,calc(100vw - 32px));padding:12px 14px;border-radius:12px;max-height:calc(100vh - 160px);max-height:calc(100dvh - 160px);overflow-y:auto;overscroll-behavior:contain;background:#090c22f7;border:1px solid rgba(141,151,220,.25);box-shadow:0 18px 40px #0000008c;font-size:12px;color:var(--ink-2)}.info-card h3{margin:0 0 6px;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-4)}.info-card ul{margin:0 0 10px;padding:0 0 0 16px}.info-card ul:last-child{margin-bottom:0}.info-card li{margin:3px 0}.info-card a{color:var(--ink-1)}.info-card .info-privacy{margin:0;font-size:11px;line-height:1.5;color:var(--ink-4)}.caption{right:auto;max-width:calc(100% - 140px)}.toast{align-self:flex-start;padding:5px 10px;border-radius:10px;background:#080b20db}.wind-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.wind-legend{display:inline-flex;align-items:flex-start;gap:8px;padding-bottom:11px}.wind-scale{position:relative;width:132px;height:5px;margin-top:5px;border-radius:3px;background:linear-gradient(90deg,#b3d1ff,#f2f7ff 35%,#ffd67a 50%,#ff944d 66%,#ff5c85 88%)}.wind-scale .tick{position:absolute;top:8px;transform:translate(-50%);font-family:var(--mono);font-size:9.5px;color:var(--ink-4)}.wind-scale .tick:first-child{transform:none}.wind-legend .unit{font-size:10px;color:var(--ink-4);line-height:15px}.caption .credit a{color:var(--ink-3)}@media(pointer:coarse){.chip{height:34px;padding:0 13px}.zoom-button{width:40px;height:40px;font-size:20px}.info-button{width:30px;height:30px;font-size:14px;line-height:28px}.panel .close{width:36px;height:36px;margin:-8px -10px 0 6px;border-radius:18px;font-size:22px}.menu-item{padding:10px 12px;font-size:14px}.search-list li{padding:10px}.iss-speed .chip{height:30px}.chip:active,.zoom-button:active,.info-button:active,.menu-item:active,.panel .close:active{background-color:var(--accent-soft)}}@media(max-width:640px){.bar{gap:6px 10px;padding:6px 10px 8px}.bar h1{font-size:13px;letter-spacing:.12em}.chip.chip-music{height:36px;padding:0 20px;font-size:14px}.tools{gap:5px}.stage-search{top:10px;left:10px;width:calc(100% - 70px)}.search{height:40px;border-radius:20px}.search-field input,.search-ghost{font-size:16px;line-height:38px}.zoom{top:10px;right:10px;bottom:auto}.panel,.iss-panel{inset:auto 8px 42px;width:auto;max-height:38%;padding:12px 14px;border-radius:16px}.corner{right:10px;bottom:6px}.caption{left:10px;bottom:42px;max-width:calc(100% - 20px)}}@media(max-height:500px)and (orientation:landscape){.bar{grid-template-columns:auto auto 1fr;gap:6px 10px;padding:5px 12px}.bar h1{font-size:13px;letter-spacing:.12em}.tools{grid-column:auto;justify-self:end;justify-content:flex-end}.chip.chip-music{height:34px;padding:0 16px;font-size:14px}.stage-search{top:8px;left:12px;width:min(260px,40%)}.zoom{top:auto;right:12px;bottom:44px}.panel-open .zoom{visibility:hidden}.panel,.iss-panel{inset:8px 12px auto auto;width:280px;max-height:calc(100% - 52px)}.corner{right:12px;bottom:12px}.caption{bottom:12px;max-width:calc(100% - 300px)}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.chip-music.on{border-color:transparent;color:#fff;background:linear-gradient(135deg,#e4572e,#f4b942);box-shadow:0 0 18px #f4b94259}.pill-city{animation:fade-in .26s ease-out}.city{animation:fade-in .32s ease-out}@keyframes fade-in{0%{opacity:0}}.pill-city .pc-chip{display:none}.pill-city.compact{gap:0;padding:0 6px;justify-content:center;border-color:color-mix(in srgb,var(--tc, #9aa0c8) 45%,transparent);background:color-mix(in srgb,var(--tc, #9aa0c8) 18%,rgba(8,11,32,.88))}.pill-city.compact .pc-name,.pill-city.compact .pc-temp,.pill-city.compact .pc-note{display:none}.pill-city.compact .pc-chip{display:inline;font-family:var(--mono);font-size:10px;font-weight:700;color:var(--tc)}.pc-note{color:#f4b942;font-size:12px;line-height:1;margin-right:-2px}.pill-city.noted{border-color:#f4b9428c;box-shadow:0 2px 12px #0006,0 0 12px #f4b9422e}.pill-city.playing{border-color:#f4b942;color:var(--ink-1);background:linear-gradient(90deg,#e4572e52,#080b20e6 70%)}.music-mode .pill-city:not(.noted):not(.selected){opacity:.55}.music-mode .pill-city:not(.noted):not(.selected):hover{opacity:1}.pc-eq{display:inline-flex;align-items:flex-end;gap:1.5px;height:10px;margin-right:0}.pc-eq i{width:2px;height:100%;border-radius:1px;background:#f4b942;transform:scaleY(.4);transform-origin:bottom;animation:eq .78s ease-in-out infinite alternate}.pc-eq i:nth-child(2){animation-delay:-.26s}.pc-eq i:nth-child(3){animation-delay:-.52s}.city.music .ring{stroke:#f4b942;fill:#f4b94247}.city.music .dot{fill:#ffe2a3}.city.playing .ring{stroke:#ff8a5c;fill:#ff8a5c59}.playing-waves{position:absolute;left:0;top:0;width:0;height:0;pointer-events:none}.playing-waves i{position:absolute;left:-31px;top:-31px;width:62px;height:62px;border-radius:50%;border:1.8px solid #f4b942;transform:scale(.26);opacity:.9;will-change:transform,opacity;animation:wave 2.4s cubic-bezier(.2,.6,.3,1) infinite}.playing-waves i:nth-child(2){animation-delay:-.8s}.playing-waves i:nth-child(3){animation-delay:-1.6s}@keyframes wave{0%{transform:scale(.2);opacity:.9}to{transform:scale(1);opacity:0}}@media(prefers-reduced-motion:reduce){.playing-waves i{left:-8px;top:-8px;width:16px;height:16px;border-width:1.4px;transform:none}.playing-waves i+i{display:none}}.dock{position:absolute;left:16px;bottom:72px;z-index:3;width:360px;max-width:calc(100% - 32px);padding:14px 16px 12px;border-radius:22px;overflow:hidden;overflow:clip;color:var(--ink-1);isolation:isolate;background:linear-gradient(160deg,#1e2042f2,#080a1cf7);border:1px solid rgba(255,255,255,.09);box-shadow:0 24px 60px #0000008c,inset 0 1px #ffffff14;animation:dock-in .46s cubic-bezier(.2,.9,.3,1.15)}@keyframes dock-in{0%{opacity:0;transform:translateY(24px) scale(.97)}}.dock>*{position:relative;z-index:1}.dock button:focus-visible,.dock a:focus-visible,.dock input:focus-visible,.songs button:focus-visible{outline:2px solid var(--s1, var(--accent));outline-offset:2px}.dock .dock-glow{position:absolute;inset:0;z-index:0;overflow:hidden;overflow:clip;pointer-events:none}.dock-glow-img{width:100%;height:100%;object-fit:cover;transform:scale(1.6);filter:blur(52px) saturate(1.7);opacity:.5;animation:fade-in .9s ease-out}.dock-glow:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,transparent 0%,rgba(8,10,28,.55) 70%)}.dock-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.dock-eyebrow{display:inline-flex;align-items:center;gap:7px;min-width:0;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap;overflow:hidden}.dock-eyebrow .dot{color:var(--ink-4)}.dock-place{padding:0;letter-spacing:inherit;text-transform:inherit;font-weight:inherit;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis}.dock-place:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}.dock-actions{display:inline-flex;gap:2px;margin-right:-6px}.eq{display:inline-flex;align-items:flex-end;gap:2px;height:11px}.eq i{width:2.5px;height:100%;border-radius:1px;background:var(--s1, var(--accent));transform:scaleY(.3);transform-origin:bottom;animation:eq .82s ease-in-out infinite alternate;animation-play-state:paused}.eq.on i{animation-play-state:running}.eq i:nth-child(2){animation-delay:-.3s;background:var(--s2, var(--accent))}.eq i:nth-child(3){animation-delay:-.6s}.eq i:nth-child(4){animation-delay:-.15s;background:var(--s2, var(--accent))}@keyframes eq{0%{transform:scaleY(.2)}to{transform:scaleY(1)}}.dock-now{display:grid;grid-template-columns:84px 1fr;gap:14px;align-items:center;margin-top:12px;animation:now-in .42s ease-out}.dock-now.empty{grid-template-columns:1fr}@keyframes now-in{0%{opacity:0;transform:translate(-10px)}}.dock-cover{display:block;width:84px;height:84px;border-radius:12px;object-fit:cover;box-shadow:0 12px 28px #0000008c,0 0 0 1px #ffffff1a}.dock-cover.pic-none,.song-art.pic-none,.disc-art.pic-none{background:linear-gradient(135deg,var(--s1, #e4572e),var(--s2, #f4b942))}.dock-meta{min-width:0}.dock-title{margin:0;font-size:18px;font-weight:750;line-height:1.2;letter-spacing:-.01em;color:#fff;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dock-artist{display:flex;align-items:center;gap:8px;margin:6px 0 0;font-size:13px;color:var(--ink-2)}.dock-avatar{flex:none;width:24px;height:24px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1.5px #ffffffbf,0 2px 8px #00000080}.dock-avatar.pic-none{display:none}.dock-tags{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0 0}.tag{padding:2px 8px;border-radius:999px;font-size:10.5px;font-weight:600;color:var(--ink-2);background:#ffffff14;border:1px solid rgba(255,255,255,.1)}.tag.weather{font-family:var(--mono);font-size:10px;color:#ffe2a3}.dock-hint{margin:6px 0 0;font-size:12.5px;line-height:1.45;color:var(--ink-3)}.dock-world{display:inline-flex;align-items:center;gap:8px;height:36px;margin-top:12px;padding:0 16px;border-radius:18px;font-size:13px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--s1),var(--s2));box-shadow:0 8px 22px #e4572e59;transition:transform .16s}.dock-world:hover{transform:translateY(-1px)}.dock-world.dock-day{margin-left:8px;background:transparent;border:1px solid rgba(244,185,66,.6);color:#f6d48c;box-shadow:none}.dock-world .ic{width:16px;height:16px}.dock-deck{display:block;max-width:290px;margin:14px auto 6px;filter:drop-shadow(0 16px 22px rgba(0,0,0,.55))}.dock-deck .cassette{display:block;width:100%;height:auto;animation:deck-in .56s cubic-bezier(.2,.9,.3,1.1)}@keyframes deck-in{0%{opacity:0;transform:translateY(26px) rotate(-2deg)}}.cassette .cs-edge{stroke:#ffffff24;stroke-width:1}.cassette .cs-title{font-family:Segoe Print,Bradley Hand,Marker Felt,Comic Sans MS,cursive;font-size:17px;font-weight:700;fill:#1d2440}.cassette .cs-artist{font-family:var(--sans);font-size:8.5px;font-weight:700;letter-spacing:.16em;fill:#5b5f7a}.cassette .cs-rule{stroke:#1d244038;stroke-width:1}.cassette .cs-side{fill:none;stroke:#1d2440;stroke-width:1.2}.cassette .cs-side-a{font-family:var(--sans);font-size:11px;font-weight:800;fill:#1d2440}.cassette .cs-model{font-family:var(--sans);font-size:6.5px;font-weight:700;letter-spacing:.22em;fill:#ffffffd9}.cassette .cs-window-rim{stroke:#ffffff38;stroke-width:1.2}.cassette .cs-hub{fill:#ece8df;stroke:#00000059;stroke-width:.8}.cassette .cs-hub-hole{fill:#171926}.cassette .cs-tooth{fill:#ece8df}.cassette .cs-hub-mark{fill:#b9b2a2}.cassette .cs-tick{stroke:#ffffff4d;stroke-width:1}.cassette .cs-head{fill:#06071080;stroke:#ffffff12}.cassette .cs-tape-run{stroke:#4a2c1d;stroke-width:2.4;stroke-linecap:round}.cassette .cs-hole{fill:#06070d}.cassette .cs-screw circle{fill:#8d91a8;stroke:#23263a;stroke-width:.8}.cassette .cs-screw path{stroke:#23263a;stroke-width:1}.dock-time{display:grid;grid-template-columns:34px 1fr 34px;align-items:center;gap:8px;margin-top:4px;font-family:var(--mono);font-size:10.5px;color:var(--ink-3)}.dock-time span:last-child{text-align:right}.dock-range{-webkit-appearance:none;appearance:none;width:100%;height:4px;margin:0;border-radius:2px;cursor:pointer;background:linear-gradient(90deg,var(--s1),var(--s2)) 0 / var(--p, 0%) 100% no-repeat,#ffffff24}.dock-range::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px #ffffff26,0 2px 6px #00000080}.dock-range::-moz-range-thumb{width:12px;height:12px;border:0;border-radius:50%;background:#fff;box-shadow:0 0 0 3px #ffffff26,0 2px 6px #00000080}.dock-volume{display:flex;align-items:center;gap:6px;max-width:220px;margin:6px auto 0}.dock-volume .dock-range{height:3px}.dock-icon.small{flex:none;width:28px;height:28px}.dock-icon.small .ic{width:16px;height:16px}.dock-icon.small[aria-pressed=true]{color:var(--warn)}.dock-controls{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:8px}.dock-icon{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;color:var(--ink-3);transition:color .16s,background-color .16s}.dock-icon:hover{color:#fff;background:#ffffff14}.dock-icon.on{color:#fff;background:color-mix(in srgb,var(--s1) 35%,transparent)}.dock-icon:disabled{opacity:.35;cursor:default}.dock-icon.big{width:40px;height:40px;color:var(--ink-2)}.dock .ic,.songs .ic{width:18px;height:18px;fill:currentColor}.dock-icon.big .ic{width:22px;height:22px}.dock-play{display:inline-grid;place-items:center;width:54px;height:54px;border-radius:50%;color:#fff;background:linear-gradient(135deg,var(--s1),var(--s2));box-shadow:0 10px 26px color-mix(in srgb,var(--s1) 55%,transparent),inset 0 1px #ffffff59;transition:transform .14s}.dock-play:hover{transform:scale(1.05)}.dock-play:active{transform:scale(.96)}.dock-play .ic{width:26px;height:26px}.dock-note{margin:10px 0 0;padding:7px 10px;border-radius:9px;font-size:11.5px;color:var(--ink-2);background:#ffffff12}.dock-note.warn{color:var(--warn)}.dock-credit{margin:8px 0 0;font-size:10px;text-align:center;color:var(--ink-4)}.dock-credit a{color:var(--ink-3)}.dock.folded{display:flex;align-items:center;gap:12px;width:330px;padding:10px 10px 10px 12px;border-radius:20px}.disc{position:relative;flex:none;width:46px;height:46px;border-radius:50%;overflow:hidden;overflow:clip;background:repeating-radial-gradient(circle,#0c0d14 0 1px,#1d1f2c 1px 3px);box-shadow:0 4px 14px #0009;animation:spin 3.2s linear infinite;animation-play-state:paused}.disc.on{animation-play-state:running}.disc-art{position:absolute;inset:9px;width:calc(100% - 18px);height:calc(100% - 18px);border-radius:50%;object-fit:cover}.disc:after{content:"";position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:#0b0c14;box-shadow:0 0 0 1px #fff3}@keyframes spin{to{transform:rotate(360deg)}}.dock-mini-meta{display:flex;flex:1;flex-direction:column;min-width:0}.dock-mini-meta b,.dock-mini-meta span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dock-mini-meta b{font-size:13.5px;color:#fff}.dock-mini-meta span{font-size:11.5px;color:var(--ink-3)}.dock.folded .dock-play{width:42px;height:42px}.dock.folded .dock-play .ic{width:20px;height:20px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.panel .country{margin-top:-2px;text-transform:uppercase;letter-spacing:.12em;font-size:10.5px}.songs{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}.songs h3{margin:0 0 6px;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#f4b942}.songs ul{max-height:min(36vh,240px);margin:0;padding:0;overflow-y:auto;overscroll-behavior:contain;list-style:none}.songs li+li{margin-top:2px}.song{display:grid;grid-template-columns:36px 1fr 18px;align-items:center;gap:10px;width:100%;padding:5px 6px;border-radius:10px;text-align:left;transition:background-color .14s}.song:hover{background:#ffffff0f}.song.on{background:#f4b9421f}.song-art{display:block;width:36px;height:36px;border-radius:7px;object-fit:cover;box-shadow:0 2px 8px #00000073}.song-meta{display:flex;flex-direction:column;min-width:0}.song-meta b,.song-meta span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song-meta b{font-size:12.5px;color:var(--ink-1)}.song-meta span{font-size:11px;color:var(--ink-3)}.song .ic{width:16px;height:16px;color:var(--ink-3)}.song .eq i{background:#f4b942}@media(max-height:760px){.dock-deck{max-width:230px;margin-top:10px}}@media(max-height:640px){.dock-deck{display:none}}@media(max-width:640px){.dock{left:8px;right:8px;bottom:42px;width:auto;max-width:none;padding:12px 12px 10px}.panel-open .dock{visibility:hidden}.dock.folded{width:auto}.dock-deck{max-width:210px}.dock-now{grid-template-columns:64px 1fr}.dock-cover{width:64px;height:64px}}@media(max-height:500px)and (orientation:landscape){.dock{left:16px;right:auto;bottom:72px;width:360px;max-width:calc(100% - 80px)}}
