:root,[data-theme=light]{--cobalt:#2e47f5;--on-cobalt:#fff;--cobalt-brand:#2e47f5;--cobalt-soft:#e3e7fe;--bg:#f2f3f8;--surface:#fff;--surface-2:#e8eaf3;--ink:#141830;--ink-muted:#565b78;--line:#dcdfea;--star:#f2a900;--success:#138a52;--warning:#b26a00;--danger:#c23b3b;--cosmos:#0a0c1c;--stardust:#f2f3f8;--shadow-card:0 1px 2px #1418300f, 0 8px 24px #1418300f;--shadow-float:0 24px 64px #1418302e;--glow-cobalt:0 0 0 4px #2e47f52e;--glow-star:0 0 12px #ffc43db3}[data-theme=dark]{--cobalt:#6f82ff;--on-cobalt:#141830;--cobalt-brand:#2e47f5;--cobalt-soft:#252c66;--bg:#141830;--surface:#171a33;--surface-2:#20244a;--ink:#f2f3f8;--ink-muted:#a4a9c8;--line:#2a2e4d;--star:#ffc43d;--success:#4fd08e;--warning:#f2b24c;--danger:#f07474;--cosmos:#0a0c1c;--stardust:#f2f3f8;--shadow-card:0 1px 0 #ffffff0a inset, 0 8px 24px #00000059;--shadow-float:0 24px 64px #0000008c;--glow-cobalt:0 0 0 4px #6f82ff47;--glow-star:0 0 12px #ffc43db3}[data-theme=space]{--cobalt:#6f82ff;--on-cobalt:#000;--cobalt-brand:#2e47f5;--cobalt-soft:#161b45;--bg:#000;--surface:#000;--surface-2:#000;--ink:#f2f3f8;--ink-muted:#9ea3c2;--line:#1c2040;--star:#ffc43d;--success:#4fd08e;--warning:#f2b24c;--danger:#f07474;--cosmos:#0a0c1c;--stardust:#f2f3f8;--shadow-card:0 0 0 1px #6f82ff1a;--shadow-float:0 0 0 1px #6f82ff2e, 0 0 48px #2e47f538;--glow-cobalt:0 0 0 4px #6f82ff4d, 0 0 18px #6f82ff59;--glow-star:0 0 12px #ffc43db3}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-xl:28px;--radius-pill:999px;--dur-tap:.12s;--dur-ui:.22s;--dur-sheet:.42s;--dur-orbit:2.4s;--dur-warp:1.4s;--ease-ginga:cubic-bezier(.34,1.36,.64,1);--ease-out:cubic-bezier(.2,.8,.2,1);--ease-orbit:linear;--font-display:Unbounded, "Figtree", system-ui, sans-serif;--font-sans:Figtree, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace}.display-xl{font-family:var(--font-display);letter-spacing:-.02em;font-size:56px;font-weight:800;line-height:60px}.display{font-family:var(--font-display);letter-spacing:-.01em;font-size:34px;font-weight:600;line-height:40px}.title{font-family:var(--font-display);font-size:20px;font-weight:600;line-height:26px}.headline{font-family:var(--font-sans);font-size:17px;font-weight:600;line-height:24px}.body{font-family:var(--font-sans);font-size:15px;font-weight:400;line-height:22px}.label{font-family:var(--font-sans);font-size:13px;font-weight:500;line-height:18px}.caption{font-family:var(--font-sans);font-size:12px;font-weight:400;line-height:16px}.mono{font-family:var(--font-mono);font-size:13px;font-weight:400;line-height:18px}.code-digits{font-family:var(--font-mono);letter-spacing:.08em;font-size:36px;font-weight:500;line-height:40px}.g-root,.g-root *{box-sizing:border-box}.g-root{font-family:var(--font-sans);color:var(--ink);-webkit-font-smoothing:antialiased}.g-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.g-display{font-family:var(--font-display);letter-spacing:-.01em;font-weight:600}@keyframes g-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes g-spin{to{transform:rotate(360deg)}}@keyframes g-pulse{0%{opacity:.7;transform:scale(.8)}to{opacity:0;transform:scale(2.4)}}@keyframes g-twinkle{0%,to{opacity:.35}50%{opacity:1}}@keyframes g-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes g-sway{0%,to{transform:rotate(-1.6deg)translateY(0)}50%{transform:rotate(1.2deg)translateY(-4px)}}.g-btn{--_bg:var(--surface-2);--_fg:var(--ink);justify-content:center;align-items:center;gap:var(--space-2);height:36px;padding:0 var(--space-4);border-radius:var(--radius-md);background:var(--_bg);color:var(--_fg);font:500 13px/18px var(--font-sans);cursor:pointer;user-select:none;white-space:nowrap;transition:transform var(--dur-tap) var(--ease-out), box-shadow var(--dur-ui) var(--ease-out), background-color var(--dur-ui) var(--ease-out);border:0;display:inline-flex;position:relative}.g-btn:hover{box-shadow:0 0 0 1px var(--line)}.g-btn:active{transform:scale(.97)}.g-btn:focus-visible{outline:2px solid var(--cobalt);outline-offset:2px}.g-btn[disabled]{opacity:.45;cursor:default;box-shadow:none;transform:none}.g-btn--primary{--_bg:var(--cobalt);--_fg:var(--on-cobalt);font-weight:600}.g-btn--primary:hover{box-shadow:var(--glow-cobalt)}.g-btn--ghost{--_bg:transparent;--_fg:var(--cobalt)}.g-btn--ghost:hover{background:var(--cobalt-soft);box-shadow:none}.g-btn--danger{--_bg:transparent;--_fg:var(--danger);box-shadow:inset 0 0 0 1px var(--line)}.g-btn--pill{border-radius:var(--radius-pill);height:44px;padding:0 var(--space-6);font-size:15px}.g-btn--sm{height:28px;padding:0 var(--space-3);border-radius:var(--radius-sm);font-size:12px}.g-btn .g-btn__star{width:10px;height:10px}.g-switch{flex:none;width:44px;height:26px;display:inline-block;position:relative}.g-switch input{opacity:0;cursor:pointer;z-index:2;margin:0;position:absolute;inset:0}.g-switch__track{border-radius:var(--radius-pill);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line);transition:background-color var(--dur-ui) var(--ease-out), box-shadow var(--dur-ui) var(--ease-out);position:absolute;inset:0}.g-switch__thumb{width:20px;height:20px;transition:transform var(--dur-ui) var(--ease-ginga);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #1418304d}.g-switch input:checked~.g-switch__track{background:var(--cobalt);box-shadow:none}.g-switch input:checked~.g-switch__thumb{transform:translate(18px)}.g-switch input:focus-visible~.g-switch__track{outline:2px solid var(--cobalt);outline-offset:2px}.g-switch input:active~.g-switch__thumb{width:24px}.g-switch input:checked:active~.g-switch__thumb{transform:translate(14px)}.g-switch input:disabled~*{opacity:.45}.g-spark{pointer-events:none;z-index:5;width:0;height:0;position:absolute}.g-spark i{background:var(--star);width:5px;height:5px;box-shadow:var(--glow-star);animation:g-spark .52s var(--ease-out) forwards;border-radius:50%;margin:-2.5px;position:absolute}@keyframes g-spark{0%{opacity:1;transform:translate(0)scale(1)}to{transform:translate(var(--dx), var(--dy)) scale(.2);opacity:0}}.g-group-title{margin:0 0 var(--space-2) var(--space-1);font:600 13px/18px var(--font-sans);color:var(--ink-muted);letter-spacing:.02em;text-transform:uppercase}.g-group{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}.g-row{align-items:center;gap:var(--space-3);min-height:48px;padding:var(--space-3) var(--space-4);font:400 15px/22px var(--font-sans);display:flex;position:relative}.g-row+.g-row:before{content:"";top:0;left:var(--space-4);background:var(--line);height:1px;position:absolute;right:0}.g-row__icon{border-radius:var(--radius-sm);background:var(--cobalt-soft);width:28px;height:28px;color:var(--cobalt);flex:none;place-items:center;display:grid}.g-row__icon svg{width:16px;height:16px}.g-row__label{flex:1;min-width:0}.g-row__sub{color:var(--ink-muted);font-size:12px;line-height:16px;display:block}.g-row__value{color:var(--ink-muted);font-size:14px}.g-help{margin:var(--space-2) var(--space-4) 0;font:400 12px/16px var(--font-sans);color:var(--ink-muted)}.g-status{--_c:var(--ink-muted);align-items:center;gap:var(--space-2);height:28px;padding:0 var(--space-3) 0 var(--space-2);border-radius:var(--radius-pill);background:var(--surface-2);font:500 13px/18px var(--font-sans);color:var(--ink);display:inline-flex}.g-status__orb{flex:none;width:14px;height:14px;position:relative}.g-status__orb:before{content:"";background:var(--_c);border-radius:50%;position:absolute;inset:4px}.g-status__orb:after{content:"";border:1.5px solid var(--_c);opacity:0;border-radius:50%;position:absolute;inset:0}.g-status--searching{--_c:var(--cobalt)}.g-status--searching .g-status__orb:after{opacity:.9;border-color:#0000;border-top-color:var(--_c);animation:1.1s linear infinite g-spin}.g-status--pairing{--_c:var(--warning)}.g-status--pairing .g-status__orb:after{opacity:1;animation:g-pulse 1.6s var(--ease-out) infinite}.g-status--connected{--_c:var(--success)}.g-status--connected .g-status__orb:after{opacity:1;animation:g-pulse 2.4s var(--ease-out) infinite}.g-status--paused{--_c:var(--warning)}.g-status--error{--_c:var(--danger)}.g-code{gap:var(--space-4);font:500 36px/40px var(--font-mono);letter-spacing:.08em;color:var(--ink);display:inline-flex}.g-code__group{gap:2px;display:inline-flex}.g-code__d{animation:g-pop .42s var(--ease-ginga) both;display:inline-block}.g-code__d:nth-child(2){animation-delay:60ms}.g-code__d:nth-child(3){animation-delay:.12s}.g-code__group+.g-code__group .g-code__d:first-child{animation-delay:.18s}.g-code__group+.g-code__group .g-code__d:nth-child(2){animation-delay:.24s}.g-code__group+.g-code__group .g-code__d:nth-child(3){animation-delay:.3s}.g-seg{border-radius:var(--radius-md);background:var(--surface-2);grid-auto-columns:1fr;grid-auto-flow:column;padding:3px;display:inline-grid;position:relative}.g-seg button{white-space:nowrap;z-index:1;height:30px;padding:0 var(--space-4);color:var(--ink-muted);font:500 13px/18px var(--font-sans);cursor:pointer;transition:color var(--dur-ui) var(--ease-out);background:0 0;border:0;border-radius:9px;position:relative}.g-seg button[aria-pressed=true]{color:var(--ink)}.g-seg button:focus-visible{outline:2px solid var(--cobalt);outline-offset:-2px}.g-seg__thumb{background:var(--surface);box-shadow:var(--shadow-card);transition:transform var(--dur-ui) var(--ease-ginga), width var(--dur-ui) var(--ease-ginga);border-radius:9px;position:absolute;top:3px;bottom:3px;left:3px}.g-device{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);animation:g-rise var(--dur-sheet) var(--ease-out) both;display:flex}.g-device__art{flex:none;width:40px;height:28px;position:relative}.g-device__art:before{content:"";background:var(--cobalt-brand);border-radius:5px;position:absolute;inset:2px 4px;transform:rotate(-8deg)}.g-device__art:after{content:"";background:var(--star);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);width:8px;height:8px;position:absolute;top:-2px;right:0}.g-device__name{font:600 15px/20px var(--font-sans);flex:1}.g-device__meta{font:400 12px/16px var(--font-mono);color:var(--ink-muted);display:block}.g-sky{background:var(--cosmos);color:var(--stardust);position:relative;overflow:hidden}.g-sky>canvas{width:100%;height:100%;display:block;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.g-root *,.g-root :before,.g-root :after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}[data-theme=space] body,[data-theme=space] .g-root{background-color:var(--bg)}[data-theme=space] .g-group{box-shadow:inset 0 0 0 1px var(--line), var(--shadow-card);background:#000;position:relative}[data-theme=space] .g-switch__track{background:#000}[data-theme=space] .g-btn{--_bg:#000;box-shadow:inset 0 0 0 1px var(--line)}[data-theme=space] .g-btn--primary{--_bg:var(--cobalt);box-shadow:0 0 16px #6f82ff59}[data-theme=space] .g-btn--ghost{--_bg:transparent;box-shadow:none}[data-theme=space] .g-group:after{content:"";pointer-events:none;opacity:.55;background:radial-gradient(1px 1px at 18px 14px,#f2f3f8 50%,#0000 51%),radial-gradient(1px 1px at 64px 30px,#f2f3f8 50%,#0000 51%),radial-gradient(1.5px 1.5px at 96px 10px,#ffc43d 50%,#0000 51%),radial-gradient(1px 1px at 108px 42px,#6f82ff 50%,#0000 51%),radial-gradient(1px 1px at 40px 44px,#f2f3f8 50%,#0000 51%);width:120px;height:56px;animation:5s ease-in-out infinite g-twinkle;position:absolute;top:0;right:0}[data-theme=space] .g-switch input:checked~.g-switch__track{box-shadow:var(--glow-cobalt)}[data-theme=space] .g-switch__thumb{background:#f2f3f8}[data-theme=space] .g-status{box-shadow:inset 0 0 0 1px var(--line);background:0 0}[data-theme=space] .g-status__orb:before{box-shadow:0 0 8px var(--_c)}[data-theme=space] .g-seg{box-shadow:inset 0 0 0 1px var(--line);background:0 0}[data-theme=space] .g-seg__thumb{background:var(--cobalt-soft);box-shadow:0 0 0 1px #6f82ff59}[data-theme=space] .g-code{text-shadow:0 0 18px #6f82ff73}@font-face{font-family:Unbounded;src:url(/ginga/_astro/Unbounded-Variable.DS7Btq3Y.woff2)format("woff2");font-weight:200 900;font-display:swap}@font-face{font-family:Figtree;src:url(/ginga/_astro/Figtree-Variable.DUXqnhPA.woff2)format("woff2");font-weight:300 900;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/ginga/_astro/IBMPlexMono-Regular.fkLwRzaH.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/ginga/_astro/IBMPlexMono-Medium.Dto7-dAc.woff2)format("woff2");font-weight:500;font-display:swap}html,body{background:#0a0c1c;margin:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@view-transition{navigation:auto}::view-transition-old(root){animation:.28s ease-in both vt-out}::view-transition-new(root){animation:.52s cubic-bezier(.2,.8,.2,1) both vt-in}@keyframes vt-out{to{opacity:0}}@keyframes vt-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}}.skip{z-index:10001;color:#0a0c1c;background:#ffc43d;border-radius:10px;padding:10px 14px;font:600 14px/18px Figtree,sans-serif;text-decoration:none;position:absolute;top:-60px;left:16px}.skip:focus{top:16px}
