:root{--fs-9: .5625rem;--fs-10: .625rem;--fs-11: .6875rem;--fs-12: .75rem;--fs-13: .8125rem;--fs-14: .875rem;--fs-15: .9375rem;--fs-16: 1rem;--fs-18: 1.125rem;--fs-20: 1.25rem;--fs-24: 1.5rem;--fs-28: 1.75rem;--fs-36: 2.25rem;--fs-80: 5rem;--fs-120: 7.5rem;--fw-light: 300;--fw-regular: 400;--fw-medium: 450;--fw-semibold: 500;--fw-bold: 600;--fw-extrabold: 700;--fw-black: 800;color-scheme:light;--select-popup-bg-rgb: 255 255 255;--select-popup-bg: rgb(var(--select-popup-bg-rgb));--bg-rgb: 244 247 250;--bg: rgb(var(--bg-rgb));--view-bg-rgb: 244 247 250;--view-bg: rgb(var(--view-bg-rgb));--panel-rgb: 255 255 255;--panel: rgb(var(--panel-rgb));--card-rgb: 255 255 255;--card: rgb(var(--card-rgb));--muted-rgb: 238 242 247;--muted: rgb(var(--muted-rgb));--input-bg-rgb: 249 250 251;--input-bg: rgb(var(--input-bg-rgb));--surface-hover-rgb: 241 245 249;--surface-hover: rgb(var(--surface-hover-rgb));--surface-active-rgb: 232 240 254;--surface-active: rgb(var(--surface-active-rgb));--surface-info-rgb: 237 245 255;--surface-info: rgb(var(--surface-info-rgb));--drag-highlight-rgb: 224 242 254;--drag-highlight: rgb(var(--drag-highlight-rgb));--surface-alt-rgb: 253 253 253;--surface-alt: rgb(var(--surface-alt-rgb));--ink-rgb: 45 55 72;--ink: rgb(var(--ink-rgb));--ink-heavy-rgb: 15 23 42;--ink-heavy: rgb(var(--ink-heavy-rgb));--sub-rgb: 90 102 120;--sub: rgb(var(--sub-rgb));--text-tertiary-rgb: 100 116 139;--text-tertiary: rgb(var(--text-tertiary-rgb));--text-muted-rgb: 138 149 165;--text-muted: rgb(var(--text-muted-rgb));--brand-rgb: 66 153 225;--brand: rgb(var(--brand-rgb));--brand-2-rgb: 56 178 172;--brand-2: rgb(var(--brand-2-rgb));--accent-rgb: 59 130 246;--accent: rgb(var(--accent-rgb));--accent-dark-rgb: 43 108 176;--accent-dark: rgb(var(--accent-dark-rgb));--accent-subtle: rgba(59, 130, 246, .1);--purple-rgb: 139 92 246;--purple: rgb(var(--purple-rgb));--cyan-rgb: 6 182 212;--cyan: rgb(var(--cyan-rgb));--warn-rgb: 246 173 85;--warn: rgb(var(--warn-rgb));--priority-fire-rgb: 246 173 85;--priority-fire: rgb(var(--priority-fire-rgb));--danger-rgb: 245 101 101;--danger: rgb(var(--danger-rgb));--ok-rgb: 72 187 120;--ok: rgb(var(--ok-rgb));--grid-rgb: 226 232 240;--grid: rgb(var(--grid-rgb));--border-strong-rgb: 203 213 224;--border-strong: rgb(var(--border-strong-rgb));--shadow: 0 4px 12px rgba(0, 0, 0, .08);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .06);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--overlay: rgba(8, 12, 22, .55);--radius: 12px;--status-todo-bg-rgb: 241 245 249;--status-todo-bg: rgb(var(--status-todo-bg-rgb));--status-todo-ink-rgb: 71 85 105;--status-todo-ink: rgb(var(--status-todo-ink-rgb));--status-today-bg-rgb: 254 243 199;--status-today-bg: rgb(var(--status-today-bg-rgb));--status-today-ink-rgb: 146 64 14;--status-today-ink: rgb(var(--status-today-ink-rgb));--status-in-progress-bg-rgb: 219 234 254;--status-in-progress-bg: rgb(var(--status-in-progress-bg-rgb));--status-in-progress-ink-rgb: 29 78 216;--status-in-progress-ink: rgb(var(--status-in-progress-ink-rgb));--status-done-bg-rgb: 209 250 229;--status-done-bg: rgb(var(--status-done-bg-rgb));--status-done-ink-rgb: 22 101 52;--status-done-ink: rgb(var(--status-done-ink-rgb));--badge-success-bg-rgb: 209 250 229;--badge-success-bg: rgb(var(--badge-success-bg-rgb));--badge-success-ink-rgb: 39 103 73;--badge-success-ink: rgb(var(--badge-success-ink-rgb));--badge-success-border-rgb: 154 230 180;--badge-success-border: rgb(var(--badge-success-border-rgb));--badge-danger-bg-rgb: 254 226 226;--badge-danger-bg: rgb(var(--badge-danger-bg-rgb));--badge-danger-ink-rgb: 153 27 27;--badge-danger-ink: rgb(var(--badge-danger-ink-rgb));--badge-warning-bg-rgb: 254 235 200;--badge-warning-bg: rgb(var(--badge-warning-bg-rgb));--badge-warning-ink-rgb: 156 66 33;--badge-warning-ink: rgb(var(--badge-warning-ink-rgb));--badge-info-bg-rgb: 190 227 248;--badge-info-bg: rgb(var(--badge-info-bg-rgb));--badge-info-ink-rgb: 42 105 172;--badge-info-ink: rgb(var(--badge-info-ink-rgb));--badge-purple-bg-rgb: 243 232 255;--badge-purple-bg: rgb(var(--badge-purple-bg-rgb));--badge-purple-ink-rgb: 124 58 237;--badge-purple-ink: rgb(var(--badge-purple-ink-rgb));--badge-yellow-bg-rgb: 254 252 232;--badge-yellow-bg: rgb(var(--badge-yellow-bg-rgb));--badge-yellow-ink-rgb: 217 119 6;--badge-yellow-ink: rgb(var(--badge-yellow-ink-rgb));--hover-overlay: rgba(0, 0, 0, .05);--active-overlay: rgba(0, 0, 0, .08);--focus-ring: rgba(59, 130, 246, .4);--surface-tinted: color-mix(in srgb, var(--panel) 95%, var(--ink) 5%);--brand-tint-8: color-mix(in srgb, var(--brand) 8%, transparent);--brand-tint-12: color-mix(in srgb, var(--brand) 12%, transparent);--brand-tint-15: color-mix(in srgb, var(--brand) 15%, transparent);--ease-fast: .15s ease;--ease-normal: .2s ease;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-pill: 999px;--on-brand-rgb: 255 255 255;--on-brand: rgb(var(--on-brand-rgb));--button-fill-rgb: 37 99 235;--button-fill: rgb(var(--button-fill-rgb));--control-sm: 28px;--control-md: 32px;--control-lg: 36px;--type-kpi: var(--fs-28);--type-view-title: var(--fs-20);--type-title: var(--fs-16);--type-body: var(--fs-14);--type-cell: var(--fs-13);--type-label: var(--fs-12);--type-count: var(--fs-11);--elev-card: 0 0 0 1px var(--grid), 0 1px 2px rgba(15, 23, 42, .04), 0 12px 32px rgba(15, 23, 42, .05);--elev-menu: 0 0 0 1px var(--grid), 0 12px 32px rgba(0, 0, 0, .12);--elev-window: 0 0 0 1px var(--grid), 0 28px 70px rgba(0, 0, 0, .18);--z-sticky: 10;--z-dropdown: 1001;--z-window: 10100;--z-overlay: 99990;--z-toast: 99999;--z-tooltip: 100002;--text-rgb: var(--ink-rgb);--text: var(--ink);--fg-rgb: var(--ink-rgb);--fg: var(--ink);--border-rgb: var(--grid-rgb);--border: var(--grid);--border-light-rgb: var(--grid-rgb);--border-light: var(--grid);--card-bg-rgb: var(--card-rgb);--card-bg: var(--card);--bg-card-rgb: var(--card-rgb);--bg-card: var(--card);--bg-panel-rgb: var(--panel-rgb);--bg-panel: var(--panel);--surface-rgb: var(--panel-rgb);--surface: var(--panel);--modal-bg-rgb: var(--panel-rgb);--modal-bg: var(--panel);--hover-rgb: var(--surface-hover-rgb);--hover: var(--surface-hover);--hover-bg-rgb: var(--surface-hover-rgb);--hover-bg: var(--surface-hover);--selected-light-rgb: var(--surface-active-rgb);--selected-light: var(--surface-active);--success-rgb: var(--ok-rgb);--success: var(--ok);--good-rgb: var(--ok-rgb);--good: var(--ok);--green-rgb: var(--ok-rgb);--green: var(--ok);--err-rgb: var(--danger-rgb);--err: var(--danger);--warning-rgb: var(--warn-rgb);--warning: var(--warn);--warning-bg-rgb: var(--badge-warning-bg-rgb);--warning-bg: var(--badge-warning-bg);--app-backdrop: none;--surface-material: none;--card-radius: 12px;--card-shadow: var(--shadow);--font-stack: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Inter, Arial}[data-theme=dark]{color-scheme:dark;--select-popup-bg-rgb: 17 19 28;--select-popup-bg: rgb(var(--select-popup-bg-rgb));--bg-rgb: 11 13 18;--bg: rgb(var(--bg-rgb));--view-bg-rgb: 15 17 23;--view-bg: rgb(var(--view-bg-rgb));--panel-rgb: 17 19 28;--panel: rgb(var(--panel-rgb));--card-rgb: 19 21 32;--card: rgb(var(--card-rgb));--muted-rgb: 28 32 48;--muted: rgb(var(--muted-rgb));--input-bg-rgb: var(--view-bg-rgb);--input-bg: var(--view-bg);--surface-hover-rgb: 33 37 54;--surface-hover: rgb(var(--surface-hover-rgb));--surface-active-rgb: 30 58 95;--surface-active: rgb(var(--surface-active-rgb));--surface-info-rgb: 23 33 53;--surface-info: rgb(var(--surface-info-rgb));--drag-highlight-rgb: 30 58 95;--drag-highlight: rgb(var(--drag-highlight-rgb));--surface-alt-rgb: 30 33 48;--surface-alt: rgb(var(--surface-alt-rgb));--ink-rgb: 226 232 240;--ink: rgb(var(--ink-rgb));--ink-heavy-rgb: 241 245 249;--ink-heavy: rgb(var(--ink-heavy-rgb));--sub-rgb: 203 213 225;--sub: rgb(var(--sub-rgb));--text-tertiary-rgb: 139 149 165;--text-tertiary: rgb(var(--text-tertiary-rgb));--text-muted-rgb: 100 116 139;--text-muted: rgb(var(--text-muted-rgb));--brand-rgb: 96 165 250;--brand: rgb(var(--brand-rgb));--brand-2-rgb: 94 234 212;--brand-2: rgb(var(--brand-2-rgb));--accent-rgb: 96 165 250;--accent: rgb(var(--accent-rgb));--accent-dark-rgb: 147 187 252;--accent-dark: rgb(var(--accent-dark-rgb));--accent-subtle: rgba(96, 165, 250, .15);--purple-rgb: 167 139 250;--purple: rgb(var(--purple-rgb));--cyan-rgb: 34 211 238;--cyan: rgb(var(--cyan-rgb));--warn-rgb: 251 191 36;--warn: rgb(var(--warn-rgb));--priority-fire-rgb: 251 191 36;--priority-fire: rgb(var(--priority-fire-rgb));--danger-rgb: 248 113 113;--danger: rgb(var(--danger-rgb));--ok-rgb: 74 222 128;--ok: rgb(var(--ok-rgb));--grid-rgb: 33 37 54;--grid: rgb(var(--grid-rgb));--border-strong-rgb: 42 47 66;--border-strong: rgb(var(--border-strong-rgb));--shadow: 0 4px 12px rgba(0, 0, 0, .3);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .2);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .4);--overlay: rgba(0, 0, 0, .7);--button-fill-rgb: 37 99 235;--button-fill: rgb(var(--button-fill-rgb));--elev-card: 0 0 0 1px var(--grid), 0 18px 40px rgba(0, 0, 0, .35);--elev-menu: 0 0 0 1px var(--border-strong), 0 14px 36px rgba(0, 0, 0, .6);--elev-window: 0 0 0 1px var(--border-strong), 0 30px 80px rgba(0, 0, 0, .7);--status-todo-bg-rgb: 148 163 184;--status-todo-bg: rgba(148, 163, 184, .12);--status-todo-ink-rgb: 203 213 225;--status-todo-ink: rgb(var(--status-todo-ink-rgb));--status-today-bg-rgb: 251 191 36;--status-today-bg: rgba(251, 191, 36, .15);--status-today-ink-rgb: 251 191 36;--status-today-ink: rgb(var(--status-today-ink-rgb));--status-in-progress-bg-rgb: 96 165 250;--status-in-progress-bg: rgba(96, 165, 250, .18);--status-in-progress-ink-rgb: 96 165 250;--status-in-progress-ink: rgb(var(--status-in-progress-ink-rgb));--status-done-bg-rgb: 74 222 128;--status-done-bg: rgba(74, 222, 128, .12);--status-done-ink-rgb: 74 222 128;--status-done-ink: rgb(var(--status-done-ink-rgb));--badge-success-bg-rgb: 5 46 22;--badge-success-bg: rgb(var(--badge-success-bg-rgb));--badge-success-ink-rgb: 74 222 128;--badge-success-ink: rgb(var(--badge-success-ink-rgb));--badge-success-border-rgb: 22 101 52;--badge-success-border: rgb(var(--badge-success-border-rgb));--badge-danger-bg-rgb: 69 10 10;--badge-danger-bg: rgb(var(--badge-danger-bg-rgb));--badge-danger-ink-rgb: 252 165 165;--badge-danger-ink: rgb(var(--badge-danger-ink-rgb));--badge-warning-bg-rgb: 66 32 6;--badge-warning-bg: rgb(var(--badge-warning-bg-rgb));--badge-warning-ink-rgb: 251 191 36;--badge-warning-ink: rgb(var(--badge-warning-ink-rgb));--badge-info-bg-rgb: 23 37 84;--badge-info-bg: rgb(var(--badge-info-bg-rgb));--badge-info-ink-rgb: 96 165 250;--badge-info-ink: rgb(var(--badge-info-ink-rgb));--badge-purple-bg-rgb: 46 16 101;--badge-purple-bg: rgb(var(--badge-purple-bg-rgb));--badge-purple-ink-rgb: 196 181 253;--badge-purple-ink: rgb(var(--badge-purple-ink-rgb));--badge-yellow-bg-rgb: 66 32 6;--badge-yellow-bg: rgb(var(--badge-yellow-bg-rgb));--badge-yellow-ink-rgb: 251 191 36;--badge-yellow-ink: rgb(var(--badge-yellow-ink-rgb));--hover-overlay: rgba(255, 255, 255, .05);--active-overlay: rgba(255, 255, 255, .08);--focus-ring: rgba(96, 165, 250, .4)}:root[data-skin=macos]{--app-backdrop: radial-gradient(ellipse 1320px 1000px at 94% 98%, rgba(255, 166, 84, .3), rgba(255, 166, 84, .1) 42%, transparent 70%), linear-gradient(135deg, #f6f7f9 0%, #e3e5ea 55%, #d2d5db 100%);--surface-material: blur(18px) saturate(1.5);--view-bg: transparent;--bg-rgb: 232 234 238;--bg: rgb(var(--bg-rgb));--panel-rgb: 255 255 255;--panel: rgba(255, 255, 255, .92);--card-rgb: 255 255 255;--card: rgba(255, 255, 255, .9);--muted-rgb: 255 255 255;--muted: rgba(255, 255, 255, .45);--input-bg-rgb: 255 255 255;--input-bg: rgba(255, 255, 255, .55);--grid-rgb: 30 41 59;--grid: rgba(30, 41, 59, .14);--border-strong-rgb: 30 41 59;--border-strong: rgba(30, 41, 59, .25);--card-radius: 14px;--card-shadow: 0 8px 24px rgba(15, 23, 42, .18);--shadow: 0 8px 24px rgba(15, 23, 42, .18)}:root[data-theme=dark][data-skin=macos]{--app-backdrop: radial-gradient(ellipse 1320px 1000px at 94% 98%, rgba(255, 150, 60, .18), rgba(255, 150, 60, .06) 42%, transparent 70%), linear-gradient(135deg, #0b0c0f 0%, #16171b 50%, #212227 100%);--bg-rgb: 20 21 25;--bg: rgb(var(--bg-rgb));--panel-rgb: 21 22 27;--panel: rgba(21, 22, 27, .9);--card-rgb: 42 44 50;--card: rgba(42, 44, 50, .9);--ink-rgb: 242 244 249;--ink: rgb(var(--ink-rgb));--ink-heavy-rgb: 255 255 255;--ink-heavy: rgb(var(--ink-heavy-rgb));--sub-rgb: 217 222 232;--sub: rgb(var(--sub-rgb));--text-tertiary-rgb: 182 189 204;--text-tertiary: rgb(var(--text-tertiary-rgb));--text-muted-rgb: 150 160 178;--text-muted: rgb(var(--text-muted-rgb));--muted-rgb: 255 255 255;--muted: rgba(255, 255, 255, .07);--input-bg-rgb: 14 15 18;--input-bg: rgba(14, 15, 18, .55);--grid-rgb: 255 255 255;--grid: rgba(255, 255, 255, .1);--border-strong-rgb: 255 255 255;--border-strong: rgba(255, 255, 255, .18);--card-shadow: 0 8px 28px rgba(0, 0, 0, .45);--shadow: 0 8px 28px rgba(0, 0, 0, .45)}:root[data-skin=paper]{--app-backdrop: radial-gradient(rgba(120, 100, 60, .045) 1px, transparent 1px), radial-gradient(ellipse 900px 640px at 18% 12%, rgba(140, 118, 72, .055), transparent 62%), radial-gradient(ellipse 760px 540px at 82% 88%, rgba(140, 118, 72, .045), transparent 60%), radial-gradient(ellipse 640px 460px at 65% 30%, rgba(255, 252, 240, .5), transparent 58%);--bg-rgb: 243 236 221;--bg: rgb(var(--bg-rgb));--view-bg-rgb: 243 236 221;--view-bg: rgb(var(--view-bg-rgb));--panel-rgb: 252 249 241;--panel: rgb(var(--panel-rgb));--card-rgb: 254 249 195;--card: rgb(var(--card-rgb));--muted-rgb: 245 239 224;--muted: rgb(var(--muted-rgb));--input-bg-rgb: 250 245 233;--input-bg: rgb(var(--input-bg-rgb));--surface-hover-rgb: 245 238 221;--surface-hover: rgb(var(--surface-hover-rgb));--surface-active-rgb: 238 226 200;--surface-active: rgb(var(--surface-active-rgb));--ink-rgb: 63 54 41;--ink: rgb(var(--ink-rgb));--ink-heavy-rgb: 43 35 23;--ink-heavy: rgb(var(--ink-heavy-rgb));--sub-rgb: 122 111 92;--sub: rgb(var(--sub-rgb));--grid-rgb: 226 216 192;--grid: rgb(var(--grid-rgb));--border-strong-rgb: 207 194 163;--border-strong: rgb(var(--border-strong-rgb));--card-radius: 4px;--card-shadow: 2px 3px 10px rgba(90, 75, 30, .2);--shadow: 0 3px 10px rgba(90, 75, 30, .12);--font-stack: "Segoe Print", "Bradley Hand", "Marker Felt", "Comic Sans MS", cursive}:root[data-theme=dark][data-skin=paper]{--app-backdrop: radial-gradient(rgba(255, 240, 200, .035) 1px, transparent 1px), radial-gradient(ellipse 900px 640px at 18% 12%, rgba(255, 236, 190, .03), transparent 62%), radial-gradient(ellipse 760px 540px at 82% 88%, rgba(255, 236, 190, .025), transparent 60%);--bg-rgb: 43 38 32;--bg: rgb(var(--bg-rgb));--view-bg-rgb: 43 38 32;--view-bg: rgb(var(--view-bg-rgb));--panel-rgb: 53 47 39;--panel: rgb(var(--panel-rgb));--card-rgb: 69 60 45;--card: rgb(var(--card-rgb));--muted-rgb: 61 54 44;--muted: rgb(var(--muted-rgb));--input-bg-rgb: 47 42 34;--input-bg: rgb(var(--input-bg-rgb));--surface-hover-rgb: 61 54 44;--surface-hover: rgb(var(--surface-hover-rgb));--surface-active-rgb: 74 66 52;--surface-active: rgb(var(--surface-active-rgb));--ink-rgb: 232 224 208;--ink: rgb(var(--ink-rgb));--ink-heavy-rgb: 245 239 226;--ink-heavy: rgb(var(--ink-heavy-rgb));--sub-rgb: 168 154 130;--sub: rgb(var(--sub-rgb));--grid-rgb: 74 66 52;--grid: rgb(var(--grid-rgb));--border-strong-rgb: 92 82 69;--border-strong: rgb(var(--border-strong-rgb));--card-shadow: 2px 3px 12px rgba(0, 0, 0, .45);--shadow: 0 3px 12px rgba(0, 0, 0, .35)}:root[data-skin=zen]{--bg-rgb: 242 242 242;--bg: rgb(var(--bg-rgb));--view-bg-rgb: 242 242 242;--view-bg: rgb(var(--view-bg-rgb));--panel-rgb: 255 255 255;--panel: rgb(var(--panel-rgb));--card-rgb: 255 255 255;--card: rgb(var(--card-rgb));--muted-rgb: 234 234 234;--muted: rgb(var(--muted-rgb));--input-bg-rgb: 246 246 246;--input-bg: rgb(var(--input-bg-rgb));--surface-hover-rgb: 240 240 240;--surface-hover: rgb(var(--surface-hover-rgb));--surface-active-rgb: 230 230 230;--surface-active: rgb(var(--surface-active-rgb));--ink-rgb: 23 23 23;--ink: rgb(var(--ink-rgb));--ink-heavy-rgb: 0 0 0;--ink-heavy: rgb(var(--ink-heavy-rgb));--sub-rgb: 115 115 115;--sub: rgb(var(--sub-rgb));--text-tertiary-rgb: 163 163 163;--text-tertiary: rgb(var(--text-tertiary-rgb));--grid-rgb: 229 229 229;--grid: rgb(var(--grid-rgb));--border-strong-rgb: 212 212 212;--border-strong: rgb(var(--border-strong-rgb));--brand-rgb: 17 17 17;--brand: rgb(var(--brand-rgb));--brand-2-rgb: 64 64 64;--brand-2: rgb(var(--brand-2-rgb));--accent-rgb: 17 17 17;--accent: rgb(var(--accent-rgb));--accent-dark-rgb: 0 0 0;--accent-dark: rgb(var(--accent-dark-rgb));--button-fill-rgb: 17 17 17;--button-fill: rgb(var(--button-fill-rgb));--accent-subtle: rgba(0, 0, 0, .05);--purple-rgb: 82 82 82;--purple: rgb(var(--purple-rgb));--cyan-rgb: 115 115 115;--cyan: rgb(var(--cyan-rgb));--warn-rgb: 165 138 74;--warn: rgb(var(--warn-rgb));--danger-rgb: 180 92 92;--danger: rgb(var(--danger-rgb));--ok-rgb: 92 138 106;--ok: rgb(var(--ok-rgb));--status-todo-bg-rgb: 245 245 245;--status-todo-bg: rgb(var(--status-todo-bg-rgb));--status-todo-ink-rgb: 82 82 82;--status-todo-ink: rgb(var(--status-todo-ink-rgb));--status-today-bg-rgb: 232 232 232;--status-today-bg: rgb(var(--status-today-bg-rgb));--status-today-ink-rgb: 23 23 23;--status-today-ink: rgb(var(--status-today-ink-rgb));--status-in-progress-bg-rgb: 224 224 224;--status-in-progress-bg: rgb(var(--status-in-progress-bg-rgb));--status-in-progress-ink-rgb: 17 17 17;--status-in-progress-ink: rgb(var(--status-in-progress-ink-rgb));--status-done-bg-rgb: 240 240 240;--status-done-bg: rgb(var(--status-done-bg-rgb));--status-done-ink-rgb: 115 115 115;--status-done-ink: rgb(var(--status-done-ink-rgb));--card-radius: 10px;--card-shadow: 0 1px 4px rgba(0, 0, 0, .09);--shadow: 0 1px 4px rgba(0, 0, 0, .09);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .1)}:root[data-theme=dark][data-skin=zen]{--bg-rgb: 0 0 0;--bg: rgb(var(--bg-rgb));--view-bg-rgb: 5 5 5;--view-bg: rgb(var(--view-bg-rgb));--panel-rgb: 14 14 14;--panel: rgb(var(--panel-rgb));--card-rgb: 25 25 25;--card: rgb(var(--card-rgb));--muted-rgb: 26 26 26;--muted: rgb(var(--muted-rgb));--input-bg-rgb: 17 17 17;--input-bg: rgb(var(--input-bg-rgb));--surface-hover-rgb: 28 28 28;--surface-hover: rgb(var(--surface-hover-rgb));--surface-active-rgb: 38 38 38;--surface-active: rgb(var(--surface-active-rgb));--ink-rgb: 237 237 237;--ink: rgb(var(--ink-rgb));--ink-heavy-rgb: 255 255 255;--ink-heavy: rgb(var(--ink-heavy-rgb));--sub-rgb: 140 140 140;--sub: rgb(var(--sub-rgb));--text-tertiary-rgb: 107 107 107;--text-tertiary: rgb(var(--text-tertiary-rgb));--grid-rgb: 38 38 38;--grid: rgb(var(--grid-rgb));--border-strong-rgb: 58 58 58;--border-strong: rgb(var(--border-strong-rgb));--brand-rgb: 58 58 58;--brand: rgb(var(--brand-rgb));--brand-2-rgb: 82 82 82;--brand-2: rgb(var(--brand-2-rgb));--accent-rgb: 212 212 212;--accent: rgb(var(--accent-rgb));--accent-dark-rgb: 255 255 255;--accent-dark: rgb(var(--accent-dark-rgb));--button-fill-rgb: 58 58 58;--button-fill: rgb(var(--button-fill-rgb));--accent-subtle: rgba(255, 255, 255, .06);--purple-rgb: 140 140 140;--purple: rgb(var(--purple-rgb));--cyan-rgb: 115 115 115;--cyan: rgb(var(--cyan-rgb));--warn-rgb: 154 138 94;--warn: rgb(var(--warn-rgb));--danger-rgb: 160 106 106;--danger: rgb(var(--danger-rgb));--ok-rgb: 106 138 118;--ok: rgb(var(--ok-rgb));--status-todo-bg-rgb: 26 26 26;--status-todo-bg: rgb(var(--status-todo-bg-rgb));--status-todo-ink-rgb: 140 140 140;--status-todo-ink: rgb(var(--status-todo-ink-rgb));--status-today-bg-rgb: 38 38 38;--status-today-bg: rgb(var(--status-today-bg-rgb));--status-today-ink-rgb: 237 237 237;--status-today-ink: rgb(var(--status-today-ink-rgb));--status-in-progress-bg-rgb: 46 46 46;--status-in-progress-bg: rgb(var(--status-in-progress-bg-rgb));--status-in-progress-ink-rgb: 255 255 255;--status-in-progress-ink: rgb(var(--status-in-progress-ink-rgb));--status-done-bg-rgb: 23 23 23;--status-done-bg: rgb(var(--status-done-bg-rgb));--status-done-ink-rgb: 107 107 107;--status-done-ink: rgb(var(--status-done-ink-rgb));--card-shadow: 0 1px 3px rgba(0, 0, 0, .6);--shadow: 0 1px 3px rgba(0, 0, 0, .6);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .7)}:root[data-skin=studio]{--bg-rgb: 238 240 244;--bg: rgb(var(--bg-rgb));--view-bg-rgb: 238 240 244;--view-bg: rgb(var(--view-bg-rgb));--panel-rgb: 255 255 255;--panel: rgb(var(--panel-rgb));--card-rgb: 255 255 255;--card: rgb(var(--card-rgb));--muted-rgb: 232 234 240;--muted: rgb(var(--muted-rgb));--input-bg-rgb: 244 245 249;--input-bg: rgb(var(--input-bg-rgb));--surface-hover-rgb: 240 242 247;--surface-hover: rgb(var(--surface-hover-rgb));--surface-active-rgb: 228 231 242;--surface-active: rgb(var(--surface-active-rgb));--ink-rgb: 28 33 48;--ink: rgb(var(--ink-rgb));--ink-heavy-rgb: 13 16 32;--ink-heavy: rgb(var(--ink-heavy-rgb));--sub-rgb: 93 100 116;--sub: rgb(var(--sub-rgb));--text-tertiary-rgb: 154 161 178;--text-tertiary: rgb(var(--text-tertiary-rgb));--grid-rgb: 227 230 238;--grid: rgb(var(--grid-rgb));--border-strong-rgb: 201 206 222;--border-strong: rgb(var(--border-strong-rgb));--brand-rgb: 91 91 214;--brand: rgb(var(--brand-rgb));--brand-2-rgb: 139 92 246;--brand-2: rgb(var(--brand-2-rgb));--accent-rgb: 91 91 214;--accent: rgb(var(--accent-rgb));--accent-dark-rgb: 70 70 198;--accent-dark: rgb(var(--accent-dark-rgb));--button-fill-rgb: 91 91 214;--button-fill: rgb(var(--button-fill-rgb));--accent-subtle: rgba(91, 91, 214, .09);--focus-ring: rgba(91, 91, 214, .4);--card-radius: 12px;--card-shadow: 0 1px 2px rgba(23, 26, 45, .06), 0 8px 22px -8px rgba(23, 26, 45, .14);--shadow: 0 1px 2px rgba(23, 26, 45, .06), 0 8px 22px -8px rgba(23, 26, 45, .14);--shadow-lg: 0 16px 48px -12px rgba(23, 26, 45, .22)}:root[data-theme=dark][data-skin=studio]{--bg-rgb: 14 15 20;--bg: rgb(var(--bg-rgb));--view-bg-rgb: 16 18 24;--view-bg: rgb(var(--view-bg-rgb));--panel-rgb: 21 23 33;--panel: rgb(var(--panel-rgb));--card-rgb: 26 28 40;--card: rgb(var(--card-rgb));--muted-rgb: 32 35 47;--muted: rgb(var(--muted-rgb));--input-bg-rgb: 18 20 29;--input-bg: rgb(var(--input-bg-rgb));--surface-hover-rgb: 34 37 52;--surface-hover: rgb(var(--surface-hover-rgb));--surface-active-rgb: 42 46 66;--surface-active: rgb(var(--surface-active-rgb));--ink-rgb: 230 232 240;--ink: rgb(var(--ink-rgb));--ink-heavy-rgb: 247 248 252;--ink-heavy: rgb(var(--ink-heavy-rgb));--sub-rgb: 146 152 171;--sub: rgb(var(--sub-rgb));--text-tertiary-rgb: 107 113 134;--text-tertiary: rgb(var(--text-tertiary-rgb));--grid-rgb: 38 42 58;--grid: rgb(var(--grid-rgb));--border-strong-rgb: 54 59 82;--border-strong: rgb(var(--border-strong-rgb));--brand-rgb: 124 127 242;--brand: rgb(var(--brand-rgb));--brand-2-rgb: 167 139 250;--brand-2: rgb(var(--brand-2-rgb));--accent-rgb: 138 141 246;--accent: rgb(var(--accent-rgb));--accent-dark-rgb: 185 187 250;--accent-dark: rgb(var(--accent-dark-rgb));--button-fill-rgb: 79 70 229;--button-fill: rgb(var(--button-fill-rgb));--accent-subtle: rgba(124, 127, 242, .14);--focus-ring: rgba(124, 127, 242, .45);--card-shadow: inset 0 1px 0 rgba(255, 255, 255, .05), 0 10px 28px -10px rgba(0, 0, 0, .6);--shadow: inset 0 1px 0 rgba(255, 255, 255, .05), 0 10px 28px -10px rgba(0, 0, 0, .6);--shadow-lg: 0 20px 60px -16px rgba(0, 0, 0, .7)}:root[data-skin=mono]{--bg-rgb: 255 255 255;--bg: rgb(var(--bg-rgb));--view-bg-rgb: 255 255 255;--view-bg: rgb(var(--view-bg-rgb));--panel-rgb: 255 255 255;--panel: rgb(var(--panel-rgb));--card-rgb: 255 255 255;--card: rgb(var(--card-rgb));--muted-rgb: 242 242 242;--muted: rgb(var(--muted-rgb));--input-bg-rgb: 250 250 250;--input-bg: rgb(var(--input-bg-rgb));--surface-hover-rgb: 245 245 245;--surface-hover: rgb(var(--surface-hover-rgb));--surface-active-rgb: 235 235 235;--surface-active: rgb(var(--surface-active-rgb));--surface-info-rgb: 245 245 245;--surface-info: rgb(var(--surface-info-rgb));--surface-alt-rgb: 250 250 250;--surface-alt: rgb(var(--surface-alt-rgb));--drag-highlight-rgb: 230 230 230;--drag-highlight: rgb(var(--drag-highlight-rgb));--ink-rgb: 0 0 0;--ink: rgb(var(--ink-rgb));--ink-heavy-rgb: 0 0 0;--ink-heavy: rgb(var(--ink-heavy-rgb));--sub-rgb: 77 77 77;--sub: rgb(var(--sub-rgb));--text-tertiary-rgb: 115 115 115;--text-tertiary: rgb(var(--text-tertiary-rgb));--text-muted-rgb: 140 140 140;--text-muted: rgb(var(--text-muted-rgb));--grid-rgb: 217 217 217;--grid: rgb(var(--grid-rgb));--border-strong-rgb: 166 166 166;--border-strong: rgb(var(--border-strong-rgb));--brand-rgb: 0 0 0;--brand: rgb(var(--brand-rgb));--brand-2-rgb: 64 64 64;--brand-2: rgb(var(--brand-2-rgb));--accent-rgb: 0 0 0;--accent: rgb(var(--accent-rgb));--accent-dark-rgb: 0 0 0;--accent-dark: rgb(var(--accent-dark-rgb));--button-fill-rgb: 0 0 0;--button-fill: rgb(var(--button-fill-rgb));--accent-subtle: rgba(0, 0, 0, .06);--purple-rgb: 89 89 89;--purple: rgb(var(--purple-rgb));--cyan-rgb: 128 128 128;--cyan: rgb(var(--cyan-rgb));--danger-rgb: 0 0 0;--danger: rgb(var(--danger-rgb));--warn-rgb: 89 89 89;--warn: rgb(var(--warn-rgb));--ok-rgb: 140 140 140;--ok: rgb(var(--ok-rgb));--status-todo-bg-rgb: 245 245 245;--status-todo-bg: rgb(var(--status-todo-bg-rgb));--status-todo-ink-rgb: 89 89 89;--status-todo-ink: rgb(var(--status-todo-ink-rgb));--status-today-bg-rgb: 224 224 224;--status-today-bg: rgb(var(--status-today-bg-rgb));--status-today-ink-rgb: 0 0 0;--status-today-ink: rgb(var(--status-today-ink-rgb));--status-in-progress-bg-rgb: 235 235 235;--status-in-progress-bg: rgb(var(--status-in-progress-bg-rgb));--status-in-progress-ink-rgb: 26 26 26;--status-in-progress-ink: rgb(var(--status-in-progress-ink-rgb));--status-done-bg-rgb: 250 250 250;--status-done-bg: rgb(var(--status-done-bg-rgb));--status-done-ink-rgb: 128 128 128;--status-done-ink: rgb(var(--status-done-ink-rgb));--badge-success-bg-rgb: 245 245 245;--badge-success-bg: rgb(var(--badge-success-bg-rgb));--badge-success-ink-rgb: 89 89 89;--badge-success-ink: rgb(var(--badge-success-ink-rgb));--badge-success-border-rgb: 217 217 217;--badge-success-border: rgb(var(--badge-success-border-rgb));--badge-danger-bg-rgb: 230 230 230;--badge-danger-bg: rgb(var(--badge-danger-bg-rgb));--badge-danger-ink-rgb: 0 0 0;--badge-danger-ink: rgb(var(--badge-danger-ink-rgb));--badge-warning-bg-rgb: 240 240 240;--badge-warning-bg: rgb(var(--badge-warning-bg-rgb));--badge-warning-ink-rgb: 51 51 51;--badge-warning-ink: rgb(var(--badge-warning-ink-rgb));--badge-info-bg-rgb: 242 242 242;--badge-info-bg: rgb(var(--badge-info-bg-rgb));--badge-info-ink-rgb: 64 64 64;--badge-info-ink: rgb(var(--badge-info-ink-rgb));--badge-purple-bg-rgb: 242 242 242;--badge-purple-bg: rgb(var(--badge-purple-bg-rgb));--badge-purple-ink-rgb: 77 77 77;--badge-purple-ink: rgb(var(--badge-purple-ink-rgb));--badge-yellow-bg-rgb: 245 245 245;--badge-yellow-bg: rgb(var(--badge-yellow-bg-rgb));--badge-yellow-ink-rgb: 89 89 89;--badge-yellow-ink: rgb(var(--badge-yellow-ink-rgb));--focus-ring: rgba(0, 0, 0, .35);--hover-overlay: rgba(0, 0, 0, .04);--active-overlay: rgba(0, 0, 0, .08);--card-radius: 4px;--card-shadow: 0 1px 2px rgba(0, 0, 0, .1);--shadow: 0 1px 2px rgba(0, 0, 0, .1);--shadow-sm: 0 1px 1px rgba(0, 0, 0, .08);--shadow-lg: 0 6px 24px rgba(0, 0, 0, .14);--overlay: rgba(0, 0, 0, .55)}:root[data-theme=dark][data-skin=mono]{--bg-rgb: 0 0 0;--bg: rgb(var(--bg-rgb));--view-bg-rgb: 0 0 0;--view-bg: rgb(var(--view-bg-rgb));--panel-rgb: 10 10 10;--panel: rgb(var(--panel-rgb));--card-rgb: 20 20 20;--card: rgb(var(--card-rgb));--muted-rgb: 26 26 26;--muted: rgb(var(--muted-rgb));--input-bg-rgb: 15 15 15;--input-bg: rgb(var(--input-bg-rgb));--surface-hover-rgb: 31 31 31;--surface-hover: rgb(var(--surface-hover-rgb));--surface-active-rgb: 46 46 46;--surface-active: rgb(var(--surface-active-rgb));--surface-info-rgb: 26 26 26;--surface-info: rgb(var(--surface-info-rgb));--surface-alt-rgb: 20 20 20;--surface-alt: rgb(var(--surface-alt-rgb));--drag-highlight-rgb: 46 46 46;--drag-highlight: rgb(var(--drag-highlight-rgb));--ink-rgb: 255 255 255;--ink: rgb(var(--ink-rgb));--ink-heavy-rgb: 255 255 255;--ink-heavy: rgb(var(--ink-heavy-rgb));--sub-rgb: 179 179 179;--sub: rgb(var(--sub-rgb));--text-tertiary-rgb: 128 128 128;--text-tertiary: rgb(var(--text-tertiary-rgb));--text-muted-rgb: 102 102 102;--text-muted: rgb(var(--text-muted-rgb));--grid-rgb: 38 38 38;--grid: rgb(var(--grid-rgb));--border-strong-rgb: 64 64 64;--border-strong: rgb(var(--border-strong-rgb));--brand-rgb: 51 51 51;--brand: rgb(var(--brand-rgb));--brand-2-rgb: 77 77 77;--brand-2: rgb(var(--brand-2-rgb));--accent-rgb: 230 230 230;--accent: rgb(var(--accent-rgb));--accent-dark-rgb: 255 255 255;--accent-dark: rgb(var(--accent-dark-rgb));--button-fill-rgb: 51 51 51;--button-fill: rgb(var(--button-fill-rgb));--accent-subtle: rgba(255, 255, 255, .07);--purple-rgb: 153 153 153;--purple: rgb(var(--purple-rgb));--cyan-rgb: 128 128 128;--cyan: rgb(var(--cyan-rgb));--danger-rgb: 107 107 107;--danger: rgb(var(--danger-rgb));--warn-rgb: 89 89 89;--warn: rgb(var(--warn-rgb));--ok-rgb: 77 77 77;--ok: rgb(var(--ok-rgb));--status-todo-bg-rgb: 26 26 26;--status-todo-bg: rgb(var(--status-todo-bg-rgb));--status-todo-ink-rgb: 140 140 140;--status-todo-ink: rgb(var(--status-todo-ink-rgb));--status-today-bg-rgb: 46 46 46;--status-today-bg: rgb(var(--status-today-bg-rgb));--status-today-ink-rgb: 255 255 255;--status-today-ink: rgb(var(--status-today-ink-rgb));--status-in-progress-bg-rgb: 38 38 38;--status-in-progress-bg: rgb(var(--status-in-progress-bg-rgb));--status-in-progress-ink-rgb: 237 237 237;--status-in-progress-ink: rgb(var(--status-in-progress-ink-rgb));--status-done-bg-rgb: 20 20 20;--status-done-bg: rgb(var(--status-done-bg-rgb));--status-done-ink-rgb: 107 107 107;--status-done-ink: rgb(var(--status-done-ink-rgb));--badge-success-bg-rgb: 23 23 23;--badge-success-bg: rgb(var(--badge-success-bg-rgb));--badge-success-ink-rgb: 140 140 140;--badge-success-ink: rgb(var(--badge-success-ink-rgb));--badge-success-border-rgb: 51 51 51;--badge-success-border: rgb(var(--badge-success-border-rgb));--badge-danger-bg-rgb: 51 51 51;--badge-danger-bg: rgb(var(--badge-danger-bg-rgb));--badge-danger-ink-rgb: 255 255 255;--badge-danger-ink: rgb(var(--badge-danger-ink-rgb));--badge-warning-bg-rgb: 38 38 38;--badge-warning-bg: rgb(var(--badge-warning-bg-rgb));--badge-warning-ink-rgb: 217 217 217;--badge-warning-ink: rgb(var(--badge-warning-ink-rgb));--badge-info-bg-rgb: 31 31 31;--badge-info-bg: rgb(var(--badge-info-bg-rgb));--badge-info-ink-rgb: 191 191 191;--badge-info-ink: rgb(var(--badge-info-ink-rgb));--badge-purple-bg-rgb: 31 31 31;--badge-purple-bg: rgb(var(--badge-purple-bg-rgb));--badge-purple-ink-rgb: 179 179 179;--badge-purple-ink: rgb(var(--badge-purple-ink-rgb));--badge-yellow-bg-rgb: 26 26 26;--badge-yellow-bg: rgb(var(--badge-yellow-bg-rgb));--badge-yellow-ink-rgb: 166 166 166;--badge-yellow-ink: rgb(var(--badge-yellow-ink-rgb));--focus-ring: rgba(255, 255, 255, .4);--hover-overlay: rgba(255, 255, 255, .05);--active-overlay: rgba(255, 255, 255, .09);--card-radius: 4px;--card-shadow: 0 1px 2px rgba(0, 0, 0, .7);--shadow: 0 1px 2px rgba(0, 0, 0, .7);--shadow-sm: 0 1px 1px rgba(0, 0, 0, .6);--shadow-lg: 0 6px 24px rgba(0, 0, 0, .8);--overlay: rgba(0, 0, 0, .8)}:root{--surface: var(--panel);--surface-raised: var(--card);--surface-muted: var(--muted);--surface-sunken: var(--input-bg);--surface-strong: var(--surface-active);--surface-overlay: var(--panel);--text: var(--ink);--text-subtle: var(--text-tertiary);--text-inverse: #ffffff;--border: var(--grid);--border-subtle: var(--grid);--accent: var(--brand);--accent-text: #ffffff;--warning: var(--warn);--shadow-weak: rgba(0, 0, 0, .1);--shadow-color: rgba(0, 0, 0, .2);--text-secondary: var(--sub)}[data-theme=dark]{--shadow-weak: rgba(0, 0, 0, .45);--shadow-color: rgba(0, 0, 0, .65)}:root{--toolbar-height: 113px;--left-panel-width: 300px}body{font-family:Roboto,sans-serif;margin:0;padding:0;overflow:hidden;color:var(--text, #333)}#container{width:100%;height:100vh;position:relative}#canvas-container{position:relative;width:100%;height:100%;background:#fff}canvas{display:block}#top-toolbar{position:absolute;top:0;left:0;right:0;z-index:30;background:linear-gradient(180deg,var(--surface-raised, #f8f8f8) 0%,#ebebeb 100%);border-bottom:1px solid #c0c0c0;display:flex;flex-direction:column;font-family:Segoe UI,Roboto,sans-serif;user-select:none}.ribbon-tabs{display:flex;align-items:center;padding:0 4px;background:var(--surface-strong, #e0e0e0);gap:1px}.ribbon-tabs-status{display:flex;align-items:center;gap:4px;margin-left:auto;padding-right:4px;min-width:0}#status-tool-name{font-size:11px;font-weight:600;color:var(--text, #333);padding:2px 6px;background:#0000000f;border-radius:3px;white-space:nowrap}.status-separator{font-size:10px;color:var(--text-secondary, #888);margin:0 2px}#status-instruction{font-size:11px;color:var(--text-secondary, #555);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#qat-action-label{font-size:10px;color:var(--text-secondary, #777);white-space:nowrap}#qat-ask-btn{display:flex;align-items:center;gap:4px;height:22px;padding:0 10px;border:1px solid var(--border, #c8c8c8);border-radius:4px;background:var(--surface-raised, #f8f8f8);color:var(--text, #333);font-family:inherit;font-size:11px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}#qat-ask-btn:hover{background:#fff;border-color:#89b4fa}#qat-ask-btn .ask-glyph{color:#4a7fd4}.ribbon-tab{background:transparent;border:none;padding:6px 14px;font-size:12px;font-weight:500;color:var(--text-secondary, #555);cursor:pointer;border-radius:4px 4px 0 0;transition:all .15s;position:relative;flex-shrink:0}.ribbon-tab:hover{background:#fff9;color:#222}.ribbon-tab.active{background:var(--surface-raised, #f8f8f8);color:var(--text, #333);font-weight:600;box-shadow:0 -1px #f8f8f8}#ribbon-tools .sketch-ctx{display:none}#ribbon-tools.wall-drawing .ribbon-group.wall-draw-ctx{display:flex}#ribbon-tools.wall-drawing .ribbon-separator.wall-draw-ctx{display:block}#ribbon-tools.wall-drawing #sketch-pick-btn{display:none}#ribbon-tools.wall-drawing .wall-draw-ctx svg [stroke="#c516c5"]{stroke:currentColor}#ribbon-tools.wall-drawing .wall-draw-ctx svg [fill="#c516c5"]{fill:currentColor}#modify-context-hint{align-self:center;max-width:310px;margin:0 10px;color:var(--text-secondary,#555);font-size:11px;line-height:1.5}#modify-context-hint[hidden]{display:none}#ribbon-tools.sketch-active .ribbon-group.sketch-ctx{display:flex}#ribbon-tools.sketch-active .ribbon-separator.sketch-ctx{display:block}#ribbon-tools.sketch-active .ribbon-group.sketch-ctx{background:linear-gradient(#f2f9f2,#e3f1e3);border-radius:4px}#modify-ribbon-tab.sketch-active{background:#b8dcb8;color:#155724;font-weight:600}.ribbon-tool.sketch-finish:hover{background:#2e9e4426}.ribbon-tool.sketch-cancel:hover{background:#d6454526}.ribbon-panels{height:80px;padding:2px 8px 1px}.ribbon-panel{display:none;align-items:stretch;gap:2px}.ribbon-panel.active{display:flex}.ribbon-separator{width:1px;background:#d0d0d0;margin:2px 6px;align-self:stretch}.ribbon-separator-thin{width:1px;height:36px;background:var(--surface-strong, #ddd);margin:0 4px;align-self:center}.ribbon-group{display:flex;flex-direction:column;align-items:center;padding:0 4px;max-height:100%;position:relative}.ribbon-group-tools{display:flex;gap:2px;align-items:flex-start;flex:1}.ribbon-group-label{font-size:10px;color:var(--text-subtle, #888);text-align:center;padding:0 4px;white-space:nowrap;border-top:1px solid var(--border-subtle, #e0e0e0);width:100%;margin-top:1px}.ribbon-tool{display:flex;flex-direction:column;align-items:center;gap:1px;padding:2px 6px;background:transparent;border:1px solid transparent;border-radius:3px;cursor:pointer;color:var(--text, #444);transition:all .12s;min-width:38px;font-size:10px}.ribbon-tool svg{width:20px;height:20px;flex-shrink:0}.ribbon-tool span{white-space:nowrap;line-height:1.1}.ribbon-tool:hover{background:#4a90e21a;border-color:#4a90e24d;color:#222}.ribbon-dropdown{position:relative}.ribbon-dropdown-menu{display:none;position:absolute;top:100%;left:0;z-index:9500;min-width:132px;background:var(--surface, #fff);border:1px solid #cfcfcf;border-radius:4px;box-shadow:0 6px 20px #0000002e;padding:3px}.ribbon-dropdown.open .ribbon-dropdown-menu{display:block}.ribbon-dropdown-menu .ribbon-tool{flex-direction:row;justify-content:flex-start;gap:8px;width:100%;min-width:0;padding:4px 8px;font-size:11px}.ribbon-dropdown-menu .ribbon-tool:hover{background:#e8f0fb}.ribbon-tool.active,.ribbon-tool:active{background:#4a90e22e;border-color:var(--accent, #4a90e2);color:#1a65b0}.ribbon-tool-danger{color:#c62828}.ribbon-tool-danger:hover{background:#c628281a;border-color:#c628284d}.ribbon-tool-dropdown{position:relative;display:inline-block}.ribbon-dropdown-menu{display:none;position:absolute;top:100%;left:0;background:#fff;min-width:140px;box-shadow:0 4px 12px var(--shadow-weak, rgba(0, 0, 0, .15));border:1px solid var(--border, #ddd);border-radius:4px;z-index:1000;padding:4px}.ribbon-dropdown-menu.show{display:flex;flex-direction:column}.ribbon-dropdown-menu button{display:flex;align-items:center;gap:8px;background:transparent;border:none;width:100%;padding:8px;text-align:left;cursor:pointer;font-size:12px;border-radius:4px;color:var(--text, #444)}.ribbon-dropdown-menu button:hover{background:var(--surface-sunken, #f0f0f0);color:#000}.ribbon-group-compact{flex-direction:column;gap:1px;justify-content:center;padding:1px 4px}.ribbon-checkbox{display:flex;align-items:center;gap:3px;font-size:10px;color:var(--text-secondary, #555);cursor:pointer;white-space:nowrap;line-height:1}.ribbon-checkbox input[type=checkbox]{margin:0;cursor:pointer}.ribbon-select{padding:3px 6px;border:1px solid var(--border-strong, #ccc);border-radius:3px;font-size:11px;background:#fff;min-width:100px;cursor:pointer}.ribbon-input-row{display:flex;align-items:center;gap:3px;font-size:10px;color:var(--text-secondary, #555);line-height:1}.ribbon-input-sm{width:50px;padding:2px 4px;border:1px solid var(--border-strong, #ccc);border-radius:3px;font-size:11px}.dropdown-menu{display:none}.dropdown-menu.visible{display:block}#history-log{max-height:200px;overflow-y:auto;font-size:13px}.history-item{padding:4px 0;border-bottom:1px solid var(--border-subtle, #f0f0f0)}.history-item:last-child{border-bottom:none}.tool-btn{padding:6px 10px;background-color:var(--surface-muted, #f5f5f5);border:1px solid var(--border, #ddd);border-radius:4px;cursor:pointer;font-size:13px;transition:background-color .15s}.tool-btn:hover{background-color:var(--surface-strong, #e0e0e0)}.tool-btn.active{background-color:var(--accent, #4a90e2);color:#fff;border-color:var(--accent, #4a90e2)}#schedule-container{position:fixed;top:var(--toolbar-height);left:0;right:0;bottom:0;background:var(--surface-muted, #f5f5f5);z-index:50;overflow:auto;padding:20px}#schedule-container .schedule-close-btn{position:absolute;top:10px;right:20px;background:#e74c3c;color:#fff;border:none;border-radius:4px;padding:6px 16px;font-size:13px;cursor:pointer;z-index:51}#schedule-container .schedule-close-btn:hover{background:#c0392b}.view-dropdown{position:absolute;z-index:16;flex-direction:column;min-width:180px;background:#1e1e1eeb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.12);border-radius:6px;padding:4px 0;box-shadow:0 8px 24px #0006;animation:viewDropdownIn .12s ease-out}@keyframes viewDropdownIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.view-dropdown button{display:flex;align-items:center;gap:8px;width:100%;padding:8px 14px;background:none;border:none;color:#e0e0e0;font-size:13px;font-family:inherit;text-align:left;cursor:pointer;transition:background-color .1s}.view-dropdown button:hover{background-color:#ffffff1a;color:var(--text-inverse, #ffffff)}.view-dropdown hr{border:none;border-top:1px solid rgba(255,255,255,.1);margin:4px 0}#properties-panel{position:fixed;top:var(--toolbar-height);left:0;width:var(--left-panel-width, 300px);height:calc(100vh - var(--toolbar-height));background-color:var(--surface-overlay, rgba(255, 255, 255, .95));border-right:1px solid var(--border, #ddd);box-shadow:2px 0 10px var(--shadow-weak, rgba(0, 0, 0, .1));z-index:20;display:flex;flex-direction:column;overflow:hidden}#properties-panel.visible{left:0}#properties-panel.properties-collapsed>.properties-header,#properties-panel.properties-collapsed>.properties-content{display:none!important}#properties-panel.properties-collapsed>#view-browser{flex:1;max-height:none}.properties-header{padding:4px 8px;border-bottom:1px solid var(--border, #ddd);font-size:14px;font-weight:600;color:var(--text, #333);text-align:left;background:var(--surface-strong, #eaeaea)}.properties-content{padding:6px 8px;overflow-y:auto;flex-grow:1}.properties-section{margin-bottom:10px;display:none}.properties-section h3{margin-top:0;margin-bottom:6px;border-bottom:1px solid var(--border-subtle, #eee);padding-bottom:3px;font-size:13px;font-weight:700;color:var(--text, #333);text-align:left}.properties-section .row{display:grid;grid-template-columns:1fr 1fr;gap:4px 8px;align-items:center;margin-bottom:4px}.properties-section label,.properties-section span{font-size:12px;color:var(--text-secondary, #555)}.properties-section input,.properties-section select{width:100%;padding:4px;border-radius:3px;border:1px solid var(--border-strong, #ccc);font-size:13px;box-sizing:border-box}.properties-section input[type=checkbox]{width:auto;justify-self:start}#asset-preview-container{width:100%;height:150px;background-color:var(--surface-strong, #e0e0e0);border-radius:5px;margin-bottom:15px}.level-list-item{display:flex;justify-content:space-between;padding:.3rem 0;border-bottom:1px solid var(--border, #ddd)}#context-menu{position:absolute;display:none;background-color:#fff;border-radius:5px;box-shadow:0 2px 10px var(--shadow-color, rgba(0, 0, 0, .2));padding:8px 0;z-index:1000}.context-menu-item{padding:8px 16px;cursor:pointer;font-size:14px}.context-menu-item:hover{background-color:var(--surface-sunken, #f0f0f0)}#selection-box{position:absolute;background-color:#4a90e233;border:1px solid var(--accent, #4a90e2);display:none;z-index:1000;pointer-events:none}#landscape-ui{position:absolute;top:80px;left:20px;background:var(--surface-overlay, rgba(255, 255, 255, .95));padding:0;border-radius:8px;box-shadow:0 4px 12px var(--shadow-color, rgba(0, 0, 0, .2));width:280px;z-index:2000;display:none;flex-direction:column;max-height:calc(100vh - 100px)}.landscape-header{background:var(--surface-muted, #f5f5f5);color:var(--text-primary, #273344);padding:10px;font-weight:500;font-size:14px;border-top-left-radius:8px;border-top-right-radius:8px;display:flex;justify-content:space-between;align-items:center;cursor:grab}.landscape-header:active{cursor:grabbing}#landscape-close-btn{background:none;border:none;color:inherit;font-size:18px;cursor:pointer;line-height:1;padding:0 5px}#landscape-close-btn:hover{color:#fcc}.landscape-tabs{display:flex;border-bottom:1px solid var(--border, #ddd)}#landscape-ui [hidden]{display:none!important}#landscape-ui input[type=range]{width:100px;accent-color:var(--accent, #4a90e2)}#landscape-ui output{color:var(--text-secondary, #697586);font-size:10px;margin-left:4px}.landscape-brush-modes{display:flex;gap:3px;padding:3px;background:var(--surface-muted, #edf1f5);border-radius:7px}.landscape-brush-modes button{flex:1;border:0;border-radius:5px;background:transparent;padding:6px;color:var(--text-secondary, #657184);cursor:pointer}.landscape-brush-modes button[aria-pressed=true]{background:var(--surface-overlay, #fff);color:var(--text-primary, #273344);box-shadow:0 1px 3px #0002}.landscape-brush-modes button:focus-visible,.landscape-secondary:focus-visible{outline:2px solid var(--accent, #4a90e2);outline-offset:2px}.landscape-secondary{width:100%;margin-top:8px;padding:7px 5px;border:1px solid var(--border, #dce2e9);border-radius:5px;background:transparent;color:var(--text-secondary, #536277);font-size:11px;cursor:pointer}.landscape-secondary:hover{background:var(--surface-muted, #f2f5f8)}.landscape-hint{margin:2px 0 0;padding-top:10px;border-top:1px solid var(--border, #e0e5eb);color:var(--text-secondary, #697586);font-size:11px;line-height:1.5}.landscape-tab{flex:1;padding:10px;text-align:center;cursor:pointer;font-weight:500;color:var(--text-secondary, #666);font-size:13px;background:var(--surface-muted, #f5f5f5)}.landscape-tab.active{background:#fff;color:var(--accent, #4a90e2);border-bottom:2px solid var(--accent, #4a90e2)}.landscape-panel{padding:15px;display:none;flex-direction:column;gap:10px;min-height:0;overflow-y:auto}#landscape-mix-controls input{padding:4px 6px;border:1px solid var(--border, #dce2e9);border-radius:4px;background:var(--surface, #fff);color:inherit}#landscape-mix-controls summary{cursor:pointer;font-size:12px;padding:6px 0}.landscape-panel.active{display:flex}#landscape-ui .row{display:flex;justify-content:space-between;align-items:center;font-size:13px;margin-bottom:5px}#landscape-ui select,#landscape-ui input[type=range]{width:140px;padding:4px;border-radius:4px;border:1px solid var(--border-strong, #ccc)}#landscape-ui label{font-weight:500}.ai-prompt-bar{visibility:hidden;position:fixed;bottom:-100px;opacity:0;pointer-events:none;left:50%;transform:translate(-50%);width:90%;max-width:600px;background:#18181bf2;backdrop-filter:blur(10px);border:1px solid #3f3f46;border-radius:8px;padding:12px;z-index:4000;transition:bottom .3s cubic-bezier(.175,.885,.32,1.275),opacity .3s;box-shadow:0 10px 30px #00000080}.ai-prompt-bar.visible{visibility:visible;bottom:30px;opacity:1;pointer-events:auto}.ai-prompt-inner{display:flex;flex-direction:column;gap:10px}#aiPromptInput{width:100%;background:transparent;border:none;color:#fff;font-size:16px;outline:none;font-family:Inter,sans-serif}.ai-controls{display:flex;justify-content:space-between;align-items:center;color:#a1a1aa;font-size:12px}#ai-canvas-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1000}#aiGenerateBtn{background:linear-gradient(135deg,#eab308,#f59e0b);color:#000;font-weight:700;border:none;border-radius:4px;padding:8px 16px;cursor:pointer;font-family:Inter,sans-serif;transition:transform .1s}#aiGenerateBtn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #eab3084d}#aiGenerateBtn:active:not(:disabled){transform:translateY(1px)}#aiGenerateBtn:disabled{background:#52525b;color:#a1a1aa;cursor:not-allowed}#aiCancelBtn{border:none;border-radius:4px;padding:8px 16px;cursor:pointer;color:#fff;font-weight:700}.ai-modal{display:none;position:fixed;inset:0;background:#000c;z-index:5000;justify-content:center;align-items:center}.ai-modal.show{display:flex}.ai-modal-content{background:#27272a;border:1px solid #3f3f46;border-radius:8px;padding:20px;width:80%;max-width:500px;color:#fff;box-shadow:0 20px 50px #00000080}.ai-modal-content h3{margin-top:0;color:var(--warning, #eab308);margin-bottom:10px}.ai-progress-text{background:#18181b;border:1px solid #3f3f46;border-radius:4px;padding:12px;height:150px;overflow-y:auto;font-family:monospace;font-size:13px;color:#a1a1aa;white-space:pre-wrap}#ai-canvas-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:15}#view-browser{display:flex;flex-direction:column;flex-grow:1;background:var(--surface-muted, #f5f5f5);border-top:2px solid var(--border-strong, #ccc);font-size:13px;overflow-y:auto;min-height:200px}.vb-header{padding:8px 12px;font-weight:600;font-size:13px;border-bottom:1px solid var(--border, #ddd);background:var(--surface-sunken, #eee);display:flex;justify-content:space-between;align-items:center}.vb-header button{background:none;border:none;font-size:18px;cursor:pointer;color:var(--text-secondary, #666);padding:0 4px}.vb-section{border-bottom:1px solid var(--border-subtle, #e0e0e0)}.vb-section-header{padding:6px 12px;font-weight:600;font-size:12px;text-transform:uppercase;color:var(--text-secondary, #666);background:var(--surface-strong, #eaeaea);cursor:pointer;display:flex;justify-content:space-between;align-items:center;user-select:none}.vb-section-header:hover{background:var(--surface-strong, #e0e0e0)}.vb-section-header .vb-toggle{font-size:10px;transition:transform .2s}.vb-section.collapsed .vb-section-content,.vb-section.collapsed>.vb-add-btn{display:none}.vb-section.collapsed .vb-toggle{transform:rotate(-90deg)}.vb-view-item{padding:5px 12px 5px 24px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-subtle, #f0f0f0)}.vb-view-item:hover{background:#e8f0fe}.vb-view-item.active{background:#d2e3fc;font-weight:600}.vb-view-item .vb-view-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vb-view-item .vb-view-scale{font-size:11px;color:var(--text-subtle, #888);margin-left:8px}.vb-view-item .vb-view-delete{opacity:0;background:none;border:none;color:var(--text-subtle, #999);cursor:pointer;font-size:14px;padding:0 4px;margin-left:4px}.vb-view-item:hover .vb-view-delete{opacity:1}.vb-view-item .vb-view-delete:hover{color:#e53e3e}.vb-add-btn{padding:4px 8px;font-size:11px;background:var(--accent, #4a90e2);color:#fff;border:none;border-radius:3px;cursor:pointer;margin:6px 12px}.vb-add-btn:hover{background:#357abd}.vb-sheet-item{padding:5px 12px 5px 24px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-subtle, #f0f0f0)}.vb-sheet-item:hover{background:#e8f0fe}.vb-sheet-item.active{background:#d2e3fc;font-weight:600}.vb-sheet-item .vb-sheet-name{flex:1}.vb-sheet-item .vb-sheet-delete{opacity:0;background:none;border:none;color:var(--text-subtle, #999);cursor:pointer;font-size:14px;padding:0 4px}.vb-sheet-item:hover .vb-sheet-delete{opacity:1}#sheet-editor{display:none;position:fixed;top:var(--toolbar-height);left:300px;right:0;bottom:0;z-index:18;background:#d0d0d0}#sheet-editor.visible{display:block}#sheet-editor canvas{width:100%;height:100%;cursor:grab}#sheet-editor canvas:active{cursor:grabbing}.sheet-toolbar{position:absolute;top:8px;left:50%;transform:translate(-50%);display:flex;gap:4px;background:var(--surface-overlay, rgba(255, 255, 255, .95));padding:4px 8px;border-radius:6px;box-shadow:0 2px 8px var(--shadow-weak, rgba(0,0,0,.15));z-index:5;font-size:12px;align-items:center}.sheet-toolbar button{background:var(--surface-sunken, #f0f0f0);border:1px solid var(--border-strong, #ccc);padding:4px 10px;border-radius:4px;cursor:pointer;font-size:12px}.sheet-toolbar button:hover{background:var(--surface-strong, #e0e0e0)}.sheet-toolbar button.active{background:var(--accent, #4a90e2);color:#fff;border-color:#357abd}.sheet-toolbar select{padding:3px 6px;font-size:12px;border:1px solid var(--border-strong, #ccc);border-radius:4px}.sheet-info-bar{position:absolute;bottom:8px;left:50%;transform:translate(-50%);background:#ffffffe6;padding:4px 12px;border-radius:4px;font-size:11px;color:var(--text-secondary, #666);z-index:5}#elevation-modal{display:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;padding:20px;border-radius:8px;box-shadow:0 4px 20px #0000004d;z-index:3000;min-width:300px}#elevation-modal h3{margin-top:0;border-bottom:1px solid var(--border-subtle, #eee);padding-bottom:10px}#elevation-modal .row{display:flex;align-items:center;gap:10px;margin-bottom:10px}#elevation-modal .row label{min-width:80px;font-size:13px}#elevation-modal .row input,#elevation-modal .row select{flex:1;padding:4px 8px;border:1px solid var(--border-strong, #ccc);border-radius:4px}#elevation-modal .modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:15px}@media print{body *{visibility:hidden}#print-container,#print-container *{visibility:visible}#print-container{position:absolute;left:0;top:0;width:100%}@page{margin:0}}#bottom-right-filters{position:fixed;bottom:34px;right:12px;z-index:50;font-family:Segoe UI,Roboto,sans-serif;display:flex;flex-direction:row;align-items:flex-end;gap:8px}#selection-filter,#visibility-filter{display:flex;flex-direction:column;align-items:flex-end;gap:6px}#sf-trigger{display:flex;align-items:center;gap:6px;padding:5px 10px;background:var(--surface-overlay, rgba(255, 255, 255, .95));backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--border, #ddd);border-radius:6px;font-family:inherit;font-size:11px;font-weight:600;color:var(--text-secondary, #555);cursor:pointer;box-shadow:0 2px 10px var(--shadow-weak, rgba(0, 0, 0, .1));transition:border-color .15s,color .15s,background .15s;white-space:nowrap;user-select:none}#sf-trigger:hover{color:var(--text, #333);border-color:var(--border-strong, #bbb)}#selection-filter.sf-open #sf-trigger{border-color:var(--accent, #4a90e2);color:var(--accent, #4a90e2)}.sf-trigger-icon{font-size:13px;line-height:1}.sf-caret{font-size:9px;color:var(--text-subtle, #888);transition:transform .15s}#selection-filter.sf-open .sf-caret{transform:rotate(180deg)}.sf-count{padding:1px 6px;border-radius:9px;background:var(--accent, #4a90e2);color:var(--accent-text, #fff);font-size:10px;font-weight:700;line-height:1.5}#selection-filter.sf-filtered #sf-trigger{border-color:var(--accent, #4a90e2)}#sf-menu{width:280px;max-height:60vh;overflow-y:auto;padding:8px;background:var(--surface-overlay, rgba(255, 255, 255, .97));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border, #ddd);border-radius:8px;box-shadow:0 6px 24px var(--shadow-color, rgba(0, 0, 0, .2))}#sf-menu[hidden]{display:none}#sf-menu-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 4px 8px;border-bottom:1px solid var(--border-subtle, #eee);margin-bottom:6px;font-size:10px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;color:var(--text-subtle, #888)}#sf-quick-actions{display:flex;gap:4px}.sf-quick-btn{padding:2px 8px;background:var(--surface, #fff);border:1px solid var(--border-strong, #d0d0d0);border-radius:4px;font-size:10px;font-weight:600;color:var(--text-secondary, #555);cursor:pointer;transition:all .12s;font-family:inherit;text-transform:none;letter-spacing:0}.sf-quick-btn:hover{border-color:var(--accent, #4a90e2);color:var(--accent, #4a90e2)}#sf-categories{display:grid;grid-template-columns:1fr 1fr;gap:1px 4px}.sf-category{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:4px;cursor:pointer;user-select:none;transition:background .12s}.sf-category:hover{background:var(--surface-sunken, #f0f0f0)}.sf-checkbox{width:13px;height:13px;margin:0;cursor:pointer;accent-color:var(--accent, #4a90e2);flex-shrink:0}.sf-icon{font-size:12px;line-height:1;flex-shrink:0;width:14px;text-align:center}.sf-label{font-size:11px;font-weight:500;color:var(--text-secondary, #555);line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sf-disabled .sf-label,.sf-disabled .sf-icon{color:var(--text-subtle, #999);opacity:.65}#vf-trigger{display:flex;align-items:center;gap:6px;padding:5px 10px;background:var(--surface-overlay, rgba(255, 255, 255, .95));backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--border, #ddd);border-radius:6px;font-family:inherit;font-size:11px;font-weight:600;color:var(--text-secondary, #555);cursor:pointer;box-shadow:0 2px 10px var(--shadow-weak, rgba(0, 0, 0, .1));transition:border-color .15s,color .15s,background .15s;white-space:nowrap;user-select:none}#vf-trigger:hover{color:var(--text, #333);border-color:var(--border-strong, #bbb)}#visibility-filter.vf-open #vf-trigger{border-color:var(--accent, #4a90e2);color:var(--accent, #4a90e2)}.vf-trigger-icon{font-size:13px;line-height:1}#visibility-filter.vf-open .sf-caret{transform:rotate(180deg)}#visibility-filter.vf-filtered #vf-trigger{border-color:var(--accent, #4a90e2)}#vf-menu{width:280px;max-height:60vh;overflow-y:auto;padding:8px;background:var(--surface-overlay, rgba(255, 255, 255, .97));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border, #ddd);border-radius:8px;box-shadow:0 6px 24px var(--shadow-color, rgba(0, 0, 0, .2))}#vf-menu[hidden]{display:none}.vf-isolation-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:4px 2px 10px}.vf-isolation-actions button,#temporary-isolation-reset{min-height:42px;padding:7px 10px;background:var(--surface, #fff);color:var(--text, #222);border:1px solid var(--border, #ccc);border-radius:6px;cursor:pointer;font:inherit}.vf-isolation-actions button:disabled{opacity:.5;cursor:default}#vf-isolation-message{grid-column:1 / -1;margin:0;font-size:11px;color:var(--text, #222)}#vf-isolation-message:empty{display:none}#temporary-isolation-status{position:absolute;top:calc(var(--toolbar-height, 113px) + 64px);left:50%;transform:translate(-50%);z-index:30;display:flex;align-items:center;gap:12px;padding:5px 8px 5px 12px;max-width:calc(100% - 24px);background:var(--surface-overlay, #fff);color:var(--text, #222);border:2px solid var(--accent, #4a90e2);border-radius:8px;box-shadow:0 3px 14px var(--shadow-color, #0002);font-size:12px}#temporary-isolation-status[hidden]{display:none}#visibility-filter.vf-isolated #vf-trigger{border:2px solid var(--accent, #4a90e2)}#vf-menu-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 4px 8px;border-bottom:1px solid var(--border-subtle, #eee);margin-bottom:6px;font-size:10px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;color:var(--text-subtle, #888)}#vf-quick-actions{display:flex;gap:4px}#vf-categories{display:grid;grid-template-columns:1fr 1fr;gap:1px 4px}.vf-category{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:4px;cursor:pointer;user-select:none;transition:background .12s}.vf-category:hover{background:var(--surface-sunken, #f0f0f0)}.vf-bulb{font-size:13px;line-height:1;width:16px;text-align:center;flex-shrink:0;transition:filter .12s,opacity .12s}.vf-off .vf-bulb{filter:grayscale(1);opacity:.35}.vf-off .sf-label,.vf-off .sf-icon{color:var(--text-subtle, #999);opacity:.65}#viewport-hud{position:absolute;top:calc(var(--toolbar-height) + 12px);right:14px;z-index:15;display:flex;flex-direction:column;align-items:flex-end;gap:10px;font-family:Segoe UI,Roboto,sans-serif;pointer-events:none}#viewport-hud>*{pointer-events:auto}#viewport-hud[hidden]{display:none}#viewport-hud:has(#visual-style-menu.vs-open){z-index:2001}#hud-style-row{display:flex;align-items:center;gap:8px}.hud-pill{display:flex;align-items:center;gap:6px;padding:5px 10px;background:var(--surface-overlay, rgba(255, 255, 255, .95));backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--border, #ddd);border-radius:6px;font-family:inherit;font-size:11px;font-weight:600;color:var(--text-secondary, #555);cursor:pointer;box-shadow:0 2px 10px var(--shadow-weak, rgba(0, 0, 0, .1));transition:border-color .15s,color .15s;white-space:nowrap;user-select:none}.hud-pill:hover{color:var(--text, #333);border-color:var(--border-strong, #bbb)}.hud-pill svg{display:block}#visual-style-menu{position:relative}#visual-style-menu.vs-open{z-index:1}#vs-trigger{display:flex;align-items:center;gap:6px;padding:5px 10px;background:var(--surface-overlay, rgba(255, 255, 255, .95));backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--border, #ddd);border-radius:6px;font-family:inherit;font-size:11px;font-weight:600;color:var(--text-secondary, #555);cursor:pointer;box-shadow:0 2px 10px var(--shadow-weak, rgba(0, 0, 0, .1));transition:border-color .15s,color .15s;white-space:nowrap;user-select:none;min-width:150px}#vs-trigger:hover{color:var(--text, #333);border-color:var(--border-strong, #bbb)}#visual-style-menu.vs-open #vs-trigger{border-color:var(--accent, #4a90e2);color:var(--accent, #4a90e2)}.vs-trigger-icon{display:flex;align-items:center;color:currentColor}.vs-trigger-icon svg{display:block}#vs-trigger-label{flex:1;text-align:left}.vs-caret{font-size:9px;color:var(--text-subtle, #888);transition:transform .15s}#visual-style-menu.vs-open .vs-caret{transform:rotate(180deg)}#vs-menu{position:absolute;top:calc(100% + 6px);right:0;width:210px;box-sizing:border-box;max-height:max(44px,calc(100dvh - var(--toolbar-height, 180px) - 120px));overflow-y:auto;overscroll-behavior:contain;padding:6px;background:var(--surface-overlay, rgba(255, 255, 255, .97));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border, #ddd);border-radius:8px;box-shadow:0 6px 24px var(--shadow-color, rgba(0, 0, 0, .2))}#vs-menu[hidden]{display:none}@media(pointer:coarse){#vs-menu .vs-option{min-height:44px}}.vs-menu-section{padding:4px 6px;font-size:9px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--text-subtle, #888)}.vs-menu-section+.vs-menu-section{border-top:1px solid var(--border-subtle, #eee);margin-top:4px;padding-top:8px}.vs-option{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;background:none;border:none;border-radius:5px;font-family:inherit;font-size:11.5px;font-weight:500;color:var(--text, #333);cursor:pointer;text-align:left;transition:background .12s}.vs-option:hover{background:var(--surface-sunken, #f0f0f0)}.vs-option.active{background:var(--accent, #4a90e2);color:var(--accent-text, #fff)}.vs-option svg{flex-shrink:0}.vs-option-check{margin-left:auto;font-size:11px;opacity:0}.vs-option.active .vs-option-check{opacity:1}#view-cube{position:relative;width:96px;height:96px;display:flex;align-items:center;justify-content:center;user-select:none}#view-cube[hidden]{display:none}#view-cube-stage{width:100%;height:100%;perspective:340px;display:flex;align-items:center;justify-content:center}#view-cube-box{position:relative;width:52px;height:52px;transform-style:preserve-3d}.vc-face{position:absolute;top:0;left:0;width:52px;height:52px;display:grid;grid-template-columns:11px 1fr 11px;grid-template-rows:11px 1fr 11px;box-sizing:border-box;border:1px solid var(--border-strong, #b9c2cc);background:var(--surface-overlay, rgba(255, 255, 255, .92));color:var(--text-secondary, #555);font-size:11px;font-weight:700;letter-spacing:.5px;cursor:pointer;backface-visibility:hidden;transition:background .12s,color .12s}.vc-region{appearance:none;padding:0;margin:0;min-width:0;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;cursor:pointer;backface-visibility:hidden}.vc-region:hover,.vc-region:focus-visible{background:var(--accent, #4a90e2);color:var(--accent-text, #fff);outline:none}.vc-face.vc-facing{color:var(--accent, #4a90e2);border-color:var(--accent, #4a90e2)}#view-cube-home{position:absolute;bottom:-2px;right:-2px;width:20px;height:20px;padding:0;display:flex;align-items:center;justify-content:center;background:var(--surface-overlay, rgba(255, 255, 255, .95));border:1px solid var(--border, #ddd);border-radius:4px;font-size:12px;line-height:1;color:var(--text-secondary, #555);cursor:pointer;box-shadow:0 1px 6px var(--shadow-weak, rgba(0, 0, 0, .1));transition:color .12s,border-color .12s}#view-cube-home:hover{color:var(--accent, #4a90e2);border-color:var(--accent, #4a90e2)}#underlay-panel{position:fixed;top:calc(var(--toolbar-height) + 16px);right:130px;z-index:9000;width:268px;max-height:60vh;overflow-y:auto;background:var(--surface-overlay, rgba(255, 255, 255, .97));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--text, #333);border:1px solid var(--border, #ddd);border-radius:8px;box-shadow:0 6px 24px var(--shadow-color, rgba(0, 0, 0, .2));font:12px/1.4 Segoe UI,Roboto,system-ui,sans-serif}#underlay-panel[hidden]{display:none}.ulp-header{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--surface-muted, #f5f5f5);border-bottom:1px solid var(--border, #ddd);border-radius:8px 8px 0 0}.ulp-header strong{flex:1;font-size:12px}.ulp-close{background:none;border:none;color:var(--text-subtle, #888);cursor:pointer;font-size:16px;line-height:1;padding:0 2px}.ulp-close:hover{color:var(--text, #333)}.ulp-empty{padding:14px 12px;color:var(--text-subtle, #888);font-size:11px}.ulp-row{padding:8px 10px;border-top:1px solid var(--border-subtle, #eee);display:flex;flex-direction:column;gap:6px}.ulp-row:first-child{border-top:none}.ulp-row-top{display:flex;align-items:center;gap:8px}.ulp-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.ulp-icon-btn{background:none;border:none;color:var(--text-secondary, #555);cursor:pointer;font-size:14px;line-height:1;padding:0 2px}.ulp-icon-btn:hover{color:var(--accent, #4a90e2)}.ulp-remove:hover{color:var(--danger, #dc2626)}.ulp-row-fields{display:flex;align-items:center;gap:6px}.ulp-field{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--text-subtle, #888);white-space:nowrap}.ulp-opacity{gap:6px}.ulp-opacity input{flex:1;accent-color:var(--accent, #4a90e2)}.ulp-select,.ulp-input{background:var(--surface, #fff);color:var(--text, #333);border:1px solid var(--border-strong, #ccc);border-radius:4px;padding:2px 4px;font:inherit;font-size:11px}.ulp-select{flex:1;min-width:0}.ulp-input{width:54px}#family-editor-banner{position:absolute;top:var(--toolbar-height);left:310px;z-index:200;display:flex;align-items:center;gap:10px;padding:6px 14px;background:linear-gradient(135deg,#f5a623,#f7b731);color:var(--text-inverse, #fff);font-size:12px;font-weight:500;border-radius:8px;box-shadow:0 3px 12px #f5a62359;font-family:Segoe UI,Roboto,sans-serif}.fe-banner-left{display:flex;align-items:center;gap:8px}.fe-banner-icon{font-size:14px}.fe-family-name{font-weight:700;font-size:13px}.fe-banner-right{display:flex;gap:6px}.fe-btn{padding:4px 10px;border:none;border-radius:4px;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit}.fe-btn-primary{background:var(--surface-overlay, rgba(255,255,255,.95));color:#d48806;border:1px solid rgba(255,255,255,.6)}.fe-btn-primary:hover{background:var(--surface, #fff);box-shadow:0 2px 6px var(--shadow-weak, rgba(0,0,0,.15))}.fe-btn-secondary{background:#fff3;color:var(--text-inverse, #fff);border:1px solid rgba(255,255,255,.4)}.fe-btn-secondary:hover{background:#ffffff59}.fe-btn-small{padding:4px 10px;font-size:11px;background:var(--surface-sunken, #f0f0f0);color:var(--text-secondary, #555);border:1px solid var(--border, #ddd);width:100%;margin-top:6px}.fe-btn-small:hover{background:#e4e4e4}#fe-params-container{padding:0}.fe-panel-header{font-size:11px;font-weight:700;text-transform:uppercase;color:var(--text-subtle, #888);letter-spacing:.6px;margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid #e8e8e8}.fe-divider{border:none;border-top:1px solid var(--border-subtle, #e0e0e0);margin:12px 0}.fe-param-row{display:flex;align-items:center;gap:4px;margin-bottom:4px}.fe-param-name{flex:1;min-width:0;padding:3px 6px;border:1px solid var(--border, #ddd);border-radius:3px;font-size:11px;background:var(--surface, #fff)}.fe-param-value{width:55px;padding:3px 4px;border:1px solid var(--border, #ddd);border-radius:3px;font-size:11px;text-align:right;background:var(--surface, #fff)}.fe-param-delete{background:none;border:none;color:#ccc;cursor:pointer;font-size:13px;padding:0 2px;line-height:1}.fe-param-delete:hover{color:#e74c3c}.fe-type-row{background:var(--surface, #fff);border:1px solid #e8e8e8;border-radius:4px;padding:6px 8px;margin-bottom:6px}.fe-type-header{display:flex;align-items:center;gap:4px;margin-bottom:4px}.fe-type-name{flex:1;padding:2px 5px;border:1px solid var(--border, #ddd);border-radius:3px;font-size:11px;font-weight:600;background:#fafafa}.fe-type-delete{background:none;border:none;color:#ccc;cursor:pointer;font-size:12px;padding:0 2px}.fe-type-delete:hover{color:#e74c3c}.fe-type-values{display:flex;flex-wrap:wrap;gap:4px}.fe-type-values label{font-size:10px;color:var(--text-subtle, #888);display:flex;align-items:center;gap:3px}.fe-type-value{width:45px;padding:2px 3px;border:1px solid var(--border, #ddd);border-radius:3px;font-size:10px;text-align:right}select.fe-param-value{width:124px;max-width:58%;text-align:left}.fe-type-values label:has(select.fe-type-value){flex:1 1 100%;justify-content:space-between}select.fe-type-value{width:124px;max-width:65%;text-align:left}body.family-editor-mode #properties-panel .properties-content{padding-bottom:calc(var(--kaoli-account-bar-h, 44px) + 12px);scroll-padding-bottom:calc(var(--kaoli-account-bar-h, 44px) + 12px)}#family-editor-parts{position:fixed;top:var(--toolbar-height);right:0;width:280px;height:calc(100vh - var(--toolbar-height));background-color:var(--surface-overlay, rgba(255, 255, 255, .95));border-left:1px solid var(--border, #ddd);box-shadow:-2px 0 10px var(--shadow-weak, rgba(0, 0, 0, .1));z-index:20;overflow-y:auto;padding:0;font-family:Segoe UI,Roboto,sans-serif;font-size:12px}#family-editor-parts .fe-parts-header{padding:10px;border-bottom:1px solid var(--border, #ddd);font-size:16px;font-weight:600;color:var(--text, #333);text-align:center;background:var(--surface-strong, #eaeaea)}#family-editor-parts .fe-parts-content{padding:15px}#fe-part-properties h4{margin:0 0 8px;font-size:13px;color:var(--text, #333)}.fe-no-selection{color:var(--text-subtle, #aaa);font-style:italic;font-size:11px;text-align:center;padding:20px 0}.fe-prop-section{margin-bottom:10px}.fe-prop-section h5{margin:0 0 4px;font-size:10px;font-weight:700;text-transform:uppercase;color:var(--text-subtle, #999);letter-spacing:.5px}.fe-prop-field{display:flex;align-items:center;justify-content:space-between;margin-bottom:3px}.fe-prop-field label{font-size:11px;color:var(--text-secondary, #666);min-width:50px}.fe-prop-input-group{flex:1;margin-left:8px}.fe-part-input{width:100%;padding:3px 5px;border:1px solid var(--border, #ddd);border-radius:3px;font-size:11px;background:var(--surface, #fff);box-sizing:border-box}.fe-part-input:focus{border-color:#f5a623;outline:none;box-shadow:0 0 0 2px #f5a62326}.fe-part-name{width:100%;padding:3px 5px;border:1px solid var(--border, #ddd);border-radius:3px;font-size:12px;font-weight:600;box-sizing:border-box}.fe-part-color{width:100%;height:24px;border:1px solid var(--border, #ddd);border-radius:3px;cursor:pointer;padding:1px}.fe-delete-part-btn{width:100%;padding:6px;margin-top:12px;background:#fff0f0;color:#c0392b;border:1px solid #f5c6cb;border-radius:4px;font-size:11px;cursor:pointer;transition:background .15s}.fe-delete-part-btn:hover{background:#fde2e2}.fe-toolbar-group{display:flex;align-items:center;gap:6px}.fe-toolbar-label{font-size:10px;font-weight:600;text-transform:uppercase;color:var(--text-subtle, #888);letter-spacing:.4px;margin-right:2px}.fe-toolbar-sep{width:1px;height:24px;background:#ccc}.fe-tool-btn{padding:4px 10px;background:var(--surface, #fff);border:1px solid var(--border-strong, #ccc);border-radius:3px;font-size:11px;cursor:pointer;transition:all .12s;color:var(--text, #444);font-family:inherit}.fe-tool-btn:hover{background:#e8f4fd;border-color:var(--accent, #4a90e2);color:#2c6fbb}.fe-tool-btn.active{background:var(--accent, #4a90e2);color:var(--text-inverse, #fff);border-color:#357abd}body.family-editor-mode .ribbon-group[data-fe-hide]{display:none!important}body.family-editor-mode .ribbon-group[data-fe-hide]+.ribbon-separator{display:none!important}body.family-editor-mode .ribbon-tab[data-fe-hide],body.family-editor-mode .ribbon-panel .ribbon-group[data-fe-hide]{display:none!important}#bottom-status-bar{position:fixed;bottom:0;left:var(--left-panel-width, 300px);right:0;height:28px;background:#2a2a2a;border-top:1px solid #444;display:flex;align-items:center;padding:0 12px;z-index:9000;font-size:12px;color:#ccc;gap:16px;user-select:none}.status-item{position:relative;cursor:pointer;padding:2px 8px;border-radius:3px;transition:background .15s}.status-item:hover{background:#3a3a3a}.scale-dropdown{position:absolute;bottom:100%;left:0;background:#2a2a2a;border:1px solid #555;border-radius:6px;padding:4px 0;min-width:160px;box-shadow:0 -4px 16px #0006;margin-bottom:4px}.scale-dropdown.hidden{display:none}.scale-option{padding:6px 12px;cursor:pointer;color:#ddd;font-size:12px;transition:background .1s}.scale-option:hover{background:#4a6fa5;color:var(--text-inverse, #fff)}.scale-option.active{background:#3a5a8a;color:var(--text-inverse, #fff);font-weight:700}#align-options-bar{position:fixed;top:calc(var(--toolbar-height, 113px) + 12px);left:calc(var(--left-panel-width, 300px) + 12px);z-index:1100;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--border, #d0d0d0);border-radius:8px;background:var(--surface, #fff);color:var(--text, #333);box-shadow:0 2px 10px #0001;font-size:12px}#align-options-bar label{display:flex;align-items:center;gap:5px}#align-options-bar select{background:var(--surface,#fff);color:inherit;border:1px solid var(--border,#ccc);border-radius:4px;padding:3px 6px}.paste-ribbon-menu{position:fixed;inset:auto;margin:0;padding:6px;width:min(340px,calc(100vw - 16px));box-sizing:border-box;max-height:calc(100dvh - 16px);overflow:auto;background:#fff;color:#253344;border:1px solid #d9e1e8;border-radius:10px;box-shadow:0 12px 34px #14273b2b;font:13px/1.4 system-ui,sans-serif}.paste-ribbon-menu button{display:block;width:100%;min-height:54px;padding:10px;border:0;border-radius:6px;background:transparent;color:inherit;text-align:left;cursor:pointer;font:inherit}.paste-ribbon-menu button:not(:disabled):hover,.paste-ribbon-menu button:focus-visible{background:#eef5fc;outline:2px solid #4a90e2;outline-offset:-2px}.paste-ribbon-menu button:disabled{opacity:.42;cursor:default}.paste-command-title{display:flex;justify-content:space-between;align-items:center;gap:10px;font-weight:600}.paste-command-title kbd{font:10px system-ui,sans-serif;color:#607184;white-space:nowrap}.paste-ribbon-menu small{display:block;margin-top:3px;color:#607184;font-size:11px}.paste-menu-note{margin:6px 4px 0;padding:9px 6px 4px;border-top:1px solid #e7ecf1;color:#607184;font-size:11px}body.workspace-shell{--workspace-radius:8px;font-family:Segoe UI,system-ui,sans-serif}.workspace-shell #top-toolbar{background:var(--surface,#fff);max-width:100vw;box-sizing:border-box}#workspace-header{display:flex;align-items:center;gap:12px;min-width:0;padding:7px 12px;border-bottom:1px solid var(--border,#dce2e9)}.workspace-identity{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.workspace-identity strong{font-size:13px;font-weight:650}.workspace-identity span{font-size:11px;color:var(--text-secondary,#617080)}.workspace-identity>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#workspace-header button,#workspace-navigation button,#workspace-navigation select,#workspace-context button,#workspace-panel-close,.workspace-popover button{box-sizing:border-box;font:12px Segoe UI,sans-serif;min-height:32px;border:1px solid var(--border,#dce2e9);border-radius:var(--workspace-radius,8px);padding:6px 12px;color:var(--text,#24343c);background:var(--surface,#fff);cursor:pointer}#workspace-header button:hover,#workspace-navigation button:hover,#workspace-context button:hover,.workspace-popover button:hover{background:var(--surface-hover,#edf3fa)}.workspace-shell button:focus-visible,.workspace-shell select:focus-visible,.workspace-shell [tabindex]:focus-visible{outline:2px solid var(--accent,#2563eb);outline-offset:2px}#workspace-header button:disabled,#workspace-context button:disabled{opacity:.4;cursor:default}.workspace-history,.workspace-save-group{display:flex;gap:3px;flex-shrink:0}.workspace-history button{display:grid;place-items:center}#workspace-header #workspace-save{background:var(--button-fill,#2563eb);color:var(--on-brand,#fff);border-color:transparent;font-weight:600}#workspace-save-status{border:0!important;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary,#617080)!important}#workspace-save-status[data-state=dirty]:before{content:"● ";color:#b17c19}#workspace-save-status[data-state=error]{color:var(--danger,#b42318)!important}#workspace-navigation{display:flex;align-items:center;gap:6px;padding:5px 12px;border-bottom:1px solid var(--border,#dce2e9)}#workspace-navigation select{display:none}#workspace-navigation{position:absolute;right:0;top:var(--workspace-header-height,49px);padding:2px 8px;background:var(--surface,#fff);z-index:1}#workspace-navigation button{min-height:26px;padding:3px 10px}.workspace-shell .ribbon-tabs{padding:0 245px 0 6px;min-width:0;flex-wrap:wrap;overflow-x:hidden;background:var(--surface,#fff)}.workspace-shell .ribbon-tab{padding:8px 11px;font-size:13px;color:var(--sub,var(--text-secondary,#536273))}.workspace-shell .ribbon-tab.active{color:var(--accent,#2563eb);background:var(--surface-hover,#edf3fa);box-shadow:none}.workspace-shell .ribbon-panels{display:none;height:auto;max-height:min(200px,35dvh);padding:4px 8px;min-width:0;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin}.workspace-shell.workspace-tools-open .ribbon-panels{display:block}.workspace-shell .ribbon-tool{min-height:52px;min-width:44px;padding:5px 8px;gap:4px;font-size:12px;border-radius:6px}.workspace-shell .ribbon-tool svg{width:24px;height:24px}.workspace-shell .ribbon-tool:hover{background:var(--surface-strong);color:var(--text);border-color:var(--border)}.workspace-shell .ribbon-tool.active{background:var(--surface-strong);color:var(--text);border-color:var(--accent)}.workspace-shell .ribbon-separator{background:var(--border);margin:0 4px}.workspace-shell .ribbon-group-label{font-size:11px;color:var(--text-secondary)}.workspace-shell #bottom-status-bar{background:var(--surface);color:var(--text);border-top:1px solid var(--border)}.workspace-shell #bottom-status-bar .status-item{color:var(--text)}.workspace-shell .ribbon-panel{width:auto;min-width:0;flex-wrap:wrap;row-gap:6px}.workspace-shell .ribbon-group{flex-shrink:0;max-width:100%;max-height:none;box-sizing:border-box}.workspace-shell .ribbon-group-tools{flex-wrap:wrap;max-width:100%}.workspace-shell .ribbon-dropdown-menu{border-radius:10px;padding:6px;background:var(--surface,#fff);color:var(--text,#24343c);border:1px solid var(--border,#dce2e9);box-shadow:0 10px 32px #1324362b}.workspace-shell .ribbon-dropdown-menu .ribbon-tool{flex-direction:row;justify-content:flex-start;min-height:36px;width:100%;gap:10px;padding:7px 10px;text-align:left;white-space:nowrap}.workspace-shell .ribbon-dropdown-menu .ribbon-tool svg{width:20px;height:20px;flex-shrink:0}.workspace-shell .ribbon-category-caret{font-size:10px;color:var(--text-secondary,#617080)}.workspace-shell .ribbon-dropdown-trigger[aria-expanded=true]{background:var(--surface-strong,#edf3fa);border-color:var(--accent,#2563eb)}.workspace-shell .ribbon-settings-menu{width:340px}.workspace-shell .ribbon-settings-fields{display:flex;flex-direction:column;gap:12px;padding:10px;font-size:12px}.workspace-shell .ribbon-settings-fields .ribbon-input-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;height:auto}.workspace-shell .ribbon-settings-fields input[type=range]{min-width:90px;flex:1}.workspace-shell .ribbon-settings-fields label{font-size:12px}.workspace-shell .ribbon-settings-fields select{max-width:100%;min-height:32px}.workspace-shell .ribbon-group:has(>.ribbon-group-tools>.ribbon-dropdown:only-child)>.ribbon-group-label,.workspace-shell .ribbon-group:has(>.ribbon-group-compact>.ribbon-dropdown:only-child)>.ribbon-group-label{display:none}.workspace-shell .ribbon-group-label{margin:2px 0}.workspace-shell #modify-context-hint,.workspace-shell #undo-redo-indicator{display:none!important}.workspace-shell #workspace-phase-prompt{flex:1;min-width:0;font-size:12px;line-height:15px;color:var(--text,#24343c)}.workspace-shell #workspace-phase-prompt[hidden],.workspace-shell #bottom-status-bar.has-phase-prompt #status-coordinates{display:none}@media(max-width:699px){.workspace-shell #bottom-status-bar.has-phase-prompt>:not(#workspace-phase-prompt){display:none}}.workspace-shell #status-tool-name,.workspace-shell #status-instruction,.workspace-shell #qat-action-label,.workspace-shell .status-separator{display:none!important}.workspace-view-open{display:none}#workspace-context{display:flex;align-items:center;gap:12px;min-height:36px;padding:5px 12px;border-top:1px solid var(--border,#dce2e9);background:var(--surface-raised,#f7f9fc);box-sizing:border-box}#workspace-context[hidden]{display:none!important}#workspace-context-help-button,.workspace-label-short{display:none}#workspace-context-help:popover-open{right:auto;max-height:calc(100dvh - 16px)}.workspace-context-copy{flex:1;min-width:0;display:flex;align-items:baseline;gap:12px;font-size:12px;line-height:1.5}.workspace-context-copy strong{white-space:nowrap}#workspace-context-actions{flex-shrink:0}#workspace-context-actions button{white-space:nowrap;flex-shrink:0}#workspace-select-multiple[aria-pressed=true]{color:var(--accent,#2563eb);border-color:var(--accent,#2563eb);background:var(--surface-hover,#edf3fa);box-shadow:inset 0 0 0 1px var(--accent,#2563eb)}.workspace-selection-menu:popover-open{position:fixed;margin:0;right:auto;width:220px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow:auto;box-sizing:border-box}.workspace-selection-menu hr{width:100%;border:0;border-top:1px solid var(--border,#dce2e9)}.workspace-selection-menu .workspace-delete-selection{color:color-mix(in srgb,var(--danger,#b42318),var(--text,#24343c) 40%)}.workspace-context-copy span{color:var(--text-secondary,#536273)}#workspace-context-actions{display:flex;gap:4px;flex-shrink:0}#workspace-context-actions:empty{display:none}#workspace-context button{min-height:28px;padding:3px 9px}#workspace-context button[aria-pressed=true],#workspace-navigation button[aria-expanded=true]{background:var(--surface-hover,#e8f0ff);color:var(--accent,#2563eb);border-color:var(--accent,#2563eb)}.workspace-wall-placement #ribbon-tools>.ribbon-group:not(.wall-draw-ctx),.workspace-wall-placement #ribbon-tools>.ribbon-separator{display:none}.workspace-wall-placement #ribbon-tools>.ribbon-group:has(#smart-snap-checkbox){display:flex}.workspace-popover{position:fixed;inset:64px 12px auto auto;margin:0;width:300px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 88px);overflow:auto;box-sizing:border-box;padding:14px;background:var(--surface,#fff);color:var(--text,#24343c);border:1px solid var(--border,#dce2e9);border-radius:12px;box-shadow:0 12px 40px #13243626;font:13px/1.5 Segoe UI,sans-serif}.workspace-popover:popover-open{display:flex;flex-direction:column;gap:7px}.workspace-popover p{margin:4px 0;font-size:12px;color:var(--text-secondary,#617080);overflow-wrap:anywhere}.workspace-popover strong{margin-top:5px}.workspace-popover button{text-align:left}.workspace-popover .ribbon-tabs-status{flex-direction:column;align-items:stretch;margin:0;padding:0;gap:7px}.workspace-popover #kaoli-account-bar{position:static;min-width:0;max-width:none;box-shadow:none;border:0;border-top:1px solid var(--border,#dce2e9);margin:8px -4px -4px;padding:10px 0 0}.workspace-popover #qat-ask-btn,.workspace-popover #kaoli-connectors-btn{height:auto;min-height:36px}.workspace-shell #properties-panel{width:300px;padding-bottom:0!important}.workspace-shell #properties-panel,.workspace-shell #view-browser{background:var(--surface)}.workspace-shell #properties-panel .properties-header,.workspace-shell .vb-header{background:var(--surface);min-height:36px;box-sizing:border-box;padding:9px 12px;font-size:13px}.workspace-shell .vb-section-header{background:var(--surface);color:var(--text-secondary);min-height:34px;box-sizing:border-box;padding:8px 12px;font-size:11px;letter-spacing:.055em}.workspace-shell .vb-section-header:hover{background:var(--surface-hover,var(--surface-sunken))}.workspace-shell .vb-view-item,.workspace-shell .vb-sheet-item{min-height:34px;box-sizing:border-box;padding:7px 12px 7px 20px;font-size:13px;border-bottom:0;border-left:3px solid transparent}.workspace-shell .vb-view-item:hover,.workspace-shell .vb-sheet-item:hover{background:var(--surface-hover,var(--surface-sunken))}.workspace-shell .vb-view-item.active,.workspace-shell .vb-sheet-item.active{background:var(--surface-strong);color:var(--text);border-left-color:var(--accent)}.workspace-shell .vb-view-item.active .vb-view-elev,.workspace-shell .vb-view-item.active .vb-view-scale{color:var(--text-secondary)}.workspace-shell .vb-view-item:focus-within .vb-view-delete,.workspace-shell .vb-sheet-item:focus-within .vb-sheet-delete{opacity:1}.workspace-shell .vb-section{border-bottom:1px solid var(--border)}.workspace-shell .vb-add-btn{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:6px;min-height:30px;margin:8px 12px}.workspace-shell .vb-add-btn:hover{background:var(--surface-strong)}.workspace-shell .properties-content{padding:12px}.workspace-shell .properties-section input,.workspace-shell .properties-section select{background:var(--surface-sunken);color:var(--text);border:1px solid var(--border);border-radius:6px;min-height:30px}.workspace-shell .properties-section h3{font-size:12px;font-weight:600;padding-bottom:8px;margin-bottom:10px}.workspace-shell #view-browser{padding-bottom:12px!important}.workspace-shell #sheet-editor{left:var(--left-panel-width)}.workspace-shell #sheet-editor>.sheet-toolbar{overflow:visible}.workspace-shell:has(#sheet-editor.visible) #sheet-review-launch{display:none!important}.workspace-shell:has(#pt-sample-overlay[data-active]) #sheet-review-launch{display:none!important}.workspace-shell .sheet-info-bar{background:var(--surface);color:var(--text-secondary);border:1px solid var(--border)}.workspace-shell .sheet-toolbar button,.workspace-shell .sheet-toolbar select{color:var(--text);background:var(--surface);border-color:var(--border)}.sheet-paper-control{display:flex;gap:6px;align-items:center;font-size:12px;white-space:nowrap}.sheet-output-menu{position:relative}.sheet-output-menu summary{list-style:none;cursor:pointer;font-size:12px;padding:6px 10px;border:1px solid var(--border);border-radius:6px;box-sizing:border-box;white-space:nowrap}.sheet-output-menu summary::-webkit-details-marker{display:none}.sheet-output-actions{position:absolute;top:calc(100% + 6px);right:0;display:grid;gap:6px;width:160px;padding:8px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 20px #0003}.sheet-output-actions button{width:100%;min-height:44px;text-align:left}.workspace-shell:has(#sheet-editor.visible) #bottom-right-filters,.workspace-shell:has(#sheet-editor.visible) #viewport-hud,.workspace-shell:has(#sheet-editor.visible) #bottom-status-bar{display:none!important}.workspace-shell #sheet-editor:not(.markup-focus) #review-tools{bottom:calc(40px + env(safe-area-inset-bottom,0px))}.workspace-shell #sheet-editor:not(.markup-focus) #review-hint{bottom:116px}@media(max-width:700px){.workspace-shell #sheet-editor:not(.markup-focus) #review-actions{bottom:calc(106px + env(safe-area-inset-bottom,0px))}}.workspace-shell #sheet-review-launch{top:auto;bottom:100px;right:10px}#workspace-panel-close{display:block;position:absolute;right:7px;top:2px;z-index:2;min-height:24px;padding:2px 7px;font-size:11px}.workspace-shell #properties-panel>.properties-header{padding-right:65px;min-height:22px}.workspace-shell[data-workspace-panel=closed] #properties-panel,#workspace-panel-shade{display:none}#workspace-panel-tabs{display:flex;flex:none;gap:2px;padding:5px 54px 5px 7px;border-bottom:1px solid var(--border);background:var(--surface)}#workspace-panel-tabs [role=tab]{flex:1;min-width:0;min-height:36px;padding:6px 7px;border:0;border-bottom:2px solid transparent;border-radius:5px 5px 0 0;background:transparent;color:var(--text-secondary);font:12px system-ui;cursor:pointer}#workspace-panel-tabs [role=tab][aria-selected=true]{color:var(--text);background:var(--surface-hover);border-bottom-color:var(--accent)}#workspace-panel-tabs [role=tab]:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}#workspace-panel-tabs [hidden],#properties-panel:has(>#workspace-panel-tabs)>[role=tabpanel][hidden],#workspace-edit-readonly[hidden]{display:none!important}.workspace-shell #properties-panel:has(>#workspace-panel-tabs)>.properties-header{display:none!important}.workspace-shell #properties-panel:has(>#workspace-panel-tabs)>[role=tabpanel]:not([hidden]){display:flex!important;flex:1 1 0;flex-direction:column;min-height:0;max-height:none!important;overflow:auto}.workspace-shell #properties-panel:has(>#workspace-panel-tabs)>.properties-content:not([hidden]){display:block!important}#workspace-edit-readonly{flex:none;margin:0;padding:9px 12px;color:var(--text-secondary);font:12px/1.45 system-ui;border-bottom:1px solid var(--border)}#workspace-edit-content{background:var(--surface);color:var(--text)}#workspace-edit-content>[data-workspace-edit-docked]{position:relative!important;inset:auto!important;transform:none!important;width:100%!important;max-width:100%!important;height:auto!important;max-height:none!important;min-height:0!important;margin:0!important;padding:12px!important;flex:none;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important;z-index:auto!important;pointer-events:auto!important;box-sizing:border-box}#workspace-edit-content>[data-workspace-edit-docked]>#precision-profile-panel{border:0;box-shadow:none;padding:0;max-height:none;overflow:visible}#workspace-edit-content>[data-workspace-edit-docked] footer{bottom:0!important;padding-bottom:8px}.workspace-shell.workspace-edit-active #properties-panel{z-index:10520}.workspace-shell.workspace-edit-active #workspace-panel-shade{display:none!important}@media(max-width:1100px),(pointer:coarse){#workspace-panel-tabs [role=tab]{min-height:44px!important}}@media(max-width:699px)and (orientation:portrait){.workspace-shell.workspace-edit-active #properties-panel{top:auto;bottom:34px;width:100%;height:46dvh;border-radius:12px 12px 0 0;box-shadow:0 -6px 20px #0002}}.workspace-shell [data-workspace-dropdown]:popover-open{position:fixed!important;margin:0!important;max-width:calc(100vw - 16px);max-height:calc(100dvh - 24px);overflow:auto;z-index:10000}#workspace-drawings{display:flex;flex-wrap:wrap;align-items:center;min-width:0;border-top:1px solid var(--border,#dce2e9);background:var(--surface,#fff);position:relative}#workspace-drawings #workspace-context{flex-basis:100%}#workspace-search-button{display:flex;flex-shrink:0;align-items:center;gap:8px;min-height:38px;padding:6px 14px;border:0;border-right:1px solid var(--border,#dce2e9);background:transparent;color:var(--text,#24343c);font:12px Segoe UI,sans-serif;cursor:pointer}#workspace-search-button kbd{font:10px Segoe UI,sans-serif;color:var(--text-secondary,#617080);border:1px solid var(--border,#dce2e9);border-radius:4px;padding:2px 4px}#workspace-drawing-tabs{display:flex;min-width:0;flex:1;overflow-x:auto;scrollbar-width:thin}.workspace-drawing-tab{display:flex;flex-shrink:0;align-items:stretch;max-width:260px;border-right:1px solid var(--border,#dce2e9)}.workspace-drawing-tab button{font:12px Segoe UI,sans-serif;color:var(--text-secondary,#617080);background:transparent;border:0;cursor:pointer}.workspace-drawing-tab [role=tab]{padding:9px 10px 9px 14px;max-width:225px;min-width:0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;border-bottom:2px solid transparent}.workspace-drawing-tab:has([aria-selected=true]){background:var(--surface-hover,#edf3fa)}.workspace-drawing-tab [aria-selected=true]{color:var(--accent,#2563eb);border-bottom-color:var(--accent,#2563eb)}.workspace-drawing-tab .workspace-tab-close{min-width:30px;font-size:18px}.workspace-drawing-tab button:hover,#workspace-search-button:hover{background:var(--surface-hover,#edf3fa)}.workspace-drawing-tab .workspace-tab-close:disabled{visibility:hidden}#workspace-navigation-notice{position:absolute;right:8px;top:100%;max-width:min(420px,90vw);padding:12px;border:1px solid var(--border,#dce2e9);border-radius:8px;box-shadow:0 4px 16px #13243624;background:var(--surface,#fff);font:12px/1.5 Segoe UI,sans-serif;z-index:9200}#workspace-search{width:min(620px,calc(100vw - 24px));max-height:calc(100dvh - 40px);box-sizing:border-box;padding:18px;border:1px solid var(--border,#dce2e9);border-radius:16px;background:var(--surface,#fff);color:var(--text,#24343c);box-shadow:0 20px 80px #13243640;font:13px/1.5 Segoe UI,sans-serif;overflow:auto}#workspace-search::backdrop{background:#14223466}#workspace-search header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}#workspace-search h2{margin:0;font-size:16px;font-weight:600}#workspace-search button{font:inherit;border:1px solid var(--border,#dce2e9);border-radius:7px;padding:5px 12px;min-height:32px;color:inherit;background:transparent;cursor:pointer}#workspace-search input{box-sizing:border-box;width:100%;min-height:46px;padding:10px 12px;font:16px Segoe UI,sans-serif;color:inherit;background:var(--surface,#fff);border:1px solid var(--border,#dce2e9);border-radius:8px}#workspace-search nav{display:flex;gap:6px;margin-top:12px}#workspace-search nav [aria-pressed=true]{background:var(--surface-hover,#edf3fa);color:var(--accent,#2563eb);border-color:var(--accent,#2563eb)}#workspace-search-status{font-size:12px;color:var(--text-secondary,#617080);margin:10px 0}#workspace-search-results{overflow-y:auto;max-height:min(440px,45dvh)}.workspace-search-result{border-radius:8px;padding:10px 12px;margin-bottom:3px;cursor:pointer}.workspace-search-result strong{display:block;font-size:13px;font-weight:600;overflow-wrap:anywhere}.workspace-search-result span{display:block;margin-top:2px;font-size:12px;color:var(--text-secondary,#617080)}.workspace-search-result[aria-selected=true],.workspace-search-result:hover{background:var(--surface-hover,#edf3fa);outline:1px solid var(--border,#dce2e9);outline-offset:-1px}.workspace-search-result[aria-disabled=true]{opacity:.55;cursor:default}#workspace-search footer{color:var(--text-secondary,#617080);font-size:11px;padding-top:12px;border-top:1px solid var(--border,#dce2e9)}@media(max-width:1100px),(pointer:coarse){.workspace-shell #sheet-editor>.sheet-toolbar{width:calc(100% - 32px);max-width:640px;box-sizing:border-box;flex-wrap:wrap;gap:6px;overflow:visible;padding:8px;border:1px solid var(--border);border-radius:10px}.workspace-shell .sheet-toolbar>span{display:none}.workspace-shell .sheet-toolbar button,.workspace-shell .sheet-toolbar select,.workspace-shell .sheet-toolbar summary{min-height:44px;font-size:12px;border-radius:6px}.workspace-shell .sheet-toolbar summary{display:flex;align-items:center}.workspace-shell #sheet-close-btn{margin-left:auto}.workspace-shell .sheet-info-bar{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - 24px);box-sizing:border-box}#workspace-search-button{min-width:44px;min-height:44px;padding:10px 13px}#workspace-search-button span,#workspace-search-button kbd{display:none}.workspace-drawing-tab [role=tab]{min-height:44px;max-width:200px}.workspace-drawing-tab .workspace-tab-close{min-width:44px}#workspace-search button{min-height:44px}#workspace-search{padding:14px}#workspace-header{gap:5px;padding:6px 8px;flex-wrap:wrap}.workspace-identity{min-width:80px}#workspace-save-status{order:5;max-width:100%;width:100%;text-align:left;padding:0 4px!important;min-height:24px!important;font-size:11px!important}#workspace-header button,#workspace-navigation button,#workspace-navigation select{min-height:44px;padding:8px 10px}.workspace-history button{min-width:44px;padding:8px!important}#workspace-header .workspace-save-group button:last-child{min-width:36px}#workspace-navigation{position:static;padding:4px 8px;gap:5px}#workspace-navigation select{display:block;min-width:0;flex:1;max-width:45%}#workspace-tools-toggle{display:block}.workspace-shell .ribbon-tabs{display:none}.workspace-shell .ribbon-panels{display:none;height:auto;max-height:130px;padding:6px 8px}.workspace-shell.workspace-tools-open .ribbon-panels{display:block}.workspace-shell .ribbon-tool{min-width:52px;min-height:48px}.workspace-shell .ribbon-small-btn{min-height:36px}#workspace-context{display:block;padding:7px 12px}.workspace-context-copy{display:block;font-size:12px}.workspace-context-copy strong{margin-right:8px}#workspace-context-actions{margin-top:6px;flex-wrap:wrap}#workspace-context button{min-height:44px}.workspace-shell #properties-panel{width:min(350px,calc(100vw - 32px));top:var(--toolbar-height);height:calc(100dvh - var(--toolbar-height));z-index:9101;border-radius:0 12px 0 0;box-shadow:8px 0 32px #13243624}.workspace-shell[data-workspace-panel=properties] #view-browser{display:none!important}.workspace-shell[data-workspace-panel=properties] #properties-panel>.properties-content{display:block!important}.workspace-shell[data-workspace-panel=browser] #properties-panel>.properties-header,.workspace-shell[data-workspace-panel=browser] #properties-panel>.properties-content{display:none!important}.workspace-shell[data-workspace-panel=browser] #view-browser{display:flex!important;min-height:0;max-height:none!important;flex:1}.workspace-shell #properties-panel .properties-header{min-height:38px;box-sizing:border-box;padding:12px}#workspace-panel-close{top:2px;min-height:36px;padding:7px 10px}.workspace-shell .vb-section-header,.workspace-shell .vb-view-item,.workspace-shell .vb-sheet-item{min-height:44px;box-sizing:border-box}.workspace-shell .workspace-view-open{display:block;flex-shrink:0;margin-left:6px;min-height:44px!important;border:1px solid var(--border,#dce2e9);border-radius:8px;background:var(--surface,#fff);color:var(--accent,#2563eb)}.workspace-shell .vb-view-elev{display:none}.workspace-popover button{min-height:44px}.workspace-shell #properties-panel input:not([type=checkbox]),.workspace-shell #properties-panel select,.workspace-shell #properties-panel button:not(#workspace-panel-close){min-height:36px}.workspace-shell:not([data-workspace-panel=closed]) #workspace-panel-shade{display:block;position:fixed;inset:var(--toolbar-height) 0 0;border:0;background:#14223425;z-index:9100}.workspace-shell #viewport-hud{top:calc(var(--toolbar-height) + 8px);right:8px}.workspace-shell #bottom-status-bar{left:0;gap:4px;padding:0 6px;height:34px}.workspace-shell #bottom-status-bar .status-item{padding:3px 5px}.workspace-popover{top:62px}}@media(min-width:700px),(min-width:550px)and (orientation:landscape)and (max-height:500px){#workspace-drawings{flex-wrap:nowrap}#workspace-drawing-tabs{flex:1 1 220px;min-width:120px}#workspace-search-button{min-width:44px;min-height:44px;padding:8px 12px}#workspace-search-button span,#workspace-search-button kbd{display:none}#workspace-drawings #workspace-context{display:flex;flex:0 1 auto;min-width:0;flex-basis:auto;border-top:0;border-left:1px solid var(--border);background:var(--surface);padding:4px 8px;gap:6px}#workspace-context .workspace-context-copy{flex:0 1 auto;min-width:0}#workspace-context-title{display:block;max-width:160px;overflow:hidden;text-overflow:ellipsis}#workspace-context .workspace-context-copy strong{margin-right:0}#workspace-context-hint{display:none}#workspace-context-help-button{display:block;flex-shrink:0}#workspace-context-actions{margin-top:0;flex-wrap:nowrap}}.workspace-inline-navigation #workspace-header{display:grid;grid-template-columns:minmax(90px,1fr) minmax(300px,1.7fr) auto auto auto;gap:8px}.workspace-inline-navigation .workspace-identity{grid-column:1;grid-row:1;align-self:start;padding:4px 0 20px}.workspace-inline-navigation #workspace-view{display:none}.workspace-inline-navigation #workspace-save-status{grid-column:1;grid-row:1;align-self:end;width:auto;max-width:100%;margin-right:auto;min-height:20px!important;padding:0!important}.workspace-inline-navigation #workspace-navigation{grid-column:2;grid-row:1;min-width:0;padding:0;border:0}.workspace-inline-navigation #workspace-tool-group{min-width:90px;max-width:none}.workspace-inline-navigation .workspace-history{grid-column:3;grid-row:1}.workspace-inline-navigation .workspace-save-group{grid-column:4;grid-row:1}.workspace-inline-navigation #workspace-more-button{grid-column:5;grid-row:1}@media(min-width:550px)and (max-width:699px)and (orientation:landscape)and (max-height:500px){.workspace-inline-navigation #workspace-header{grid-template-columns:minmax(70px,1fr) minmax(245px,1.7fr) auto auto auto;gap:6px}.workspace-inline-navigation .workspace-identity{min-width:0}.workspace-inline-navigation #workspace-tool-group{min-width:75px}#workspace-header .workspace-save-group button:last-child{display:none}#workspace-more-button{min-width:44px}.workspace-label-full{display:none}.workspace-label-short{display:inline}#workspace-drawing-tabs{min-width:80px}#workspace-drawings #workspace-context{flex-shrink:0}#workspace-context .workspace-context-copy{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}@media(max-width:480px){.workspace-shell #sheet-editor>.sheet-toolbar{display:grid;grid-template-columns:auto auto 1fr auto}#sheet-review-btn{grid-column:1;grid-row:1}#sheet-zoom-fit-btn{grid-column:2;grid-row:1}#sheet-add-view-btn{grid-column:3;grid-row:1;padding:4px 8px}.workspace-shell #sheet-close-btn{grid-column:4;grid-row:1;margin:0}.sheet-paper-control{grid-column:1/3;grid-row:2;flex-direction:column;align-items:stretch;gap:0;font-size:0}.sheet-paper-control select{min-width:0;width:100%;max-width:150px}#sheet-export-pdf-btn{grid-column:3;grid-row:2}.sheet-output-menu{grid-column:4;grid-row:2}.workspace-shell #workspace-header{gap:3px}#workspace-header button{padding:8px}.workspace-identity strong{font-size:12px}.workspace-identity span{font-size:10px}.workspace-shell #viewport-hud .hud-pill{min-height:36px}.workspace-shell #viewport-hud{max-width:calc(100vw - 16px)}.workspace-shell #hud-style-row{gap:4px}}.kaoli-icon{display:inline-block;flex:none;vertical-align:middle;pointer-events:none}#top-toolbar .ribbon-tool .kaoli-icon{width:24px;height:24px}#top-toolbar button.ribbon-select{color:var(--text);background:var(--surface);border-color:var(--border)}#top-toolbar button.ribbon-select:hover{color:var(--text);background:var(--surface-strong)}#top-toolbar button.ribbon-select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}#top-toolbar .ribbon-dropdown-menu{color:var(--text);background:var(--surface);border-color:var(--border)}#top-toolbar .ribbon-dropdown-menu .ribbon-tool{color:var(--text);background:transparent;min-height:44px}#top-toolbar .ribbon-dropdown-menu .ribbon-tool:hover{color:var(--text);background:var(--surface-strong)}#top-toolbar .ribbon-dropdown-menu .ribbon-tool.active{color:var(--text);background:var(--surface-strong);border-color:var(--accent)}#top-toolbar .ribbon-tool:disabled{opacity:.4;cursor:default}#top-toolbar .ribbon-tool:focus-visible{outline:2px solid var(--accent);outline-offset:2px}#ribbon-markup button{min-width:44px;min-height:44px}#sheet-review-ui #review-tools button span{display:block;font-size:10px}.contextual-wall-panel{position:fixed;right:16px;top:calc(var(--toolbar-height,113px) + 12px);width:min(370px,calc(100vw - 32px));max-height:calc(100dvh - var(--toolbar-height,113px) - 48px);overflow:auto;z-index:7000;box-sizing:border-box;padding:14px;background:var(--surface,var(--bg-panel,#fff));color:var(--text,var(--ink,#24344b));border:1px solid var(--border,#cad5df);border-radius:12px;box-shadow:0 10px 32px #0003;font:13px/1.45 system-ui}.contextual-wall-panel header{display:flex;align-items:center;gap:6px;position:sticky;top:-14px;background:var(--surface,var(--bg-panel,#fff));padding:6px 0;z-index:1}.contextual-wall-panel h2{font-size:15px;line-height:1.3;margin:0;flex:1}.contextual-wall-panel p{margin:10px 0;overflow-wrap:anywhere}.contextual-wall-panel fieldset{min-width:0;border:1px solid var(--border,#aab6c6);border-radius:7px;padding:10px;margin:12px 0}.contextual-wall-panel legend{font-weight:600;overflow-wrap:anywhere;max-width:100%}.contextual-wall-panel label{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:8px 0}.contextual-wall-panel :is(input,select,button){font:inherit;color:inherit;background:var(--surface,var(--bg-panel,#fff));border:1px solid var(--border,#bac8d5);border-radius:6px;min-height:44px;box-sizing:border-box;padding:7px 9px;max-width:100%}.contextual-wall-panel select{width:100%;min-width:0}.contextual-wall-panel button{cursor:pointer}.contextual-wall-panel button:disabled{opacity:.5;cursor:default}.contextual-wall-panel :is(input,select,button):focus-visible{outline:2px solid var(--accent,#2478dc);outline-offset:2px}.contextual-wall-panel [hidden]{display:none!important}.contextual-wall-panel footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.contextual-wall-panel [role=status],.contextual-wall-panel [role=alert]{min-height:1.5em}@media(max-width:699px){.contextual-wall-panel{right:8px;top:auto;bottom:54px;width:min(370px,calc(100vw - 16px));max-height:40dvh}.contextual-wall-panel header{top:-14px}}
