:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;background:#101318}*{box-sizing:border-box}html,body,#player{width:100%;height:100%;margin:0;overflow:hidden}body{background:radial-gradient(circle at 50% 42%,rgba(76,88,101,.2),transparent 52%),#101318}button,input,select{font:inherit}#player{position:relative;isolation:isolate}#scene{display:block;width:100%;height:100%;outline:none;touch-action:none}.load-status{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);max-width:min(34rem,calc(100vw - 2rem));padding:.65rem .9rem;border:1px solid rgba(255,255,255,.13);border-radius:999px;color:#ffffffc2;background:#0e1115c7;box-shadow:0 .5rem 2rem #00000040;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:.84rem;text-align:center;pointer-events:none}.load-status[data-error=true]{border-color:#ff705b73;color:#ffd1c9}.model-toolbar{position:absolute;z-index:2;top:max(1.25rem,env(safe-area-inset-top));left:50%;display:flex;align-items:center;gap:.8rem;width:min(36rem,calc(100% - 2rem));padding:.65rem;transform:translate(-50%);border:1px solid rgba(255,255,255,.12);border-radius:.9rem;background:#13171cd1;box-shadow:0 1rem 3rem #0000004d;-webkit-backdrop-filter:blur(18px) saturate(120%);backdrop-filter:blur(18px) saturate(120%)}.model-picker{display:flex;align-items:center;gap:.65rem;min-width:0;flex:1}.model-picker>span{flex:0 0 auto;color:#ffffff94;font-size:.78rem}#model-select{min-width:0;width:100%;min-height:2.55rem;padding:0 2.3rem 0 .8rem;border:1px solid rgba(255,255,255,.16);border-radius:.62rem;color:#fffffff0;background:#242a31;cursor:pointer}#model-select:hover,#model-select:focus-visible{border-color:#ff8a5bb8}#model-select:focus-visible{outline:2px solid #ff8a5b;outline-offset:2px}.model-name{max-width:11rem;overflow:hidden;color:#ffffffb8;font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.transport{position:absolute;z-index:2;left:50%;bottom:max(1.25rem,env(safe-area-inset-bottom));display:grid;grid-template-columns:auto auto minmax(12rem,36rem) auto auto;gap:.55rem;align-items:center;width:min(58rem,calc(100% - 2rem));padding:.65rem;transform:translate(-50%);border:1px solid rgba(255,255,255,.12);border-radius:.9rem;background:#13171cd1;box-shadow:0 1rem 3rem #00000061;-webkit-backdrop-filter:blur(18px) saturate(120%);backdrop-filter:blur(18px) saturate(120%)}.transport button{min-height:2.55rem;padding:0 .9rem;border:1px solid rgba(255,255,255,.14);border-radius:.62rem;color:#ffffffe6;background:#ffffff0f;cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease,opacity .14s ease}.transport button:hover:not(:disabled),.transport button:focus-visible{border-color:#ffffff4d;background:#ffffff1f}.transport button:focus-visible,.timeline input:focus-visible{outline:2px solid #ff8a5b;outline-offset:2px}.transport button:disabled{opacity:.35;cursor:default}.transport #play{color:#11161b;border-color:#ff8a5b;background:#ff8a5b;font-weight:700}.transport #play:hover:not(:disabled),.transport #play:focus-visible{background:#ffa07b}.transport #ping-pong.is-active{color:#ffd8c8;border-color:#ff8a5bad;background:#ff8a5b26}.timeline{display:flex;align-items:center;min-width:0;padding:0 .15rem}.timeline input{width:100%;height:1.4rem;margin:0;accent-color:#ff8a5b;cursor:ew-resize}.timeline input:disabled{opacity:.35}#time-output{min-width:6.8rem;color:#ffffff9e;font-variant-numeric:tabular-nums;font-size:.78rem;text-align:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:700px){.model-toolbar{top:max(.5rem,env(safe-area-inset-top));width:calc(100% - 1rem)}.model-name{display:none}.transport{grid-template-columns:1fr 1fr;width:calc(100% - 1rem);bottom:max(.5rem,env(safe-area-inset-bottom))}.timeline{grid-column:1 / -1;grid-row:1}#time-output{grid-column:1 / -1;grid-row:2;justify-self:center}#ping-pong{grid-column:1 / -1}}@media(prefers-reduced-motion:reduce){.transport button{transition:none}}
