:root{color:#f6f8fb;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#080b10;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{touch-action:none;-webkit-user-select:none;user-select:none}canvas{width:100%;height:100%;display:block}.debug-overlay{top:max(10px, env(safe-area-inset-top));left:max(10px, env(safe-area-inset-left));z-index:30;color:#f6f8fbeb;pointer-events:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#080b1094;border:1px solid #ffffff29;border-radius:6px;width:min(320px,100vw - 20px);max-height:70vh;padding:8px 10px;font-size:11px;line-height:1.32;position:fixed;overflow:hidden}.debug-overlay[hidden]{display:none}.debug-overlay__minimal,.debug-overlay__compact,.debug-overlay__details{min-width:0}.debug-overlay__minimal[hidden],.debug-overlay__compact[hidden],.debug-overlay__details[hidden]{display:none}.debug-overlay__minimal{white-space:nowrap;font-size:11px;font-weight:650}.debug-overlay__details{pointer-events:auto;scrollbar-width:thin;max-height:calc(70vh - 16px);overflow:auto}.debug-overlay__header{color:#f6f8fbf5;margin-bottom:5px;font-size:12px;font-weight:750}.debug-overlay__section{color:#f6f8fb94;text-transform:uppercase;border-top:1px solid #ffffff1c;margin:8px 0 3px;padding-top:5px;font-size:10px;font-weight:750}.debug-overlay__row{grid-template-columns:68px minmax(0,1fr);gap:7px;padding:1px 0;display:grid}.debug-overlay__label{color:#f6f8fb85}.debug-overlay__value{color:#f6f8fbe6;text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.object-palette{color:#f6f8fbf0;pointer-events:auto;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);-webkit-user-select:none;user-select:none;z-index:35;background:#080b10c2;border:1px solid #ffffff29;border-radius:8px;flex-direction:column;gap:10px;width:min(360px,100vw - 24px);max-height:calc(100vh - 24px);padding:12px;display:flex;position:fixed;top:12px;right:12px}.object-palette[hidden]{display:none}.object-palette__title{letter-spacing:0;font-size:14px;font-weight:700}.object-palette__grid{padding-right:2px;overflow:auto}.object-palette__category{color:#f6f8fbad;text-transform:uppercase;letter-spacing:0;margin:10px 0 6px;font-size:11px;font-weight:700}.object-palette__category:first-child{margin-top:0}.object-palette__items{grid-template-columns:1fr;gap:6px;display:grid}.object-palette__item{width:100%;min-height:54px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:#ffffff0e;border:1px solid #ffffff1f;border-radius:6px;grid-template-columns:18px 1fr;align-items:start;gap:8px;padding:8px;display:grid}.object-palette__item:hover,.object-palette__item:focus-visible{background:#7de3ff14;border-color:#7de3ff85;outline:none}.object-palette__item.is-selected{background:#7de3ff21;border-color:#7de3ffcc}.object-palette__swatch{border:1px solid #ffffff47;border-radius:4px;width:18px;height:18px;margin-top:1px}.object-palette__item-text{gap:3px;min-width:0;display:grid}.object-palette__item-text strong{font-size:12px;line-height:1.2}.object-palette__item-text small{color:#f6f8fb9e;font-size:11px;line-height:1.25}.object-palette__status,.object-palette__help{color:#f6f8fbb8;border-top:1px solid #ffffff1f;padding-top:9px;font-size:11px;line-height:1.45}.object-palette__status{white-space:pre}.mobile-look-zone,.mobile-top-controls,.mobile-object-controls,.touch-zone,.vertical-touch-buttons{display:none}.ui-mobile .mobile-look-zone{z-index:4;pointer-events:none;width:48vw;height:70vh;position:fixed;bottom:0;right:0}.ui-mobile .touch-zone{inset:auto auto max(32px, calc(env(safe-area-inset-bottom) + 20px)) max(26px, calc(env(safe-area-inset-left) + 18px));z-index:18;pointer-events:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#080b107a;border:1px solid #fff3;border-radius:50%;width:116px;height:116px;transition:border-color .12s,background .12s,box-shadow .12s;display:block;position:fixed;box-shadow:0 10px 28px #00000038,inset 0 1px #ffffff14}.touch-zone__knob{background:#ffffff2e;border:1px solid #ffffff2e;border-radius:50%;width:40px;height:40px;transition:background .12s,border-color .12s,box-shadow .12s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 6px 16px #00000047,inset 0 1px #ffffff2e}.touch-zone:after{content:"";pointer-events:none;border:1px solid #ffffff14;border-radius:50%;position:absolute;inset:16px}.touch-zone.is-active .touch-zone__knob{background:#7de3ff4d;border-color:#7de3ffb3;box-shadow:0 6px 18px #0000004d,0 0 0 6px #7de3ff14}.touch-zone.is-active{background:#080b10a3;border-color:#7de3ff94}.ui-mobile .vertical-touch-buttons{right:max(20px, calc(env(safe-area-inset-right) + 16px));bottom:max(30px, calc(env(safe-area-inset-bottom) + 20px));z-index:22;pointer-events:auto;flex-direction:column;gap:12px;display:flex;position:fixed}.ui-mobile .mobile-top-controls{top:max(16px, calc(env(safe-area-inset-top) + 10px));right:max(16px, calc(env(safe-area-inset-right) + 12px));z-index:40;pointer-events:auto;gap:10px;display:flex;position:fixed}.ui-mobile .mobile-object-controls{right:max(20px, calc(env(safe-area-inset-right) + 16px));z-index:32;pointer-events:auto;grid-template-columns:repeat(2,minmax(74px,auto));gap:10px;display:grid;position:fixed;top:50%;transform:translateY(-50%)}.ui-mobile .mobile-object-controls[hidden]{display:none}.mobile-control-button{color:#ffffffd1;min-width:56px;min-height:52px;font:inherit;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#080b109e;border:1px solid #fff3;border-radius:999px;place-items:center;padding:0 14px;font-size:12px;font-weight:750;display:grid}.mobile-control-button:active,.mobile-control-button.is-active{background:#7de3ff29;border-color:#7de3ffa6}.mobile-control-button:disabled{color:#ffffff6b;border-color:#ffffff1f}@media (width<=720px){.object-palette{top:max(8px, env(safe-area-inset-top));right:max(8px, env(safe-area-inset-right));left:max(8px, env(safe-area-inset-left));width:auto;max-height:min(72vh,560px)}.object-palette__items{grid-template-columns:repeat(2,minmax(0,1fr))}.object-palette__item{min-height:64px}.debug-overlay{width:auto;max-width:calc(100vw - 20px - env(safe-area-inset-left) - env(safe-area-inset-right));padding:6px 8px;font-size:10px}.debug-overlay[data-mode=minimal]{background:#080b1075;max-width:max(112px,100vw - 268px);right:auto}.debug-overlay[data-mode=minimal] .debug-overlay__minimal{white-space:normal}.debug-overlay[data-mode=details]{right:max(10px, env(safe-area-inset-right));pointer-events:auto;background:#080b10c7;max-height:45vh}.debug-overlay__details{max-height:calc(45vh - 12px)}.debug-overlay__row{grid-template-columns:60px minmax(0,1fr)}.ui-portrait .mobile-object-controls{top:auto;right:max(20px, calc(env(safe-area-inset-right) + 16px));bottom:calc(max(30px, calc(env(safe-area-inset-bottom) + 20px)) + 176px);grid-template-columns:repeat(2,minmax(74px,auto));transform:none}}
