/*! tailwindcss v4.3.4 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:block))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--spacing:.25rem;--text-sm--line-height:calc(1.25 / .875);--text-lg--line-height:calc(1.75 / 1.125);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.625;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-family-sans);--default-mono-font-family:var(--font-family-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border)}html,body,#root{height:100%}body{background:var(--background);color:var(--foreground);font-family:var(--font-family-sans);font-size:var(--type-body);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;margin:0}:focus-visible{box-shadow:var(--focus-ring);outline:none}code,kbd,samp,output,.numeric{font-family:var(--font-family-mono);font-variant-numeric:tabular-nums}}@layer components;@layer utilities{.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.relative{position:relative}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.flex{display:flex}.grid{display:grid}.hidden{display:none}.size-full{width:100%;height:100%}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-full{height:100%}.w-2\.5{width:calc(var(--spacing) * 2.5)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.touch-none{touch-action:none}.flex-col{flex-direction:column}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:2147483647px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-t-transparent{border-top-color:#0000}.border-l-transparent{border-left-color:#0000}.bg-border{background-color:var(--border)}.p-px{padding:1px}.text-lg{font-size:var(--type-h4);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--type-body-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-caption{font-size:var(--type-caption)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-muted-foreground{color:var(--muted-foreground)}.text-primary{color:var(--primary)}.text-viewport-muted{color:var(--viewport-muted)}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.dark\:text-foreground:where(.dark,.dark *){color:var(--foreground)}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@font-face{font-family:Pretendard;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/pretendard-subset-400-CrqmAwYG.woff2)format("woff2");unicode-range:U+0-24F,U+300-36F,U+2000-22FF,U+25A0-25FF}@font-face{font-family:Pretendard;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/pretendard-subset-500-dEOD6r-o.woff2)format("woff2");unicode-range:U+0-24F,U+300-36F,U+2000-22FF,U+25A0-25FF}@font-face{font-family:Pretendard;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/pretendard-subset-600-HjHe2PoW.woff2)format("woff2");unicode-range:U+0-24F,U+300-36F,U+2000-22FF,U+25A0-25FF}@font-face{font-family:Pretendard;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/pretendard-subset-700-DCFhINu0.woff2)format("woff2");unicode-range:U+0-24F,U+300-36F,U+2000-22FF,U+25A0-25FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2")}:root{--blue-50:#eaf1fc;--blue-100:#d2e1f8;--blue-200:#a6c4f1;--blue-300:#6e9de6;--blue-400:#3d78d6;--blue-500:#1a5fcc;--blue-600:#0f4fb5;--blue-700:#0b3f94;--blue-800:#0a3175;--blue-900:#0b2856;--navy-700:#16314f;--navy-800:#0f2440;--navy-900:#0a1a2f;--cyan-400:#2ba6ff;--cyan-500:#0e8fec;--cyan-600:#0a74c2;--gray-0:#fff;--gray-25:#f8fafc;--gray-50:#f1f4f8;--gray-100:#e6ebf1;--gray-200:#d4dce5;--gray-300:#b7c2cf;--gray-400:#8a98a8;--gray-500:#647082;--gray-600:#475467;--gray-700:#333e4e;--gray-800:#1f2937;--gray-900:#0d1622;--green-50:#e7f6ee;--green-500:#1f9d57;--green-600:#167f45;--amber-50:#fbf1dc;--amber-500:#e8a317;--amber-600:#b97d08;--red-50:#fcebea;--red-500:#d92d20;--red-600:#b42318;--brand:var(--blue-600);--brand-strong:var(--blue-700);--brand-emphasis:var(--blue-800);--brand-soft:var(--blue-50);--brand-accent:var(--cyan-500);--text-primary:var(--navy-900);--text-secondary:var(--gray-600);--text-tertiary:var(--gray-400);--text-disabled:var(--gray-300);--text-inverse:var(--gray-0);--text-link:var(--blue-600);--text-link-hover:var(--blue-800);--surface-page:var(--gray-25);--surface-card:var(--gray-0);--surface-sunken:var(--gray-50);--surface-hover:var(--gray-50);--surface-inverse:var(--navy-900);--border-subtle:var(--gray-100);--border-default:var(--gray-200);--border-strong:var(--gray-300);--border-brand:var(--blue-600);--border-inverse:#ffffff29;--success:var(--green-500);--success-soft:var(--green-50);--warning:var(--amber-500);--warning-soft:var(--amber-50);--danger:var(--red-500);--danger-soft:var(--red-50);--info:var(--blue-600);--info-soft:var(--blue-50);--focus-ring:0 0 0 3px #0f4fb552;--font-family-sans:"Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI", "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif;--font-family-mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--type-caption:13px;--type-body-sm:14px;--type-body:15px;--type-body-lg:17px;--type-h4:18px;--type-h3:20px;--type-h2:24px;--type-h1:28px;--type-display-sm:34px;--type-display-lg:44px;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-extrabold:800;--leading-tight:1.1;--leading-snug:1.25;--leading-normal:1.5;--leading-relaxed:1.65;--tracking-tight:-.015em;--tracking-overline:.14em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-xs:3px;--radius-sm:5px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:20px;--radius-pill:999px;--shadow-xs:0 1px 2px #0a1a2f0a;--shadow-sm:0 2px 4px #0a1a2f0f;--shadow-md:0 4px 12px #0a1a2f14;--shadow-lg:0 8px 24px #0a1a2f1f;--shadow-xl:0 16px 48px #0a1a2f29;--shadow-brand:0 10px 24px -8px #0f4fb566;--ease-standard:cubic-bezier(.2, 0, .1, 1);--ease-emphasis:cubic-bezier(.16, 1, .3, 1);--ease-exit:cubic-bezier(.4, 0, 1, 1);--duration-fast:.12s;--duration-base:.2s;--duration-slow:.32s;--background:var(--gray-25);--foreground:var(--navy-900);--card:var(--gray-0);--card-foreground:var(--navy-900);--popover:var(--gray-0);--popover-foreground:var(--navy-900);--primary:var(--blue-600);--primary-foreground:var(--gray-0);--secondary:var(--gray-50);--secondary-foreground:var(--navy-900);--muted:var(--gray-50);--muted-foreground:var(--gray-600);--accent:var(--blue-50);--accent-foreground:var(--blue-700);--destructive:var(--red-500);--border:var(--gray-200);--input:var(--gray-200);--ring:var(--blue-600);--radius:var(--radius-md);--chart-1:var(--blue-600);--chart-2:var(--cyan-500);--chart-3:var(--green-500);--chart-4:var(--amber-500);--chart-5:var(--red-500);--viewport-background:var(--navy-900);--viewport-foreground:var(--gray-50);--viewport-muted:var(--gray-300);--viewport-icon:var(--blue-300);--viewport-icon-surface:var(--navy-800);--influence-chart-background:#0c1624;--influence-chart-grid:#33455c;--influence-chart-text:#92a7c0;--influence-chart-cursor:#ffd23f}:lang(zh){--font-family-sans:"Pretendard", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", -apple-system, BlinkMacSystemFont, "Segoe UI", "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif}.dark{--background:var(--navy-900);--foreground:var(--gray-50);--card:var(--navy-800);--card-foreground:var(--gray-50);--popover:var(--navy-800);--popover-foreground:var(--gray-50);--primary:var(--blue-400);--primary-foreground:var(--gray-0);--secondary:var(--navy-700);--secondary-foreground:var(--gray-50);--muted:var(--navy-800);--muted-foreground:var(--gray-400);--accent:var(--navy-700);--accent-foreground:var(--blue-200);--destructive:var(--red-500);--border:var(--navy-700);--input:var(--navy-700);--ring:var(--cyan-400);--radius:var(--radius-md);--chart-1:var(--blue-400);--chart-2:var(--cyan-400);--chart-3:var(--green-500);--chart-4:var(--amber-500);--chart-5:var(--red-500)}.app-shell{flex-direction:column;height:100dvh;min-height:480px;display:flex}.app-header{align-items:center;gap:var(--space-3);height:66px;padding-inline:var(--space-6);border-bottom:1px solid var(--border);background:var(--card);flex:none;display:flex}.brand-mark{justify-content:center;align-items:center;gap:var(--space-1);width:var(--space-8);height:var(--space-8);border-radius:var(--radius-md);background:var(--accent);color:var(--primary);display:flex}.brand-mark span{width:var(--space-1);height:var(--space-4);border-radius:var(--radius-pill);background:currentColor}.brand-mark span:nth-child(2){height:var(--space-6)}.brand-mark span:nth-child(3){height:var(--space-3)}.app-workspace{flex:1;grid-template-columns:300px minmax(0,1fr);min-height:0;display:grid}.app-sidebar{border-right:1px solid var(--border);background:var(--card);min-height:0}.sidebar-section{min-height:100px;padding:var(--space-6);position:relative}.sidebar-separator{right:var(--space-6);bottom:0;left:var(--space-6);width:auto;position:absolute}.viewport-stage{min-width:0;min-height:0;padding:var(--space-6);background:var(--viewport-background);color:var(--viewport-foreground);place-items:center;display:grid;position:relative;overflow:hidden}.viewport-empty{pointer-events:none;text-align:center;max-width:360px;position:relative}.viewport-canvas{position:absolute;inset:0}.viewport-canvas canvas{display:block}.viewer-toolbar,.viewer-switches{gap:var(--space-2);z-index:3;align-items:center;display:flex;position:absolute;top:18px}.viewer-toolbar{flex-wrap:wrap;left:18px}.viewer-switches{right:18px}.viewer-toolbar button,.viewer-switches label,.properties-panel button{padding:var(--space-2) var(--space-3);border:1px solid var(--border-inverse);border-radius:var(--radius-md);background:var(--viewport-icon-surface);color:var(--viewport-foreground);font-size:var(--type-caption)}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.viewer-switches label{align-items:center;gap:var(--space-2);display:flex}input[type=checkbox]{width:14px;height:14px;accent-color:var(--brand-accent);cursor:pointer}.file-dropzone{width:100%;margin-top:var(--space-4);padding:var(--space-6) var(--space-3);justify-items:center;gap:var(--space-3);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--background);font-size:var(--type-caption);text-align:center;display:grid}.file-dropzone span{color:var(--muted-foreground)}.file-dropzone:hover{border-color:var(--primary);background:var(--accent)}.file-drop-icon{width:var(--space-6);height:var(--space-6);font-size:30px;line-height:1;display:block}.header-version{color:var(--muted-foreground);font-size:var(--type-caption);margin-left:auto}.selection-rectangle{border:1.5px dashed var(--cyan-400);background:var(--cyan-400);position:absolute}@supports (color:color-mix(in lab, red, red)){.selection-rectangle{background:color-mix(in srgb, var(--cyan-400) 14%, transparent)}}.selection-rectangle{pointer-events:none;z-index:3}.selection-rectangle[hidden],.numbering-panel[hidden]{display:none}.numbering-panel{z-index:5;width:276px;max-height:82%;top:64px;left:18px;right:auto;overflow:auto}.numbering-modes{gap:var(--space-2);margin-block:var(--space-3);flex-wrap:wrap;display:flex}.numbering-modes button[aria-pressed=true],.viewer-toolbar button[aria-pressed=true]{background:var(--brand);color:var(--text-inverse)}.element-tag.main{border:1px solid var(--cyan-400)}.engineering-fields{font-size:var(--type-caption);line-height:var(--leading-relaxed)}.engineering-fields label{gap:var(--space-1);margin-block:var(--space-3);display:grid}.engineering-fields input:not([type=checkbox],[type=range]),.engineering-fields select,.engineering-fields textarea,.engineering-table-wrap input{width:100%;min-width:0;padding:var(--space-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--background);color:var(--foreground);font:inherit}.engineering-fields textarea{resize:vertical;min-height:88px}.influence-response-contained{contain:size;block-size:var(--influence-response-height)}.properties-panel.engineering-fields input,.properties-panel.engineering-fields select{background:var(--viewport-background);color:var(--viewport-foreground);border-color:var(--border-inverse)}.engineering-fields .engineering-check{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.engineering-fields input[type=range]{width:100%;accent-color:var(--brand-accent)}.engineering-fields input[type=checkbox]{accent-color:var(--brand-accent)}.engineering-fields button,.engineering-button,.engineering-dialog button{padding:var(--space-2) var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--background);font-size:var(--type-caption);cursor:pointer}.properties-panel.engineering-fields button{background:var(--viewport-background);border-color:var(--border-inverse)}.engineering-fields button:hover,.engineering-button:hover,.engineering-dialog button:hover{background:var(--accent);color:var(--accent-foreground)}button.engineering-primary{background:var(--brand);color:var(--text-inverse);border-color:var(--brand)}.engineering-grid{gap:var(--space-2);grid-template-columns:1fr 1fr;align-items:end;display:grid}.engineering-button,.influence-panel{margin-top:var(--space-4)}.influence-panel p{overflow-wrap:anywhere;margin-block:var(--space-2);color:var(--muted-foreground)}.engineering-feedback{max-width:min(620px,70%);padding:var(--space-2) var(--space-3);background:var(--viewport-icon-surface);color:var(--viewport-foreground);border:1px solid var(--border-inverse);border-radius:var(--radius-md);font-size:var(--type-caption);pointer-events:none;z-index:6;position:absolute;bottom:70px;left:18px}.engineering-overlay{background:var(--navy-900);position:fixed;inset:0}@supports (color:color-mix(in lab, red, red)){.engineering-overlay{background:color-mix(in srgb, var(--navy-900) 74%, transparent)}}.engineering-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:30}.engineering-dialog{overscroll-behavior:contain;border:1px solid var(--border-strong);border-radius:var(--radius-xl);background:var(--card);width:min(680px,94vw);max-height:min(780px,92dvh);color:var(--card-foreground);box-shadow:var(--shadow-lg);z-index:31;font-size:var(--type-caption);flex-direction:column;display:flex;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}.engineering-dialog>*{flex-shrink:0}.engineering-dialog-head{z-index:2;padding:var(--space-4);border-bottom:1px solid var(--border);background:var(--card);font-weight:var(--weight-semibold);font-size:var(--type-h4);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.engineering-dialog-head button{border:0;padding:3px 8px;font-size:20px}.engineering-intro,.engineering-section{margin:var(--space-3) var(--space-4);line-height:var(--leading-relaxed)}.engineering-section h3{font-weight:var(--weight-semibold)}.engineering-range{align-items:end;gap:var(--space-2);margin:var(--space-3) var(--space-4);flex-wrap:wrap;display:flex}.engineering-range label{width:120px}.engineering-range>span{padding-bottom:var(--space-3)}.engineering-table-wrap{margin:0 var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);max-height:360px;overflow:auto}.engineering-table-wrap table{border-collapse:collapse;width:100%;font-size:var(--type-caption)}.engineering-table-wrap th,.engineering-table-wrap td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);text-align:left}.engineering-table-wrap th{background:var(--secondary);z-index:1;position:sticky;top:0}.engineering-table-wrap tr:nth-child(2n){background:var(--muted)}.engineering-message{margin:var(--space-3) var(--space-4);min-height:18px;color:var(--destructive);overflow-wrap:anywhere}.engineering-dialog-actions{z-index:2;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border);background:var(--card);display:flex;position:sticky;bottom:0}.color-legend{width:296px;padding:var(--space-3) var(--space-4);border:1px solid var(--border-inverse);border-radius:var(--radius-lg);background:var(--viewport-icon-surface);color:var(--viewport-foreground);z-index:4;box-shadow:var(--shadow-lg);font-size:11px;position:absolute;bottom:18px;right:18px}.color-legend p{margin-top:var(--space-1);color:var(--viewport-muted);line-height:var(--leading-relaxed)}.legend-heading{justify-content:space-between;gap:var(--space-3);font-size:var(--type-caption);overflow-wrap:anywhere;display:flex}.engineering-color-bar{border-radius:var(--radius-xs);height:13px;margin:10px 0 5px}.legend-range{justify-content:space-between;display:flex;position:relative}.legend-zero{position:absolute;transform:translate(-50%)}.selection-influence{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border-inverse);line-height:var(--leading-relaxed);overflow-wrap:anywhere}.numbering-panel .numbering-modes button[aria-pressed=true]{background:var(--brand);color:var(--text-inverse)}.properties-panel .properties-heading>button{background:0 0;border:0;padding:3px 8px;font-size:20px;line-height:1}@media (width<=750px){.header-version{text-align:right;max-width:130px;font-size:10px}.numbering-panel{max-height:65%;top:144px}.color-legend{width:230px;bottom:70px}.engineering-grid{grid-template-columns:1fr}}.model-status{margin-top:var(--space-3);color:var(--primary);font-size:var(--type-caption);overflow-wrap:anywhere}.model-status-error{color:var(--destructive)}.display-fields{gap:var(--space-3);margin-top:var(--space-4);font-size:var(--type-caption);display:grid}.display-fields label{justify-content:space-between;align-items:center;display:flex}input[type=color]{width:var(--space-12);height:var(--space-8);border:1px solid var(--border);cursor:pointer}.model-info{margin-top:var(--space-4);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--type-caption);line-height:var(--leading-relaxed);background:var(--background)}.model-info p{column-gap:var(--space-2);overflow-wrap:anywhere;flex-wrap:wrap;display:flex}.model-actions{gap:var(--space-2);margin-top:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.model-actions button{border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-2);background:var(--background);font-size:var(--type-caption)}.model-actions button:hover{background:var(--accent)}.support-note{margin-top:var(--space-4);font-size:var(--type-caption);color:var(--muted-foreground);line-height:var(--leading-relaxed)}.viewer-hint{width:fit-content;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--type-caption);color:var(--viewport-muted);background:var(--viewport-background);pointer-events:none;position:absolute;bottom:18px;left:18px;right:18px}.influence-animation{margin-top:var(--space-4)}.influence-animation h3{font-size:var(--type-caption);margin-bottom:var(--space-2);font-weight:600}.influence-animation canvas{border-radius:var(--radius-sm);width:100%;height:auto;margin-top:var(--space-2);display:block}.animation-readout{min-height:var(--space-8)}.animation-chain{contain:layout paint;border:1px solid var(--border);border-radius:var(--radius-sm);max-height:150px;position:relative;overflow:auto}.animation-chain table{border-collapse:collapse;width:100%;font-size:10px}.animation-chain th,.animation-chain td{padding:var(--space-1);white-space:nowrap;text-align:left}.animation-chain th{background:var(--card);position:sticky;top:0}.animation-chain td{font-family:var(--font-family-mono)}.animation-chain .active{background:var(--accent);color:var(--accent-foreground)}.properties-panel{width:280px;padding:var(--space-4);border:1px solid var(--border-inverse);border-radius:var(--radius-lg);background:var(--viewport-icon-surface);color:var(--viewport-foreground);box-shadow:var(--shadow-lg);font-size:var(--type-caption);z-index:4;position:absolute;top:72px;right:18px}.properties-heading{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);font-weight:var(--weight-semibold);display:flex}.properties-panel label{gap:var(--space-2);margin-block:var(--space-4);display:grid}.properties-panel input{padding:var(--space-2);border:1px solid var(--border-inverse);border-radius:var(--radius-sm);background:var(--viewport-background)}.coordinate-grid{gap:var(--space-2);display:grid}.coordinate-grid>div{grid-template-columns:var(--space-6) 1fr;gap:var(--space-3);display:grid}.property-note{margin-top:var(--space-4);color:var(--viewport-muted)}.element-label-layer{pointer-events:none;z-index:2;position:absolute;inset:0;overflow:hidden}.element-tag{border:1px solid var(--border-inverse);border-radius:var(--radius-xs);background:var(--viewport-icon-surface);color:var(--viewport-foreground);font:var(--weight-semibold) 11px var(--font-family-mono);white-space:nowrap;padding:2px 5px;position:absolute;transform:translate(8px,-100%)}.element-tag.selected{background:var(--brand);color:var(--text-inverse)}.viewport-empty-icon{width:var(--space-16);height:var(--space-16);margin:0 auto var(--space-6);border:1px solid var(--border-inverse);border-radius:var(--radius-xl);background:var(--viewport-icon-surface);color:var(--viewport-icon);place-items:center;display:grid}@media (width<=750px){.app-shell{height:auto;min-height:100dvh}.app-workspace{grid-template-rows:auto minmax(460px,1fr);grid-template-columns:minmax(0,1fr)}.app-sidebar{border-right:0;border-bottom:1px solid var(--border);height:312px}.sidebar-section{min-height:auto;padding-block:var(--space-4)}.viewport-stage{min-height:460px}.viewer-toolbar{right:18px}.viewer-switches{top:100px}.properties-panel{top:144px}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
