*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#fff;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",sans-serif}.app-viewport,.app-viewport iframe{width:100%;height:100%;border:0;background:#fff}.global-player{position:fixed;z-index:100;right:18px;bottom:18px;width:190px;max-width:calc(100vw - 28px);height:48px;padding:5px 11px 5px 5px;display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:8px;overflow:hidden;border:1px solid rgba(255,255,255,.72);border-radius:15px;background:rgba(248,251,252,.82);box-shadow:0 14px 38px rgba(24,64,89,.16),inset 0 1px 0 rgba(255,255,255,.8);backdrop-filter:blur(22px) saturate(135%);will-change:width,padding,border-radius;transition:width .58s cubic-bezier(.22,.8,.24,1),max-width .58s cubic-bezier(.22,.8,.24,1),padding .58s cubic-bezier(.22,.8,.24,1),gap .52s cubic-bezier(.22,.8,.24,1),border-radius .52s cubic-bezier(.22,.8,.24,1),box-shadow .42s ease}.global-player[hidden]{display:none}.global-disc{position:relative;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:transparent;color:#fff;transform:scale(1);transition:transform .5s cubic-bezier(.22,.8,.24,1);cursor:pointer}.global-disc i{position:absolute;inset:1px;border-radius:50%;background:repeating-radial-gradient(circle,#202225 0 2px,#383b40 3px 4px,#181a1d 5px 7px);box-shadow:0 2px 8px rgba(0,0,0,.16)}.global-disc i:after{content:"";position:absolute;inset:12px;border:1.5px solid rgba(255,255,255,.72);border-radius:50%;background:#7a9aac}.global-disc em{position:relative;z-index:1;display:grid;place-items:center;width:100%;height:100%;padding-left:1px;font-size:7px;font-style:normal}.global-disc.playing i{animation:global-record-spin 3.2s linear infinite}@keyframes global-record-spin{to{transform:rotate(360deg)}}.global-track{min-width:0;max-width:130px;opacity:1;filter:blur(0);transform:translateX(0);transform-origin:left center;transition:max-width .54s cubic-bezier(.22,.8,.24,1),opacity .3s ease .1s,filter .38s ease,transform .5s cubic-bezier(.22,.8,.24,1)}.global-track small,.global-track b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.global-track small{font-size:7px;line-height:9px;letter-spacing:.1em;color:#6c7c87}.global-track b{max-width:125px;margin-top:1px;font-size:12px;line-height:16px;font-weight:500;color:#172432}.global-player.compact{width:48px;max-width:48px;padding:5px;gap:0;border-radius:24px;box-shadow:0 8px 24px rgba(24,64,89,.12)}.global-player.compact .global-track{max-width:0;opacity:0;filter:blur(3px);transform:translateX(-5px) scale(.97);pointer-events:none;transition:max-width .52s cubic-bezier(.22,.8,.24,1),opacity .22s ease,filter .3s ease,transform .42s cubic-bezier(.22,.8,.24,1)}.global-player.compact .global-disc{transform:scale(.96)}.global-player.compact:hover,.global-player.compact:focus-within{width:190px;max-width:calc(100vw - 28px);padding:5px 11px 5px 5px;gap:8px;border-radius:15px}.global-player.compact:hover .global-track,.global-player.compact:focus-within .global-track{max-width:130px;opacity:1;filter:none;transform:none}.global-player.compact:hover .global-disc,.global-player.compact:focus-within .global-disc{transform:scale(1)}.spotify-engine,#global-spotify-embed{position:fixed!important;z-index:-1!important;left:0!important;top:0!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:.001!important;pointer-events:none!important}.spotify-engine iframe,#global-spotify-embed iframe,iframe[src*="open.spotify.com/embed"]{position:absolute!important;left:0!important;top:0!important;width:300px!important;height:152px!important;max-width:none!important;opacity:.001!important;pointer-events:none!important;transform:none!important}@media(max-width:600px){.global-player{right:10px;bottom:10px}}@media(prefers-reduced-motion:reduce){.global-player,.global-track,.global-disc{transition:none}.global-disc.playing i{animation:none}}
.focus-mini{position:fixed;z-index:101;right:18px;bottom:76px;min-width:132px;height:42px;padding:0 14px;border:1px solid rgba(255,255,255,.72);border-radius:15px;background:rgba(248,251,252,.86);box-shadow:0 14px 38px rgba(24,64,89,.16),inset 0 1px 0 rgba(255,255,255,.8);backdrop-filter:blur(22px) saturate(135%);color:#172432;cursor:pointer;text-align:left}.focus-mini[hidden]{display:none}.focus-mini span,.focus-mini b{display:block}.focus-mini span{font-size:10px;letter-spacing:.04em;color:#6c7c87}.focus-mini b{margin-top:1px;font-size:12px;font-weight:500}@media(max-width:600px){.focus-mini{right:10px;bottom:68px}}
@media(max-width:640px){body:has(#app-frame[src^="calculator.html"]) .focus-mini{display:none}}
.route-feedback{position:fixed;z-index:1000;top:0;left:0;width:100%;height:2px;overflow:hidden;opacity:0;pointer-events:none;transition:opacity .08s ease}.route-feedback i{display:block;width:32%;height:100%;border-radius:0 2px 2px 0;background:#315c91;transform:translateX(-110%)}.route-feedback.active{opacity:1}.route-feedback.active i{animation:route-feedback-progress .55s ease-out forwards}@keyframes route-feedback-progress{0%{transform:translateX(-110%)}70%{transform:translateX(180%)}100%{transform:translateX(300%)}}
.app-native-view{display:block;width:100%;height:100%;overflow:auto;overscroll-behavior:contain;border:0;background:#fff}
.app-native-view[hidden]{display:none}
