:root{--bg: #121522;--fg: #e8eaf6;--fg-muted: #a2a8c6;--fg-faint: #6e7596;--fg-fainter: #7c84a6;--sep: #444b68;--panel: #1b1f31;--surface: #262b42;--surface-hover: #30364f;--surface-sunken: #161a2a;--surface-sunken-hover: #1d2236;--surface-row-hover: #232842;--border: #2c3250;--border-strong: #3b4266;--hairline: rgba(160, 175, 255, .14);--hairline-soft: rgba(160, 175, 255, .22);--hairline-softer: rgba(160, 175, 255, .3);--panel-bg: var(--panel);--modal-bg: var(--panel);--panel-border: var(--border);--side-panel-bg: var(--panel);--hud-bg: var(--panel);--toast-bg: #262b42;--menu-bg: var(--panel);--scrim: rgba(6, 8, 18, .55);--input-bg: #12162a;--shadow-modal: rgba(0, 0, 0, .55);--shadow-panel: rgba(0, 0, 0, .4);--shadow-float: rgba(0, 0, 0, .45);--shadow-1: 0 1px 2px rgba(0, 0, 0, .35), 0 4px 14px rgba(0, 0, 0, .28);--shadow-2: 0 2px 6px rgba(0, 0, 0, .35), 0 18px 48px rgba(0, 0, 0, .45);--accent: #7b61ff;--accent-hover: #6a4ef5;--accent-2: #20c4e8;--accent-grad: linear-gradient(135deg, #8b5cf6 0%, #6366f1 45%, #06b6d4 100%);--accent-soft: rgba(123, 97, 255, .14);--accent-soft-strong: rgba(123, 97, 255, .22);--accent-fg: #b4a6ff;--on-accent: #fff;--warn: #ffb020;--warn-bar-bg: #2e2412;--on-warn: #1e1f22;--swatch-ring: #fff;--danger-bg: #43202b;--danger-fg: #ff7a8a;--t-select: #8b7bff;--t-wall: #ff8a4c;--t-area: #2dd4bf;--t-door: #f4a261;--t-window: #38bdf8;--t-object: #c084fc;--t-label: #f472b6;--t-measure: #facc15;--t-terrain: #4ade80;--t-electrical: #fde047;--t-hydraulic: #60a5fa;--r-sm: 6px;--r-md: 10px;--r-lg: 14px;--ui-scale: 1}:root[data-theme=light]{--bg: #eef0f8;--fg: #1b1e33;--fg-muted: #565d7e;--fg-faint: #858ba8;--fg-fainter: #8c92ae;--sep: #b9bed4;--panel: #ffffff;--surface: #f0f1f9;--surface-hover: #e5e7f5;--surface-sunken: #f6f7fc;--surface-sunken-hover: #eceefa;--surface-row-hover: #eef0fa;--border: #e0e3f0;--border-strong: #cbd0e4;--hairline: rgba(40, 50, 120, .12);--hairline-soft: rgba(40, 50, 120, .18);--hairline-softer: rgba(40, 50, 120, .22);--toast-bg: #ffffff;--scrim: rgba(30, 35, 70, .32);--input-bg: #ffffff;--shadow-modal: rgba(30, 35, 80, .2);--shadow-panel: rgba(30, 35, 80, .14);--shadow-float: rgba(30, 35, 80, .16);--shadow-1: 0 1px 2px rgba(30, 35, 80, .08), 0 4px 14px rgba(30, 35, 80, .1);--shadow-2: 0 2px 6px rgba(30, 35, 80, .1), 0 18px 48px rgba(30, 35, 80, .18);--accent: #6447ff;--accent-hover: #5236f0;--accent-soft: rgba(100, 71, 255, .1);--accent-soft-strong: rgba(100, 71, 255, .16);--accent-fg: #5236f0;--on-accent: #fff;--warn: #b3720a;--warn-bar-bg: #fff6e6;--on-warn: #2a1c05;--swatch-ring: #23252a;--danger-bg: #fde3e6;--danger-fg: #c8283c;--t-select: #6447ff;--t-wall: #ea6a24;--t-area: #0d9488;--t-door: #c9772f;--t-window: #0284c7;--t-object: #9333ea;--t-label: #db2777;--t-measure: #b88a00;--t-terrain: #16a34a;--t-electrical: #ca9a04;--t-hydraulic: #2563eb}*{box-sizing:border-box}[hidden]{display:none!important}input[type=range],input[type=checkbox],input[type=radio]{accent-color:var(--accent)}select,input[type=number],input[type=text],input[type=email],input[type=password],textarea{background:var(--input-bg);color:var(--fg);border:1px solid var(--border-strong);border-radius:7px;font-family:inherit}select:focus,input[type=number]:focus,input[type=text]:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft-strong)}select option{background:var(--panel);color:var(--fg)}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}html{-webkit-user-select:none;user-select:none}input,textarea,select,[contenteditable=true]{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}html,body{margin:0;padding:0;height:100%;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--fg);overflow:hidden}kbd{background:var(--surface);border:1px solid var(--border-strong);border-bottom-width:2px;border-radius:5px;padding:0 5px;font-size:11px;font-family:inherit;font-weight:600;color:var(--fg-muted)}#hud{position:fixed;left:12px;bottom:12px;z-index:10;display:flex;align-items:center;gap:8px;min-height:calc(34px * var(--ui-scale));background:var(--panel);border:1px solid var(--border);border-radius:999px;padding:3px 14px 3px 4px;font-family:inherit;font-size:12px;font-variant-numeric:tabular-nums;text-align:left;color:var(--fg-muted);box-shadow:var(--shadow-1)}#hud:hover{background:var(--panel);border-color:var(--border-strong)}#hud:disabled{opacity:1;cursor:default}#hud .sep{color:var(--sep)}#hud .hint{color:var(--fg-muted)}#hudTool{font-weight:650;color:var(--tc, var(--accent));background:color-mix(in srgb,var(--tc, var(--accent)) 16%,transparent);border-radius:999px;padding:3px 11px}#hud #gridLabel,#hud #zoomLabel{color:var(--fg);font-weight:600}.hud-mode-badge{font-weight:600;color:var(--warn);border:1px solid var(--warn);border-radius:4px;padding:1px 6px}#viewModeBar{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:130;display:none;align-items:center;gap:12px;background:var(--warn-bar-bg);border:1px solid var(--warn);border-radius:999px;padding:8px 16px;font-size:12.5px;color:var(--fg);box-shadow:0 10px 30px var(--shadow-panel);flex-wrap:wrap;justify-content:center;max-width:calc(100vw - 24px)}#viewModeBar.open{display:flex}.view-mode-label{font-weight:600;color:var(--warn);white-space:nowrap}.view-sub-tools{display:flex;gap:4px}.view-sub-tool{font-size:12px;padding:4px 10px;border-radius:999px}.view-sub-tool.active{background:var(--warn);border-color:var(--warn);color:var(--on-warn);font-weight:600}.pen-color-swatches{display:flex;gap:6px}.pen-color-swatches.dim{opacity:.35;pointer-events:none}.pen-swatch{width:18px;height:18px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0}.pen-swatch.active{border-color:var(--swatch-ring)}#viewModeBar button{font-size:12px;padding:4px 10px}body.viewer-locked #hud .hint,body.viewer-locked #hud .sep:has(+.hint){display:none}body.viewer-locked #exitViewModeBtn{display:none}body.viewer-locked #accountBtn,body.viewer-locked #accountOverlay,body.viewer-locked #usersBtn,body.viewer-locked #usersOverlay,body.viewer-locked #installRow{display:none!important}button:disabled{opacity:.4;cursor:default}button:disabled:hover{background:var(--surface)}#canvasWrap{position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden;cursor:default;touch-action:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}canvas{display:block;touch-action:none}#modalOverlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:none;align-items:center;justify-content:center;background:var(--scrim)}#modalOverlay.open{display:flex}#modalPanel{background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:18px 20px 14px;width:min(860px,calc(100vw - 32px));max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-2);display:flex;flex-direction:column;gap:14px}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-header h2{margin:0;font-size:16px;font-weight:600}.icon-btn{background:transparent;border:none;color:var(--fg-muted);font-size:20px;line-height:1;cursor:pointer;padding:2px 6px;border-radius:4px}.icon-btn:hover{background:var(--surface);color:var(--fg)}.modal-status{margin:0;font-size:12.5px;color:var(--fg-muted);min-height:1.4em}.modal-footer{margin-top:2px;font-size:11.5px;color:var(--fg-faint);text-align:center}.section{display:flex;flex-direction:column;gap:8px}.section-label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-faint)}.modal-divider{width:100%;border:none;border-top:1px solid var(--border);margin:2px 0}.menu-brand{display:flex;align-items:center;gap:12px;min-width:0}.menu-brand h2{font-size:17px}#modalPanel>*{flex-shrink:0}.menu-status{background:color-mix(in srgb,var(--tc, var(--accent)) 12%,transparent);border-left:3px solid var(--tc, var(--accent));border-radius:8px;padding:9px 12px;color:var(--fg);line-height:1.45}.menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.menu-card{background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--r-lg);padding:12px;display:flex;flex-direction:column;gap:10px;min-width:0}.menu-card-wide{grid-column:1 / -1}.tool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:6px}.tool-tile{position:relative;display:flex;flex-direction:column;align-items:center;gap:7px;padding:14px 6px 10px;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);color:var(--fg)}.tool-tile.tool[data-icon]{flex-direction:column}.tool-tile .ico{width:24px;height:24px;color:var(--tc)}.tool-tile kbd{position:absolute;top:5px;right:5px;font-size:9.5px;padding:0 4px;background:transparent;border-color:var(--border);color:var(--fg-faint)}.tool-tile:hover{background:color-mix(in srgb,var(--tc) 10%,var(--panel));border-color:color-mix(in srgb,var(--tc) 60%,transparent)}button.tool-tile.active{background:var(--tc);border-color:var(--tc);color:var(--on-tc);font-weight:650;box-shadow:0 6px 18px color-mix(in srgb,var(--tc) 40%,transparent)}.tool-tile.active .ico,.tool-tile.active kbd{color:inherit;border-color:currentColor}.menu-list{display:flex;flex-direction:column;gap:1px}.menu-list>button,.menu-split>button{display:flex;justify-content:flex-start;align-items:center;gap:10px;width:100%;background:transparent;border:1px solid transparent;padding:8px 10px;text-align:left;color:var(--fg)}.menu-list button .ico{color:var(--accent-fg)}.menu-list button span{flex:1}.menu-list button kbd{background:transparent;border:none;padding:0;font-weight:500;color:var(--fg-faint)}.menu-list>button:hover,.menu-split>button:hover{background:var(--surface-hover);border-color:transparent}.menu-split{display:flex;align-items:center;gap:4px}.menu-split>button{flex:1;min-width:0}.menu-split select{flex:none;padding:4px 6px;font-size:12px}.menu-list .danger-btn .ico{color:var(--danger-fg)}.menu-list>.danger-btn:hover{background:var(--danger-bg);color:var(--danger-fg)}.menu-device{background:transparent;border:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.hotkeys-list{list-style:none;margin:0;padding:10px 12px;background:var(--surface-sunken);border:1px solid var(--border);border-radius:6px;display:flex;flex-direction:column;gap:6px;font-size:12.5px}.hotkeys-list li{display:flex;align-items:center;gap:8px}.hotkeys-list li span{color:var(--fg-muted)}.hotkeys-heading{margin-top:10px;padding-bottom:4px;border-bottom:1px solid var(--border);color:var(--fg);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.hotkeys-list .hotkeys-heading:first-child{margin-top:0}.group{display:flex;align-items:center;gap:6px}.button-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.button-row-single{flex-wrap:nowrap;overflow-x:auto;align-items:stretch}.button-row button{flex:1 1 auto;white-space:nowrap}.section .button-row+.button-row{margin-top:6px}button{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:var(--surface);color:var(--fg);border:1px solid var(--border);border-radius:8px;padding:calc(6px * var(--ui-scale)) calc(12px * var(--ui-scale));font-family:inherit;font-size:calc(13px * var(--ui-scale));font-weight:500;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}button[data-icon]{display:inline-flex;align-items:center;justify-content:center;gap:8px}.ico{width:18px;height:18px;flex:none;display:block}button:hover{background:var(--surface-hover);border-color:var(--border-strong)}.tool[data-tool=select],body[data-tool=select]{--tc: var(--t-select)}.tool[data-tool=wall],body[data-tool=wall]{--tc: var(--t-wall)}.tool[data-tool=area],body[data-tool=area]{--tc: var(--t-area)}.tool[data-tool=door],body[data-tool=door]{--tc: var(--t-door)}.tool[data-tool=window],body[data-tool=window]{--tc: var(--t-window)}.tool[data-tool=object],body[data-tool=object]{--tc: var(--t-object)}.tool[data-tool=label],body[data-tool=label]{--tc: var(--t-label)}.tool[data-tool=measure],body[data-tool=measure]{--tc: var(--t-measure)}.tool[data-tool=terrain],body[data-tool=terrain]{--tc: var(--t-terrain)}.tool[data-tool=electrical],body[data-tool=electrical]{--tc: var(--t-electrical)}.tool[data-tool=hydraulic],body[data-tool=hydraulic]{--tc: var(--t-hydraulic)}:root{--on-tc: #121522}:root[data-theme=light]{--on-tc: #fff}button.tool.active{background:var(--tc, var(--accent));border-color:var(--tc, var(--accent));color:var(--on-tc)}button.primary{background:var(--accent-grad);border-color:transparent;color:var(--on-accent);font-weight:600}button.primary:hover{background:var(--accent-grad);filter:brightness(1.1)}#promptOverlay,#choiceOverlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:none;align-items:center;justify-content:center;background:var(--scrim)}#promptOverlay.open,#choiceOverlay.open{display:flex}#promptPanel,#choicePanel{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:10px;padding:18px 20px;min-width:min(280px,100%);box-shadow:0 20px 60px var(--shadow-modal);display:flex;flex-direction:column;gap:10px}.prompt-label{font-size:13px;color:var(--fg)}.prompt-input{background:var(--input-bg);color:var(--fg);border:1px solid var(--border-strong);border-radius:4px;padding:7px 10px;font-size:13px;font-family:inherit}.prompt-input:focus{outline:none;border-color:var(--accent)}.prompt-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:2px}#choicePanel{max-width:min(380px,calc(100vw - 32px))}#ceramicOverlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:none;align-items:center;justify-content:center;background:var(--scrim)}#ceramicOverlay.open{display:flex}#ceramicPanel{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:10px;padding:16px 18px;width:min(420px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow-y:auto;box-shadow:0 20px 60px var(--shadow-modal);display:flex;flex-direction:column;gap:10px;color:var(--fg);font-size:13px}.ceramic-title{font-weight:600;font-size:14px}#ceramicPreview{width:100%;aspect-ratio:560 / 220;border-radius:6px;border:1px solid var(--border-strong)}.ceramic-note{color:var(--muted, #9aa0a6);font-size:12px;margin-top:-4px}.ceramic-row{display:flex;flex-direction:column;gap:4px}.ceramic-row>span{font-size:12px;color:var(--muted, #9aa0a6)}.ceramic-row select,.ceramic-row input{background:var(--input-bg);color:var(--fg);border:1px solid var(--border-strong);border-radius:4px;padding:6px 8px;font-size:13px;font-family:inherit;min-width:0}.ceramic-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ceramic-grout{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.ceramic-grout button{width:26px;height:26px;padding:0;border-radius:50%;border:2px solid var(--border-strong);cursor:pointer}.ceramic-grout button.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.ceramic-grout input[type=color]{width:30px;height:28px;padding:0 2px;border:1px solid var(--border-strong);border-radius:4px;background:transparent;cursor:pointer}.choice-actions{display:flex;flex-direction:column;gap:8px;margin-top:4px}.choice-actions button{text-align:left;padding:9px 12px}.choice-actions button.danger{background:var(--danger-bg);color:var(--danger-fg);border-color:var(--danger-fg)}#texturePickerOverlay,#objectPickerOverlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:210;display:none;align-items:center;justify-content:center;background:var(--scrim)}#texturePickerOverlay.open,#objectPickerOverlay.open{display:flex}#texturePickerPanel,#objectPickerPanel{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:10px;padding:18px 20px;min-width:min(300px,100%);max-width:380px;max-height:70vh;box-shadow:0 20px 60px var(--shadow-modal);display:flex;flex-direction:column;gap:10px}.object-picker-breadcrumb{display:none;align-items:center;gap:8px;font-size:12.5px;color:var(--fg-muted)}.object-picker-back{background:transparent;border:none;color:var(--accent);cursor:pointer;font-size:12.5px;padding:2px 4px}.object-picker-back:hover{text-decoration:underline}.object-picker-category{display:flex;align-items:center;justify-content:space-between}.object-picker-category:after{content:"\203a";color:var(--fg-faint);font-size:15px}.object-picker-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;overflow-y:auto;max-height:40vh}.object-picker-row{padding:8px 10px;background:var(--surface-sunken);border:1px solid var(--border);border-radius:6px;font-size:13px;color:var(--fg);cursor:pointer}.object-picker-row:hover,.object-picker-row.active{border-color:var(--accent);background:var(--accent-soft-strong)}.object-picker-item{display:flex;align-items:center;gap:10px;padding-top:4px;padding-bottom:4px}.object-picker-thumb{width:48px;height:36px;flex:none;border-radius:4px;border:1px solid var(--border);background:#e4e1db url(objects/thumbs.webp) no-repeat}.object-picker-thumb.plan{background:var(--surface)}.texture-picker-row{display:flex;align-items:center;gap:10px}.texture-picker-swatch{width:56px;height:32px;border-radius:4px;border:1px solid var(--border);flex:none}.texture-picker-clear{color:var(--fg-muted);font-style:italic}#savesOverlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;display:none;align-items:center;justify-content:center;background:var(--scrim)}#savesOverlay.open{display:flex}#savesPanel{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:10px;padding:18px 20px;min-width:min(340px,100%);max-width:560px;width:calc(100% - 32px);max-height:70vh;box-shadow:0 20px 60px var(--shadow-modal);display:flex;flex-direction:column;gap:12px}.saves-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;overflow-y:auto;max-height:50vh}.saves-row{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--surface-sunken);border:1px solid var(--border);border-radius:6px}.save-name{flex:1;cursor:pointer;font-size:13px;color:var(--fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.save-name:hover{color:var(--accent)}.save-date{font-size:11px;color:var(--fg-faint);white-space:nowrap}.save-actions{display:flex;gap:4px}.save-actions button{padding:4px 8px;font-size:11.5px}#settingsOverlay,#shareOverlay,#plansOverlay,#feedbackOverlay,.admin-overlay,#stlOverlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;display:none;align-items:center;justify-content:center;background:var(--scrim)}#settingsOverlay.open,#shareOverlay.open,#plansOverlay.open,#feedbackOverlay.open,.admin-overlay.open,#stlOverlay.open{display:flex}#settingsPanel,#sharePanel,#plansPanel,#feedbackPanel,.admin-panel,#stlPanel{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:10px;padding:18px 20px;min-width:min(340px,100%);max-width:420px;box-shadow:0 20px 60px var(--shadow-modal);display:flex;flex-direction:column;gap:12px;max-height:90vh;overflow-y:auto}.settings-row{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--fg)}.settings-row label{white-space:nowrap}#stlPanel .settings-row label,.settings-row input[type=range]{flex:1}.settings-row input[type=number]{width:80px;background:var(--surface);color:var(--fg);border:1px solid var(--border-strong);border-radius:4px;padding:5px 8px;font-size:13px}.settings-row span{min-width:34px;text-align:right;color:var(--fg-muted);font-size:12px}#hotkeysOverlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;display:none;align-items:center;justify-content:center;background:var(--scrim)}#hotkeysOverlay.open{display:flex}#hotkeysPanel{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:10px;padding:18px 20px;min-width:min(340px,100%);max-width:420px;max-height:70vh;box-shadow:0 20px 60px var(--shadow-modal);display:flex;flex-direction:column;gap:12px}#hotkeysPanel .hotkeys-list{overflow-y:auto;max-height:55vh}#themeToggle{display:none;position:fixed;top:12px;right:12px;z-index:140;width:32px;height:32px;padding:0;align-items:center;justify-content:center;background:var(--hud-bg);border:1px solid var(--border);border-radius:6px;color:var(--fg-muted)}body.viewer-locked #themeToggle{display:flex}#themeToggle:hover{background:var(--surface-hover);color:var(--fg)}#themeToggle svg{width:16px;height:16px;display:block}.theme-setting-btn{display:inline-flex;align-items:center;gap:8px}#view3dBtn{height:36px;margin-left:4px;padding:0 14px 0 11px;background:var(--accent-grad);border:none;border-radius:var(--r-md);color:#fff;font-size:13px;font-weight:650;box-shadow:0 4px 14px #6366f173}#view3dBtn:hover{background:var(--accent-grad);filter:brightness(1.12)}#appPlansBtn{height:36px;margin-right:4px;padding:0 13px 0 10px;background:linear-gradient(135deg,#fbbf24,#f97316);border:none;border-radius:var(--r-md);color:#1f1300;font-size:13px;font-weight:700;box-shadow:0 4px 14px #f9731666}#appPlansBtn:hover{background:linear-gradient(135deg,#fbbf24,#f97316);filter:brightness(1.08)}#appPlansBtn[hidden]{display:none}body.touch-mode #appPlansBtn{height:calc(44px * var(--ui-scale))}body.viewer-locked #view3dBtn{display:none}#view3d{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:160;background:var(--bg);touch-action:none}#view3d.open{display:block}#view3dVeil{position:fixed;top:0;right:0;bottom:0;left:0;z-index:170;display:flex;align-items:center;justify-content:center;background:#0e101e59;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);cursor:progress;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility 0s linear .2s}#view3dVeil.show{opacity:1;visibility:visible;transition:none}.veil-spinner{width:48px;height:48px;border:4px solid rgba(255,255,255,.2);border-top-color:#8b5cf6;border-right-color:#06b6d4;border-radius:50%;animation:toast-spin .8s linear infinite;will-change:transform}#view3dVeil:not(.show) .veil-spinner{animation:none}#view3dSky,#view3dSkyGl,#view3dGl,#view3dCanvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;touch-action:none}#view3dSky,#view3dSkyGl,#view3dGl{pointer-events:none}#view3dGl,#view3dCanvas{background:transparent}#view3dBar{position:fixed;top:12px;left:12px;display:flex;align-items:center;gap:2px;height:calc(46px * var(--ui-scale));max-width:calc(100vw - 320px);overflow-x:auto;scrollbar-width:none;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);padding:0 5px;font-size:12px;box-shadow:var(--shadow-1)}#view3dBar button{height:calc(34px * var(--ui-scale));padding:0 11px;background:transparent;border-color:transparent;color:var(--fg-muted);white-space:nowrap}#view3dBar button:hover{background:var(--surface);color:var(--fg)}#view3dBar button.active{background:var(--accent-soft-strong);color:var(--accent-fg);font-weight:600}#view3dBar #view3dExitBtn{background:var(--accent-grad);color:#fff;font-weight:650;padding:0 14px 0 9px}#view3dBar #view3dExitBtn:hover{filter:brightness(1.12)}#view3dBar .app-divider{margin:0 3px}#view3d .view3d-hint{position:absolute;left:50%;bottom:14px;transform:translate(-50%);max-width:calc(100vw - 140px);padding:6px 14px;background:var(--panel);border:1px solid var(--border);border-radius:999px;box-shadow:var(--shadow-1);color:var(--fg-muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}#view3dFilm{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at center,#0000 45%,#00000029 75%,#0006)}#view3dFilm:after{content:"";position:absolute;top:-128px;right:-128px;bottom:-128px;left:-128px;background:var(--grain);background-size:128px 128px;opacity:.1;mix-blend-mode:overlay;animation:film-grain .5s steps(1) infinite;will-change:transform}@keyframes film-grain{0%{transform:translate(0)}17%{transform:translate(-37px,23px)}33%{transform:translate(51px,-61px)}50%{transform:translate(-83px,-17px)}67%{transform:translate(29px,77px)}83%{transform:translate(-11px,-97px)}}#view3dFilm[hidden]:after{animation:none}@media (prefers-reduced-motion: reduce){#view3dFilm:after{animation:none}}#view3dFilm[hidden]{display:none}#view3dFilm.shader{background:none}#view3dFilm.shader:after{display:none}#view3dMinimap{position:absolute;left:14px;bottom:14px;pointer-events:none;line-height:0;opacity:.82;filter:drop-shadow(0 0 1px rgba(0,0,0,.55)) drop-shadow(0 2px 6px rgba(0,0,0,.35))}#view3d.walking #view3dCanvas{cursor:none}#view3dCrosshair{display:none;position:absolute;left:50%;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;pointer-events:none;background:linear-gradient(#ffffffd9,#ffffffd9) center / 2px 18px no-repeat,linear-gradient(#ffffffd9,#ffffffd9) center / 18px 2px no-repeat;filter:drop-shadow(0 0 1px rgba(0,0,0,.8))}#view3d.walking #view3dCrosshair{display:block}body.touch-mode #view3d.walking #view3dCrosshair{display:none}#view3dLayers{position:fixed;top:calc(12px + 52px * var(--ui-scale));left:12px;z-index:5;display:none;flex-direction:column;gap:2px;min-width:220px;max-height:60vh;overflow-y:auto;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);padding:10px 12px;box-shadow:var(--shadow-2);font-size:13px}#view3dLayers.open{display:flex}#view3dLayers .layer3d-title{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-faint);margin-bottom:4px}.layer3d-row{display:flex;align-items:center;gap:8px;padding:6px;border-radius:6px;cursor:pointer}.layer3d-row:hover{background:var(--surface)}.layer3d-row input{accent-color:var(--accent)}.layer3d-row.off{color:var(--fg-faint);cursor:default}body.touch-mode .layer3d-row{padding:9px 2px}#view3dViews{position:fixed;top:calc(18px + 46px * var(--ui-scale));left:12px;right:300px;display:flex;align-items:center;flex-wrap:wrap;gap:6px;background:transparent;pointer-events:none}#view3dViews>*,#view3dViewList>*{pointer-events:auto}#view3dViewList{display:contents}#view3dViews button{background:var(--panel);border:1px solid var(--border);font-size:12px;box-shadow:var(--shadow-1)}#view3dSaveView{border-radius:999px;padding:5px 13px 5px 9px;color:var(--accent-fg);font-weight:600;gap:5px}#view3dSaveView .ico{width:15px;height:15px}.view-chip{display:inline-flex;align-items:stretch}.view-chip .view-go{border-radius:999px 0 0 999px;padding:5px 10px 5px 12px;color:var(--fg);font-weight:600}.view-chip .view-go small{font-weight:400;color:var(--fg-muted);margin-left:6px}.view-chip .view-del{border-radius:0 999px 999px 0;border-left:none;padding:5px 9px 5px 6px;color:var(--fg-muted)}.view-chip .view-del:hover{color:var(--danger-fg)}.view-chip.active .view-go,.view-chip.active .view-del{border-color:var(--accent);background:var(--accent-soft-strong)}.view-chip.active .view-go{color:var(--accent-fg)}body.touch-mode #view3dViews{top:64px;right:12px}#view3dSunBar{position:fixed;top:12px;right:12px;display:flex;flex-direction:column;gap:7px;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);padding:10px 12px 12px;font-size:12px;box-shadow:var(--shadow-1)}#view3dSunBar .sun-title{display:flex;align-items:center;gap:7px;margin-bottom:2px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-faint)}#view3dSunBar .sun-title .ico{width:16px;height:16px;color:#fbbf24}#view3dSunBar .sun-row{display:flex;align-items:center;gap:8px}#view3dSunBar label{width:52px;color:var(--fg-muted)}#view3dSunBar input[type=range]{width:130px}#view3dSunBar input[type=number],#view3dSunBar select{width:72px;background:var(--input-bg);color:var(--fg);border:1px solid var(--border-strong);border-radius:6px;padding:4px 6px;font:inherit}#view3dSunBar button{padding:4px 12px;font-size:12px}#view3dSunBar .sun-value{width:38px;text-align:right;font-variant-numeric:tabular-nums}#renderPromptOverlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:250;display:none;align-items:center;justify-content:center;padding:16px;background:var(--scrim)}#renderPromptOverlay.open{display:flex}#renderPromptPanel{background:var(--modal-bg);border:1px solid var(--panel-border);border-radius:10px;padding:18px 20px 16px;width:min(560px,100%);max-height:calc(100vh - 32px);overflow-y:auto;box-shadow:0 20px 60px var(--shadow-modal);display:flex;flex-direction:column;gap:10px}#renderPromptPanel .rp-step{margin-left:6px;font-size:12px;font-weight:400;color:var(--fg-faint)}#renderPromptPanel .rp-question{margin:4px 0 0;font-size:15px;font-weight:600}#renderPromptPanel .rp-chips{display:flex;flex-wrap:wrap;gap:8px}#renderPromptPanel .rp-chip{border-radius:999px;padding:8px 14px}#renderPromptPanel .rp-chip.selected{background:var(--accent-soft-strong);border-color:var(--accent);color:var(--accent);font-weight:600}#renderPromptPanel textarea{width:100%;box-sizing:border-box;resize:vertical;font-size:13px;line-height:1.45;padding:8px 10px}#renderPromptPanel .rp-notes{min-height:90px}#renderPromptOutput{min-height:260px}#renderPromptPanel .rp-actions,#renderPromptPanel .rp-nav{display:flex;gap:8px}#renderPromptPanel .rp-nav{justify-content:space-between;margin-top:4px}#renderPromptPanel .rp-primary,#renderPromptNext{background:var(--accent-grad);border-color:transparent;color:#fff;font-weight:600}#renderPromptPanel .rp-primary:hover,#renderPromptNext:hover{background:var(--accent-grad);filter:brightness(1.1)}body.touch-mode #view3dBtn,body.touch-mode #view3dExitBtn,body.touch-mode #renderPromptBtn{min-height:calc(40px * var(--ui-scale));padding:calc(8px * var(--ui-scale)) calc(14px * var(--ui-scale))}body.touch-mode #view3d .view3d-hint{display:none}.theme-setting-btn svg{width:16px;height:16px;display:block}#toast{position:fixed;bottom:16px;left:50%;z-index:300;max-width:calc(100vw - 32px);background:var(--toast-bg);color:var(--fg);border:1px solid var(--border-strong);border-radius:12px;padding:10px 18px;font-size:13px;font-weight:500;box-shadow:var(--shadow-2);opacity:0;transform:translate(-50%,8px);pointer-events:none;transition:opacity .2s ease,transform .2s ease}#toast.show{opacity:1;transform:translate(-50%)}#exportPanel{position:fixed;top:0;right:0;z-index:120;width:min(300px,100%);background:var(--side-panel-bg);border-left:1px solid var(--border);border-bottom:1px solid var(--border);padding:16px;display:flex;flex-direction:column;gap:12px;transform:translate(100%);transition:transform .2s ease}#exportPanel.open{transform:translate(0);box-shadow:-20px 0 60px var(--shadow-panel)}#layersPanel{position:fixed;top:0;right:0;bottom:0;z-index:120;width:min(300px,100%);background:var(--side-panel-bg);border-left:1px solid var(--border);padding:16px;display:flex;flex-direction:column;gap:12px;transform:translate(100%);transition:transform .2s ease;overflow-y:auto}#layersPanel.open{transform:translate(0);box-shadow:-20px 0 60px var(--shadow-panel)}.side-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px}body.viewer-locked .side-panel-header{padding-right:calc(44px * var(--ui-scale) + 8px)}.side-panel-header h2{margin:0;font-size:16px;font-weight:600}.side-panel-add{align-self:flex-start}.layers-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.layers-row{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--surface-sunken);border:1px solid var(--border);border-radius:6px;cursor:pointer}.layers-row.active{border-color:var(--accent);background:var(--accent-soft)}.layers-row.dragging{opacity:.4}.layers-row.drag-over{border-color:var(--accent);box-shadow:inset 0 2px 0 var(--accent)}.layer-drag-handle{font-size:12px;line-height:1;color:var(--fg-faint);cursor:grab;-webkit-user-select:none;user-select:none;letter-spacing:-2px}.layer-visibility,.layer-select-lock{padding:4px 6px;font-size:13px;line-height:1}.layers-row.hidden-layer .layer-name{color:var(--fg-faint);font-style:italic}.layer-name{flex:1;font-size:13px;color:var(--fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.layers-row.active .layer-name{color:var(--accent);font-weight:600}.layer-level{font-size:11px;color:var(--fg-faint);white-space:nowrap}.layer-actions{display:flex;gap:4px}.layer-actions button{padding:4px 8px;font-size:11.5px}.layers-move-section{display:none;flex-direction:column;gap:6px;padding-top:10px;border-top:1px solid var(--border);font-size:12.5px;color:var(--fg-muted)}.layers-move-section select,.settings-row select,.button-row select{background:var(--surface);color:var(--fg);border:1px solid var(--border-strong);border-radius:4px;padding:6px 8px;font-size:13px}#infoPanel{position:fixed;top:0;right:0;bottom:0;z-index:120;width:min(300px,100%);background:var(--side-panel-bg);border-left:1px solid var(--border);padding:16px;display:flex;flex-direction:column;gap:16px;transform:translate(100%);transition:transform .2s ease;overflow-y:auto}#infoPanel.open{transform:translate(0);box-shadow:-20px 0 60px var(--shadow-panel)}.info-section{display:flex;flex-direction:column;gap:8px}.info-wires-list,.info-summary-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.info-empty{font-size:12.5px;color:var(--fg-faint);font-style:italic}.info-wire-row{display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--surface-sunken);border:1px solid var(--border);border-radius:6px;cursor:pointer}.info-wire-row:hover{border-color:var(--border-strong);background:var(--surface-sunken-hover)}.info-wire-row.selected{border-color:var(--accent);background:var(--accent-soft)}.info-wire-swatch{width:14px;height:14px;border-radius:3px;flex:none;box-sizing:border-box;border:2px solid var(--hairline-soft)}.info-wire-text{flex:1;display:flex;flex-direction:column;min-width:0}.info-wire-name{font-size:13px;color:var(--fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.info-wire-sub{font-size:11px;color:var(--fg-faint)}.info-wire-length{font-size:12px;color:var(--fg-muted);white-space:nowrap;text-align:right}.info-summary-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px}.info-summary-label{color:var(--fg-muted)}.info-summary-value{color:var(--fg);font-weight:500}.info-summary-row.clickable{cursor:pointer;border-radius:4px;padding:2px 4px;margin:-2px -4px}.info-summary-row.clickable:hover{background:var(--surface-row-hover)}#scaleBarWidget{position:fixed;right:16px;bottom:16px;z-index:90;display:flex;flex-direction:column;align-items:flex-end;gap:4px;pointer-events:none}.scale-bar{height:8px;border-left:2px solid var(--fg);border-right:2px solid var(--fg);border-bottom:2px solid var(--fg)}.scale-bar-label{font-size:12px;font-weight:600;color:var(--fg);text-shadow:0 0 3px var(--bg),0 0 3px var(--bg)}.context-menu{position:fixed;z-index:400;display:none;flex-direction:column;gap:1px;background:var(--panel);border:1px solid var(--border-strong);border-radius:12px;padding:5px;min-width:180px;max-height:calc(100vh - 16px);overflow-y:auto;box-shadow:var(--shadow-2)}.context-menu.open{display:flex}.context-menu button{background:transparent;border:none;color:var(--fg);text-align:left;padding:8px 10px;border-radius:4px;font-size:13px;cursor:pointer}.context-menu button:hover{background:var(--accent-soft-strong);color:var(--accent-fg)}.context-menu-divider{height:1px;background:var(--border);margin:4px 2px}.context-menu-sublist{display:none;flex-direction:column;gap:1px}.context-menu-light-dot{display:inline-block;width:10px;height:10px;margin-right:8px;border-radius:50%;border:1px solid rgba(0,0,0,.25);vertical-align:-1px}.context-menu-sublist.open{display:flex}.context-menu-sublist button{padding-left:24px}.context-menu-sublist button:disabled{color:var(--fg-muted);cursor:default}.context-menu-sublist button:disabled:hover{background:transparent}.context-menu-swatches{display:flex;flex-wrap:wrap;gap:6px;padding:6px 10px 4px 24px;max-width:172px}.context-menu-swatches-label{padding:4px 10px 0 24px;font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--fg-fainter)}.context-menu .context-menu-swatch{width:18px;height:18px;padding:0;border:1px solid var(--hairline-softer);border-radius:4px;flex:none}.context-menu .context-menu-swatch:hover{outline:2px solid var(--accent)}.context-menu-color-input{position:absolute;width:0;height:0;opacity:0;border:none;padding:0}#ctxDelete:hover{background:var(--danger-bg);color:var(--danger-fg)}.toggle-row{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:var(--surface-sunken);border:1px solid var(--border);border-radius:6px;cursor:pointer}.toggle-row input[type=checkbox]{flex:none;width:18px;height:18px;margin:1px 0 0;accent-color:var(--accent);cursor:pointer}.toggle-text{display:flex;flex-direction:column;gap:2px;min-width:0}.toggle-label{font-size:13px;font-weight:600;color:var(--fg)}.toggle-hint{font-size:11.5px;color:var(--fg-muted)}.install-row{display:flex;flex-direction:column;gap:8px;padding:10px 12px;background:var(--surface-sunken);border:1px solid var(--border);border-radius:6px}.install-row .group:empty,.install-row .group:not(:has(button:not([hidden]))){display:none}#touchBar{--touch-cell-w: calc(56px * var(--ui-scale));--touch-cell-h: calc(48px * var(--ui-scale));--touch-gap: 4px;position:fixed;left:50%;bottom:12px;transform:translate(-50%);z-index:125;display:none;max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);padding:14px;touch-action:none;background:var(--panel-bg);border:1px solid var(--border);border-radius:14px;box-shadow:0 10px 30px var(--shadow-float)}#touchBar.open{display:block}body:has(#modalOverlay.open) #touchBar,body:has(#settingsOverlay.open) #touchBar,body:has(#savesOverlay.open) #touchBar,body:has(#accountOverlay.open) #touchBar,body:has(#usersOverlay.open) #touchBar,body:has(#hotkeysOverlay.open) #touchBar,body:has(#promptOverlay.open) #touchBar,body:has(#choiceOverlay.open) #touchBar,body:has(#ceramicOverlay.open) #touchBar,body:has(#objectPickerOverlay.open) #touchBar,body:has(#texturePickerOverlay.open) #touchBar{display:none}#touchBar.positioned{bottom:auto;right:auto;transform:none}#touchBar.sized{max-width:calc(100vw - 16px);max-height:calc(100vh - 16px)}#touchBar.dragging{box-shadow:0 18px 44px var(--shadow-modal);opacity:.96}#touchBar.single-row .touch-bar-items{flex-wrap:nowrap}.touch-bar-items{display:flex;flex-wrap:wrap;align-content:flex-start;align-items:center;gap:var(--touch-gap);width:100%;height:100%;overflow:auto;scrollbar-width:none}.touch-bar-items::-webkit-scrollbar{display:none}#touchBar.collapsed .touch-bar-items>:not(.touch-chrome){display:none}#touchBar.collapsed{padding:14px}#touchBar.collapsed .touch-bar-corner{display:none}.touch-btn{flex:none;width:var(--touch-cell-w);height:var(--touch-cell-h);overflow:hidden;padding:4px 6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:var(--surface-sunken);border:1px solid var(--border);border-radius:10px;color:var(--fg);font-family:inherit}.touch-btn.touch-chrome{background:transparent;border-color:transparent;color:var(--fg-muted)}.touch-btn.touch-chrome:hover{background:var(--surface-sunken)}#touchBarMove{touch-action:none;cursor:grab}#touchBar.dragging #touchBarMove{cursor:grabbing}.touch-btn.active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.touch-btn:disabled{opacity:.35}.touch-btn.touch-view{border-style:dashed}.touch-btn.touch-view.off{opacity:.5}.touch-btn.touch-view.off .touch-btn-label{text-decoration:line-through}.touch-btn-icon{flex:none;font-size:calc(17px * var(--ui-scale));line-height:1}.touch-btn-label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:calc(9.5px * var(--ui-scale));line-height:1;letter-spacing:.01em}.touch-bar-corner{position:absolute;width:26px;height:26px;touch-action:none}.touch-bar-corner:after{content:"";position:absolute;width:11px;height:11px;border:2px solid var(--fg-muted);opacity:.45}.touch-bar-corner:hover:after{opacity:.9}.touch-bar-corner[data-corner=nw]{top:2px;left:2px;cursor:nwse-resize}.touch-bar-corner[data-corner=ne]{top:2px;right:2px;cursor:nesw-resize}.touch-bar-corner[data-corner=sw]{bottom:2px;left:2px;cursor:nesw-resize}.touch-bar-corner[data-corner=se]{bottom:2px;right:2px;cursor:nwse-resize}.touch-bar-corner[data-corner=nw]:after{top:4px;left:4px;border-right:none;border-bottom:none;border-top-left-radius:5px}.touch-bar-corner[data-corner=ne]:after{top:4px;right:4px;border-left:none;border-bottom:none;border-top-right-radius:5px}.touch-bar-corner[data-corner=sw]:after{bottom:4px;left:4px;border-right:none;border-top:none;border-bottom-left-radius:5px}.touch-bar-corner[data-corner=se]:after{bottom:4px;right:4px;border-left:none;border-top:none;border-bottom-right-radius:5px}@media (max-width: 600px){#touchBar:not(.positioned):not(.sized){left:8px;right:8px;transform:none;max-width:none}}body.touch-mode #scaleBarWidget,body.touch-mode #toast{bottom:128px}.layer-order-btns{display:none;flex-direction:column;gap:2px;flex:none}.layer-order-btn{padding:0;width:26px;height:20px;font-size:9px;line-height:1;border-radius:4px}body.touch-mode .layer-drag-handle{display:none}body.touch-mode .layer-order-btns{display:flex}body.touch-mode button,body.touch-mode select,body.touch-mode input[type=number],body.touch-mode input[type=text],body.touch-mode input[type=password],body.touch-mode .prompt-input{min-height:calc(44px * var(--ui-scale))}body.touch-mode select,body.touch-mode input[type=number],body.touch-mode input[type=text],body.touch-mode input[type=password],body.touch-mode .prompt-input{font-size:max(16px,calc(13px * var(--ui-scale)))}body.touch-mode button{padding:calc(10px * var(--ui-scale)) calc(14px * var(--ui-scale));font-size:calc(14px * var(--ui-scale))}body.touch-mode #touchBar button{min-height:0;padding:4px 6px;font-size:inherit}body.touch-mode .icon-btn{min-width:calc(44px * var(--ui-scale));min-height:calc(44px * var(--ui-scale));font-size:calc(24px * var(--ui-scale));display:inline-flex;align-items:center;justify-content:center}body.touch-mode .layer-actions button,body.touch-mode .save-actions button,body.touch-mode #viewModeBar button,body.touch-mode .view-sub-tool{min-height:44px;padding:8px 14px;font-size:13px}body.touch-mode .layer-visibility,body.touch-mode .layer-select-lock{min-width:calc(44px * var(--ui-scale));min-height:calc(44px * var(--ui-scale));font-size:calc(18px * var(--ui-scale))}body.touch-mode .layer-order-btn{width:calc(44px * var(--ui-scale));height:calc(24px * var(--ui-scale));min-height:0;padding:0;font-size:12px}body.touch-mode .pen-swatch,body.touch-mode .context-menu .context-menu-swatch{width:calc(40px * var(--ui-scale));height:calc(40px * var(--ui-scale));min-height:calc(40px * var(--ui-scale))}body.touch-mode .pen-color-swatches,body.touch-mode .context-menu-swatches{gap:10px}body.touch-mode .context-menu-swatches{max-width:none}body.touch-mode .context-menu{min-width:240px;padding:6px}body.touch-mode .context-menu button{min-height:calc(48px * var(--ui-scale));padding:calc(12px * var(--ui-scale)) calc(14px * var(--ui-scale));font-size:calc(15px * var(--ui-scale))}body.touch-mode .context-menu-sublist button{padding-left:28px}body.touch-mode .object-picker-row,body.touch-mode .texture-picker-row,body.touch-mode .saves-row,body.touch-mode .layers-row,body.touch-mode .info-wire-row{min-height:calc(52px * var(--ui-scale));font-size:calc(13px * var(--ui-scale))}body.touch-mode .object-picker-back{min-height:44px;padding:8px 12px;font-size:14px}body.touch-mode .info-summary-row.clickable{min-height:44px;padding:8px 6px;margin:0 -6px}body.touch-mode input[type=checkbox]{width:28px;height:28px;min-height:0}body.touch-mode .settings-row,body.touch-mode .toggle-row{min-height:44px}body.touch-mode .settings-row label{display:flex;align-items:center;min-height:44px;cursor:pointer}body.touch-mode input[type=range]{height:44px}body.touch-mode input[type=range]::-webkit-slider-thumb{width:28px;height:28px}body.touch-mode input[type=range]::-moz-range-thumb{width:28px;height:28px}body.touch-mode .toggle-row{padding:14px}body.touch-mode #layersPanel,body.touch-mode #infoPanel,body.touch-mode #exportPanel,body.touch-mode #modalPanel,body.touch-mode .object-picker-list,body.touch-mode .saves-list,body.touch-mode .hotkeys-list{-webkit-overflow-scrolling:touch}body.touch-mode #hud{padding:calc(10px * var(--ui-scale)) calc(14px * var(--ui-scale));font-size:calc(13px * var(--ui-scale))}body.touch-mode #themeToggle{width:calc(44px * var(--ui-scale));height:calc(44px * var(--ui-scale))}body.touch-mode .layers-row,body.touch-mode .saves-row{flex-wrap:wrap;row-gap:8px}body.touch-mode .layer-name,body.touch-mode .save-name{order:-1;flex:1 0 100%;min-width:0;font-size:calc(15px * var(--ui-scale));white-space:normal;overflow-wrap:anywhere}body.touch-mode .save-date{order:-1;flex:1 0 100%}body.touch-mode .layer-actions,body.touch-mode .save-actions{margin-left:auto}@media (max-width: 680px){#layersPanel,#infoPanel,#exportPanel{width:100%}#hud{flex-wrap:wrap;max-width:calc(100vw - 24px)}body.viewer-locked #hud{max-width:calc(100vw - 68px)}#modalPanel{padding:16px;max-height:92vh}#modalPanel .group{flex-wrap:wrap}#toast{bottom:12px;max-width:calc(100vw - 24px)}}#accountOverlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;display:none;align-items:center;justify-content:center;background:var(--scrim)}#accountOverlay.open{display:flex}#accountPanel{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:10px;padding:18px 20px;min-width:min(320px,100%);max-width:380px;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px var(--shadow-modal);display:flex;flex-direction:column;gap:12px}#accountPanel form{display:flex;flex-direction:column;gap:12px}#accountPanel [hidden]{display:none}.account-field{display:flex;flex-direction:column;gap:5px}.account-field label{font-size:12px;color:var(--fg-muted)}.account-field input{background:var(--input-bg);border:1px solid var(--border-strong);border-radius:6px;color:var(--fg);padding:9px 10px;font-size:16px;font-family:inherit;min-height:calc(38px * var(--ui-scale))}.account-field input:focus{outline:none;border-color:var(--accent)}.account-error{margin:0;font-size:13px;color:var(--danger-fg)}.account-tier{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;font-size:11px;letter-spacing:.04em;text-transform:uppercase;background:var(--input-bg);border:1px solid var(--panel-border);color:var(--fg-muted)}.account-tier.premium{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}#usersOverlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;display:none;align-items:center;justify-content:center;background:var(--scrim)}#usersOverlay.open{display:flex}#usersPanel{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:10px;padding:18px 20px;min-width:min(420px,100%);max-width:560px;max-height:75vh;box-shadow:0 20px 60px var(--shadow-modal);display:flex;flex-direction:column;gap:12px}#usersPanel [hidden]{display:none}.users-list{list-style:none;margin:0;padding:0;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.users-row{display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center;padding:10px;background:var(--surface-sunken);border:1px solid var(--border);border-radius:6px}.user-email{font-size:13px;color:var(--fg);overflow-wrap:anywhere}.user-meta{grid-column:1 / -1;font-size:11.5px;color:var(--fg-muted)}.user-actions{grid-column:1 / -1;display:flex;align-items:center;gap:8px}.user-role{flex:1;min-width:0}.user-delete{background:var(--danger-bg);color:var(--danger-fg)}.user-delete:disabled,.user-role:disabled{opacity:.5;cursor:not-allowed}.saves-signin{align-self:flex-start}#savesScope.saves-warning{color:var(--danger-fg);font-weight:600}body #toast.toast-progress,body #toast.toast-success,body #toast.toast-error{top:16px;bottom:auto;left:50%;right:auto;max-width:calc(100vw - 32px);transform:translate(-50%,-12px) scale(.96);display:flex;align-items:center;gap:10px;padding:12px 22px;border-radius:12px;border:none;font-size:15px;font-weight:600;color:#fff;box-shadow:0 12px 40px #00000059,0 0 0 3px #ffffff2e;z-index:400}body #toast.toast-progress.show,body #toast.toast-success.show,body #toast.toast-error.show{transform:translate(-50%) scale(1)}body #toast.toast-progress{background:var(--accent-grad)}body #toast.toast-success{background:#1e9e58}body #toast.toast-error{background:#c9362c}body #toast.toast-success.show{animation:toast-pop .35s ease}@keyframes toast-pop{0%{transform:translate(-50%,-12px) scale(.9)}60%{transform:translate(-50%) scale(1.06)}to{transform:translate(-50%) scale(1)}}.toast-spinner{width:16px;height:16px;flex:none;border:3px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:toast-spin .8s linear infinite}@keyframes toast-spin{to{transform:rotate(360deg)}}.toast-icon{width:22px;height:22px;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#ffffff40;font-size:14px;font-weight:700}body.in-3d #canvasWrap,body.in-3d #touchBar,body.in-3d #hud{visibility:hidden}#terrainPanel{position:fixed;top:calc(18px + 46px * var(--ui-scale));right:12px;width:252px;z-index:40;padding:10px;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-1);color:var(--fg);font-size:12px;display:flex;flex-direction:column;gap:8px}#terrainPanel[hidden]{display:none}.terrain-title{font-weight:600;font-size:13px}.terrain-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.terrain-modes button,.terrain-swatch{font:inherit;color:inherit;background:transparent;border:1px solid var(--border);border-radius:5px;padding:5px 4px;cursor:pointer}.terrain-modes button.active{background:var(--t-terrain);border-color:transparent;color:var(--on-tc);font-weight:600}.terrain-materials{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}.terrain-swatch{height:40px;padding:0;background-size:64px 64px;position:relative;overflow:hidden}.terrain-swatch span{position:absolute;left:0;right:0;bottom:0;font-size:9px;line-height:12px;background:#0000008c;color:#fff;text-align:center}.terrain-swatch.active{outline:2px solid var(--t-terrain);outline-offset:1px}.terrain-row{display:grid;grid-template-columns:56px 1fr 58px;align-items:center;gap:6px}.terrain-row span{text-align:right;opacity:.8}.terrain-row input{width:100%;min-width:0}.terrain-hint{opacity:.7;line-height:1.35}@media (max-width: 600px){#terrainPanel{top:auto;bottom:84px;right:8px;left:8px;width:auto}}.terrain-trees{display:grid;grid-template-columns:1fr 1fr;gap:4px}.terrain-trees[hidden],.terrain-materials[hidden]{display:none}.terrain-tree{font:inherit;color:inherit;background:transparent;border:1px solid var(--border);border-radius:5px;padding:4px 6px;cursor:pointer;display:flex;align-items:center;gap:6px;text-align:left}.terrain-tree.active{outline:2px solid var(--t-terrain);outline-offset:1px}.terrain-tree-dot{width:12px;height:12px;border-radius:50%;flex:none}.app-bar{position:fixed;top:12px;left:12px;right:12px;z-index:10;display:flex;justify-content:space-between;gap:12px;pointer-events:none}.app-island{pointer-events:auto;display:flex;align-items:center;gap:2px;height:calc(46px * var(--ui-scale));min-width:0;padding:0 5px;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-1)}.app-logo{flex:none;width:34px;height:34px;padding:0;display:grid;place-items:center;background:var(--accent-grad);border:none;border-radius:var(--r-md);color:#fff;box-shadow:0 4px 12px #6366f173}.app-logo:hover{background:var(--accent-grad);filter:brightness(1.12)}.app-logo .ico{width:19px;height:19px}.app-title{display:flex;flex-direction:column;justify-content:center;line-height:1.2;min-width:0;padding:0 10px 0 7px}.app-title h2{margin:0}.app-name{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-faint)}.app-plan{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:600;color:var(--fg)}.menu-brand .app-plan{font-size:12.5px;font-weight:500;color:var(--fg-muted)}.app-divider{flex:none;width:1px;height:22px;margin:0 4px;background:var(--border)}#appBar button.icon-only{width:calc(36px * var(--ui-scale));height:calc(36px * var(--ui-scale));min-height:0;padding:0;background:transparent;border-color:transparent;border-radius:var(--r-md);color:var(--fg-muted)}#appBar button.icon-only:hover{background:var(--surface);color:var(--fg)}#appSaveBtn:hover{color:var(--t-area)!important}#toolRail{position:fixed;top:calc(20px + 46px * var(--ui-scale));left:12px;z-index:10;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-1)}.rail-sep{flex:none;width:22px;height:1px;margin:3px 0;background:var(--border)}#toolRail .rail-btn{position:relative;flex:none;width:calc(40px * var(--ui-scale));height:calc(40px * var(--ui-scale));padding:0;background:transparent;border:none;border-radius:var(--r-md);color:var(--tc)}.rail-btn .ico{width:21px;height:21px}#toolRail .rail-btn:hover{background:color-mix(in srgb,var(--tc) 15%,transparent)}#toolRail .rail-btn.active{background:var(--tc);color:var(--on-tc);box-shadow:0 4px 14px color-mix(in srgb,var(--tc) 45%,transparent)}.rail-tip{position:absolute;top:50%;left:calc(100% + 14px);display:none;align-items:center;gap:8px;padding:5px 8px 5px 10px;background:var(--fg);color:var(--bg);border-radius:7px;font-size:12px;font-weight:600;white-space:nowrap;pointer-events:none;box-shadow:var(--shadow-1);transform:translateY(-50%)}.rail-tip kbd{background:transparent;border-color:color-mix(in srgb,var(--bg) 40%,transparent);color:inherit;opacity:.75}#toolRail .rail-btn:hover .rail-tip{display:flex}body.touch-mode #toolRail{display:none}body.touch-mode .app-island{height:calc(54px * var(--ui-scale))}body.touch-mode #appBar button.icon-only{width:calc(44px * var(--ui-scale));height:calc(44px * var(--ui-scale))}body.touch-mode #view3dBtn{height:calc(44px * var(--ui-scale));min-height:0;padding:0 16px 0 12px}body.touch-mode #hud{bottom:auto;top:calc(20px + 54px * var(--ui-scale))}body.touch-mode #terrainPanel{top:calc(20px + 54px * var(--ui-scale))}body.view-mode #toolRail,body.view-mode #appSaveBtn{display:none}body.view-mode #appMenuBtn{pointer-events:none}body.view-mode #viewModeBar{top:calc(20px + 46px * var(--ui-scale))}body.viewer-locked #appBar,body.viewer-locked #toolRail{display:none}body.viewer-locked #viewModeBar{top:12px}body.in-3d #appBar,body.in-3d #toolRail,body.in-3d #scaleBarWidget{visibility:hidden}@media (max-width: 680px){#appBar .app-title,.app-island-left .app-divider,#view3dBtn span,#appPlansBtn span,#appShareBtn span{display:none}#appPlansBtn,#view3dBtn{padding:0 10px}.menu-grid{grid-template-columns:1fr}#view3dBar{max-width:calc(100vw - 24px)}#view3dBar button span{display:none}#view3dBar #view3dExitBtn span{display:inline}#view3d .view3d-hint{display:none}}@media (max-width: 900px){.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 600px){.menu-grid{grid-template-columns:1fr}}#sharePanel{max-width:480px;gap:14px}#sharePanel .share-lead{margin:0;color:var(--fg-muted);font-size:14px;line-height:1.5}#sharePanel .share-lead[hidden]{display:none}.share-mode{display:flex;padding:3px;gap:3px;border-radius:10px;background:var(--input-bg);border:1px solid var(--border-strong)}.share-mode label{flex:1;position:relative}.share-mode input{position:absolute;opacity:0;pointer-events:none}.share-mode span{display:block;text-align:center;padding:8px 10px;border-radius:7px;cursor:pointer;font-size:14px;font-weight:600;color:var(--fg-muted)}.share-mode input:checked+span{background:var(--accent);color:var(--accent-fg)}.share-mode input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.share-mode label:hover input:not(:checked)+span{color:var(--fg)}.share-link-row{display:flex;gap:8px}.share-link-row input{flex:1;min-width:0;padding:9px 12px;border-radius:8px;border:1px solid var(--border-strong);background:var(--input-bg);color:var(--fg);font:13px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace}.share-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}#shareWhatsappBtn{display:inline-flex;align-items:center;padding:8px 14px;border-radius:8px;background:#25d366;color:#06301a;font-weight:700;font-size:14px;text-decoration:none}#shareWhatsappBtn:hover{filter:brightness(1.06)}#shareRevokeBtn{background:none;border:none;color:var(--danger-fg);font-size:13px;padding:6px 0;cursor:pointer}#shareRevokeBtn:hover{text-decoration:underline}.share-status:empty{display:none}.share-status{margin:0;color:var(--danger-fg);font-size:13px}body.shared-2d #view3d,body.shared-2d #view3dBtn,body.shared-2d #view3dVeil{display:none!important}#sharedBadge,#sharedMissing{display:none}body.shared-view #sharedBadge{position:fixed;right:16px;bottom:68px;z-index:2000;display:inline-flex;align-items:center;gap:8px;padding:7px 14px 7px 9px;border-radius:999px;background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow-1);color:var(--fg-muted);font-size:13px;text-decoration:none}body.shared-view #sharedBadge b{color:var(--accent-fg);font-weight:700}body.shared-view #sharedBadge:hover{border-color:var(--accent)}body.shared-view #view3dExitBtn,body.shared-view #view3dShareBtn,body.shared-view #view3dImageBtn,body.shared-view #renderPromptBtn,body.shared-view #view3dSaveView,body.shared-view #view3dBar .app-divider:first-of-type,body.shared-view #view3dBar .app-divider:last-of-type{display:none!important}@media (max-width: 640px){body.shared-view #view3dSunBar{display:none}}body.shared-missing #sharedBadge{display:none}body.shared-missing #sharedMissing{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;display:grid;place-items:center;padding:24px;background:var(--bg);color:var(--fg);text-align:center}#sharedMissing h2{margin:0 0 8px;font-size:22px}#sharedMissing p{margin:0 0 20px;color:var(--fg-muted)}#sharedMissing a{display:inline-block;padding:10px 20px;border-radius:999px;background:var(--accent-grad);color:#fff;font-weight:700;text-decoration:none}#plansPanel{max-width:760px;width:calc(100% - 32px);gap:14px;max-height:calc(100% - 32px);overflow:auto}.plans-lead{margin:0;color:var(--fg-muted);font-size:14px;line-height:1.5}.plans-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0 10px}@media (max-width: 640px){.plans-list{grid-template-columns:1fr}}.plan-card{border:1px solid var(--border);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:6px;background:var(--surface-sunken)}.plan-card.hot{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.plan-name{font-weight:800;font-size:16px}.plan-price{font-size:26px;font-weight:800;letter-spacing:-.02em}.plan-days{color:var(--fg-muted);font-size:13px}.plan-blurb{flex:1;margin:4px 0 8px;color:var(--fg-muted);font-size:13px;line-height:1.45}.plans-free{margin:0;color:var(--fg-faint);font-size:13px}.pix-box{display:flex;gap:18px;align-items:center;margin:12px 0;flex-wrap:wrap}#plansPixQr{width:220px;height:220px;border-radius:10px;background:#fff;padding:8px;image-rendering:pixelated}.pix-side{flex:1;min-width:240px;display:flex;flex-direction:column;gap:10px}.pix-step{margin:0;font-size:14px;line-height:1.5}.pix-status{margin:0;font-weight:700;color:var(--accent-fg)}.pix-status.bad{color:var(--danger-fg)}.pix-expiry{margin:0;font-size:12px;color:var(--fg-faint)}.pix-done{margin:6px 0 0;font-size:22px;font-weight:800}#plansPanel .link-btn,#accountPanel .link-btn{background:none;border:none;padding:0;color:var(--fg-muted);text-decoration:underline;cursor:pointer;font-size:13px;align-self:flex-start}#accountPanel .link-btn:hover{color:var(--fg)}.account-verify{padding:8px 10px;border-radius:8px;background:var(--accent-soft)}#feedbackPanel{max-width:520px;width:calc(100% - 32px);gap:12px}#feedbackPanel textarea,.fb-reply-input{width:100%;box-sizing:border-box;padding:10px 12px;border-radius:8px;resize:vertical;border:1px solid var(--border-strong);background:var(--input-bg);color:var(--fg);font:inherit;font-size:14px}.feedback-shot{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--fg-muted)}.account-legal{margin:2px 0 0;font-size:12px;color:var(--fg-faint);line-height:1.5}.account-legal a,.plans-free a{color:var(--accent-fg)}.account-danger{margin-top:14px;border-top:1px solid var(--border);padding-top:10px}.account-danger summary{cursor:pointer;font-size:13px;color:var(--danger-fg)}.account-danger[open]{display:flex;flex-direction:column;gap:10px}button.danger{background:var(--danger-bg, #4a1d24);color:var(--danger-fg);border:1px solid var(--danger-fg)}.admin-panel{max-width:860px!important;width:calc(100% - 32px);max-height:calc(100% - 32px);overflow:auto;gap:10px}.admin-panel .modal-header select{margin-left:auto;margin-right:8px}.admin-panel h3{margin:14px 0 4px;font-size:14px}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th,.admin-table td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--border)}.admin-table th{color:var(--fg-muted);font-weight:600}.admin-table .num{text-align:right;font-variant-numeric:tabular-nums}.admin-error{margin:2px 0;font:12px/1.4 ui-monospace,Menlo,monospace;color:var(--fg-muted);word-break:break-word}.admin-when{color:var(--fg-faint);font-size:12px;margin-right:6px}.fb-card{border:1px solid var(--border);border-radius:10px;padding:12px;margin-bottom:10px;display:flex;flex-direction:column;gap:8px}.fb-card.fb-new{border-color:var(--accent)}.fb-top{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.fb-kind{font-size:11px;font-weight:700;text-transform:uppercase;padding:2px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent-fg)}.fb-who{margin-left:auto;font-size:12px;color:var(--fg-muted)}.fb-text{margin:0;white-space:pre-wrap;font-size:14px}.fb-img{max-width:260px;border-radius:8px;cursor:zoom-in;border:1px solid var(--border)}.fb-reply{margin:0;padding:8px 10px;border-left:3px solid var(--accent);background:var(--surface-sunken);font-size:13px;white-space:pre-wrap}.fb-actions{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap}.fb-actions .fb-reply-input{flex:1;min-width:200px;min-height:38px}.admin-table th:not(:first-child){text-align:right}#templatesOverlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;display:none;align-items:center;justify-content:center;background:var(--scrim)}#templatesOverlay.open{display:flex}#templatesPanel{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:12px;padding:18px 20px;width:calc(100% - 32px);max-width:820px;max-height:calc(100% - 32px);overflow:auto;box-shadow:0 20px 60px var(--shadow-modal);display:flex;flex-direction:column;gap:12px}#templatesGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media (max-width: 720px){#templatesGrid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 300px){#templatesGrid{grid-template-columns:1fr}}@media (max-width: 440px){.template-note{display:none}.template-name{font-size:12.5px;padding:5px 8px 0}#templatesPanel{padding:14px}}.template-card{display:flex;flex-direction:column;align-items:stretch;gap:4px;text-align:left;padding:0 0 10px;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--surface-sunken);cursor:pointer}.template-card:hover,.template-card:focus-visible{border-color:var(--accent);background:var(--surface-sunken-hover)}.template-card img{width:100%;aspect-ratio:16 / 10;object-fit:cover;display:block;background:var(--surface)}.template-name{font-weight:700;font-size:14px;color:var(--fg);padding:6px 12px 0}.template-note{font-size:12px;color:var(--fg-muted);padding:0 12px}.saves-templates{align-self:flex-start;margin-top:4px}#tourBubble{position:fixed;z-index:260;width:min(300px,calc(100vw - 24px));background:var(--panel-bg);color:var(--fg);border:1px solid var(--accent);border-radius:10px;padding:12px 14px;box-shadow:0 14px 40px var(--shadow-modal);font-size:13.5px;line-height:1.45}#tourBubble strong{font-size:14.5px}#tourBubble p{margin:6px 0 10px;color:var(--fg-muted)}#tourBubble.tour-center{left:50%!important;top:40%!important;transform:translate(-50%,-50%)}#tourBubble.tour-right:before,#tourBubble.tour-below:before{content:"";position:absolute;width:10px;height:10px;background:var(--panel-bg);border-left:1px solid var(--accent);border-bottom:1px solid var(--accent)}#tourBubble.tour-right:before{left:-6px;top:34px;transform:rotate(45deg)}#tourBubble.tour-below:before{right:24px;top:-6px;transform:rotate(135deg)}.tour-nav{display:flex;align-items:center;gap:8px}.tour-count{margin-right:auto;color:var(--fg-faint);font-size:12px}.tour-target{outline:2px solid var(--accent)!important;outline-offset:3px;border-radius:8px;position:relative;z-index:255}#inviteOverlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:170;display:none;align-items:center;justify-content:center;background:var(--scrim)}#inviteOverlay.open{display:flex}#invitePanel{background:var(--panel-bg);border:1px solid var(--accent);border-radius:12px;padding:18px 20px;width:calc(100% - 32px);max-width:440px;box-shadow:0 20px 60px var(--shadow-modal);display:flex;flex-direction:column;gap:12px}.invite-form{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;font-size:12.5px;color:var(--fg-muted)}.invite-form label{display:flex;flex-direction:column;gap:3px}.invite-form input[type=text]{width:200px}.invite-form input[type=number]{width:70px}.fb-actions a.btn-link{padding:6px 12px;border-radius:6px;background:#1fa855;color:#fff;text-decoration:none;font-size:12.5px;font-weight:600;align-self:center}.journeys-panel{max-width:760px!important;width:calc(100% - 32px)}.journey-bar{width:40%}.journey-bar span{display:block;height:8px;border-radius:4px;background:var(--accent)}.journey-steps{margin:6px 0 0;font-size:12.5px;line-height:1.9;color:var(--fg-muted)}.journey-step{display:inline-block;padding:0 7px;border-radius:10px;background:var(--surface);color:var(--fg);white-space:nowrap}.journey-ok{background:#1fa85533!important}.journey-err{background:var(--danger-bg)!important;color:var(--danger-fg)!important}#view3dVideoBtn.recording{background:#c62f2f!important;color:#fff!important}#testimonialOverlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:165;display:none;align-items:center;justify-content:center;background:var(--scrim)}#testimonialOverlay.open{display:flex}#testimonialPanel{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:12px;padding:18px 20px;width:calc(100% - 32px);max-width:460px;box-shadow:0 20px 60px var(--shadow-modal);display:flex;flex-direction:column;gap:10px}.testimonial-row{display:flex;gap:8px}.testimonial-row input{flex:1;min-width:0}.referral-box{border:1px solid var(--accent);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:6px;background:var(--accent-soft)}.referral-box p{margin:0}.ref-link{display:flex;gap:6px;align-items:center}.ref-link input{flex:1;min-width:0;font-size:12.5px}.ref-link a.btn-link{padding:6px 12px;border-radius:6px;background:#1fa855;color:#fff;text-decoration:none;font-size:12.5px;font-weight:600}#brandOverlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:165;display:none;align-items:center;justify-content:center;background:var(--scrim)}#brandOverlay.open{display:flex}#brandPanel{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:12px;padding:18px 20px;width:calc(100% - 32px);max-width:440px;box-shadow:0 20px 60px var(--shadow-modal);display:flex;flex-direction:column;gap:10px}.brand-logo-row{display:flex;align-items:center;gap:10px}.brand-preview,body.shared-view #sharedBadge.branded{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:10px;background:var(--surface)}.brand-preview img,#sharedBadge.branded img{max-height:36px;max-width:140px;width:auto;height:auto}#sharedBadge.branded b{display:none}.saves-folder{list-style:none;margin:10px 0 2px;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-fg)}.save-name{min-width:120px}#view3dSunToggle{display:none}@media (max-width: 680px){#view3dSunToggle{display:inline-flex}body.sun-open #view3dSunToggle{background:var(--accent-soft-strong);color:var(--accent-fg)}#view3dSunBar{display:none}body.sun-open #view3dSunBar{display:flex;top:calc(70px + 46px * var(--ui-scale));left:12px;right:12px;z-index:5}#view3dViews{right:12px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;pointer-events:auto;padding-bottom:2px}#view3dViews::-webkit-scrollbar{display:none}#view3dViews>*{flex:0 0 auto}.view-chip .view-go{white-space:nowrap}.view-chip .view-go small,#view3dSaveView span{display:none}}
