@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-vietnamese-wght-normal-D0rl6rjA.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-ext-wght-normal-D9tNdqV9.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-wght-normal-BhU9QXUp.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-ext-wght-normal-EocZY2iu.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:dark;--font-sans: "Inter Variable", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display: "Space Grotesk Variable", "Inter Variable", sans-serif;--action: #ffffff;--action-hover: #e4e4e7;--action-ink: #09090b;--selection: rgba(255, 255, 255, .09);--font-mono: "JetBrains Mono Variable", "JetBrains Mono", "Cascadia Code", ui-monospace, SFMono-Regular, Menlo, monospace;--bg: #070709;--bg-1: #0e0e11;--bg-2: #111114;--bg-3: #19191e;--bg-4: #222228;--bg-5: #2c2d35;--stage: #121316;--line: rgba(255, 255, 255, .07);--line-2: rgba(255, 255, 255, .11);--line-3: rgba(255, 255, 255, .18);--control-line: #686873;--text: #f3f4f6;--text-2: #b5b5be;--text-3: #92929e;--text-inverse: #0d0e11;--accent: #e2e2e9;--accent-2: #ffffff;--accent-ink: #09090b;--accent-soft: rgba(255, 255, 255, .09);--accent-ring: #fde68a;--ok: #3fcf8e;--ok-soft: rgba(63, 207, 142, .14);--warn: #f0b34c;--warn-soft: rgba(240, 179, 76, .14);--danger: #ef6a6a;--danger-soft: rgba(239, 106, 106, .14);--info: #5cb3f5;--info-soft: rgba(92, 179, 245, .14);--r-1: 8px;--r-2: 10px;--r-3: 16px;--r-4: 20px;--shadow-1: 0 1px 2px rgba(0, 0, 0, .35);--shadow-2: 0 0 0 1px rgba(255, 255, 255, .05), 0 10px 32px -8px rgba(0, 0, 0, .6);--shadow-3: 0 0 0 1px rgba(255, 255, 255, .06), 0 24px 64px -12px rgba(0, 0, 0, .75);--ease: cubic-bezier(.2, .7, .2, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--t-fast: .11s;--t: .16s;--t-slow: .26s;--sidebar-w: 232px;--topbar-h: 52px;--page-w: 1180px}:root[data-theme=light]{color-scheme:light;--action: #18181b;--action-hover: #35353d;--action-ink: #ffffff;--accent-ink: #ffffff;--selection: rgba(0, 0, 0, .06);--bg: #fafafa;--bg-1: #f4f4f6;--bg-2: #ffffff;--bg-3: #f2f2f5;--bg-4: #e9e9ee;--bg-5: #dfdfe6;--stage: #17181c;--line: rgba(0, 0, 0, .07);--line-2: rgba(0, 0, 0, .11);--line-3: rgba(0, 0, 0, .18);--control-line: #858591;--text: #1c1c22;--text-2: #62626c;--text-3: #686875;--text-inverse: #ffffff;--accent: #27272e;--accent-2: #070709;--accent-soft: rgba(9, 9, 11, .07);--accent-ring: #8a5900;--ok: #187348;--ok-soft: rgba(31, 157, 100, .12);--warn: #8f5b08;--warn-soft: rgba(201, 126, 16, .12);--danger: #b42e36;--danger-soft: rgba(214, 69, 69, .11);--info: #216b9f;--info-soft: rgba(42, 134, 208, .12);--shadow-1: 0 1px 2px rgba(0, 0, 0, .06);--shadow-2: 0 0 0 1px rgba(0, 0, 0, .05), 0 10px 32px -8px rgba(0, 0, 0, .16);--shadow-3: 0 0 0 1px rgba(0, 0, 0, .06), 0 24px 64px -12px rgba(0, 0, 0, .22)}*,*:before,*:after{box-sizing:border-box}html{height:100%;overflow-x:clip;-webkit-text-size-adjust:100%}body{margin:0;min-height:100%;font-family:var(--font-sans);font-size:14px;line-height:1.5;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv01","cv02","cv03","cv04","cv11","ss03","calt"}h1,h2,h3,h4,p{margin:0}h1{font-size:22px;font-weight:600;letter-spacing:-.025em;line-height:1.25;font-family:var(--font-display)}h2{font-size:15px;font-weight:600;letter-spacing:-.015em;font-family:var(--font-display)}h3{font-size:14px;font-weight:600;letter-spacing:-.005em}p{color:var(--text-2)}small{font-size:12px}strong{font-weight:600}code,kbd{font-family:var(--font-mono);font-size:.92em}code{padding:1px 5px;border-radius:4px;background:var(--bg-4);color:var(--text);overflow-wrap:anywhere}a{color:inherit;text-decoration:none}svg{flex-shrink:0}button,input,select,textarea{font:inherit;color:inherit;-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;background:none;padding:0;margin:0}button:disabled{cursor:not-allowed}::selection{background:var(--accent-soft);color:var(--text)}:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px;border-radius:var(--r-1)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--bg-5);border:3px solid transparent;background-clip:padding-box;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--text-3);background-clip:padding-box;border:3px solid transparent}::-webkit-scrollbar-track{background:transparent}*{scrollbar-width:thin;scrollbar-color:var(--bg-5) transparent}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.mono{font-family:var(--font-mono);font-size:11px;letter-spacing:.01em}.eyebrow{font-size:12px;font-weight:500;color:var(--text-3)}.capitalize{text-transform:capitalize}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spin{animation:spin .9s linear infinite}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes rise-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes pop-in{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}@keyframes toast-in{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}@keyframes pulse-dot{0%,to{box-shadow:0 0 0 0 currentColor;opacity:1}70%{box-shadow:0 0 0 5px transparent;opacity:.85}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes toast-drain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:7px;height:34px;padding:0 14px;border-radius:999px;font-size:13.5px;font-weight:500;line-height:1;white-space:nowrap;color:var(--text);background:var(--bg-3);border:1px solid var(--line-2);box-shadow:none;transition:background var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease),opacity var(--t-fast) var(--ease);-webkit-user-select:none;user-select:none}.btn:hover:not(:disabled){background:var(--bg-4);border-color:var(--line-3)}.btn:active:not(:disabled){transform:translateY(.5px) scale(.985)}.btn:disabled{opacity:.45;box-shadow:none}.btn>svg{opacity:.85}.btn-primary{background:var(--action);border-color:var(--action);color:var(--action-ink)}.btn-primary:hover:not(:disabled){background:var(--action-hover);border-color:var(--action-hover)}.btn-primary>svg{opacity:1}.btn-ghost{background:transparent;border-color:transparent;box-shadow:none;color:var(--text-2)}.btn-ghost:hover:not(:disabled){background:var(--bg-3);border-color:transparent;color:var(--text)}.btn-danger{color:var(--danger)}.btn-danger-solid{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger-solid:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 88%,#000);border-color:color-mix(in srgb,var(--danger) 88%,#000)}.btn-danger:hover:not(:disabled){background:var(--danger-soft);border-color:transparent}.btn-sm{height:30px;padding:0 11px;font-size:13px;gap:6px}.btn-xs{height:26px;padding:0 8px;font-size:12px;gap:5px;border-radius:var(--r-1)}.btn-icon{width:34px;padding:0}.btn-icon.btn-sm{width:30px}.btn-icon.btn-xs{width:26px}.btn.on{color:var(--text);background:var(--bg-4);border-color:var(--line-3)}.btn-block{width:100%}.btn .kbd{margin-left:4px;margin-right:-4px}.link{display:inline-flex;align-items:center;gap:5px;color:var(--text-2);font-weight:500;border-radius:3px;transition:color var(--t-fast) var(--ease)}.link:hover:not(:disabled){color:var(--text)}.link.accent{color:var(--accent)}.link.accent:hover:not(:disabled){color:var(--accent-2)}.link>svg{transition:transform var(--t) var(--ease)}.link:hover>svg.arrow{transform:translate(1px,-1px)}.link:hover>svg.arrow-right{transform:translate(2px)}.kbd{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:4px;font-family:var(--font-sans);font-size:10.5px;font-weight:500;color:var(--text-2);background:var(--bg-4);border:1px solid var(--line-2);box-shadow:inset 0 -1px 0 var(--line-2)}.btn-primary .kbd{background:#7f7f7f26;border-color:transparent;color:var(--action-ink);box-shadow:none}[data-tip]{position:relative}[data-tip]:after{content:attr(data-tip);position:absolute;left:50%;bottom:calc(100% + 7px);transform:translate(-50%,3px);padding:5px 8px;border-radius:var(--r-1);background:var(--bg-5);color:var(--text);font-size:11.5px;font-weight:500;line-height:1.3;letter-spacing:0;text-transform:none;white-space:nowrap;box-shadow:var(--shadow-2);pointer-events:none;z-index:40;display:none}[data-tip]:hover:after,[data-tip]:focus-visible:after{display:block;transform:translate(-50%);animation:tip-in var(--t-fast) var(--ease) .35s both}@keyframes tip-in{0%{opacity:0}to{opacity:1}}[data-tip-side=bottom]:after{bottom:auto;top:calc(100% + 7px);transform:translate(-50%,-3px)}[data-tip-side=bottom]:hover:after{transform:translate(-50%)}[data-tip-side=right]:after{bottom:auto;left:calc(100% + 8px);top:50%;transform:translate(-3px,-50%)}[data-tip-side=right]:hover:after,[data-tip-side=right]:focus-visible:after{transform:translateY(-50%)}[data-tip-wrap]:after{white-space:normal;width:max-content;max-width:230px;text-align:left;font-weight:450;line-height:1.4}.scene-tools [data-tip]:after,.topbar-right [data-tip]:after,.capture-bar-right [data-tip]:after,.output-actions [data-tip]:after,.compare-tools [data-tip]:after,.row-actions [data-tip]:after{left:auto;right:0;transform:translateY(-3px)}.scene-tools [data-tip]:hover:after,.scene-tools [data-tip]:focus-visible:after,.topbar-right [data-tip]:hover:after,.topbar-right [data-tip]:focus-visible:after,.capture-bar-right [data-tip]:hover:after,.capture-bar-right [data-tip]:focus-visible:after,.output-actions [data-tip]:hover:after,.output-actions [data-tip]:focus-visible:after,.compare-tools [data-tip]:hover:after,.compare-tools [data-tip]:focus-visible:after,.row-actions [data-tip]:hover:after,.row-actions [data-tip]:focus-visible:after{transform:translate(0)}.tip-btn{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-left:4px;padding:0;border:0;border-radius:999px;background:transparent;color:var(--text-3);vertical-align:-3px;cursor:help;transition:color var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}.tip-btn:hover,.tip-btn.on{color:var(--text);background:var(--accent-soft)}.tip-btn:focus-visible{outline:2px solid var(--accent-ring);outline-offset:1px}.tip-bubble{position:fixed;z-index:60;padding:8px 10px;border-radius:var(--r-2);background:var(--bg-5);color:var(--text);font-size:12px;font-weight:450;line-height:1.45;letter-spacing:0;text-transform:none;box-shadow:var(--shadow-2);pointer-events:none;animation:tip-in var(--t-fast) var(--ease)}@keyframes tip-in{0%{opacity:0;translate:0 2px}}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>span,.field-label{font-size:12px;font-weight:500;color:var(--text-2)}.field-hint{font-size:12px;color:var(--text-3)}.field-hint.error{color:var(--danger)}.studio-export{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:12px}.studio-export .progress{align-self:stretch}.input,.select,.textarea{width:100%;height:36px;padding:0 12px;border-radius:var(--r-2);background:var(--bg-2);border:1px solid var(--control-line);color:var(--text);outline:none;transition:border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}.textarea{height:auto;padding:9px 11px;resize:vertical;line-height:1.55;min-height:96px}.input:hover,.select:hover,.textarea:hover{border-color:var(--text-3)}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-ring)}.input::placeholder,.textarea::placeholder{color:var(--text-3)}.input:disabled,.select:disabled,.textarea:disabled{opacity:.55;cursor:not-allowed}.input.mono{font-size:12px}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:30px;background-image:linear-gradient(45deg,transparent 50%,var(--text-2) 50%),linear-gradient(135deg,var(--text-2) 50%,transparent 50%);background-position:calc(100% - 15px) 50%,calc(100% - 10px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;cursor:pointer}input[type=date]::-webkit-calendar-picker-indicator{opacity:.55;cursor:pointer}.dropzone>input[type=file],.asset-upload>input[type=file],.file-btn>input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.file-btn{position:relative;overflow:hidden;align-self:flex-start}.file-btn:has(input:disabled){opacity:.5;pointer-events:none}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-stack{display:flex;flex-direction:column;gap:16px}.error-text{display:flex;align-items:flex-start;gap:8px;padding:9px 11px;border-radius:var(--r-2);background:var(--danger-soft);color:var(--danger);font-size:12.5px;line-height:1.45;animation:rise-in var(--t) var(--ease)}.select-quiet{height:28px;padding:0 22px 0 8px;border-radius:var(--r-1);border:1px solid transparent;background-color:transparent;font-size:12.5px;color:var(--text-2);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-3) 50%),linear-gradient(135deg,var(--text-3) 50%,transparent 50%);background-position:calc(100% - 12px) 50%,calc(100% - 8px) 50%;background-size:4px 4px,4px 4px;background-repeat:no-repeat;cursor:pointer;transition:background-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.select-quiet:hover{background-color:var(--bg-3);color:var(--text)}.select-quiet:focus{outline:2px solid var(--accent-ring);outline-offset:1px}.select-quiet:disabled{opacity:.55;cursor:not-allowed}.seg{display:inline-flex;align-items:center;gap:2px;padding:2px;border-radius:var(--r-2);background:var(--bg-1);border:1px solid var(--line)}.seg>button{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:28px;padding:0 11px;border-radius:6px;font-size:12.5px;font-weight:500;color:var(--text-2);transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease),transform var(--t-fast) var(--ease);white-space:nowrap}.seg>button:hover:not(:disabled):not(.active){color:var(--text);background:var(--bg-3)}.seg>button:active:not(:disabled){transform:scale(.97)}.seg>button.active{color:var(--text);background:var(--bg-4);box-shadow:var(--shadow-1)}.seg>button:disabled{opacity:.4}.seg-block{display:flex;width:100%}.seg-block>button{flex:1}.seg-lg>button{height:32px;padding:0 14px;font-size:13px}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 11px;border-radius:99px;border:1px solid var(--line-2);font-size:12.5px;font-weight:500;color:var(--text-2);background:transparent;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}.chip:hover:not(.active){color:var(--text);border-color:var(--line-3)}.chip:active{transform:scale(.97)}.chip.active{background:var(--bg-4);border-color:transparent;color:var(--text)}.chip .count{font-size:11px;color:var(--text-3)}.chip.active .count{color:inherit;opacity:.8}.badge{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px 0 8px;border-radius:99px;font-size:12px;font-weight:500;white-space:nowrap;color:var(--text-2);background:var(--bg-4)}.badge>i{width:6px;height:6px;border-radius:50%;background:currentColor;color:var(--text-3)}.badge.published{color:var(--ok);background:var(--ok-soft)}.badge.processing,.badge.uploading,.badge.queued{color:var(--info);background:var(--info-soft)}.badge.processing>i,.badge.uploading>i{animation:pulse-dot 1.6s var(--ease) infinite}.badge.stitching,.badge.review{color:var(--warn);background:var(--warn-soft)}.badge.failed{color:var(--danger);background:var(--danger-soft)}.badge.cancelled{color:var(--text-3);background:var(--bg-3)}.badge.published>i,.badge.review>i,.badge.processing>i,.badge.uploading>i,.badge.queued>i,.badge.stitching>i,.badge.failed>i{color:inherit}.pill{display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 7px;border-radius:5px;font-size:11px;font-weight:500;color:var(--text-2);background:var(--bg-4);white-space:nowrap}.pill.mono{font-size:10.5px;letter-spacing:.04em}.pill.ok{color:var(--ok);background:var(--ok-soft)}.pill.warn{color:var(--warn);background:var(--warn-soft)}.pill.info{color:var(--info);background:var(--info-soft)}.pill.accent{color:var(--accent);background:var(--accent-soft)}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--text-3);flex-shrink:0}.dot.ok{background:var(--ok);color:var(--ok)}.dot.live{animation:pulse-dot 2s var(--ease) infinite}.dot.warn{background:var(--warn)}.dot.accent{background:var(--accent)}.avatar{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;flex-shrink:0;font-size:10.5px;font-weight:600;letter-spacing:.02em;color:var(--text);background:linear-gradient(135deg,var(--bg-5),var(--bg-4));border:1px solid var(--line-2)}.avatar.sm{width:22px;height:22px;font-size:9.5px}.avatar.lg{width:32px;height:32px;font-size:12px}.avatar.accent{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:var(--accent-ink);border-color:transparent}.progress{position:relative;width:100%;height:4px;border-radius:99px;background:var(--bg-4);overflow:hidden}.progress>i{position:absolute;inset:0 auto 0 0;border-radius:99px;background:var(--accent);transition:width var(--t-slow) var(--ease)}.progress.indeterminate>i{width:40%;animation:progress-slide 1.4s var(--ease) infinite}@keyframes progress-slide{0%{left:-40%}to{left:100%}}.skeleton{border-radius:var(--r-1);background:linear-gradient(90deg,var(--bg-3) 25%,var(--bg-4) 50%,var(--bg-3) 75%);background-size:200% 100%;animation:shimmer 1.4s linear infinite}.card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-3)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 22px;border-bottom:1px solid var(--line)}.card-head h2{font-size:17px}.card-head p{font-size:12px;margin-top:2px}.card-body{padding:16px}.divider{height:1px;background:var(--line)}.callout{display:flex;gap:10px;align-items:flex-start;padding:11px 13px;border-radius:var(--r-2);background:var(--bg-3);border:1px solid var(--line);font-size:12.5px;line-height:1.5;color:var(--text-2)}.callout>svg{margin-top:2px;color:var(--text-3)}.callout strong{color:var(--text)}.opt-in{display:flex;align-items:flex-start;gap:8px;margin-top:10px;font-size:12.5px;line-height:1.5;color:var(--text-2);cursor:pointer}.opt-in input{margin-top:3px}.preflight-next{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 12px}.preflight-other{margin:0 0 8px;color:var(--text-3)}.callout.warn{background:var(--warn-soft);border-color:transparent;color:var(--text)}.callout.warn>svg{color:var(--warn)}.callout.danger{background:var(--danger-soft);border-color:transparent;color:var(--text)}.callout.danger>svg{color:var(--danger)}.callout.info{background:var(--info-soft);border-color:transparent;color:var(--text)}.callout.info>svg{color:var(--info)}.callout a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.callout code{background:#0000002e}:root[data-theme=light] .callout code{background:#0000000f}.boot{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;color:var(--text-2);animation:fade-in var(--t-slow) var(--ease)}.brand{display:flex;align-items:center;gap:8px;font-weight:600;font-size:15px;letter-spacing:-.01em;color:var(--text);white-space:nowrap;font-family:var(--font-display)}.brand-mark{width:22px;height:22px;display:grid;place-items:center;color:var(--text);flex-shrink:0}.brand-mark svg{width:20px;height:20px}.app{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-w);display:flex;flex-direction:column;padding:0 10px 10px;background:var(--bg-1);border-right:1px solid var(--line);z-index:30}.sidebar-top{display:flex;align-items:center;justify-content:space-between;height:var(--topbar-h);padding:0 2px 0 8px;flex-shrink:0}.sidebar-scroll{flex:1;min-height:0;display:flex;flex-direction:column;gap:18px;padding-top:4px}.sidebar-section{display:flex;flex-direction:column;gap:1px}.project-switcher{position:relative}.project-trigger{width:100%;display:flex;align-items:center;gap:9px;height:38px;padding:0 8px;border-radius:var(--r-2);color:var(--text);text-align:left;border:1px solid var(--line);background:var(--bg-2);transition:background var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}.project-trigger:hover,.project-trigger[aria-expanded=true]{background:var(--bg-3);border-color:var(--line-2)}.project-mark{display:grid;place-items:center;width:22px;height:22px;flex:none;border-radius:6px;background:var(--bg-5);color:var(--text);font-size:10.5px;font-weight:600;letter-spacing:.01em}.project-trigger>.label{flex:1;min-width:0;font-size:13.5px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-trigger>.label.placeholder{color:var(--text-3);font-weight:450}.project-trigger>svg:last-child{color:var(--text-3);flex:none}.popover{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:40;border-radius:var(--r-3);background:var(--bg-3);border:1px solid var(--line-2);box-shadow:var(--shadow-3);overflow:hidden;animation:pop-in var(--t-fast) var(--ease-out) both}.popover-search{display:flex;align-items:center;gap:8px;padding:9px 12px;border-bottom:1px solid var(--line);color:var(--text-3)}.popover-search input{flex:1;min-width:0;border:0;background:none;outline:none;font-size:13px;color:var(--text)}.popover-search input::placeholder{color:var(--text-3)}.popover-list{max-height:320px;overflow-y:auto;padding:5px}.popover-item{width:100%;display:flex;align-items:center;gap:9px;min-height:34px;padding:6px 8px;border-radius:var(--r-2);text-align:left;color:var(--text);transition:background var(--t-fast) var(--ease)}.popover-item.active{background:var(--bg-5)}.popover-item>span{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.popover-item strong{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.popover-item small{font-size:11.5px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.popover-item>svg:last-child{color:var(--text-2);flex:none}.popover-empty{padding:18px 12px;text-align:center;font-size:12.5px;color:var(--text-3)}.popover-foot{border-top:1px solid var(--line);padding:5px}.popover-foot .popover-item{color:var(--text-2);font-size:13px}.popover-foot .popover-item:hover{background:var(--bg-4);color:var(--text)}.nav-item{position:relative;display:flex;align-items:center;gap:9px;height:32px;padding:0 8px;border-radius:var(--r-2);color:var(--text-2);font-size:13.5px;font-weight:500;text-align:left;width:100%;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.nav-item>svg{color:var(--text-3);transition:color var(--t-fast) var(--ease)}.nav-item:hover{background:var(--bg-3);color:var(--text)}.nav-item:hover>svg{color:var(--text-2)}.nav-item.active{background:var(--selection);color:var(--text)}.nav-item.active>svg{color:var(--text)}.nav-item>.label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-item>.count{font-size:11.5px;font-weight:500;color:var(--text-3);min-width:18px;text-align:center;padding:1px 5px;border-radius:5px;background:var(--bg-3)}.nav-item.active>.count{background:var(--bg-4);color:var(--text)}.sidebar-bottom{flex-shrink:0;padding-top:8px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:1px}.account-trigger{gap:8px}.account-trigger .avatar{width:22px;height:22px;font-size:9.5px}.engine-notice{display:flex;align-items:center;gap:9px;width:100%;min-height:32px;padding:4px 8px;border-radius:var(--r-2);text-align:left;color:var(--text-2);font-size:12.5px;line-height:1.3;transition:background var(--t-fast) var(--ease)}.engine-notice:hover{background:var(--bg-3);color:var(--text)}.engine-notice>.dot{flex:none}.main{margin-left:var(--sidebar-w);width:calc(100% - var(--sidebar-w));min-width:0;display:flex;flex-direction:column;transition:margin var(--t-slow) var(--ease),width var(--t-slow) var(--ease)}.pagebar{position:sticky;top:0;z-index:20;height:var(--topbar-h);display:flex;align-items:center;gap:12px;padding:0 20px;background:color-mix(in srgb,var(--bg) 84%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.pagebar-title{display:flex;align-items:baseline;gap:10px;min-width:0}.pagebar-title h1{font-size:16px;font-weight:600;letter-spacing:-.015em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pagebar-sub{font-size:12.5px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pagebar-mid{display:flex;align-items:center;gap:8px;min-width:0}.pagebar-actions{margin-left:auto;display:flex;align-items:center;gap:6px;flex:none}.page{flex:1;width:100%;max-width:var(--page-w);margin:0 auto;padding:24px 24px 72px;animation:fade-in var(--t-slow) var(--ease)}.page.narrow{max-width:760px}.block{margin-bottom:36px}.block-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;min-height:28px;margin-bottom:6px}.block-head h2{display:flex;align-items:baseline;gap:8px}.block-head h2>.count{font-size:12.5px;font-weight:450;color:var(--text-3)}.block-head>.link{font-size:12.5px}.scene{height:100%;width:100%;position:relative}.scene:fullscreen{height:100vh;background:var(--stage)}.scene canvas{touch-action:none;display:block}.stage-fallback{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:10px;color:#8a8b94;font-size:12.5px;text-align:center;padding:24px;animation:fade-in var(--t-slow) var(--ease)}.stage-overlay{position:absolute;top:12px;right:12px;bottom:12px;left:12px;display:flex;align-items:flex-start;justify-content:space-between;pointer-events:none;z-index:3}.stage-chip{display:inline-flex;align-items:center;gap:7px;height:24px;padding:0 9px;border-radius:6px;font-size:11.5px;font-weight:500;color:#e8e8ec;background:#141519b8;border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);pointer-events:auto}.stage-chip.mono{font-size:10.5px;letter-spacing:.05em;text-transform:uppercase}.stage-hint{position:absolute;left:12px;bottom:12px;z-index:3;font-size:11.5px;color:#ffffff80;pointer-events:none;display:flex;align-items:center;gap:6px}.stage-hint>i{width:5px;height:5px;border-radius:50%;background:currentColor}.stage-hint.warn{color:#f0b34c}.stage-hint.info{color:#7cc4ff}.scene-tools{position:absolute;right:12px;bottom:12px;z-index:4;display:flex;flex-direction:column;padding:3px;gap:2px;border-radius:8px;background:#141519c7;border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.scene-tools button{display:grid;place-items:center;width:28px;height:28px;border-radius:5px;color:#c9c9d0;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}.scene-tools button:hover{background:#ffffff1a;color:#fff}.scene-tools button:active{transform:scale(.92)}.scene-tools button:disabled{color:#6b6c75;background:none;transform:none;cursor:default}.stage-empty{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:flex;align-items:center;justify-content:center;pointer-events:none}.stage-empty>div{pointer-events:auto;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;max-width:340px;padding:22px 24px 20px;border-radius:var(--r-3);background:#141519d1;border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-3);color:#ececef;animation:pop-in var(--t-slow) var(--ease-out)}.stage-empty>div>svg{color:#8a8b94;margin-bottom:4px}.stage-empty h3{font-size:18px;font-family:var(--font-display);color:#fff}.stage-empty p{font-size:14px;color:#a4a5ae;line-height:1.5}.stage-empty .actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:10px}.stage-empty .btn:not(.btn-primary){background:#ffffff0f;border-color:#ffffff1f;color:#ececef}.stage-empty .btn:not(.btn-primary):hover{background:#ffffff1a}.image-view{height:100%;display:grid;place-items:center;padding:16px}.image-view img{max-width:100%;max-height:100%;object-fit:contain;border-radius:4px;animation:fade-in var(--t-slow) var(--ease)}.map-view{height:100%;position:relative;background:var(--stage)}.map-scroll{height:100%;overflow:auto}.map-scroll img{object-fit:contain;display:block}.map-layers{position:absolute;top:44px;left:12px;z-index:5}.map-layers .seg{background:#141519c7;border-color:#ffffff1a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.map-layers .seg>button{color:#b9b9c2}.map-layers .seg>button.active{background:#ffffff1f;color:#fff}.map-legend{position:absolute;left:12px;bottom:40px;z-index:5;width:200px;padding:10px 11px;border-radius:var(--r-2);background:#141519d1;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#d3d3da;font-size:11px}.map-legend>div{height:6px;margin-top:8px;border-radius:3px;background:linear-gradient(90deg,#304d75,#397e89,#6bbdab,#c6d373,#f1cb83)}.map-legend p{display:flex;justify-content:space-between;color:#d3d3da;margin-top:4px;font-family:var(--font-mono);font-size:10.5px}.map-legend small{display:block;margin-top:5px;font-size:10.5px;color:#9a9aa4;line-height:1.45}.dashed-btn{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;height:34px;border-radius:var(--r-2);border:1px dashed var(--line-3);color:var(--text-2);font-size:12.5px;font-weight:500;transition:background var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.dashed-btn:hover:not(:disabled){background:var(--bg-3);border-color:var(--text-3);color:var(--text);border-style:solid}.capture-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.capture-card{position:relative;display:flex;flex-direction:column;text-align:left;border-radius:var(--r-3);background:var(--bg-2);border:1px solid var(--line);overflow:hidden;transition:border-color var(--t) var(--ease),transform var(--t) var(--ease),box-shadow var(--t) var(--ease)}.capture-card:hover{border-color:var(--line-3);transform:translateY(-1px);box-shadow:var(--shadow-2)}.capture-card:active{transform:translateY(0)}.thumb{position:relative;height:150px;background:var(--stage);overflow:hidden}.thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease-out)}.capture-card:hover .thumb img{transform:scale(1.03)}.thumb-tags{position:absolute;left:18px;top:18px;right:18px;display:flex;justify-content:space-between;gap:6px;z-index:2}.capture-card-body{padding:20px 22px;display:flex;flex-direction:column;gap:12px}.capture-card-body strong{font-weight:500;font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}.capture-card-body>div{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:var(--text-3)}.capture-card-body>div>span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-site{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background:radial-gradient(120% 90% at 50% 110%,rgba(123,131,230,.16),transparent 60%),linear-gradient(180deg,#16171b,#1b1c22)}.mini-site:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:24px 24px;transform:perspective(300px) rotateX(55deg) translateY(-20px) scale(1.6);transform-origin:50% 100%}.mini-ground{position:absolute;left:50%;bottom:24px;width:150px;height:78px;transform:translate(-50%) skew(-30deg);background:#ffffff0d;border:1px solid rgba(255,255,255,.08)}.mini-building{position:absolute;bottom:40px;background:linear-gradient(180deg,#4a4b56,#2d2e36);border:1px solid rgba(255,255,255,.1);border-radius:2px;box-shadow:0 6px 14px #0006}.mini-building.a{left:calc(50% - 62px);width:58px;height:36px}.mini-building.b{left:calc(50% - 4px);width:30px;height:52px;background:linear-gradient(180deg,#5b5c69,#33343d)}.mini-building.c{left:calc(50% + 32px);width:34px;height:26px}.mini-road{position:absolute;left:50%;bottom:30px;width:140px;height:1px;transform:translate(-50%);border-top:1px dashed rgba(123,131,230,.6)}.mini-site.interior{background:radial-gradient(80% 80% at 50% 50%,rgba(123,131,230,.12),transparent 70%),#16171b}.mini-site.interior:before{display:none}.mini-site.interior i{position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid rgba(255,255,255,.1);border-radius:50%}.mini-site.interior i:nth-child(1){top:18%;right:12%;bottom:18%;left:12%;transform:scaleY(.35)}.mini-site.interior i:nth-child(2){top:28%;right:22%;bottom:28%;left:22%;transform:scaleY(.4);border-color:#ffffff12}.mini-site.interior i:nth-child(3){top:38%;right:32%;bottom:38%;left:32%;transform:scaleY(.5);border-color:#7b83e673}.mini-site.interior span{position:absolute;left:50%;top:50%;width:8px;height:8px;border-radius:50%;background:var(--accent);transform:translate(-50%,-50%);box-shadow:0 0 0 4px #7b83e640}.toast{position:fixed;right:20px;bottom:20px;z-index:60;display:flex;align-items:center;gap:10px;padding:10px 14px 10px 12px;border-radius:var(--r-3);background:var(--bg-3);border:1px solid var(--line-2);box-shadow:var(--shadow-3);font-size:13px;font-weight:500;overflow:hidden;animation:toast-in var(--t-slow) var(--ease-out)}.toast>svg{color:var(--ok)}.toast>i{position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--accent);transform-origin:left;animation:toast-drain 4s linear forwards}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:24px;background:#06070999;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:fade-in var(--t) var(--ease);overflow-y:auto}:root[data-theme=light] .backdrop{background:#14141a59}.modal{width:100%;max-width:560px;max-height:calc(100vh - 48px);display:flex;flex-direction:column;border-radius:20px;background:var(--bg-2);border:1px solid var(--line-2);box-shadow:var(--shadow-3);outline:none;animation:pop-in var(--t-slow) var(--ease-out);margin:auto}.modal.wide{max-width:680px}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 18px 14px 22px;border-bottom:1px solid var(--line)}.modal-head h2{font-size:23px}.modal-head p{font-size:14px;margin-top:3px}.modal-body{padding:20px 22px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.modal-foot{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:14px 22px;border-top:1px solid var(--line)}.modal-foot .left{margin-right:auto;font-size:12px;color:var(--text-3)}.setting{display:flex;gap:14px;padding:16px;border-radius:var(--r-3);border:1px solid var(--line);background:var(--bg-1)}.setting>svg{color:var(--text-2);margin-top:2px}.setting>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px}.setting h3{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.setting p{font-size:12.5px;line-height:1.55}.setting .code-block{display:flex;align-items:center;gap:8px;padding:8px 8px 8px 12px;border-radius:var(--r-2);background:var(--bg);border:1px solid var(--line);font-family:var(--font-mono);font-size:12px;overflow:hidden}.setting .code-block>span{flex:1;overflow-x:auto;white-space:nowrap;scrollbar-width:none}.spec{padding:14px 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:6px}.spec:first-child{border-top:0;padding-top:0}.spec>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.spec h3{font-weight:500}.spec p{font-size:12.5px;line-height:1.55}.spec .format{font-size:11.5px;color:var(--text-3)}.dropzone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:132px;padding:20px;text-align:center;border-radius:var(--r-3);border:1px dashed var(--line-3);background:var(--bg-1);cursor:pointer;transition:background var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}.dropzone:hover,.dropzone.over{background:var(--accent-soft);border-color:var(--accent)}.dropzone.over{transform:scale(1.005)}.dropzone>svg{color:var(--text-3);margin-bottom:6px;transition:color var(--t-fast) var(--ease),transform var(--t) var(--ease)}.dropzone:hover>svg,.dropzone.over>svg{color:var(--accent);transform:translateY(-2px)}.dropzone strong{font-weight:500;font-size:13px}.dropzone span{font-size:12px;color:var(--text-3);max-width:380px}.dropzone.has-files{border-style:solid;border-color:var(--line-2)}.file-summary{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:var(--r-2);background:var(--bg-3);font-size:12.5px;animation:rise-in var(--t) var(--ease)}.file-summary>svg{color:var(--text-2)}.file-summary .link{margin-left:auto}.upload-status{display:flex;flex-direction:column;gap:8px}.upload-status p{font-size:12px;color:var(--text-3);display:flex;align-items:center;gap:6px;min-height:18px}.upload-done{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:20px 10px 10px;animation:rise-in var(--t-slow) var(--ease)}.upload-done>.check-ring{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--ok-soft);color:var(--ok);margin-bottom:8px;animation:pop-in var(--t-slow) var(--ease-out)}.upload-done p{max-width:400px;font-size:12.5px}.option-cards{display:grid;grid-template-columns:1fr 1fr;gap:8px}.option-card{display:flex;gap:10px;align-items:flex-start;padding:11px 12px;border-radius:var(--r-2);border:1px solid var(--line-2);background:var(--bg-2);text-align:left;transition:border-color var(--t-fast) var(--ease),background var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}.option-card:hover:not(:disabled){border-color:var(--line-3);background:var(--bg-3)}.option-card.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.option-card:disabled{opacity:.5}.option-card>svg{color:var(--text-2);margin-top:1px}.option-card.active>svg{color:var(--accent)}.option-card strong{display:block;font-weight:500;font-size:12.5px}.option-card span{display:block;font-size:11.5px;color:var(--text-3);margin-top:2px;line-height:1.4}.palette-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;background:#06070973;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:flex-start;padding:12vh 20px 20px;animation:fade-in var(--t-fast) var(--ease)}:root[data-theme=light] .palette-backdrop{background:#14141a4d}.palette{width:100%;max-width:580px;border-radius:var(--r-4);background:var(--bg-2);border:1px solid var(--line-2);box-shadow:var(--shadow-3);overflow:hidden;animation:pop-in var(--t) var(--ease-out)}.palette-input{display:flex;align-items:center;gap:10px;height:50px;padding:0 16px;border-bottom:1px solid var(--line);color:var(--text-3)}.palette-input input{flex:1;border:0;background:none;outline:none;font-size:14px;color:var(--text)}.palette-input input::placeholder{color:var(--text-3)}.palette-list{max-height:380px;overflow-y:auto;padding:6px}.palette-group{padding:8px 10px 4px;font-size:11px;font-weight:500;color:var(--text-3);letter-spacing:.02em}.palette-item{display:flex;align-items:center;gap:10px;width:100%;height:36px;padding:0 10px;border-radius:var(--r-2);text-align:left;font-size:13px;color:var(--text);transition:background var(--t-fast) var(--ease)}.palette-item>svg{color:var(--text-3)}.palette-item.active{background:var(--bg-4)}.palette-item.active>svg{color:var(--accent)}.palette-item>span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.palette-item>small{color:var(--text-3);font-size:12px}.palette-empty{padding:28px 10px;text-align:center;color:var(--text-3);font-size:13px}.palette-foot{display:flex;align-items:center;gap:14px;padding:8px 14px;border-top:1px solid var(--line);font-size:11.5px;color:var(--text-3)}.palette-foot span{display:inline-flex;align-items:center;gap:5px}.skip-link{position:absolute;left:8px;top:-60px;z-index:100;padding:8px 14px;border-radius:var(--r-2);background:var(--accent);color:var(--accent-ink);font-size:13px;font-weight:500;transition:top var(--t) var(--ease)}.skip-link:focus-visible{top:8px}.error-toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%);z-index:60;display:flex;align-items:center;gap:10px;max-width:min(520px,calc(100vw - 32px));padding:10px 10px 10px 14px;border-radius:var(--r-3);background:var(--bg-3);border:1px solid var(--danger);box-shadow:var(--shadow-3);font-size:13px;animation:rise-in var(--t-slow) var(--ease-out) both}.error-toast>svg{color:var(--danger);flex:none}.error-toast>span{flex:1;min-width:0}.menu-root{position:relative;display:inline-flex}.menu-trigger.open{background:var(--bg-4);color:var(--text)}.menu{position:absolute;z-index:50;min-width:210px;padding:5px;border-radius:var(--r-3);background:var(--bg-3);border:1px solid var(--line-2);box-shadow:var(--shadow-3);animation:pop-in var(--t-fast) var(--ease-out) both}.menu-down{top:calc(100% + 6px)}.menu-up{bottom:calc(100% + 6px)}.menu-end{right:0}.menu-start{left:0}.menu-item{width:100%;display:flex;align-items:center;gap:9px;padding:7px 9px;border-radius:var(--r-2);font-size:13px;color:var(--text);text-align:left;transition:background var(--t-fast) var(--ease)}.menu-item:hover:not(:disabled),.menu-item.active:not(:disabled){background:var(--bg-5)}.menu-item:disabled{color:var(--text-3);cursor:default}.menu-item.danger{color:var(--danger)}.menu-item.danger:hover:not(:disabled),.menu-item.danger.active:not(:disabled){background:var(--danger-soft)}.menu-icon{display:grid;place-items:center;color:var(--text-3);flex:none}.menu-item.danger .menu-icon{color:var(--danger)}.menu-label{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.menu-label small{font-size:11px;color:var(--text-3)}.menu .kbd{flex:none}.capture-switcher{position:relative;display:flex;align-items:center;gap:2px;min-width:0}.switcher-trigger{display:flex;align-items:center;gap:8px;height:32px;min-width:0;max-width:280px;padding:0 9px;border-radius:var(--r-2);border:1px solid var(--line);background:var(--bg-2);color:var(--text);transition:border-color var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}.switcher-trigger:hover,.switcher-trigger.open{border-color:var(--line-3);background:var(--bg-3)}.switcher-trigger>svg:first-child{color:var(--text-3);flex:none}.switcher-label{display:flex;align-items:baseline;gap:7px;min-width:0}.switcher-label strong{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.switcher-label small{font-size:11.5px;color:var(--text-3);white-space:nowrap;flex:none}.switcher-caret{color:var(--text-3);flex:none}.switcher-pop{position:absolute;top:calc(100% + 7px);left:34px;z-index:40;width:min(380px,calc(100vw - 32px));border-radius:var(--r-3);background:var(--bg-3);border:1px solid var(--line-2);box-shadow:var(--shadow-3);overflow:hidden;animation:pop-in var(--t-fast) var(--ease-out) both}.switcher-search{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line)}.switcher-search>svg{color:var(--text-3);flex:none}.switcher-search input{flex:1;font-size:13px;color:var(--text)}.switcher-list{max-height:340px;overflow-y:auto;padding:5px}.switcher-item{width:100%;display:flex;align-items:center;gap:9px;padding:8px 9px;border-radius:var(--r-2);text-align:left;color:var(--text);transition:background var(--t-fast) var(--ease)}.switcher-item.active{background:var(--bg-5)}.switcher-item.current{color:var(--accent)}.switcher-item>svg:first-child{color:var(--text-3);flex:none}.switcher-item-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.switcher-item-main strong{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.switcher-item-main small{font-size:11px;color:var(--text-3)}.switcher-check{color:var(--accent);flex:none}.switcher-empty{padding:22px 12px;text-align:center;font-size:12.5px;color:var(--text-3)}.compare{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column}.compare-bar{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:8px 12px;background:var(--bg-1);border-bottom:1px solid var(--line)}.compare-pickers{display:flex;align-items:center;gap:8px;min-width:0}.compare-pick{display:flex;align-items:center;gap:6px;min-width:0}.compare-tag{display:grid;place-items:center;width:18px;height:18px;flex:none;border-radius:var(--r-1);font-size:10px;font-weight:700;font-family:var(--font-mono)}.compare-tag.a{background:var(--info-soft);color:var(--info)}.compare-tag.b{background:var(--accent-soft);color:var(--accent)}.compare-vs{font-size:11px;color:var(--text-3)}.compare-tools{display:flex;align-items:center;gap:6px}.compare-note{flex:none;padding:7px 12px;font-size:12px;color:var(--warn);background:var(--warn-soft);border-bottom:1px solid var(--line)}.compare-stage{position:relative;flex:1;min-height:0;background:var(--stage)}.compare-stage.split{display:grid;grid-template-columns:1fr 1fr}.compare-stage.split .compare-pane+.compare-pane{border-left:1px solid var(--line-3)}.compare-pane{position:relative;overflow:hidden;min-width:0}.compare-stage.swipe .compare-pane{position:absolute;top:0;right:0;bottom:0;left:0}.compare-label{position:absolute;left:12px;top:12px;z-index:5;display:inline-flex;align-items:center;gap:6px}.compare-label.right{left:auto;right:12px}.swipe-handle{position:absolute;top:0;bottom:0;width:26px;margin-left:-13px;z-index:8;cursor:col-resize;display:grid;place-items:center;touch-action:none}.swipe-handle:before{content:"";position:absolute;top:0;bottom:0;width:2px;background:#fff;opacity:.85;box-shadow:0 0 10px #0009}.swipe-handle>i{position:relative;width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:0 2px 10px #00000080}.swipe-handle>i:before,.swipe-handle>i:after{content:"";position:absolute;top:50%;width:0;height:0;border:4px solid transparent;transform:translateY(-50%)}.swipe-handle>i:before{left:4px;border-right-color:#333}.swipe-handle>i:after{right:4px;border-left-color:#333}.swipe-handle:focus-visible{outline:none}.swipe-handle:focus-visible>i{box-shadow:0 0 0 3px var(--accent-ring)}.map-frame{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;touch-action:none}.map-frame.grab{cursor:grab}.map-frame.grab:active{cursor:grabbing}.map-image{position:absolute;left:0;top:0;max-width:none;max-height:none;transform-origin:center;will-change:transform;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.photo-dot{position:absolute;left:-5px;top:-5px;width:10px;height:10px;z-index:5;border-radius:2px;background:#f1cb83;border:1.5px solid rgba(0,0,0,.55);cursor:pointer;transition:transform var(--t-fast) var(--ease)}.photo-dot:hover,.photo-dot:focus-visible{transform:scale(1.5);outline:none}.photo-viewer{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:16px;padding:0 20px 16px}.photo-frame{position:relative;display:grid;place-items:center;min-height:280px;border-radius:var(--r-2);background:var(--stage);overflow:hidden}.photo-frame img{display:block;max-width:100%;max-height:60vh;transition:opacity var(--t) var(--ease)}.photo-frame .spinner{position:absolute}.photo-meta{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;align-content:start;font-size:12.5px}.photo-meta dt{color:var(--text-3)}.photo-meta dd{margin:0;color:var(--text);overflow-wrap:anywhere}.photo-nav{display:flex;gap:6px;margin-right:auto}@media(max-width:720px){.photo-viewer{grid-template-columns:1fr}}.map-overlay-sheet{position:absolute;inset:auto;max-width:none;max-height:none;transform-origin:0 0;pointer-events:none;mix-blend-mode:multiply}.overlay-info{position:absolute;top:86px;right:12px;z-index:6;display:grid;gap:4px;width:250px;padding:10px 12px;border-radius:var(--r-2);background:#141519db;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#d3d3da;font-size:12px}.overlay-info strong{color:#fff}.overlay-info small{color:#9a9aa4}.overlay-info label{display:flex;align-items:center;gap:8px}.overlay-info input[type=range]{flex:1;accent-color:var(--accent)}.overlay-actions{display:flex;gap:6px;margin-top:4px}.align-panel{position:absolute;top:12px;right:12px;bottom:12px;z-index:7;display:flex;flex-direction:column;gap:8px;width:min(360px,48%);padding:12px;border-radius:var(--r-3, 10px);background:var(--bg-1);border:1px solid var(--line);box-shadow:0 12px 32px #00000059;color:var(--text);font-size:12.5px}.align-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.align-step{color:var(--accent-text, var(--accent))}.align-sheet{position:relative;flex:1;min-height:200px;border-radius:var(--r-2);overflow:hidden;background:#fff}.align-sheet>*{position:absolute;top:0;right:0;bottom:0;left:0}.align-marker circle{fill:var(--warn);stroke:#fff;stroke-width:1.5}.align-marker text{fill:#000;font-size:10px;font-weight:600}.align-pending{fill:none;stroke:var(--accent);stroke-width:2.5}.align-pairs{display:grid;gap:2px;max-height:120px;overflow:auto;margin:0;padding:0;list-style:none}.align-pairs li{display:flex;align-items:center;justify-content:space-between;gap:8px}.align-fit{color:var(--text-2)}.align-actions{display:flex;justify-content:flex-end;gap:6px}.align-choices{display:grid;gap:2px;margin:0;padding:0;list-style:none}.align-choices .row-button{width:100%;padding:8px;border-radius:var(--r-1);text-align:left}.align-choices .row-button:hover{background:var(--bg-3)}.align-map-marker{position:absolute;left:-9px;top:-9px;z-index:6;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--warn);border:1.5px solid #fff;color:#000;font-size:10px;font-weight:600;pointer-events:none}.earthwork{position:absolute;right:60px;bottom:52px;z-index:6;display:grid;gap:6px;width:min(320px,calc(100% - 80px));padding:10px 12px;border-radius:var(--r-2);background:#141519e6;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#d3d3da;font-size:12px}.earthwork strong{color:#fff}.earthwork label{display:flex;align-items:center;gap:8px}.earthwork label>span{min-width:44px;color:#9a9aa4}.earthwork .select-quiet{color:#d3d3da}.earthwork .input-sm{height:26px;width:110px}.earthwork dl{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;margin:0}.earthwork dt{color:#9a9aa4}.earthwork dd{margin:0;font-family:var(--font-mono);color:#fff}.earthwork small{line-height:1.45}.earthwork .profile{width:100%;height:110px;background:#ffffff08;border-radius:4px}.profile-line{fill:none;stroke-width:1.5}.profile-line.p0{stroke:#f1cb83}.profile-line.p1{stroke:#6bbdab}.profile-line.p2{stroke:#9aa7ff;stroke-dasharray:4 3}.profile-legend{display:flex;flex-wrap:wrap;gap:10px}.profile-legend .p0{color:#f1cb83}.profile-legend .p1{color:#6bbdab}.profile-legend .p2{color:#9aa7ff}.aerial-stage,.aerial-map,.terrain-view{position:relative;height:100%}.aerial-map[hidden]{display:none}.terrain-view{background:var(--stage)}.terrain-canvas{position:absolute!important;top:0;right:0;bottom:0;left:0}.aerial-mode{position:absolute;top:44px;right:12px;z-index:6;background:#141519c7;border-color:#ffffff1a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.aerial-mode>button{color:#b9b9c2}.aerial-mode>button.active{background:#ffffff1f;color:#fff}.map-image img,.map-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;max-width:none;max-height:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.map-image .map-underlay,.map-layer .map-tile{inset:auto}.map-layer .map-tile{opacity:0;transition:opacity var(--t) var(--ease)}.map-layer .map-tile.loaded{opacity:1}.map-contours{position:absolute;overflow:visible;pointer-events:none}.map-contours path{fill:none;stroke:#ffffff8c;stroke-width:.75}.map-contours path.index{stroke:#ffffffe6;stroke-width:1.4}.map-layer-tools{display:flex;align-items:center;gap:8px;margin-top:6px;width:max-content;padding:4px 8px;border-radius:var(--r-2);background:#141519c7;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#d3d3da;font-size:12px}.map-layer-tools label{display:flex;align-items:center;gap:6px}.map-layer-tools input[type=range]{width:96px;accent-color:var(--accent)}.map-layer-tools .select-quiet{color:#d3d3da}.chip-toggle{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 9px;border-radius:var(--r-1);color:#b9b9c2;transition:background-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.chip-toggle:hover{background:#ffffff14;color:#fff}.chip-toggle.on{background:#ffffff24;color:#fff}.chip-toggle:focus-visible{outline:2px solid var(--accent-ring);outline-offset:1px}.detected{display:flex;flex-direction:column;gap:12px;padding:12px 14px;border-radius:var(--r-3);background:var(--bg-2);border:1px solid var(--line)}.detected-head{display:flex;align-items:center;gap:10px}.detected-icon{display:grid;place-items:center;width:32px;height:32px;flex:none;border-radius:var(--r-2);background:var(--accent-soft);color:var(--accent)}.detected-head>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.detected-head strong{font-size:13px;font-weight:500}.detected-head span{font-size:11.5px;color:var(--text-3)}.detected-kinds{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.detected-label{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3)}.option-eta{font-size:11px;color:var(--text-3);font-family:var(--font-mono);flex:none}.option-cards.single{grid-template-columns:1fr}.confirm-body{display:flex;flex-direction:column;gap:14px}.confirm-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--warn-soft);color:var(--warn)}.confirm-copy p{font-size:13.5px;line-height:1.6;color:var(--text-2)}.confirm-copy p+p{margin-top:8px}.confirm-advanced{border-top:1px solid var(--line);padding-top:10px}.confirm-advanced>summary{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--text-2);cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none;transition:color var(--t-fast) var(--ease)}.confirm-advanced>summary::-webkit-details-marker{display:none}.confirm-advanced>summary:before{content:"";width:0;height:0;border-left:4px solid currentColor;border-top:3.5px solid transparent;border-bottom:3.5px solid transparent;transition:transform var(--t-fast) var(--ease)}.confirm-advanced[open]>summary:before{transform:rotate(90deg)}.confirm-advanced>summary:hover{color:var(--text)}.confirm-advanced>summary:focus-visible{outline:2px solid var(--accent-ring);outline-offset:3px;border-radius:var(--r-1)}.confirm-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px;margin-top:12px}.confirm-grid .field-hint{font-size:10.5px;line-height:1.35}.confirm-grid .field-changed>span:first-child:after{content:"";display:inline-block;width:5px;height:5px;margin-left:5px;border-radius:50%;background:var(--accent);vertical-align:middle}@media(max-width:560px){.confirm-grid{grid-template-columns:1fr}}.confirm-warn{color:var(--warn)!important}.fact-list{display:flex;flex-direction:column;border-radius:var(--r-2);border:1px solid var(--line);overflow:hidden}.fact-list>div{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:8px 12px;border-top:1px solid var(--line)}.fact-list dt{font-size:12px;color:var(--text-3);flex:none}.fact-list dd{font-size:12.5px;text-align:right;min-width:0}.btn-danger-solid{background:var(--danger);color:#fff;border-color:transparent}.btn-danger-solid:hover:not(:disabled){filter:brightness(1.08)}.spec-group+.spec-group{margin-top:22px}.spec-group-head{font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);margin-bottom:10px}.spec-list{display:flex;flex-direction:column}.seg-sm>button{height:26px;padding:0 9px;font-size:12px}.select-sm{height:30px;font-size:12.5px;padding:0 26px 0 9px}.pill.xs{height:17px;padding:0 6px;font-size:10px}.composer-card{margin-bottom:16px;animation:rise-in var(--t-slow) var(--ease-out) both}.note-anchor{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:999px;background:var(--bg-3);border:1px solid var(--line);font-size:11.5px;color:var(--text-2);transition:color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}.note-anchor:hover{color:var(--accent);border-color:var(--accent-ring)}.stage-skeleton{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--bg-3)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.spin,.live-dot>i{animation:none}}.scene-tools button.on{color:var(--accent);background:var(--accent-soft)}.level-panel{position:absolute;right:56px;bottom:14px;z-index:9;width:196px;padding:10px 11px;display:flex;flex-direction:column;gap:7px;border-radius:var(--r-3);background:color-mix(in srgb,var(--bg-3) 94%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line-2);box-shadow:var(--shadow-3);animation:pop-in var(--t-fast) var(--ease-out) both}.level-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.level-head strong{font-size:12px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--text-2)}.level-head .link:disabled{opacity:.4;cursor:default}.level-row{display:grid;grid-template-columns:1fr 24px 44px 24px;align-items:center;gap:4px}.level-row>span{font-size:12px;color:var(--text-2)}.level-row button{display:grid;place-items:center;height:24px;border-radius:var(--r-1);background:var(--bg-4);color:var(--text-2);transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.level-row button:hover{background:var(--bg-5);color:var(--text)}.level-row output{text-align:center;font-size:11.5px;color:var(--text);font-variant-numeric:tabular-nums}.level-panel>p{font-size:10.5px;line-height:1.4;color:var(--text-3);margin-top:1px}@media(max-width:860px){.level-panel{right:14px;bottom:56px}}.render-panel{width:228px}.render-row{display:grid;grid-template-columns:1fr 34px;align-items:center;gap:4px 8px}.render-row>span:first-child{font-size:12px;color:var(--text-2)}.render-row .range{grid-column:1 / -1}.render-row output{text-align:right;font-size:11.5px;color:var(--text);font-variant-numeric:tabular-nums}.render-switch{display:inline-flex;align-items:center;gap:6px;justify-self:end;grid-column:2;font-size:11.5px;color:var(--text);cursor:pointer}.render-switch input{accent-color:var(--accent);cursor:pointer}.render-panel>p:first-of-type{color:var(--text-2)}.range{width:100%;height:4px;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:var(--bg-5);border-radius:99px;outline:none;cursor:pointer}.range::-webkit-slider-thumb{-webkit-appearance:none;width:13px;height:13px;border-radius:50%;background:var(--text);border:3px solid var(--accent);box-shadow:var(--shadow-1);transition:transform var(--t-fast) var(--ease)}.range::-webkit-slider-thumb:hover{transform:scale(1.15)}.range::-moz-range-thumb{width:13px;height:13px;border-radius:50%;background:var(--text);border:3px solid var(--accent)}.range:focus-visible{box-shadow:0 0 0 3px var(--accent-ring)}.range:disabled{opacity:.4;cursor:default}.range:disabled::-webkit-slider-thumb{border-color:var(--line-3)}.pin{position:absolute;left:0;top:0;z-index:6;width:0;height:0;overflow:visible;pointer-events:auto;cursor:pointer;--pin: var(--accent)}.pin.kind-deficiency{--pin: var(--danger)}.pin.kind-progress{--pin: var(--ok)}.pin>i{position:absolute;left:-9px;top:-9px;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--pin);border:2px solid rgba(255,255,255,.92);box-shadow:0 0 0 1px #00000073,0 4px 12px #00000073;transform:translateY(-16px);transition:transform var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}.pin:after{content:"";position:absolute;left:-.5px;top:-7px;width:1px;height:7px;background:#ffffffd9;box-shadow:0 0 0 .5px #0006}.pin.carried>i{background:#141519bf;color:var(--pin);border:2px dashed var(--pin)}.pin.resolved>i{background:var(--bg-4);border-color:#ffffff8c;color:var(--ok);opacity:.85}.pin.selected>i,.pin:hover>i,.pin:focus-visible>i{transform:translateY(-16px) scale(1.25);box-shadow:0 0 0 1px #00000073,0 0 0 5px color-mix(in srgb,var(--pin) 28%,transparent),0 6px 16px #00000080}.pin.draft>i{background:var(--accent);animation:pulse 1.4s var(--ease) infinite}.pin-card{position:absolute;left:14px;bottom:14px;width:240px;padding:9px 11px 10px;border-radius:var(--r-2);background:#141519f0;border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:var(--shadow-3);color:#ececef;font-size:12px;line-height:1.45;text-align:left;display:flex;flex-direction:column;gap:5px;opacity:0;transform:translateY(4px);pointer-events:none;transition:opacity var(--t) var(--ease),transform var(--t) var(--ease);z-index:7}.pin.selected .pin-card,.pin:hover .pin-card,.pin:focus-visible .pin-card{opacity:1;transform:translateY(0)}.pin-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.pin-card-top .faint{font-size:11px}.pin-card-text{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;color:#ececef}.pin-card-foot{font-size:11px;color:#a4a5ae}.pin-card-foot.ok{color:var(--ok)}.stage-banner{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:6;padding:6px 12px;border-radius:99px;background:#7b83e6eb;color:#fff;font-size:12px;font-weight:500;white-space:nowrap;box-shadow:var(--shadow-2);animation:pop-in var(--t-slow) var(--ease-out);pointer-events:none}.stage-banner.quiet{background:#141519d1;border:1px solid rgba(255,255,255,.1);color:#d3d3da;font-weight:400}.stage-banner .kbd{background:#ffffff1f;border-color:#ffffff2e;color:#fff}.stage-readout{position:absolute;bottom:40px;left:50%;transform:translate(-50%);z-index:6;display:flex;align-items:center;gap:14px;padding:7px 12px;border-radius:var(--r-2);background:#141519e0;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#ececef;font-family:var(--font-mono);font-size:12.5px;animation:fade-in var(--t) var(--ease)}.stage-readout>span{display:flex;flex-direction:column;gap:1px}.stage-readout small{font-family:var(--font-sans);font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:#8a8b94}.stage-readout em{font-style:normal;font-size:11px;color:#8a8b94}.stage-readout .link{font-family:var(--font-sans);font-size:12px}.scene.crosshair canvas,.map-frame.crosshair{cursor:crosshair}.scene.walking canvas{cursor:move}.map-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:4;overflow:visible}.map-overlay .measure line{stroke:var(--warn);stroke-width:1.5}.map-overlay .measure.rubber line{stroke-dasharray:4 4;opacity:.7}.map-overlay .measure text{fill:#fff;font-family:var(--font-mono);font-size:11px;paint-order:stroke;stroke:#000000bf;stroke-width:3px}.map-overlay .measure-area{fill:#f0b34c24;stroke:none}.map-overlay .measure-vertex{fill:var(--warn);stroke:#fff;stroke-width:1.5}.map-overlay .walk-track{fill:none;stroke:var(--info);stroke-width:1.5;stroke-dasharray:2 4;opacity:.8}.walk-dot{position:absolute;left:-4px;top:-4px;width:8px;height:8px;border-radius:50%;z-index:5;background:var(--info);border:1.5px solid rgba(255,255,255,.9);box-shadow:0 0 0 1px #0006}.walk-dot:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px}.map-status{position:absolute;right:56px;bottom:14px;z-index:5;display:flex;align-items:flex-end;gap:14px;color:#ffffffbf;font-size:11px;pointer-events:none}.map-status .mono{padding:3px 7px;border-radius:5px;background:#141519b3}.scale-bar{display:flex;flex-direction:column;gap:3px;min-width:40px;font-family:var(--font-mono);font-size:10.5px;color:#ffffffd9;text-shadow:0 1px 2px rgba(0,0,0,.8)}.scale-bar>i{display:block;height:4px;border:1.5px solid rgba(255,255,255,.85);border-top:none;box-shadow:0 1px 2px #0009}.measure-dot{display:block;width:9px;height:9px;border-radius:50%;background:var(--warn);border:1.5px solid #fff;box-shadow:0 0 0 1px #00000080}.measure-label{display:inline-block;padding:2px 6px;border-radius:4px;background:#141519d9;color:#fff;font-family:var(--font-mono);font-size:11px;white-space:nowrap}.walkthrough{position:absolute;left:12px;right:56px;bottom:12px;z-index:6;display:flex;align-items:center;gap:8px;height:36px;padding:0 6px 0 4px;border-radius:8px;background:#141519d1;border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:rise-in var(--t-slow) var(--ease-out)}.walk-step{display:grid;place-items:center;width:28px;height:28px;border-radius:5px;color:#c9c9d0;transition:background var(--t-fast) var(--ease)}.walk-step:hover:not(:disabled){background:#ffffff1a;color:#fff}.walk-step:disabled{opacity:.35}.walk-play[aria-pressed=true]{color:#fff;background:#ffffff1f}.walk-play.buffering{position:relative}.walk-play.buffering:after{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;border-radius:inherit;border:1.5px solid transparent;border-top-color:#ffffffbf;animation:walk-buffer .8s linear infinite}@keyframes walk-buffer{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.walk-play.buffering:after{animation:none;border-color:#fff6}}.walk-speed{min-width:30px;height:24px;padding:0 6px;border-radius:5px;font-size:11px;color:#c9c9d0;transition:background var(--t-fast) var(--ease)}.walk-speed:hover{background:#ffffff1a;color:#fff}.walk-track-wrap{position:relative;flex:1;height:28px;display:flex;align-items:center}.walk-range{width:100%;height:4px;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:#ffffff29;border-radius:99px;outline:none;cursor:pointer}.walk-range::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid var(--accent);box-shadow:0 1px 4px #00000080;transition:transform var(--t-fast) var(--ease)}.walk-range::-webkit-slider-thumb:hover{transform:scale(1.15)}.walk-range::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid var(--accent)}.walk-range:focus-visible{box-shadow:0 0 0 3px var(--accent-ring)}.walk-ticks{position:absolute;left:7px;right:7px;top:50%;height:0;pointer-events:none}.walk-ticks>i{position:absolute;top:-1px;width:2px;height:2px;margin-left:-1px;border-radius:1px;background:var(--info);opacity:.9}.walk-time{font-size:11.5px;color:#ececef;white-space:nowrap}.walk-count{font-size:11px;color:#8a8b94;white-space:nowrap}.compare-stage.change{display:block}.diff-view{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:44px 16px 96px;background:var(--stage);container-type:inline-size}.diff-canvas{max-width:100%;max-height:100%;display:grid;place-items:center}.diff-canvas canvas{max-width:100%;max-height:calc(100vh - var(--topbar-h) - 46px - 160px);border-radius:4px;animation:fade-in var(--t-slow) var(--ease)}.diff-legend{position:absolute;left:16px;top:12px;display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:10.5px;color:#d3d3da}.diff-legend>div{width:140px;height:6px;border-radius:3px;background:linear-gradient(90deg,#5896ec,#787a80,#f1a054)}.diff-stats{position:absolute;left:16px;right:16px;bottom:14px;display:grid;grid-template-columns:repeat(4,auto) 1fr;align-items:center;gap:22px;padding:10px 14px;border-radius:var(--r-2);background:#141519e0;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#ececef;animation:rise-in var(--t-slow) var(--ease-out)}.diff-stats>div{display:flex;flex-direction:column;gap:1px}.diff-stats small{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:#8a8b94}.diff-stats strong{font-family:var(--font-mono);font-size:14px;font-weight:500}.diff-stats strong.fill{color:#f1a054}.diff-stats strong.cut{color:#5896ec}.diff-stats p{font-size:11px;color:#8a8b94;line-height:1.45;text-align:right}@container (max-width: 720px){.diff-stats{grid-template-columns:repeat(4,1fr);gap:10px 16px}.diff-stats p{grid-column:1 / -1;text-align:left}}.pin-row{display:flex;align-items:center;gap:8px;min-height:34px;padding:4px 4px 4px 10px;border-radius:var(--r-2);border:1px dashed var(--line-2);transition:border-color var(--t) var(--ease),background var(--t) var(--ease)}.pin-row.placing{border-color:var(--accent-ring);background:var(--accent-soft)}.pin-row.placed{border-style:solid;border-color:var(--line-2);background:var(--bg-2)}.pin-row>.btn-block{margin:-4px -4px -4px -10px;justify-content:flex-start}.pin-row>.btn-block .kbd{margin-left:auto}.pin-row-dot{flex:none;width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.pin-row-text{flex:1;min-width:0;display:flex;flex-direction:column;font-size:12px;line-height:1.3}.pin-row-text strong{font-weight:500}.pin-row-text small{font-size:10.5px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rail-notes>li{transition:background var(--t-fast) var(--ease)}.rail-notes>li.selected{background:var(--accent-soft)}.rail-note-meta{display:flex;align-items:center;gap:6px}.pinned-tag{display:inline-grid;place-items:center;color:var(--text-3)}.rail-note-body{display:flex;gap:10px;align-items:flex-start}.rail-note-body p{flex:1;min-width:0}.note-thumb{flex:none;width:72px;height:48px;border-radius:5px;overflow:hidden;border:1px solid var(--line-2);background:var(--stage);cursor:pointer;transition:transform var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}.note-thumb:hover{transform:scale(1.03);border-color:var(--line-3)}.note-thumb img{display:block;width:100%;height:100%;object-fit:cover}.rail-note-origin{display:flex;align-items:center;gap:5px;font-size:11.5px;color:var(--text-3)}.rail-note-origin.ok{color:var(--ok)}.rail-note-actions{display:flex;align-items:center;gap:2px}.rail-carried{border-top:1px solid var(--line);padding-top:12px}.rail-carried .panel-caption{display:flex;align-items:center;gap:6px}.rail-carried-hint{padding:0 14px 8px;font-size:11.5px;color:var(--text-3);line-height:1.45}.stage-toolset{display:flex;align-items:center;gap:2px;padding-right:6px;margin-right:4px;border-right:1px solid var(--line)}.note-body{display:flex;gap:12px;align-items:flex-start}.note-body>p{flex:1;min-width:0}.note-media{flex:none;width:112px;height:72px;border-radius:6px;overflow:hidden;border:1px solid var(--line-2);background:var(--stage);transition:transform var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}.note-media:hover{transform:scale(1.02);border-color:var(--line-3)}.note-media img{display:block;width:100%;height:100%;object-fit:cover}.note-resolution{display:flex;align-items:center;gap:5px;font-size:11.5px;color:var(--ok)}.note-anchor.pinned{color:var(--text)}.mobile-nav-trigger,.notify.compact{display:none}.mobile-navigation{display:flex;flex-direction:column;gap:20px}.mobile-navigation nav{display:grid;gap:4px}.mobile-navigation .nav-item{min-height:44px;justify-content:flex-start;padding:0 12px}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.toolbar>.spacer{flex:1}.search{display:flex;align-items:center;gap:8px;height:32px;width:240px;max-width:100%;padding:0 10px;border-radius:var(--r-2);border:1px solid var(--line-2);background:var(--bg-2);color:var(--text-3);transition:border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}.search:focus-within{border-color:var(--control-line);box-shadow:0 0 0 2px var(--accent-ring)}.search input{flex:1;min-width:0;border:0;background:none;outline:none;font-size:13px;color:var(--text)}.search input::placeholder{color:var(--text-3)}.toolbar .chips{gap:4px}.toolbar .chip{border-color:transparent}.toolbar .chip:hover:not(.active){background:var(--bg-2)}.list{display:flex;flex-direction:column}.row{display:grid;grid-template-columns:64px minmax(0,1fr) auto auto auto;align-items:center;gap:14px;padding:10px;margin:0 -10px;border-top:1px solid var(--line);border-radius:var(--r-2);transition:background var(--t-fast) var(--ease)}.row:first-child{border-top-color:transparent}.row:hover,.row.cursor{background:var(--bg-2)}.row:hover+.row,.row.cursor+.row{border-top-color:transparent}.row-thumb{position:relative;width:64px;height:44px;border-radius:6px;overflow:hidden;background:var(--bg-3);display:grid;place-items:center}.row-thumb img{width:100%;height:100%;object-fit:cover}.row-main{min-width:0;display:flex;flex-direction:column;gap:2px}.row-main h3{font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-main h3 a{color:inherit}.row-main h3 a:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0}.row{position:relative}.row-main p{font-size:12.5px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-views{font-size:12.5px;color:var(--text-3);white-space:nowrap}.row-progress{display:flex;align-items:center;gap:9px;margin-top:4px;max-width:300px}.row-progress>span{font-size:11.5px;color:var(--text-3);white-space:nowrap}.row-actions{position:relative;z-index:1;display:flex;align-items:center;gap:2px}.row-skeleton{display:flex;align-items:center;gap:14px;padding:12px 0;border-top:1px solid var(--line)}.capture-placeholder{height:100%;min-height:100%;display:grid;place-items:center;color:var(--text-3);background:var(--bg-3)}.capture-placeholder>span,.capture-placeholder>small{display:none}.hero-capture{position:relative;display:block;height:clamp(260px,44vh,480px);margin-bottom:36px;border-radius:var(--r-3);overflow:hidden;background:var(--stage);box-shadow:inset 0 0 0 1px var(--line-2);color:#fff}.hero-capture>img,.hero-capture>.capture-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.hero-capture>.capture-placeholder{background:var(--stage);color:#ffffff59}.hero-capture:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,#070709c7,#07070926 45%,#07070900 70%);pointer-events:none}.hero-capture-info{position:absolute;left:22px;right:22px;bottom:20px;z-index:1;display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.hero-capture-info>div{min-width:0}.hero-capture-info .eyebrow{color:#fff9}.hero-capture-info h2{margin-top:3px;font-size:24px;font-weight:600;letter-spacing:-.025em;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hero-capture-meta{display:flex;align-items:center;gap:10px;margin-top:8px;font-size:13px;color:#ffffffb8}.hero-capture-info .btn{flex:none;background:#fff;color:#09090b;border-color:#fff}.hero-capture:hover .btn{background:#e4e4e7}.hero-capture:focus-visible{outline:2px solid var(--accent-ring);outline-offset:3px}.overview-cols{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:40px;align-items:start}.overview-side{display:flex;flex-direction:column;gap:32px;min-width:0}.note-preview-list>li{display:flex;flex-direction:column;gap:5px;padding:10px 0;border-top:1px solid var(--line)}.note-preview-list>li:first-child{border-top:0}.note-preview-list p{font-size:13px;line-height:1.5;color:var(--text);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.note-preview-list .byline{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-3)}.note-preview-list .byline .faint{margin-left:auto}.timeline{padding:0}.event{position:relative;display:flex;gap:12px;padding:8px 0}.event:before{content:"";position:absolute;left:5px;top:22px;bottom:-6px;width:1px;background:var(--line-2)}.event:last-child:before{display:none}.event>i{position:relative;z-index:1;width:11px;height:11px;margin-top:5px;border-radius:50%;border:2px solid var(--bg);background:var(--text-3);box-shadow:0 0 0 1px var(--line-2);flex-shrink:0}.event:first-child>i{background:var(--text)}.event>div{min-width:0}.event strong{display:block;font-weight:500;font-size:13px}.event p{font-size:12px;color:var(--text-3);margin-top:1px}.jobs{margin-bottom:28px;border-radius:var(--r-3);border:1px solid var(--line);background:var(--bg-2)}.jobs-head{display:flex;align-items:center;gap:8px;padding:12px 16px 0;font-size:13px;font-weight:500}.jobs-head>p{font-weight:400;color:var(--text-3)}.job-list{display:flex;flex-direction:column;padding:6px}.job{display:flex;align-items:flex-start;gap:10px;padding:10px;border-radius:var(--r-2)}.job-icon{display:grid;place-items:center;width:26px;height:26px;flex:none;border-radius:var(--r-2);background:var(--bg-4);color:var(--text-2)}.job-icon.tone-ok{background:var(--ok-soft);color:var(--ok)}.job-icon.tone-warn{background:var(--warn-soft);color:var(--warn)}.job-icon.tone-bad{background:var(--danger-soft);color:var(--danger)}.job-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.job-name{font-size:13px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.job-main p{font-size:12px;color:var(--text-3);line-height:1.45}.job-meta{display:flex;align-items:center;gap:5px;font-size:11.5px;color:var(--text-3)}.note{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:8px 12px;padding:12px 10px;margin:0 -10px;border-top:1px solid var(--line);border-radius:var(--r-2);transition:background var(--t-fast) var(--ease)}.note:first-child{border-top-color:transparent}.note:hover{background:var(--bg-2)}.note:hover+.note{border-top-color:transparent}.note>.kind-dot{margin-top:7px;width:7px;height:7px;border-radius:50%;background:var(--text-3)}.note>.kind-dot.kind-deficiency{background:var(--danger)}.note>.kind-dot.kind-progress{background:var(--ok)}.note-body{min-width:0;display:flex;gap:12px}.note-media{flex:none;width:72px;height:48px;border-radius:6px;overflow:hidden;background:var(--bg-3)}.note-media img{width:100%;height:100%;object-fit:cover}.note-body>div{min-width:0}.note-body p{color:var(--text);font-size:13.5px;line-height:1.55;white-space:pre-wrap}.note.resolved .note-body p{color:var(--text-3)}.note-meta{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;margin-top:4px;font-size:12px;color:var(--text-3)}.note-meta .kind{text-transform:capitalize;color:var(--text-2)}.note-anchor{display:inline-flex;align-items:center;gap:4px;color:var(--text-2);transition:color var(--t-fast) var(--ease)}.note-anchor:hover{color:var(--text)}.note-anchor>svg{color:var(--text-3)}.note-resolution{display:inline-flex;align-items:center;gap:4px;color:var(--ok)}.note-controls{display:flex;align-items:center;gap:2px;flex:none}.note-controls .field.inline{margin:0}.composer-card{margin-bottom:20px;padding:18px;border-radius:var(--r-3);border:1px solid var(--line-2);background:var(--bg-2);animation:rise-in var(--t-slow) var(--ease-out) both}.composer-card>h2{margin-bottom:12px}.composer-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:var(--text-3)}.kind-pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;text-transform:capitalize;color:var(--text-2)}.kind-pill>i{width:6px;height:6px;border-radius:50%;background:var(--text-3)}.kind-pill.kind-deficiency>i{background:var(--danger)}.kind-pill.kind-progress>i{background:var(--ok)}.file-group{margin-bottom:28px}.file-group-head{display:flex;align-items:baseline;gap:10px;padding-bottom:4px}.file-group-head h2 a{transition:color var(--t-fast) var(--ease)}.file-group-head h2 a:hover{color:var(--text-2)}.file-group-head>span{font-size:12.5px;color:var(--text-3)}.output-list{display:flex;flex-direction:column}.output-row{display:flex;align-items:center;gap:10px;padding:9px 10px;margin:0 -10px;border-top:1px solid var(--line);border-radius:var(--r-2);transition:background var(--t-fast) var(--ease)}.output-row:first-child{border-top-color:transparent}.output-row:hover{background:var(--bg-2)}.output-row:hover+.output-row{border-top-color:transparent}.output-icon{display:grid;place-items:center;width:28px;height:28px;flex:none;border-radius:var(--r-2);background:var(--bg-3);color:var(--text-2)}.output-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.output-main strong{font-size:13px;font-weight:500}.output-meta{font-size:12px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.output-actions{display:flex;align-items:center;gap:2px;flex:none}.outputs-actions{padding:12px 14px;display:flex;flex-direction:column;gap:10px}.outputs-suggest{display:flex;gap:8px;flex-wrap:wrap}.rail-body .output-row{margin:0;padding:9px 14px;border-radius:0}.rail-body .output-row:first-child{border-top-color:var(--line)}.action-reason{color:var(--text-3);font-size:12.5px;margin:-6px 0 18px}.capture-body{flex:none;display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-template-rows:minmax(0,1fr);min-height:0;height:calc(100dvh - var(--topbar-h))}.capture-body.rail-closed{grid-template-columns:minmax(0,1fr)}.capture-body>.stage{position:relative;background:var(--stage);overflow:hidden;min-width:0}.pagebar .capture-switcher{min-width:0}.pagebar .seg{flex:none}.seg>button>.view-availability{display:none}.seg>button.unavailable{color:var(--text-3)}.seg>button.unavailable:not(.active)>svg{opacity:.5}.stage-toolset{display:flex;align-items:center;gap:2px}.capture-rail{display:flex;flex-direction:column;min-height:0;background:var(--bg-1);border-left:1px solid var(--line)}.rail-tabs{display:flex;flex:none;gap:2px;padding:6px 8px;border-bottom:1px solid var(--line)}.rail-tabs>button{display:flex;align-items:center;gap:6px;height:30px;padding:0 10px;border-radius:var(--r-2);font-size:13px;font-weight:500;color:var(--text-3);transition:color var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}.rail-tabs>button:hover{color:var(--text-2);background:var(--bg-3)}.rail-tabs>button.active{color:var(--text);background:var(--bg-4)}.rail-tabs>button>.count{font-size:11.5px;color:var(--text-3)}.rail-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}.status-panel{padding:16px 14px;display:flex;flex-direction:column;gap:14px}.status-head{display:flex;align-items:center;gap:10px}.status-head>p{font-size:12.5px;color:var(--text-2);line-height:1.45}.status-progress{display:flex;flex-direction:column;gap:6px}.status-progress>span{font-size:12px;color:var(--text-3)}.fact-list{display:flex;flex-direction:column;margin:0}.fact-list>div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:10px;padding:7px 0;border-top:1px solid var(--line);font-size:12.5px}.fact-list>div:first-child{border-top:0}.fact-list dt{color:var(--text-3)}.fact-list dd{margin:0;color:var(--text);min-width:0;overflow-wrap:anywhere}.fact-list dd .faint{display:block;font-size:12px}.status-jobs{display:flex;flex-direction:column;gap:4px}.status-jobs>.caption{font-size:12px;color:var(--text-3);margin-bottom:4px}.job-action{width:100%;display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:var(--r-2);border:1px solid var(--line);background:var(--bg-2);color:var(--text);text-align:left;transition:border-color var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}.job-action:hover:not(:disabled){border-color:var(--line-3);background:var(--bg-3)}.job-action:disabled{opacity:.5;cursor:not-allowed}.job-action>svg{color:var(--text-3);flex:none}.job-action>span{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.job-action strong{font-size:13px;font-weight:500}.job-action small{font-size:11.5px;color:var(--text-3)}.diagnostic{font-size:12px;color:var(--text-2)}.diagnostic summary{cursor:pointer;padding:4px 0;color:var(--text-3)}.diagnostic pre{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:6px;padding:12px;border:1px solid var(--line);border-radius:var(--r-2);background:var(--bg);font-family:var(--font-mono);font-size:11px}.capture-notes,.rail-notes{display:flex;flex-direction:column}.rail-notes>li{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border-bottom:1px solid var(--line);transition:background var(--t-fast) var(--ease)}.rail-notes>li.selected{background:var(--bg-3)}.rail-notes>li.resolved{opacity:.6}.rail-note-top,.rail-note-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}.rail-note-meta{display:inline-flex;align-items:center;gap:6px;font-size:12px}.rail-notes p{font-size:13px;line-height:1.5;color:var(--text)}.rail-note-origin{font-size:12px!important;color:var(--text-3)!important}.rail-note-origin.ok{color:var(--ok)!important;display:inline-flex;align-items:center;gap:4px}.rail-note-actions{display:inline-flex;gap:2px}.rail-composer{padding:14px;border-top:1px solid var(--line)}.rail-carried{border-top:1px solid var(--line)}.rail-carried-hint{padding:0 14px 8px;font-size:12px;color:var(--text-3)}.panel-caption{display:flex;align-items:center;gap:6px;padding:12px 14px 6px;font-size:12px;font-weight:500;color:var(--text-3)}.panel-caption>.count{font-weight:400}.panel-pad{padding:8px 14px 16px}.byline{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-2)}.anchor-toggle{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--text-2);cursor:pointer}.anchor-toggle>svg{color:var(--text-3);flex:none}.anchor-toggle strong{font-weight:500;color:var(--text)}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:48px 24px;color:var(--text-3)}.empty-state.compact{padding:20px 12px}.empty-icon{display:grid;place-items:center;width:36px;height:36px;margin-bottom:4px;color:var(--text-3)}.empty-state strong{color:var(--text);font-size:14px;font-weight:500}.empty-state p{font-size:13px;max-width:42ch;line-height:1.55}.empty-state.compact p{font-size:12.5px}.empty-actions{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.empty-intro{max-width:560px;margin:64px auto;text-align:center}.empty-intro .empty-state{padding:16px 0}.settings-section{padding:24px 0;border-top:1px solid var(--line)}.settings-section:first-of-type{border-top:0;padding-top:0}.settings-section>h2{margin-bottom:4px}.settings-section>p{font-size:13px;max-width:60ch}.settings-section .callout{margin-top:14px}.route-list{display:flex;flex-direction:column;margin-top:14px}.route-list>li{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--line);font-size:13px}.route-list>li:first-child{border-top:0}.route-list>li>div{flex:1;min-width:0}.route-list strong{font-weight:500}.route-list p{font-size:12px;color:var(--text-3)}.route-mark{display:grid;place-items:center;color:var(--text-3)}.route-list>li.ok .route-mark{color:var(--ok)}.route-list>li.bad .route-mark{color:var(--warn)}.route-loading{display:flex;align-items:center;gap:8px;color:var(--text-3)}.settings-fields{border:0;padding:0;margin:16px 0 0;min-width:0}.settings-fields:disabled{opacity:.55}.connection-settings{margin-top:16px}.connection-settings summary{cursor:pointer;color:var(--text-2);font-size:13px;font-weight:500}.connection-settings>p{margin-top:8px;font-size:13px}.field-feedback{margin:0 0 20px;padding:14px 16px;border:1px solid var(--line-2);border-radius:var(--r-2);color:var(--text-2);font-size:13px;line-height:1.6}.field-feedback.error{border-color:var(--danger)}.field-feedback .btn{margin-top:10px}.upload-steps{display:flex;gap:16px;padding:14px 22px;border-bottom:1px solid var(--line);list-style:none;margin:0;color:var(--text-3);font-size:12.5px}.upload-steps li{display:flex;align-items:center;gap:8px}.upload-steps li>span{border:1px solid var(--line-3);width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:11px}.upload-steps li.active{color:var(--text)}.upload-steps li.active>span{background:var(--action);border-color:var(--action);color:var(--action-ink)}.login{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:100%;max-width:380px;animation:rise-in .5s var(--ease-out)}.login-card>.brand{margin-bottom:36px}.login-card h1{font-size:24px}.login-card>p{margin-top:6px;font-size:13.5px}.login-card form{margin-top:24px}.login-foot{display:flex;align-items:center;gap:7px;margin-top:28px;font-size:12px;color:var(--text-3)}.auth-switch{margin-top:20px;font-size:13px;color:var(--text-2)}.auth-switch .link{margin-left:6px;color:var(--text)}@media(max-width:1240px){.overview-cols{grid-template-columns:minmax(0,1fr) 300px;gap:32px}.capture-body{grid-template-columns:minmax(0,1fr) 300px}}@media(max-width:1040px){.overview-cols{grid-template-columns:1fr}}@media(max-width:900px){.capture-body,.capture-body.rail-closed{grid-template-columns:1fr;grid-template-rows:auto;height:auto}.capture-body>.stage{height:56vh;min-height:340px}.capture-rail{border-left:0;border-top:1px solid var(--line)}.rail-body{overflow:visible}}@media(max-width:860px){:root{--sidebar-w: 0px}.sidebar{display:none}.main{margin-left:0;width:100%}.mobile-nav-trigger,.notify.compact{display:inline-flex}.desktop-sidebar-trigger{display:none}.page{padding:16px 16px 48px}.pagebar{padding:0 10px 0 6px;gap:8px}.pagebar-sub{display:none}.pagebar-mid{order:10;width:100%}.pagebar.wrap{height:auto;flex-wrap:wrap;padding-block:8px}.hero-capture{height:240px;margin-bottom:28px}.hero-capture-info{left:14px;right:14px;bottom:14px}.hero-capture-info h2{font-size:19px}.row{grid-template-columns:52px minmax(0,1fr) auto;row-gap:6px}.row-thumb{width:52px;height:40px}.row-views{display:none}.row>.badge{grid-column:2;justify-self:start}.row-actions{grid-column:3;grid-row:1}.search{width:100%}.note{grid-template-columns:10px minmax(0,1fr)}.note-controls{grid-column:2;flex-wrap:wrap}.note-media{display:none}.input,.select,textarea{font-size:16px}.form-grid,.option-cards{grid-template-columns:1fr}.hide-mobile{display:none!important}.toast,.error-toast{left:16px;right:16px;bottom:16px;transform:none;max-width:none}.capture-body>.stage{min-height:360px}.compare-stage.split{grid-template-columns:1fr;grid-template-rows:1fr 1fr}.compare-stage.split .compare-pane+.compare-pane{border-left:0;border-top:1px solid var(--line-3)}.walkthrough{left:8px;right:54px;gap:2px}.walk-count{display:none}}@media(hover:none){[data-tip]:after{display:none}}.archive{display:flex;align-items:center;gap:12px;margin:12px 14px 0;padding:10px 12px;border-radius:var(--r-2);background:var(--bg-2);border:1px solid var(--line);transition:border-color var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}.archive:hover{border-color:var(--line-3);background:var(--bg-3)}.archive>div{flex:1;min-width:0}.archive strong{display:block;font-weight:500;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.archive span{font-size:12px;color:var(--text-3)}.archive>svg:last-child{color:var(--text-3)}.asset-upload{position:relative;overflow:hidden}.button-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.field.inline{margin:0}.sheet-thumb{background:#fff}.sheet-thumb img{object-fit:contain}.plan-canvas{--plan-ink: #2458e6;--plan-warn: #d97706;--plan-dark: #16171a;position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background:var(--stage);cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.plan-canvas:active{cursor:grabbing}.plan-canvas.crosshair,.plan-canvas.crosshair:active{cursor:crosshair}.plan-image{position:absolute;transform-origin:50% 50%;pointer-events:none;background:#fff;box-shadow:0 0 0 1px #00000040,0 10px 40px #00000059}.plan-image.sharp{opacity:0;box-shadow:none;transition:opacity var(--t) var(--ease)}.plan-image.sharp.ready{opacity:1}.plan-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:visible}.plan-overlay .hit{pointer-events:auto;cursor:pointer}.room-pin circle{fill:var(--plan-ink);stroke:#fff;stroke-width:2;transition:r var(--t-fast) var(--ease)}.room-pin.doubtful circle{fill:var(--plan-warn)}.room-pin.selected circle{fill:#fff;stroke:var(--plan-ink);stroke-width:3}.room-pin text,.scale-bar text{font-size:11.5px;font-weight:600;fill:var(--plan-dark);paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}.room-pin:hover text{fill:var(--plan-ink)}.calibration line{stroke:var(--plan-ink);stroke-width:2;stroke-dasharray:6 4}.calibration circle{fill:#fff;stroke:var(--plan-ink);stroke-width:2.5}.scale-bar rect{fill:var(--plan-dark);stroke:#fff;stroke-width:1}.drawing-body>.sheet-stage{background:var(--stage)}.sheet-waiting{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;justify-items:center;gap:10px;padding:24px;text-align:center;color:#ffffffb3;font-size:13px}.sheet-locate{position:absolute;left:12px;top:12px;z-index:4}.pagebar-title-row{display:flex;align-items:baseline;gap:10px;min-width:0}.pagebar-title-row h1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crumb{font-size:13px;color:var(--text-3);white-space:nowrap}.crumb:hover{color:var(--text-2)}.crumb:after{content:"/";margin-left:10px;color:var(--line-3)}.rail-error,.rail-note{margin:12px 14px 0;font-size:12.5px}.rooms-panel{display:flex;flex-direction:column;min-height:100%}.rooms-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;background:var(--bg-1);border-bottom:1px solid var(--line)}.rooms-head>div{display:flex;align-items:baseline;gap:10px;font-size:13px}.rooms-head .link{font-size:12.5px;color:var(--warn)}.rooms-head .link.active{color:var(--text-2)}.rooms-empty{padding:16px 14px;font-size:13px;color:var(--text-3)}.room-list{flex:1;padding:6px 8px}.room-row{display:grid;grid-template-columns:64px minmax(0,1fr) 16px 26px;align-items:center;gap:6px;padding:3px 6px;border-radius:var(--r-2);transition:background var(--t-fast) var(--ease)}.room-row:hover{background:var(--bg-2)}.room-row.selected{background:var(--accent-soft)}.room-row .input{height:28px;padding:0 8px;font-size:13px;border-color:transparent;background:transparent}.room-row .input:hover:not(:disabled),.room-row .input:focus{border-color:var(--line-2);background:var(--bg)}.room-number{font-variant-numeric:tabular-nums;font-weight:500}.room-flag{display:grid;place-items:center;color:var(--warn)}.rooms-foot{position:sticky;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;border-top:1px solid var(--line);background:var(--bg-1);font-size:12.5px}.sheet-panel{display:flex;flex-direction:column}.sheet-section{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:14px;border-bottom:1px solid var(--line);font-size:13px}.sheet-section>.progress,.sheet-section>.select{align-self:stretch}.sheet-section-head{display:flex;align-items:baseline;justify-content:space-between;align-self:stretch;gap:8px}.sheet-section-head .faint{font-size:12px}.sheet-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-self:stretch}.sheet-fields .field{display:flex;flex-direction:column;gap:4px}.sheet-fields .field.wide{grid-column:1 / -1}.sheet-fields .input{height:32px}.scale-ratio{display:flex;align-items:center;gap:8px}.scale-ratio .input{width:96px;height:32px;font-variant-numeric:tabular-nums}.warn-text{color:var(--warn)}.calibrate{display:flex;flex-direction:column;gap:8px;align-self:stretch;padding:10px;border-radius:var(--r-2);background:var(--bg-2)}.calibrate p{color:var(--text-2)}.calibrate-actions{display:flex;justify-content:flex-end;gap:6px}.issue-list{align-self:stretch}.issue-list>li{display:flex;justify-content:space-between;gap:12px;padding:4px 0;font-size:12.5px}@media(max-width:860px){.drawing-body{grid-template-columns:minmax(0,1fr);grid-template-rows:55dvh auto;height:auto}.drawing-body>.sheet-stage{min-height:55dvh}.drawing-body>.capture-rail{border-left:0;border-top:1px solid var(--line)}}.detected-head .detected-sheets{display:block;margin-top:2px;color:var(--text-2)}.pano-view{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--stage)}.pano-view>div:first-child{touch-action:none}.pano-error{position:absolute;left:50%;top:50%;z-index:6;display:inline-flex;align-items:center;gap:12px;padding:8px 8px 8px 14px;border-radius:var(--r-2);background:#141519e0;border:1px solid rgba(255,255,255,.12);color:#fff;font-size:13px;white-space:nowrap;transform:translate(-50%,-50%);pointer-events:auto;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:fade-in var(--t) var(--ease)}.hotspot{position:relative;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#0a0a0c59;border:2px solid rgba(255,255,255,.92);box-shadow:0 2px 10px #00000073;cursor:pointer;transition:transform var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}.hotspot:hover,.hotspot:focus-visible{transform:scale(1.14);background:#0a0a0c8c}.hotspot>i{width:12px;height:12px;border-top:3px solid #fff;border-left:3px solid #fff;transform:translateY(3px) rotate(45deg)}.hotspot.back>i{transform:translateY(-3px) rotate(225deg)}.hotspot.side{width:34px;height:34px;border-style:dashed}.hotspot.side>i{width:6px;height:6px;border:0;border-radius:50%;background:#fff;transform:none}.hotspot.pin{width:22px;height:22px;border:2px solid #fff;background:var(--warn)}.hotspot.pin>i{display:none}@media(prefers-reduced-motion:reduce){.hotspot{transition:none}}.route path{fill:none;stroke:var(--plan-ink);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;opacity:.75}.route .route-key{fill:#fff;stroke:var(--plan-ink);stroke-width:1.5}.you-are-here .cone{fill:var(--plan-ink);opacity:.22}.you-are-here .halo{fill:var(--plan-ink);opacity:.2}.you-are-here .dot{fill:var(--plan-ink);stroke:#fff;stroke-width:2.5}.issue-pin{cursor:pointer}.issue-pin line{stroke:#dc2626;stroke-width:1.5;stroke-dasharray:3 3;opacity:.6}.issue-pin circle{fill:#dc2626;stroke:#fff;stroke-width:2;transition:transform var(--t-fast) var(--ease);transform-box:fill-box;transform-origin:center}.issue-pin:hover circle,.issue-pin:focus-visible circle{transform:scale(1.18)}.issue-pin:focus{outline:none}.issue-pin:focus-visible circle{stroke:var(--accent-ring);stroke-width:3}.issue-pin.approx circle{stroke-dasharray:3 2}.issue-pin.resolved circle{fill:#8a8f98}.issue-pin text{fill:#fff;font-size:10px;font-weight:600;pointer-events:none}.key-pin circle{fill:#fff;stroke:var(--plan-ink);stroke-width:2}.key-pin.selected circle{fill:var(--plan-ink)}.key-pin text{font-size:9px;font-weight:700;fill:var(--plan-ink);pointer-events:none}.key-pin.selected text{fill:#fff}.heading-handle{fill:#fff;stroke:var(--plan-ink);stroke-width:2.5;cursor:grab}.plan-room-label{font-size:10.5px;font-weight:600;fill:#6b6f7a;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}.plan-room-label.visited{fill:var(--plan-ink)}.plan-room-label.hit{cursor:pointer}.place-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;height:calc(100dvh - var(--topbar-h))}.place-pano,.place-plan{position:relative;overflow:hidden;background:var(--stage);min-height:0}.place-plan{border-left:1px solid var(--line-3)}.place-chip,.room-chip{position:absolute;left:12px;top:12px;z-index:6;display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:99px;background:#141519d1;border:1px solid rgba(255,255,255,.12);color:#fff;font-size:13px;font-weight:500;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.room-chip.quiet{color:#ffffffb3;font-weight:400}.place-chip .faint,.room-chip .faint{color:#fff9}.place-timeline{grid-column:1 / -1;display:flex;align-items:center;gap:8px;padding:8px 12px;border-top:1px solid var(--line);background:var(--bg-1)}.place-timeline .walk-step,.place-timeline .walk-time{color:var(--text-2)}.place-advance{display:flex;align-items:center;gap:4px;font-size:12.5px;color:var(--text-3);white-space:nowrap}.place-timeline .btn.active{color:var(--warn)}.place-track{position:relative;flex:1;height:32px;cursor:pointer;touch-action:none}.place-track:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px;border-radius:4px}.place-track-rail,.place-track-span{position:absolute;top:13px;height:6px;border-radius:3px}.place-track-rail{left:0;right:0;background:var(--bg-4)}.place-track-span{background:var(--accent);opacity:.55}.place-track-key{position:absolute;top:11px;width:8px;height:8px;margin-left:-4px;background:var(--accent);transform:rotate(45deg);border-radius:1px}.place-track-gap{position:absolute;top:6px;width:2px;height:20px;margin-left:-1px;background:var(--warn)}.place-track-thumb{position:absolute;top:5px;width:4px;height:22px;margin-left:-2px;border-radius:2px;background:var(--text);box-shadow:0 0 0 2px var(--bg-1)}.place-choose{max-width:520px}.place-choose h2{margin-bottom:12px;font-size:15px;font-weight:500}.walk-body{grid-template-columns:minmax(0,1fr) 380px}.walk-stage{position:relative}.walk-rail .walk-minimap{position:relative;flex:none;height:44%;min-height:220px;border-bottom:1px solid var(--line);background:var(--stage)}.walk-minimap .scene-tools{right:8px;bottom:8px}.walk-minimap-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;justify-items:center;gap:10px;color:#ffffffb3;font-size:13px;text-align:center;padding:16px}.walk-minimap-empty .faint{font-size:12px;color:#ffffff73}.walk-minimap-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:2px}.locate-progress{width:min(220px,70%);height:3px;border-radius:2px;background:#ffffff1f;overflow:hidden;position:relative}.locate-progress:after{content:"";position:absolute;inset:0 auto 0 0;width:var(--p, 4%);background:#ffffffb3;transition:width .26s var(--ease)}.auto-placed{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;font-size:12.5px;border-bottom:1px solid var(--line);background:var(--bg-3);animation:auto-placed-in .22s var(--ease)}.auto-placed>svg{color:var(--plan-ink);flex:none}.auto-placed-actions{display:flex;gap:4px;margin-left:auto}@keyframes auto-placed-in{0%{opacity:0;transform:translateY(-4px)}}@media(prefers-reduced-motion:reduce){.auto-placed{animation:none}.locate-progress:after{transition:none}}.walk-rooms,.walk-issues{padding:6px}.walk-room,.walk-issue{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;padding:7px 8px;border-radius:var(--r-2);text-align:left;font-size:13px;color:var(--text);transition:background var(--t-fast) var(--ease)}.walk-issue{grid-template-columns:10px minmax(0,1fr);align-items:start}.walk-issue>span:last-child{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.walk-issue.resolved{color:var(--text-3)}.walk-room:hover,.walk-issue:hover{background:var(--bg-2)}.walk-room.current{background:var(--accent-soft)}.walk-room-number{font-weight:500;font-variant-numeric:tabular-nums}.walk-room-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.walk-rooms-missed{padding:10px 8px;font-size:12.5px}.status-dot{width:8px;height:8px;margin-top:5px;border-radius:50%;background:var(--warn)}.status-dot.in_progress{background:var(--info)}.status-dot.resolved{background:var(--ok)}@media(max-width:860px){.place-body{grid-template-columns:minmax(0,1fr);grid-template-rows:42dvh 42dvh auto;height:auto}.place-plan{border-left:0;border-top:1px solid var(--line-3)}.place-timeline{flex-wrap:wrap}.place-track{flex-basis:100%;order:-1}.walk-body{grid-template-columns:minmax(0,1fr);grid-template-rows:58dvh auto;height:auto}.walk-body>.walk-stage{min-height:58dvh}.walk-rail{border-left:0;border-top:1px solid var(--line)}.walk-rail .walk-minimap{height:46dvh}}.punch-fields{display:grid;grid-template-columns:auto 1fr;gap:6px}.punch-fields .seg{grid-column:1 / -1}.punch-fields .input{height:30px;font-size:12.5px}.note-number{margin-right:6px;color:var(--text-3);font-variant-numeric:tabular-nums}.note-priority{color:var(--danger);font-weight:500}.note-room{color:var(--text-2);font-weight:500}.note-due.overdue{color:var(--danger);font-weight:500}.note-group+.note-group{margin-top:22px}.note-group-head{display:flex;align-items:baseline;gap:10px;margin-bottom:4px;font-size:13px;font-weight:600}.note-group-head .faint{font-size:12px;font-weight:400}.page.page-wide{max-width:1400px}.heat-map{position:relative;height:min(52vh,520px);margin-bottom:14px;border-radius:var(--r-3);overflow:hidden;box-shadow:inset 0 0 0 1px var(--line-2)}.heat-pin circle{stroke:#fff;stroke-width:2}.heat-pin .stale{fill:none;stroke:var(--plan-warn);stroke-width:2;stroke-dasharray:4 3}.heat-pin.selected circle:not(.stale){stroke:var(--plan-dark);stroke-width:3}.heat-pin text{font-size:8.5px;font-weight:700;fill:#fff;pointer-events:none}.heat-legend{position:absolute;left:12px;top:12px;z-index:4;display:flex;flex-wrap:wrap;gap:4px 12px;max-width:calc(100% - 80px);padding:6px 10px;border-radius:var(--r-2);background:#141519d1;color:#fff;font-size:12px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.heat-legend span{display:inline-flex;align-items:center;gap:6px}.heat-legend i{width:10px;height:10px;border-radius:50%}.heat-legend .legend-stale{border:2px dashed #d97706;background:none}.rooms-alert{margin-bottom:12px;font-size:13px;color:var(--warn)}.rooms-grid-wrap{overflow-x:auto}.rooms-grid{width:100%;border-collapse:collapse;font-size:13px}.rooms-grid th,.rooms-grid td{padding:7px 10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.rooms-grid thead th{font-size:12px;font-weight:500;color:var(--text-3)}.rooms-grid tbody th{font-weight:400}.rooms-grid tbody tr{cursor:pointer;transition:background var(--t-fast) var(--ease)}.rooms-grid tbody tr:hover,.rooms-grid tbody tr.selected{background:var(--bg-2)}.rooms-grid-number{display:inline-block;min-width:34px;font-weight:500;font-variant-numeric:tabular-nums}.stage-chip{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border-radius:99px;font-size:12px;font-weight:500;color:var(--text);background:color-mix(in srgb,var(--stage) 16%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--stage) 45%,transparent)}.stage-chip:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--stage)}.rooms-grid .walked{font-size:12.5px;color:var(--text-3)}.stale-text{color:var(--warn)}.walk-body.comparing .pano-view.half{right:50%}.compare-pane{position:absolute;top:0;bottom:0;left:50%;right:0;border-left:1px solid rgba(255,255,255,.14);background:var(--stage)}.pano-view.follower{pointer-events:none}.link-state{position:absolute;left:12px;right:12px;top:52px;z-index:6;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 6px 6px 11px;border-radius:var(--r-2);background:#141519d1;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--warn);font-size:12px;pointer-events:auto}.link-state>span.on{color:#d3d3da}.compare-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;text-align:center;color:#ffffffb3;font-size:13px}.pin-crosshair{position:absolute;left:50%;top:50%;z-index:5;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #00000080;pointer-events:none}.pin-crosshair:after{content:"";position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:var(--warn)}.issue-card{position:absolute;left:12px;bottom:60px;z-index:7;display:flex;flex-direction:column;gap:8px;width:min(340px,calc(100% - 24px));padding:12px;border-radius:var(--r-3);background:var(--bg-1);border:1px solid var(--line-2);box-shadow:var(--shadow-3);animation:rise-in var(--t-slow) var(--ease-out)}.issue-card strong{font-size:13px;font-weight:500}.issue-card-row{display:grid;grid-template-columns:1fr 1fr;gap:6px}.issue-card-row .input{height:30px;font-size:12.5px}.issue-card-actions{display:flex;justify-content:flex-end;gap:6px}.walk-stage-pick{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 8px 8px 64px;font-size:12px;color:var(--text-3)}.walk-room .stage-chip{justify-self:end}@media(max-width:860px){.walk-body.comparing .pano-view.half{right:0;bottom:50%}.compare-pane{top:50%;left:0;border-left:0;border-top:1px solid rgba(255,255,255,.14)}}.share-page{display:flex;flex-direction:column;height:100dvh;background:var(--bg)}.share-bar{display:flex;align-items:center;gap:16px;height:var(--topbar-h);padding:0 16px;border-bottom:1px solid var(--line);flex:none}.share-title{display:flex;flex-direction:column;min-width:0;flex:1}.share-title strong{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.share-title span{font-size:12px;color:var(--text-3)}.share-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 360px}.share-body>.walk-stage{position:relative;background:var(--stage);overflow:hidden}.share-foot{flex:none;padding:8px 16px;border-top:1px solid var(--line);font-size:12px;color:var(--text-3)}.share-message{display:grid;place-content:center;justify-items:center;gap:14px;height:100dvh;padding:24px;text-align:center;color:var(--text-2)}.share-report{display:flex;flex-direction:column;height:100dvh}.share-report iframe{flex:1;width:100%;border:0;background:#fff}.share-issues-head{padding:12px 14px 0;font-size:12.5px;font-weight:600}.tour-card{position:absolute;left:12px;right:12px;bottom:12px;z-index:6;display:flex;flex-direction:column;gap:4px;max-width:460px;padding:14px;border-radius:var(--r-3);background:#141519e0;border:1px solid rgba(255,255,255,.12);color:#fff;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:rise-in var(--t-slow) var(--ease-out)}.tour-card .faint{color:#ffffffa6;font-size:12px}.tour-card strong{font-size:16px;font-weight:600}.tour-card p{font-size:13.5px;line-height:1.5;color:#ffffffe6}.tour-nav{display:flex;justify-content:space-between;margin-top:8px}.share-dialog{display:flex;flex-direction:column;gap:12px}.share-hint{font-size:12.5px;margin-top:-4px}.share-options{display:grid;grid-template-columns:1fr 1.4fr;gap:10px}.share-options .field{display:flex;flex-direction:column;gap:4px}.share-made{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.share-url{display:flex;gap:6px;align-self:stretch}.share-url .input{flex:1;font-family:var(--font-mono);font-size:12px}.share-list h3{margin:8px 0 6px;font-size:12.5px;font-weight:600}.share-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-top:1px solid var(--line);font-size:13px}.share-list li.inactive{opacity:.6}.share-list .faint{font-size:12px}.tour-empty{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding-bottom:14px}.tour-empty .btn{margin-left:14px}.tour-editor{display:flex;flex-direction:column;min-height:100%}.tour-head{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line)}.tour-head .input{height:30px;font-weight:500}.tour-stops{flex:1;padding:6px 8px}.tour-stops>li{display:flex;flex-direction:column;gap:4px;padding:8px 4px;border-bottom:1px solid var(--line)}.tour-stop-top{display:grid;grid-template-columns:24px minmax(0,1fr) auto auto auto auto;align-items:center;gap:4px}.tour-stop-top .input{height:28px;font-size:13px}.tour-stops .textarea{min-height:0;font-size:12.5px;margin-left:28px;width:calc(100% - 28px)}.tour-foot{position:sticky;bottom:0;display:flex;align-items:center;gap:6px;padding:10px 12px;border-top:1px solid var(--line);background:var(--bg-1)}.tour-foot .spacer{flex:1}@media(max-width:860px){.share-body{grid-template-columns:minmax(0,1fr);grid-template-rows:58dvh auto;overflow-y:auto}.share-page{height:auto;min-height:100dvh}.share-options{grid-template-columns:1fr}}ol.walk-rooms,ol.tour-stops{list-style:none;margin:0}.note>.note-thread{grid-column:2 / -1}.note-discuss{display:inline-flex;align-items:center;gap:4px;color:var(--text-2);border-radius:var(--r-1)}.note-discuss:hover,.note-discuss[aria-expanded=true]{color:var(--text)}.note-discuss:focus-visible{outline:2px solid var(--accent-ring);outline-offset:1px}.note-thread{display:grid;gap:10px;margin:4px 0;padding:12px 0 0 14px;border-left:2px solid var(--line);font-size:13px}.thread-items{display:grid;gap:8px;margin:0;padding:0;list-style:none}.thread-event{display:flex;justify-content:space-between;gap:12px;color:var(--text-3);font-size:12px}.thread-comment{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;align-items:baseline}.thread-comment time,.thread-event time{color:var(--text-3);font-size:11.5px;white-space:nowrap}.thread-comment p{grid-column:1 / -1;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.thread-comment .attachments{grid-column:1 / -1}.mention{color:var(--accent-text, var(--accent));font-weight:500}.attachments{display:flex;flex-wrap:wrap;gap:6px}.attachment{display:inline-flex;align-items:center;gap:2px;max-width:100%;padding:3px 3px 3px 4px;border:1px solid var(--line);border-radius:var(--r-2);background:var(--bg-1)}.attachment a{display:inline-flex;align-items:center;gap:6px;min-width:0;color:var(--text);font-size:12px}.attachment a>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.attachment img{width:36px;height:36px;object-fit:cover;border-radius:var(--r-1)}.thread-reply{display:grid;gap:6px}.thread-box{position:relative}.thread-actions{display:flex;justify-content:flex-end;gap:6px}.mention-list{position:absolute;left:8px;top:100%;z-index:20;min-width:200px;margin:4px 0 0;padding:4px;list-style:none;border:1px solid var(--line);border-radius:var(--r-2);background:var(--bg-1);box-shadow:0 8px 24px #00000040}.mention-list button{width:100%;padding:6px 8px;border-radius:var(--r-1);text-align:left}.mention-list button:hover,.mention-list button:focus-visible{background:var(--bg-3);outline:none}.notify{position:relative}.notify .nav-item{width:100%}.notify .count{margin-left:auto;min-width:18px;padding:0 5px;border-radius:9px;background:var(--accent);color:#fff;font-size:11px;line-height:18px;text-align:center}.notify .btn-icon .count{position:absolute;top:-4px;right:-4px}.notify-panel{position:absolute;left:0;bottom:calc(100% + 6px);z-index:60;width:320px;max-height:60vh;overflow:auto;border:1px solid var(--line);border-radius:var(--r-3, 10px);background:var(--bg-1);box-shadow:0 12px 32px #00000059;animation:rise-in var(--t) var(--ease)}.notify-head{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--line);background:var(--bg-1)}.notify-panel ul{margin:0;padding:4px;list-style:none}.notify-item{display:grid;grid-template-columns:16px 1fr auto;gap:8px;width:100%;padding:8px;border-radius:var(--r-1);text-align:left;color:var(--text-2);font-size:12.5px;line-height:1.4}.notify-item.unread{color:var(--text)}.notify-item.unread:before{content:"";position:absolute}.notify-item:hover,.notify-item:focus-visible{background:var(--bg-3);outline:none}.notify-item svg{margin-top:2px}.notify-item time{color:var(--text-3);font-size:11px}.notify-empty{padding:16px 12px;color:var(--text-3);font-size:12.5px}@media(max-width:720px){.notify-panel{position:fixed;left:12px;right:12px;top:56px;bottom:auto;width:auto}.note-thread{margin-left:0}}.report-dialog{display:grid;gap:18px}.report-dialog h3{margin:0 0 6px;font-size:12.5px;color:var(--text-2);font-weight:600}.report-dialog section{display:grid;gap:10px}.layout-list{display:grid;gap:2px;margin:0;padding:0;list-style:none}.layout-list li{display:flex;align-items:center;gap:4px}.layout-list .row-button{flex:1;display:flex;align-items:center;gap:8px;padding:8px;border-radius:var(--r-1);text-align:left}.layout-list .row-button:hover,.layout-list .row-button:focus-visible{background:var(--bg-3)}.layout-list .faint{margin-left:auto;font-size:12px}.report-dialog .field-row{display:flex;gap:10px}.report-dialog .field-row>*{flex:1}.report-dialog .save-layout .btn{flex:none}.report-dialog .checks{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0;padding:0;border:0;font-size:13px}.report-dialog .checks legend{margin-bottom:6px;font-size:12.5px;color:var(--text-2)}.report-dialog .checks label{display:inline-flex;align-items:center;gap:6px}.person{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px;margin:0 -10px;border-top:1px solid var(--line);border-radius:var(--r-2)}.person:first-child{border-top-color:transparent}.person.expired,.person.invitation.revoked,.person.invitation.expired{opacity:.6}.person-main{display:grid;gap:2px;min-width:0}.person-main .faint{font-size:12.5px;overflow-wrap:anywhere}.access-end{color:var(--text-2);font-size:12.5px;white-space:nowrap}.access-end.ended{color:var(--warn)}.person-controls{display:flex;align-items:center;gap:6px}.person-controls .input-sm{height:28px;width:140px;font-size:12.5px}.people .block h2{margin:28px 0 8px;font-size:13px;color:var(--text-2)}.people-note{margin-top:28px;font-size:12.5px;max-width:60ch}.invite-link{display:flex;gap:6px}.invite-link .input{flex:1}.form-stack .field-row{display:flex;gap:10px}.form-stack .field-row>*{flex:1}@media(max-width:720px){.person{grid-template-columns:minmax(0,1fr)}.person-controls{flex-wrap:wrap}}.hotspot.path{width:14px;height:14px;padding:0;border:0;background:transparent}.hotspot.path>i{width:8px;height:8px;border-radius:50%;background:#ffffffd9;box-shadow:0 0 0 2px #00000059}.path-menu{position:absolute;top:12px;right:12px;z-index:6;display:grid;justify-items:end;gap:6px}.path-controls{display:grid;gap:8px;width:230px;padding:10px 12px;border-radius:var(--r-2);background:#141519e6;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#d3d3da;font-size:12.5px}.path-controls label{display:flex;align-items:center;gap:8px}.path-controls .path-height{display:grid;gap:4px}.path-controls input[type=range]{accent-color:var(--accent)}.path-controls small{color:#9a9aa4}.path-actions{display:flex;justify-content:flex-end;gap:6px}.transfers{position:fixed;right:16px;bottom:16px;z-index:70;width:min(360px,calc(100vw - 32px));border:1px solid var(--line);border-radius:var(--r-3, 10px);background:var(--bg-1);box-shadow:0 12px 32px #0000004d;animation:rise-in var(--t) var(--ease)}.transfers-head{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;font-size:13px;font-weight:500;text-align:left}.transfers-head span{flex:1}.transfers-head:focus-visible{outline:2px solid var(--accent-ring);outline-offset:-2px;border-radius:var(--r-3, 10px)}.transfers-body{max-height:50vh;overflow:auto;padding:0 12px 10px;border-top:1px solid var(--line)}.transfers-body>p{margin:8px 0 0;font-size:12px}.transfers-body ul{display:grid;gap:10px;margin:10px 0 0;padding:0;list-style:none}.transfer{display:grid;gap:4px;font-size:12.5px}.transfer-line{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.transfer-line strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transfer-detail{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.transfer-actions{display:flex;flex:none}.transfer .bar{height:4px;border-radius:2px;background:var(--bg-3);overflow:hidden}.transfer .bar i{display:block;height:100%;background:var(--accent);transition:width var(--t) var(--ease)}.transfer.failed .bar i,.transfer.offline .bar i{background:var(--warn)}.transfer.done .bar i{background:var(--ok, #2f9e6b)}.transfer.cancelled{opacity:.6}@media(max-width:720px){.transfers{right:8px;left:8px;bottom:8px;width:auto}}.field-session{display:grid;gap:16px;max-width:760px}.field-session .block h2{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 8px;font-size:14px}.field-session .block h2 .faint{font-size:12.5px;font-weight:400}.session-setup{display:grid;gap:12px}.session-setup .field-row{display:flex;flex-wrap:wrap;gap:10px}.session-setup .field-row>*{flex:1 1 160px}.coverage-list,.room-checklist{display:grid;gap:2px;margin:0;padding:0;list-style:none}.coverage-list li{display:flex;gap:8px;align-items:baseline;padding:7px 0;border-top:1px solid var(--line);font-size:13px}.coverage-list li .faint,.room-check .faint{margin-left:auto;font-size:12px}.coverage-list li.due strong{color:var(--warn)}.room-check{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:8px 10px;border-radius:var(--r-2);text-align:left;font-size:14px}.room-check:hover,.room-check:focus-visible{background:var(--bg-3);outline:none}.room-check .box{display:grid;place-items:center;flex:none;width:20px;height:20px;border:1.5px solid var(--line-strong, var(--text-3));border-radius:5px}.room-check.on .box{background:var(--accent);border-color:var(--accent);color:#fff}.room-check.on strong{text-decoration:line-through;color:var(--text-3)}.session-plan{position:relative;height:min(52vh,420px);border-radius:var(--r-2);overflow:hidden;background:#fff;border:1px solid var(--line)}.session-plan>*{position:absolute;top:0;right:0;bottom:0;left:0}.session-room circle{fill:#78788240;stroke:#6b7280;stroke-width:1.5}.session-room.due circle{fill:#d9770647;stroke:#d97706}.session-room.covered circle{fill:#16a34a4d;stroke:#16a34a}.session-room text{fill:#111;font-size:11px;font-weight:600}.session-guide ol{margin:8px 0 0;padding-left:20px;display:grid;gap:6px;font-size:13.5px;line-height:1.5}.session-start{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.session-note{font-size:12px}.integrations{display:grid;gap:20px;max-width:820px}.integrations h2{display:flex;align-items:center;gap:8px;margin:0 0 6px;font-size:14px}.integrations p.faint{font-size:12.5px;line-height:1.5}.hook-list{display:grid;gap:2px;margin:10px 0;padding:0;list-style:none}.hook-list>li{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 0;border-top:1px solid var(--line)}.hook-list>li>div{display:grid;gap:2px;flex:1 1 260px;min-width:0}.hook-list .mono,.secret-once code{overflow-wrap:anywhere;font-size:12px}.hook-list .faint{font-size:12px}.hook-form{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.hook-form .input{flex:1 1 280px}.hook-form .checks{display:flex;flex-wrap:wrap;gap:6px 14px;width:100%;margin:0;padding:0;border:0;font-size:12.5px}.hook-form .checks label,.toggle{display:inline-flex;align-items:center;gap:6px;font-size:12.5px}.secret-once{display:flex;flex-wrap:wrap;align-items:center;gap:8px;width:100%;padding:8px 10px;border-radius:var(--r-2);background:var(--bg-3);font-size:12.5px}.delivery-log{width:100%;font-size:12px;border-collapse:collapse}.delivery-log td{padding:3px 8px 3px 0;border-top:1px solid var(--line)}.schedule{display:grid;gap:22px;max-width:900px}.schedule h2{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-size:14px}.plan-list{display:grid;margin:0;padding:0;list-style:none}.plan{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line);font-size:13px}.plan>div{display:grid;gap:2px}.plan .faint{font-size:12px}.plan-state{font-size:12px;padding:2px 8px;border-radius:999px;background:var(--bg-3);white-space:nowrap}.plan-state.overdue{color:var(--danger);background:var(--danger-soft)}.plan-state.due{color:var(--warn)}.plan-state.done{color:var(--ok, #2f9e6b)}.plan-actions{display:flex}.plan-form{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}.plan-form>.input{flex:1 1 200px}.plan-form .inline{display:inline-flex;align-items:center;gap:6px;font-size:12.5px}.plan-form .input-sm{height:30px;width:auto;max-width:140px}.timelapse-bar,.timelapse-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.timelapse-stage{position:relative;aspect-ratio:3 / 2;margin:10px 0;border-radius:var(--r-2);overflow:hidden;background:var(--stage)}.timelapse-stage img{position:absolute;object-fit:fill;transition:opacity .4s var(--ease)}.timelapse-stage img.pano-flat{top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.timelapse-controls input[type=range]{flex:1;accent-color:var(--accent)}@media(max-width:720px){.plan{grid-template-columns:minmax(0,1fr)}}.offline-banner{display:flex;align-items:center;gap:8px;padding:6px 16px;border-bottom:1px solid var(--line);background:var(--bg-2);color:var(--text-2);font-size:12.5px}.offline-banner.off{color:var(--text);background:color-mix(in srgb,var(--warn) 12%,var(--bg-1))}.offline-banner.off svg{color:var(--warn)}.offline-banner span{flex:1;min-width:0}.modal .offline-dialog{display:grid;gap:18px;padding:4px 20px 20px}.offline-dialog h3{margin:0 0 6px;font-size:13px}.offline-dialog .row-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.offline-dialog .small{font-size:12px}.offline-saved,.outbox{display:grid;gap:2px;margin:0 0 10px;padding:0;list-style:none}.offline-saved li{display:flex;align-items:center;gap:8px;padding:6px 0;border-top:1px solid var(--line)}.offline-saved li>span:first-child{flex:1}.outbox-entry{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line)}.outbox-entry>div{display:grid;gap:2px;flex:1 1 220px;min-width:0}.outbox-entry strong{overflow:hidden;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.outbox-entry img{width:40px;height:40px;border-radius:var(--r-1);object-fit:cover}.outbox-problem{display:flex;align-items:center;gap:5px;color:var(--warn);font-size:12px}.outbox-entry.failed .outbox-problem{color:var(--danger)}.outbox-actions{display:flex;gap:6px}.composer-photos{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.photo-chip{position:relative;width:48px;height:48px}.photo-chip img{width:100%;height:100%;border-radius:var(--r-1);object-fit:cover}.photo-chip button{position:absolute;top:-6px;right:-6px;background:var(--bg-3);border-radius:50%}.note-waiting{color:var(--warn)}.note-waiting.failed{color:var(--danger)}.note.queued{border-style:dashed}.thread-waiting{display:grid;gap:4px;margin:8px 0;padding:0;list-style:none;font-size:13px}.thread-waiting .faint{font-size:12px}.standing-banner{display:flex;align-items:center;gap:8px;padding:6px 16px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--warn) 10%,var(--bg-1));font-size:12.5px}.standing-banner svg{color:var(--warn)}.standing-banner span{flex:1;min-width:0}.standing-banner.expired,.standing-banner.suspended,.standing-banner.cancelled{background:color-mix(in srgb,var(--danger) 10%,var(--bg-1))}.standing-banner.expired svg,.standing-banner.suspended svg,.standing-banner.cancelled svg{color:var(--danger)}.org-setup{display:grid;gap:12px;max-width:420px;margin:8vh auto 0;padding:24px;border:1px solid var(--line);border-radius:var(--r-3);background:var(--bg-1)}.org-setup h2{margin:0;font-size:18px}.org-setup p{margin:0}.page.organization{display:grid;gap:18px;align-content:start}.page.organization .seg{justify-self:start;max-width:100%;overflow-x:auto}.standing-note{margin:0;padding:8px 12px;border-radius:var(--r-2);background:color-mix(in srgb,var(--warn) 12%,var(--bg-1))}.meters{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:8px 0 12px}.meter{display:grid;gap:6px}.meter-head{display:flex;justify-content:space-between;gap:8px;font-size:13px}.meter-head .mono{color:var(--text-2);font-size:12px}.meter-bar{height:6px;overflow:hidden;border-radius:3px;background:var(--bg-3)}.meter-bar span{display:block;height:100%;border-radius:3px;background:var(--accent);transition:width var(--t) var(--ease)}.meter.high .meter-bar span{background:var(--warn)}.inline-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;margin-top:12px}.inline-form .field{flex:1 1 240px}.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:8px 0 12px}.plan-card{display:grid;gap:8px;align-content:start;padding:14px;border:1px solid var(--line);border-radius:var(--r-2)}.plan-card.current{border-color:var(--accent)}.plan-card h3{margin:0;font-size:14px}.plan-card ul{margin:0;padding-left:16px;color:var(--text-2);font-size:13px}.plan-price{margin:0;font-weight:600}.statement{width:100%;margin-top:10px;border-collapse:collapse;font-size:13px}.statement th,.statement td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:left}.statement .total td{font-weight:600}.processing-computers .seg{max-width:420px}.processing-computers h3{margin:18px 0 4px;font-size:13px}.processing-computers .hook-list>li.revoked{opacity:.55}.processing-computers .online-dot{color:var(--ok)}.pairing{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.pairing-steps{margin-top:12px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-2);background:var(--bg-2);font-size:13px}.pairing-steps ol{display:grid;gap:6px;margin:8px 0;padding-left:18px}.pairing-steps code{overflow-wrap:anywhere}.pairing-steps p{margin:0}.model-list{display:grid;gap:14px}.model-card header{display:flex;align-items:center;gap:10px}.model-card header>div{flex:1;min-width:0}.model-card h2{margin:0}.version-list{display:grid;gap:2px;margin:10px 0 0;padding:0;list-style:none}.version-list li{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:7px 0;border-top:1px solid var(--line)}.version-list li>div{display:grid;flex:1 1 240px;gap:2px;min-width:0}.version-list li .faint{font-size:12px}.version-list .pill{padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent);font-size:11.5px}.model-compare{display:grid;grid-template-columns:minmax(300px,360px) 1fr;height:calc(100dvh - var(--topbar-h));min-height:0}.compare-panel{display:grid;align-content:start;gap:14px;padding:14px 16px;overflow-y:auto;border-right:1px solid var(--line);font-size:13px}.compare-selects,.compare-inputs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.compare-selects{grid-template-columns:1fr}.compare-section{display:grid;gap:10px}.compare-section h3{margin:6px 0 0;font-size:12.5px}.compare-actions{display:flex;flex-wrap:wrap;gap:6px}.alignment-state{margin:0;color:var(--text-2)}.alignment-state.inherited{color:var(--warn)}.pair-list{display:grid;gap:2px;margin:0;padding-left:18px;font-size:12px}.pair-list li>*{vertical-align:middle}.picking-hint{margin:0;color:var(--accent)}.compare-stage{position:relative;min-height:0;background:#111317}.compare-stage canvas{display:block}.deviation .legend{display:grid;gap:4px;margin:0;padding:0;list-style:none}.deviation .legend li{display:flex;align-items:center;gap:8px}.deviation .legend i{width:10px;height:10px;border-radius:2px}.deviation .legend .mono{margin-left:auto}.histogram{display:flex;align-items:flex-end;gap:2px;height:56px;margin:6px 0;border-bottom:1px solid var(--line)}.histogram span{flex:1;min-height:1px;border-radius:2px 2px 0 0;background:var(--accent)}.offenders{display:grid;gap:3px;margin:0 0 8px;padding:0;list-style:none}.offenders li{display:flex;justify-content:space-between;gap:8px}.compare-view-options{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding-top:10px;border-top:1px solid var(--line)}@media(max-width:760px){.model-compare{grid-template-columns:1fr;grid-template-rows:55dvh auto;height:auto}.compare-stage{order:-1}.compare-panel{border-right:0}}.accuracy-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.accuracy-card{padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-2);font-size:13px}.accuracy-card.unevaluated{border-color:color-mix(in srgb,var(--warn) 45%,var(--line))}.accuracy-card.meets-targets{border-color:color-mix(in srgb,var(--ok) 50%,var(--line))}.accuracy-card h3{margin:0 0 6px;font-size:13px}.accuracy-card p{margin:0 0 8px;color:var(--text-2)}.accuracy-card dl{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;margin:0}.accuracy-card dt{color:var(--text-3)}.accuracy-card dd{margin:0}.change-run header{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px}.change-run header>div{display:grid;flex:1 1 300px;gap:2px}.change-run h2{margin:0}.change-run .pill{padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--ok) 18%,transparent);color:var(--ok);font-size:11.5px}.flag-list{display:grid;gap:2px;margin:10px 0;padding:0;list-style:none}.flag{display:flex;gap:12px;padding:8px 0;border-top:1px solid var(--line)}.flag.rejected{opacity:.6}.flag-body{display:grid;flex:1;align-content:start;gap:4px;min-width:0;font-size:13px}.flag-body .faint{font-size:12px}.flag-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.change-crop{position:relative;flex:none;width:88px;height:88px;overflow:hidden;border-radius:var(--r-1);background:var(--bg-3)}.change-crop img{position:absolute;max-width:none}.change-crop span{position:absolute;border:2px solid var(--warn);border-radius:2px}.flag.accepted .change-crop span{border-color:var(--ok)}.detect-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}.detect-form .field{flex:0 1 auto}.detect-form .input-sm{width:96px}@media(max-width:520px){.map-layers{right:12px}.map-layers .seg{max-width:100%;overflow-x:auto}.map-layer-tools{flex-wrap:wrap;width:auto;max-width:100%}}@media(max-width:640px){.pagebar-actions{flex:0 1 auto;min-width:0;overflow-x:auto;scrollbar-width:none}.pagebar-actions::-webkit-scrollbar{display:none}.pagebar-actions>*{flex:none}.pagebar-actions select{max-width:128px}}.admin-access-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:7px 24px;font-size:12.5px;color:var(--accent);background:var(--accent-soft);border-bottom:1px solid var(--line)}.admin-access-bar>span{flex:1 1 260px;color:var(--text-2)}.password-form{display:flex;flex-direction:column;gap:14px;max-width:360px}.login-card .password-form{max-width:none;margin-top:16px}.password-form .btn{align-self:flex-start}
