:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#242424;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}a{color:#646cff;-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:#535bf2}body{min-width:320px;min-height:100vh;margin:0}#root{min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{cursor:pointer;background-color:#1a1a1a;border:1px solid #0000;border-radius:8px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.app-layout{flex-direction:column;min-width:320px;min-height:100vh;display:flex}.app-header{background:var(--header-bg,#1a1a1a);border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.app-title{margin:0;font-size:1.25rem;font-weight:600}.app-title a{color:inherit;text-decoration:none}.app-nav{gap:1rem;display:flex}.app-main{flex-direction:column;flex:1;display:flex}.app-footer{text-align:center;color:var(--muted,#888);border-top:1px solid #ffffff0f;padding:.5rem 1rem;font-size:.875rem}.viewer-page{flex:1;min-height:0;display:flex}.viewer-canvas-wrap{flex:1;min-width:0;position:relative}.viewer-canvas-wrap canvas{touch-action:none;width:100%;height:100%;display:block}.viewer-panel{background:var(--panel-bg,#252525);border-left:1px solid #ffffff0f;flex-shrink:0;width:280px;padding:1rem;overflow-y:auto}@media (width<=768px){.viewer-page{flex-direction:column}.viewer-panel{border-top:1px solid #ffffff0f;border-left:none;width:100%}}.viewer-controls h2{margin:0 0 1rem;font-size:1rem;font-weight:600}.viewer-controls h3{color:var(--muted,#999);margin:1rem 0 .5rem;font-size:.875rem;font-weight:500}.viewer-controls section:first-of-type h3{margin-top:0}.control-group{flex-wrap:wrap;gap:.5rem;display:flex}.control-group button{padding:.4rem .75rem;font-size:.875rem}.control-group button[aria-pressed=true]{background:var(--accent,#646cff);border-color:var(--accent,#646cff)}.control-label{color:var(--muted,#999);margin:.5rem 0 .25rem;font-size:.8125rem}.swatches{gap:.5rem;margin:.5rem 0;display:flex}.swatch{border:2px solid #0000;border-radius:4px;width:2rem;height:2rem;padding:0}.swatch[aria-pressed=true]{border-color:#fff;box-shadow:0 0 0 1px #0000004d}.control-toggle{cursor:pointer;align-items:center;gap:.5rem;margin:.5rem 0;font-size:.875rem;display:flex}.control-slider,.control-color{flex-direction:column;gap:.25rem;margin:.5rem 0;font-size:.875rem;display:flex}.control-slider input[type=range],.control-color input[type=color]{width:100%}.control-color input[type=color]{cursor:pointer;height:2rem;padding:2px}.meta-status{color:var(--muted,#888);font-size:.75rem}.loader-overlay{z-index:10;background:#000000b3;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.loader-box{text-align:center;background:#2a2a2a;border-radius:8px;min-width:200px;padding:1.5rem}.loader-bar-wrap{background:#444;border-radius:4px;width:200px;height:8px;margin:0 auto .5rem;overflow:hidden}.loader-bar{background:var(--accent,#646cff);height:100%;transition:width .15s}.loader-error{color:#e06060;margin:0 0 .5rem}.stats-overlay{z-index:5;background:#0009;border-radius:4px;padding:.25rem .5rem;font-family:monospace;font-size:.75rem;position:absolute;top:.5rem;left:.5rem}.error-fallback{text-align:center;padding:2rem}.error-fallback h2{margin:0 0 .5rem}.error-fallback button{margin-top:1rem}.about-page,.debug-page{max-width:640px;margin:0 auto;padding:2rem}.about-page h1,.debug-page h1{margin:0 0 1rem}.debug-page section{margin:1.5rem 0}.debug-page pre{background:#1a1a1a;border-radius:4px;padding:1rem;font-size:.8125rem;overflow:auto}.debug-page ul{margin:.5rem 0;padding-left:1.5rem}
