:root{--background:10 15 18;--accent:124 199 255;--accent-text:191 228 255;--error:255 105 92;--error-heading:255 138 122;--error-text:255 154 140;color-scheme:dark;color:#ffffffde;background-color:rgb(var(--background));font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}body{width:100vw;height:100vh;margin:0;display:flex}#root{flex:1;overflow:hidden}#root canvas{display:block}.alert{z-index:10;pointer-events:none;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.panel{pointer-events:auto;box-sizing:border-box;border:1px solid rgb(var(--accent) / .22);background-color:rgb(var(--background) / .82);backdrop-filter:blur(14px);border-radius:12px;width:fit-content;max-width:min(440px,100%);padding:24px 28px;font-size:15px;line-height:1.6;box-shadow:0 24px 60px #0000008c}.panel h1{margin:0 0 14px;font-size:19px;font-weight:600}.panel p{color:#ffffffb8;margin:0 0 16px}.panel p:last-child{margin-bottom:0}.panel-keys{grid-template-columns:auto 1fr;align-items:baseline;gap:10px 16px;margin:0 0 20px;display:grid}.panel-keys dt{border:1px solid rgb(var(--accent) / .28);background-color:rgb(var(--accent) / .08);color:rgb(var(--accent-text));white-space:nowrap;border-radius:6px;justify-self:start;padding:2px 9px;font-size:12.5px}.panel-keys dd{margin:0}.panel-loading{align-items:center;gap:14px;display:flex}.panel-spinner{border:2px solid rgb(var(--accent) / .18);border-top-color:rgb(var(--accent));border-radius:50%;flex:none;width:26px;height:26px;animation:.8s linear infinite panel-spin}@keyframes panel-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.panel-spinner{animation:none}}.panel button{appearance:none;border:1px solid rgb(var(--accent) / .3);background-color:rgb(var(--accent) / .12);color:inherit;font:inherit;cursor:pointer;border-radius:8px;padding:8px 18px;font-size:14px}.panel button:hover{background-color:rgb(var(--accent) / .2)}.panel button:focus-visible{outline:2px solid rgb(var(--accent));outline-offset:2px}.panel--error{border-color:rgb(var(--error) / .5)}.panel--error h1{color:rgb(var(--error-heading))}.panel--error pre{background-color:rgb(var(--error) / .08);color:rgb(var(--error-text));white-space:pre-wrap;word-wrap:break-word;border-radius:8px;margin:0;padding:12px;font-size:13px}
