:root{--bg: #061018;--ink: #f6f1e6;--muted: rgba(246, 241, 230, .66);--gold: #ffd166;--gold-deep: #e2a62e;--glass: rgba(6, 14, 24, .78);--line: rgba(255, 236, 200, .16);--font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-text: Georgia, "Times New Roman", serif;color:var(--ink);background:var(--bg);font-family:var(--font-ui)}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;background:var(--bg);overflow:hidden;overscroll-behavior:none;-webkit-text-size-adjust:100%}button{font:inherit;color:inherit;touch-action:manipulation}.shell{height:100%}.globe-host,.globe-host.mapboxgl-map{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;touch-action:none;overscroll-behavior:none}.globe-host canvas,.globe-host .mapboxgl-canvas{display:block;touch-action:none}.globe-host .mapboxgl-ctrl-bottom-right{bottom:22px}.globe-host .mapboxgl-ctrl-bottom-left{bottom:96px}.globe-host .mapboxgl-ctrl-group{background:#060e18d1;border:1px solid var(--line);box-shadow:0 10px 24px #00000059}.globe-host .mapboxgl-ctrl-group button{background-color:transparent;width:36px;height:36px}.globe-host .mapboxgl-ctrl-group button+button{border-top-color:var(--line)}.globe-host .mapboxgl-ctrl-icon{filter:invert(1) brightness(1.15)}.globe-host .mapboxgl-ctrl-geolocate{margin-bottom:8px}.globe-host .mapboxgl-ctrl-attrib{background:#060e188c;color:#f6f1e6b3}.globe-host .mapboxgl-ctrl-attrib a{color:inherit}.map-missing{display:grid;place-items:center;color:var(--muted);background:var(--bg);font-size:14px}.vignette{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;background:radial-gradient(ellipse at center,transparent 42%,rgba(0,0,0,.28) 100%),linear-gradient(to top,rgba(4,8,14,.45),transparent 22%)}.saucer{position:fixed;left:18px;bottom:118px;z-index:6;pointer-events:none;filter:drop-shadow(0 12px 16px rgba(0,0,0,.35));animation:saucer-float 4.8s ease-in-out infinite}@keyframes saucer-float{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-12px) rotate(3deg)}}.dock{position:fixed;top:14px;left:14px;z-index:7;display:flex;flex-direction:column;align-items:flex-start;gap:8px;pointer-events:none}.brand{display:flex;align-items:center;gap:12px;pointer-events:none}.brand-mark{width:56px;height:56px;border-radius:16px;object-fit:cover;box-shadow:0 10px 28px #0006}.brand-copy{display:flex;flex-direction:column;gap:2px}.brand-name{margin:0;font-size:22px;font-weight:700;letter-spacing:-.02em;line-height:1.05;text-shadow:0 2px 16px rgba(0,0,0,.55)}.brand-meta{margin:0;font-size:12px;font-weight:500;color:var(--muted);text-shadow:0 1px 10px rgba(0,0,0,.45)}.aim{position:fixed;left:50%;top:50%;z-index:4;width:92px;height:92px;transform:translate(-50%,-50%);pointer-events:none}.aim-ring{position:absolute;top:14px;right:14px;bottom:14px;left:14px;border:1.5px solid rgba(255,250,240,.95);border-radius:50%;box-shadow:0 0 0 1px #00000073,0 0 18px #00000047}.aim-dot{position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 2px #00000080}.aim-tick{position:absolute;background:#fffaf0eb;box-shadow:0 0 0 1px #00000059}.aim-tick-n,.aim-tick-s{left:50%;width:1.5px;height:8px;margin-left:-.75px}.aim-tick-n{top:0}.aim-tick-s{bottom:0}.aim-tick-e,.aim-tick-w{top:50%;width:8px;height:1.5px;margin-top:-.75px}.aim-tick-w{left:0}.aim-tick-e{right:0}.aim.finding .aim-ring{animation:aim-pulse 1.6s ease-in-out infinite}@keyframes aim-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.07);opacity:.55}}.mosaic{position:fixed;top:0;right:0;bottom:0;z-index:6;width:min(460px,42vw);height:100%;padding:8px 8px 8px 0;pointer-events:none;opacity:0;transition:opacity .45s ease}.mosaic.on{opacity:1;pointer-events:auto}.mosaic.place-only{height:auto;padding:18px 10px 0 0;opacity:1;pointer-events:none}.mosaic-place{position:absolute;top:18px;left:0;right:10px;z-index:3;padding:14px 16px 16px;border-radius:16px;background:linear-gradient(180deg,#060e18f0,#060e18c7);border:1px solid rgba(255,236,200,.14);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);box-shadow:0 12px 28px #00000047;pointer-events:none}.mosaic.place-only .mosaic-place{position:relative;top:auto;left:auto;right:auto}.mosaic-place-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.mosaic-place-head .mosaic-place-title{flex:1;min-width:0}.strip-toggle{pointer-events:auto;flex:0 0 auto;width:36px;height:22px;margin-top:3px;padding:2px;border:1px solid rgba(255,236,200,.28);border-radius:999px;background:#ffffff14;cursor:pointer}.strip-toggle-knob{display:block;width:16px;height:16px;border-radius:50%;background:#f6f1e6e0;transition:transform .16s ease}.strip-toggle.on{background:var(--gold);border-color:transparent}.strip-toggle.on .strip-toggle-knob{transform:translate(14px);background:#1c1406}.mosaic-place-kicker{margin:0;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}.mosaic-place-title{margin:4px 0 0;font-size:clamp(20px,2.4vw,28px);font-weight:700;letter-spacing:-.03em;line-height:1.05}.mosaic-place-copy{margin:8px 0 0;font-family:var(--font-text);font-size:13px;line-height:1.45;color:#f6f1e6d1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.mosaic-mask{height:100%;overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 120px,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(to bottom,transparent,#000 120px,#000 calc(100% - 28px),transparent)}.mosaic-track{will-change:transform}.mosaic.on .mosaic-track{animation-name:mosaic-scroll;animation-timing-function:linear;animation-iteration-count:infinite}@keyframes mosaic-scroll{0%{transform:translateY(0)}to{transform:translateY(-50%)}}.tile-columns{display:flex;align-items:flex-start;gap:8px;width:100%;margin-bottom:8px}.mosaic-column{display:flex;flex-direction:column;gap:8px;flex:none;min-width:0}.tile{position:relative;width:100%;margin:0;border-radius:14px;overflow:hidden;background:#101820;box-shadow:0 10px 24px #00000052;transition:z-index 0s linear .35s}.tile:hover,.tile:focus-within{z-index:20;overflow:visible;transition:z-index 0s}.tile img,.tile video{width:100%;height:100%;object-fit:cover;object-position:center;display:block;background:#17202a;border-radius:14px;transform:scale(1);transform-origin:center center;transition:transform .4s ease,box-shadow .4s ease}.tile:hover img,.tile:hover video,.tile:focus-within img,.tile:focus-within video{transform:scale(1.85);box-shadow:0 18px 42px #0000008c}.tile figcaption{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:28px 12px 12px;border-radius:0 0 14px 14px;background:linear-gradient(to top,#060a10e0,#060a1000);opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .22s ease,transform .22s ease}.tile:hover figcaption,.tile:focus-within figcaption{opacity:1;transform:none}.tile figcaption strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;font-weight:600;line-height:1.25}.mosaic-wait{margin:140px 16px 0 0;font-size:13px;color:var(--muted);text-align:right}.player-stack{position:fixed;left:14px;bottom:22px;z-index:8;width:min(332px,calc(100vw - 28px));display:flex;flex-direction:column;align-items:stretch;gap:8px}.player-fav-bar{display:flex;justify-content:flex-start}.fav-drawer-btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 11px 0 10px;border-radius:999px;border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 8px 18px #00000047;font-size:12px;font-weight:600;letter-spacing:.01em;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.fav-drawer-btn:hover{border-color:#ffd16666}.fav-drawer-btn.on{color:var(--gold);border-color:#ffd1668c;background:#ffd1661f}.fav-drawer-count{min-width:1.25em;padding:0 5px;border-radius:999px;background:#ffd1662e;color:var(--gold);font-variant-numeric:tabular-nums;line-height:16px;text-align:center}.player-drawer{display:flex;flex-direction:column;gap:8px;padding:8px;border-radius:18px;background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(16px) saturate(1.3);backdrop-filter:blur(16px) saturate(1.3);box-shadow:0 18px 40px #00000059}.player-drawer[hidden]{display:none}.fav-list{--fav-row: 40px;--fav-gap: 4px;display:flex;flex-direction:column;gap:var(--fav-gap);max-height:calc(10 * var(--fav-row) + 9 * var(--fav-gap));overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(255,236,200,.35) transparent}.fav-list::-webkit-scrollbar{width:6px}.fav-list::-webkit-scrollbar-thumb{border-radius:999px;background:#ffecc859}.fav-empty{display:flex;align-items:flex-start;gap:8px;margin:0;padding:12px 10px;font-size:12px;line-height:1.35;color:var(--muted)}.fav-empty svg{flex:0 0 auto;margin-top:1px;color:var(--gold-deep);opacity:.85}.fav-card{display:flex;align-items:center;gap:8px;width:100%;height:var(--fav-row, 40px);min-height:var(--fav-row, 40px);padding:0 10px;border-radius:12px;border:1px solid transparent;background:#ffffff08;text-align:left;cursor:pointer;flex:0 0 auto;transition:background .15s ease,border-color .15s ease}.fav-card:hover{background:#ffffff12}.fav-card-icon{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:#ffd1661a;color:var(--gold);flex:0 0 auto}.fav-card strong{display:block;min-width:0;flex:1;font-size:12px;font-weight:600;white-space:normal}.fav-card .name,.player-copy .name{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fav-card .place,.player-copy .place{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:1px;font-size:11px;font-weight:500;color:#f6f1e6b8}.fav-card.on{border-color:#ffd1668c;background:#ffd1661a}.player{position:relative;display:flex;flex-direction:column;gap:12px;align-items:stretch;padding:14px 12px 12px;border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.04),transparent 40%),var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(18px) saturate(1.35);backdrop-filter:blur(18px) saturate(1.35);box-shadow:0 18px 40px #00000059}.player.playing{border-color:#ffd16647}.player-copy{min-width:0}.player-title{display:flex;align-items:flex-start;gap:8px;min-width:0}.player-meta{flex:1;min-width:0}.player-title .fav{flex:0 0 auto;width:34px;height:34px}.player-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.player-progress{position:absolute;left:16px;right:16px;top:0;height:2px;overflow:hidden;border-radius:2px;background:#ffffff14}.player-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--gold-deep),var(--gold))}.transport{display:flex;align-items:center;gap:5px}.transport button,.locate,.fav{display:grid;place-items:center;width:40px;height:40px;padding:0;border-radius:50%;border:1px solid var(--line);background:#ffffff0b;color:var(--ink);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .12s ease}.transport button:hover:not(:disabled),.locate:hover,.fav:hover:not(:disabled),.surprise:hover:not(:disabled){background:#ffffff17;border-color:#ffecc847}.transport button:active:not(:disabled),.locate:active,.fav:active:not(:disabled),.surprise:active:not(:disabled){transform:scale(.96)}.transport button.primary{width:48px;height:48px;background:var(--gold);color:#1c1406;border-color:transparent;box-shadow:0 6px 16px #ffd16647}.transport button.primary:hover:not(:disabled){background:#ffe08a;border-color:transparent}.transport button:disabled,.fav:disabled,.surprise:disabled{opacity:.35;cursor:default}.player-meta strong{display:block;font-size:15px;font-weight:650;letter-spacing:-.01em;line-height:1.2}.player-sub,.player-hint{display:flex;align-items:center;gap:4px;margin-top:4px;font-size:12px;color:var(--muted)}.player-sub svg{flex:0 0 auto;opacity:.85}.player-sub span,.player-hint{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-hint{display:block;margin-top:3px;font-size:11px}.player-side{display:flex;align-items:center;gap:5px}.surprise{display:inline-flex;align-items:center;gap:5px;height:40px;padding:0 11px;border-radius:999px;border:1px solid var(--line);background:#ffffff0b;font-size:12px;font-weight:600;white-space:nowrap;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .12s ease}.fav.on{color:var(--gold-deep);border-color:#e2a62eb3;background:#ffd16624}@media(max-width:800px){.mosaic{width:min(240px,52vw);padding-right:6px}.mosaic-place{top:12px;right:6px;padding:10px 12px 12px}.mosaic-place-title{font-size:16px}.mosaic-place-copy{font-size:11px;-webkit-line-clamp:2}.mosaic-mask{-webkit-mask-image:linear-gradient(to bottom,transparent,#000 96px,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(to bottom,transparent,#000 96px,#000 calc(100% - 28px),transparent)}.mosaic-wait{margin-top:110px}.player-stack{left:8px;bottom:12px;width:min(332px,calc(100vw - 16px))}.player{gap:10px;padding:12px 10px 10px}.player-meta strong{font-size:14px}.player-side{justify-content:flex-end}.surprise{padding:0 9px;font-size:11px}.transport button,.locate,.fav{width:36px;height:36px}.transport button.primary{width:42px;height:42px}.saucer{left:8px;bottom:120px}.saucer svg{width:112px;height:auto}.globe-host .mapboxgl-ctrl-bottom-left,.globe-host .mapboxgl-ctrl-bottom-right{bottom:118px}}@media(prefers-reduced-motion:reduce){.aim.finding .aim-ring,.mosaic.on .mosaic-track,.saucer{animation:none}}
