.gpx-player{width:100%;min-width:0;color:var(--ink,#252436);font-family:inherit}
.gpx-player *{box-sizing:border-box}
.gpx-launch{text-align:center;padding:12px 0}
.gpx-launch.gpx-has-poster{display:grid;grid-template-columns:minmax(150px,.9fr) minmax(0,1fr);align-items:center;gap:26px;text-align:left}
.gpx-poster{display:block;width:100%;max-width:300px;aspect-ratio:4/3;object-fit:cover;border-radius:12px;margin:0 auto}
.gpx-title{margin:0 0 12px;font-size:24px;font-weight:650;line-height:1.3;letter-spacing:-.025em;overflow-wrap:anywhere}
.gpx-notice{max-width:48ch;margin:0 auto 20px;color:var(--muted,#686174);font-size:14px;line-height:1.8}
.gpx-has-poster .gpx-notice{margin-inline:0}
.gpx-button{display:inline-flex;align-items:center;justify-content:center;min-width:112px;min-height:44px;padding:11px 18px;border:0;border-radius:10px;font-family:inherit;font-size:14px;font-weight:600;line-height:1.4;color:#fff;background:var(--purple,#6848ed);cursor:pointer;touch-action:manipulation;transition:background-color 160ms}
.gpx-button:hover:not(:disabled){background:var(--purple-hover,#5635d4)}
.gpx-button:disabled{opacity:.55;cursor:default}
.gpx-secondary{color:var(--purple-hover,#5635d4);background:var(--purple-light,#f0edff)}
.gpx-secondary:hover:not(:disabled){color:var(--ink,#252436);background:#e4ddff}
.gpx-button:focus-visible,.gpx-browse-link:focus-visible{outline:3px solid var(--focus,#6848ed);outline-offset:4px}
.gpx-frame-host{position:relative;width:min(100%,var(--gpx-max-width-vh,100vh));width:min(100%,var(--gpx-max-width,100dvh));min-height:min(200px,75vh);min-height:min(200px,75dvh);max-height:75vh;max-height:75dvh;aspect-ratio:var(--gpx-ratio,1.333333);margin:0 auto;overflow:hidden;border-radius:12px;background:#252436}
.gpx-frame{position:absolute;inset:0;display:block;width:100%;height:100%;min-height:inherit;border:0;background:#252436}
.gpx-feedback{margin-top:14px;text-align:center}
.gpx-status{max-width:65ch;min-height:24px;margin:0 auto;color:var(--muted,#686174);font-size:13px;line-height:1.7;overflow-wrap:anywhere}
.gpx-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 16px;margin-top:8px}
.gpx-browse-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 4px;border-radius:4px;color:var(--purple-hover,#5635d4);font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:4px}
.gpx-provider-note{max-width:70ch;margin:13px auto 0;color:var(--muted,#686174);font-size:12px;line-height:1.7;text-align:center}
.gpx-player[data-phase=invalid] .gpx-title,.gpx-player[data-phase=error] .gpx-status{color:#a4324c}
.gpx-player [hidden]{display:none!important}
@media(max-width:540px){.gpx-launch.gpx-has-poster{display:flex;flex-direction:column;gap:18px;text-align:center}.gpx-poster{max-width:220px}.gpx-title{font-size:21px}.gpx-notice{font-size:14px;line-height:1.7}.gpx-launch-copy .gpx-button{width:100%}.gpx-launch-copy{width:100%}.gpx-frame-host{border-radius:9px}.gpx-status{font-size:12px}.gpx-actions{gap:6px 12px}.gpx-button{padding:10px 14px}.gpx-provider-note{font-size:11px}}
@media(prefers-reduced-motion:reduce){.gpx-button{transition:none}}
