:root{font-family:Arial,Helvetica,sans-serif;color-scheme:dark;--page-bg:#102128;--ink:#ffffff;--panel:rgba(255,255,255,.64);--line:rgba(0,0,0,.16)}
*{box-sizing:border-box}
html{background:var(--page-bg)}
body{margin:0;background:var(--page-bg);color:var(--ink)}
.motion-track{height:430svh}
body[data-variant="symbol"] .motion-track{height:350svh}
.stage{position:sticky;top:0;height:100svh;overflow:hidden}
dexdominion-live{display:block;width:100%;height:100%;aspect-ratio:auto}
.background-picker{position:fixed;z-index:2;top:max(20px,env(safe-area-inset-top));right:max(20px,env(safe-area-inset-right));display:flex;align-items:center;gap:9px;padding:10px 13px;border:1px solid var(--line);border-radius:100px;background:var(--panel);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.background-picker span{font-size:11px;letter-spacing:.025em;margin-right:3px}
.swatch,.custom-color{flex:none;width:23px;height:23px;padding:0;border:1px solid rgba(128,128,128,.5);border-radius:50%;cursor:pointer}
.swatch{background:var(--swatch)}
.swatch[aria-pressed="true"],.custom-color[data-selected="true"]{outline:1px solid var(--ink);outline-offset:3px}
.custom-color{overflow:hidden;background:conic-gradient(#ff624e,#ffc653,#55c395,#669bf4,#b586e8,#ff624e);appearance:none;-webkit-appearance:none}
.custom-color::-webkit-color-swatch-wrapper{padding:0}
.custom-color::-webkit-color-swatch{border:0;border-radius:50%;background:transparent!important}
.custom-color::-moz-color-swatch{border:0;border-radius:50%;background:transparent!important}
button:focus-visible,input:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.scroll-hint,.status{position:fixed;z-index:1;left:50%;transform:translateX(-50%);margin:0;font-size:12px;font-weight:400;letter-spacing:.04em;color:var(--ink);text-align:center;pointer-events:none}
.scroll-hint{top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:14px;animation:scroll-pulse 2.2s ease-in-out infinite}
.scroll-hint span{font-size:21px;line-height:1}
@keyframes scroll-pulse{0%,100%{opacity:.42}50%{opacity:.9}}
.status{top:50%;max-width:80vw;opacity:.65}
[hidden]{display:none!important}
@media(max-width:480px){.background-picker{top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));gap:9px;padding:10px 12px}.swatch,.custom-color{width:24px;height:24px}}
@media(prefers-reduced-motion:reduce){.motion-track,body[data-variant="symbol"] .motion-track{height:100svh}.scroll-hint{display:none}}
