/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--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-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:-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-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--radius-xl:.75rem;--radius-2xl:1rem;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-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%;-moz-tab-size:4;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;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]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.visible\!{visibility:visible!important}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.static\!{position:static!important}.isolate{isolation:isolate}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.hidden\!{display:none!important}.inline{display:inline}.table{display:table}.flex-shrink,.shrink{flex-shrink:1}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.bg-\[\#DCC7B5\]{background-color:#dcc7b5}.bg-\[\#E8D5C4\]{background-color:#e8d5c4}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow\!{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a)!important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter\!{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)!important}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}:root{--jimu-paper:#111210;--jimu-surface:#1a1c19;--jimu-surface-sunken:#0c0d0b;--jimu-soft:#262824;--jimu-line:#f4f2eb24;--jimu-line-strong:#f4f2eb40;--jimu-ink:#f4f2eb;--jimu-ink-soft:#3a3d39;--jimu-ink-inverse:#111210;--jimu-muted:#b9b9ae;--jimu-muted-strong:#d6d4ca;--jimu-primary:#d6ee55;--jimu-primary-dark:#b9d23f;--jimu-focus:#d6ee5566;--jimu-accent:#f6a15d;--jimu-yellow:#f4b41a;--jimu-danger:#ef4444;--jimu-danger-ink:#fca5a5;--jimu-danger-wash:#2a1414;--jimu-danger-wash-strong:#3a1a1a;--jimu-danger-dark:#fca5a5;--jimu-warning:#fbbf24;--jimu-warning-ink:#fde68a;--jimu-warning-wash:#2a2310;--jimu-success:#4ade80;--jimu-success-dark:#22c55e;--jimu-success-ink:#bbf7d0;--jimu-success-wash:#0f2417;--jimu-info-ink:#93c5fd;--jimu-info-wash:#0f1f33;--jimu-type-default:#e5e7eb;--jimu-type-axon:#dbeafe;--jimu-type-cabinet:#ffedd5;--jimu-type-mindmap:#ede9fe;--jimu-type-ppt:#cffafe;--jimu-type-cad:#374151;--jimu-type-su:#dcfce7;--jimu-type-kitchen:#fef3c7;--jimu-type-budget:#f5f5f4;--jimu-radius:2px;--jimu-font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Microsoft YaHei", Arial, sans-serif;--jimu-font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--jimu-body-size:14px;--jimu-body-leading:1.6}*{box-sizing:border-box}button:hover:not(:disabled){background:var(--jimu-soft);box-shadow:none;transform:none}button.generate-btn{background:var(--jimu-primary);color:var(--jimu-surface);border-radius:var(--jimu-radius);box-shadow:none;justify-content:center;align-items:center;gap:6px;font-weight:800;display:inline-flex}button.generate-btn:hover:not(:disabled){background:var(--jimu-primary-dark);transform:none}button:disabled{opacity:.45;cursor:not-allowed}.active{background:var(--jimu-ink)!important;color:var(--jimu-surface)!important}.nav:hover:not(:disabled){color:var(--jimu-surface);background:#ffffff26}.nav.active{box-shadow:none;background:var(--jimu-primary)!important;color:var(--jimu-surface)!important}.count-chips button{flex:0 0 calc(20% - 7px)}.upload-card.selected,.image-card.selected{outline:3px solid var(--jimu-primary)}.upload-card>span{white-space:nowrap;text-overflow:ellipsis;margin-top:6px;font-size:12px;display:block;overflow:hidden}.image-card footer{gap:8px;display:flex}.regen-footer p{margin:0}.draw-layer line{stroke:var(--jimu-danger);stroke-width:4px;stroke-linecap:round}.group-grid span{background:var(--jimu-surface);border-radius:var(--jimu-radius);place-items:center;gap:4px;padding:4px;font-size:12px;display:grid;overflow:hidden}.group-grid span img{object-fit:cover;border-radius:4px;width:100%;height:100%;min-height:0}.group-grid span i{color:var(--jimu-muted);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-style:normal;overflow:hidden}.image-card footer button{flex:1;padding:8px;font-size:12px}.course span,.course em{color:var(--jimu-muted);font-size:13px}.bar-col i{background:var(--jimu-primary);border-radius:var(--jimu-radius);width:100%;min-height:2px}.bar-col span{height:16px;color:var(--jimu-muted);white-space:nowrap;font-size:10px;transform:rotate(-35deg)}.cards button{margin:4px}.cards input{width:100%;margin-bottom:10px;display:block}.upload-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.effect-section{border-top:3px solid var(--jimu-primary)}.image-generator>label{margin-top:0}.image-generator>.generator-section>label{margin-top:6px}.image-generator .reference-thumb{width:54px;height:54px}.image-generator .reference-thumb img{object-fit:cover}.image-generator .reference-list:empty{display:none}.walkthrough-section{border-top:3px solid var(--jimu-muted)}.cabinet-video-section{border-top:3px solid var(--jimu-accent)}.recent-project small{color:var(--jimu-muted)}.pay-btn:disabled{background:var(--jimu-line);color:var(--jimu-muted);cursor:not-allowed}.custom-recharge label{color:var(--jimu-muted-strong);font-size:13px}.custom-recharge input{border:1px solid var(--jimu-line);border-radius:var(--jimu-radius);background:var(--jimu-surface);flex:1;max-width:220px;padding:10px 12px}.tabs button{background:var(--jimu-surface);border:1px solid var(--jimu-soft);border-color:var(--jimu-line)}.tabs button.active{background:var(--jimu-primary)!important;color:var(--jimu-surface)!important}.progress i{background:var(--jimu-accent);height:100%;display:block}.stats b{color:var(--jimu-primary);margin-top:10px;font-size:30px;display:block}.delete:not(:disabled):hover{background:var(--jimu-danger-wash-strong)}.image-card:has(.cad-svg-preview) .regen-footer,.image-card:has(.cad-point-preview) .regen-footer{display:none}html,#root{min-height:100%}body{font-family:var(--jimu-font);font-size:var(--jimu-body-size);line-height:var(--jimu-body-leading);letter-spacing:0;background:var(--jimu-paper);color:var(--jimu-ink);min-height:100%;margin:0}input,textarea,select{font:inherit;font-size:var(--jimu-body-size);letter-spacing:0;line-height:1.4}button{font:inherit;border-radius:var(--jimu-radius);background:var(--jimu-soft);min-height:44px;color:var(--jimu-ink);cursor:pointer;box-shadow:none;font-size:var(--jimu-body-size);letter-spacing:0;border:0;padding:10px 12px;line-height:1.4;transition:background .2s,transform .2s,box-shadow .2s;transform:none}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--jimu-focus);outline-offset:2px}p{letter-spacing:0}h1,h2,h3,h4{letter-spacing:0;line-height:1.35}.image-card strong{font-size:16px;line-height:1.4;display:block}.image-card small{height:60px;color:var(--jimu-muted);white-space:pre-line;margin:6px 0;font-size:11px;line-height:1.45;display:block;overflow:hidden}.recent-projects h2{color:var(--jimu-ink);letter-spacing:0;margin:0 0 8px;font-size:24px;line-height:1.25}.cards h3{align-items:center;gap:8px;font-size:18px;line-height:1.35;display:flex}.usage-panel h3{margin:0 0 16px;font-size:18px;line-height:1.35}.cards>div,.stats>div{background:var(--jimu-surface);border:1px solid var(--jimu-soft);border-radius:var(--jimu-radius);border-color:var(--jimu-line);box-shadow:none;padding:18px}.recent-project button{background:var(--jimu-primary);color:var(--jimu-surface);border-radius:var(--jimu-radius);box-shadow:none}.generate-btn{border-radius:var(--jimu-radius);box-shadow:none;background:var(--jimu-primary)}.pay-btn:hover:not(:disabled),.recent-project button:hover:not(:disabled),.generate-btn:hover:not(:disabled){background:var(--jimu-primary-dark)}.login-shell{z-index:2;border:1px solid var(--jimu-line-strong);background:#1a1c19b8;grid-template-columns:1.08fr .92fr;width:min(1240px,100%);min-height:min(760px,100dvh - 56px);display:grid;position:relative}.login-brand-panel{border-right:1px solid var(--jimu-line);min-height:560px;color:var(--jimu-ink);background:#111210cc;flex-direction:column;justify-content:space-between;padding:48px;display:flex}.login-brand-row{align-items:center;gap:14px;display:flex}.login-logo-frame{border:1px solid var(--jimu-surface);background:var(--jimu-ink);place-items:center;width:48px;height:48px;display:grid}.login-logo{width:36px;height:36px}.login-brand-caption{color:var(--jimu-line);margin:5px 0 0;font-size:12px}.login-hero-copy{max-width:580px}.login-hero-copy h1 span{color:var(--jimu-yellow)}.login-feature-list{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.login-feature-list div{border-top:1px solid var(--jimu-muted-strong);gap:9px;padding-top:12px;display:grid}.login-feature-list b{color:var(--jimu-yellow);font-size:12px}.login-feature-list span{color:var(--jimu-line);font-size:12px}.login-form-panel{background:#0c0d0ba8;align-items:center;padding:48px;display:flex}.login-form-wrap{gap:20px;width:100%;max-width:520px;margin:auto;display:grid}.login-form-head>svg{color:var(--jimu-accent)}.login-mode-switch button.active{background:var(--jimu-primary)!important;color:var(--jimu-ink-inverse)!important}.login-mode-switch span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.login-input-wrap{border-bottom:1px solid var(--jimu-line-strong);grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.login-input-wrap>svg{color:var(--jimu-muted)}.jimu-login-field{width:100%;min-height:48px;color:var(--jimu-ink);background:0 0;border:0;outline:none;padding:10px 0}.jimu-login-field::placeholder{color:var(--jimu-line-strong)}.jimu-login-field:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--jimu-surface) inset;-webkit-text-fill-color:var(--jimu-ink);caret-color:var(--jimu-ink);border-bottom:1px solid var(--jimu-line-strong);transition:background-color 99999s ease-out}.jimu-login-field:-webkit-autofill:hover{-webkit-box-shadow:0 0 0 1000px var(--jimu-surface) inset;-webkit-text-fill-color:var(--jimu-ink);caret-color:var(--jimu-ink);border-bottom:1px solid var(--jimu-line-strong);transition:background-color 99999s ease-out}.jimu-login-field:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--jimu-surface) inset;-webkit-text-fill-color:var(--jimu-ink);caret-color:var(--jimu-ink);border-bottom:1px solid var(--jimu-line-strong);transition:background-color 99999s ease-out}.login-card input.jimu-login-field{border:0;border-radius:0;padding:10px 0}.password-toggle-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;color:var(--jimu-muted);background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;margin-right:-4px;padding:6px 8px;transition:color .2s,background .2s;display:inline-flex}.password-toggle-btn:hover{color:var(--jimu-ink);background:#0000000a}.password-toggle-btn:focus-visible{outline:2px solid var(--jimu-primary);outline-offset:1px}.password-toggle-btn[aria-pressed=true]{color:var(--jimu-primary)}.password-rules{color:var(--jimu-muted);gap:4px;margin:0;padding:10px 0 4px 28px;font-size:12.5px;line-height:1.5;list-style:none;display:grid}.password-rule{color:var(--jimu-muted);align-items:center;gap:7px;transition:color .2s;display:flex}.password-rule svg{flex-shrink:0}.password-rule.pass{color:#4f9d6f}.password-rule.fail{color:#c46b6b}.password-rule.defer{display:none}.login-wechat-box{border:1px solid var(--jimu-line);grid-template-columns:140px minmax(0,1fr);align-items:center;gap:20px;padding:18px;display:grid}.login-qr-frame{border:1px solid var(--jimu-line-strong);background:var(--jimu-paper);width:140px;height:140px;color:var(--jimu-ink);place-items:center;display:grid}.login-session{color:var(--jimu-primary)!important}.login-contact>div{color:var(--jimu-ink);grid-column:1/-1;align-items:center;gap:7px;display:flex}.login-contact h3{margin:0;font-size:13px}.login-contact a,.login-contact span{min-width:0;color:inherit;align-items:center;gap:5px;text-decoration:none;display:flex;overflow:hidden}.login-contact a:hover{color:var(--jimu-primary)}.login-page a{color:inherit}.login-page{background:var(--jimu-paper);min-height:100dvh;color:var(--jimu-ink);isolation:isolate;place-items:center;padding:28px;display:grid;position:relative;overflow:hidden}.login-bg-video{object-fit:cover;z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0}.login-page *{box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.login-page .rounded-full,.login-page [class*="rounded-["],.login-page [class*=rounded-2xl],.login-page [class*=rounded-xl]{border-radius:var(--jimu-radius)}.login-page [class*=blur-],.login-page [class*="bg-[#E8D5C4]"],.login-page [class*="bg-[#DCC7B5]"]{display:none}.login{background:var(--jimu-paper);place-items:center;height:100vh;display:grid}.login-card{border-radius:var(--jimu-radius);background:var(--jimu-surface);width:360px;box-shadow:none;gap:16px;padding:34px;display:grid}.login-card h1{text-align:center;margin:0 0 10px}.login-card input{border:1px solid var(--jimu-line);border-radius:var(--jimu-radius);padding:12px}.login-card button{background:var(--jimu-ink);color:var(--jimu-surface)}.login-brand-name{font-size:var(--jimu-body-size);letter-spacing:.14em;margin:0;font-weight:800}.login-eyebrow{color:var(--jimu-line-strong);letter-spacing:.14em;margin:0;font-size:10px;font-weight:800}.login-hero-copy h1{letter-spacing:0;margin:18px 0 0;font-size:56px;font-weight:800;line-height:1.08}.login-form-head h2{letter-spacing:0;margin:7px 0 0;font-size:30px;font-weight:800;line-height:1.25}.login-hero-copy>p:last-child{max-width:500px;color:var(--jimu-muted);font-size:var(--jimu-body-size);margin:28px 0 0;line-height:1.7}.login-form-card{border:1px solid var(--jimu-line);background:var(--jimu-surface);border-radius:var(--jimu-radius);padding:32px}.login-form-head{justify-content:space-between;align-items:flex-start;gap:20px;line-height:1.4;display:flex}.login-mode-switch{border:1px solid var(--jimu-line-strong);background:var(--jimu-line-strong);grid-template-columns:repeat(2,1fr);gap:1px;margin:28px 0 24px;line-height:1.4;display:grid}.login-auth-panel{gap:16px;line-height:1.4;display:grid}.login-mode-switch button{background:var(--jimu-surface);min-width:0;color:var(--jimu-muted-strong);border:0;border-radius:0;justify-content:center;align-items:center;gap:7px;font-size:13px;font-weight:800;line-height:1.4;display:flex}.login-wechat-box h3{margin:0;font-size:18px;line-height:1.35}.login-wechat-box p{color:var(--jimu-muted);margin:9px 0 0;font-size:13px;line-height:1.6}.login-note{color:var(--jimu-muted);align-items:center;gap:7px;margin:0;font-size:12px;line-height:1.5;display:flex}.login-name-check{min-height:18px;color:var(--jimu-muted);margin:-6px 0 0;padding-left:28px;font-size:12.5px;line-height:1.5}.login-name-check.ok{color:#4f9d6f}.login-name-check.taken{color:#c46b6b}.login-name-check.checking{color:var(--jimu-muted);opacity:.85}.login-name-check.error{color:var(--jimu-muted)}.login-contact{border-top:1px solid var(--jimu-line-strong);color:var(--jimu-muted-strong);grid-template-columns:repeat(3,1fr);gap:12px;padding-top:16px;font-size:11px;line-height:1.5;display:grid}.login-legal{text-align:center;color:var(--jimu-line-strong);margin:0;font-size:10px;line-height:1.5}.login-icp{text-align:center;letter-spacing:.02em;color:var(--jimu-line-strong);z-index:2;font-size:11px;position:absolute;bottom:14px;left:0;right:0}.login-icp a{color:inherit;opacity:.75;text-decoration:none;transition:opacity .2s}.login-icp a:hover{opacity:1;text-decoration:underline}.login-submit{background:var(--jimu-primary);width:100%;color:var(--jimu-surface);border-radius:var(--jimu-radius);box-shadow:none;justify-content:space-between;align-items:center;font-size:13px;font-weight:800;line-height:1.4;display:flex}.login-submit:hover:not(:disabled){background:var(--jimu-primary-dark)}.login-submit:disabled{opacity:.6;cursor:not-allowed}.login-error{color:#ff8a8a;background:#ff5a5a24;border:1px solid #ff5a5a66;border-radius:8px;margin:2px 0 0;padding:8px 10px;font-size:12.5px;line-height:1.5}.login-grid{pointer-events:none;z-index:1;background:radial-gradient(125% 120% at 50% 42%,#0a0d1200,#0a0d126b),linear-gradient(#0a0d1257,#0a0d1200 22%,#0a0d1200 70%,#0a0d126b);position:absolute;top:0;right:0;bottom:0;left:0}.sidebar .nav{border-radius:var(--jimu-radius);box-shadow:none}.sidebar .nav.active{background:var(--jimu-primary)!important;color:var(--jimu-surface)!important}.app{background:var(--jimu-paper);height:100vh;display:flex;overflow:hidden}.sidebar h1{letter-spacing:.01em;margin:0;font-size:19px}.sidebar-brand{align-items:center;gap:11px;margin:0 0 24px;display:flex}.sidebar-logo{background:var(--jimu-ink);border:1px solid var(--jimu-surface);box-sizing:border-box;border-radius:9px;flex:none;width:40px;height:40px;padding:6px}.sidebar .active{box-shadow:none;background:var(--jimu-primary)!important;color:var(--jimu-surface)!important}.toolbar-spacer{flex:1}.toolbar-label{color:var(--jimu-muted);font-size:13px;font-weight:700}.app.su-selected .sidebar>.generator,.app.right-panel-collapsed .sidebar>.generator{display:none}.right-panel-toggle{z-index:25;border:1px solid var(--jimu-line);background:var(--jimu-surface);border-radius:var(--jimu-radius);color:var(--jimu-muted);border-color:var(--jimu-line);box-shadow:none;padding:8px;line-height:1;position:fixed;top:76px;right:348px}.right-panel-reopen{border-radius:var(--jimu-radius);right:0}.panel-heading{justify-content:space-between;align-items:center;display:flex}.eyebrow{color:var(--jimu-primary);letter-spacing:.12em;font-size:11px;font-weight:800}.editor-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.editor-actions button{justify-content:center;align-items:center;gap:5px;padding:8px;font-size:12px;display:flex}.panel-empty{color:var(--jimu-muted);place-items:start;gap:8px;display:grid}.panel-empty strong{color:var(--jimu-ink)}.app.right-panel-collapsed .workspace{padding-right:0}.app:has(.su3d-workspace) .sidebar>.generator,.app:has(.su3d-workspace) .right-panel-toggle{display:none}.sidebar-brand h1{font-size:var(--jimu-body-size);letter-spacing:.12em;font-weight:800;line-height:1.3}.sidebar-brand>div{gap:2px;min-width:0;display:grid}.sidebar-brand>div>span{color:var(--jimu-line-strong);white-space:nowrap;font-size:11px;line-height:1.4}.workspace{background:var(--jimu-paper);flex-direction:column;flex:1;min-width:0;padding-right:348px;display:flex}.sidebar{background:var(--jimu-paper);border-right:1px solid var(--jimu-line);width:228px;color:var(--jimu-ink);z-index:20;border-color:var(--jimu-line);flex:0 0 228px;padding:18px 14px;position:relative;overflow:auto}.sidebar>.generator{background:var(--jimu-surface);border-left:1px solid var(--jimu-soft);z-index:15;border-color:var(--jimu-line);width:348px;box-shadow:none;margin:0;padding:20px 22px;position:fixed;top:64px;bottom:0;right:0;overflow:auto}.right-panel{background:var(--jimu-surface);border-color:var(--jimu-line);border-left:1px solid var(--jimu-soft);z-index:15;width:348px;box-shadow:none;padding:20px 22px;position:fixed;top:64px;bottom:0;right:0;overflow:auto}.workspace header{background:var(--jimu-surface);border-bottom:1px solid var(--jimu-line);z-index:16;-webkit-backdrop-filter:none;backdrop-filter:none;justify-content:space-between;align-items:center;height:64px;padding:0 24px;display:flex;position:relative}.toolbar{background:var(--jimu-surface);border-bottom:1px solid var(--jimu-line);-webkit-backdrop-filter:none;backdrop-filter:none;align-items:center;gap:10px;height:56px;padding:0 24px;display:flex}.workspace header input{border:1px solid var(--jimu-line);border-radius:var(--jimu-radius);background:var(--jimu-surface);color:var(--jimu-ink);border-color:var(--jimu-line);letter-spacing:0;min-width:260px;padding:10px;font-size:18px;font-weight:700;line-height:1.35}.toolbar button{background:var(--jimu-surface);border-color:var(--jimu-line);border:1px solid var(--jimu-line);align-items:center;gap:6px;font-size:13px;line-height:1.4;display:inline-flex}.nav{text-align:left;background:var(--jimu-soft);width:100%;color:var(--jimu-ink);border-color:var(--jimu-line);border-radius:var(--jimu-radius);margin-bottom:8px;font-size:13px;line-height:1.4}.panel-heading h3{letter-spacing:0;margin:4px 0 0;font-size:18px;line-height:1.35}.generator textarea::placeholder{color:var(--jimu-line-strong)}.chips{gap:8px;display:flex}.chips.wrap{flex-wrap:wrap}.chips button{flex:1}.chips.wrap button{flex:0 0 calc(50% - 4px)}.su-spaces-chips{gap:8px;display:grid}.su-space-chip{background:var(--jimu-primary);color:var(--jimu-primary-ink);cursor:pointer;border:0;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:13px;transition:background .2s,transform .15s;display:inline-flex;flex:none!important}.su-space-chip:hover{background:var(--jimu-primary-strong,var(--jimu-primary));transform:translateY(-1px)}.su-space-chip svg{opacity:.8}.su-space-add{border:1px dashed var(--jimu-line-strong);color:var(--jimu-muted);cursor:pointer;background:0 0;border-radius:999px;outline:none;padding:6px 10px;font-size:13px;flex:none!important}.su-space-add:focus{border-color:var(--jimu-primary)}.reference-list{flex-wrap:wrap;gap:8px;display:flex}.reference-thumb{border-radius:var(--jimu-radius);background:var(--jimu-soft);width:62px;height:62px;padding:0;position:relative;overflow:hidden}.reference-thumb img{object-fit:cover;width:100%;height:100%;display:block}.reference-thumb span{width:18px;height:18px;color:var(--jimu-surface);font-size:var(--jimu-body-size);background:#111827cc;border-radius:50%;place-items:center;line-height:1;display:grid;position:absolute;top:3px;right:3px}.space-capture-card{border-color:var(--jimu-primary)}.space-capture-card.selected{outline-color:var(--jimu-primary)}.mock-image.axon{background:var(--jimu-type-axon);background-color:var(--jimu-info-wash)!important}.mock-image.cabinet-structure{background:var(--jimu-type-cabinet);background-color:var(--jimu-type-cabinet)!important}.mock-image.mindmap{background:var(--jimu-type-mindmap);background-color:var(--jimu-type-mindmap)!important}.mock-image.ppt{background:var(--jimu-type-ppt);background-color:var(--jimu-type-ppt)!important}.regen-footer{gap:8px;display:grid!important}.mini-chips{gap:6px;display:flex}.mini-chips button{flex:1;padding:6px;font-size:12px}.kitchen-card{padding:14px}.kitchen-card pre{font-family:var(--jimu-font-mono);white-space:pre;background:var(--jimu-ink);max-height:44%;color:var(--jimu-ink-inverse);border-radius:var(--jimu-radius);margin:0 0 8px;padding:10px;font-size:11px;line-height:1.35;overflow:auto}.kitchen-card .pros{color:var(--jimu-muted);white-space:pre-line;max-height:70px;margin:0 0 8px;font-size:12px;overflow:auto}.kitchen-card textarea{border:1px solid var(--jimu-line);border-radius:var(--jimu-radius);resize:vertical;width:100%;min-height:44px;padding:8px;font-size:12px}.kitchen-card .kbtns{gap:6px;margin-top:6px;display:grid}.kitchen-card .kbtns button{padding:8px;font-size:12px}.kitchen-card .confirm{background:var(--jimu-success);color:var(--jimu-surface);font-weight:800}.kitchen-card .confirm:hover:not(:disabled){background:var(--jimu-success-dark)}.kitchen-card .regen{background:var(--jimu-soft)}.mock-image.kitchen{background:var(--jimu-type-kitchen);background-color:var(--jimu-type-kitchen)!important}.generator-section{border-bottom:1px solid var(--jimu-line);gap:10px;padding:16px 0;display:grid}.generator-section:first-child{padding-top:0}.generator-section:last-child{border-bottom:0;padding-bottom:0}.generator-section-head{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:2px;display:flex}.generator-section textarea{height:auto;min-height:76px}.generator-section .generate-btn{width:100%}.upload-section{border-top:3px solid var(--jimu-ink)}.floor-plan-section{border-top:3px solid var(--jimu-accent)}.axon-section{border-top:3px solid var(--jimu-muted)}.effect-source-list{gap:8px;display:grid}.effect-source-row{border:1px solid var(--jimu-line);border-radius:var(--jimu-radius);background:var(--jimu-paper);grid-template-columns:42px minmax(0,1fr);align-items:center;padding:8px;gap:8px!important;margin:0!important;display:grid!important}.effect-source-row img{border-radius:var(--jimu-radius);object-fit:cover;background:var(--jimu-soft);width:42px;height:42px}.effect-source-row>span{gap:3px;min-width:0;display:grid}.effect-source-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.effect-source-row small{color:var(--jimu-muted);font-size:9px;line-height:1.45}.effect-source-row select{grid-column:1/-1;width:100%;min-height:44px;font-size:11px;padding:8px!important}.generator textarea{resize:vertical;border:1px solid var(--jimu-line);border-radius:var(--jimu-radius);background:var(--jimu-surface);height:100px;color:var(--jimu-ink);border-color:var(--jimu-line);padding:10px}.generator input,.generator select{border:1px solid var(--jimu-line);border-radius:var(--jimu-radius);background:var(--jimu-surface);color:var(--jimu-ink);border-color:var(--jimu-line);padding:10px}.delete{background:var(--jimu-danger-wash);height:54px;color:var(--jimu-danger-ink);border-radius:0;font-weight:800}.mock-image.su{background:var(--jimu-type-su);color:var(--jimu-success-ink);background-color:var(--jimu-success-wash)!important}.mock-image.budget{background:var(--jimu-type-budget);color:var(--jimu-muted-strong)}.mock-image.cad{background:var(--jimu-type-cad);color:var(--jimu-ink-inverse);padding:8px;background-color:var(--jimu-ink-soft)!important}.generator-kicker{letter-spacing:.14em;color:var(--jimu-muted);font-size:10px;font-weight:800}.generator{background:var(--jimu-paper);color:var(--jimu-ink);gap:10px;margin-top:16px;display:grid}.generator-section-head h3{color:var(--jimu-ink);letter-spacing:0;margin:3px 0 0;font-size:18px;line-height:1.35}.generator label{margin-top:10px;font-size:13px;font-weight:700;line-height:1.4}.hint{color:var(--jimu-muted);margin:0;font-size:12px;line-height:1.5}.generator-fixed{border:1px solid var(--jimu-line);border-radius:var(--jimu-radius);color:var(--jimu-muted);white-space:nowrap;padding:4px 8px;font-size:12px;line-height:1.5}.effect-source-summary{border-radius:var(--jimu-radius);background:var(--jimu-info-wash);color:var(--jimu-info-ink);margin:0;padding:9px;font-size:12px;line-height:1.5}.effect-source-error{border:1px solid var(--jimu-danger);border-radius:var(--jimu-radius);background:var(--jimu-danger-wash);color:var(--jimu-danger-ink);margin:0;padding:9px;font-size:12px;line-height:1.5}.mock-image{background:var(--jimu-type-default);text-align:center;height:45%;min-height:110px;color:var(--jimu-muted);border-radius:0;place-items:center;margin-bottom:10px;padding:14px;font-weight:800;display:grid;position:relative;overflow:hidden;background-image:none!important;background-color:var(--jimu-soft)!important}.mock-image:has(>img.gen-img){height:auto;min-height:0}.mock-image>img.gen-img{border-radius:var(--jimu-radius);background:#f6f4f0;width:100%;height:auto;display:block;position:static}.capture-surface{border-radius:var(--jimu-radius);background:var(--jimu-soft);width:100%;height:calc(100% - 28px);position:relative;overflow:hidden}.capture-surface>img{object-fit:cover;border-radius:var(--jimu-radius);width:100%;height:100%;display:block}.capture-status{color:var(--jimu-primary);text-align:center;font-size:10px;position:absolute;bottom:-20px;left:10px;right:10px}.canvas-text{z-index:9;white-space:nowrap;cursor:move;-webkit-user-select:none;user-select:none;letter-spacing:.01em;color:#e21b34;text-shadow:0 0 3px #fffffff2,0 0 6px #ffffffbf,0 1px 2px #00000040;align-items:center;margin:-4px -8px;padding:4px 8px;font-weight:800;line-height:1.2;display:inline-flex;position:absolute;transform:translate(-50%,-50%)}.canvas-text-body{pointer-events:none}.canvas-text.hover{cursor:move}.canvas-text.editing{cursor:text}.canvas-text-input{font:inherit;color:inherit;text-shadow:inherit;letter-spacing:inherit;background:0 0;border:0;outline:none;min-width:3em;padding:0}.canvas-text-input::placeholder{color:#e21b3473;text-shadow:none}.canvas-text-tools{z-index:2;cursor:default;background:#fff;border:1px solid #0000002e;border-radius:7px;align-items:center;gap:2px;padding:2px;display:flex;position:absolute;top:100%;left:50%;transform:translate(-50%);box-shadow:0 3px 10px #141a2438}.canvas-text-tools button{cursor:pointer;color:#2d3748;background:0 0;border:0;border-radius:5px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 4px;font-size:10.5px;font-weight:600;display:inline-flex}.canvas-text-tools button:hover{background:#eef2f7}.canvas-text-tools button.danger{color:#c0392b}.canvas-text-tools button.danger:hover{background:#fdecec}.canvas-text-type{font-size:10.5px!important}.canvas-text-done{z-index:2;cursor:pointer;color:#fff;background:#e21b34;border:0;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;padding:0;display:inline-flex;position:absolute;top:50%;left:100%;transform:translate(4px,-50%)}.canvas-text-resize{z-index:3;cursor:nwse-resize;background:#e21b34;border:2px solid #fff;border-radius:50%;width:16px;height:16px;position:absolute;bottom:-8px;right:-8px;box-shadow:0 1px 4px #141a2459}.canvas-text-resize:hover{transform:scale(1.18)}.capture-layer{z-index:20;cursor:crosshair;background:#11182799;position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.capture-tip{z-index:2;color:var(--jimu-surface);white-space:nowrap;pointer-events:none;border-radius:var(--jimu-radius);background:#111827d9;padding:5px 9px;font-size:10px;position:absolute;top:8px;left:50%;transform:translate(-50%)}.capture-selection{border:2px solid var(--jimu-surface);cursor:move;box-shadow:0 0 0 9999px #11182799,0 0 0 1px var(--jimu-ink);background:0 0;position:absolute}.capture-selection:before{content:"";pointer-events:none;width:1px;height:100%;box-shadow:calc(var(--capture-third,1) * 0px) 0 0 transparent;background:#fff8;position:absolute;top:0;left:33.33%}.capture-selection:after{content:"";pointer-events:none;background:#fff8;width:100%;height:1px;position:absolute;top:33.33%;left:0}.capture-handle{border:2px solid var(--jimu-ink);background:var(--jimu-surface);border-radius:var(--jimu-radius);width:12px;height:12px;position:absolute}.capture-handle.nw{cursor:nwse-resize;top:-7px;left:-7px}.capture-handle.ne{cursor:nesw-resize;top:-7px;right:-7px}.capture-handle.sw{cursor:nesw-resize;bottom:-7px;left:-7px}.capture-handle.se{cursor:nwse-resize;bottom:-7px;right:-7px}.capture-size{background:var(--jimu-ink);color:var(--jimu-surface);white-space:nowrap;border-radius:var(--jimu-radius);padding:3px 6px;font-size:9px;position:absolute;bottom:-22px;left:0}.capture-toolbar{z-index:22;border-radius:var(--jimu-radius);box-shadow:none;background:#111827e8;gap:5px;padding:4px;display:flex;position:absolute}.capture-toolbar button{border-radius:var(--jimu-radius);background:var(--jimu-ink-soft);height:28px;color:var(--jimu-surface);justify-content:center;align-items:center;gap:3px;padding:0 9px;font-size:10px;display:flex}.capture-toolbar .capture-confirm{background:var(--jimu-primary)}.capture-toolbar .capture-confirm:hover{background:var(--jimu-primary-dark)}.capture-toolbar button:disabled{opacity:.42;cursor:not-allowed}.draw-layer{pointer-events:none;width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0;overflow:visible}.draw-layer .arrow-del{pointer-events:auto;cursor:pointer}.draw-layer .arrow-del:hover circle{stroke:#fca5a5}.eraser-mark{background:var(--jimu-surface);border:1px dashed var(--jimu-line-strong);pointer-events:none;border-radius:50%;width:44px;height:44px;position:absolute}.group-grid{grid-template-columns:repeat(2,1fr);gap:8px;width:100%;height:100%;display:grid}.annotations{flex-wrap:wrap;gap:5px;max-width:120px;display:flex;position:absolute;top:22px;right:22px}.annotations span{background:var(--jimu-danger);width:22px;height:22px;color:var(--jimu-surface);border-radius:50%;place-items:center;font-size:12px;font-weight:700;display:grid}.regions{pointer-events:none;width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0}.regions polygon{fill:#b91c1c22;stroke:var(--jimu-danger);stroke-width:2px;stroke-dasharray:6 4}.regions polyline{fill:none;stroke:var(--jimu-primary);stroke-width:2px;stroke-dasharray:6 4}.region-box{border:2px dashed var(--jimu-danger);pointer-events:none;border-radius:var(--jimu-radius);background:#b91c1c22;position:absolute}.region-box .region-del{background:var(--jimu-danger);color:#fff;cursor:pointer;pointer-events:auto;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;padding:0;font-size:13px;line-height:1;display:flex;position:absolute;top:-11px;right:-11px;box-shadow:0 1px 4px #00000059}.app-toast{z-index:9999;color:#fff;cursor:pointer;background:#111827;border-radius:10px;flex-direction:column;align-items:flex-start;max-width:380px;padding:12px 16px;font-size:13px;line-height:1.6;animation:.25s toast-in;display:flex;position:fixed;top:64px;right:20px;box-shadow:0 8px 28px #00000059}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.app-toast-text{flex:auto;min-width:0}.app-toast-act{cursor:pointer;color:#111827;background:#fff;border:0;border-radius:7px;flex:none;align-items:center;gap:4px;margin-top:8px;padding:5px 11px;font-size:12px;font-weight:600;display:inline-flex}.app-toast-act:hover{background:#e8ecf3}.esm-mask{z-index:300}.esm-panel{flex-direction:column;width:min(560px,94vw);max-height:86vh;padding:0;display:flex;overflow:hidden}.esm-head{background:#f7f9fc;border-bottom:1px solid #0000001a;flex:none;align-items:center;gap:7px;padding:13px 14px;display:flex}.esm-head strong{color:#1a202c;font-size:14px}.esm-src{color:#1c5c8f;background:#1c5c8f1a;border-radius:10px;padding:2px 8px;font-size:10.5px;font-weight:600}.esm-close{cursor:pointer;color:#6b7686;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;width:26px;height:26px;margin-left:auto;padding:0;display:inline-flex}.esm-close:hover{color:#1a202c;background:#00000012}.esm-body{flex-direction:column;flex:auto;gap:8px;min-height:0;padding:14px 16px 4px;display:flex;overflow-y:auto}.esm-body>label{color:#2d3748;margin-top:6px;font-size:12px;font-weight:600}.esm-tag{color:#8a6d0b;background:#fbbf2438;border-radius:8px;margin-left:6px;padding:1px 6px;font-size:10px;font-style:normal;font-weight:600}.esm-hint{color:#8b95a3;margin:0;font-size:11px;line-height:1.55}.esm-prompt{min-height:78px}.esm-body .chips{gap:6px}.esm-body .chips button{cursor:pointer;text-align:center;color:#2d3748;background:#fff;border:1px solid #00000029;border-radius:7px;flex:1 1 0;justify-content:center;align-items:center;min-width:0;padding:7px 0;font-size:12px;font-weight:600;display:inline-flex}.esm-body .chips button:hover{background:#f2f6fb}.esm-body .chips button.active{color:#fff;background:#1c5c8f;border-color:#1c5c8f}.esm-body .chips.wrap{flex-wrap:nowrap}.esm-body textarea:disabled,.esm-body select:disabled{color:#8b95a3;cursor:not-allowed;background:#f2f4f7}.esm-body textarea,.esm-body select{box-sizing:border-box;color:#1f2733;background:#fff;border:1px solid #0000002e;border-radius:7px;width:100%}.esm-foot{background:#fbfcfe;border-top:1px solid #0000001a;flex-direction:column;flex:none;gap:9px;padding:12px 16px 14px;display:flex}.esm-cost{color:#5b6675;font-size:12px}.esm-cost b{color:#c0392b;font-size:13px}.esm-btns{gap:8px;display:flex}.esm-cancel{cursor:pointer;color:#4a5568;background:#fff;border:1px solid #0000002e;border-radius:8px;flex:none;padding:9px 18px;font-size:13px;font-weight:600}.esm-cancel:hover{background:#f2f5f9}.esm-confirm{cursor:pointer;color:#fff;background:linear-gradient(135deg,var(--jimu-primary),#6f4fd8);border:0;border-radius:8px;flex:auto;justify-content:center;align-items:center;gap:5px;padding:9px 18px;font-size:13px;font-weight:700;display:inline-flex}.esm-confirm:hover:not(:disabled){filter:brightness(1.08)}.esm-confirm:disabled{opacity:.55;cursor:not-allowed}.build-stamp{color:var(--jimu-muted);opacity:.7;white-space:nowrap;align-self:center;font-size:11px}.region-box .region-del:hover{transform:scale(1.15)}.canvas[data-tool=橡皮擦] article.image-card,.canvas[data-tool=橡皮擦] div[data-card-id].upload-card,.canvas[data-tool=橡皮擦] [data-capture-surface]{cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'><path d='m7 21-4.3-4.3c-1-1-1-2.5 0-3.4l9.6-9.6c1-1 2.5-1 3.4 0l5.6 5.6c1 1 1 2.5 0 3.4L13 21z' fill='%23ffffff' stroke='%231f2937' stroke-width='1.8' stroke-linejoin='round'/><path d='m5 11 9 9' stroke='%231f2937' stroke-width='1.8' stroke-linecap='round'/><path d='M11 13.5 17.5 7' stroke='%23ec4899' stroke-width='2.4' stroke-linecap='round'/><path d='M22 21H7' stroke='%231f2937' stroke-width='1.8' stroke-linecap='round'/></svg>") 2 21,auto}.region-box.draft{border-color:var(--jimu-primary);background:#2563eb22}.resize-handle{border:2px solid var(--jimu-surface);background:var(--jimu-primary);cursor:nwse-resize;width:16px;height:16px;box-shadow:none;border-radius:50%;position:absolute;bottom:-7px;right:-7px}.canvas-upload-edge span{writing-mode:vertical-rl;letter-spacing:2px}.context-radial button:nth-child(2){top:-7px;left:89px}.context-radial button:nth-child(3){top:2px;left:131px}.context-radial button:nth-child(4){top:29px;left:164px}.context-radial button:nth-child(5){top:68px;left:183px}.context-radial button:nth-child(6){top:110px;left:183px}.context-radial button:nth-child(7){top:149px;left:164px}.context-radial button:nth-child(8){top:176px;left:131px}.context-radial button:nth-child(9){top:185px;left:89px}.context-radial button:nth-child(10){top:176px;left:47px}.context-radial button:nth-child(11){top:149px;left:14px}.context-radial button:nth-child(12){top:110px;left:-5px}.context-radial button:nth-child(13){top:68px;left:-5px}.context-radial button:nth-child(14){top:29px;left:14px}.context-radial button:nth-child(15){top:2px;left:47px}.upload-card{background:var(--jimu-surface);border:1px solid var(--jimu-line);border-radius:var(--jimu-radius);-webkit-user-select:none;user-select:none;border-color:var(--jimu-line);box-shadow:none;padding:10px;position:absolute;overflow:visible}.image-card{background:var(--jimu-surface);border:1px solid var(--jimu-line);border-radius:var(--jimu-radius);-webkit-user-select:none;user-select:none;border-color:var(--jimu-line);box-shadow:none;padding:12px;position:absolute}.context-radial{z-index:50;background:var(--jimu-surface);border:1px solid var(--jimu-ink);border-color:var(--jimu-line);width:220px;height:220px;box-shadow:none;border-radius:50%;place-items:center;display:grid;position:fixed;transform:translate(-50%,-50%)}.context-radial-center{background:var(--jimu-primary);width:58px;height:58px;color:var(--jimu-surface);text-align:center;box-shadow:none;border-radius:50%;place-items:center;padding:8px;font-size:11px;display:grid}.context-radial button{background:var(--jimu-soft);width:42px;height:42px;color:var(--jimu-primary);border:1px solid var(--jimu-line);border-color:var(--jimu-line);box-shadow:none;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute}.context-radial button:hover{background:var(--jimu-primary);color:var(--jimu-surface)}.canvas-upload-edge{z-index:5;border-radius:var(--jimu-radius);background:var(--jimu-primary);color:var(--jimu-surface);box-shadow:none;flex-direction:column;align-items:center;gap:4px;padding:14px 10px;font-size:12px;font-weight:700;display:flex;position:absolute;top:50%;left:0;transform:translateY(-50%)}.canvas-upload-edge:hover:not(:disabled){background:var(--jimu-primary-dark)}.canvas{background-color:var(--jimu-paper);border-top:1px solid var(--jimu-line);background-image:radial-gradient(circle,#17120d1a 1px,#0000 1px);background-size:24px 24px;flex:1;position:relative;overflow:hidden}.canvas-viewport{transform-origin:0 0;will-change:transform;width:0;height:0;position:absolute;top:0;left:0}.canvas-viewport.dragging,.canvas-viewport.panning{cursor:grabbing}.canvas[data-tool=选择] .canvas-viewport{cursor:default}.canvas-zoom{z-index:6;border:1px solid var(--jimu-line);border-radius:var(--jimu-radius);background:var(--jimu-surface);align-items:center;gap:2px;padding:3px;display:flex;position:absolute;bottom:82px;right:14px}.canvas-zoom button{min-width:26px;height:24px;color:var(--jimu-ink);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0 6px;font-size:13px}.canvas-zoom button:hover{background:var(--jimu-soft)}.canvas-zoom .canvas-zoom-val{min-width:52px;color:var(--jimu-muted);font-size:12px}.video-generator{gap:0}.video-type-section{border-top:3px solid var(--jimu-ink)}.video-output-section{border-top:3px solid var(--jimu-primary)}.video-source-summary{border:1px solid var(--jimu-line);border-radius:var(--jimu-radius);background:var(--jimu-paper);align-items:center;gap:10px;padding:11px;display:flex}.video-source-summary>svg{color:var(--jimu-primary);flex:none}.video-source-summary div{gap:3px;min-width:0;display:grid}.video-source-summary strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.video-source-summary span{text-overflow:ellipsis;white-space:nowrap;color:var(--jimu-muted);font-size:10px;overflow:hidden}.video-output-grid{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.video-output-grid label{gap:5px;margin:0;font-size:11px;display:grid}.video-output-grid select{min-width:0;padding:8px 6px;font-size:11px}.video-card{border:1px solid var(--jimu-line);border-radius:var(--jimu-radius);background:var(--jimu-surface);-webkit-user-select:none;user-select:none;box-shadow:none;position:absolute;overflow:visible}.video-card.selected{outline:3px solid var(--jimu-primary)}.video-card.playing{box-shadow:none}.video-preview:after{content:"";pointer-events:none;background:linear-gradient(#11182700,#0000 42%,#111827aa);display:none;position:absolute;top:0;right:0;bottom:0;left:0}.video-preview-top{z-index:2;justify-content:space-between;align-items:center;gap:7px;padding:10px;display:flex;position:relative}.video-badge,.video-duration{border-radius:var(--jimu-radius);-webkit-backdrop-filter:none;backdrop-filter:none;background:#111827cc;border:1px solid #ffffff38;align-items:center;gap:4px;padding:4px 7px;font-size:9px;display:inline-flex}.video-play-button{z-index:3;background:var(--jimu-surface);width:52px;height:52px;color:var(--jimu-primary);box-shadow:none;border:1px solid #ffffff70;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.video-play-button:hover:not(:disabled){background:var(--jimu-surface);transform:translate(-50%,-50%)}.video-card.playing .video-play-button{background:var(--jimu-primary);color:var(--jimu-surface)}.video-progress{z-index:3;border-radius:var(--jimu-radius);background:#ffffff45;height:3px;position:absolute;bottom:10px;left:12px;right:12px;overflow:hidden}.video-progress i{background:var(--jimu-primary);border-radius:inherit;height:100%;transition:width .35s;display:block}.video-el{z-index:1;object-fit:cover;border-radius:inherit;background:#000;width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0}.video-status-overlay{z-index:4;text-align:center;border-radius:inherit;color:#fff;background:#17120dcc;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:12px;display:flex;position:absolute;top:0;right:0;bottom:0;left:0}.video-status-overlay strong{letter-spacing:.04em;font-size:13px}.video-status-overlay small{opacity:.75;text-overflow:ellipsis;white-space:nowrap;max-width:92%;font-size:11px;overflow:hidden}.video-status-overlay.failed strong{color:#ff8a7a}.video-spinner{border:2px solid #ffffff40;border-top-color:var(--jimu-primary);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite jimu-video-spin}@keyframes jimu-video-spin{to{transform:rotate(360deg)}}.video-card.playing .video-progress i{animation:4s linear infinite video-progress}.video-card-body{align-content:start;gap:7px;height:42%;min-height:112px;padding:10px 12px;display:grid}.video-title-row{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.video-title-row>div{min-width:0}.video-title-row button{border-radius:var(--jimu-radius);border:1px solid var(--jimu-line);background:var(--jimu-paper);flex:none;place-items:center;width:29px;height:29px;padding:0;display:grid}.video-title-row button.muted{color:var(--jimu-danger-ink);background:var(--jimu-danger-wash)}.video-controls{grid-template-columns:1fr 1fr;gap:6px;display:grid}.video-controls button{border-radius:var(--jimu-radius);border:1px solid var(--jimu-line);background:var(--jimu-soft);justify-content:center;align-items:center;gap:4px;padding:6px;font-size:10px;display:flex}.video-title-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:16px;line-height:1.4;display:block;overflow:hidden}.video-title-row span{text-overflow:ellipsis;white-space:nowrap;color:var(--jimu-muted);margin-top:2px;font-size:11px;line-height:1.45;display:block;overflow:hidden}.video-meta{color:var(--jimu-muted);flex-wrap:wrap;gap:4px 9px;font-size:11px;line-height:1.45;display:flex}.video-preview{background-color:var(--jimu-ink);height:58%;min-height:130px;color:var(--jimu-surface);background-position:50%;background-size:cover;border-radius:0;position:relative;overflow:hidden;background-image:none!important}.ppt-generator{gap:0}.ppt-project-section{border-top:3px solid var(--jimu-ink)}.ppt-brand-section{border-top:3px solid var(--jimu-accent)}.ppt-content-section{border-top:3px solid var(--jimu-primary)}.ppt-visual-section{border-top:3px solid var(--jimu-muted)}.ppt-outline-section{border-top:3px solid var(--jimu-ink)}.ppt-style-preview{border-radius:var(--jimu-radius);border-left:6px solid;align-content:end;gap:2px;min-height:82px;padding:13px;display:grid;position:relative;overflow:hidden}.ppt-style-preview i{width:48px;height:7px;position:absolute;top:14px;right:14px}.ppt-style-preview strong{font-size:15px}.ppt-style-preview span{opacity:.68;font-size:10px}.ppt-check{grid-template-columns:auto 1fr;align-items:center;font-size:12px;gap:8px!important;display:flex!important}.ppt-check input{width:16px}.ppt-outline-btn{border:1px solid var(--jimu-line);background:var(--jimu-paper);font-weight:800}.ppt-outline-list{gap:6px;display:grid}.ppt-outline-item{border:1px solid var(--jimu-line);border-radius:var(--jimu-radius);background:var(--jimu-surface);grid-template-columns:25px minmax(0,1.2fr) minmax(92px,.8fr) auto;align-items:center;gap:5px;padding:5px;display:grid}.ppt-outline-item>span{color:var(--jimu-muted);text-align:center;font-size:9px}.ppt-outline-item input,.ppt-outline-item select{background:var(--jimu-surface);min-width:0;border:0!important;padding:7px!important}.ppt-outline-item>div{gap:2px;display:flex}.ppt-outline-item button{border-radius:var(--jimu-radius);width:28px;height:28px;padding:0;font-size:10px}.ppt-add-outline{border:1px dashed var(--jimu-line-strong);background:0 0;font-size:11px}.ppt-asset-role-list{border:1px solid var(--jimu-line);border-radius:var(--jimu-radius);background:var(--jimu-paper);gap:6px;padding:8px;display:grid}.ppt-asset-role-list label{grid-template-columns:minmax(0,1fr) 112px;align-items:center;gap:8px;margin:0!important;display:grid!important}.ppt-asset-role-list span{text-overflow:ellipsis;white-space:nowrap;color:var(--jimu-muted);font-size:10px;overflow:hidden}.ppt-asset-role-list select{min-width:0;font-size:10px;padding:7px!important}.ppt-html-card{border:1px solid var(--jimu-line);border-radius:var(--jimu-radius);background:var(--jimu-surface);-webkit-user-select:none;user-select:none;box-shadow:none;position:absolute;overflow:visible}.ppt-html-card.selected{outline:3px solid var(--jimu-primary)}.ppt-html-cover>span{letter-spacing:.18em;font-size:8px}.ppt-html-cover strong{font-size:25px;line-height:1.05}.ppt-html-cover i{background:var(--card-accent);width:58px;height:6px}.ppt-html-cover small{opacity:.7;font-size:10px}.ppt-html-card-body{align-content:start;gap:5px;height:38%;padding:11px;display:grid}.ppt-html-card-body>div{grid-template-columns:1fr 1fr;gap:5px;display:grid}.ppt-html-card-body button{justify-content:center;align-items:center;gap:4px;padding:6px;font-size:9px;display:flex}.ppt-editor-open .sidebar{display:none}.ppt-editor-open .workspace{padding-right:0}.ppt-editor{box-shadow:none;background:var(--jimu-paper);flex-direction:column;height:100vh;display:flex}.ppt-editor-toolbar{border-bottom:1px solid var(--jimu-line);background:var(--jimu-surface);align-items:center;gap:8px;height:58px;padding:0 14px;display:flex}.ppt-editor-toolbar button,.ppt-stage-actions button{align-items:center;gap:5px;min-height:36px;padding:7px 9px;font-size:11px;display:flex}.ppt-stage-actions .danger{background:var(--jimu-danger-wash);color:var(--jimu-danger-ink);margin-left:8px}.ppt-editor-spacer{flex:1}.ppt-editor-body{flex:1;grid-template-columns:218px minmax(0,1fr) 280px;min-height:0;display:grid}.ppt-thumbnails{box-shadow:none;border-right:1px solid var(--jimu-line);background:var(--jimu-paper);padding:12px;overflow:auto}.ppt-thumbnails-head{justify-content:space-between;margin-bottom:10px;font-size:12px;display:flex}.ppt-thumbnails>button{text-align:left;background:var(--jimu-surface);border:1px solid #0000;grid-template-columns:24px minmax(0,1fr) 8px;align-items:center;gap:5px;width:100%;margin-bottom:6px;padding:8px;display:grid;position:relative}.ppt-thumbnails>button.active{border-color:var(--jimu-primary);background:var(--jimu-surface);color:var(--jimu-ink)!important}.ppt-thumbnails button>span{color:var(--jimu-muted);font-size:9px}.ppt-thumbnails button div{min-width:0}.ppt-thumbnails button b{text-overflow:ellipsis;white-space:nowrap;font-size:10px;display:block;overflow:hidden}.ppt-thumbnails button small{text-overflow:ellipsis;white-space:nowrap;color:var(--jimu-muted);font-size:8px;display:block;overflow:hidden}.ppt-quality-dot{background:var(--jimu-success);border-radius:50%;width:7px;height:7px}.ppt-quality-dot.warning{background:var(--jimu-warning)}.ppt-quality-dot.error{background:var(--jimu-danger)}.ppt-stage{grid-template-rows:auto 1fr;min-width:0;padding:12px 20px 24px;display:grid;overflow:auto}.ppt-stage-actions{justify-content:center;gap:5px;margin-bottom:10px;display:flex}.ppt-stage-frame{box-shadow:none;border:1px solid var(--jimu-line-strong);aspect-ratio:16/9;background:var(--jimu-surface);place-self:center;width:min(100%,1100px)}.ppt-properties{box-shadow:none;border-left:1px solid var(--jimu-line);background:var(--jimu-surface);padding:16px;overflow:auto}.ppt-property-head{gap:4px;margin-bottom:16px;display:grid}.ppt-property-head span{letter-spacing:.16em;color:var(--jimu-muted);font-size:9px}.ppt-properties label{gap:6px;margin-bottom:13px;font-size:11px;font-weight:800;display:grid}.ppt-properties input,.ppt-properties select{border-radius:var(--jimu-radius);border:1px solid var(--jimu-line);background:var(--jimu-surface);width:100%;padding:9px}.ppt-properties textarea{border-radius:var(--jimu-radius);border:1px solid var(--jimu-line);background:var(--jimu-surface);resize:vertical;width:100%;min-height:92px;padding:9px}.ppt-quality-panel{border-radius:var(--jimu-radius);background:var(--jimu-success-wash);color:var(--jimu-success-ink);gap:5px;margin-top:16px;padding:10px;display:grid}.ppt-quality-panel.warning{background:var(--jimu-warning-wash);color:var(--jimu-warning-ink)}.ppt-quality-panel.error{background:var(--jimu-danger-wash);color:var(--jimu-danger-ink)}.ppt-quality-panel strong{align-items:center;gap:5px;font-size:11px;display:flex}.ppt-quality-panel p{margin:0;font-size:9px;line-height:1.5}.ppt-layout-image-focus .ppt-slide-inner{grid-template-columns:1.35fr .65fr}.ppt-layout-analysis .ppt-slide-inner{grid-template-columns:1.2fr .8fr}.ppt-layout-compare .ppt-slide-inner{grid-template-columns:1.35fr .65fr}.ppt-compare{border-radius:var(--ppt-radius);background:var(--ppt-surface);-webkit-user-select:none;user-select:none;min-width:0;min-height:0;position:relative;overflow:hidden}.ppt-compare.is-interactive{cursor:ew-resize;touch-action:none}.ppt-compare img{object-fit:cover;pointer-events:none;width:100%;height:100%;display:block;position:absolute;top:0;right:0;bottom:0;left:0}.ppt-compare-overlay{clip-path:inset(0 calc(100% - var(--ppt-compare-r) * 100%) 0 0);position:absolute;top:0;right:0;bottom:0;left:0}.ppt-compare-handle{top:0;bottom:0;left:calc(var(--ppt-compare-r) * 100%);pointer-events:none;background:#fff;width:2px;margin-left:-1px;position:absolute}.ppt-compare-handle i{background:#fff;border:1px solid #00000047;border-radius:50%;width:22px;height:22px;margin:-11px 0 0 -11px;position:absolute;top:50%;left:50%;box-shadow:0 1px 6px #0006}.ppt-compare-tag{color:#fff;pointer-events:none;text-overflow:ellipsis;white-space:nowrap;background:#0000008c;border-radius:3px;max-width:45%;padding:3px 7px;font-size:9px;font-style:normal;position:absolute;top:10px;overflow:hidden}.ppt-compare-tag-left{left:10px}.ppt-compare-tag-right{right:10px}.ppt-generator label{gap:6px;font-size:13px;line-height:1.4;display:grid}.ppt-html-card-body>strong{text-overflow:ellipsis;white-space:nowrap;font-size:16px;line-height:1.4;overflow:hidden}.ppt-html-card-body>span{text-overflow:ellipsis;white-space:nowrap;color:var(--jimu-muted);font-size:11px;line-height:1.45;overflow:hidden}.ppt-html-cover{background:var(--card-bg);height:62%;color:var(--card-text);border-radius:0;align-content:center;gap:7px;padding:24px;display:grid;overflow:hidden;background-image:none!important}.ppt-slide{background:var(--ppt-bg);width:100%;height:100%;color:var(--ppt-text);font-family:var(--ppt-font);position:relative;overflow:hidden}.ppt-slide-inner{gap:var(--ppt-gap);padding:var(--ppt-page);grid-template-columns:1fr 1fr;display:grid;position:absolute;top:0;right:0;bottom:0;left:0}.ppt-slide-copy{z-index:2;align-content:center;align-self:center;gap:1.2vw;display:grid}.ppt-slide-index{font-size:var(--ppt-caption);color:var(--ppt-accent);letter-spacing:.15em;font-weight:800}.ppt-slide h1{max-width:13ch;font-size:var(--ppt-title);letter-spacing:0;margin:0;line-height:.98}.ppt-key-message{max-width:35ch;color:var(--ppt-muted);font-size:var(--ppt-body);margin:0;line-height:1.55}.ppt-slide ul{font-size:var(--ppt-caption);gap:.5vw;margin:0;padding-left:1.2em;line-height:1.45;display:grid}.ppt-slide li::marker{color:var(--ppt-accent)}.ppt-media-grid{grid-template-columns:1fr 1fr;gap:1vw;min-width:0;min-height:0;display:grid}.ppt-media{border-radius:var(--ppt-radius);background:var(--ppt-surface);position:relative;overflow:hidden}.ppt-media:first-child{grid-column:1/-1}.ppt-media img{object-fit:cover;width:100%;height:100%;display:block}.ppt-slide-floor .ppt-media img,.ppt-slide-axon .ppt-media img{object-fit:contain}.ppt-media span{color:#fff;background:#0009;padding:3px 6px;font-size:8px;position:absolute;bottom:8px;left:10px}.ppt-slide-footer{left:var(--ppt-page);right:var(--ppt-page);border-top:1px solid var(--ppt-text);justify-content:space-between;display:flex;position:absolute;bottom:2.5%}@supports (color:color-mix(in lab,red,red)){.ppt-slide-footer{border-top:1px solid color-mix(in srgb,var(--ppt-text) 18%,transparent)}}.ppt-slide-footer{color:var(--ppt-muted);font-size:var(--ppt-caption);padding-top:.8%}.ppt-slide-cover .ppt-slide-inner{grid-template-columns:.8fr 1.2fr}.ppt-slide-cover h1{font-size:calc(var(--ppt-title)*1.12)}.ppt-slide-image .ppt-slide-inner{grid-template-columns:1.35fr .65fr}.ppt-slide h1.is-selected,.ppt-slide-copy .is-selected{outline:2px solid var(--ppt-accent);outline-offset:5px}.ppt-present{z-index:300;background:#090909;place-items:center;display:grid;position:fixed;top:0;right:0;bottom:0;left:0}.ppt-present>.ppt-slide{width:auto;max-width:96vw;height:min(94vh,900px);max-height:94vh;aspect-ratio:inherit}.ppt-present-close{z-index:3;background:#fffd;min-width:44px;min-height:44px;position:absolute;top:18px;right:18px}.ppt-present-nav{z-index:3;background:#fffd;min-width:44px;min-height:44px;position:absolute;top:50%;transform:translateY(-50%)}.ppt-present-nav.prev{left:18px}.ppt-present-nav.next{right:18px}.ppt-print-deck{display:none}.su-card .mock-image{background:var(--jimu-type-su);color:var(--jimu-success-ink)}.su-badge{color:var(--jimu-success-ink);align-items:center;gap:5px;margin-bottom:7px;font-size:11px;font-weight:800;display:inline-flex}.su-properties{display:block}.su-editor{gap:12px;display:grid}.su-editor input,.su-editor select{border-color:var(--jimu-line);background:var(--jimu-surface);color:var(--jimu-ink);border:1px solid var(--jimu-line);border-radius:var(--jimu-radius);width:100%;padding:9px;font-weight:400}.su-editor textarea{border-color:var(--jimu-line);background:var(--jimu-surface);color:var(--jimu-ink);border:1px solid var(--jimu-line);border-radius:var(--jimu-radius);resize:vertical;width:100%;min-height:90px;padding:9px;font-weight:400}.su3d-toolbar strong{align-items:center;gap:6px;display:inline-flex}.su3d-toolbar button{align-items:center;gap:6px;padding:8px 10px;font-size:12px;display:inline-flex}.su3d-toolbar button.active{background:var(--jimu-primary)!important;color:var(--jimu-surface)!important}.su3d-hint{color:var(--jimu-muted);font-size:12px}.su3d-spacer{flex:1}.su3d-divider{background:var(--jimu-border,#00000026);width:1px;height:22px;margin:0 4px}.su3d-style-select{border:1px solid var(--jimu-border,#00000026);border-radius:var(--jimu-radius,8px);background:var(--jimu-surface,#fff);height:34px;color:var(--jimu-ink,#222);padding:0 8px;font-size:12px}.su3d-render-btn{border-radius:var(--jimu-radius,8px);font-size:12px;font-weight:500;background:var(--jimu-primary,#185fa5)!important;color:#fff!important;border:0!important}.su3d-render-btn:disabled{opacity:.6;cursor:progress}.su3d-body{flex:1;grid-template-columns:minmax(0,1fr) 300px;min-height:0;display:grid}.su3d-stage{min-width:0;min-height:0;position:relative}.su3d-stage canvas{touch-action:none;display:block}.su3d-minimap{z-index:3;border-radius:var(--jimu-radius);pointer-events:none;opacity:.96;background:#fff;border:1px solid #ffffff9e;position:absolute;bottom:54px;left:18px;overflow:hidden;box-shadow:0 4px 16px #0000002e}.su3d-minimap-img{object-fit:fill;width:100%;height:100%;display:block;position:absolute;top:0;right:0;bottom:0;left:0}.su3d-minimap-overlay{width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0}.su3d-minimap-room{fill:#e24b4a0f;fill-opacity:.35;stroke:#e24b4a;stroke-width:2px}.su3d-minimap-dot{fill:#e24b4a;stroke:#fff;stroke-width:1.6px}.su3d-minimap-dot.is-outside{fill:#e24b4a59;stroke:#e24b4a;stroke-width:2px}.su3d-minimap-aim{fill:#185fa5;stroke:#fff;stroke-width:1.4px}.su3d-minimap-tag{color:#fff;background:#0000008c;border-top-right-radius:4px;padding:2px 6px;font-size:9px;position:absolute;bottom:0;left:0}.su3d-stage-tip{background:var(--jimu-surface);color:var(--jimu-muted);pointer-events:none;border-radius:var(--jimu-radius);-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid #fff9;padding:7px 11px;font-size:11px;position:absolute;bottom:16px;left:18px}.su3d-inspector-head{justify-content:space-between;align-items:center;display:flex}.su3d-upload{border:1px dashed var(--jimu-line-strong);border-radius:var(--jimu-radius);background:var(--jimu-paper);color:var(--jimu-primary);cursor:pointer;justify-content:center;align-items:center;gap:7px;margin:16px 0;padding:10px;font-size:13px;font-weight:700;display:flex}.su3d-upload input{display:none}.su3d-section{border-top:1px solid var(--jimu-line);gap:7px;margin-top:18px;padding-top:16px;display:grid}.su3d-check{color:var(--jimu-muted-strong);cursor:pointer;align-items:center;gap:8px;margin-top:10px;font-size:12px;display:flex}.su3d-section>strong{font-size:13px}.su3d-section>button{text-align:left;justify-content:space-between;align-items:center;padding:8px 10px;font-size:12px;display:flex}.su3d-section>button small{color:var(--jimu-muted)}.su3d-actions{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.su3d-actions button{justify-content:center;align-items:center;gap:4px;padding:7px;font-size:11px;display:flex}.su3d-shot-results{flex-direction:column;gap:6px;margin-top:8px;display:flex}.su3d-shot-result{align-items:center;gap:6px;display:flex}.su3d-shot-result img{object-fit:cover;border:1px solid var(--jimu-line,#e3ded4);border-radius:6px;flex:none;width:46px;height:34px}.su3d-shot-result span{color:var(--jimu-text,#2b2b2b);flex:1;font-size:11px}.su3d-shot-result button{white-space:nowrap;align-items:center;gap:3px;padding:5px 8px;font-size:11px;display:flex}.su3d-multi-btn{background:var(--jimu-primary,#2f7bff);color:#fff;border-radius:var(--jimu-radius,8px);cursor:pointer;border:none;justify-content:center;align-items:center;padding:7px 10px;font-size:11px;display:flex}.su3d-multi-btn:disabled{opacity:.6;cursor:not-allowed}.su3d-stage-steps{flex-direction:column;gap:3px;margin:4px 0 8px;display:flex}.su3d-stage-step{background:var(--jimu-soft);color:var(--jimu-muted);border-radius:6px;padding:4px 8px;font-size:11px}.su3d-stage-step.done{color:var(--jimu-ink)}.su3d-stage-step.active{background:var(--jimu-primary);color:#fff;font-weight:600}.su3d-stage-btn{border-radius:var(--jimu-radius,8px);color:#fff;cursor:pointer;background:#0f6e56;border:none;width:100%;padding:8px 10px;font-size:12px}.su3d-stage-btn:disabled{opacity:.55;cursor:not-allowed}.su3d-walkthrough-btn{color:#fff;border-radius:var(--jimu-radius,8px);cursor:pointer;background:#8a6a3f;border:none;justify-content:center;align-items:center;padding:7px 10px;font-size:11px;display:flex}.su3d-walkthrough-btn:disabled{opacity:.6;cursor:not-allowed}.su3d-shots{flex-direction:column;gap:4px;margin-top:6px;display:flex}.su3d-shot{align-items:center;gap:4px;display:flex}.su3d-shot>button:first-child{text-align:left;flex:1;padding:6px 8px;font-size:11px}.su3d-shot-del{color:var(--jimu-danger,#b23b3b);padding:6px 8px;font-size:12px;line-height:1}.su3d-mini-select{border:1px solid var(--jimu-line,#d8d2c9);border-radius:var(--jimu-radius,8px);background:var(--jimu-surface,#fff);color:var(--jimu-text,#2b2b2b);cursor:pointer;padding:6px 4px;font-size:11px}.su3d-selection{border-radius:var(--jimu-radius);background:var(--jimu-info-wash);color:var(--jimu-primary);padding:9px;font-size:12px}.su3d-inspector .danger-btn{justify-content:center;align-items:center;gap:5px;display:flex}.su-reference-list{gap:8px;display:grid}.su-reference-row{border-radius:var(--jimu-radius);background:#ffffff73;border:1px solid #785b4629;grid-template-columns:minmax(0,1fr) 126px;align-items:center;gap:10px;padding:9px 10px;display:grid!important}.su-reference-row>span,.su-dimension-row>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.su-reference-row select{margin:0}.su-dimension-row{border-radius:var(--jimu-radius);background:#ffffff73;border:1px solid #785b4629;grid-template-columns:minmax(0,1fr) 92px 24px;align-items:center;gap:10px;padding:9px 10px;display:grid!important}.su-dimension-row small{color:var(--jimu-muted);font-size:10px;display:block}.su-dimension-row input{margin:0}.su-dimension-row em{color:var(--jimu-muted);font-size:11px;font-style:normal}.su3d-workspace{background:var(--jimu-paper);flex-direction:column;flex:1;min-height:0;display:flex}.su3d-inspector{border-left:1px solid var(--jimu-line);background:var(--jimu-surface);box-shadow:none;padding:18px;overflow:auto}.su3d-toolbar{border-bottom:1px solid var(--jimu-line);background:var(--jimu-surface);-webkit-backdrop-filter:none;backdrop-filter:none;flex:0 0 56px;align-items:center;gap:8px;height:56px;padding:0 16px;display:flex}.su3d-inspector-head h3{letter-spacing:0;margin:4px 0 0;font-size:18px;line-height:1.35}.su-editor label{gap:6px;font-size:13px;font-weight:700;line-height:1.4;display:grid}.su-meta{color:var(--jimu-muted);gap:5px;margin-top:8px;font-size:11px;line-height:1.45;display:grid}.budget-generator{gap:0}.budget-source-section{border-top:3px solid var(--jimu-ink)}.budget-project-section{border-top:3px solid var(--jimu-accent)}.budget-review-section{border-top:3px solid var(--jimu-primary)}.budget-check{align-items:center;font-size:12px;gap:8px!important;display:flex!important}.budget-check input{width:16px;height:16px;margin:0}.budget-parse-btn{border:1px solid var(--jimu-line);background:var(--jimu-paper);min-height:44px;font-weight:800}.budget-quantity-table{border:1px solid var(--jimu-line);border-radius:var(--jimu-radius);background:var(--jimu-paper);gap:5px;padding:8px;display:grid;overflow-x:auto}.budget-quantity-head{min-width:300px;color:var(--jimu-muted);grid-template-columns:minmax(108px,1fr) 70px 34px 62px;align-items:center;gap:5px;padding:0 6px;font-size:9px;font-weight:800;margin:0!important;display:grid!important}.budget-quantity-row{border-radius:var(--jimu-radius);background:var(--jimu-surface);grid-template-columns:minmax(108px,1fr) 70px 34px 62px;align-items:center;gap:5px;min-width:300px;padding:6px;margin:0!important;display:grid!important}.budget-quantity-row>span{min-width:0;font-size:11px;font-weight:800}.budget-quantity-row small{text-overflow:ellipsis;white-space:nowrap;color:var(--jimu-muted);margin-top:2px;font-size:8px;font-weight:400;display:block;overflow:hidden}.budget-quantity-row input{width:100%;min-width:0;padding:7px!important}.budget-quantity-row em{color:var(--jimu-muted);font-size:10px;font-style:normal}.budget-quantity-row button{min-height:36px;padding:6px;font-size:9px}.budget-quantity-row button.confirmed{background:var(--jimu-success-wash);color:var(--jimu-success-ink)}.budget-warning{border-left:3px solid var(--jimu-warning);border-radius:var(--jimu-radius);background:var(--jimu-warning-wash);color:var(--jimu-warning-ink);margin:0;padding:8px 10px;font-size:10px;line-height:1.5}.cad-kitchen-btn{background:var(--jimu-primary)!important;color:var(--jimu-surface)!important}.cad-kitchen-btn:hover:not(:disabled){background:var(--jimu-primary-dark)!important}.cad-generator{gap:0}.cad-source-section{border-top:3px solid var(--jimu-ink)}.cad-kitchen-section{border-top:3px solid var(--jimu-accent)}.cad-review-section{border-top:3px solid var(--jimu-primary)}.cad-source-list{gap:7px;display:grid}.cad-source-row{border-radius:var(--jimu-radius);border:1px solid var(--jimu-line);background:var(--jimu-surface);grid-template-columns:minmax(0,1fr) 132px;align-items:center;gap:8px;padding:8px;margin:0!important;display:grid!important}.cad-source-row span{text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:700;overflow:hidden}.cad-source-row select{min-width:0;margin:0}.cad-check{align-items:center;font-size:12px;gap:8px!important;display:flex!important}.cad-check input{width:16px;height:16px;margin:0}.cad-parse-btn{border:1px solid var(--jimu-line);background:var(--jimu-paper);min-height:44px;font-weight:800}.cad-dimension-table{border:1px solid var(--jimu-line);border-radius:var(--jimu-radius);background:var(--jimu-paper);gap:6px;padding:8px;display:grid;overflow-x:auto}.cad-dimension-row{border-radius:var(--jimu-radius);background:var(--jimu-surface);grid-template-columns:minmax(115px,1fr) 72px 28px 62px;align-items:center;gap:5px;min-width:300px;padding:7px;margin:0!important;display:grid!important}.cad-dimension-row>span{min-width:0;font-size:11px;font-weight:800}.cad-dimension-row small{text-overflow:ellipsis;white-space:nowrap;color:var(--jimu-muted);margin-top:2px;font-size:8px;font-weight:400;display:block;overflow:hidden}.cad-dimension-row input{width:100%;min-width:0;padding:7px!important}.cad-dimension-row em{color:var(--jimu-muted);font-size:10px;font-style:normal}.cad-dimension-row button{min-height:36px;padding:6px;font-size:9px}.cad-dimension-row button.confirmed{background:var(--jimu-success-wash);color:var(--jimu-success-ink)}.cad-warning{border-left:3px solid var(--jimu-warning);border-radius:var(--jimu-radius);background:var(--jimu-warning-wash);color:var(--jimu-warning-ink);margin:0;padding:8px 10px;font-size:10px;line-height:1.5}.cad-export-row{border:1px solid var(--jimu-line-strong);border-radius:var(--jimu-radius);background:var(--jimu-surface-sunken);flex-wrap:wrap;align-items:center;gap:8px;padding:10px;display:flex}.cad-export-label{letter-spacing:.06em;color:var(--jimu-muted);font-size:10px}.cad-export-item{border:1px solid var(--jimu-line);border-radius:var(--jimu-radius);background:var(--jimu-surface);align-items:center;gap:6px;padding:3px 4px 3px 8px;display:inline-flex}.cad-export-item em{color:var(--jimu-ink);font-size:10px;font-style:normal}.cad-export-item button{border:1px solid var(--jimu-line-strong);border-radius:var(--jimu-radius);background:var(--jimu-soft);color:var(--jimu-ink);cursor:pointer;padding:3px 8px;font-size:10px}.cad-export-item button:hover{border-color:var(--jimu-primary);color:var(--jimu-primary)}.cad-export-item button:active{background:var(--jimu-surface-sunken)}.cad-svg-preview svg{width:100%;height:100%;display:block}.cad-svg-preview{border:1px solid var(--jimu-line-strong);background:var(--jimu-surface);width:100%;height:100%;display:block;overflow:hidden}.cad-point-preview{background:repeating-linear-gradient(0deg,var(--jimu-surface) 0,var(--jimu-surface) 19px,var(--jimu-soft) 20px);flex-direction:column;justify-content:flex-end;align-items:center;gap:8px;width:100%;height:100%;padding:18px;display:flex}.cad-point-preview i{border-top:2px solid var(--jimu-danger);width:100%;display:block}.cad-point-preview span{color:var(--jimu-danger-ink);font-size:10px}.cad-point-preview strong{color:var(--jimu-ink);font-size:13px}.grid{gap:16px;display:grid}.cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:18px}.stats{grid-template-columns:repeat(3,1fr);margin-bottom:18px}.course-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.tabs{gap:10px;margin-bottom:18px;display:flex}table{border-collapse:collapse;background:var(--jimu-surface);border-radius:var(--jimu-radius);width:100%;overflow:hidden}td{text-align:left;border-bottom:1px solid var(--jimu-soft);padding:12px}th{text-align:left;border-bottom:1px solid var(--jimu-soft);background:var(--jimu-soft);padding:12px}.usage-chart{gap:14px;height:320px;display:flex}.y-axis{width:38px;color:var(--jimu-muted);text-align:right;flex-direction:column;justify-content:space-between;padding-bottom:28px;font-size:12px;display:flex}.bars{border-left:2px solid var(--jimu-line-strong);border-bottom:2px solid var(--jimu-line-strong);background:repeating-linear-gradient(to top,var(--jimu-soft) 0 1px,transparent 1px 20%);flex:1;grid-template-columns:repeat(30,1fr);align-items:end;gap:6px;padding:10px 8px 28px;display:grid}.bar-col{flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;min-width:0;height:100%;display:flex}.recent-projects-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-top:22px;display:grid}.page input{border:1px solid var(--jimu-line);border-radius:var(--jimu-radius);background:var(--jimu-surface);color:var(--jimu-ink);border-color:var(--jimu-line);padding:10px}.progress{background:var(--jimu-soft);border-radius:var(--jimu-radius);height:8px;overflow:hidden}.page{background:var(--jimu-paper);flex:1;padding:28px;overflow:auto}.recent-projects{background:var(--jimu-paper);flex:1;padding:30px;overflow:auto}.page h2{color:var(--jimu-ink);letter-spacing:0;margin:0 0 20px;font-size:24px;line-height:1.25}.course{background:var(--jimu-surface);border:1px solid var(--jimu-soft);border-radius:var(--jimu-radius);border-color:var(--jimu-line);box-shadow:none;gap:8px;padding:18px;display:grid}.usage-panel{background:var(--jimu-surface);border:1px solid var(--jimu-soft);border-radius:var(--jimu-radius);border-color:var(--jimu-line);box-shadow:none;margin-bottom:18px;padding:22px}.recent-project{background:var(--jimu-surface);border:1px solid var(--jimu-soft);border-radius:var(--jimu-radius);border-color:var(--jimu-line);box-shadow:none;gap:8px;padding:18px;display:grid}.asset-summary{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px;display:grid}.asset-total,.asset-cash{background:var(--jimu-soft);border-radius:var(--jimu-radius);gap:4px;padding:14px;display:grid}.asset-total span,.asset-cash span{color:var(--jimu-muted);font-size:12px}.asset-cash b{font-size:22px}.asset-cash.gift b{color:var(--jimu-warning)}.asset-lots{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.asset-lot{border:1px solid var(--jimu-line);border-radius:var(--jimu-radius);gap:2px;padding:10px 12px;display:grid}.asset-lot .lot-name{color:var(--jimu-muted);font-size:12px}.asset-lot b{font-size:20px}.asset-lot small{color:var(--jimu-line-strong);font-size:11px}.asset-meta{color:var(--jimu-muted-strong);flex-wrap:wrap;gap:18px;margin-top:14px;font-size:13px;display:flex}.plan-cards,.pack-cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.plan-card.featured{border-color:var(--jimu-primary);box-shadow:none}.plan-badge{background:var(--jimu-primary);color:var(--jimu-surface);border-radius:var(--jimu-radius);padding:3px 10px;font-size:11px;position:absolute;top:-11px;right:16px}.plan-card h4,.pack-card h4{margin:0;font-size:16px}.plan-price{color:var(--jimu-ink);font-size:30px;font-weight:700}.plan-price small{font-size:var(--jimu-body-size);color:var(--jimu-muted);font-weight:400}.plan-credits{color:var(--jimu-muted-strong);font-size:var(--jimu-body-size);margin:0}.plan-quote{background:var(--jimu-paper);border-radius:var(--jimu-radius);color:var(--jimu-muted-strong);padding:10px 12px;font-size:12px;line-height:1.7}.recharge-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;display:grid}.recharge-tile{border:1px solid var(--jimu-line);border-radius:var(--jimu-radius);background:var(--jimu-surface);justify-items:center;gap:6px;padding:18px;display:grid;position:relative}.recharge-tile:hover{border-color:var(--jimu-primary);background:var(--jimu-paper)}.recharge-tile b{font-size:22px}.gift-tag{background:var(--jimu-warning-wash);color:var(--jimu-warning);border-radius:var(--jimu-radius);padding:2px 8px;font-size:11px}.custom-recharge{align-items:center;gap:10px;margin-top:14px;display:flex}.wallet-section table{border-collapse:collapse;width:100%;margin-top:6px}.wallet-section td{text-align:left;border-bottom:1px solid var(--jimu-line);padding:8px 10px;font-size:13px}.wallet-section th{text-align:left;border-bottom:1px solid var(--jimu-line);color:var(--jimu-muted);padding:8px 10px;font-size:13px;font-weight:600}.asset-total b{color:var(--jimu-primary);font-size:26px}.wallet-note{color:var(--jimu-muted);background:var(--jimu-paper);border-left:3px solid var(--jimu-line);border-radius:var(--jimu-radius);border-left-color:var(--jimu-line);margin:12px 0 0;padding:8px 12px;font-size:12px;line-height:1.6}.wallet-section h3{align-items:center;gap:8px;margin:0 0 14px;font-size:18px;line-height:1.35;display:flex}.wallet-section{background:var(--jimu-surface);border:1px solid var(--jimu-line);border-radius:var(--jimu-radius);border-color:var(--jimu-line);box-shadow:none;padding:20px}.plan-card{border:1px solid var(--jimu-line);border-radius:var(--jimu-radius);background:var(--jimu-surface);box-shadow:none;gap:8px;padding:20px;display:grid;position:relative}.profile{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start;gap:16px;display:grid}.profile-span{grid-column:1/-1}.profile-card{background:var(--jimu-surface);border:1px solid var(--jimu-line);border-radius:var(--jimu-radius);align-content:start;gap:14px;padding:20px;display:grid}.profile-card h3{letter-spacing:0;color:var(--jimu-ink);align-items:center;gap:8px;margin:0;font-size:16px;font-weight:800;display:flex}.profile-card h3 svg{color:var(--jimu-accent);flex:none}.profile-rows{gap:0;display:grid}.profile-rows>div{border-bottom:1px dashed var(--jimu-line);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;font-size:13.5px;display:flex}.profile-rows>div:last-child{border-bottom:0}.profile-rows span{color:var(--jimu-muted)}.profile-rows b{color:var(--jimu-ink);word-break:break-all;font-weight:800}.profile-field{gap:6px;display:grid}.profile-field>span{color:var(--jimu-muted);font-size:12px}.profile-field input{border:1px solid var(--jimu-line);border-radius:var(--jimu-radius);background:var(--jimu-surface-sunken);width:100%;color:var(--jimu-ink);padding:10px 12px;font-size:13.5px}.profile-field input:focus{outline:2px solid var(--jimu-primary);outline-offset:1px}.profile-field-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;display:grid}.profile-actions{justify-content:flex-end;gap:10px;display:flex}.profile-actions .pay-btn{min-width:120px}.profile-note{color:var(--jimu-muted);margin:0;font-size:12px;line-height:1.6}.profile .danger-zone{border-left:3px solid var(--jimu-danger)}.profile .danger-zone h3,.profile .danger-zone h3 svg{color:var(--jimu-danger-ink)}.profile button[disabled]{opacity:.5;cursor:not-allowed}.apikey-row{align-items:center;gap:10px;display:flex}.apikey-row code{border:1px solid var(--jimu-line);border-radius:var(--jimu-radius);background:var(--jimu-surface-sunken);min-width:0;color:var(--jimu-ink);text-overflow:ellipsis;white-space:nowrap;flex:1;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;overflow:hidden}.apikey-row button{border-radius:var(--jimu-radius);border:1px solid var(--jimu-line-strong);background:var(--jimu-soft);color:var(--jimu-ink);cursor:pointer;flex:none;padding:9px 16px;font-weight:700}.apikey-row button:hover:not([disabled]){border-color:var(--jimu-accent)}.apikey-link{color:var(--jimu-accent);word-break:break-all;font-size:12.5px;text-decoration:none}.apikey-link:hover{text-decoration:underline}.pack-card{border:1px solid var(--jimu-line);border-radius:var(--jimu-radius);background:var(--jimu-surface);box-shadow:none;gap:8px;padding:20px;display:grid;position:relative}.pay-btn{background:var(--jimu-primary);color:var(--jimu-surface);border-radius:var(--jimu-radius);box-shadow:none;justify-content:center;align-items:center;gap:6px;margin-top:6px;font-weight:600;display:inline-flex}.modal-mask{z-index:100;-webkit-backdrop-filter:none;backdrop-filter:none;background:#11182799;place-items:center;display:grid;position:fixed;top:0;right:0;bottom:0;left:0}.designer-overlay-mask{z-index:200;background:#0d111799;place-items:center;display:grid;position:fixed;top:0;right:0;bottom:0;left:0}.designer-overlay{background:#fff;border-radius:12px;flex-direction:column;width:min(1400px,96vw);height:min(900px,94vh);display:flex;overflow:hidden;box-shadow:0 24px 80px #00000073}.designer-overlay-head{color:#fff;background:linear-gradient(90deg,#2f3a4a,#3b4a5e);flex:none;align-items:center;gap:10px;padding:10px 14px;display:flex}.designer-overlay-head strong{align-items:center;gap:6px;font-size:14px;display:inline-flex}.designer-overlay-sub{opacity:.8;font-size:12px}.designer-overlay-close{color:#fff;cursor:pointer;background:#ffffff29;border:none;border-radius:6px;margin-left:auto;padding:6px 12px;font-size:13px}.designer-overlay-close:hover{background:#ffffff47}.designer-frame{background:#f4f6f9;border:0;flex:auto;width:100%;min-height:0}.su3d-designer-btn{color:#fff;background:#3b4a5e;border:none;align-items:center;gap:5px;display:inline-flex}.su3d-designer-btn:hover{background:#2f3a4a}.su3d-designer-btn:disabled{opacity:.6;cursor:default}.agreement-modal{gap:14px;max-height:88vh;display:grid}.agreement-head h3{margin:0 0 10px;font-size:18px}.agreement-order{color:var(--jimu-muted-strong);background:var(--jimu-paper);border-radius:var(--jimu-radius);flex-wrap:wrap;gap:14px;padding:12px;font-size:13px;display:flex}.agreement-order b{color:var(--jimu-ink)}.agreement-highlights{gap:8px;display:grid}.agreement-warn{color:var(--jimu-warning);background:var(--jimu-warning-wash);border:1px solid var(--jimu-warning);border-radius:var(--jimu-radius);margin:0;padding:10px 12px;font-size:13px;font-weight:700;line-height:1.6}.agreement-body{border:1px solid var(--jimu-line);border-radius:var(--jimu-radius);background:var(--jimu-paper);max-height:34vh;padding:14px;overflow:auto}.agreement-body pre{white-space:pre-wrap;color:var(--jimu-muted);margin:0;font-family:inherit;font-size:12.5px;line-height:1.8}.agreement-check{color:var(--jimu-ink);align-items:center;gap:8px;font-size:13px;display:flex}.agreement-check.disabled{color:var(--jimu-line-strong)}.agreement-check em{color:var(--jimu-warning);font-size:12px;font-style:normal}.agreement-check input{width:16px;height:16px}.agreement-actions{justify-content:flex-end;gap:12px;display:flex}.agreement-actions .ghost{background:var(--jimu-soft)}.insufficient-modal{gap:16px;width:min(420px,92vw);display:grid}.insufficient-modal h3{color:var(--jimu-danger);margin:0;font-size:18px}.insufficient-info{background:var(--jimu-paper);border-radius:var(--jimu-radius);font-size:var(--jimu-body-size);gap:6px;padding:14px;display:grid}.insufficient-info b{color:var(--jimu-ink)}.insufficient-info .gap b{color:var(--jimu-danger)}.danger-zone{border:1px solid var(--jimu-danger);background:var(--jimu-danger-wash);border-radius:var(--jimu-radius);padding:18px}.danger-zone h3{color:var(--jimu-danger-ink);margin:0 0 8px}.danger-zone p{color:var(--jimu-muted);margin:0 0 14px;font-size:13px;line-height:1.6}.danger-btn{background:var(--jimu-danger);color:var(--jimu-surface);border-radius:0;font-weight:700}.danger-btn:hover:not(:disabled){background:var(--jimu-danger-dark)}.modal{background:var(--jimu-surface);border:1px solid var(--jimu-line-strong);border-radius:var(--jimu-radius);width:min(640px,92vw);box-shadow:none;padding:24px}.generation-copy span{color:var(--jimu-info-wash);font-size:12px}.generation-overlay{z-index:200;background:var(--jimu-surface);border:1px solid var(--jimu-line-strong);pointer-events:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:14px;align-items:center;gap:14px;padding:14px 20px;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 12px 40px #00000061}.generation-overlay:before{content:"";background:var(--jimu-yellow);border-radius:50%;flex:none;width:12px;height:12px;animation:1.1s ease-in-out infinite generation-pulse}@keyframes generation-pulse{0%,to{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}.generation-overlay canvas{width:100%;height:100%;display:none;position:absolute;top:0;right:0;bottom:0;left:0}.generation-copy{z-index:1;text-align:left;color:var(--jimu-ink);pointer-events:none;background:0 0;border:0;gap:3px;padding:0;display:grid;position:relative}.generation-copy strong{letter-spacing:0;font-size:14px;font-weight:800;line-height:1.35}.generation-copy>span:last-child{color:var(--jimu-line-strong);font-size:11px;line-height:1.4}.generation-kicker{letter-spacing:.14em;color:var(--jimu-yellow);font-size:10px;font-weight:800;line-height:1.3}@media(max-width:640px){.app{overflow:auto}.sidebar{flex:none;gap:6px;width:100%;height:auto;display:flex;overflow-x:auto}.sidebar-brand{min-width:max-content;margin:0}.sidebar>.generator{border:1px solid var(--jimu-line);border-radius:var(--jimu-radius);width:auto;max-height:70vh;position:fixed;inset:auto 10px 10px}.workspace{min-height:70vh}.context-radial{width:170px;height:170px}.su3d-body{flex-direction:column;display:flex}.su3d-stage{min-height:52vh}.su3d-inspector{border-left:0;border-top:1px solid var(--jimu-line);max-height:36vh}.cad-source-row{grid-template-columns:1fr}.cad-dimension-row{grid-template-columns:minmax(105px,1fr) 68px 25px 58px}body{font-size:var(--jimu-body-size)}.page,.recent-projects{padding:20px 16px}.workspace header{padding:0 16px}.workspace header input{width:65%;min-width:0;font-size:16px}}@media(max-width:720px){.login-page{padding:0}.login-hero-copy{padding:48px 0 32px}.login-feature-list{gap:9px}.login-feature-list span{font-size:10px}.login-form-card{padding:22px}.login-wechat-box{grid-template-columns:1fr}.login-qr-frame{width:120px;height:120px}.login-contact{grid-template-columns:1fr}.login-contact>div{grid-column:auto}.login-contact a,.login-contact span{font-size:12px}.login-shell{border:0;grid-template-columns:1fr;min-height:100dvh}.login-brand-panel{border-right:0;border-bottom:1px solid var(--jimu-ink-soft);border-radius:0;min-height:420px;padding:28px}.login-form-panel{border-radius:0;align-items:start;padding:28px 18px}.ppt-editor-body{flex-direction:column;display:flex}.ppt-thumbnails{border-right:0;border-bottom:1px solid var(--jimu-line);max-height:130px}.ppt-properties{border-left:0;border-top:1px solid var(--jimu-line);max-height:220px}.ppt-stage{min-height:45vh}.ppt-outline-item{grid-template-columns:22px minmax(0,1fr) auto}.ppt-outline-item>select{grid-column:2/4}.ppt-editor-toolbar{overflow-x:auto}.ppt-stage-actions{justify-content:flex-start;overflow-x:auto}.ppt-present>.ppt-slide{width:96vw;height:auto;max-height:90vh}.login-hero-copy h1{font-size:44px;line-height:1.1}.login-form-head h2{font-size:24px}.sidebar-brand>div>span{font-size:10px}}@media(max-width:900px){.cad-source-row{grid-template-columns:1fr}.cad-dimension-row{grid-template-columns:minmax(105px,1fr) 68px 25px 58px}.sidebar{flex-basis:190px;width:190px}.workspace{padding-right:0}.sidebar>.generator{width:min(348px,100vw - 190px);position:fixed;right:0}.right-panel{width:min(348px,100vw - 190px)}.right-panel-toggle{right:min(348px,100vw - 190px)}.right-panel-reopen{right:0}.su3d-body{grid-template-columns:minmax(0,1fr) 250px}.su3d-toolbar{overflow-x:auto}.su3d-hint{display:none}}@media(max-width:980px){.ppt-editor-body{grid-template-columns:170px minmax(0,1fr) 230px}.ppt-editor-toolbar strong{display:none}}@media(prefers-reduced-motion:reduce){.video-card.playing .video-progress i{width:68%;animation:none}button{transition:none}.ppt-present>*{animation:none!important}}@media print{body>*{visibility:hidden}.ppt-editor *{visibility:visible}.ppt-editor{visibility:visible;background:var(--jimu-surface);height:auto;position:absolute;top:0;right:0;bottom:0;left:0}.ppt-editor-toolbar,.ppt-editor-body{display:none!important}.ppt-print-deck{display:block}.ppt-print-page{width:100vw;aspect-ratio:var(--ppt-print-ratio,16/9);page-break-after:always;break-after:page}.ppt-print-page:last-child{page-break-after:auto;break-after:auto}.ppt-print-page>.ppt-slide{width:100%;height:100%}}.api-tester{max-width:1100px;margin:0 auto;padding:24px 32px}.api-tester-head h2{color:var(--jimu-ink);margin:0 0 4px;font-size:20px;font-weight:700}.api-tester-head .hint{color:var(--jimu-muted);margin:0;font-size:13px}.api-tester-grid{grid-template-columns:1fr 1fr;gap:24px;margin-top:20px;display:grid}@media(max-width:900px){.api-tester-grid{grid-template-columns:1fr}}.api-form{flex-direction:column;gap:14px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field>span{color:var(--jimu-muted);font-size:13px;font-weight:500}.field input,.field select,.field textarea{font-family:var(--jimu-font);color:var(--jimu-ink);background:var(--jimu-surface);border:1px solid var(--jimu-line);border-radius:var(--jimu-radius);outline:none;padding:9px 12px;font-size:14px;transition:border-color .15s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--jimu-primary)}.raw-body{font-family:var(--jimu-font-mono);font-size:12px}:root[data-theme=light]{--jimu-paper:#f4f5f2;--jimu-surface:#fff;--jimu-surface-sunken:#e9ebe6;--jimu-soft:#e6e8e2;--jimu-line:#1a1c1924;--jimu-line-strong:#1a1c1940;--jimu-ink:#1a1c19;--jimu-ink-soft:#c9cbc4;--jimu-ink-inverse:#f4f2eb;--jimu-muted:#565953;--jimu-muted-strong:#3a3d39}:root[data-theme=light] body{background:var(--jimu-paper);color:var(--jimu-ink)}:root[data-theme=light] .nav:hover:not(:disabled){background:var(--jimu-soft);color:var(--jimu-ink)}.sidebar>button:last-of-type{border-top:1px solid var(--jimu-line);margin-top:12px;padding-top:12px}.settings-page h2{align-items:center;gap:8px;margin:0 0 20px;font-size:22px;display:flex}.settings-card{background:var(--jimu-surface);border:1px solid var(--jimu-line);border-radius:var(--jimu-radius);margin-bottom:16px;padding:18px 20px}.settings-card h3{color:var(--jimu-muted-strong);margin:0 0 14px;font-size:15px;font-weight:700}.seg{border:1px solid var(--jimu-line);border-radius:var(--jimu-radius);display:inline-flex;overflow:hidden}.seg button{color:var(--jimu-ink);cursor:pointer;background:0 0;border:none;padding:9px 20px;font-size:14px}.seg button+button{border-left:1px solid var(--jimu-line)}.seg button.active{font-weight:700;background:var(--jimu-primary)!important;color:var(--jimu-surface)!important}.swatch{border:2px solid var(--jimu-line-strong);cursor:pointer;border-radius:50%;width:34px;height:34px;padding:0;transition:transform .12s}.swatch:hover{transform:scale(1.08)}.settings-tip{color:var(--jimu-muted);margin-top:4px;font-size:13px}.field-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.checkbox{color:var(--jimu-ink);cursor:pointer;flex-direction:row;align-items:center;gap:8px;font-size:13px;display:flex}.checkbox input{width:auto}.api-send{border-radius:var(--jimu-radius);background:var(--jimu-primary);color:#fff;cursor:pointer;border:none;margin-top:4px;padding:11px 16px;font-size:14px;font-weight:600;transition:background .15s}.api-send:hover:not(:disabled){background:var(--jimu-primary-dark)}.api-send:disabled{opacity:.6;cursor:default}.api-save-global{border:1px solid var(--jimu-primary);border-radius:var(--jimu-radius);color:var(--jimu-primary);cursor:pointer;background:0 0;margin-top:-6px;padding:9px 16px;font-size:13px;font-weight:600;transition:background .15s}.api-save-global:hover{background:var(--jimu-surface)}.api-result{flex-direction:column;gap:14px;min-height:200px;display:flex}.api-placeholder{color:var(--jimu-muted);text-align:center;border:1px dashed var(--jimu-line);border-radius:var(--jimu-radius);padding:40px;font-size:13px}.api-error{background:var(--jimu-danger-wash-strong);color:var(--jimu-danger-dark);border:1px solid var(--jimu-danger);border-radius:var(--jimu-radius);padding:10px 12px;font-size:13px}.api-status-row{align-items:center;gap:12px;display:flex}.status-badge{border-radius:var(--jimu-radius);padding:4px 10px;font-size:13px;font-weight:700}.status-badge.ok{background:var(--jimu-success-wash);color:var(--jimu-success)}.status-badge.fail{background:var(--jimu-danger-wash-strong);color:var(--jimu-danger-dark)}.api-latency{color:var(--jimu-muted);font-size:13px}.link-btn{border:1px solid var(--jimu-line);border-radius:var(--jimu-radius);cursor:pointer;color:var(--jimu-primary);background:0 0;margin-left:auto;padding:5px 10px;font-size:12px}.link-btn:hover{background:var(--jimu-surface)}.api-images{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;display:grid}.api-image-card{border:1px solid var(--jimu-line);border-radius:var(--jimu-radius);background:var(--jimu-surface);overflow:hidden}.api-image-card img{width:100%;display:block}.api-image-card .link-btn{border:none;border-top:1px solid var(--jimu-line);border-radius:0;width:100%}.api-json{border:1px solid var(--jimu-line);border-radius:var(--jimu-radius);overflow:hidden}.api-json-head{background:var(--jimu-surface);color:var(--jimu-muted);border-bottom:1px solid var(--jimu-line);padding:8px 12px;font-size:12px}.api-json pre{font-family:var(--jimu-font-mono);color:var(--jimu-ink);white-space:pre-wrap;word-break:break-all;max-height:320px;margin:0;padding:12px;font-size:12px;overflow:auto}.session-warn{z-index:9999;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:10px;align-items:center;gap:10px;max-width:360px;padding:10px 14px;font-size:13px;font-weight:500;animation:.32s cubic-bezier(.16,1,.3,1) session-warn-in;display:flex;position:fixed;top:20px;right:20px;box-shadow:0 8px 24px #d9770659,0 0 0 1px #ffffff14}.session-warn span{flex:1;line-height:1.45}.session-warn button{color:#fff;cursor:pointer;background:#ffffff2e;border:none;border-radius:6px;justify-content:center;align-items:center;width:22px;height:22px;font-size:16px;line-height:1;transition:background .15s;display:flex}.session-warn button:hover{background:#ffffff52}@keyframes session-warn-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.settings-page{max-width:720px;margin:0 auto;padding:4px 0 32px}.settings-page>h2{align-items:center;gap:10px;margin:0 0 14px;font-size:20px;font-weight:600;display:flex}.settings-section{margin-bottom:10px}.settings-section-title{display:none}.settings-card{background:var(--jimu-surface);border:1px solid var(--jimu-line);border-radius:14px;padding:6px;overflow:hidden;box-shadow:0 1px 2px #0000000a}.settings-row{border-radius:10px;align-items:center;gap:16px;padding:14px 16px;transition:background .15s;display:flex}.settings-row+.settings-row{border-top:1px solid var(--jimu-line)}.settings-row:hover{background:var(--jimu-paper)}.settings-row-info{flex:1;min-width:0}.settings-row-title{color:var(--jimu-ink);align-items:center;gap:8px;margin:0 0 3px;font-size:14px;font-weight:600;display:flex}.settings-row-title svg{color:var(--jimu-primary);flex-shrink:0}.settings-row-desc{color:var(--jimu-muted);margin:0;font-size:12px;line-height:1.5}.settings-row-control{flex-shrink:0}.settings-card-foot{background:var(--jimu-paper);border-top:1px solid var(--jimu-line);color:var(--jimu-muted);align-items:center;gap:8px;padding:12px 16px;font-size:12px;display:flex}.settings-card-foot svg{color:var(--jimu-primary)}.seg-pill{background:var(--jimu-paper);border:1px solid var(--jimu-line);border-radius:10px;gap:2px;padding:4px;display:inline-flex}.seg-pill button{color:var(--jimu-muted);cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:500;transition:all .18s;display:inline-flex}.seg-pill button:hover{color:var(--jimu-ink)}.seg-pill button.active{background:var(--jimu-surface);color:var(--jimu-ink);box-shadow:0 1px 3px #00000014}.seg-pill button.active svg{color:var(--jimu-primary)}.swatches{flex-wrap:wrap;gap:12px;display:flex}.swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;outline:none;width:34px;height:34px;padding:0;transition:transform .18s,box-shadow .18s;position:relative}.swatch:hover{transform:scale(1.12);box-shadow:0 4px 12px #00000026}.swatch.active{border-color:var(--jimu-ink);box-shadow:0 0 0 3px var(--jimu-paper),0 0 0 4px var(--jimu-ink)}.swatch:after{content:attr(aria-label);background:var(--jimu-ink);color:var(--jimu-paper);white-space:nowrap;opacity:0;pointer-events:none;border-radius:6px;padding:4px 10px;font-size:11px;transition:opacity .18s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.swatch:hover:after{opacity:1}.about-list{flex-direction:column;display:flex}.about-list-row{justify-content:space-between;align-items:center;padding:10px 16px;font-size:13px;display:flex}.about-list-row+.about-list-row{border-top:1px solid var(--jimu-line)}.about-list-row span:first-child{color:var(--jimu-muted)}.about-list-row span:last-child{color:var(--jimu-ink);font-weight:500}.about-list-row a{color:var(--jimu-primary);text-decoration:none}.about-list-row a:hover{text-decoration:underline}.danger-btn-soft{border:1px solid var(--jimu-line);color:#ef4444;cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;transition:all .15s;display:inline-flex}.danger-btn-soft:hover{background:#ef444414;border-color:#ef444466}.pay-qr-modal{background:var(--jimu-surface);border:1px solid var(--jimu-line-strong);border-radius:var(--jimu-radius);text-align:center;width:min(360px,92vw);padding:24px}.pay-qr-head h3{color:var(--jimu-ink);margin:0 0 6px;font-size:16px;font-weight:600}.pay-qr-amount{color:var(--jimu-primary);margin:0 0 16px;font-size:22px;font-weight:600}.pay-qr-img{background:var(--jimu-surface-sunken);border:1px solid var(--jimu-line);border-radius:10px;width:220px;height:220px;margin:0 auto;padding:6px;display:block}.pay-qr-fallback{border:1px dashed var(--jimu-line-strong);width:220px;height:220px;color:var(--jimu-muted);border-radius:10px;justify-content:center;align-items:center;margin:0 auto;font-size:13px;display:flex}.pay-qr-status{min-height:20px;color:var(--jimu-ink-soft);margin:14px 0 0;font-size:13px}.pay-qr-actions{margin-top:16px}.pay-qr-tip{color:var(--jimu-muted);margin:10px 0 0;font-size:12px}.video-controls button.enhance-btn{grid-column:1/-1}.video-controls button.enhance-btn:disabled{opacity:.5;cursor:default}.video-controls button.enhancing{color:#b98a4a;border-color:#b98a4a66}.video-status-overlay.enhancing-overlay{background:#1a1408cc;box-shadow:inset 0 0 0 2px #b98a4a80}.video-status-overlay.enhancing-overlay strong{color:#e8b96a}.video-meta .enhance-tag{color:#b98a4a;border:1px solid #b98a4a55;border-radius:999px;padding:1px 6px;font-size:10px}.floor-editor-head h3{margin:0 0 4px}.floor-editor-head .hint{margin:0}.floor-editor-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:12px;display:flex}.check-badge{z-index:5;cursor:pointer;border:1px solid #0000;border-radius:999px;align-items:center;gap:4px;padding:3px 9px;font-size:11px;font-weight:600;line-height:1.4;display:inline-flex;position:absolute;top:8px;left:8px}.check-badge.ok{background:var(--jimu-success-wash);color:var(--jimu-success-ink);border-color:var(--jimu-success-dark)}.check-badge.warn{background:var(--jimu-warning-wash);color:var(--jimu-warning-ink);border-color:var(--jimu-warning)}.check-modal{width:min(92vw,560px);max-width:560px;max-height:80vh;overflow:auto}.check-score{margin:14px 0 10px;font-size:15px;font-weight:700}.check-score.ok{color:var(--jimu-success)}.check-score.warn{color:var(--jimu-warning)}.check-issues{color:var(--jimu-muted-strong);gap:8px;margin:0;padding-left:18px;font-size:13px;display:grid}.check-issues b{color:var(--jimu-ink)}.compare-modal{width:min(920px,92vw)}.compare-stage{aspect-ratio:4/3;-webkit-user-select:none;user-select:none;cursor:col-resize;touch-action:none;background:#f4f2ee;border-radius:12px;width:100%;position:relative;overflow:hidden}.compare-img{object-fit:contain;pointer-events:none;width:100%;height:100%;display:block;position:absolute;top:0;right:0;bottom:0;left:0}.compare-left{position:absolute;top:0;right:0;bottom:0;left:0}.compare-line{background:var(--jimu-ink,#1c1c1e);pointer-events:none;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0;box-shadow:0 0 0 1px #ffffff8c}.compare-handle{width:38px;height:38px;color:var(--jimu-ink,#1c1c1e);pointer-events:none;background:#fff;border-radius:50%;justify-content:center;align-items:center;font-size:18px;font-style:normal;font-weight:700;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 10px #00000040}.compare-tag{color:#fff;pointer-events:none;background:#0000008c;border-radius:999px;padding:4px 12px;font-size:12px;font-weight:600;position:absolute;top:12px}.compare-tag-left{left:12px}.compare-tag-right{right:12px}.compare-btn{background:var(--jimu-soft);color:var(--jimu-ink);border-radius:var(--jimu-radius);cursor:pointer;border:0;font-size:12px}.preview3d-btn{background:var(--jimu-primary);color:var(--jimu-ink-inverse);border-radius:var(--jimu-radius);cursor:pointer;border:0;justify-content:center;align-items:center;gap:5px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.preview3d-btn:hover{background:var(--jimu-primary-dark)}.preview3d-btn.cadvec-su-btn{background:var(--jimu-primary-dark);font-weight:700}.preview3d-btn.cadvec-su-btn:hover{filter:brightness(1.08)}.upload-card-actions{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.upload-action-btn{background:var(--jimu-primary);color:var(--jimu-ink-inverse);border-radius:var(--jimu-radius);cursor:pointer;border:0;align-items:center;gap:5px;padding:5px 9px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.upload-action-btn:hover{background:var(--jimu-primary-dark)}.upload-action-btn:disabled{opacity:.6;cursor:progress}.preview3d-modal{gap:14px;width:min(520px,92vw);max-height:88vh;display:grid;overflow-y:auto}.preview3d-head h3{color:var(--jimu-ink);margin:0 0 4px;font-size:16px}.preview3d-head p{color:var(--jimu-muted);margin:0;font-size:12px}.preview3d-form{grid-template-columns:1fr 1fr;gap:12px;display:grid}.preview3d-form label{color:var(--jimu-muted);gap:6px;font-size:12px;display:grid}.preview3d-form label em{color:var(--jimu-muted);font-size:11px;font-style:normal}.preview3d-form input[type=number]{background:var(--jimu-surface-sunken);border:1px solid var(--jimu-line);border-radius:var(--jimu-radius);color:var(--jimu-ink);width:100%;padding:8px 10px;font-size:13px}.preview3d-form input[type=number]:focus{border-color:var(--jimu-focus);outline:none}.preview3d-check{color:var(--jimu-muted-strong);cursor:pointer;align-items:center;gap:8px;font-size:12px;display:flex}.preview3d-result{gap:8px;display:grid}.preview3d-stat{background:var(--jimu-surface-sunken);border:1px solid var(--jimu-line);border-radius:var(--jimu-radius);color:var(--jimu-muted);flex-wrap:wrap;gap:14px;padding:10px 12px;font-size:12px;display:flex}.preview3d-stat b{color:var(--jimu-ink);font-size:13px}.preview3d-rooms{color:var(--jimu-muted-strong);margin:0;font-size:12px;line-height:1.7}.preview3d-dimcal{background:var(--jimu-surface-sunken);border:1px solid var(--jimu-line);border-radius:var(--jimu-radius);gap:8px;padding:10px;display:grid}.preview3d-dimcal-title{color:var(--jimu-muted-strong);margin:0;font-size:12px;line-height:1.6}.preview3d-dimcal-map{border:1px solid var(--jimu-line);background:#fff;border-radius:6px;position:relative;overflow:hidden}.preview3d-dimcal-map img{width:100%;display:block}.preview3d-dimline{cursor:pointer;pointer-events:auto;background:#e03e3e47;border:1px solid #e03e3ed9;border-radius:2px;position:absolute;transform:translate(-50%,-50%)}.preview3d-dimline.active{background:#e03e3e8c;box-shadow:0 0 0 2px #e03e3e40}.preview3d-dimcal-row{grid-template-columns:1fr 1fr;align-items:end;gap:8px;display:grid}.preview3d-dimcal-row select,.preview3d-dimcal-row input[type=number]{background:var(--jimu-surface);border:1px solid var(--jimu-line);border-radius:var(--jimu-radius);color:var(--jimu-ink);width:100%;padding:6px 8px;font-size:12px}.preview3d-dimcal-row label{color:var(--jimu-muted);gap:4px;font-size:11px;display:grid}.preview3d-dimcal-row label em{color:var(--jimu-muted);font-size:11px;font-style:normal}.preview3d-dimline i{box-sizing:border-box;color:#fff;text-align:center;background:#e03e3ef2;border-radius:3px;min-width:16px;height:16px;padding:0 3px;font:700 10px/16px sans-serif;position:absolute;top:-18px;left:0}.preview3d-dimcal-row .dim-read{border-radius:var(--jimu-radius);background:var(--jimu-primary);color:var(--jimu-ink-inverse);cursor:pointer;border:0;padding:7px 12px;font-size:12px;font-weight:600}.preview3d-dimcal-row .dim-read:disabled{opacity:.55;cursor:progress}.preview3d-dimread-hint{color:var(--jimu-muted);align-self:center;font-size:11px}.preview3d-dimchips{flex-wrap:wrap;gap:6px;display:flex}.preview3d-dimchip{border:1px solid var(--jimu-line);background:var(--jimu-surface);cursor:pointer;color:var(--jimu-ink);border-radius:999px;padding:4px 10px;font-size:11px}.preview3d-dimchip.active{border-color:var(--jimu-primary);background:var(--jimu-soft);font-weight:600}.preview3d-plan-img{border:1px solid var(--jimu-line);border-radius:var(--jimu-radius);background:#fff;width:100%;display:block}.preview3d-warn{color:var(--jimu-warning-ink);margin:0;font-size:12px;line-height:1.6}.preview3d-actions{justify-content:flex-end;gap:10px;display:flex}.preview3d-actions button{border-radius:var(--jimu-radius);cursor:pointer;border:0;padding:9px 16px;font-size:13px}.preview3d-actions .ghost{background:var(--jimu-soft);color:var(--jimu-ink)}.preview3d-actions .primary{background:var(--jimu-primary);color:var(--jimu-ink-inverse);font-weight:600}.preview3d-actions .primary:disabled{opacity:.5;cursor:not-allowed}.su3d-fp-btn{cursor:pointer;color:#4a3f35;white-space:nowrap;background:#ffffffb8;border:1px solid #78685852;border-radius:8px;align-items:center;gap:5px;padding:6px 11px;font-size:12.5px;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.su3d-fp-btn:hover{background:#fff;border-color:#7868588c}.su3d-fp-btn.active{color:#fff;background:#2f6f5e;border-color:#2f6f5e}.su3d-fp-hint{color:#fff;letter-spacing:.2px;white-space:nowrap;background:#1c1814ad;border-radius:999px;padding:7px 14px;font-size:12.5px;transform:translateY(10px);box-shadow:0 4px 14px #00000038}.geo-badge{z-index:3;white-space:nowrap;pointer-events:auto;cursor:help;border:.5px solid;border-radius:999px;align-items:center;gap:4px;padding:3px 9px;font-size:11.5px;font-weight:500;line-height:1.5;display:inline-flex;position:absolute;top:8px;left:8px}.geo-badge.exact{color:#1a6b3c;background:#e6f4ea;border-color:#4caf7d}.geo-badge.ai{color:#8a5a12;background:#fdf3e0;border-color:#e0a94a}.geo-badge.local{color:#4a5568;background:#eef0f3;border-color:#a8b2c1}.preview3d-source-note{color:#4a5568;background:#eef0f3b3;border:.5px solid #4a556838;border-radius:8px;margin:0 0 10px;padding:8px 12px;font-size:12.5px;line-height:1.6}.su3d-toolbar .geo-badge{margin:0 2px;position:static}.dxf-spec-guide{border:.5px solid var(--color-border-tertiary,#0000001f);background:#f0f6fc99;border-radius:10px;margin:0 0 12px;overflow:hidden}.dxf-spec-guide>summary{cursor:pointer;color:#1c5c8f;-webkit-user-select:none;user-select:none;padding:9px 12px;font-size:13px;font-weight:500;list-style:none}.dxf-spec-guide>summary::-webkit-details-marker{display:none}.dxf-spec-body{padding:4px 12px 12px}.dxf-spec-col{margin-bottom:10px}.dxf-spec-col h5{color:#2c3742;margin:0 0 5px;font-size:12px;font-weight:500}.dxf-spec-col ul{margin:0;padding-left:18px}.dxf-spec-col li{color:#4a5568;font-size:12.5px;line-height:1.7}.dxf-spec-col.danger h5{color:#9a3a1f}.dxf-spec-foot{color:#6b7280;border-top:.5px solid #00000014;margin:6px 0 0;padding-top:8px;font-size:12px;line-height:1.6}.su-dxf-report{background:#f0faf4b8;border:.5px solid #1a6b3c47;border-radius:10px;margin:10px 0 0;padding:10px 12px}.su-dxf-report-head{color:#1a6b3c;margin-bottom:6px;font-size:12.5px;font-weight:600}.su-dxf-report ul{margin:0;padding:0;list-style:none}.su-dxf-report li{color:#3f4a44;border-top:.5px solid #0000000d;font-size:12.5px;line-height:1.75}.su-dxf-report li:first-child{border-top:0}.su-dxf-report li b{color:#16321f}.su-dxf-report .hint{margin:8px 0 0}.su-dxf-su-btn{cursor:pointer;background:var(--jimu-primary-dark);color:var(--jimu-ink-inverse);border:0;border-radius:8px;align-items:center;gap:6px;margin-top:9px;padding:8px 14px;font-size:13px;font-weight:700;display:inline-flex}.su-dxf-su-btn:hover{filter:brightness(1.08)}.su-dxf-warn{color:#9a3a1f}.su-source-list{margin:0;padding:0;list-style:none}.su-source-list li{border:.5px solid var(--jimu-line,#0000001a);background:var(--jimu-surface,#fff9);border-radius:8px;margin-bottom:6px;padding:7px 9px}.su-source-list li.on{border-color:var(--jimu-primary);background:var(--jimu-soft,#f0f6fccc);box-shadow:inset 2px 0 0 var(--jimu-primary)}.su-source-list li b{color:var(--jimu-ink);margin-bottom:2px;font-size:12.5px;display:block}.su-source-list li span{color:var(--jimu-ink-soft,#6b7280);font-size:12px;line-height:1.6}.geo-badge .geo-area{opacity:.9;border-left:1px solid #00000026;align-items:center;margin-left:6px;padding-left:6px;font-size:11px;font-style:normal;display:inline-flex}.geo-badge .geo-area.ok{color:#1a6b3c}.geo-badge .geo-area.warn{color:#8a5a12}.geo-badge .geo-area.error{color:#9a2f1f;font-weight:600}.geo-badge .geo-floor{color:#1c5c8f;border-right:1px solid #00000026;align-items:center;margin-right:6px;padding-right:6px;font-size:11px;font-style:normal;font-weight:600;display:inline-flex}.preview3d-fp-btn{color:#1c5c8f;border-color:#1c5c8f59;align-items:center;gap:5px;display:inline-flex}.preview3d-fp-btn:hover:not(:disabled){background:#1c5c8f14}.dxf-issues{background:#fdf6f0cc;border:.5px solid #9a3a1f4d;border-radius:8px;margin:6px 0 0;overflow:hidden}.dxf-issues.has-error{background:#fdf0ece6;border-color:#9a3a1f8c}.dxf-issues-head{cursor:pointer;color:#7a3a20;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:6px 9px;font-size:12px;display:flex}.dxf-issues-title{font-weight:600}.dxf-issues-toggle{opacity:.7;font-size:11px}.dxf-issues-list{margin:0;padding:0 9px 8px;list-style:none}.dxf-issue{color:#4a3f38;align-items:flex-start;gap:6px;padding:4px 0;font-size:12px;line-height:1.55;display:flex}.dxf-issue+.dxf-issue{border-top:.5px solid #0000000d}.dxf-issue-dot{color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:14px;height:14px;margin-top:2px;font-size:9px;font-weight:700;display:inline-flex}.dxf-issue.error .dxf-issue-dot{background:#9a3a1f}.dxf-issue.warn .dxf-issue-dot{background:#c07a20}.dxf-issue.info .dxf-issue-dot{background:#6b7a8a}.dxf-issue.ok .dxf-issue-dot{background:#2f8a5a}.dxf-issue-text{flex:auto}.dxf-issue-text b{color:#7a3a20;font-weight:600}.dxf-issue-act{cursor:pointer;color:#7a3a20;background:#fff;border:.5px solid #7a3a2066;border-radius:5px;flex:none;padding:2px 8px;font-size:11.5px}.dxf-issue-act:hover{color:#fff;background:#7a3a20}.preview3d-render-btn{color:#1f6b48;border-color:#2f8a5a66;align-items:center;gap:5px;display:inline-flex}.preview3d-render-btn:hover:not(:disabled){background:#2f8a5a17}.fh-dialog{max-width:460px}.fh-head h3{margin:0 0 4px;font-size:16px}.fh-head p{color:#6b7280;margin:0 0 14px;font-size:12.5px;line-height:1.6}.fh-input{align-items:center;gap:8px;margin-bottom:8px;display:flex}.fh-input>span{color:#374151;min-width:34px;font-size:13px}.fh-input input{font-variant-numeric:tabular-nums;background:#fff;border:.5px solid #0000002e;border-radius:7px;flex:auto;padding:8px 10px;font-size:15px}.fh-input input:focus{border-color:#1c5c8f;outline:none;box-shadow:0 0 0 3px #1c5c8f1f}.fh-input em{color:#6b7280;font-size:12.5px;font-style:normal}.fh-bad{color:#9a3a1f;margin:0 0 8px;font-size:12px}.fh-presets{gap:6px;margin-bottom:12px;display:flex}.fh-presets button{cursor:pointer;color:#374151;background:#fff;border:.5px solid #00000024;border-radius:7px;flex-direction:column;flex:1 1 0;align-items:center;gap:1px;padding:7px 4px;font-size:13.5px;font-weight:600;display:flex}.fh-presets button i{color:#8b95a3;font-size:10.5px;font-style:normal;font-weight:400}.fh-presets button:hover{border-color:#1c5c8f}.fh-presets button.active{color:#1c5c8f;background:#1c5c8f17;border-color:#1c5c8f}.fh-impact{color:#4a5568;background:#f0f6fccc;border:.5px solid #1c5c8f29;border-radius:7px;margin:0;padding:8px 10px;font-size:12px;line-height:1.6}.fh-impact b{color:#1c5c8f}.fh-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.preview3d-h-btn{color:#1c5c8f;border-color:#1c5c8f4d;align-items:center;gap:5px;display:inline-flex}.preview3d-h-btn:hover:not(:disabled){background:#1c5c8f14}.preview3d-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.preview3d-actions button{white-space:nowrap;flex:none;align-items:center;gap:5px;line-height:1.4;display:inline-flex}.dxf-guide{max-width:620px}.dxf-guide-head h3{margin:0 0 4px;font-size:16px}.dxf-guide-head p{color:#6b7280;margin:0 0 14px;font-size:13px;line-height:1.6}.dxf-guide-head p b{color:#1c5c8f}.dxf-guide-compare{grid-template-columns:1fr 1fr;gap:10px;display:grid}.dxf-guide-opt{background:#fafbfc;border:.5px solid #0000001f;border-radius:10px;flex-direction:column;padding:12px;display:flex}.dxf-guide-opt.dxf{background:#f0f6fc8c;border-color:#1c5c8f66}.dxf-guide-opt strong{margin-bottom:7px;font-size:13.5px}.dxf-guide-opt.dxf strong{color:#1c5c8f}.dxf-guide-opt ul{flex:auto;margin:0 0 11px;padding-left:17px}.dxf-guide-opt li{color:#4a5568;font-size:12.5px;line-height:1.75}.dxf-guide-opt li b{color:#1a202c}.dxf-guide-opt.dxf li b{color:#1c5c8f}.dxf-guide-opt button{justify-content:center;width:100%}.dxf-guide-spec{border-top:.5px solid #00000014;margin-top:12px;padding-top:10px}.dxf-guide-spec>summary{color:#1c5c8f;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:12.5px}.dxf-guide-spec-body{margin-top:8px}.dxf-guide-step{color:#4a5568;margin:0 0 6px;padding-left:24px;font-size:12.5px;line-height:1.65;position:relative}.dxf-guide-step b{color:#1c5c8f}.dxf-guide-step code{color:#1c5c8f;background:#1c5c8f1a;border-radius:4px;padding:1px 5px;font-family:ui-monospace,Menlo,monospace;font-size:12px}.dxf-guide-note{color:#4a5568;background:#f0f6fcb3;border-radius:7px;margin:8px 0 0;padding:8px 10px;font-size:12px;line-height:1.6}.dxf-guide-actions{justify-content:flex-end;margin-top:12px;display:flex}.su3d-space-menu{position:relative}.su3d-space-btn{cursor:pointer;color:#1c5c8f;white-space:nowrap;background:#f0f6fcb3;border:.5px solid #1c5c8f52;border-radius:6px;align-items:center;gap:5px;max-width:190px;padding:5px 9px;font-size:12px;display:inline-flex}.su3d-space-btn:hover,.su3d-space-menu.open .su3d-space-btn{background:#1c5c8f24}.su3d-space-drop{z-index:40;background:#fff;border:.5px solid #00000024;border-radius:9px;min-width:260px;max-width:320px;padding:5px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 26px #00000029}.su3d-space-head{color:#6b7280;border-bottom:.5px solid #00000012;margin-bottom:3px;padding:4px 8px 6px;font-size:11px}.su3d-space-item{border-radius:6px;align-items:stretch;gap:0;display:flex}.su3d-space-item:hover{background:#1c5c8f12}.su3d-space-main{cursor:pointer;text-align:left;background:0 0;border:0;flex-direction:column;flex:auto;gap:1px;min-width:0;padding:6px 8px;display:flex}.su3d-space-name{color:#2d3748;font-size:13px;font-weight:600}.su3d-space-meta{color:#8b95a3;font-variant-numeric:tabular-nums;font-size:11px}.su3d-space-fp{cursor:pointer;color:#1c5c8f;background:0 0;border:0;border-left:.5px solid #00000012;flex:none;align-items:center;gap:3px;padding:0 9px;font-size:11.5px;display:inline-flex}.su3d-space-fp:hover{background:#1c5c8f29;border-radius:0 6px 6px 0}.pipeline-card.flash-highlight{animation:1.8s ease-out wfCardFlash}@keyframes wfCardFlash{0%,to{box-shadow:0 6px 18px #18202c1f}12%,62%{box-shadow:0 0 0 5px #ffc400d9,0 10px 30px #ffaa0059}}.pipeline-card{background:#fff;border:.5px solid #0000001f;border-radius:12px;position:absolute;overflow:hidden;box-shadow:0 4px 18px #00000014}.pipeline-card.selected{border-color:#1c5c8f;box-shadow:0 0 0 3px #1c5c8f29}.rp-card-bar{background:#fafbfce6;border-bottom:.5px solid #00000014;align-items:center;gap:8px;padding:8px 11px;display:flex}.rp-card-title{color:#1c5c8f;font-size:13px;font-weight:700}.rp-card-sub{color:#8b95a3;text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:11.5px;overflow:hidden}.rp-card-close{cursor:pointer;color:#8b95a3;background:0 0;border:0;border-radius:5px;flex:none;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.rp-card-close:hover{color:#4a5568;background:#0000000f}.render-pipeline{padding:11px}.rp-head{align-items:baseline;gap:7px;margin-bottom:10px;display:flex}.rp-kicker{letter-spacing:.08em;color:#8b95a3;font-size:10px}.rp-head strong{color:#1a202c;font-size:14px}.rp-sub{color:#8b95a3;font-size:11px}.rp-steps{flex-wrap:wrap;gap:4px;margin:0 0 11px;padding:0;list-style:none;display:flex}.rp-step{background:#fafbfc;border:.5px solid #0000001a;border-radius:7px;align-items:center;gap:5px;min-width:0;padding:5px 8px;display:flex;position:relative}.rp-step.done{background:#f0faf4b3;border-color:#2f8a5a61}.rp-step.active{background:#f0f6fccc;border-color:#1c5c8f}.rp-idx{color:#4a5568;background:#e2e8f0;border-radius:50%;flex:none;justify-content:center;align-items:center;width:15px;height:15px;font-size:9.5px;font-weight:700;display:inline-flex}.rp-step.done .rp-idx{color:#fff;background:#2f8a5a}.rp-ico{color:#6b7a8a;flex:none;display:inline-flex}.rp-body{flex-direction:column;gap:0;min-width:0;display:flex}.rp-label{color:#2d3748;white-space:nowrap;align-items:center;gap:3px;font-size:11.5px;font-weight:600;display:inline-flex}.rp-ok{color:#2f8a5a}.rp-desc{color:#8b95a3;white-space:nowrap;font-size:10px}.rp-arrow{color:#cbd2d9;margin-left:2px}.rp-block{margin-bottom:10px}.rp-block-head{color:#4a5568;justify-content:space-between;align-items:center;gap:8px;margin-bottom:5px;font-size:11.5px;display:flex}.rp-mini{cursor:pointer;color:#1c5c8f;background:#fff;border:.5px solid #1c5c8f59;border-radius:5px;padding:2px 8px;font-size:11px}.rp-mini:hover{background:#1c5c8f14}.rp-chips{flex-wrap:wrap;gap:5px;display:flex}.rp-chip{cursor:pointer;color:#2d3748;background:#fafbfc;border:.5px solid #0000001f;border-radius:12px;align-items:center;gap:4px;padding:3px 8px;font-size:11.5px;display:inline-flex}.rp-chip i{color:#8b95a3;font-size:10px;font-style:normal}.rp-chip.active{color:#1c5c8f;background:#1c5c8f1a;border-color:#1c5c8f}.rp-userprompt{resize:vertical;background:#fff;border:.5px solid #00000024;border-radius:6px;width:100%;padding:6px 8px;font-size:12px;line-height:1.6}.rp-userprompt:focus{border-color:#1c5c8f;outline:none;box-shadow:0 0 0 3px #1c5c8f1a}.rp-style-pick{cursor:pointer;color:#6b7280;background:#fafbfc;border:.5px dashed #0003;border-radius:7px;width:100%;padding:9px;font-size:12px}.rp-style-pick:hover{color:#1c5c8f;border-color:#1c5c8f}.rp-style-prev{border:.5px solid #0000001f;border-radius:7px;position:relative;overflow:hidden}.rp-style-prev img{object-fit:cover;width:100%;max-height:150px;display:block}.rp-style-prev button{cursor:pointer;color:#4a5568;background:#ffffffe6;border:0;border-radius:5px;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex;position:absolute;top:4px;right:4px}.rp-actions{gap:7px;margin-top:10px;display:flex}.rp-actions button{flex:1 1 0;justify-content:center;align-items:center;gap:5px;display:inline-flex}.rp-tip{color:#8b95a3;margin:8px 0 0;font-size:11.5px;line-height:1.6}.spin{animation:1s linear infinite rp-spin}@keyframes rp-spin{to{transform:rotate(360deg)}}.spe-editor{border:.5px solid #1c5c8f47;border-radius:8px;margin-top:8px;overflow:hidden}.spe-head{background:#f0f6fcb3;align-items:center;gap:6px;padding:6px 9px;display:flex}.spe-head strong{color:#1a202c;font-size:12.5px}.spe-cat{color:#1c5c8f;background:#1c5c8f1f;border-radius:8px;padding:1px 6px;font-size:10.5px}.spe-area{color:#8b95a3;font-variant-numeric:tabular-nums;font-size:10.5px}.spe-close{cursor:pointer;color:#8b95a3;background:0 0;border:0;justify-content:center;align-items:center;width:19px;height:19px;margin-left:auto;display:inline-flex}.spe-tabs{border-bottom:.5px solid #00000014;gap:0;display:flex}.spe-tabs button{cursor:pointer;color:#6b7280;background:0 0;border:0;flex:1 1 0;padding:5px;font-size:11.5px}.spe-tabs button.active{color:#1c5c8f;box-shadow:inset 0 -2px #1c5c8f}.spe-items{margin:0;padding:8px 10px;list-style:none}.spe-items li{color:#4a5568;margin-bottom:4px;font-size:11.5px;line-height:1.7}.spe-items b{color:#1c5c8f;min-width:30px;margin-right:4px;display:inline-block}.spe-input{resize:vertical;border:0;width:100%;padding:8px 9px;font-size:11.5px;line-height:1.65}.spe-input:focus{outline:none}.spe-foot{border-top:.5px solid #0000000f;justify-content:space-between;align-items:center;gap:8px;padding:5px 9px;display:flex}.spe-hint{color:#8b95a3;font-size:10.5px}.spe-apply{cursor:pointer;color:#6b7280;background:#fff;border:.5px solid #00000029;border-radius:5px;padding:2px 8px;font-size:10.5px}.rp-white-prev{background:#f7efe8;border:.5px solid #1c5c8f4d;border-radius:8px;overflow:hidden}.rp-white-prev img{width:100%;display:block}.rp-shot-tabs{flex-wrap:wrap;gap:4px;margin-bottom:6px;display:flex}.rp-shot-tabs button{cursor:pointer;color:#4a5568;background:#fafbfc;border:.5px solid #0000001f;border-radius:11px;padding:3px 8px;font-size:11px}.rp-shot-tabs button.active{color:#1c5c8f;background:#1c5c8f1a;border-color:#1c5c8f;font-weight:500}.rp-shot-hint{color:#8b95a3;margin:5px 0 0;font-size:10.5px;line-height:1.55}.room-labels{pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.room-label{text-align:center;background:#f0f6fc4d;border:.5px dashed #1c5c8f61;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:1px 3px;display:flex;position:absolute;overflow:hidden}.room-label b{color:#14496f;text-shadow:0 1px 2px #ffffffe6;white-space:nowrap;font-size:11.5px;font-weight:500;line-height:1.25}.room-label i{color:#2b6d9e;text-shadow:0 1px 2px #ffffffe6;white-space:nowrap;font-size:9.5px;font-style:normal}.room-labels-total{color:#14496f;background:#ffffffe0;border:.5px solid #1c5c8f47;border-radius:10px;padding:2px 8px;font-size:10.5px;position:absolute;bottom:6px;left:6px}.recognize-summary{color:#6b7280;background:#fafbfce6;border-top:.5px solid #00000012;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 10px;font-size:11.5px;display:flex}.rs-item b{color:#2d3748;margin-right:2px;font-size:12.5px;font-weight:500}.rs-item.ok b{color:#2f8a5a}.rs-item.warn b{color:#b7791f}.rs-tip{color:#2f8a5a}.upload-action-btn.active{color:#14496f;background:#1c5c8f24;border-color:#1c5c8f80}.fix-box{z-index:6;pointer-events:none;background:#1c5c8f1f;border:1.5px dashed #1c5c8f;border-radius:4px;position:absolute}.fix-box.draft{opacity:.9}.fix-panel{background:#f0f6fc8c;border:.5px solid #1c5c8f4d;border-radius:9px;margin:6px 10px 8px;padding:9px 11px}.fix-head{color:#14496f;align-items:center;gap:6px;display:flex}.fix-head strong{font-size:12.5px}.fix-verdict{color:#14496f;background:#1c5c8f1f;border-radius:9px;padding:1px 7px;font-size:11px}.fix-close{cursor:pointer;color:#8b95a3;background:0 0;border:0;justify-content:center;align-items:center;width:19px;height:19px;margin-left:auto;display:inline-flex}.fix-close:hover{background:#0000000d}.fix-tip{color:#4a5568;margin:7px 0;font-size:11.5px;line-height:1.65}.fix-tip b{color:#14496f}.fix-tip.warn{color:#b7791f}.fix-field{align-items:center;gap:7px;margin-bottom:6px;display:flex}.fix-field>span{color:#6b7280;flex:none;width:38px;font-size:11.5px}.fix-field input,.fix-field select{color:#2d3748;background:#fff;border:.5px solid #00000029;border-radius:5px;flex:auto;padding:4px 7px;font-size:12px}.fix-actions{justify-content:flex-end;gap:6px;margin-top:8px;display:flex}.fix-actions button{padding:4px 12px;font-size:11.5px}.rp-refresh-note{color:#8a4b20;background:#fbece3e6;border:.5px solid #d8824a66;border-radius:7px;margin:0 0 8px;padding:6px 9px;font-size:11.5px;line-height:1.6}.rp-refresh-note b{color:#a4460f}.su-stale{color:#a4460f;background:#fbece3f2;border:.5px solid #d8824a73;border-radius:9px;align-items:center;margin-left:6px;padding:1px 7px;font-size:10.5px;display:inline-flex}.room-history{background:#fcfcfdf2;border:.5px solid #0000001a;border-radius:8px;margin:4px 10px 8px;padding:8px 10px}.rh-item{color:#4a5568;align-items:center;gap:7px;padding:3px 0;font-size:11.5px;display:flex}.rh-dot{background:#cbd2d9;border-radius:50%;flex:none;width:6px;height:6px}.rh-item.latest .rh-dot{background:#1c5c8f}.rh-item.latest .rh-sum{color:#1a202c;font-weight:500}.rh-sum{flex:auto}.rh-time{color:#a0aec0;font-variant-numeric:tabular-nums;font-size:10.5px}.rh-rollback{cursor:pointer;color:#1c5c8f;background:#fff;border:.5px solid #1c5c8f66;border-radius:5px;padding:2px 9px;font-size:11px}.rh-rollback:hover{background:#1c5c8f1a}.rh-note{color:#8b95a3;margin:6px 0 0;font-size:10.5px}.rp-fold-mark{color:#8b95a3;flex:none}.rp-fold-btn{cursor:pointer;color:#1c5c8f;text-align:left;background:0 0;border:0;padding:0;font-size:13px;font-weight:700}.rp-fold-btn:hover{text-decoration:underline}.pipeline-card.folded{height:auto!important}.rp-fold-btn{margin:-4px -6px!important;padding:4px 6px!important}.wf-entries{flex-direction:column;gap:6px;margin:10px 0 4px;display:flex}.effect-pipeline-btn{text-align:left;color:#fff;background:linear-gradient(135deg,var(--jimu-primary),#6f4fd8);cursor:pointer;border:1px solid #ffffff2e;border-radius:10px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;gap:2px 7px;width:100%;padding:9px 12px;display:grid}.effect-pipeline-btn svg{grid-row:1/span 2}.effect-pipeline-btn b{letter-spacing:.01em;font-size:13.5px;font-weight:700}.effect-pipeline-btn i{opacity:.82;text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;font-style:normal;line-height:1.35;overflow:hidden}.effect-pipeline-btn:hover{filter:brightness(1.08)}.effect-pipeline-btn:disabled{opacity:.45;cursor:not-allowed}.pipeline-card{position:absolute}.wf-card{color:#1a202c;font-size:12px}.wf-frame-bar{background:linear-gradient(#fbfcfe,#f3f5f9);border-bottom:.5px solid #0000001a;align-items:center;gap:6px;padding:6px 8px 6px 6px;display:flex}.wf-frame-fold{cursor:pointer;color:#6b7a8a;background:0 0;border:0;border-radius:5px;flex:none;justify-content:center;align-items:center;width:20px;height:20px;padding:0;display:inline-flex}.wf-frame-fold:hover{background:#0000000f}.wf-frame-tag{letter-spacing:.04em;color:#1c5c8f;background:#1c5c8f1a;border-radius:5px;flex:none;padding:1px 7px;font-size:10px;font-weight:700}.wf-frame-title{color:#1a202c;cursor:pointer;background:0 0;border:0;flex:none;padding:0;font-size:12.5px;font-weight:700}.wf-frame-title:hover{color:#1c5c8f}.wf-kicker{letter-spacing:.07em;color:#a8b0bb;flex:none;font-size:9.5px}.wf-frame-sub{text-align:right;color:#8b95a3;text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:11px;overflow:hidden}.wf-frame-del{cursor:pointer;color:#a03030;background:#fff;border:1px solid #a030304d;border-radius:6px;flex:none;align-items:center;gap:3px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-flex}.wf-frame-del:hover{color:#fff;background:#c0392b;border-color:#c0392b}.wf-body{background:radial-gradient(circle,#1c5c8f29 1px,#0000 1px) 0 0/13px 13px,#eef2f7;padding:10px 11px 11px}.wf-track{flex-flow:wrap;align-items:stretch;gap:10px 0;padding:1px 0 3px;display:flex}.wf-node{color:#1f2733;background:#fff;border:1px solid #00000024;border-radius:9px;flex-direction:column;flex:none;width:118px;height:182px;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 7px #18202c14}.wf-node:before{content:"";z-index:2;background:var(--node-accent,#8b95a3);height:3px;position:absolute;top:0;left:0;right:0}.wf-node.done{border-color:#16a34a8c}.wf-node.last{border-color:#e11d4873}.wf-node-head{background:#f5f7fa;border-bottom:1px solid #00000014;flex:none;align-items:center;gap:4px;height:28px;padding:0 6px;display:flex}.wf-node-dot{background:var(--node-accent,#8b95a3);border-radius:50%;flex:none;width:7px;height:7px}.wf-node-title{color:#243040;text-overflow:ellipsis;white-space:nowrap;flex:auto;align-items:center;gap:3px;min-width:0;font-size:10.5px;font-weight:700;display:inline-flex;overflow:hidden}.wf-node-title svg{color:#8a94a4;flex:none}.wf-node-num{font-variant-numeric:tabular-nums;color:#7a8494;background:#0000000d;border-radius:4px;flex:none;justify-content:center;align-items:center;min-width:20px;height:15px;padding:0 4px;font-size:9px;font-weight:700;display:inline-flex}.wf-node.done .wf-node-num{color:#16a34a;background:#16a34a1a}.wf-node-body{flex:auto;min-height:0;padding:5px}.wf-node-foot{flex:none;justify-content:center;align-items:center;padding:0 5px 6px;display:flex}.wf-cell-img{border-radius:5px;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.wf-cell-img.empty{color:var(--node-accent,#8b95a3);cursor:pointer;background:#fafbfc;border:1px dashed #0003}.wf-cell-img.empty:hover,.wf-cell-img.empty.over{border-color:var(--node-accent,#8b95a3);background:#f2f6fb}.wf-cell-img.empty.over{box-shadow:inset 0 0 0 2px var(--node-accent,#8b95a3)}.wf-cell-img.filled{background:#eef1f5}.wf-cell-img.text{background:#fafbfc;border:1px solid #0000001a}.wf-cell-img.text.filled{background:#16a34a14;border-color:#16a34a59}.wf-cell-img.out{color:#e11d48;background:#e11d480d;border:1px dashed #e11d4866}.wf-cell-img.warn{color:#a86a08;background:#fbbf241f;border-color:#d98a0b80}.wf-cell-img>img{object-fit:cover;width:100%;height:100%;display:block}.wf-cell-notes{z-index:1;pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0}.wf-cell-arrows{z-index:1;pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.wf-space-guess{color:#8a5a08;background:#fbbf2424;border:1px solid #d98a0b57;border-radius:6px;margin:0 0 6px;padding:6px 9px;font-size:11px;line-height:1.6}.wf-cell-note-badge{z-index:2;pointer-events:none;color:#fff;text-align:center;background:#e21b34;border-radius:7px;min-width:13px;height:13px;padding:0 3px;font-size:9px;font-weight:700;line-height:13px;position:absolute;bottom:3px;left:3px;box-shadow:0 0 0 1.5px #ffffffeb}.wf-cell-arrow-badge{z-index:2;pointer-events:none;color:#fff;background:#e62020;border-radius:7px;align-items:center;gap:2px;height:13px;padding:0 3px;font-size:9px;font-weight:700;line-height:13px;display:inline-flex;position:absolute;top:3px;right:3px;box-shadow:0 0 0 1.5px #ffffffeb}.wf-cell-note{text-overflow:ellipsis;white-space:nowrap;letter-spacing:.01em;color:#e21b34;text-shadow:0 0 2px #fffffff2,0 0 4px #fffc,0 1px 1px #00000040;max-width:96%;font-weight:800;line-height:1.2;position:absolute;overflow:hidden;transform:translate(-50%,-50%)}.wf-plus{color:inherit;justify-content:center;align-items:center;gap:1px;display:inline-flex}.wf-plus b{margin-left:-2px;font-size:18px;font-weight:400;line-height:1}.wf-text-wait{text-align:center;color:inherit;opacity:.85;padding:0 4px;font-size:9.5px;line-height:1.45}.wf-text-mark{color:#16a34a;display:inline-flex}.wf-text-num{color:#16a34a;text-align:center;font-size:11.5px;font-weight:700}.wf-cell-prompt{justify-content:flex-start;align-items:stretch;gap:0;padding:0}.wf-prompt-head{border-bottom:1px solid #00000014;flex:none;align-items:center;gap:3px;padding:3px 4px;font-size:9px;line-height:1.2;display:flex}.wf-prompt-head b{color:#1a202c;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.wf-prompt-head i{color:#64748b;flex:none;font-style:normal}.wf-prompt-head em{color:#94a3b8;flex:none;margin-left:auto;font-style:normal}.wf-prompt-body{color:#334155;white-space:pre-wrap;word-break:break-word;flex:auto;min-height:0;padding:4px;font-size:9px;line-height:1.45;overflow:auto}.wf-prompt-body.mine{color:#b45309}.wf-prompt-more{text-align:center;color:#94a3b8;border-top:1px dashed #00000014;flex:none;padding:2px 4px;font-size:8.5px}.wf-cell-img-acts{opacity:0;z-index:2;gap:3px;transition:opacity .14s;display:flex;position:absolute;bottom:3px;right:3px}.wf-cell-img.filled:hover .wf-cell-img-acts{opacity:1}.wf-cell-img-acts button{cursor:pointer;color:#1a202c;background:#ffffffeb;border:0;border-radius:4px;justify-content:center;align-items:center;padding:2px 6px;font-size:10px;display:inline-flex}.wf-cell-img-acts button.danger{color:#a03030}.wf-cell-img-acts .wf-cell-pick{color:var(--node-accent,#1c5c8f);border:1px solid var(--node-accent,#1c5c8f);background:#ffffffeb}.wf-cell-img-acts .wf-cell-pick:hover{filter:none;background:var(--node-accent,#1c5c8f);color:#fff}.wf-cell-tabs{background:linear-gradient(#0000,#ffffffeb 42%);gap:2px;padding:3px;display:flex;position:absolute;bottom:0;left:0;right:0;overflow-x:auto}.wf-cell-tabs button{cursor:pointer;white-space:nowrap;color:#2d3748;background:#00000014;border:0;border-radius:8px;flex:none;padding:1px 6px;font-size:9px}.wf-cell-tabs button.active{background:var(--node-accent,#1c5c8f)}.wf-cell-pick{cursor:pointer;color:#fff;background:var(--node-accent,#8b95a3);border:0;border-radius:8px;padding:2px 9px;font-size:10px;font-weight:600}.wf-cell-pick:hover{filter:brightness(1.12)}.wf-cell-hint{color:var(--node-accent,#8b95a3);opacity:.9;pointer-events:none;font-size:10px;font-weight:600;line-height:1}.wf-cell-img.empty[data-upload-entry="1"]{cursor:pointer}.wf-cell-img.drop-target{outline:2px solid var(--node-accent,#1c5c8f);outline-offset:-2px;box-shadow:0 0 0 3px var(--node-accent,#1c5c8f)}@supports (color:color-mix(in lab,red,red)){.wf-cell-img.drop-target{box-shadow:0 0 0 3px color-mix(in srgb,var(--node-accent,#1c5c8f) 28%,transparent)}}.wf-cell-img.drop-target{animation:1.05s ease-in-out infinite wfDropPulse}@keyframes wfDropPulse{0%,to{filter:brightness()}50%{filter:brightness(1.12)}}.wf-drop-hint{z-index:60;color:#33415c;pointer-events:none;white-space:nowrap;background:#fffffff5;border:1px solid #1c5c8f59;border-radius:999px;align-items:center;gap:7px;padding:9px 16px;font-size:13px;font-weight:600;display:inline-flex;position:fixed;bottom:26px;left:50%;transform:translate(-50%);box-shadow:0 6px 22px #141a2438}.wf-drop-hint.armed{color:#0f7a3d;background:#f0fdf4fa;border-color:#10a34a99;box-shadow:0 6px 22px #10a34a47}.wf-node-btn{cursor:pointer;color:#2d3748;background:#fff;border:1px solid #0000002e;border-radius:6px;justify-content:center;align-items:center;gap:3px;width:100%;padding:5px;font-size:10.5px;font-weight:700;display:inline-flex}.wf-node-btn:hover:not(:disabled){border-color:var(--jimu-primary);color:#1c5c8f;background:#f0f6fc}.wf-node-btn:disabled{opacity:.38;cursor:not-allowed}.wf-node-btn.primary{color:#fff;background:linear-gradient(135deg,#e11d48,#b91c3c);border-color:#0000}.wf-node-btn.primary:hover:not(:disabled){filter:brightness(1.08);background:linear-gradient(135deg,#e11d48,#b91c3c)}.wf-node-ok{color:#16a34a;align-items:center;gap:3px;font-size:10.5px;font-weight:600;display:inline-flex}.wf-node-tip{color:#8a94a4;font-size:10.5px}.wf-link{flex:none;justify-content:center;align-self:stretch;align-items:center;display:inline-flex}.wf-link svg{display:block;overflow:visible}.wf-link-dot{fill:#a6b0bd}.wf-link-path{stroke:#a6b0bd;stroke-width:2.4px;stroke-linecap:round}.wf-link-head{fill:#a6b0bd}.wf-link.done .wf-link-dot{fill:#16a34a}.wf-link.done .wf-link-path{stroke:#16a34a}.wf-link.done .wf-link-head{fill:#16a34a}.wf-cell-edit{box-sizing:border-box;resize:none;color:#1f2733;background:#fff;border:1px solid #00000029;border-radius:5px;width:100%;height:100%;padding:5px 6px;font-family:inherit;font-size:10px;line-height:1.5}.wf-cell-edit::placeholder{color:#9aa4b2}.wf-cell-edit:focus{border-color:var(--node-accent,#8b95a3);outline:none;box-shadow:0 0 0 2px #1c5c8f1f}.wf-space{background:#fff;border:.5px solid #0000001f;border-radius:8px;margin-top:9px;padding:8px}.wf-chips{flex-wrap:wrap;gap:5px;display:flex}.wf-chip{cursor:pointer;color:#2d3748;background:#fff;border:1px solid #00000024;border-radius:14px;align-items:baseline;gap:4px;padding:4px 9px;font-size:11.5px;display:inline-flex}.wf-chip i{color:#8b95a3;font-size:10px;font-style:normal}.wf-chip.active{color:#1c5c8f;background:#1c5c8f1a;border-color:#1c5c8f}.wf-wait{color:#8b95a3;margin:0;font-size:11.5px;line-height:1.6}.wf-cabinet-hint{color:#2d3748;background:#d98a0b1a;border:.5px solid #d98a0b66;border-radius:7px;margin:0 0 7px;padding:6px 9px;font-size:11.5px;line-height:1.6}.wf-cabinet-hint b{color:#b9760a;font-weight:600}.wf-actions{align-items:center;gap:8px;margin-top:10px;display:flex}.wf-actions .ghost{cursor:pointer;color:#1c5c8f;background:#fff;border:1px solid #1c5c8f59;border-radius:7px;justify-content:center;align-items:center;gap:5px;padding:6px 11px;font-size:12px;font-weight:600;display:inline-flex}.wf-actions .ghost:hover{background:#f0f6fc}.wf-tip{color:#8b95a3;font-size:11px;line-height:1.5}.card-drag-grip{z-index:6;color:#fff;cursor:grab;opacity:0;background:#1c5c8fcc;border-radius:6px;justify-content:center;align-items:center;width:22px;height:22px;transition:opacity .14s;display:inline-flex;position:absolute;top:5px;right:5px}.image-card:hover>.card-drag-grip,.upload-card:hover>.card-drag-grip,.card-drag-grip:active{opacity:1}.card-drag-grip:active{cursor:grabbing;background:#1c5c8f}.flash-highlight{animation:1.8s ease-out effectSectionFlash}@keyframes effectSectionFlash{0%,to{box-shadow:none}15%,60%{background:#fffdf3;box-shadow:0 0 0 4px #ffc400bf}}.wf-card header{background:0 0;border:0;justify-content:flex-start;height:auto;padding:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@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}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
