:root{color:#171915;font-synthesis:none;text-rendering:geometricprecision;--ink:#171915;--ink-2:#4f514c;--muted:#858780;--line:#dedcd5;--line-dark:#cbc8c0;--paper:#faf9f5;--worktop:#eeece6;--blue:#2e5bff;--blue-soft:#e9eeff;--danger:#c74f42;--fs-micro:10px;--fs-tiny:11px;--fs-label:12px;--fs-body:13px;--fs-title:14px;--fs-lg:15px;--fs-h2:16px;background:#efede7;font-family:Avenir Next,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}button,input,textarea,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:2px;outline:2px solid #2e5bff73}.app-shell{background:var(--worktop);grid-template-rows:48px minmax(0,1fr);grid-template-columns:minmax(0,1fr);height:100%;display:grid}.topbar{z-index:30;border-bottom:1px solid var(--line);background:#faf9f5f7;align-items:center;gap:14px;padding:0 14px 0 16px;display:flex;position:relative;box-shadow:0 1px #ffffffe6}.brand{letter-spacing:-.9px;-webkit-user-select:none;user-select:none;align-items:center;gap:9px;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:19px;font-weight:900;display:flex}.brand>span:last-child span{color:var(--blue)}.brand-mark{color:var(--ink);--brand-void:var(--paper);flex:none;display:block}.document-title{flex:1;align-items:baseline;gap:4px;min-width:140px;display:flex}.document-title input{width:min(340px,32vw);height:28px;color:var(--ink);font-size:var(--fs-lg);background:0 0;border:1px solid #0000;border-radius:5px;padding:0 5px;font-weight:650;display:block}.document-title input:hover,.document-title input:focus{border-color:var(--line);background:#fff}.save-state{min-height:18px;color:var(--muted);font-size:var(--fs-label);align-items:center;gap:3px;padding-left:5px;display:flex}.save-state.saved{color:#5e7c55}.save-state.error{color:var(--danger)}.top-actions{align-items:center;gap:8px;display:flex}.top-actions button{white-space:nowrap}.editor-menu-bar{color:#64665f;align-self:stretch;align-items:center;gap:2px;display:flex;position:relative}.editor-menu-item{align-items:center;height:100%;display:flex;position:relative}.editor-menu-item>button{white-space:nowrap;height:27px;color:inherit;font-size:var(--fs-label);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:5px;padding:0 9px;font-weight:630;display:inline-flex}.editor-menu-item>button:hover,.editor-menu-item>button.active{color:#173dc4;background:#fff;border-color:#d6daea}.editor-menu-item>button>svg:last-child{transition:transform .14s}.editor-menu-item>button.active>svg:last-child{transform:rotate(180deg)}.editor-dropdown{z-index:70;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:10px;animation:.14s both menu-in;position:absolute;top:40px;left:0;box-shadow:0 18px 45px #1a1c1830}.label-library-dropdown{width:348px;overflow:hidden}.label-library-dropdown>footer{color:#92948d;font-size:var(--fs-tiny)}.create-label-item{color:#2748bf;text-align:left;cursor:pointer;background:#f6f8ff;border:1px dashed #c8d3ff;border-radius:7px;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:8px;width:calc(100% - 12px);min-height:48px;margin:6px 6px 0;padding:7px 8px;display:grid}.create-label-item:hover{background:#edf1ff;border-style:solid}.create-label-item .local-label-icon.create{color:#fff;background:var(--blue)}.create-label-item b{color:#2748bf}.local-label-list{max-height:306px;padding:6px;overflow-y:auto}.local-label-row{grid-template-columns:minmax(0,1fr) 26px;align-items:center;gap:2px;display:grid;position:relative}.local-label-list>.local-label-row>button:first-child{color:#585a54;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;min-height:56px;padding:7px 8px;display:grid}.local-label-row>button:first-child:hover{background:#f3f2ed}.local-label-row>button.current{background:#f3f2ed;border-color:#e4e2db}.local-label-row>button.current .local-label-copy b{font-weight:700}.current-note{color:#6f716b;margin-left:4px;font-style:normal;font-weight:650}.local-label-icon{color:#777a73;background:#eeece6;border-radius:6px;place-items:center;width:27px;height:27px;display:grid}.local-label-row>button.current .local-label-icon{color:#fff;background:var(--blue)}.local-label-copy{gap:3px;min-width:0;display:grid}.local-label-copy b{color:#343631;font-size:var(--fs-label);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.local-label-copy small{color:#8e9089;font-family:DIN Alternate,sans-serif;font-size:var(--fs-tiny)}.local-label-list time{color:#979991;font-family:DIN Alternate,sans-serif;font-size:var(--fs-micro);white-space:nowrap;align-items:center;gap:3px;display:flex}.local-label-list>p{color:#92948d;font-size:var(--fs-label);text-align:center;margin:16px}.label-library-dropdown>footer{background:#faf9f6;border-top:1px solid #e7e5df;padding:7px 11px}.compact-dropdown{width:240px;padding:6px}.compact-dropdown>button{color:#555750;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;grid-template-columns:25px minmax(0,1fr) auto;align-items:center;gap:7px;width:100%;min-height:45px;padding:6px 8px;display:grid}.compact-dropdown>button:hover:not(:disabled){color:#173dc4;background:#f1f3ff}.compact-dropdown>button:disabled{opacity:.42;cursor:default}.compact-dropdown>button>svg{color:var(--blue)}.compact-dropdown>button>span{gap:2px;display:grid}.compact-dropdown b{font-size:var(--fs-label)}.compact-dropdown small{color:#92948d;font-size:var(--fs-tiny)}.compact-dropdown kbd{color:#777972;font-family:DIN Alternate,sans-serif;font-size:var(--fs-micro);background:#efede7;border:1px solid #dfddd6;border-radius:4px;padding:3px 5px}.print-dropdown{width:258px}.page-menu-wrap{position:relative}.page-menu-trigger{color:#555852;height:34px;font-size:var(--fs-body);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:6px;padding:0 10px;font-weight:650;display:inline-flex}.page-menu-trigger:hover,.page-menu-trigger.active{color:#173dc4;background:#fff;border-color:#d5d9e8;box-shadow:0 3px 9px #1719150f}.page-menu-trigger>svg:last-child{transition:transform .15s}.page-menu-trigger.active>svg:last-child{transform:rotate(180deg)}.page-menu{z-index:60;width:390px;max-height:calc(100vh - 82px);color:var(--ink);border:1px solid var(--line);background:#f8f7f3;border-radius:12px;animation:.15s both menu-in;position:absolute;top:43px;left:0;overflow:auto;box-shadow:0 20px 55px #1a1c1833}.page-menu-heading{border-bottom:1px solid var(--line);background:#efede7;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:62px;padding:10px 13px;display:grid}.page-menu-heading>span{color:#fff;background:var(--blue);border-radius:8px;place-items:center;width:32px;height:32px;display:grid}.page-menu-heading>div{gap:2px;min-width:0;display:grid}.page-menu-heading b{font-size:var(--fs-body)}.page-menu-heading small,.page-menu-heading em,.backing-size-note{color:#858780;font-size:var(--fs-tiny);font-style:normal}.page-menu-heading em{white-space:nowrap;background:#fff;border:1px solid #dedcd5;border-radius:5px;padding:4px 6px;font-family:DIN Alternate,sans-serif}.page-menu-section{border-bottom:1px solid #e4e2db;padding:13px}.page-menu-section .section-title{margin-bottom:9px}.page-menu-section .section-title>small{color:#92948d;font-size:var(--fs-tiny);font-weight:500}.backing-size-note{margin-top:8px;line-height:1.45;display:block}.guide-visibility.compact{margin:0;display:block}.guide-visibility.compact>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.guide-visibility.compact button{height:31px;font-size:var(--fs-label);gap:6px}.guide-visibility.compact>small{margin:7px 1px 0;display:block}.page-menu .variable-list{max-height:180px;overflow:auto}.page-menu-footnote{color:#6f716b;font-size:var(--fs-tiny);background:#f2f0ea;align-items:center;gap:5px;margin:0;padding:10px 13px;display:flex}.page-menu-footnote svg{color:#5e7c55}.editor-command-group{background:#efede7;border:1px solid #e0ded6;border-radius:8px;align-items:center;gap:2px;height:34px;padding:2px;display:flex}.editor-command-group button{color:#686a64;cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;width:28px;height:28px;padding:0;display:grid}.editor-command-group button:hover:not(:disabled){color:var(--ink);background:#fff}.editor-command-group button.active{color:#173dc4;background:var(--blue-soft)}.editor-command-group button:disabled{color:#b7b8b3;cursor:default}.editor-command-group>span{background:#d8d6cf;width:1px;height:18px;margin:0 2px}.theme-button{color:#5f615b;border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:8px;place-items:center;width:34px;height:34px;transition:all .14s;display:grid}.theme-button:hover{color:var(--ink);background:#eeece6;transform:rotate(-7deg)}.mode-switch{background:#ebe9e2;border:1px solid #e0ded6;border-radius:8px;margin-right:5px;padding:3px;display:flex}.mode-switch button{color:#777972;height:28px;font-size:var(--fs-body);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0 11px}.mode-switch button.active{color:var(--ink);background:#fff;font-weight:650;box-shadow:0 1px 4px #16181414}.ghost-button,.ai-button,.primary-button{height:36px;font-size:var(--fs-title);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:0 13px;font-weight:620;transition:transform .14s,border-color .14s,background .14s;display:inline-flex}.ghost-button{color:var(--ink-2);background:0 0;border:1px solid #0000}.ghost-button:hover{color:var(--ink);background:#eeece6}.ai-button{color:#173dc4;background:var(--blue-soft);border:1px solid #cfd9ff}.ai-button:hover{border-color:#9bb0ff;transform:translateY(-1px)}.ai-button.active{color:#fff;background:var(--blue);border-color:var(--blue);box-shadow:0 4px 12px #2e5bff33}.primary-button{color:#fff;background:var(--ink);border:1px solid var(--ink);box-shadow:0 3px 9px #17191526}.primary-button:hover{background:#2b2e29;transform:translateY(-1px)}.export-wrap{position:relative}.export-menu{border:1px solid var(--line);background:#fff;border-radius:12px;width:245px;padding:7px;animation:.15s both menu-in;position:absolute;top:40px;left:0;box-shadow:0 18px 45px #1a1c182e}@keyframes menu-in{0%{opacity:0;transform:translateY(-5px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.export-menu button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:11px;width:100%;padding:10px;display:flex}.export-menu button:hover{background:#f3f2ed}.export-menu button>svg{color:var(--blue)}.export-menu span{gap:2px;display:grid}.export-menu b{font-size:var(--fs-title)}.export-menu small{color:var(--muted);font-size:var(--fs-label)}.workspace{grid-template-columns:66px minmax(0,1fr) 336px;min-width:0;min-height:0;transition:grid-template-columns .18s;display:grid}.tool-rail{z-index:10;border-right:1px solid var(--line);background:#f8f7f3;flex-direction:column;align-items:center;gap:2px;min-height:0;padding:10px 4px;display:flex;position:relative;overflow-y:auto}.tool-group-label{color:#999b94;width:100%;font-size:var(--fs-label);letter-spacing:1.2px;text-align:center;padding:2px 0 7px;font-weight:700}.tool-group-label.compact{padding:0 0 4px}.tool-rail button{color:#575953;width:56px;min-height:44px;font-size:var(--fs-tiny);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:4px;transition:all .12s;display:flex}.tool-rail button:hover{color:var(--ink);background:#eeece6}.tool-rail button.active{color:#173dc4;background:var(--blue-soft);border-color:#d3dcff}.tool-rail button>span{white-space:nowrap;align-items:center;gap:3px;display:flex}.tool-rail button kbd{color:#92948e;min-width:12px;font-family:DIN Alternate,sans-serif;font-size:var(--fs-micro);background:#ffffffb8;border:1px solid #dedcd5;border-radius:3px;padding:0 2px;font-weight:700;line-height:12px}.tool-separator{background:var(--line);width:34px;height:1px;margin:5px 0}.canvas-column{z-index:1;grid-template-rows:43px minmax(0,1fr) 48px;min-width:0;min-height:0;display:grid;position:relative}.ai-command-bar{z-index:9;border-bottom:1px solid var(--line);background:#f8f7f3;grid-template-columns:155px minmax(0,1fr);align-items:center;gap:12px;padding:10px 14px;display:grid;position:relative;box-shadow:0 5px 18px #17191509}.ai-command-label{align-items:center;gap:9px;min-width:0;display:flex}.ai-command-label>span{color:#fff;background:var(--blue);border-radius:9px 9px 9px 3px;flex:none;place-items:center;width:33px;height:33px;display:grid;box-shadow:0 5px 13px #2e5bff38}.ai-command-label>div{gap:1px;min-width:0;display:grid}.ai-command-label b{color:var(--ink);font-size:var(--fs-body);letter-spacing:-.1px}.ai-command-label small{color:var(--muted);font-size:var(--fs-tiny);white-space:nowrap}.ai-provider-status{align-items:center;gap:4px;display:flex}.ai-provider-status i{background:#a4a69f;border-radius:50%;flex:none;width:5px;height:5px;display:block}.ai-provider-status.ready{color:#567c4d}.ai-provider-status.ready i{background:#66a05b;box-shadow:0 0 0 2px #66a05b24}.ai-provider-status.missing{color:#9a7450}.ai-provider-status.missing i{background:#c7945e}.ai-provider-status.error{color:var(--danger)}.ai-provider-status.error i{background:var(--danger)}.ai-command-input{background:#fff;border:1px solid #cdd6f5;border-radius:10px;align-items:center;gap:5px;min-width:0;height:42px;padding:4px;transition:all .15s;display:flex;box-shadow:0 0 0 3px #2e5bff0b,inset 0 1px #fffc}.ai-command-input:focus-within{border-color:#7f9aff;box-shadow:0 0 0 3px #2e5bff1a}.ai-command-input input{min-width:0;height:100%;color:var(--ink);font-size:var(--fs-label);background:0 0;border:0;flex:1;padding:0 8px}.ai-command-input input:focus{outline:0}.ai-command-input input::placeholder{color:#9b9d96}.ai-expand-button,.ai-command-submit{height:32px;font-size:var(--fs-label);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;font-weight:650;display:inline-flex}.ai-expand-button{color:#656760;background:#efede7;border:0;padding:0 9px}.ai-expand-button:hover{color:var(--ink);background:#e5e3dc}.ai-command-submit{color:#fff;background:var(--blue);border:0;gap:5px;min-width:82px;padding:0 11px;box-shadow:0 4px 10px #2e5bff33}.ai-command-submit:hover:not(:disabled){background:#234fe6}.ai-command-submit:disabled{opacity:.55;cursor:default}.context-toolbar{overscroll-behavior-x:contain;z-index:8;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#faf9f5e0;align-items:center;gap:2px;min-width:0;padding:0 14px;display:flex;position:relative;overflow-x:auto}.context-toolbar button{color:#5d5f59;cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;width:30px;height:30px;display:grid}.context-toolbar button:hover:not(:disabled){color:var(--ink);background:#e9e7e0}.context-toolbar button:disabled{color:#b8b9b4;cursor:default}.toolbar-kicker{color:#8e908a;font-size:var(--fs-label);margin-right:6px;font-weight:650}.toolbar-divider{background:var(--line);width:1px;height:20px;margin:0 6px}.selection-summary{color:#91938d;min-width:0;font-size:var(--fs-label);text-overflow:ellipsis;white-space:nowrap;flex:0 auto;margin-left:auto;overflow:hidden}.canvas-shell{min-width:0;min-height:0;position:relative;overflow:hidden}.canvas-stage{overscroll-behavior:contain;background-color:#ebe9e3;background-image:radial-gradient(circle,#272a241f .65px,#0000 .75px);background-size:16px 16px;justify-content:safe center;align-items:safe center;width:100%;min-width:0;height:100%;min-height:0;padding:72px;display:flex;position:relative;overflow:auto}.canvas-stage.tool-select{cursor:default}.canvas-stage.tool-hand,.canvas-stage.tool-hand .label-svg,.canvas-stage.tool-hand .label-svg *{cursor:grab!important}.canvas-stage.tool-hand.is-panning,.canvas-stage.tool-hand.is-panning .label-svg,.canvas-stage.tool-hand.is-panning .label-svg *{cursor:grabbing!important}.canvas-stage.tool-zoom,.canvas-stage.tool-zoom .label-svg,.canvas-stage.tool-zoom .label-svg *{cursor:zoom-in!important}.canvas-stage:before{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 18px 22px -22px #15171333}.label-measure{flex:none;animation:.42s cubic-bezier(.2,.9,.2,1) both paper-in;position:relative}.backing-paper-preview{z-index:0;pointer-events:none;background-color:#d9d6cc;background-image:repeating-linear-gradient(135deg,#ffffff57 0 3px,#0000 3px 7px);border:1px solid #bfbbb0;position:absolute;box-shadow:0 7px 22px #1c1e191a}.backing-paper-preview span{color:#716f68;font-family:DIN Alternate,Avenir Next Condensed,sans-serif;font-size:var(--fs-micro);white-space:nowrap;font-weight:650;line-height:1;position:absolute;bottom:2px;right:4px}@keyframes paper-in{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.label-svg{z-index:2;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;forced-color-adjust:none;touch-action:none;-webkit-user-select:none;user-select:none;background:#fff;display:block;position:relative;overflow:visible;box-shadow:0 2px 3px #11130f0d,0 14px 38px #11130f29,0 0 0 1px #11130f14}.smart-guide{stroke-dasharray:1.1 .55;filter:drop-shadow(0 0 .35px #2e5bffb3)}.resize-handle{vector-effect:non-scaling-stroke}.canvas-ruler{z-index:24;color:#73766e;pointer-events:auto;background:#f5f4f0f7;position:absolute;overflow:hidden}.canvas-ruler-x{cursor:row-resize;border-bottom:1px solid #4649422e;height:20px;top:0;left:0;right:0}.canvas-ruler-y{cursor:col-resize;border-right:1px solid #4649422e;width:22px;top:20px;bottom:0;left:0}.canvas-ruler-track{position:absolute}.canvas-ruler-x .canvas-ruler-track{background-image:repeating-linear-gradient(90deg, #4f534a3d 0 1px, transparent 1px var(--ruler-step)), repeating-linear-gradient(90deg, #4f534a66 0 1px, transparent 1px var(--ruler-step-5)), repeating-linear-gradient(90deg, #4f534aad 0 1px, transparent 1px var(--ruler-step-10));background-position:var(--ruler-origin-x) bottom, var(--ruler-origin-x) bottom, var(--ruler-origin-x) bottom;background-size:var(--ruler-step) 4px, var(--ruler-step-5) 7px, var(--ruler-step-10) 10px;background-repeat:repeat-x;inset:0}.canvas-ruler-y .canvas-ruler-track{background-image:repeating-linear-gradient(180deg, #4f534a3d 0 1px, transparent 1px var(--ruler-step)), repeating-linear-gradient(180deg, #4f534a66 0 1px, transparent 1px var(--ruler-step-5)), repeating-linear-gradient(180deg, #4f534aad 0 1px, transparent 1px var(--ruler-step-10));background-position:right var(--ruler-origin-y), right var(--ruler-origin-y), right var(--ruler-origin-y);background-size:4px var(--ruler-step), 7px var(--ruler-step-5), 10px var(--ruler-step-10);background-repeat:repeat-y;inset:0}.canvas-shell[data-ruler-density=compact] .canvas-ruler-x .canvas-ruler-track{background-image:repeating-linear-gradient(90deg, #4f534a57 0 1px, transparent 1px var(--ruler-step-5)), repeating-linear-gradient(90deg, #4f534aad 0 1px, transparent 1px var(--ruler-step-10));background-size:var(--ruler-step-5) 5px, var(--ruler-step-10) 9px}.canvas-shell[data-ruler-density=compact] .canvas-ruler-y .canvas-ruler-track{background-image:repeating-linear-gradient(180deg, #4f534a57 0 1px, transparent 1px var(--ruler-step-5)), repeating-linear-gradient(180deg, #4f534aad 0 1px, transparent 1px var(--ruler-step-10));background-size:5px var(--ruler-step-5), 9px var(--ruler-step-10)}.canvas-ruler span{font-family:DIN Alternate,Avenir Next Condensed,sans-serif;font-size:var(--fs-micro);letter-spacing:-.15px;font-variant-numeric:tabular-nums;font-weight:650;line-height:1;position:absolute}.canvas-ruler span b{font-weight:inherit}.canvas-ruler-x span{top:3px;transform:translate(2px)}.canvas-ruler-y span{writing-mode:vertical-rl;left:3px;transform:translateY(2px)}.canvas-ruler-corner{z-index:25;color:#8a8d85;width:22px;height:20px;font-family:DIN Alternate,Avenir Next Condensed,sans-serif;font-size:var(--fs-micro);letter-spacing:.2px;pointer-events:none;background:#f1f0eb;border-bottom:1px solid #4649422e;border-right:1px solid #4649422e;place-items:center;font-weight:750;display:grid;position:absolute;top:0;left:0}.coordinate-crosshair{z-index:22;pointer-events:none;position:absolute;inset:0;overflow:hidden}.coordinate-crosshair>i{opacity:.88;display:block;position:absolute}.coordinate-crosshair>i.vertical{background:repeating-linear-gradient(#6b4eff 0 5px,#0000 5px 9px);width:1px;top:20px;bottom:0}.coordinate-crosshair>i.horizontal{background:repeating-linear-gradient(90deg,#6b4eff 0 5px,#0000 5px 9px);height:1px;left:22px;right:0}.coordinate-crosshair>em{color:#fff;min-width:max-content;font-family:DIN Alternate,sans-serif;font-size:var(--fs-micro);letter-spacing:.15px;background:#5139d8;border-radius:0 5px 5px;padding:4px 6px;font-style:normal;font-weight:700;position:absolute;transform:translate(12px,14px);box-shadow:0 3px 9px #1f184a33}.ruler-guide{z-index:23;color:#244fe0;appearance:none;background:0 0;border:0;border-radius:0;margin:0;padding:0;display:block;position:absolute}.ruler-guide:after{content:"";opacity:.78;transition:opacity .12s,filter .12s;position:absolute}.ruler-guide.vertical{cursor:col-resize;width:9px;top:20px;bottom:0;transform:translate(-4px)}.ruler-guide.vertical:after{background:repeating-linear-gradient(#2e5bff 0 4px,#0000 4px 7px);width:1px;top:0;bottom:0;left:4px}.ruler-guide.horizontal{cursor:row-resize;height:9px;left:22px;right:0;transform:translateY(-4px)}.ruler-guide.horizontal:after{background:repeating-linear-gradient(90deg,#2e5bff 0 4px,#0000 4px 7px);height:1px;top:4px;left:0;right:0}.ruler-guide:hover:after,.ruler-guide.active:after{opacity:1;filter:drop-shadow(0 0 1px #2e5bffa6)}.ruler-guide.active{z-index:26;pointer-events:none}.ruler-guide em{color:#fff;width:max-content;font-family:DIN Alternate,Avenir Next Condensed,sans-serif;font-size:var(--fs-micro);white-space:nowrap;background:#2e5bff;border-radius:3px;padding:3px 5px;font-style:normal;font-weight:700;line-height:1;display:none;position:absolute;box-shadow:0 2px 7px #1938b03d}.ruler-guide.active em{display:block}.ruler-guide.vertical em{top:5px;left:8px}.ruler-guide.horizontal em{top:8px;left:5px}.canvas-footer{z-index:8;border-top:1px solid var(--line);background:#f8f7f3;justify-content:space-between;align-items:center;min-width:0;padding:0 14px;display:flex;position:relative}.footer-left,.footer-right{align-items:center;gap:10px;min-width:0;display:flex}.coordinate-readout{color:#777a73;height:30px;font-family:DIN Alternate,Avenir Next Condensed,sans-serif;font-size:var(--fs-label);font-variant-numeric:tabular-nums;white-space:nowrap;background:#efede7ad;border:1px solid #0000;border-radius:7px;align-items:center;gap:9px;padding:0 10px;display:flex}.coordinate-readout span{color:#9a9c95}.coordinate-readout b{color:#4e504a;min-width:62px;font-size:var(--fs-label);font-weight:650}.shortcut-button{color:#6c6e68;height:29px;font-size:var(--fs-label);cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:5px;padding:0 8px;display:flex}.shortcut-button:hover{color:var(--ink);background:#e7e5df}.data-preview{color:#575953;height:32px;font-size:var(--fs-label);cursor:pointer;background:#efede7;border:1px solid #dfddd6;border-radius:7px;align-items:center;gap:7px;padding:0 9px;display:flex}.data-preview-main{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:0;display:flex}.record-jump{width:4.4em;height:22px;color:var(--ink);text-align:center;font-size:var(--fs-label);font-variant-numeric:tabular-nums;background:#fff;border:1px solid #dfddd6;border-radius:5px;padding:0 4px;font-weight:650}.record-jump:focus{border-color:#90a7ff;outline:0;box-shadow:0 0 0 2px #2e5bff1f}.record-jump:disabled{color:#a1a39c;cursor:default;background:0 0;border-color:#0000}.theme-dark .record-jump{color:#f0f1eb;background:#1f221d;border-color:#3d4139}.canvas-zoom-float{z-index:26;border:1px solid var(--line);background:#faf9f5f5;border-radius:10px;align-items:center;gap:4px;padding:3px 6px;display:flex;position:absolute;bottom:60px;right:14px;box-shadow:0 8px 20px #15171321}.canvas-zoom-float button{color:#666862;cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;width:27px;height:27px;display:grid}.canvas-zoom-float button:hover{background:#e7e5df}.canvas-zoom-float input[type=range]{width:76px;height:3px;accent-color:var(--ink)}.canvas-zoom-float .zoom-value{width:42px;font-size:var(--fs-label)}.ai-dock{z-index:12;border-left:1px solid var(--line);background:#fbfaf7;grid-template-rows:52px minmax(0,1fr) auto;min-width:0;min-height:0;animation:.19s cubic-bezier(.2,.8,.2,1) both ai-dock-in;display:grid;position:relative;box-shadow:-8px 0 24px #17191506}@keyframes ai-dock-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.ai-dock-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:0 12px 0 13px;display:flex}.ai-dock-header>div{align-items:center;gap:7px;min-width:0;display:flex}.ai-dock-mark{color:#fff;background:var(--blue);border-radius:8px 8px 8px 3px;flex:none;place-items:center;width:27px;height:27px;display:grid;box-shadow:0 4px 10px #2e5bff33}.ai-dock-header b{color:#30322d;font-size:var(--fs-title);font-weight:750}.ai-dock-header small{color:#4563d4;font-family:DIN Alternate,Avenir Next Condensed,sans-serif;font-size:var(--fs-tiny);background:#edf1ff;border:1px solid #d6dfff;border-radius:4px;padding:2px 5px;font-weight:700}.ai-dock-header>button{color:#7e8079;cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;width:29px;height:29px;display:grid}.ai-dock-header>button:hover{color:#30322d;background:#efede7}.ai-dock-body{overscroll-behavior:contain;min-height:0;padding:24px 14px 16px;overflow-y:auto}.ai-status-line{border-bottom:1px solid var(--line);background:#f8f7f3f5;align-items:center;gap:6px;padding:5px 10px;display:flex;position:relative}.ai-status-chip{color:#555750;min-width:0;font-size:var(--fs-label);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:5px;padding:4px 7px;font-weight:650;display:flex}.ai-status-chip:hover:not(:disabled){background:#efede7;border-color:#dedcd5}.ai-status-chip:disabled{opacity:.6;cursor:default}.ai-status-chip i{background:#c69059;border-radius:50%;flex:none;width:6px;height:6px}.ai-status-chip.error i{background:var(--danger)}.ai-status-chip em{color:#a2764a;font-size:var(--fs-micro);background:#f5f1e9;border-radius:4px;padding:1px 4px;font-style:normal;font-weight:700}.ai-status-chip.error em{color:var(--danger);background:#f8ece9}.ai-modal-heading.has-clear{padding-right:88px}.ai-modal-heading .ai-clear-button{position:absolute;top:21px;right:57px}.ai-clear-button{color:#858780;cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;width:24px;height:24px;display:grid}.ai-clear-button:hover:not(:disabled){color:var(--danger);background:#f8ece9}.ai-clear-button:disabled{opacity:.45;cursor:default}.ai-empty{gap:9px;display:grid}.ai-empty p{color:#858780;font-size:var(--fs-label);align-items:center;gap:5px;margin:0;line-height:1.55;display:flex}.ai-empty p svg{color:var(--blue);flex:none}.ai-suggestion-chips{flex-wrap:wrap;gap:6px;display:flex}.ai-suggestion-chips button{color:#555750;font-size:var(--fs-tiny);cursor:pointer;background:#f1f0ec;border:1px solid #dfddd6;border-radius:999px;padding:5px 9px;transition:background .12s,border-color .12s}.ai-suggestion-chips button:hover{color:#2748bf;background:#edf1ff;border-color:#c8d3ff}.ai-message-list{gap:12px;display:grid}.ai-turn{gap:5px;display:grid}.ai-bubble{min-width:0;max-width:92%;font-size:var(--fs-label);overflow-wrap:anywhere;white-space:pre-wrap;margin:0;padding:6px 9px;line-height:1.5}.ai-bubble.user{color:#3a3c37;background:#e9e7e1;border-radius:9px 9px 3px;justify-self:end}.ai-bubble.assistant{color:#3651b6;background:#edf1ff;border:1px solid #d6deff;border-radius:9px 9px 9px 3px;justify-self:start}.ai-bubble.thinking{opacity:.75;align-items:center;gap:6px;display:flex}.ai-bubble.thinking .spinner{width:10px;height:10px}.ai-dock-composer{border-top:1px solid var(--line);background:#f8f7f3;padding:11px;box-shadow:0 -8px 22px #17191506}.ai-dock-composer textarea{color:#30322d;width:100%;min-height:56px;max-height:160px;font-size:var(--fs-label);resize:vertical;background:#fff;border:1px solid #d9d7d0;border-radius:8px 8px 3px;padding:10px;line-height:1.55;display:block}.ai-dock-composer textarea:focus{border-color:#8099f6;outline:0;box-shadow:0 0 0 3px #2e5bff14}.ai-dock-composer textarea:disabled{opacity:.7;cursor:wait}.ai-composer-meta{color:#9b9d96;font-family:DIN Alternate,Avenir Next Condensed,sans-serif;font-size:var(--fs-micro);justify-content:space-between;gap:8px;padding:6px 2px 8px;display:flex}.ai-dock-submit{color:#fff;background:var(--blue);width:100%;height:36px;font-size:var(--fs-label);cursor:pointer;border:0;border-radius:7px;justify-content:center;align-items:center;gap:7px;font-weight:700;display:flex;box-shadow:0 5px 12px #2e5bff33}.ai-dock-submit:hover:not(:disabled){background:#244fe0}.ai-dock-submit:disabled{opacity:.55;cursor:default}.inspector{z-index:10;border-left:1px solid var(--line);background:#f8f7f3;flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.inspector-tabs{z-index:2;border-bottom:1px solid var(--line);background:#f8f7f3f5;grid-template-columns:repeat(3,1fr);gap:3px;padding:8px 9px 7px;display:grid;position:relative}.inspector-tabs button{color:#777a73;height:36px;font-size:var(--fs-label);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:6px;padding:0 7px;font-weight:650;transition:color .14s,background .14s,border-color .14s;display:flex;position:relative}.inspector-tabs button:hover{color:#3f413c;background:#eeece6}.inspector-tabs button.active{color:#173dc4;box-shadow:0 3px 9px #1719150f, inset 0 -2px 0 var(--blue);background:#fff;border-color:#d5d9e8}.inspector-tabs button i{color:#fff;background:var(--blue);min-width:15px;height:15px;font-size:var(--fs-tiny);font-variant-numeric:tabular-nums;border-radius:8px;place-items:center;padding:0 4px;font-style:normal;display:grid}.inspector-context{border-bottom:1px solid var(--line);background:#efede7;justify-content:space-between;align-items:center;gap:10px;min-width:0;min-height:28px;padding:0 12px;display:flex}.inspector-context span{color:#858780;font-size:var(--fs-label);white-space:nowrap;font-weight:650}.inspector-context b{color:#494b45;min-width:0;font-family:DIN Alternate,Avenir Next Condensed,sans-serif;font-size:var(--fs-label);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.inspector-scroll{overscroll-behavior:contain;flex:1 1 0;min-height:0;overflow-y:auto}.inspector-scroll.ai-active{flex-direction:column;display:flex;overflow:hidden}.ai-panel{flex-direction:column;flex:1 1 0;width:100%;min-width:0;max-width:100%;min-height:0;padding:0;animation:none;display:flex;overflow:hidden}.ai-panel>*{box-sizing:border-box;min-width:0;max-width:100%}.ai-panel textarea{max-width:100%}.ai-panel .ai-modal-heading{gap:9px;padding:10px 12px}.ai-panel .ai-modal-heading.has-clear{padding-right:44px}.ai-panel .ai-modal-heading .ai-clear-button{top:13px;right:10px}.ai-panel .ai-modal-heading>span{border-radius:8px;width:30px;height:30px}.ai-panel .ai-modal-heading h3{font-size:var(--fs-label);margin:0}.ai-panel .ai-modal-heading p{display:none}.inspector-panel{min-height:100%;animation:.18s both inspector-panel-in}.ai-tab-panel{grid-template-rows:auto minmax(0,1fr) auto;height:100%;min-height:0;display:grid}.ai-tab-panel .ai-dock-body{padding-top:14px}@keyframes inspector-panel-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.panel-section{border-bottom:1px solid var(--line);padding:9px 12px 10px}.section-title{color:#6a6c66;min-height:15px;font-size:var(--fs-label);letter-spacing:.4px;justify-content:space-between;align-items:center;margin-bottom:7px;font-weight:700;display:flex}.section-title>span:first-child{align-items:center;gap:6px;display:flex}.unit-tag{color:#9a9c96;font-size:var(--fs-label);margin-left:6px;font-weight:500}.size-grid{grid-template-columns:1fr 1fr;gap:5px;display:grid}.position-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;display:grid}.position-grid.style-numbers{grid-template-columns:1fr 1fr;gap:5px}.number-field.derived>div{background:#f3f2ed}.number-field.derived input{color:#8b8d86;cursor:not-allowed}.theme-dark .number-field.derived>div{background:#23261f}.number-field{grid-template-columns:minmax(0,1fr);gap:2px}.position-grid:not(.style-numbers) .number-field{grid-template-columns:1.15em minmax(0,1fr);gap:3px}.position-grid:not(.style-numbers) .number-field>span{text-align:center;font-size:var(--fs-tiny);padding-left:2px}.position-grid:not(.style-numbers) .number-field input{text-align:right;font-size:var(--fs-label);appearance:textfield;padding:0 0 0 4px}.position-grid:not(.style-numbers) .number-field input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.position-grid:not(.style-numbers) .number-field input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.position-grid:not(.style-numbers) .number-field em{font-size:var(--fs-micro);padding:0 3px 0 2px}.corner-setting{grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:8px;width:calc(50% - 4px);margin-top:9px;display:grid}.corner-preview{background:#eceae4;border:1px solid #dedcd5;border-radius:6px;place-items:center;width:31px;height:31px;display:grid}.corner-preview i{background:#fff;border:1px solid #9b9d96;width:17px;height:17px;display:block}.safe-area-settings{background:#f0eee8;border:1px solid #dfddd6;border-radius:7px;margin-top:10px;overflow:hidden}.safe-area-settings summary{color:#555750;height:34px;font-size:var(--fs-label);cursor:pointer;grid-template-columns:auto minmax(0,1fr) 14px;align-items:center;gap:7px;padding:0 9px;font-weight:650;list-style:none;display:grid}.safe-area-settings summary::-webkit-details-marker{display:none}.safe-area-settings summary em{color:#8b8d87;min-width:0;font-size:var(--fs-tiny);text-align:right;text-overflow:ellipsis;white-space:nowrap;font-style:normal;font-weight:500;overflow:hidden}.safe-area-settings summary svg{color:#858780;transition:transform .16s}.safe-area-settings[open] summary svg{transform:rotate(180deg)}.safe-area-grid{background:#f8f7f3;border-top:1px solid #dfddd6;grid-template-columns:1fr 1fr;gap:8px;padding:9px;display:grid}.guide-visibility{grid-template-columns:auto 1fr;align-items:center;gap:7px;margin-top:9px;display:grid}.guide-visibility>span{color:#777972;font-size:var(--fs-label);font-weight:650}.guide-visibility>div{grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.guide-visibility button{color:#8b8d87;height:27px;font-size:var(--fs-tiny);cursor:pointer;background:#f0eee8;border:1px solid #dfddd6;border-radius:5px;justify-content:center;align-items:center;gap:3px;padding:0 5px;display:flex}.guide-visibility button.active{color:#4f514b;background:#fff;border-color:#c9c7bf;box-shadow:0 1px 3px #1719150d}.guide-visibility button.active.safe svg{color:var(--blue)}.guide-visibility button.active.die svg{color:#e26745}.guide-visibility button.active.backing svg{color:#8a7e64}.guide-visibility button.active.ruler svg{color:var(--blue)}.guide-visibility>small{color:#969891;font-size:var(--fs-micro);grid-column:2;margin-top:-3px}.number-field{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px;min-width:0;display:grid}.number-field>span{color:#7d7f79;font-size:var(--fs-label)}.number-field>div{background:#fff;border:1px solid #dddbd4;border-radius:6px;align-items:center;min-width:0;height:25px;display:flex;overflow:hidden}.number-field input{width:100%;min-width:0;color:var(--ink);font-size:var(--fs-label);background:0 0;border:0;padding:0 0 0 7px}.number-field input:focus{outline:0}.number-field em{color:#a1a39c;font-size:var(--fs-tiny);padding-right:6px;font-style:normal}.property-note{color:#7a7c75;font-size:var(--fs-label);align-items:center;gap:5px;margin:10px 0 0;display:flex}.property-note+.property-note{margin-top:5px}.guide-note>span{border-top:1px dashed var(--blue);width:12px;height:0}.property-note svg{color:#5e7c55}.element-type{color:#6e706a;font-size:var(--fs-tiny);text-transform:uppercase;background:#ebe9e2;border-radius:4px;padding:2px 6px;font-weight:650}.wide-input,.panel-section textarea,.wide-field select{width:100%;color:var(--ink);background:#fff;border:1px solid #dddbd4;border-radius:7px}.wide-input,.wide-field select{height:27px;font-size:var(--fs-label);padding:0 8px}.section-title.object-title>span:first-child{flex:1;min-width:0}.name-input{min-width:0;height:22px;color:var(--ink);font-size:var(--fs-label);letter-spacing:0;text-overflow:ellipsis;background:0 0;border:1px solid #0000;border-radius:5px;flex:1;padding:0 5px;font-weight:620}.name-input:hover,.name-input:focus{border-color:var(--line);background:#fff}.variable-content-input{width:100%;min-height:27px;color:var(--ink);font-size:var(--fs-label);overflow-wrap:anywhere;cursor:text;background:#fff;border:1px solid #dddbd4;border-radius:7px;padding:4px 8px;line-height:18px}.variable-content-input.multiline{min-height:52px}.variable-content-input:focus{border-color:#90a7ff;outline:0;box-shadow:0 0 0 3px #2e5bff1a}.variable-content-input:empty:before{content:"输入文字，或用右上角「＋ 变量」插入";color:#a8aaa3}.variable-chip{color:#2748bf;background:var(--blue-soft);font-style:italic;font-size:var(--fs-tiny);white-space:nowrap;-webkit-user-select:all;user-select:all;border:1px solid #ccd6f7;border-radius:5px;margin:0 1px;padding:0 5px;line-height:16px;display:inline-block}.insert-variable{color:#2748bf;background:var(--blue-soft);height:21px;font-size:var(--fs-tiny);cursor:pointer;border:1px solid #ccd6f7;border-radius:6px;padding:0 4px;font-weight:650}.bound-hint{color:#85877f;font-size:var(--fs-tiny);margin:0;line-height:1.55}.shape-fill-row{gap:6px;margin-bottom:8px;display:flex}.shape-fill-row button{white-space:nowrap;width:auto;height:28px;font-size:var(--fs-tiny);flex:1 1 0;padding:0 8px}.qr-options{gap:8px;margin-bottom:10px;display:grid}.qr-options .generator-field select{width:100%}.bound-hint.warn{color:#8a4a1f}.theme-dark .bound-hint.warn{color:#e0a773}.bound-hint b{color:#2748bf;font-style:italic}.theme-dark .variable-content-input{color:#f2f1eb;background:#1e211c;border-color:#3d4139}.theme-dark .variable-content-input:empty:before{color:#6f736a}.theme-dark .variable-chip,.theme-dark .insert-variable{color:#c8d2ff;background:#293253;border-color:#43568f}.theme-dark .bound-hint{color:#969a91}.theme-dark .bound-hint b{color:#c8d2ff}.panel-section textarea{resize:vertical;font-size:var(--fs-label);padding:6px 8px;line-height:1.45}.wide-field{grid-template-columns:58px 1fr;align-items:center;gap:6px;margin-top:6px;display:grid}.font-field{margin:6px 0 0}.wide-field>span{color:#777972;font-size:var(--fs-label)}.style-row{grid-template-columns:1fr 1fr;gap:5px;display:grid}.style-row label{color:#73756f;height:27px;font-size:var(--fs-label);background:#fff;border:1px solid #dddbd4;border-radius:6px;justify-content:space-between;align-items:center;padding:0 5px 0 8px;display:flex}.style-row input[type=color]{cursor:pointer;background:0 0;border:0;border-radius:5px;width:17px;height:17px;padding:0;overflow:hidden}.style-numbers{margin-top:6px}.align-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-top:6px;display:grid}.align-row button{color:#5d5f59;cursor:pointer;background:#f0eee8;border:1px solid #dfddd5;border-radius:6px;place-items:center;height:26px;display:grid}.align-row button:hover{color:#173dc4;background:#fff;border-color:#bdc9f4}.align-row button.active{color:#173dc4;background:var(--blue-soft);border-color:#b9c6f7}.toggle-field{cursor:pointer;align-items:flex-start;gap:6px;margin-top:8px;display:flex}.toggle-field input{accent-color:var(--blue);margin:1px 0 0}.toggle-field>span{color:#4d4f49;font-size:var(--fs-label);gap:1px;display:grid}.toggle-field small{color:#9a9c95;font-size:var(--fs-tiny)}.layer-order-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;display:grid}.layer-order-actions button{color:#5d5f59;min-width:0;height:27px;font-size:var(--fs-tiny);cursor:pointer;background:#f0eee8;border:1px solid #dfddd5;border-radius:6px;justify-content:center;align-items:center;gap:4px;display:flex}.layer-order-actions button span{display:none}.layer-order-actions button:hover:not(:disabled){color:#173dc4;background:#fff;border-color:#bdc9f4}.layer-order-actions button:disabled{color:#b4b5b0;cursor:default}.object-actions{grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.object-actions button{color:#565852;height:27px;font-size:var(--fs-label);cursor:pointer;background:#eeece6;border:1px solid #dfddd5;border-radius:6px;justify-content:center;align-items:center;gap:4px;display:flex}.object-actions button:hover{background:#e5e3dc}.object-actions button.danger{color:var(--danger)}.empty-selection{text-align:center;padding:34px 24px}.empty-selection>span{color:#7e807a;background:#eceae4;border:1px solid #dedcd5;border-radius:50%;place-items:center;width:48px;height:48px;margin:0 auto 13px;display:grid}.empty-selection h3{font-size:var(--fs-title);margin:0 0 7px}.empty-selection p{color:#8e908a;font-size:var(--fs-label);margin:0;line-height:1.6}.empty-selection .empty-action{color:#fff;background:var(--blue);height:31px;font-size:var(--fs-label);cursor:pointer;border:0;border-radius:6px;margin-top:14px;padding:0 13px;font-weight:650}.arrange-empty{padding-top:70px}.selection-count{color:#173dc4;background:var(--blue-soft);min-width:21px;height:21px;font-size:var(--fs-label);border-radius:11px;place-items:center;padding:0 6px;font-weight:750;display:grid}.selection-metrics{grid-template-columns:1fr 1fr;gap:6px;display:grid}.selection-metrics>span{background:#fff;border:1px solid #dddbd4;border-radius:6px;grid-template-columns:20px 1fr auto;align-items:center;min-width:0;height:31px;padding:0 7px;font-family:DIN Alternate,Avenir Next Condensed,sans-serif;display:grid}.selection-metrics small{color:#898b84;font-size:var(--fs-tiny)}.selection-metrics b{color:#353731;min-width:0;font-size:var(--fs-label);text-overflow:ellipsis;font-weight:700;overflow:hidden}.selection-metrics i{color:#a1a39c;font-size:var(--fs-micro);font-style:normal}.arrange-overview p{color:#888a84;font-size:var(--fs-label);margin:9px 0 0;line-height:1.5}.arrange-section .section-title{margin-bottom:9px}.arrange-button-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.arrange-button-grid.two-columns{grid-template-columns:repeat(2,1fr)}.arrange-button-grid button{color:#555750;min-width:0;height:48px;font-size:var(--fs-tiny);cursor:pointer;background:#fff;border:1px solid #dddbd4;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;gap:5px;transition:transform .12s,border-color .12s,box-shadow .12s;display:flex}.arrange-button-grid button:hover:not(:disabled){color:#173dc4;border-color:#b7c4f8;transform:translateY(-1px);box-shadow:0 4px 10px #2e5bff14}.arrange-button-grid button:disabled{color:#b2b4ae;cursor:default;background:#efede7}.arrange-actions{grid-template-columns:1fr 1fr;gap:7px;display:grid}.arrange-actions button{color:#565852;height:34px;font-size:var(--fs-label);cursor:pointer;background:#eeece6;border:1px solid #dfddd5;border-radius:6px;justify-content:center;align-items:center;gap:5px;display:flex}.arrange-actions button:hover{background:#e5e3dc}.arrange-actions button.danger{color:var(--danger)}.master-section{animation:.22s both master-in}@keyframes master-in{0%{opacity:0;transform:translate(5px)}to{opacity:1;transform:translate(0)}}.section-title small{color:#9a9c96;font-size:var(--fs-label);font-weight:500}.layer-list{gap:2px;max-height:220px;display:grid;overflow-y:auto}.layer-list button{color:#565852;height:25px;font-size:var(--fs-label);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;grid-template-columns:20px 1fr 18px 18px;align-items:center;padding:0 3px;display:grid}.layer-list button:hover{background:#efede7}.layer-list button.active{color:#173dc4;background:var(--blue-soft);border-color:#d3dcff}.layer-list i,.layer-kind{color:#898b85;place-items:center;font-style:normal;display:grid}.tiny-add{color:#173dc4;background:var(--blue-soft);font-size:var(--fs-tiny);cursor:pointer;border:0;border-radius:4px;align-items:center;gap:2px;padding:3px 5px;display:flex}.record-tabs{gap:3px;margin-bottom:10px;display:flex;overflow-x:auto}.record-tabs button{color:#777972;min-width:25px;height:25px;font-size:var(--fs-label);cursor:pointer;background:#eceae4;border:1px solid #0000;border-radius:5px}.record-tabs button.active{color:#fff;background:var(--ink)}.variable-list{gap:7px;display:grid}.variable-list label{grid-template-columns:88px 1fr;align-items:center;gap:7px;display:grid}.variable-list span{color:#777972;font-size:var(--fs-tiny);text-overflow:ellipsis;overflow:hidden}.variable-list input{width:100%;min-width:0;height:28px;color:var(--ink);font-size:var(--fs-label);background:#fff;border:1px solid #dddbd4;border-radius:5px;padding:0 7px}.add-variable{color:#656761;width:100%;height:29px;font-size:var(--fs-label);cursor:pointer;background:0 0;border:1px dashed #cbc9c1;border-radius:6px;justify-content:center;align-items:center;gap:5px;margin-top:9px;display:flex}.add-variable:hover{color:#173dc4;background:var(--blue-soft);border-color:#9fb2ff}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#14161270;place-items:center;padding:24px;animation:.18s both fade-in;display:grid;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-close{color:#656761;cursor:pointer;background:#eeece6cc;border:0;border-radius:50%;place-items:center;width:32px;height:32px;display:grid;position:absolute;top:17px;right:17px}.shortcut-panel{width:min(670px,94vw);color:var(--ink);background:#fbfaf6;border:1px solid #fffc;border-radius:18px;padding:29px;animation:.22s cubic-bezier(.2,.9,.2,1) both modal-in;position:relative;box-shadow:0 32px 90px #0d100a59}.batch-print-dialog{width:min(920px,96vw);max-height:min(760px,94vh);color:var(--ink);background:#f9f8f4;border:1px solid #ffffffd1;border-radius:16px;animation:.22s cubic-bezier(.2,.9,.2,1) both modal-in;position:relative;overflow:hidden;box-shadow:0 32px 90px #0d100a59}.batch-print-heading{border-bottom:1px solid var(--line);background:#fff;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:72px;padding:13px 62px 13px 17px;display:grid}.batch-print-heading>span{color:#fff;background:var(--ink);border-radius:9px;place-items:center;width:38px;height:38px;display:grid}.batch-print-heading h2{margin:0 0 3px;font-size:18px}.batch-print-heading p{color:#858780;font-size:var(--fs-label);margin:0}.batch-print-heading em{color:#60625c;font-family:DIN Alternate,sans-serif;font-size:var(--fs-tiny);background:#f0eee8;border:1px solid #dfddd6;border-radius:5px;padding:5px 7px;font-style:normal}.batch-print-content{grid-template-columns:minmax(0,1fr) 292px;min-height:470px;display:grid}.batch-preview-column{border-right:1px solid var(--line);grid-template-rows:minmax(0,1fr) 54px;min-width:0;display:grid}.batch-preview-worktop{background-color:#e5e3dc;background-image:radial-gradient(circle,#272a2421 .65px,#0000 .75px);background-size:15px 15px;place-items:center;min-height:395px;padding:42px;display:grid;position:relative;overflow:hidden}.batch-preview-page{background:#fff;border-radius:2px;width:min(500px,92%);max-height:355px;box-shadow:0 2px 3px #11130f0d,0 18px 48px #11130f33,0 0 0 1px #11130f14}.batch-preview-page svg{width:100%;height:100%;display:block}.batch-page-stamp{color:#f5f4ee;font-size:var(--fs-tiny);background:#1d1f1ac7;border-radius:999px;padding:5px 8px;font-weight:700;position:absolute;bottom:13px;right:14px;box-shadow:0 4px 12px #14161226}.batch-preview-nav{border-top:1px solid var(--line);background:#faf9f5;grid-template-columns:88px minmax(80px,1fr) 88px;align-items:center;gap:12px;padding:0 17px;display:grid}.batch-preview-nav button{color:#5f625b;height:28px;font-size:var(--fs-tiny);cursor:pointer;background:#fff;border:1px solid #dedcd5;border-radius:6px;justify-content:center;align-items:center;gap:4px;font-weight:650;display:inline-flex}.batch-preview-nav button:disabled{opacity:.38;cursor:default}.batch-preview-nav input{width:100%;accent-color:var(--blue)}.batch-print-settings{background:#f8f7f3;flex-direction:column;gap:13px;min-width:0;padding:17px;display:flex;overflow:auto}.batch-print-settings>section:not(.batch-print-note){gap:9px;display:grid}.batch-print-settings h3{color:#363833;font-size:var(--fs-label);margin:0}.print-mode-options{grid-template-columns:1fr 1fr;gap:7px;display:grid}.print-mode-options>button{color:#6f716b;text-align:left;cursor:pointer;background:#fff;border:1px solid #dedcd5;border-radius:8px;align-content:center;justify-items:start;gap:7px;min-width:0;min-height:70px;padding:9px;display:grid}.print-mode-options>button.active{color:#2047d3;background:#f1f4ff;border-color:#90a7ff;box-shadow:0 0 0 2px #2e5bff14}.print-mode-options span{gap:2px;min-width:0;display:grid}.print-mode-options b{font-size:var(--fs-label)}.print-mode-options small{color:#92948d;font-size:var(--fs-micro);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.print-quantity-section,.variable-batch-section{border-top:1px solid var(--line);padding-top:13px}.print-quantity-section label{font-size:var(--fs-label);grid-template-columns:1fr 76px 18px;align-items:center;gap:5px;font-weight:650;display:grid}.print-quantity-section input{width:100%;height:31px;color:var(--ink);text-align:right;background:#fff;border:1px solid #d8d6cf;border-radius:6px;padding:0 8px;font-weight:750}.print-quantity-section em{color:#888a83;font-size:var(--fs-tiny);font-style:normal}.print-quantity-section p{color:#8a8c85;font-size:var(--fs-micro);margin:0;line-height:1.5}.variable-batch-summary{background:#fff;border:1px solid #dedcd5;border-radius:8px;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:54px;padding:8px;display:grid}.variable-batch-summary>span{color:#3258df;background:#edf1ff;border-radius:7px;place-items:center;width:28px;height:28px;display:grid}.variable-batch-summary>div{gap:2px;min-width:0;display:grid}.variable-batch-summary b{font-size:var(--fs-tiny)}.variable-batch-summary small{color:#92948d;font-size:var(--fs-micro)}.variable-batch-summary em{color:#264bd3;font-family:DIN Alternate,sans-serif;font-size:var(--fs-label);font-style:normal;font-weight:800}.manage-variable-data{color:#fff;height:32px;font-size:var(--fs-tiny);cursor:pointer;background:#22251f;border:1px solid #22251f;border-radius:7px;justify-content:center;align-items:center;gap:6px;font-weight:700;display:inline-flex}.preview-record-values{background:#eeece6;border-radius:7px;gap:4px;padding:8px;display:grid}.preview-record-values>small{color:#81837d;font-size:var(--fs-micro);font-weight:700}.preview-record-values>span{font-size:var(--fs-micro);border-top:1px solid #dbd8d1;grid-template-columns:1fr 1fr;gap:6px;padding-top:4px;display:grid}.preview-record-values b,.preview-record-values i{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.preview-record-values b{color:#858780}.preview-record-values i{color:#343631;text-align:right;font-style:normal}.batch-print-note{color:#597157;background:#edf4ea;border:1px solid #d6e5d1;border-radius:7px;align-items:flex-start;gap:7px;margin-top:auto;padding:9px;display:flex}.batch-print-note p{gap:2px;margin:0;display:grid}.batch-print-note b{font-size:var(--fs-tiny)}.batch-print-note span{color:#7a8b77;font-size:var(--fs-micro);line-height:1.4}.batch-print-actions{border-top:1px solid var(--line);background:#fff;align-items:center;gap:8px;min-height:66px;padding:11px 15px;display:flex}.batch-print-actions>div{gap:3px;min-width:0;margin-right:auto;display:grid}.batch-print-actions b{font-size:var(--fs-label);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.batch-print-actions small{color:#8b8d86;font-size:var(--fs-tiny)}.preview-cancel,.preview-print{height:34px;font-size:var(--fs-label);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-weight:650;display:inline-flex}.preview-cancel{color:#61635d;background:#f0eee8;border:1px solid #dfddd6}.preview-print{color:#fff;background:var(--blue);border:1px solid var(--blue);box-shadow:0 4px 12px #2e5bff38}.variable-data-dialog{width:min(1240px,96vw);height:min(680px,88vh);color:var(--ink);background:#faf9f5;border:1px solid #ffffffdb;border-radius:14px;flex-direction:column;animation:.18s cubic-bezier(.2,.9,.2,1) both modal-in;display:flex;position:relative;overflow:hidden;box-shadow:0 26px 60px #0c0e0a54}.variable-data-heading{border-bottom:1px solid var(--line);background:#fff;flex:none;align-items:baseline;gap:10px;padding:13px 56px 12px 18px;display:flex}.variable-data-heading>div{align-items:baseline;gap:10px;display:flex}.variable-data-heading em{color:#5f6159;border:1px solid var(--line);font-family:DIN Alternate,sans-serif;font-size:var(--fs-label);background:#fbfaf7;border-radius:6px;margin-left:auto;padding:4px 9px;font-style:normal}.variable-data-heading>span{color:#fff;background:var(--blue);border-radius:8px;place-items:center;width:34px;height:34px;display:grid}.variable-data-heading h3{font-size:var(--fs-h2);margin:0 0 3px}.variable-data-heading p{color:#858780;font-size:var(--fs-tiny);margin:0}.variable-source-tabs{background:#fff;flex:none;gap:4px;padding:8px 13px 0;display:flex}.variable-source-tabs button{color:#797b74;height:31px;font-size:var(--fs-tiny);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:5px;padding:0 12px;font-weight:700;display:inline-flex}.variable-source-tabs button.active{color:#2349d3;border-bottom-color:var(--blue)}.variable-source-body{flex:1;min-height:0;padding:14px;overflow:auto}.generate-source-body,.list-source-body{width:min(920px,100%);margin:0 auto}.generate-source-body{align-content:start;gap:10px;display:grid}.rule-kind-switch{background:#f0eee8;border:1px solid #e0ddd6;border-radius:8px;justify-self:start;gap:4px;padding:3px;display:inline-flex}.rule-kind-switch button{color:#6b6d66;height:25px;font-size:var(--fs-label);cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:5px;padding:0 11px;font-weight:650;display:inline-flex}.rule-kind-switch button.active{color:#2748bf;background:#fff;box-shadow:0 1px 3px #1416121f}.date-step-pair{grid-template-columns:1fr 1.1fr;gap:5px;display:grid}.generator-grid{gap:7px;width:100%;display:grid}.generator-grid.two{grid-template-columns:1fr 1fr}.generator-grid.four{grid-template-columns:repeat(4,1fr)}.generator-field{gap:4px;min-width:0;display:grid}.generator-field.wide{width:100%}.generator-field>span{color:#7c7e77;font-size:var(--fs-micro);font-weight:650}.generator-field input,.generator-field select{width:100%;height:31px;color:var(--ink);font-size:var(--fs-tiny);background:#fff;border:1px solid #d6d4cd;border-radius:6px;padding:0 8px}.sequence-preview{flex-wrap:wrap;align-items:center;gap:4px;width:100%;padding-top:4px;display:flex}.sequence-preview small{color:#81837c;width:100%;font-size:var(--fs-micro)}.sequence-preview code{color:#274bcf;font-size:var(--fs-micro);background:#fff;border:1px solid #d7defa;border-radius:4px;padding:4px 6px}.list-source-body{grid-template-rows:auto minmax(170px,1fr) auto;gap:9px;display:grid}.list-source-intro{gap:2px;display:grid}.list-source-intro b{font-size:var(--fs-label)}.list-source-intro span{color:#858780;font-size:var(--fs-tiny)}.list-source-body textarea{resize:none;color:#30322d;width:100%;min-height:170px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--fs-tiny);background:#fff;border:1px solid #d8d6cf;border-radius:8px;padding:10px;line-height:1.65}.list-parse-status{font-size:var(--fs-micro);border-radius:6px;padding:7px 9px}.list-parse-status.ready{color:#4f764a;background:#edf5ea}.list-parse-status.error,.variable-data-error{color:#a9463b;background:#faece9}.variable-data-error{font-size:var(--fs-micro);border-radius:6px;margin:0 14px 8px;padding:7px 9px}.variable-data-actions{border-top:1px solid var(--line);background:#fff;flex:none;justify-content:flex-end;align-items:center;gap:8px;min-height:58px;padding:10px 14px;display:flex}.batch-print-root{display:none}.shortcut-heading{align-items:center;gap:12px;margin-bottom:22px;display:flex}.shortcut-heading>span{color:#fff;background:var(--ink);border-radius:10px;place-items:center;width:40px;height:40px;display:grid}.shortcut-heading h2{letter-spacing:-.4px;margin:0 0 3px;font-size:20px}.shortcut-heading p{color:var(--muted);font-size:var(--fs-label);margin:0}.shortcut-groups{grid-template-columns:1fr 1fr;gap:12px;display:grid}.shortcut-groups section{background:#f1efe9;border:1px solid #e0ded6;border-radius:10px;padding:14px}.shortcut-groups h3{color:#797b74;font-size:var(--fs-label);letter-spacing:1px;text-transform:uppercase;margin:0 0 9px}.shortcut-groups dl{gap:1px;margin:0;display:grid}.shortcut-groups dl>div{border-bottom:1px solid #e3e1da;justify-content:space-between;align-items:center;gap:12px;min-height:35px;display:flex}.shortcut-groups dl>div:last-child{border-bottom:0}.shortcut-groups dt{color:#4f514b;font-size:var(--fs-label)}.shortcut-groups dd{color:#767871;font-size:var(--fs-label);white-space:nowrap;align-items:center;gap:4px;margin:0;display:flex}.shortcut-groups dd i{color:#a0a29b;font-style:normal}.shortcut-panel kbd{color:#373933;min-width:25px;min-height:23px;font-family:Avenir Next,PingFang SC,sans-serif;font-size:var(--fs-label);background:#fff;border:1px solid #d2d0c8;border-bottom-width:2px;border-radius:5px;place-items:center;padding:2px 6px;font-weight:650;display:inline-grid;box-shadow:0 1px #1719150a}.shortcut-note{color:#8a8c85;font-size:var(--fs-label);text-align:center;margin:13px 0 0}.ai-orb{color:#fff;background:var(--blue);border-radius:13px 13px 13px 3px;place-items:center;width:47px;height:47px;margin-bottom:19px;display:grid;box-shadow:0 8px 20px #2e5bff47}.ai-heading>span{color:var(--blue);font-family:DIN Alternate,sans-serif;font-size:var(--fs-label);letter-spacing:1.7px;font-weight:800}.ai-heading h2{letter-spacing:-.7px;margin:7px 0;font-size:26px;line-height:1.25}.ai-heading p{color:#74766f;font-size:var(--fs-body);margin:0 0 20px}.prompt-box{background:#fff;border:1px solid #d5d3cb;border-radius:11px;overflow:hidden;box-shadow:0 4px 14px #1719150d}.prompt-box:focus-within{border-color:#8ea6ff;box-shadow:0 0 0 3px #2e5bff17}.prompt-box textarea{width:100%;color:var(--ink);resize:none;font-size:var(--fs-lg);background:0 0;border:0;padding:15px;line-height:1.65}.prompt-box textarea:focus{outline:0}.prompt-meta{color:#999b94;height:31px;font-size:var(--fs-label);background:#f7f6f2;border-top:1px solid #eceae4;justify-content:space-between;align-items:center;padding:0 12px;display:flex}.prompt-meta span{align-items:center;gap:4px;display:flex}.prompt-chips{gap:6px;margin:11px 0 20px;display:flex}.prompt-chips button{color:#5f615b;font-size:var(--fs-label);cursor:pointer;background:#efede7;border:1px solid #e2e0d9;border-radius:99px;padding:6px 9px}.prompt-chips button:hover{color:#173dc4;background:var(--blue-soft);border-color:#c7d3ff}.generate-button{color:#fff;background:var(--blue);width:100%;height:43px;font-size:var(--fs-title);cursor:pointer;border:0;border-radius:9px;justify-content:center;align-items:center;gap:8px;font-weight:700;display:flex;box-shadow:0 7px 18px #2e5bff40}.generate-button:hover:not(:disabled){background:#234fe6}.generate-button:disabled{opacity:.65;cursor:default}.spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.ai-note{color:#a0a29b;font-size:var(--fs-label);text-align:center;margin:10px 0 0}.toast{z-index:120;color:#fff;font-size:var(--fs-label);background:#171915f0;border:1px solid #ffffff29;border-radius:8px;align-items:center;gap:7px;padding:9px 13px;animation:.22s both toast-in;display:flex;position:fixed;bottom:64px;left:50%;transform:translate(-50%);box-shadow:0 9px 26px #17191540}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.theme-dark{--ink:#f2f1eb;--ink-2:#c1c4bc;--muted:#858980;--line:#343730;--line-dark:#464a41;--paper:#20231e;--worktop:#151713;--blue:#6685ff;--blue-soft:#252e52;--danger:#ef7567;color:var(--ink);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.theme-dark .topbar,.theme-dark .editor-menu-bar,.theme-dark .tool-rail,.theme-dark .inspector,.theme-dark .inspector-tabs,.theme-dark .ai-dock,.theme-dark .canvas-footer,.theme-dark .context-toolbar,.theme-dark .ai-command-bar{box-shadow:none;background:#20221e}.theme-dark .editor-menu-bar{color:#aeb1a8;background:0 0}.theme-dark .editor-menu-item>button:hover,.theme-dark .editor-menu-item>button.active{color:#bec9ff;background:#292c27;border-color:#46506f}.theme-dark .create-label-item{color:#bec9ff;background:#262c44;border-color:#43568f}.theme-dark .create-label-item:hover{background:#293253}.theme-dark .create-label-item b{color:#c8d2ff}.theme-dark .editor-dropdown{color:#f2f1eb;background:#242721;border-color:#42463d}.theme-dark .label-library-dropdown>footer{background:#292c27;border-color:#3b3e37}.theme-dark .local-label-row{grid-template-columns:minmax(0,1fr) 26px;align-items:center;gap:2px;display:grid;position:relative}.local-label-delete{color:#a8aaa3;opacity:0;cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;width:24px;height:24px;transition:opacity .12s,color .12s,background .12s;display:grid}.local-label-row:hover .local-label-delete,.local-label-delete:focus-visible{opacity:1}.local-label-delete:hover:not(:disabled){color:var(--danger);background:#f8ece9}.local-label-delete:disabled{cursor:default}.local-label-row.confirming{grid-template-columns:minmax(0,1fr)}.local-label-row.confirming>button:first-child{display:none}.delete-confirm{font-size:var(--fs-label);background:#f8ece9;border:1px solid #e6c1bb;border-radius:7px;align-items:center;gap:6px;padding:7px 8px;display:flex}.delete-confirm>span{color:var(--danger);flex:1}.delete-confirm button{font-size:var(--fs-label);cursor:pointer;border:1px solid #0000;border-radius:5px;padding:4px 9px;font-weight:650}.delete-confirm .confirm-yes{color:#fff;background:var(--danger)}.delete-confirm .confirm-no{color:#6c6e67;background:#fff;border-color:#dcdad3}.local-label-list>.local-label-row>button:first-child{color:#c8cac3}.theme-dark .local-label-row>button:first-child:hover{background:#30332d}.theme-dark .local-label-row>button.current{background:#30332d;border-color:#3f433a}.theme-dark .current-note{color:#b6b9b1}.theme-dark .local-label-copy b{color:#eeefe9}.theme-dark .local-label-icon,.theme-dark .compact-dropdown kbd{color:#b6b9b0;background:#30332d;border-color:#454840}.theme-dark .compact-dropdown>button{color:#d1d3cc}.theme-dark .compact-dropdown>button:hover:not(:disabled){color:#c8d2ff;background:#293253}.theme-dark .ai-dock-composer{box-shadow:none;background:#242721;border-color:#343730}.theme-dark .page-menu{color:#f2f1eb;background:#242721;border-color:#42463d}.theme-dark .page-menu-trigger{color:#c2c5bd}.theme-dark .page-menu-trigger:hover,.theme-dark .page-menu-trigger.active{color:#bec9ff;background:#292c27;border-color:#46506f}.theme-dark .page-menu-heading,.theme-dark .page-menu-footnote{background:#292c27;border-color:#3b3e37}.theme-dark .page-menu-heading em{color:#c9cbc4;background:#242721;border-color:#41453d}.theme-dark .page-menu-section{border-color:#3b3e37}.theme-dark .ai-dock-header b{color:#f0efe9}.theme-dark .ai-dock-header small{color:#bdc9ff;background:#2a355f;border-color:#43568f}.theme-dark .ai-dock-header>button{color:#aeb1a8}.theme-dark .ai-dock-header>button:hover{color:#f2f1eb;background:#30332d}.theme-dark .ai-composer-meta{color:#969a91}.theme-dark .ai-status-line{background:#242721;border-color:#343730}.theme-dark .ai-status-chip{color:#c5c8c0}.theme-dark .ai-status-chip:hover:not(:disabled){background:#30332d;border-color:#41443e}.theme-dark .ai-status-chip em{color:#d4ae82;background:#312c25}.theme-dark .ai-status-chip.error em{color:#f19a8f;background:#352724}.theme-dark .ai-clear-button{color:#a5a8a0}.theme-dark .ai-clear-button:hover:not(:disabled){color:#f19a8f;background:#352724}.theme-dark .ai-empty p{color:#969a91}.theme-dark .ai-suggestion-chips button{color:#c5c8c0;background:#292c27;border-color:#3d4039}.theme-dark .ai-suggestion-chips button:hover{color:#c8d2ff;background:#2b3457;border-color:#4a5f9f}.theme-dark .ai-bubble.user{color:#e5e4de;background:#30332d}.theme-dark .ai-bubble.assistant{color:#c8d2ff;background:#293253;border-color:#43568f}.theme-dark .ai-dock-composer textarea{color:#f0efe9;background:#292c27;border-color:#41453d}.theme-dark .inspector-context{background:#292c27;border-color:#3b3e37}.theme-dark .inspector-context span{color:#979a92}.theme-dark .inspector-context b{color:#e0e1da}.theme-dark .inspector-tabs button{color:#a2a59d}.theme-dark .inspector-tabs button:hover{color:#f2f1eb;background:#30332d}.theme-dark .inspector-tabs button.active{color:#bec9ff;box-shadow:inset 0 -2px 0 var(--blue);background:#292c27;border-color:#46506f}.theme-dark .tool-rail button kbd,.theme-dark .coordinate-readout,.theme-dark .shortcut-groups section{color:#aeb1a8;background:#2b2e29;border-color:#3d4039}.theme-dark .coordinate-readout b,.theme-dark .shortcut-groups dt{color:#dcddd7}.theme-dark .shortcut-button{color:#b1b4ac}.theme-dark .shortcut-panel{background:#242721;border-color:#42463d}.theme-dark .batch-print-dialog,.theme-dark .variable-data-dialog{color:#f0f1eb;background:#242721;border-color:#42463d}.theme-dark .batch-print-heading,.theme-dark .batch-preview-nav,.theme-dark .batch-print-actions,.theme-dark .variable-data-heading,.theme-dark .variable-source-tabs,.theme-dark .variable-data-actions{background:#292c27;border-color:#3d4139}.theme-dark .batch-print-heading>span{color:#181a16;background:#f1f0ea}.theme-dark .batch-print-heading p,.theme-dark .variable-data-heading p,.theme-dark .batch-print-actions small,.theme-dark .list-source-intro span{color:#9da098}.theme-dark .batch-print-heading em,.theme-dark .preview-cancel,.theme-dark .batch-preview-nav button{color:#c7cac2;background:#343730;border-color:#484c43}.theme-dark .batch-preview-column{border-color:#3d4139}.theme-dark .batch-preview-worktop{background-color:#1d201b;background-image:radial-gradient(circle,#ffffff1f .65px,#0000 .75px)}.theme-dark .batch-print-settings{background:#242721}.theme-dark .batch-print-settings h3,.theme-dark .sequence-source-body h4,.theme-dark .list-source-intro b{color:#e4e5df}.theme-dark .print-mode-options>button,.theme-dark .variable-batch-summary,.theme-dark .generator-field input,.theme-dark .generator-field select,.theme-dark .list-source-body textarea,.theme-dark .print-quantity-section input,.theme-dark .sequence-preview code{color:#e5e6e0;background:#30332d;border-color:#464a41}.theme-dark .print-mode-options>button.active{color:#c6d0ff;background:#2c355b;border-color:#5369b7}.theme-dark .print-mode-options small,.theme-dark .variable-batch-summary small,.theme-dark .generator-field>span,.theme-dark .sequence-preview small,.theme-dark .preview-record-values>small{color:#989b93}.theme-dark .print-quantity-section,.theme-dark .variable-batch-section{border-color:#3c4038}.theme-dark .variable-batch-summary>span{color:#bdcaff;background:#303a65}.theme-dark .variable-batch-summary em,.theme-dark .sequence-preview code{color:#bdcaff}.theme-dark .manage-variable-data{color:#181a16;background:#f1f0ea;border-color:#f1f0ea}.theme-dark .preview-record-values,.theme-dark .sequence-source-body>section{background:#292c27;border-color:#3e423a}.theme-dark .preview-record-values>span{border-color:#3d4139}.theme-dark .preview-record-values i{color:#e0e1db}.theme-dark .batch-print-note{color:#a9c7a3;background:#293528;border-color:#3e543b}.theme-dark .batch-print-note span{color:#91a58d}.theme-dark .variable-source-tabs button{color:#9ca098}.theme-dark .variable-source-tabs button.active{color:#c3ceff}.theme-dark .shortcut-heading>span{color:#171915;background:#f1f0ea}.theme-dark .shortcut-groups dl>div{border-color:#3b3e37}.theme-dark .shortcut-panel kbd{color:#e8e9e3;background:#353832;border-color:#51554b}.theme-dark .primary-button{color:#171915;background:#f1f0ea;border-color:#f1f0ea}.theme-dark .document-title input,.theme-dark .ai-command-input input,.theme-dark .name-input,.theme-dark .wide-input,.theme-dark .panel-section textarea,.theme-dark .wide-field select,.theme-dark .variable-list input,.theme-dark .number-field input{color:#f2f1eb}.theme-dark .document-title input:hover,.theme-dark .document-title input:focus,.theme-dark .number-field>div,.theme-dark .selection-metrics>span,.theme-dark .arrange-button-grid button,.theme-dark .name-input:hover,.theme-dark .name-input:focus,.theme-dark .wide-input,.theme-dark .panel-section textarea,.theme-dark .wide-field select,.theme-dark .variable-list input,.theme-dark .style-row label,.theme-dark .ai-command-input,.theme-dark .prompt-box{background:#292c27;border-color:#41453d}.theme-dark .selection-metrics b{color:#e1e2dc}.theme-dark .arrange-button-grid button{color:#c5c8c0}.theme-dark .arrange-button-grid button:hover:not(:disabled){color:#c7d1ff;border-color:#5a6db1}.theme-dark .arrange-button-grid button:disabled{color:#656961;background:#252722;border-color:#343730}.theme-dark .layer-order-actions button{color:#c0c3bb;background:#2b2e29;border-color:#3b3e37}.theme-dark .layer-order-actions button:hover:not(:disabled){color:#bec9ff;background:#30332d;border-color:#4f619f}.theme-dark .layer-order-actions button:disabled{color:#656961}.theme-dark .mode-switch,.theme-dark .editor-command-group,.theme-dark .data-preview,.theme-dark .object-actions button,.theme-dark .arrange-actions button,.theme-dark .record-tabs button,.theme-dark .ai-expand-button,.theme-dark .empty-selection>span,.theme-dark .safe-area-settings,.theme-dark .corner-preview{color:#c0c3bb;background:#2b2e29;border-color:#3b3e37}.theme-dark .editor-command-group button{color:#aeb1a8}.theme-dark .editor-command-group button:hover:not(:disabled){color:#f2f1eb;background:#393c35}.theme-dark .editor-command-group button.active{color:#b9c6ff;background:#303b69}.theme-dark .editor-command-group button:disabled{color:#5e6259}.theme-dark .editor-command-group>span{background:#464940}.theme-dark .safe-area-settings summary{color:#d7d8d2}.theme-dark .safe-area-grid{background:#242721;border-color:#3b3e37}.theme-dark .corner-preview i{background:#f4f3ee;border-color:#858980}.theme-dark .backing-paper-preview{background-color:#3c3e38;background-image:repeating-linear-gradient(135deg,#ffffff0b 0 3px,#0000 3px 7px);border-color:#54584e;box-shadow:0 9px 28px #00000047}.theme-dark .backing-paper-preview span{color:#a9aca3}.theme-dark .guide-visibility>span,.theme-dark .guide-visibility>small{color:#9a9d95}.theme-dark .guide-visibility button{color:#92968d;background:#292c27;border-color:#3b3e37}.theme-dark .guide-visibility button.active{color:#e1e2dc;background:#343731;border-color:#52564c}.theme-dark .ai-provider-status.ready{color:#93c789}.theme-dark .ai-provider-status.missing{color:#d6a978}.theme-dark .mode-switch button.active{color:#171915;background:#f0efe9}.theme-dark .theme-button,.theme-dark .ghost-button,.theme-dark .context-toolbar button,.theme-dark .canvas-zoom-float button{color:#c2c5bd}.theme-dark .canvas-zoom-float{background:#20221ef5;border-color:#3b3e37}.theme-dark .tool-rail button{color:#9a9e95}.theme-dark .ai-button{color:#dbe3ff;background:#29345d;border-color:#4f65ad}.theme-dark .ai-button.active{color:#fff;background:var(--blue);border-color:var(--blue)}.theme-dark .section-title,.theme-dark .empty-selection h3,.theme-dark .ai-command-label b{color:#eeede7}.theme-dark .theme-button:hover,.theme-dark .ghost-button:hover,.theme-dark .context-toolbar button:hover:not(:disabled),.theme-dark .canvas-zoom-float button:hover,.theme-dark .tool-rail button:hover,.theme-dark .layer-list button:hover{color:#f4f3ed;background:#30332d}.theme-dark .ai-command-input{border-color:#47557f;box-shadow:0 0 0 3px #6685ff12}.theme-dark .ai-command-input:focus-within{border-color:#7893ff;box-shadow:0 0 0 3px #6685ff21}.theme-dark .canvas-stage{background-color:#171915;background-image:radial-gradient(circle,#e6e8de21 .65px,#0000 .75px)}.theme-dark .canvas-stage:before{box-shadow:inset 0 18px 26px -20px #000000b3}.theme-dark .canvas-ruler{color:#b4b7ae;background:#1f221df7}.theme-dark .canvas-ruler-x,.theme-dark .canvas-ruler-y{border-color:#e0e3d829}.theme-dark .canvas-ruler-x .canvas-ruler-track,.theme-dark .canvas-ruler-y .canvas-ruler-track{filter:brightness(1.5)}.theme-dark .canvas-ruler-corner{color:#aeb1a8;background:#272a25;border-color:#e0e3d829}.theme-dark .ruler-guide:after{filter:brightness(1.18)}.theme-dark .coordinate-crosshair>i{filter:brightness(1.25)}.theme-dark .coordinate-crosshair>em{background:#6a55e6}.theme-dark .ruler-guide:hover:after,.theme-dark .ruler-guide.active:after{filter:brightness(1.3)drop-shadow(0 0 1px #6685ffcc)}.theme-dark .export-menu,.theme-dark .ai-panel{color:#f2f1eb;background:#242721;border-color:#42463d}.theme-dark .export-menu button:hover,.theme-dark .prompt-meta{background:#30332d}.theme-dark .prompt-box textarea{color:#f2f1eb}.theme-dark .prompt-meta{border-color:#41453d}.theme-dark .prompt-chips button,.theme-dark .add-variable{color:#c3c6be;background:#2d302a;border-color:#41453d}.theme-dark .align-row button{color:#c5c8c0;background:#292c27;border-color:#3d4039}.theme-dark .align-row button:hover,.theme-dark .align-row button.active{color:#c8d2ff;background:#293253;border-color:#43568f}.theme-dark .toggle-field>span{color:#d1d3cc}.theme-dark .toggle-field small{color:#969a91}.theme-dark .layer-list button.active,.theme-dark .tool-rail button.active{color:#aebdff;background:#263054;border-color:#3b4f91}.theme-dark .property-note,.theme-dark .number-field>span,.theme-dark .wide-field>span,.theme-dark .style-row label,.theme-dark .variable-list span,.theme-dark .selection-summary{color:#9a9d95}@media (width<=1120px){.topbar{gap:8px}.ghost-button{display:none}.document-title input{width:190px}}@media (width<=900px){.workspace{grid-template-columns:50px minmax(0,1fr)}.document-title{flex:0 auto;min-width:0}.document-title input{width:100%;min-width:60px}.tool-rail{padding:8px 2px}.tool-rail button{width:44px;min-height:40px;font-size:var(--fs-tiny)}.tool-rail button kbd,.selection-summary{display:none}.context-toolbar>button,.context-toolbar .toolbar-divider,.context-toolbar .toolbar-kicker{flex:none}.inspector{z-index:50;width:290px;transition:transform .2s;position:fixed;top:48px;bottom:0;right:0;transform:translate(calc(100% - 5px))}.inspector:hover,.inspector:focus-within{transform:translate(0);box-shadow:-15px 0 40px #14161226}.mode-switch,.document-title .save-state{display:none}.topbar{gap:6px;padding:0 8px}.batch-print-dialog{max-height:94vh;overflow:auto}.batch-print-content{grid-template-columns:1fr}.batch-preview-column{border-right:0;border-bottom:1px solid var(--line)}.batch-preview-worktop{min-height:300px}.sequence-source-body{grid-template-columns:1fr}}@media (width<=680px){.topbar{overscroll-behavior-x:contain;overflow-x:auto}.topbar>*{flex:none}.document-title{display:none}.ai-button{padding:0 9px;font-size:0}.ai-button svg{font-size:var(--fs-title)}}@media print{html,body,#root,.app-shell{background:#fff;width:auto;height:auto;margin:0;overflow:visible}.app-shell{display:block}.app-shell>:not(.batch-print-root):not(style){display:none!important}.batch-print-root{background:#fff;margin:0;padding:0;display:block!important}.batch-print-page{break-after:page;page-break-after:always;margin:0;padding:0;display:block;overflow:hidden}.batch-print-page:last-child{break-after:auto;page-break-after:auto}.batch-print-page svg{width:100%;height:100%;display:block}}.canvas-footer .page-menu{inset:auto 0 calc(100% + 8px) auto}.canvas-column:has(.page-menu){z-index:20}.canvas-footer:has(.page-menu){z-index:30}.source-confirm{z-index:5;border:1px solid var(--line);background:#fff;border-radius:10px;width:min(420px,100% - 28px);padding:12px 13px;position:absolute;top:calc(100% + 6px);left:14px;box-shadow:0 14px 34px #14161238}.source-confirm p{font-size:var(--fs-tiny);margin:0 0 10px;line-height:1.6}.source-confirm b{color:#8a6a1f}.source-confirm div{justify-content:flex-end;gap:7px;display:flex}.source-confirm button,.field-confirm-actions button{height:26px;color:var(--ink);font-size:var(--fs-tiny);cursor:pointer;background:#f2f0ea;border:1px solid #dddbd4;border-radius:6px;padding:0 11px;font-weight:650}.source-confirm button.danger,.field-confirm-actions button.danger{color:#fff;background:var(--danger);border-color:var(--danger)}.field-head{align-items:center;gap:5px;display:flex}.field-remove{color:#a8aaa3;cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;width:17px;height:17px;display:inline-grid}.field-remove:hover:not(:disabled){color:var(--danger);background:#f7e9e7}.field-remove:disabled{opacity:.3;cursor:not-allowed}.field-confirm-backdrop{z-index:120;background:#14161266;place-items:center;display:grid;position:fixed;inset:0}.field-confirm{width:min(460px,92vw);color:var(--ink);background:#faf9f5;border-radius:12px;padding:18px;box-shadow:0 22px 50px #0c0e0a4d}.field-confirm h4{font-size:var(--fs-title);margin:0 0 9px}.field-confirm p{color:#6b6d66;font-size:var(--fs-tiny);margin:0 0 9px;line-height:1.6}.field-usage-list{max-height:130px;font-size:var(--fs-tiny);background:#f2f0ea;border-radius:8px;margin:0 0 12px;padding:9px 11px 9px 26px;line-height:1.7;overflow-y:auto}.field-confirm-actions{justify-content:flex-end;gap:7px;display:flex}.theme-dark .source-confirm,.theme-dark .field-confirm{color:#f0f1eb;background:#242721;border-color:#42463d}.theme-dark .field-usage-list,.theme-dark .source-confirm button,.theme-dark .field-confirm-actions button{color:#e6e7e1;background:#1e211c;border-color:#3d4139}.new-label-dialog{width:min(560px,100%);height:min(486px,88vh);color:var(--ink);background:#faf9f5;border:1px solid #ffffffdb;border-radius:14px;grid-template-rows:auto minmax(0,1fr) auto;animation:.18s cubic-bezier(.2,.9,.2,1) both modal-in;display:grid;position:relative;overflow:hidden;box-shadow:0 26px 60px #0c0e0a54}.new-label-dialog .variable-source-tabs{padding:11px 52px 0 13px}.new-label-body{align-content:start;gap:13px;min-height:0;padding:16px 18px;display:grid;overflow-y:auto}.new-label-pitch{align-items:center;gap:11px;display:flex}.new-label-pitch>span{color:#fff;background:var(--blue);border-radius:10px;flex:none;place-items:center;width:38px;height:38px;display:grid}.new-label-pitch.quiet>span{color:#5f6159;background:#eceae4}.new-label-pitch h3{font-size:var(--fs-h2);margin:0 0 3px}.new-label-pitch p{color:#85877f;font-size:var(--fs-label);margin:0;line-height:1.5}.new-label-body textarea{min-height:108px;color:var(--ink);font:inherit;font-size:var(--fs-body);resize:vertical;background:#fff;border:1px solid #dedcd5;border-radius:9px;padding:11px 12px;line-height:1.6}.new-label-body textarea:focus{border-color:#90a7ff;outline:0;box-shadow:0 0 0 3px #2e5bff1a}.new-label-hint{justify-content:space-between;align-items:center;gap:9px;margin-top:-4px;display:flex}.new-label-hint small{color:#92948d;font-size:var(--fs-tiny)}.new-label-example{color:#2748bf;background:var(--blue-soft);height:24px;font-size:var(--fs-label);cursor:pointer;border:1px solid #ccd6f7;border-radius:6px;align-items:center;gap:4px;padding:0 9px;font-weight:650;display:inline-flex}.new-label-example:hover:not(:disabled){background:#dfe6ff}.new-label-offline{color:#8a6a1f;font-size:var(--fs-label);background:#fdf6e3;border:1px solid #ecdcae;border-radius:9px;align-items:flex-start;gap:7px;margin:0;padding:11px 12px;line-height:1.6;display:flex}.new-label-offline svg{flex:none;margin-top:1px}.size-presets{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.size-presets button{color:#6f716b;cursor:pointer;background:#fff;border:1px solid #dedcd5;border-radius:8px;gap:2px;padding:8px 6px;display:grid}.size-presets button.active{color:#2047d3;background:#f1f4ff;border-color:#90a7ff}.size-presets b{font-family:DIN Alternate,sans-serif;font-size:var(--fs-label)}.size-presets small{color:#92948d;font-size:var(--fs-micro)}.size-presets button.active small{color:#6b83d8}.variable-choice{grid-template-columns:1fr 1fr;gap:7px;display:grid}.variable-choice-label{color:#6b6d66;font-size:var(--fs-label);grid-column:1/-1;font-weight:650}.variable-choice button{color:#6f716b;text-align:left;cursor:pointer;background:#fff;border:1px solid #dedcd5;border-radius:8px;align-items:center;gap:9px;min-width:0;padding:10px;display:flex}.variable-choice button.active{color:#2047d3;background:#f1f4ff;border-color:#90a7ff;box-shadow:0 0 0 2px #2e5bff14}.variable-choice span{gap:2px;min-width:0;display:grid}.variable-choice b{font-size:var(--fs-label)}.variable-choice small{color:#92948d;font-size:var(--fs-micro)}.variable-choice button.active small{color:#6b83d8}.ai-progress-panel{gap:12px;display:grid}.ai-progress-echo{color:#6f716b;max-height:76px;font-size:var(--fs-label);background:#f2f0ea;border-radius:9px;margin:0;padding:10px 12px;line-height:1.6;overflow:hidden}.ai-progress-track{background:#e6e3db;border-radius:999px;height:6px;overflow:hidden}.ai-progress-track>i{border-radius:inherit;background:linear-gradient(90deg,#4a6bff,#2047d3);height:100%;transition:width .26s linear;display:block}.ai-progress-note{color:#85877f;font-size:var(--fs-label);align-items:flex-start;gap:7px;margin:0;line-height:1.6;display:flex}.ai-progress-note svg{flex:none;margin-top:1px}.ai-progress-note b{color:#8a6a1f}.new-label-dialog .modal-close:disabled{opacity:.4;cursor:not-allowed}.theme-dark .ai-progress-echo{color:#b7b9b1;background:#1e211c}.theme-dark .ai-progress-track{background:#333730}.theme-dark .ai-progress-note{color:#969a91}.theme-dark .ai-progress-note b{color:#e6cf9a}.new-label-dialog .spin{animation:.9s linear infinite spin}@media (prefers-reduced-motion:reduce){.new-label-dialog .spin{animation-duration:3s}}.theme-dark .new-label-dialog{color:#f0f1eb;background:#242721;border-color:#42463d}.theme-dark .new-label-pitch p,.theme-dark .new-label-hint small,.theme-dark .size-presets small,.theme-dark .variable-choice small{color:#969a91}.theme-dark .new-label-pitch.quiet>span{color:#d3d5cd;background:#333730}.theme-dark .new-label-body textarea,.theme-dark .size-presets button,.theme-dark .variable-choice button{color:#d8dad2;background:#1e211c;border-color:#3d4139}.theme-dark .size-presets button.active,.theme-dark .variable-choice button.active{color:#c8d2ff;background:#293253;border-color:#43568f}.theme-dark .size-presets button.active small,.theme-dark .variable-choice button.active small{color:#9fb0ee}.theme-dark .new-label-example{color:#c8d2ff;background:#293253;border-color:#43568f}.theme-dark .new-label-offline{color:#e6cf9a;background:#33301f;border-color:#5c5330}.theme-dark .variable-choice-label{color:#b7b9b1}.data-manager-heading{border-bottom:1px solid var(--line);background:#f0eee8;align-items:center;gap:11px;padding:15px 46px 15px 18px;display:flex}.data-manager-heading>span{color:#fff;background:var(--blue);border-radius:9px;flex:none;place-items:center;width:34px;height:34px;display:grid}.data-manager-heading h2{font-size:var(--fs-h2);margin:0 0 2px}.data-manager-heading p{color:#8a8c85;font-size:var(--fs-label);margin:0}.data-manager-heading em{color:#5f6159;border:1px solid var(--line);font-family:DIN Alternate,sans-serif;font-size:var(--fs-label);background:#fbfaf7;border-radius:6px;margin-left:auto;padding:4px 9px;font-style:normal}.data-manager-body{align-content:start;gap:12px;min-height:0;padding:15px 18px;display:grid;overflow-y:auto}.data-upload-row{align-items:center;gap:10px;display:flex}.data-upload-button{color:#fff;background:var(--blue);font-size:var(--fs-body);cursor:pointer;border:0;border-radius:7px;align-items:center;gap:6px;padding:8px 13px;font-weight:650;display:inline-flex}.data-upload-button:hover{background:#244fe0}.data-upload-hint{color:#9a9c95;font-size:var(--fs-label)}.data-file-name{color:#55714e;font-size:var(--fs-label);align-items:center;gap:5px;display:inline-flex}.data-header-toggle{border:1px solid var(--line);cursor:pointer;font-size:var(--fs-body);background:#f6f7f3;border-radius:8px;align-items:center;gap:7px;padding:7px 9px;display:flex}.data-header-toggle input{accent-color:#2c5cf5;cursor:pointer;margin:0}.data-header-toggle small{color:#9a9c95;font-size:var(--fs-label);text-align:right;margin-left:auto}.data-mapping-intro{gap:3px;display:grid}.data-mapping-intro b{font-size:var(--fs-body)}.data-mapping-intro small{color:#9a9c95;font-size:var(--fs-label)}.data-preview-scroll{overscroll-behavior-x:contain;border:1px solid var(--line);background:#fff;border-radius:9px;max-height:min(420px,46vh);overflow:auto}.data-preview-table{border-collapse:collapse;width:max-content;min-width:100%;font-size:var(--fs-label)}.data-preview-table th{z-index:1;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;background:#f3f2ed;min-width:110px;padding:7px 8px;position:sticky;top:0}.data-preview-table th.selected{background:var(--blue-soft)}.data-column-toggle{cursor:pointer;align-items:center;gap:5px;display:flex}.data-column-toggle input{accent-color:var(--blue)}.data-column-toggle span{text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.data-field-input{width:100%;height:22px;color:var(--ink);font-family:DIN Alternate,sans-serif;font-size:var(--fs-label);background:#fff;border:1px solid #ccd6f7;border-radius:5px;margin-top:5px;padding:0 6px}.data-preview-table td{color:#5b5d56;white-space:nowrap;border-bottom:1px solid #f0efea;padding:6px 8px}.data-preview-table td.selected{color:#353732;background:#f8faff}.data-import-summary{color:#5f6159;font-size:var(--fs-label);flex-wrap:wrap;align-items:center;gap:6px 12px;display:flex}.data-import-summary span{align-items:center;gap:5px;display:inline-flex}.data-import-summary b{font-family:DIN Alternate,sans-serif}.data-import-summary em{color:#a2764a;font-size:var(--fs-label);font-style:normal}.data-manager-error{color:var(--danger);font-size:var(--fs-label);background:#f8ece9;border:1px solid #e6c1bb;border-radius:7px;margin:0;padding:8px 10px}.data-manager-actions{border-top:1px solid var(--line);background:#f3f2ed;justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}.theme-dark .data-manager-heading,.theme-dark .data-manager-actions{background:#292c27;border-color:#3b3e37}.theme-dark .variable-data-heading em,.theme-dark .data-manager-heading em{color:#c9cbc4;background:#242721;border-color:#41453d}.theme-dark .data-manager-heading p,.theme-dark .data-mapping-intro small,.theme-dark .data-header-toggle small,.theme-dark .data-upload-hint{color:#969a91}.theme-dark .data-header-toggle{background:#242721;border-color:#41453d}.theme-dark .data-preview-scroll{background:#20221e;border-color:#3b3e37}.theme-dark .data-preview-table th{background:#2d302a;border-color:#3b3e37}.theme-dark .data-preview-table th.selected{background:#293253}.theme-dark .data-preview-table td{color:#c3c6be;border-color:#2d302a}.theme-dark .data-preview-table td.selected{color:#eeefe9;background:#262c44}.theme-dark .data-field-input{color:#ecece6;background:#242721;border-color:#46506f}.theme-dark .data-import-summary{color:#c3c6be}.font-picker{grid-template-columns:minmax(0,1fr) 27px;gap:4px;min-width:0;display:grid}.font-picker select{min-width:0}.font-manage-button{color:#666862;cursor:pointer;background:#f0eee8;border:1px solid #dfddd5;border-radius:6px;place-items:center;display:grid}.font-manage-button:hover{color:#173dc4;background:#fff;border-color:#bdc9f4}.font-manager-dialog{width:min(560px,94vw);max-height:88vh;color:var(--ink);background:#fbfaf7;border-radius:14px;grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:relative;overflow:hidden;box-shadow:0 26px 70px #1416124d}.font-license-notice{color:#7d664d;font-size:var(--fs-label);background:#f5f1e9;border:1px solid #d7c9b9;border-radius:8px;align-items:flex-start;gap:7px;padding:9px 11px;line-height:1.55;display:flex}.font-license-notice svg{flex:none;margin-top:1px}.font-license-field{grid-template-columns:66px minmax(0,1fr);margin-top:0}.font-list{gap:6px;display:grid}.font-list-row{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) 28px;align-items:center;gap:10px;padding:8px 10px;display:grid}.font-preview{color:#2f312c;text-overflow:ellipsis;white-space:nowrap;font-size:17px;overflow:hidden}.font-meta{gap:2px;min-width:0;display:grid}.font-meta b{font-size:var(--fs-label);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.font-meta small{color:#9a9c95;font-size:var(--fs-tiny)}.font-delete{color:#8a8c85;cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;width:26px;height:26px;display:grid}.font-delete:hover{color:var(--danger);background:#f8ece9}.font-list-empty{color:#9a9c95;font-size:var(--fs-label);text-align:center;margin:4px 0}.theme-dark .font-manager-dialog{background:#242721}.theme-dark .font-manage-button{color:#c2c5bd;background:#292c27;border-color:#3d4039}.theme-dark .font-license-notice{color:#d4ae82;background:#312c25;border-color:#5c4d3e}.theme-dark .font-list-row{background:#292c27;border-color:#3b3e37}.theme-dark .font-preview{color:#eeefe9}.theme-dark .font-meta small,.theme-dark .font-list-empty{color:#969a91}.canvas-stage.tool-brush,.canvas-stage.tool-brush .label-svg,.canvas-stage.tool-brush .label-svg *{cursor:crosshair!important}.brush-settings{align-items:center;gap:6px;padding-left:4px;display:flex}.brush-settings label{color:#73756f;font-size:var(--fs-label);align-items:center;gap:4px;display:flex}.brush-settings input[type=color]{cursor:pointer;background:0 0;border:0;border-radius:5px;width:20px;height:20px;padding:0;overflow:hidden}.brush-settings input[type=range]{width:62px;height:3px;accent-color:var(--ink)}.brush-settings b{color:#5f6159;min-width:26px;font-family:DIN Alternate,sans-serif;font-size:var(--fs-label);font-variant-numeric:tabular-nums}.theme-dark .brush-settings label,.theme-dark .brush-settings b{color:#b6b9b0}.generator-field.third{width:calc(33% - 4px)}.rule-candidates{gap:6px;display:grid}.rule-candidates-label{color:#656760;font-size:var(--fs-label);font-weight:700}.rule-candidate{color:#4d4f49;text-align:left;cursor:pointer;background:#f1f0ec;border:1px solid #dfddd6;border-radius:8px;gap:3px;padding:8px 10px;transition:background .12s,border-color .12s;display:grid}.rule-candidate:hover{border-color:#c8d3ff}.rule-candidate.active{color:#2748bf;background:var(--blue-soft);border-color:#b9c6f7}.rule-candidate b{font-size:var(--fs-label);font-weight:650}.rule-candidate small{color:#8a8c85;font-family:DIN Alternate,Menlo,monospace;font-size:var(--fs-label)}.rule-candidate.active small{color:#5470d8}.rule-empty{color:#9a9c95;font-size:var(--fs-label);text-align:center;background:#f3f2ed;border:1px dashed #dfddd6;border-radius:8px;margin:0;padding:12px}.theme-dark .rule-candidates-label{color:#c5c7c0}.theme-dark .rule-candidate{color:#c5c8c0;background:#292c27;border-color:#3d4039}.theme-dark .rule-candidate.active{color:#c8d2ff;background:#293253;border-color:#43568f}.theme-dark .rule-candidate small{color:#969a91}.theme-dark .rule-candidate.active small{color:#9fb2ff}.theme-dark .rule-empty{color:#969a91;background:#292c27;border-color:#3d4039}.variable-section-actions{gap:4px;display:flex}.tiny-add.primary{color:#2748bf;background:var(--blue-soft);border-color:#b9c6f7}.tiny-add.primary:hover{background:#dfe6ff}.theme-dark .tiny-add.primary{color:#c8d2ff;background:#293253;border-color:#43568f}.theme-dark .tiny-add.primary:hover{background:#2f3a63}@media (width<=900px){.variable-generate-button span{display:none}}.per-record-copies{border:1px solid var(--line);font-size:var(--fs-label);background:#fff;border-radius:8px;align-items:center;gap:6px;margin-top:8px;padding:8px 10px;display:flex}.per-record-copies>span{color:#73756f;white-space:nowrap}.per-record-copies input{width:54px;height:26px;color:var(--ink);font-size:var(--fs-label);background:#fff;border:1px solid #dddbd4;border-radius:6px;padding:0 6px}.per-record-copies em{color:#9a9c95;font-size:var(--fs-label);font-style:normal}.per-record-copies b{color:#2748bf;font-family:DIN Alternate,sans-serif;font-size:var(--fs-label);white-space:nowrap;margin-left:auto}.theme-dark .per-record-copies{background:#292c27;border-color:#3b3e37}.theme-dark .per-record-copies>span{color:#b6b9b0}.theme-dark .per-record-copies input{color:#ecece6;background:#242721;border-color:#454840}.theme-dark .per-record-copies b{color:#c8d2ff}.theme-dark .delete-confirm{background:#352724;border-color:#62423d}.theme-dark .delete-confirm .confirm-no{color:#c3c6be;background:#292c27;border-color:#41443e}.current-data-table th code{color:#4563d4;font-family:DIN Alternate,Menlo,monospace;font-size:var(--fs-label)}.current-data-table .row-index{z-index:2;color:#a8aaa3;text-align:center;background:#fff;width:34px;min-width:34px;font-family:DIN Alternate,sans-serif;position:sticky;left:0}.current-data-table .row-action{text-align:center;width:34px;min-width:34px}.current-data-table td{padding:3px 4px}.current-data-table td input{width:100%;min-width:96px;height:24px;color:var(--ink);font-size:var(--fs-label);background:0 0;border:1px solid #0000;border-radius:5px;padding:0 6px}.current-data-table td input:hover{border-color:#e0ded7}.current-data-table td input:focus{background:#fff;border-color:#8099f6;outline:0}.current-data-table .row-action button{color:#a8aaa3;cursor:pointer;background:0 0;border:0;border-radius:5px;place-items:center;width:22px;height:22px;display:grid}.current-data-table .row-action button:hover:not(:disabled){color:var(--danger);background:#f8ece9}.current-data-table .row-action button:disabled{opacity:.35;cursor:default}.data-upload-button.ghost{color:#2748bf;background:var(--blue-soft);border:1px solid #ccd6f7}.data-upload-button.ghost:hover{background:#dfe6ff}.theme-dark .current-data-table td input{color:#ecece6}.theme-dark .current-data-table td input:hover{border-color:#3d4039}.theme-dark .current-data-table td input:focus{background:#20221e;border-color:#46506f}.theme-dark .data-upload-button.ghost{color:#c8d2ff;background:#293253;border-color:#43568f}.current-data-table thead .row-index{z-index:3;background:#f3f2ed}.theme-dark .current-data-table .row-index{background:#20221e}.theme-dark .current-data-table thead .row-index{background:#2d302a}.overflow-warning{color:#b4292d;height:26px;font-size:var(--fs-body);cursor:pointer;background:#fdeced;border:1px solid #f4c7c9;border-radius:7px;align-items:center;gap:5px;padding:0 9px;font-weight:600;display:inline-flex}.overflow-warning:hover{background:#fbdcde;border-color:#eda9ac}.theme-dark .overflow-warning{color:#ff9ea1;background:#3a2224;border-color:#5c3235}.theme-dark .overflow-warning:hover{background:#48292c}.admin-login{background:var(--worktop);place-items:center;height:100%;padding:24px;display:grid;overflow-y:auto}.admin-login-card{text-align:center;background:var(--paper);border:1px solid var(--line);border-radius:14px;justify-items:center;gap:10px;width:min(340px,100%);padding:32px 28px;display:grid;box-shadow:0 18px 44px #14161224}.admin-login-card h1{font-size:var(--fs-h2);margin:4px 0 0}.admin-login-card p{color:var(--muted);font-size:var(--fs-tiny);margin:0;line-height:1.6}.admin-login-card code{font-size:var(--fs-micro);background:#eceae4;border-radius:4px;padding:1px 4px}.admin-login-card input{width:100%;height:34px;color:var(--ink);font-size:var(--fs-body);background:#fff;border:1px solid #dddbd4;border-radius:8px;margin-top:6px;padding:0 11px}.admin-login-card input:focus{border-color:#90a7ff;outline:0;box-shadow:0 0 0 3px #2e5bff1a}.admin-login-error{color:var(--danger)!important}.admin-login-card button{color:#fff;background:var(--blue);width:100%;height:34px;font-size:var(--fs-label);cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:6px;font-weight:700;display:inline-flex}.admin-login-card button:disabled{opacity:.5;cursor:not-allowed}.admin-spin{animation:.9s linear infinite spin}@media (prefers-reduced-motion:reduce){.admin-spin{animation-duration:3s}}.admin-shell{background:var(--worktop);flex-direction:column;height:100%;display:flex;overflow-y:auto}.admin-topbar{z-index:5;background:var(--paper);border-bottom:1px solid var(--line);align-items:center;gap:18px;padding:11px 20px;display:flex;position:sticky;top:0}.admin-brand{font-size:var(--fs-body);align-items:center;gap:8px;font-weight:700;display:flex}.admin-tabs{gap:4px;display:flex}.admin-tabs button{height:28px;color:var(--ink-2);font-size:var(--fs-label);cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:5px;padding:0 12px;font-weight:650;display:inline-flex}.admin-tabs button.active{color:#2748bf;background:var(--blue-soft)}.admin-logout{height:28px;color:var(--ink-2);border:1px solid var(--line);font-size:var(--fs-tiny);cursor:pointer;background:0 0;border-radius:7px;align-items:center;gap:5px;margin-left:auto;padding:0 11px;display:inline-flex}.admin-main{flex:1 0 auto;padding:22px 20px 40px}.admin-panel{background:var(--paper);border:1px solid var(--line);border-radius:12px;width:min(980px,100%);margin:0 auto;padding:22px}.admin-panel h2{font-size:var(--fs-h2);margin:0 0 6px}.admin-panel h3{font-size:var(--fs-title);margin:22px 0 9px}.admin-hint{color:var(--muted);font-size:var(--fs-tiny);margin:0 0 14px;line-height:1.7}.admin-hint code{background:#eceae4;border-radius:4px;padding:1px 4px}.admin-note{color:#5e7c55;font-size:var(--fs-tiny);margin:12px 0 0}.admin-metrics{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.admin-metrics>div{background:#f2f0ea;border-radius:10px;gap:3px;padding:14px;display:grid}.admin-metrics b{font-family:DIN Alternate,sans-serif;font-size:26px;line-height:1}.admin-metrics small{color:var(--muted);font-size:var(--fs-tiny)}.admin-metrics .bad b{color:var(--danger)}.admin-providers{grid-template-columns:repeat(auto-fill,minmax(228px,1fr));gap:8px;display:grid}.admin-model-group+.admin-model-group{margin-top:6px}.admin-model-group h3{align-items:baseline;gap:9px;display:flex}.admin-model-group h3 em{font-size:var(--fs-tiny);font-style:normal;font-weight:500}.admin-model-group h3 em.ok{color:#5e7c55}.admin-model-group h3 em.missing{color:#8a6a1f}.admin-provider{color:var(--ink);text-align:left;cursor:pointer;background:#fff;border:1px solid #dedcd5;border-radius:10px;align-items:center;gap:11px;padding:13px 14px;display:flex}.admin-provider.active{background:#f1f4ff;border-color:#90a7ff;box-shadow:0 0 0 2px #2e5bff14}.admin-provider:disabled{opacity:.55;cursor:not-allowed}.admin-provider-mark{color:#2748bf;background:var(--blue-soft);border-radius:8px;place-items:center;width:28px;height:28px;display:grid}.admin-provider span:nth-child(2){gap:2px;display:grid}.admin-provider b{font-size:var(--fs-body);letter-spacing:.01em;font-family:DIN Alternate,sans-serif}.admin-provider small{color:var(--muted);font-size:var(--fs-tiny)}.admin-provider small.free{color:#6f8a66;font-size:var(--fs-micro)}.admin-provider small.expired{color:#8a6a1f;font-size:var(--fs-micro)}.admin-provider em{font-size:var(--fs-tiny);margin-left:auto;font-style:normal}.admin-provider em.ok{color:#5e7c55}.admin-provider em.missing{color:#8a6a1f}.admin-bars{align-items:flex-end;gap:10px;padding-bottom:4px;display:flex;overflow-x:auto}.admin-bar{justify-items:center;gap:3px;min-width:46px;display:grid}.admin-bar-track{background:#eceae4;border-radius:5px;align-items:flex-end;width:26px;height:84px;display:flex;overflow:hidden}.admin-bar-track>i{background:linear-gradient(#4a6bff,#2047d3);border-radius:5px;width:100%}.admin-bar b{font-family:DIN Alternate,sans-serif;font-size:var(--fs-label)}.admin-bar small{color:var(--muted);font-size:var(--fs-micro)}.admin-bar em{color:#a8aaa3;font-size:var(--fs-micro);font-style:normal}.admin-table{border-collapse:collapse;width:100%;font-size:var(--fs-tiny)}.admin-table th{color:var(--muted);text-align:left;border-bottom:1px solid var(--line);padding:7px 9px;font-weight:650}.admin-table td{vertical-align:top;border-bottom:1px solid #eeece6;padding:7px 9px}.admin-table code{font-size:var(--fs-micro)}.admin-table .slow,.admin-table .bad{color:var(--danger)}.admin-table .prompt{text-overflow:ellipsis;white-space:nowrap;max-width:340px;overflow:hidden}.admin-table.conversations td{font-variant-numeric:tabular-nums}.admin-keywords{flex-wrap:wrap;gap:6px;display:flex}.admin-keywords span{font-size:var(--fs-tiny);background:#f2f0ea;border-radius:999px;align-items:center;gap:5px;padding:4px 9px;display:inline-flex}.admin-keywords i{color:#2748bf;font-family:DIN Alternate,sans-serif;font-style:normal}.current-data-table .sticky-action{z-index:3;background:#fff;width:40px;min-width:40px;position:sticky;right:0;box-shadow:-6px 0 8px -6px #14161238}.current-data-table thead .sticky-action{z-index:4;background:#f6f5f1}.current-data-table .cell-text{min-width:72px;max-width:260px;color:var(--ink);font-size:var(--fs-label);text-overflow:ellipsis;white-space:nowrap;padding:4px 6px;display:block;overflow:hidden}.data-mapping-intro{align-items:flex-start;gap:10px;display:flex}.data-mapping-intro>div{gap:2px;display:grid}.edit-toggle{color:#2748bf;background:var(--blue-soft);height:26px;font-size:var(--fs-tiny);white-space:nowrap;cursor:pointer;border:1px solid #ccd6f7;border-radius:7px;align-items:center;gap:5px;margin-left:auto;padding:0 11px;font-weight:650;display:inline-flex}.edit-toggle.done{color:#fff;background:var(--blue);border-color:var(--blue)}.field-name{cursor:pointer;background:0 0;border:0;border-radius:4px;padding:1px 4px}.field-name:hover{background:var(--blue-soft)}.field-name:hover code{color:#2748bf}.field-rename{width:110px;height:22px;color:var(--ink);font-size:var(--fs-tiny);background:#fff;border:1px solid #90a7ff;border-radius:5px;padding:0 5px}.field-rename-error{color:var(--danger);font-size:var(--fs-tiny);margin:0;line-height:1.6}.field-remove-hints{color:var(--muted);line-height:1.6;font-size:var(--fs-tiny);flex-wrap:wrap;align-items:center;gap:5px;display:flex}.field-remove-hints .field-remove{width:auto;height:auto;min-height:22px;color:var(--ink-2);font-size:var(--fs-micro);background:#f2f0ea;border-radius:5px;gap:3px;padding:3px 7px}.field-remove-hints .field-remove:hover{color:var(--danger);background:#f7e9e7}.theme-dark .current-data-table .sticky-action{background:#1e211c}.theme-dark .current-data-table thead .sticky-action{background:#262922}.theme-dark .current-data-table .cell-text{color:#e6e7e1}.theme-dark .edit-toggle{color:#c8d2ff;background:#293253;border-color:#43568f}.theme-dark .edit-toggle.done{color:#fff;background:var(--blue)}.theme-dark .field-rename{color:#f2f1eb;background:#1e211c}.theme-dark .field-remove-hints .field-remove{color:#d8dad2;background:#2b2e29}.inspector{position:relative}.app-shell.inspector-collapsed .workspace{grid-template-columns:66px minmax(0,1fr) 26px}.app-shell.inspector-collapsed .inspector>:not(.inspector-collapse){display:none}.inspector-collapse{z-index:12;width:22px;height:46px;color:var(--ink-2);background:var(--paper);border:1px solid var(--line);cursor:pointer;border-radius:7px;place-items:center;padding:0;transition:color .12s,border-color .12s;display:grid;position:absolute;top:50%;left:-10px;overflow:hidden;transform:translateY(-50%);box-shadow:0 2px 6px #14161224}.inspector-collapse:hover{color:var(--blue);border-color:#b9c6f7}.app-shell.inspector-collapsed .inspector-collapse{left:2px}.theme-dark .inspector-collapse{color:#d8dad2;background:#262922;border-color:#3d4139}.ai-modal-heading{border-bottom:1px solid var(--line);background:#fff;flex:none;align-items:center;gap:11px;padding:14px 52px 14px 16px;display:flex}.ai-modal-heading>span{color:#fff;background:linear-gradient(135deg,#4a6bff,#2047d3);border-radius:10px;flex:none;place-items:center;width:36px;height:36px;display:grid}.ai-modal-heading h3{font-size:var(--fs-title);margin:0 0 3px}.ai-modal-heading p{color:var(--muted);font-size:var(--fs-tiny);margin:0;line-height:1.55}.ai-panel .ai-status-line{border-bottom:1px solid var(--line);flex:none;padding:9px 16px}.ai-panel .ai-dock-body{flex:1;min-height:0;padding:14px 16px;overflow-y:auto}.ai-panel .ai-dock-composer{border-top:1px solid var(--line);background:#fff;flex:none;padding:12px 16px 14px}.theme-dark .ai-panel{color:#f0f1eb;background:#242721;border-color:#42463d}.theme-dark .ai-modal-heading,.theme-dark .ai-panel .ai-dock-composer{background:#292c27;border-color:#3d4139}.theme-dark .ai-modal-heading p{color:#969a91}.theme-dark .ai-panel .ai-status-line{border-color:#3d4139}.admin-pager{color:var(--muted);font-size:var(--fs-tiny);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:12px;display:flex}.admin-pager>div{gap:6px;display:flex}.admin-pager button{min-height:26px;color:var(--ink);border:1px solid var(--line);font-size:var(--fs-tiny);cursor:pointer;background:#fff;border-radius:6px;padding:3px 11px}.admin-pager button:hover:not(:disabled){color:#2748bf;border-color:#b9c6f7}.admin-pager button:disabled{opacity:.42;cursor:not-allowed}.theme-dark .admin-pager button{color:#e6e7e1;background:#1e211c;border-color:#3d4139}.toast .toast-undo{color:#fff;height:22px;font-size:var(--fs-tiny);cursor:pointer;background:#ffffff29;border:1px solid #ffffff61;border-radius:6px;margin-left:4px;padding:0 10px;font-weight:650}.toast .toast-undo:hover{background:#ffffff42}.vd-layout{flex:1;min-height:0;display:flex}.vd-sidebar{border-right:1px solid var(--line);background:#f3f1ec;flex-direction:column;flex:none;gap:6px;width:236px;padding:12px 10px;display:flex;overflow-y:auto}.vd-side-label{color:#8a8c85;font-size:var(--fs-micro);letter-spacing:.06em;padding:4px 6px 2px;font-weight:700}.vd-source-list{overscroll-behavior:contain;flex:none;gap:4px;max-height:288px;padding-right:2px;display:grid;overflow-y:auto}.vd-source-card{min-width:0;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;align-items:center;gap:8px;padding:8px 9px;display:flex}.vd-source-card:hover{background:#ebe9e2}.vd-source-card.active{background:#fff;border-color:#b9c6f7;box-shadow:0 1px 4px #2047d31a}.vd-source-icon{color:#6b6d66;background:#e7e4dc;border-radius:7px;flex:none;place-items:center;width:26px;height:26px;display:grid}.vd-source-card.active .vd-source-icon{color:#2748bf;background:var(--blue-soft)}.vd-source-copy{gap:1px;min-width:0;display:grid}.vd-source-copy b{font-size:var(--fs-tiny);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vd-source-copy small{color:#92948d;font-size:var(--fs-micro);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vd-source-check{color:#2748bf;flex:none;margin-left:auto}.vd-empty-hint{color:#8a8c85;font-size:var(--fs-tiny);margin:0;padding:8px 6px;line-height:1.6}.vd-create-nav{gap:4px;display:grid}.vd-create-nav button{color:var(--ink-2);text-align:left;cursor:pointer;background:0 0;border:1px dashed #d5d2c9;border-radius:9px;align-items:center;gap:8px;padding:8px 9px;display:flex}.vd-create-nav button:hover{background:#ebe9e2}.vd-create-nav button.active{color:#2748bf;background:var(--blue-soft);border:1px solid #b9c6f7}.vd-create-nav span{gap:1px;display:grid}.vd-create-nav b{font-size:var(--fs-tiny)}.vd-create-nav small{color:#92948d;font-size:var(--fs-micro)}.vd-create-nav button.active small{color:#6b83d8}.vd-limit-warning{color:#8a6a1f;font-size:var(--fs-micro);background:#fdf6e3;border:1px solid #ecdcae;border-radius:8px;margin:0;padding:8px 9px;line-height:1.6}.vd-main{background:var(--paper);flex-direction:column;flex:1;min-width:0;display:flex}.vd-detail-header{border-bottom:1px solid #eeece6;flex:none;align-items:center;gap:12px;padding:13px 16px 11px;display:flex;position:relative}.vd-detail-title{gap:2px;min-width:0;display:grid}.vd-detail-title h4{font-size:var(--fs-title);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.vd-detail-title small{color:#8a8c85;font-size:var(--fs-tiny)}.vd-detail-title em{color:#8a6a1f;font-style:normal}.vd-detail-actions{flex:none;gap:6px;margin-left:auto;display:flex}.vd-detail-actions button{height:27px;color:var(--ink-2);font-size:var(--fs-tiny);cursor:pointer;background:#fff;border:1px solid #dddbd4;border-radius:7px;align-items:center;gap:5px;padding:0 11px;font-weight:650;display:inline-flex}.vd-detail-actions button:hover{border-color:#c4c1b8}.vd-detail-actions button.danger:hover{color:var(--danger);border-color:#e2b6b0}.vd-detail-rename{align-items:center;gap:5px;display:flex}.vd-detail-rename input{width:300px;height:28px;color:var(--ink);font-size:var(--fs-label);background:#fff;border:1px solid #90a7ff;border-radius:7px;padding:0 9px}.vd-detail-rename button{width:28px;height:28px;color:var(--ink-2);cursor:pointer;background:#fff;border:1px solid #dddbd4;border-radius:7px;place-items:center;display:grid}.vd-detail-header .source-confirm{top:calc(100% + 4px);left:auto;right:16px}.theme-dark .vd-sidebar{background:#23261f;border-color:#3d4139}.theme-dark .vd-source-card{color:#e6e7e1}.theme-dark .vd-source-card:hover{background:#2b2e29}.theme-dark .vd-source-card.active{background:#1e211c;border-color:#43568f}.theme-dark .vd-source-icon{color:#b7b9b1;background:#333730}.theme-dark .vd-source-card.active .vd-source-icon{color:#c8d2ff;background:#293253}.theme-dark .vd-source-copy small,.theme-dark .vd-create-nav small,.theme-dark .vd-side-label{color:#969a91}.theme-dark .vd-create-nav button{color:#d8dad2;border-color:#43473e}.theme-dark .vd-create-nav button:hover{background:#2b2e29}.theme-dark .vd-create-nav button.active{color:#c8d2ff;background:#293253;border-color:#43568f}.theme-dark .vd-main{background:#242721}.theme-dark .vd-detail-header{border-color:#33362f}.theme-dark .vd-detail-title small{color:#969a91}.theme-dark .vd-detail-actions button,.theme-dark .vd-detail-rename button,.theme-dark .vd-detail-rename input{color:#e6e7e1;background:#1e211c;border-color:#3d4139}.theme-dark .vd-limit-warning{color:#e6cf9a;background:#33301f;border-color:#5c5330}.generator-grid.three{grid-template-columns:1.2fr 1fr .7fr}.generator-field.muted{opacity:.45}.gen-mode-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.gen-mode-row button{color:#6f716b;text-align:left;cursor:pointer;background:#fff;border:1px solid #dedcd5;border-radius:9px;align-items:center;gap:9px;padding:9px 12px;display:flex}.gen-mode-row button.active{color:#2047d3;background:#f1f4ff;border-color:#90a7ff;box-shadow:0 0 0 2px #2e5bff14}.gen-mode-row span{gap:1px;display:grid}.gen-mode-row b{font-size:var(--fs-tiny)}.gen-mode-row small{color:#92948d;font-size:var(--fs-micro)}.gen-mode-row button.active small{color:#6b83d8}.gen-columns{grid-template-columns:1fr 1fr;align-items:start;gap:10px;display:grid}.gen-col{background:#fbfaf7;border:1px solid #e4e1d9;border-radius:10px;gap:9px;margin:0;padding:11px 12px 13px;transition:opacity .14s;display:grid}.gen-col legend{color:#6b6d66;font-size:var(--fs-micro);letter-spacing:.04em;padding:0 4px;font-weight:700}.gen-col.off{opacity:.5;cursor:pointer}.gen-col.off legend{color:#92948d}.sequence-preview-empty{color:#a8aaa3;font-style:normal}.theme-dark .gen-mode-row button{color:#d8dad2;background:#1e211c;border-color:#3d4139}.theme-dark .gen-mode-row button.active{color:#c8d2ff;background:#293253;border-color:#43568f}.theme-dark .gen-mode-row small{color:#969a91}.theme-dark .gen-col{background:#23261f;border-color:#3d4139}.theme-dark .gen-col legend{color:#b7b9b1}.vd-source-card.none{border-style:dashed;border-color:#d5d2c9}.vd-source-card.none.active{border-style:solid;border-color:#b9c6f7}.theme-dark .vd-source-card.none{border-color:#43473e}.theme-dark .vd-source-card.none.active{border-color:#43568f}.variable-choice.three{grid-template-columns:1fr 1fr 1fr}.variable-choice button:disabled{opacity:.5;cursor:not-allowed}.wide-source-pick{margin-top:-4px}
