.gc-ui{--gc-font:"Menlo", "Monaco", "Consolas", "DejaVu Sans Mono", monospace;--gc-ink:#3a352f;--gc-ink-soft:#3a352fb3;--gc-ink-faint:#3a352f7a;--gc-panel:#fcf9f285;--gc-control:#fffdf88c;--gc-surface:#ffffff40;--gc-deep:#2e2924c7;--gc-fallback:#f6f2e9f0;--gc-accent:#5f774d;--gc-accent-soft:#6f8a5a2e;--gc-accent-ink:#fdfaf3;--gc-danger:#b4453a;--gc-danger-line:#b4453a80;--gc-line:#3a352f4d;--gc-line-soft:#3a352f24;--gc-edge:#ffffff8c;--gc-shadow:0 10px 32px #4a382a2e, inset 0 1px 0 #ffffff73;--gc-panel-radius:20px;--gc-control-radius:9px;--gc-blur:16px;--gc-saturation:1.25;color:var(--gc-ink);font-family:var(--gc-font);letter-spacing:.02em;text-transform:uppercase;-webkit-font-smoothing:antialiased;font-size:11px}.gc-ui[data-gc-theme=void]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--gc-ink:#ececec;--gc-ink-soft:#ecececad;--gc-ink-faint:#ececec75;--gc-panel:#1c1c1c85;--gc-control:#3a3a3a80;--gc-surface:#00000052;--gc-deep:#0c0c0cdb;--gc-fallback:#161616f2;--gc-accent:#e8e8e8;--gc-accent-soft:#ffffff29;--gc-accent-ink:#101010;--gc-danger:#a8a8a8;--gc-danger-line:#a8a8a880;--gc-line:#ececec42;--gc-line-soft:#ececec1f;--gc-edge:#ffffff29;--gc-shadow:0 10px 32px #0000008c, inset 0 1px 0 #ffffff17;--gc-blur:18px;--gc-saturation:.6}.gc-ui,.gc-ui *,.gc-ui :before,.gc-ui :after{box-sizing:border-box}.gc-ui [hidden]{display:none!important}.gc-ui button,.gc-ui input,.gc-ui select,.gc-ui textarea{font:inherit}.gc-natural-case{letter-spacing:.01em;text-transform:none}.gc-panel{background:var(--gc-panel);-webkit-backdrop-filter:blur(var(--gc-blur)) saturate(var(--gc-saturation));backdrop-filter:blur(var(--gc-blur)) saturate(var(--gc-saturation));border:1px solid var(--gc-edge);border-radius:var(--gc-panel-radius);box-shadow:var(--gc-shadow);padding:10px 12px}.gc-panel.gc-dense{--gc-ink:#f7f5f1;--gc-ink-soft:#f7f5f19e;--gc-ink-faint:#f7f5f157;--gc-control:#ffffff1a;--gc-surface:#0000003d;--gc-line:#ffffff47;--gc-line-soft:#ffffff21;--gc-edge:#ffffff2e;background:var(--gc-deep)}.gc-panel-head{border-bottom:1px solid var(--gc-line-soft);justify-content:space-between;align-items:center;gap:10px;min-height:28px;padding-bottom:7px;display:flex}.gc-panel-title{color:var(--gc-ink-soft);letter-spacing:.24em;font-size:9.5px;font-weight:700}.gc-panel-meta{color:var(--gc-ink-faint);font-variant-numeric:tabular-nums;letter-spacing:.1em;font-size:8px}.gc-panel-body{min-height:0;padding-top:4px}.gc-scroll{scrollbar-color:var(--gc-line) transparent;scrollbar-width:thin;padding-right:6px;overflow:hidden auto}.gc-scroll::-webkit-scrollbar{width:5px}.gc-scroll::-webkit-scrollbar-thumb{background:var(--gc-line-soft);border-radius:3px}.gc-masthead{pointer-events:none;-webkit-user-select:none;user-select:none}.gc-masthead h1,.gc-masthead .gc-title{color:var(--gc-ink);letter-spacing:.32em;margin:0;font-size:17px;font-weight:700}.gc-masthead p,.gc-masthead .gc-subtitle{color:var(--gc-ink-soft);letter-spacing:.14em;margin:4px 0 0 1px;font-size:9px}.gc-note{color:var(--gc-ink-soft);letter-spacing:.06em;margin:6px 0 0;font-size:8.5px;line-height:1.5}.gc-section{border-bottom:1px solid var(--gc-line-soft);margin:0;padding:4px 0 8px}.gc-section:last-child{border-bottom:0}.gc-section>summary{width:100%;color:var(--gc-ink-soft);letter-spacing:.18em;cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:8px 0 6px;font-size:9.5px;font-weight:700;list-style:none;display:flex}.gc-section>summary::-webkit-details-marker{display:none}.gc-section>summary:after{content:"▾";color:var(--gc-ink-faint);font-size:9px;transition:transform .16s}.gc-section:not([open])>summary:after{transform:rotate(-90deg)}.gc-section>summary:hover{color:var(--gc-ink)}.gc-section-body{padding-top:2px}.gc-control{margin:8px 0;display:block}.gc-control-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.gc-label{color:var(--gc-ink-soft);letter-spacing:.05em;font-size:9.5px}.gc-value{color:var(--gc-ink);font-variant-numeric:tabular-nums;font-size:9px}.gc-range{appearance:none;cursor:pointer;background:0 0;width:100%;height:20px;margin:0}.gc-range::-webkit-slider-runnable-track{background:var(--gc-line);border-radius:1px;height:2px}.gc-range::-webkit-slider-thumb{appearance:none;background:var(--gc-accent);border:1px solid var(--gc-edge);border-radius:4px;width:12px;height:12px;margin-top:-5px;box-shadow:0 1px 4px #00000047}.gc-range::-moz-range-track{background:var(--gc-line);border:0;border-radius:1px;height:2px}.gc-range::-moz-range-thumb{background:var(--gc-accent);border:1px solid var(--gc-edge);border-radius:4px;width:11px;height:11px;box-shadow:0 1px 4px #00000047}.gc-range:disabled{cursor:default;opacity:.4}.gc-row,.gc-segmented,.gc-tabs{align-items:stretch;gap:5px;display:flex}.gc-row{flex-wrap:wrap;margin-top:6px}.gc-segmented{gap:3px;margin-top:5px}.gc-tabs{border-bottom:1px solid var(--gc-line-soft);padding-bottom:8px}.gc-chip{min-height:26px;color:var(--gc-ink-soft);background:var(--gc-control);border:1px solid var(--gc-line-soft);border-radius:var(--gc-control-radius);font-family:var(--gc-font);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;padding:4px 10px;font-size:9.5px;font-weight:700;line-height:1.2;text-decoration:none;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.gc-chip:hover:not(:disabled){color:var(--gc-ink);background:var(--gc-accent-soft);border-color:var(--gc-line)}.gc-chip.is-active,.gc-chip[aria-pressed=true],.gc-chip[aria-selected=true]{color:var(--gc-accent-ink);background:var(--gc-accent);border-color:var(--gc-edge)}.gc-chip.is-danger{color:var(--gc-danger);border-color:var(--gc-danger-line)}.gc-chip.is-wide{width:100%}.gc-chip:disabled{cursor:default;opacity:.4}.gc-row>.gc-chip,.gc-segmented>.gc-chip,.gc-tabs>.gc-chip{flex:1 1 0}.gc-tabs>.gc-chip{background:0 0;border-color:#0000;min-height:32px}.gc-field,.gc-select,.gc-textarea{width:100%;color:var(--gc-ink);background:var(--gc-surface);border:1px solid var(--gc-line-soft);border-radius:var(--gc-control-radius);font-family:var(--gc-font);letter-spacing:.04em;font-size:10px}.gc-field,.gc-select{min-height:29px;padding:5px 8px}.gc-select{cursor:pointer;text-transform:uppercase}.gc-textarea{resize:vertical;text-transform:none;min-height:66px;padding:8px 9px;line-height:1.45}.gc-field::placeholder,.gc-textarea::placeholder{color:var(--gc-ink-soft)}.gc-swatch{border:1px solid var(--gc-edge);width:20px;height:20px;box-shadow:inset 0 0 0 1px var(--gc-line-soft);cursor:pointer;background:0 0;border-radius:6px;padding:0}.gc-stats{border-top:1px solid var(--gc-line-soft);flex-wrap:wrap;gap:6px 14px;padding-top:8px;display:flex}.gc-stat{flex-direction:column;gap:1px;display:flex}.gc-stat span{color:var(--gc-ink-soft);letter-spacing:.12em;font-size:7.5px}.gc-stat strong{color:var(--gc-ink);font-variant-numeric:tabular-nums;font-size:10px}.gc-pill{border-radius:999px;align-items:center;gap:4px;padding:5px;display:inline-flex}.gc-pill .gc-chip{border-radius:999px}.gc-hint-strip{max-width:calc(100vw - 40px);color:var(--gc-ink-soft);letter-spacing:.14em;white-space:nowrap;-webkit-user-select:none;user-select:none;align-items:center;gap:16px;padding:8px 16px;font-size:8.5px;display:flex;overflow:hidden}.gc-ui :is(button,input,select,textarea,summary,a):focus-visible{outline:1px solid var(--gc-ink-soft);outline-offset:2px}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.gc-ui.gc-panel,.gc-ui .gc-panel{background:var(--gc-fallback)}}@media (prefers-reduced-motion:reduce){.gc-ui *,.gc-ui :before,.gc-ui :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#f3f3f3;background:#050505;font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-weight:400}*{box-sizing:border-box}[hidden]{display:none!important}html,body,#app{width:100%;min-height:100%;margin:0}body{background:#050505;min-height:100dvh;overflow:hidden}button,input{font:inherit}button{cursor:pointer}.studio{background:#050505;width:100vw;height:100dvh;position:relative;overflow:hidden}.viewport{min-width:0;min-height:0;position:absolute;inset:0;overflow:hidden}#scene{background:#050505;width:100%;height:100%;display:block}.texture-lab{background:#151018;width:100%;height:100%;display:block}.toolbar-toggle{z-index:4;justify-content:center;width:28px;height:28px;padding:0;position:absolute;top:18px;left:330px;right:auto}.studio.is-toolbar-hidden .toolbar{display:none}.studio.is-toolbar-hidden .toolbar-toggle{left:18px;right:auto}.toolbar{z-index:3;flex-direction:column;gap:12px;width:min(294px,100vw - 36px);min-height:0;padding:16px;display:flex;position:absolute;inset:18px auto 18px 18px;overflow:hidden auto}.toolbar-title{grid-template-columns:minmax(0,1fr) auto;align-items:flex-start;min-height:52px;padding-bottom:12px;display:grid}.toolbar-title>:first-child{min-width:0}.toolbar-title .gc-panel-title,.toolbar-title .gc-panel-meta{display:block}.toolbar-title .gc-panel-meta{text-overflow:ellipsis;white-space:nowrap;margin-top:6px;overflow:hidden}.toolbar-actions{flex:none;align-self:start;gap:6px;display:flex}.toolbar .gc-chip,.about-panel .gc-chip{min-height:32px}.segmented{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.segmented-presets{grid-template-columns:repeat(2,minmax(0,1fr))}.segmented .segment{letter-spacing:.03em;min-width:0;min-height:30px;padding:0 5px;font-size:9px}.panel{flex:none;overflow:hidden}.panel>summary{min-height:34px}.panel-body{gap:8px;padding:2px 0 4px;display:grid}.panel-body .gc-control{margin:0}.control-row .gc-select,.color-row .gc-swatch{margin-top:5px}.control-row--toggle input[type=checkbox]{cursor:pointer;width:16px;height:16px;accent-color:var(--gc-accent);margin:0}.palette-wheel-wrap{justify-items:center;gap:8px;margin-bottom:10px;display:grid}#paletteWheel{aspect-ratio:1;cursor:crosshair;touch-action:none;background:var(--gc-surface);border-radius:50%;width:100%;max-width:190px;height:auto}.color-rows{gap:8px;display:grid}.color-row{cursor:pointer;padding:2px 4px}.color-row .gc-swatch{width:100%;height:20px;padding:0;overflow:hidden}.color-row.is-selected{border-radius:var(--gc-control-radius);background:var(--gc-accent-soft);outline:1px solid var(--gc-line)}.status-line{min-height:1em}.panel-control-stack{gap:8px;display:grid}.mobile-play-controls{display:none}.mobile-joystick,.mobile-jump-button{touch-action:none;-webkit-user-select:none;user-select:none}.play-hud{z-index:4;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:10px;width:min(330px,100vw - 36px);padding:12px;display:grid;position:absolute;bottom:18px;left:auto;right:18px}.play-hud .gc-panel-title,.play-hud .gc-note{display:block}.avatar-handle{touch-action:none;border:1px solid var(--gc-edge);border-radius:var(--gc-control-radius);cursor:grab;background:linear-gradient(90deg,#0000 43%,#000000b8 43% 57%,#0000 57%),linear-gradient(#fff6df,#65ffd6);width:44px;height:44px;box-shadow:0 0 0 1px #0000003d,0 10px 24px #00000052}.avatar-handle.is-dragging{cursor:grabbing;border-color:var(--gc-ink-soft);transform:translateY(-1px)}.about-panel{z-index:5;width:min(294px,100vw - 36px);padding:16px;position:absolute;top:18px;left:auto;right:18px}.about-panel .gc-note{margin-top:14px;font-size:10.5px;line-height:1.6}.about-actions{margin-top:16px}@media (width<=760px){body{overflow:hidden}.toolbar{width:auto;max-height:50dvh;padding:14px;inset:auto 10px 10px}.toolbar-toggle,.studio.is-toolbar-hidden .toolbar-toggle{top:10px;left:auto;right:10px}.about-panel{width:auto;max-height:calc(100dvh - 62px);top:52px;left:10px;right:10px;overflow-y:auto}.studio.is-about-open .toolbar,.studio.is-about-open .toolbar-toggle{display:none}}.studio.is-touch-play .toolbar{top:auto;right:max(10px, env(safe-area-inset-right,0px));bottom:max(10px, env(safe-area-inset-bottom,0px));left:max(10px, env(safe-area-inset-left,0px));width:auto;max-height:55dvh;padding:14px}.studio.is-touch-play .toolbar-toggle,.studio.is-touch-play.is-toolbar-hidden .toolbar-toggle{top:max(10px, env(safe-area-inset-top,0px));right:max(10px, env(safe-area-inset-right,0px));width:44px;height:44px;left:auto}.studio.is-touch-play .play-hud{top:max(10px, env(safe-area-inset-top,0px));bottom:auto;right:auto;left:max(10px, env(safe-area-inset-left,0px));grid-template-columns:38px minmax(0,1fr);gap:8px;width:min(310px,100vw - 68px);padding:8px}.studio.is-touch-play .avatar-handle{width:44px;height:44px}.studio.is-touch-play .play-options{flex-wrap:wrap;gap:4px}.studio.is-touch-play .play-options .gc-chip{min-height:32px;padding-inline:7px;font-size:8px}.studio.is-touch-play .mobile-play-controls:not([hidden]){z-index:4;pointer-events:none;display:block;position:absolute;inset:0}.studio.is-touch-play:not(.is-toolbar-hidden) .mobile-play-controls:not([hidden]){display:none}.studio.is-touch-play .mobile-joystick{left:max(18px, env(safe-area-inset-left,0px));bottom:max(18px, env(safe-area-inset-bottom,0px));pointer-events:auto;background:linear-gradient(135deg,#ffffff0d 25%,#0000 25%) 0 0/28px 28px,linear-gradient(225deg,#ffffff0a 25%,#0000 25%) 0 0/28px 28px,#212b30d6;border:3px solid #02080ad1;border-radius:999px;width:116px;height:116px;position:absolute;box-shadow:inset 0 0 0 3px #ffffff1f,0 12px 34px #00000052}.studio.is-touch-play .mobile-joystick-knob{background:#ecececdb;border-radius:999px;width:54px;height:54px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 0 1px #ffffff80,0 5px 12px #00000042}.studio.is-touch-play .mobile-jump-button{right:max(18px, env(safe-area-inset-right,0px));bottom:max(28px, calc(env(safe-area-inset-bottom,0px) + 28px));min-width:68px;min-height:68px;color:var(--gc-ink);pointer-events:auto;padding:8px;position:absolute}.mobile-joystick:focus-visible,.mobile-jump-button:focus-visible,.avatar-handle:focus-visible,#paletteWheel:focus-visible{outline:2px solid var(--gc-ink);outline-offset:3px}@media (height<=520px){.studio.is-touch-play .mobile-joystick{width:104px;height:104px}.studio.is-touch-play .play-hud{max-width:290px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
