@font-face{font-family:Google Sans;font-style:normal;font-weight:400;src:local(Google Sans),local(Google Sans Regular),local(GoogleSans-Regular),local(Product Sans)}@font-face{font-family:Google Sans;font-style:normal;font-weight:500;src:local(Google Sans Medium),local(GoogleSans-Medium),local(Product Sans Medium)}@font-face{font-family:Google Sans;font-style:normal;font-weight:600;src:local(Google Sans SemiBold),local(GoogleSans-SemiBold)}@font-face{font-family:Google Sans;font-style:normal;font-weight:700;src:local(Google Sans Bold),local(GoogleSans-Bold),local(Product Sans Bold)}@font-face{font-family:Google Sans Text;font-style:normal;font-weight:400;src:local(Google Sans Text),local(GoogleSansText-Regular)}@font-face{font-family:Google Sans Text;font-style:normal;font-weight:500;src:local(Google Sans Text Medium),local(GoogleSansText-Medium)}:root{--bg-glass-card:linear-gradient(135deg, #ffffff1c 0%, #ffffff06 100%), #0e111cb8;--bg-glass-pill:linear-gradient(135deg, #ffffff24 0%, #ffffff0a 100%), #101420bf;--bg-glass-element:#fff1;--bg-glass-element-hover:#ffffff24;--glass-border:#ffffff29;--glass-border-light:#ffffff47;--glass-inner-bevel:inset 0 1px 1px #ffffff52, inset 0 -1px 1px #00000040;--glass-shadow:0 18px 46px #00000073;--text-primary:#fff;--text-secondary:#f0f4ffb8;--text-muted:#f0f4ff75;--accent:#ff8fb1;--accent-light:#ffd1df;--accent-glow:#ff8fb173;--accent-active-pill:linear-gradient(135deg, #fff 0%, #ffe2eb 48%, #ffb4cc 100%);--font-sans:"Google Sans", "Google Sans Text", "Product Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box;-webkit-user-select:none;user-select:none;font-family:var(--font-sans);margin:0;padding:0}html,body{width:100%;height:100%;font-family:var(--font-sans);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 50% 42%,#0a0b10 0%,#030306 52%,#000 100%);overflow:hidden}#canvas-container{cursor:grab;z-index:1;width:100%;height:100%;position:fixed;inset:0}#canvas-container:active{cursor:grabbing}#scene-nav,.scene-nav-bar{background:var(--bg-glass-pill);-webkit-backdrop-filter:blur(24px)saturate(190%);border:1px solid var(--glass-border);z-index:30;box-shadow:var(--glass-shadow), var(--glass-inner-bevel);border-radius:999px;align-items:center;gap:6px;padding:6px 8px;transition:all .25s cubic-bezier(.22,1,.36,1);display:flex;position:fixed;top:18px;left:50%;transform:translate(-50%)}.scene-pill{color:var(--text-secondary);font-family:var(--font-sans);letter-spacing:.01em;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:999px;outline:none;align-items:center;gap:7px;padding:7px 15px;font-size:12.5px;font-weight:500;transition:all .22s cubic-bezier(.22,1,.36,1);display:flex}.scene-pill-dot{background:#ffffff59;border-radius:50%;width:6px;height:6px;transition:all .2s}.scene-pill:hover{color:#fff;background:var(--bg-glass-element-hover);border-color:#ffffff29}.scene-pill.active{color:#0c101a;background:var(--accent-active-pill);box-shadow:0 4px 18px var(--accent-glow), inset 0 1px 1.5px #ffffffd9;border-color:#ffffffb3;font-weight:600}.scene-pill.active .scene-pill-dot{background:#ff4d84;box-shadow:0 0 8px #ff4d84d9}.scene-nav-divider{background:#ffffff2e;flex-shrink:0;width:1px;height:18px;margin:0 3px}.gpu-fur-pill{background:#ffffff0d;border-color:#ffffff24}.gpu-fur-pill .scene-pill-dot{background:#38bdf8;box-shadow:0 0 6px #38bdf8bf}.gpu-fur-pill.active{color:#0c101a;background:linear-gradient(135deg,#e0f2fe 0%,#bae6fd 50%,#7dd3fc 100%);border-color:#ffffffd9;box-shadow:0 4px 18px #38bdf873,inset 0 1px 1.5px #ffffffe6}.gpu-fur-pill.active .scene-pill-dot{background:#0284c7;box-shadow:0 0 8px #0284c7d9}.lang-pill{color:var(--text-primary);background:#ffffff14;border-color:#ffffff2e;gap:5px;padding:6px 12px;font-weight:600}.lang-pill:hover{background:#ffffff2e;border-color:#ffffff61}.header-lang-btn{background:var(--bg-glass-element);border:1px solid var(--glass-border);color:var(--text-primary);cursor:pointer;border-radius:999px;outline:none;margin-right:6px;padding:3px 9px;font-size:11px;font-weight:600;transition:all .2s}.header-lang-btn:hover{background:var(--bg-glass-element-hover);border-color:#ffffff59}#page-nav{background:var(--bg-glass-pill);-webkit-backdrop-filter:blur(24px)saturate(190%);border:1px solid var(--glass-border);z-index:25;box-shadow:0 12px 32px #00000059, var(--glass-inner-bevel);border-radius:999px;gap:5px;padding:5px 6px;display:flex;position:fixed;top:18px;left:18px}.nav-pill{color:var(--text-secondary);font-family:var(--font-sans);border:1px solid #0000;border-radius:999px;padding:6px 13px;font-size:11.5px;font-weight:500;text-decoration:none;transition:all .2s cubic-bezier(.22,1,.36,1)}.nav-pill:hover{color:#fff;background:var(--bg-glass-element-hover);border-color:#ffffff24}.nav-pill.active{color:#0b1116;background:var(--accent);box-shadow:0 3px 14px var(--accent-glow);border-color:#fff6;font-weight:600}#page-nav a[href*=grass\.html]{display:none!important}#ui-root{background:var(--bg-glass-card);-webkit-backdrop-filter:blur(28px)saturate(190%);border:1px solid var(--glass-border);width:304px;max-height:calc(100vh - 36px);box-shadow:var(--glass-shadow), var(--glass-inner-bevel);z-index:25;border-radius:20px;padding:14px 16px;transition:width .28s cubic-bezier(.22,1,.36,1),padding .28s cubic-bezier(.22,1,.36,1),border-radius .28s cubic-bezier(.22,1,.36,1),background .2s,box-shadow .28s;position:fixed;top:18px;right:18px;overflow:hidden auto}#ui-root::-webkit-scrollbar{width:5px}#ui-root::-webkit-scrollbar-track{background:0 0}#ui-root::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:999px}#ui-root::-webkit-scrollbar-thumb:hover{background:#ffffff52}#ui-root.collapsed{cursor:pointer;background:var(--bg-glass-pill);width:auto;min-width:178px;box-shadow:0 14px 36px #0006, var(--glass-inner-bevel);border-radius:999px;padding:10px 15px}#ui-root.collapsed:hover{border-color:var(--glass-border-light);background:#ffffff1f;transform:translateY(-1px)}#ui-root.collapsed .ui-body{display:none}#ui-root.collapsed .ui-header{margin-bottom:0}.ui-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.ui-title-wrap{align-items:center;gap:8px;display:flex}.ui-dot{background:var(--accent);width:8px;height:8px;box-shadow:0 0 10px var(--accent);border-radius:50%}.ui-title{font-family:var(--font-sans);letter-spacing:.015em;color:var(--text-primary);font-size:13px;font-weight:600}.ui-toggle-btn{color:var(--text-secondary);font-family:var(--font-sans);cursor:pointer;background:#ffffff14;border:1px solid #ffffff26;border-radius:999px;outline:none;padding:4px 10px;font-size:11px;font-weight:500;transition:all .18s;box-shadow:inset 0 1px #ffffff1f}.ui-toggle-btn:hover{color:#fff;background:#ffffff2e;border-color:#ffffff4d}.ui-section{border-top:1px solid #ffffff14;margin-top:11px;padding-top:11px}.ui-section:first-of-type{border-top:none;margin-top:2px;padding-top:2px}.ui-section-title{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:9px;font-size:10px;font-weight:700}.preset-grid{grid-template-columns:1fr 1fr;gap:6px;margin-bottom:2px;display:grid}.preset-btn{background:var(--bg-glass-element);border:1px solid var(--glass-border);color:var(--text-primary);font-family:var(--font-sans);cursor:pointer;border-radius:10px;outline:none;align-items:center;gap:7px;padding:7px 9px;font-size:11px;font-weight:500;transition:all .18s cubic-bezier(.22,1,.36,1);display:flex;box-shadow:inset 0 1px #ffffff1a}.preset-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px;box-shadow:0 0 6px #00000059}.preset-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.preset-btn:hover{border-color:var(--accent);background:#ff8fb133;transform:translateY(-1px)}.control-row{flex-direction:column;gap:4px;margin-bottom:9px;display:flex}.control-label-row{justify-content:space-between;align-items:center;font-size:11.5px;display:flex}.control-label{color:var(--text-primary);font-weight:500}.control-val{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:11px}input[type=range]{appearance:none;background:#ffffff1f;border-radius:999px;outline:none;width:100%;height:6px;box-shadow:inset 0 1px 2px #0006}input[type=range]::-webkit-slider-thumb{appearance:none;width:15px;height:15px;box-shadow:0 2px 8px #0006, 0 0 10px var(--accent-glow);cursor:pointer;background:linear-gradient(135deg,#fff 0%,#ffb6cd 100%);border:2px solid #fff;border-radius:50%;transition:transform .12s,box-shadow .12s}input[type=range]::-webkit-slider-thumb:hover{box-shadow:0 3px 12px #00000080, 0 0 14px var(--accent);transform:scale(1.18)}.color-grid{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:9px;display:grid}.color-cell{background:var(--bg-glass-element);border:1px solid var(--glass-border);cursor:pointer;border-radius:9px;justify-content:space-between;align-items:center;padding:5px 9px;font-size:11px;transition:all .15s;display:flex;box-shadow:inset 0 1px #ffffff14}.color-cell:hover{background:var(--bg-glass-element-hover);border-color:#ffffff40}input[type=color]{appearance:none;cursor:pointer;background:0 0;border:none;border-radius:6px;width:22px;height:22px}input[type=color]::-webkit-color-swatch-wrapper{padding:0}input[type=color]::-webkit-color-swatch{border:1px solid #fff6;border-radius:6px;box-shadow:0 1px 4px #0000004d}.ar-controls-wrap{border:1px solid var(--glass-border);background:#ffffff0a;border-radius:12px;flex-direction:column;gap:6px;margin-top:2px;padding:8px 10px;display:flex}.ar-status-row{color:var(--text-secondary);align-items:center;gap:6px;font-size:11px;display:flex}.ar-status-dot{background:#f59e0b;border-radius:50%;flex-shrink:0;width:7px;height:7px;box-shadow:0 0 8px #f59e0b99}.ar-status-dot.live{background:#4ade80;box-shadow:0 0 8px #4ade80b3}.ar-status-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ar-plane-row{color:var(--text-secondary);background:#ffffff0a;border:1px solid #ffffff14;border-radius:8px;justify-content:space-between;align-items:center;gap:6px;padding:5px 8px;font-size:10px;display:flex}.ar-plane-info{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;display:flex;overflow:hidden}.ar-plane-dot{background:#38bdf8;border-radius:50%;flex-shrink:0;width:6px;height:6px;box-shadow:0 0 6px #38bdf8b3}.ar-plane-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ar-plane-badge{color:#7dd3fc;letter-spacing:.02em;background:#38bdf829;border:1px solid #38bdf859;border-radius:4px;flex-shrink:0;padding:1px 6px;font-size:9px;font-weight:700}.action-row{gap:6px;margin-top:4px;display:flex}.action-btn{background:var(--bg-glass-element);border:1px solid var(--glass-border);color:var(--text-primary);font-family:var(--font-sans);cursor:pointer;border-radius:8px;outline:none;flex:1;padding:6px 8px;font-size:10.5px;font-weight:500;transition:all .15s;box-shadow:inset 0 1px #ffffff14}.action-btn:hover{background:var(--bg-glass-element-hover);border-color:#ffffff47}.action-btn.active{color:#fff;background:#38bdf83d;border-color:#38bdf8;box-shadow:0 0 10px #38bdf866}.audit-badge{color:var(--text-muted);border-top:1px solid #ffffff14;justify-content:space-between;align-items:center;margin-top:10px;padding-top:9px;font-size:10px;display:flex}.audit-pill{color:#86efac;background:#4ade8029;border:1px solid #4ade8059;border-radius:999px;padding:2px 7px;font-weight:600}#hud-hint{background:var(--bg-glass-pill);-webkit-backdrop-filter:blur(20px)saturate(180%);border:1px solid var(--glass-border);font-family:var(--font-sans);color:var(--text-secondary);pointer-events:none;z-index:10;white-space:nowrap;box-shadow:0 10px 28px #00000059, var(--glass-inner-bevel);border-radius:999px;padding:7px 18px;font-size:11.5px;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}#ar-camera-video,#ar-fallback-canvas{object-fit:cover;z-index:0;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}#tiltshift-overlay{z-index:5;pointer-events:none;-webkit-backdrop-filter:blur(8px)saturate(118%);width:100%;height:100%;position:fixed;inset:0;-webkit-mask-image:radial-gradient(46% 38% at 50% 54%,#0000 42%,#0000008c 72%,#000 100%);mask-image:radial-gradient(46% 38% at 50% 54%,#0000 42%,#0000008c 72%,#000 100%)}body[data-env=meadow]{background:linear-gradient(#1d4ed8 0%,#60a5fa 55%,#e0f2fe 100%)}body[data-env=highrise]{background:radial-gradient(circle at 50% 38%,#311d3f 0%,#161829 65%,#0c0a0e 100%)}body[data-env=ar]{background:#0f172a}body.grass-theme{--accent:#4ade80;--accent-glow:#4ade8059;background:radial-gradient(circle at 50% 35%,#1e2d2b 0%,#0f1719 68%,#070b0d 100%)}.perf-toggle-btn{background:var(--bg-glass-element);border-radius:9px;justify-content:center;align-items:center;gap:6px;width:100%;margin-bottom:7px;padding:8px 10px;font-size:11px;font-weight:600;display:flex}.perf-toggle-btn.active{color:#fff;background:linear-gradient(135deg,#ef444447 0%,#f472b659 100%);border-color:#f43f5e;box-shadow:0 0 12px #f43f5e73}.dpr-selector-row{gap:5px;margin-bottom:7px;display:flex}.dpr-pill-btn{background:var(--bg-glass-element);border:1px solid var(--glass-border);color:var(--text-secondary);font-family:var(--font-sans);cursor:pointer;white-space:nowrap;text-align:center;border-radius:8px;outline:none;flex:1;padding:6px 3px;font-size:10px;font-weight:500;transition:all .15s}.dpr-pill-btn:hover{background:var(--bg-glass-element-hover);color:#fff}.dpr-pill-btn.active{color:#fff;background:#ffffff38;border-color:#ffffff80;font-weight:600}.engine-mode-row{margin-bottom:10px}.engine-mode-btn{padding:7px 6px;font-size:11px}.engine-mode-btn.active{border-color:var(--accent);color:#fff;background:#ff8fb13d;box-shadow:0 0 12px #ff8fb152}body.record-mode #tiltshift-overlay{display:none!important}body.record-mode #ui-root,body.record-mode #scene-nav,body.record-mode #page-nav{-webkit-backdrop-filter:blur(10px)!important}.mobile-controls-btn,.mobile-sheet-backdrop,.mobile-sheet-handle-wrap,.mobile-scene-section{display:none}@media (width>=769px){.mobile-scene-section+.ui-section{border-top:none;margin-top:2px;padding-top:2px}}@media (width<=768px){#page-nav,#scene-nav,#hud-hint{display:none!important}.mobile-controls-btn{bottom:max(20px, env(safe-area-inset-bottom,20px));background:var(--bg-glass-pill);-webkit-backdrop-filter:blur(24px)saturate(190%);border:1px solid var(--glass-border-light);min-height:46px;color:var(--text-primary);font-family:var(--font-sans);letter-spacing:.01em;cursor:pointer;z-index:28;white-space:nowrap;box-shadow:var(--glass-shadow), var(--glass-inner-bevel);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:10px 22px;font-size:13.5px;font-weight:600;transition:transform .2s cubic-bezier(.16,1,.3,1),opacity .2s,background .2s;display:inline-flex;position:fixed;left:50%;transform:translate(-50%)}.mobile-controls-btn:active{transform:translate(-50%)scale(.96)}.mobile-controls-btn-dot{background:var(--accent);width:8px;height:8px;box-shadow:0 0 10px var(--accent);border-radius:50%;flex-shrink:0}.mobile-controls-btn-sep{color:var(--text-muted);font-weight:400}.mobile-controls-btn-scene{color:var(--accent-light);font-size:12.5px;font-weight:500}body.mobile-sheet-active .mobile-controls-btn{opacity:0;pointer-events:none;transform:translate(-50%)translateY(16px)}.mobile-sheet-backdrop{-webkit-backdrop-filter:blur(4px);z-index:34;opacity:0;pointer-events:none;background:#04060e73;transition:opacity .22s;display:block;position:fixed;inset:0}.mobile-sheet-backdrop.active{opacity:1;pointer-events:auto}#ui-root,#ui-root.collapsed{width:100%;min-width:100%;max-width:100%;max-height:76vh;padding:6px 18px calc(24px + env(safe-area-inset-bottom,0px)) 18px;-webkit-backdrop-filter:blur(28px)saturate(190%);box-shadow:0 -16px 48px #0009, var(--glass-inner-bevel);opacity:0;pointer-events:none;cursor:default;z-index:40;background:linear-gradient(#1a1f30eb 0%,#0c0f18f5 100%);border-bottom:none;border-radius:24px 24px 0 0;transition:transform .26s cubic-bezier(.16,1,.3,1),opacity .2s;inset:auto 0 0;transform:translateY(105%)}#ui-root.mobile-sheet-open,#ui-root.collapsed.mobile-sheet-open{opacity:1;pointer-events:auto;transform:translateY(0)}#ui-root.collapsed .ui-body{display:block}#ui-root.collapsed .ui-header{margin-bottom:12px}.mobile-sheet-handle-wrap{cursor:pointer;justify-content:center;align-items:center;padding:8px 0 10px;display:flex}.mobile-sheet-handle{background:#ffffff47;border-radius:999px;width:40px;height:5px}.mobile-scene-section{border-top:none;margin-top:2px;padding-top:2px;display:block}.mobile-scene-btn{min-height:44px;padding:9px 12px;font-size:12.5px}.mobile-scene-btn.active{color:#0c101a;background:var(--accent-active-pill);box-shadow:0 4px 16px var(--accent-glow), inset 0 1px 1.5px #ffffffd9;border-color:#ffffffbf;font-weight:600}.mobile-scene-btn.active .scene-pill-dot{background:#ff4d84;box-shadow:0 0 8px #ff4d84d9}.ui-toggle-btn{min-height:36px;padding:6px 14px;font-size:12px;font-weight:600}.preset-btn,.engine-mode-btn,.action-btn,.mode-btn,.color-cell{min-height:44px;font-size:12px}input[type=range]{height:8px}input[type=range]::-webkit-slider-thumb{width:20px;height:20px}}
