.login-container{display:flex;justify-content:center;align-items:center;height:100vh;background:linear-gradient(135deg,#e0f0ff,#f5f0ff,#e8f4fd);position:relative;overflow:hidden}.login-box{width:420px;padding:48px 40px 36px;position:relative;z-index:1;background:#fff;border-radius:12px;box-shadow:0 8px 40px #00000014}.cyber-title{text-align:center;margin-bottom:36px;font-size:28px!important;font-weight:700!important;letter-spacing:4px;color:#333!important;-webkit-text-fill-color:#333!important;background:none!important;-webkit-background-clip:unset!important;background-clip:unset!important;text-shadow:none!important}.cyber-input-group{position:relative;margin-bottom:24px}.cyber-input-group .cyber-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);z-index:2;font-size:18px;color:#999}.cyber-input-group .ant-input,.cyber-input-group .ant-input-password,.cyber-input-group .ant-input-affix-wrapper{height:48px;padding-left:44px;border-radius:8px;font-size:14px}.cyber-input-group .ant-input-affix-wrapper{padding-left:44px}.cyber-input-group .ant-input-affix-wrapper .ant-input{padding-left:0;height:auto}.cyber-btn{width:100%;height:48px!important;margin-top:8px;font-size:16px!important;font-weight:600!important;letter-spacing:2px!important;border-radius:8px!important}.captcha-row{display:flex;gap:10px;align-items:center}.captcha-image{width:120px;height:40px;cursor:pointer;border-radius:4px;overflow:hidden;background:#fafafa;display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0;border:1px solid #d9d9d9}.captcha-image img{width:100%;height:100%;object-fit:cover}.captcha-image span{color:#999;font-size:12px}.captcha-loading{position:absolute;top:0;right:0;bottom:0;left:0;background:#fffc;display:flex;align-items:center;justify-content:center;color:#1890ff}.captcha-image-inline{display:flex;align-items:center;gap:4px;cursor:pointer}.captcha-image-inline img{height:30px;border-radius:3px}.captcha-spin{color:#1890ff}.login-box .ant-form-item{margin-bottom:0}@media(max-width:480px){.login-box{width:92vw;padding:36px 24px 28px}.cyber-title{font-size:22px;letter-spacing:2px}}.tabs-nav-container{display:flex;align-items:center;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;gap:5px}.tabs-nav-container::-webkit-scrollbar{height:4px}.tabs-nav-container::-webkit-scrollbar-thumb{background:#d9d9d9;border-radius:2px}.tabs-nav-container::-webkit-scrollbar-thumb:hover{background:#999}.tag-item{display:inline-flex;align-items:center;height:30px;margin-top:5px;margin-bottom:5px;padding:0 8px;font-size:12px;color:#666;background:#fafafa;border:1px solid #d9d9d9;border-radius:3px;cursor:pointer;white-space:nowrap;transition:all .2s}.tag-item:hover{color:#1890ff;border-color:#1890ff}.tag-item.active{background:#e6f7ff;color:#1890ff;border-color:#1890ff;font-weight:500}.tag-item.unsaved:before{content:"";display:inline-block;width:8px;height:8px;margin-right:6px;background:#ff4d4f;border-radius:50%}.tag-item.active.unsaved:before{background:#fff}.tag-item .tag-close{margin-left:5px;font-size:12px;width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.tag-item .tag-close:hover{background-color:#0000001a}.tag-item.active .tag-close:hover{background-color:#00000026}.keep-alive-container{flex:1;position:relative;display:flex;flex-direction:column;overflow:hidden}.keep-alive-page{flex:1;overflow:hidden;display:none;flex-direction:column}.keep-alive-page.hidden{display:none;content-visibility:hidden;contain-intrinsic-size:0 500px}.keep-alive-page.hidden img{visibility:hidden}.keep-alive-page.active{display:flex;flex-direction:column;overflow:auto;content-visibility:visible}.announcements-page{display:flex;height:100%}.announcements-list{width:320px;border-right:1px solid #f0f0f0;overflow-y:auto}.list-header{padding:16px;font-size:16px;font-weight:500;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;align-items:center}.announcement-item{padding:12px 16px!important;cursor:pointer;transition:background .2s}.announcement-item:hover{background:#f5f5f5}.announcement-item.active{background:#e6f7ff;border-right:3px solid #1890ff}.announcement-item .ant-list-item-meta-title{margin-bottom:4px}.announcement-item .item-title{display:flex;align-items:center;gap:4px}.announcement-item .pin-icon{color:#faad14;font-size:12px}.announcement-item .time{color:#999;font-size:12px}.announcements-detail{flex:1;padding:16px;overflow-y:auto}.announcements-detail .ant-card{height:100%}.announcements-detail .time{color:#999;font-size:12px}.detail-content{line-height:1.8;color:#333}.detail-images{margin-top:24px;display:flex;flex-direction:column;align-items:center}.detail-images h4{margin-bottom:12px;color:#666;width:100%}.detail-images .ant-image-preview-group{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}.detail-attachments{margin-top:24px}.detail-attachments h4{margin-bottom:12px;color:#666}.attachment-item{padding:8px 0;border-bottom:1px solid #f0f0f0}.materials-layout{height:100%}.materials-sider{display:flex;flex-direction:column;border-right:1px solid #f0f0f0}.materials-sider .sider-scroll-area{flex:1;overflow-y:auto;padding:8px}.materials-sider .sider-fixed-bottom{border-top:1px solid #f0f0f0;padding:8px}.materials-content{padding:16px;overflow-y:auto}.card-cover-wrapper{position:relative;padding-top:100%;overflow:hidden;background:#f5f5f5}.card-cover-wrapper .ant-image{position:absolute;top:0;left:0;width:100%;height:100%;display:flex!important;align-items:center;justify-content:center}.card-cover-wrapper .ant-image .ant-image-img{max-width:100%;max-height:100%;width:auto!important;height:auto!important;object-fit:contain;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.card-actions{position:absolute;top:6px;right:6px;display:flex;gap:4px;opacity:0;transition:opacity .2s;z-index:10;padding:3px 4px;border-radius:6px;background:#00000059;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.item-card:hover .card-actions{opacity:1}.card-actions .ant-btn{background:#fff3!important;border:none!important;color:#fff!important;border-radius:4px!important;box-shadow:none!important;min-width:24px;height:24px;display:flex;align-items:center;justify-content:center}.card-actions .ant-btn:hover{background:#fff6!important;color:#fff!important}.card-actions .ant-btn.ant-btn-dangerous{color:#ff7875!important}.card-actions .ant-btn.ant-btn-dangerous:hover{background:#ff4d4f4d!important;color:#fff!important}.item-filename{padding:6px 4px;font-size:12px;color:#666;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.announcement-section{margin-top:8px}.announcement-list{max-height:150px;overflow-y:auto}.announcement-item-mini{display:flex;justify-content:space-between;padding:6px 8px;cursor:pointer;border-radius:4px;font-size:12px}.announcement-item-mini:hover{background:#f5f5f5}.announcement-item-mini .title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.announcement-item-mini .time{color:#999;margin-left:8px}.detail-content .detail-images{display:flex;gap:24px}.announcement-detail .time{color:#999;font-size:12px}.announcement-detail .detail-section{margin:16px 0}.announcement-detail .content{white-space:pre-wrap}.announcement-detail .attachment-item{padding:4px 0}.canvas-manager-layout{height:100%}.canvas-manager-sider{border-right:1px solid #f0f0f0;padding:8px}.canvas-manager-content{padding:16px;overflow-y:auto}.tree-section{margin-bottom:16px}.tree-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#fafafa;border-radius:4px;margin-bottom:8px;font-weight:500}.tree-filter{padding:0 4px 8px}.all-option{padding:6px 12px;cursor:pointer;border-radius:4px;margin-bottom:4px}.all-option:hover{background:#f5f5f5}.all-option.active{background:#e6f7ff;color:#1890ff}.tree-content{padding:0 4px}.tree-node{display:flex;justify-content:space-between;align-items:center;width:100%}.tree-node-actions{opacity:0;transition:opacity .2s}.tree-node:hover .tree-node-actions{opacity:1}.canvas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(288px,1fr));gap:16px;margin-bottom:16px}.canvas-card-wrapper{display:flex;flex-direction:column}.canvas-card{cursor:pointer;position:relative;overflow:hidden}.canvas-card:hover{box-shadow:0 4px 12px #0000001a}.canvas-card .ant-card-body{display:none}.canvas-cover-wrapper{position:relative;padding-top:100%;overflow:hidden;background:#fff}.canvas-cover-wrapper .cover-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain}.canvas-cover-wrapper .no-cover{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:48px;color:#1890ff}.canvas-card-actions{position:absolute;top:8px;right:8px;display:flex;gap:4px;opacity:0;transition:opacity .2s;z-index:10}.canvas-card:hover .canvas-card-actions{opacity:1}.canvas-card-actions .ant-btn{background:#ffffffe6;border:none}.canvas-name{padding:6px 4px;font-size:12px;color:#666;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.canvas-info{display:flex;flex-direction:column}.canvas-title{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.canvas-time{font-size:12px;color:#999}.canvas-actions{display:flex;gap:4px;margin-top:8px}.tl-container{font-size:12px;--space-1: 2px;--space-2: 4px;--space-3: 8px;--space-4: 12px;--space-5: 16px;--space-6: 20px;--space-7: 28px;--space-8: 32px;--space-9: 64px;--space-10: 72px;--radius-0: 2px;--radius-1: 4px;--radius-2: 6px;--radius-3: 9px;--radius-4: 11px;--layer-canvas-hidden: -999999;--layer-canvas-background: 100;--layer-canvas-grid: 150;--layer-canvas-shapes: 300;--layer-canvas-overlays: 500;--layer-canvas-blocker: 10000;--layer-overlays-collaborator-scribble: 10;--layer-overlays-collaborator-brush: 20;--layer-overlays-collaborator-shape-indicator: 30;--layer-overlays-user-scribble: 40;--layer-overlays-user-brush: 50;--layer-overlays-user-indicator-selected: 60;--layer-overlays-user-indicator-hovered: 70;--layer-overlays-user-handles: 80;--layer-overlays-user-snapline: 90;--layer-overlays-selection-fg: 100;--layer-overlays-user-indicator-hint: 110;--layer-overlays-collaborator-cursor-hint: 120;--layer-overlays-collaborator-cursor: 130;--layer-text-container: 1;--layer-text-content: 3;--layer-text-editor: 4;--layer-error-overlay: 1;--layer-error-canvas: 2;--layer-error-canvas-after: 3;--layer-error-content: 4;--tl-zoom: 1;--tl-cursor-none: none;--tl-cursor-default: url("data:image/svg+xml,<svg height='32' width='32' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg' style='color: black;'><defs><filter id='shadow' y='-40%' x='-40%' width='180px' height='180%' color-interpolation-filters='sRGB'><feDropShadow dx='1' dy='1' stdDeviation='1.2' flood-opacity='.5'/></filter></defs><g fill='none' transform='rotate(0 16 16)' filter='url(%23shadow)'><path d='m12 24.4219v-16.015l11.591 11.619h-6.781l-.411.124z' fill='white'/><path d='m21.0845 25.0962-3.605 1.535-4.682-11.089 3.686-1.553z' fill='white'/><path d='m19.751 24.4155-1.844.774-3.1-7.374 1.841-.775z' fill='black'/><path d='m13 10.814v11.188l2.969-2.866.428-.139h4.768z' fill='black'/></g></svg>") 12 8, default;--tl-cursor-pointer: url("data:image/svg+xml,<svg height='32' width='32' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg' style='color: black;'><defs><filter id='shadow' y='-40%' x='-40%' width='180px' height='180%' color-interpolation-filters='sRGB'><feDropShadow dx='1' dy='1' stdDeviation='1.2' flood-opacity='.5'/></filter></defs><g fill='none' transform='rotate(0 16 16)' filter='url(%23shadow)'><path d='m13.3315 21.3799c-.284-.359-.629-1.093-1.243-1.984-.348-.504-1.211-1.453-1.468-1.935-.223-.426-.199-.617-.146-.97.094-.628.738-1.117 1.425-1.051.519.049.959.392 1.355.716.239.195.533.574.71.788.163.196.203.277.377.509.23.307.302.459.214.121-.071-.496-.187-1.343-.355-2.092-.128-.568-.159-.657-.281-1.093-.129-.464-.195-.789-.316-1.281-.084-.348-.235-1.059-.276-1.459-.057-.547-.087-1.439.264-1.849.275-.321.906-.418 1.297-.22.512.259.803 1.003.936 1.3.239.534.387 1.151.516 1.961.164 1.031.466 2.462.476 2.763.024-.369-.068-1.146-.004-1.5.058-.321.328-.694.666-.795.286-.085.621-.116.916-.055.313.064.643.288.766.499.362.624.369 1.899.384 1.831.086-.376.071-1.229.284-1.584.14-.234.497-.445.687-.479.294-.052.655-.068.964-.008.249.049.586.345.677.487.218.344.342 1.317.379 1.658.015.141.074-.392.293-.736.406-.639 1.843-.763 1.898.639.025.654.02.624.02 1.064 0 .517-.012.828-.04 1.202-.031.4-.117 1.304-.242 1.742-.086.301-.371.978-.652 1.384 0 0-1.074 1.25-1.191 1.813-.118.562-.079.566-.102.965-.023.398.121.922.121.922s-.802.104-1.234.035c-.391-.063-.875-.841-1-1.079-.172-.328-.539-.265-.682-.023-.225.383-.709 1.07-1.051 1.113-.668.084-2.054.031-3.139.02 0 0 .185-1.011-.227-1.358-.305-.259-.83-.784-1.144-1.06z' fill='white'/><g stroke='black' stroke-linecap='round' stroke-width='.75'><path d='m13.3315 21.3799c-.284-.359-.629-1.093-1.243-1.984-.348-.504-1.211-1.453-1.468-1.935-.223-.426-.199-.617-.146-.97.094-.628.738-1.117 1.425-1.051.519.049.959.392 1.355.716.239.195.533.574.71.788.163.196.203.277.377.509.23.307.302.459.214.121-.071-.496-.187-1.343-.355-2.092-.128-.568-.159-.657-.281-1.093-.129-.464-.195-.789-.316-1.281-.084-.348-.235-1.059-.276-1.459-.057-.547-.087-1.439.264-1.849.275-.321.906-.418 1.297-.22.512.259.803 1.003.936 1.3.239.534.387 1.151.516 1.961.164 1.031.466 2.462.476 2.763.024-.369-.068-1.146-.004-1.5.058-.321.328-.694.666-.795.286-.085.621-.116.916-.055.313.064.643.288.766.499.362.624.369 1.899.384 1.831.086-.376.071-1.229.284-1.584.14-.234.497-.445.687-.479.294-.052.655-.068.964-.008.249.049.586.345.677.487.218.344.342 1.317.379 1.658.015.141.074-.392.293-.736.406-.639 1.843-.763 1.898.639.025.654.02.624.02 1.064 0 .517-.012.828-.04 1.202-.031.4-.117 1.304-.242 1.742-.086.301-.371.978-.652 1.384 0 0-1.074 1.25-1.191 1.813-.118.562-.079.566-.102.965-.023.398.121.922.121.922s-.802.104-1.234.035c-.391-.063-.875-.841-1-1.079-.172-.328-.539-.265-.682-.023-.225.383-.709 1.07-1.051 1.113-.668.084-2.054.031-3.139.02 0 0 .185-1.011-.227-1.358-.305-.259-.83-.784-1.144-1.06z' stroke-linejoin='round'/><path d='m21.5664 21.7344v-3.459'/><path d='m19.5508 21.7461-.016-3.473'/><path d='m17.5547 18.3047.021 3.426'/></g></g></svg>") 14 10, pointer;--tl-cursor-cross: url("data:image/svg+xml,<svg height='32' width='32' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg' style='color: black;'><defs><filter id='shadow' y='-40%' x='-40%' width='180px' height='180%' color-interpolation-filters='sRGB'><feDropShadow dx='1' dy='1' stdDeviation='1.2' flood-opacity='.5'/></filter></defs><g fill='none' transform='rotate(0 16 16)' filter='url(%23shadow)'><path d='m25 16h-6.01v-6h-2.98v6h-6.01v3h6.01v6h2.98v-6h6.01z' fill='white'/><path d='m23.9902 17.0103h-6v-6.01h-.98v6.01h-6v.98h6v6.01h.98v-6.01h6z' fill='%23231f1f'/></g></svg>") 16 16, crosshair;--tl-cursor-move: url("data:image/svg+xml,<svg height='32' width='32' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg' style='color: black;'><defs><filter id='shadow' y='-40%' x='-40%' width='180px' height='180%' color-interpolation-filters='sRGB'><feDropShadow dx='1' dy='1' stdDeviation='1.2' flood-opacity='.5'/></filter></defs><g fill='none' transform='rotate(0 16 16)' filter='url(%23shadow)'><path d='m19 14h1v1h-1zm1 6h-1v-1h1zm-5-5h-1v-1h1zm0 5h-1v-1h1zm2-10.987-7.985 7.988 5.222 5.221 2.763 2.763 7.984-7.985z' fill='white'/><g fill='black'><path d='m23.5664 16.9971-2.557-2.809v1.829h-4.009-4.001v-1.829l-2.571 2.809 2.572 2.808-.001-1.808h4.001 4.009l-.001 1.808z'/><path d='m17.9873 17h.013v-4.001l1.807.001-2.807-2.571-2.809 2.57h1.809v4.001h.008v4.002l-1.828-.001 2.807 2.577 2.805-2.576h-1.805z'/></g></g></svg>") 16 16, move;--tl-cursor-grab: url("data:image/svg+xml,<svg height='32' width='32' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg' style='color: black;'><defs><filter id='shadow' y='-40%' x='-40%' width='180px' height='180%' color-interpolation-filters='sRGB'><feDropShadow dx='1' dy='1' stdDeviation='1.2' flood-opacity='.5'/></filter></defs><g fill='none' transform='rotate(0 16 16)' filter='url(%23shadow)'><path d='m13.5557 17.5742c-.098-.375-.196-.847-.406-1.552-.167-.557-.342-.859-.47-1.233-.155-.455-.303-.721-.496-1.181-.139-.329-.364-1.048-.457-1.44-.119-.509.033-.924.244-1.206.253-.339.962-.49 1.357-.351.371.13.744.512.916.788.288.46.357.632.717 1.542.393.992.564 1.918.611 2.231l.085.452c-.001-.04-.043-1.122-.044-1.162-.035-1.029-.06-1.823-.038-2.939.002-.126.064-.587.084-.715.078-.5.305-.8.673-.979.412-.201.926-.215 1.401-.017.423.173.626.55.687 1.022.014.109.094.987.093 1.107-.013 1.025.006 1.641.015 2.174.004.231.003 1.625.017 1.469.061-.656.094-3.189.344-3.942.144-.433.405-.746.794-.929.431-.203 1.113-.07 1.404.243.285.305.446.692.482 1.153.032.405-.019.897-.02 1.245 0 .867-.021 1.324-.037 2.121-.001.038-.015.298.023.182.094-.28.188-.542.266-.745.049-.125.241-.614.359-.859.114-.234.211-.369.415-.688.2-.313.415-.448.668-.561.54-.235 1.109.112 1.301.591.086.215.009.713-.028 1.105-.061.647-.254 1.306-.352 1.648-.128.447-.274 1.235-.34 1.601-.072.394-.234 1.382-.359 1.82-.086.301-.371.978-.652 1.384 0 0-1.074 1.25-1.192 1.812-.117.563-.078.567-.101.965-.024.399.121.923.121.923s-.802.104-1.234.034c-.391-.062-.875-.841-1-1.078-.172-.328-.539-.265-.682-.023-.225.383-.709 1.07-1.051 1.113-.668.084-2.054.03-3.139.02 0 0 .185-1.011-.227-1.358-.305-.26-.83-.784-1.144-1.06l-.832-.921c-.284-.36-.629-1.093-1.243-1.985-.348-.504-1.027-1.085-1.284-1.579-.223-.425-.331-.954-.19-1.325.225-.594.675-.897 1.362-.832.519.05.848.206 1.238.537.225.19.573.534.75.748.163.195.203.276.377.509.23.307.302.459.214.121' fill='white'/><g stroke='black' stroke-linecap='round' stroke-width='.75'><path d='m13.5557 17.5742c-.098-.375-.196-.847-.406-1.552-.167-.557-.342-.859-.47-1.233-.155-.455-.303-.721-.496-1.181-.139-.329-.364-1.048-.457-1.44-.119-.509.033-.924.244-1.206.253-.339.962-.49 1.357-.351.371.13.744.512.916.788.288.46.357.632.717 1.542.393.992.564 1.918.611 2.231l.085.452c-.001-.04-.043-1.122-.044-1.162-.035-1.029-.06-1.823-.038-2.939.002-.126.064-.587.084-.715.078-.5.305-.8.673-.979.412-.201.926-.215 1.401-.017.423.173.626.55.687 1.022.014.109.094.987.093 1.107-.013 1.025.006 1.641.015 2.174.004.231.003 1.625.017 1.469.061-.656.094-3.189.344-3.942.144-.433.405-.746.794-.929.431-.203 1.113-.07 1.404.243.285.305.446.692.482 1.153.032.405-.019.897-.02 1.245 0 .867-.021 1.324-.037 2.121-.001.038-.015.298.023.182.094-.28.188-.542.266-.745.049-.125.241-.614.359-.859.114-.234.211-.369.415-.688.2-.313.415-.448.668-.561.54-.235 1.109.112 1.301.591.086.215.009.713-.028 1.105-.061.647-.254 1.306-.352 1.648-.128.447-.274 1.235-.34 1.601-.072.394-.234 1.382-.359 1.82-.086.301-.371.978-.652 1.384 0 0-1.074 1.25-1.192 1.812-.117.563-.078.567-.101.965-.024.399.121.923.121.923s-.802.104-1.234.034c-.391-.062-.875-.841-1-1.078-.172-.328-.539-.265-.682-.023-.225.383-.709 1.07-1.051 1.113-.668.084-2.054.03-3.139.02 0 0 .185-1.011-.227-1.358-.305-.26-.83-.784-1.144-1.06l-.832-.921c-.284-.36-.629-1.093-1.243-1.985-.348-.504-1.027-1.085-1.284-1.579-.223-.425-.331-.954-.19-1.325.225-.594.675-.897 1.362-.832.519.05.848.206 1.238.537.225.19.573.534.75.748.163.195.203.276.377.509.23.307.302.459.214.121' stroke-linejoin='round'/><path d='m20.5664 21.7344v-3.459'/><path d='m18.5508 21.7461-.016-3.473'/><path d='m16.5547 18.3047.021 3.426'/></g></g></svg>") 16 16, grab;--tl-cursor-grabbing: url("data:image/svg+xml,<svg height='32' width='32' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg' style='color: black;'><defs><filter id='shadow' y='-40%' x='-40%' width='180px' height='180%' color-interpolation-filters='sRGB'><feDropShadow dx='1' dy='1' stdDeviation='1.2' flood-opacity='.5'/></filter></defs><g fill='none' transform='rotate(0 16 16)' filter='url(%23shadow)'><path d='m13.5732 12.0361c.48-.178 1.427-.069 1.677.473.213.462.396 1.241.406 1.075.024-.369-.024-1.167.137-1.584.117-.304.347-.59.686-.691.285-.086.62-.116.916-.055.313.064.642.287.765.499.362.623.368 1.899.385 1.831.064-.272.07-1.229.283-1.584.141-.235.497-.445.687-.479.294-.052.656-.068.964-.008.249.049.586.344.677.487.219.344.342 1.316.379 1.658.016.141.074-.393.293-.736.406-.639 1.844-.763 1.898.639.026.654.02.624.02 1.064 0 .516-.012.828-.04 1.202-.03.399-.116 1.304-.241 1.742-.086.301-.371.978-.653 1.384 0 0-1.074 1.25-1.191 1.812-.117.563-.078.567-.102.965-.023.399.121.923.121.923s-.801.104-1.234.034c-.391-.062-.875-.84-1-1.078-.172-.328-.539-.265-.682-.023-.224.383-.709 1.07-1.05 1.113-.669.084-2.055.03-3.14.02 0 0 .185-1.011-.227-1.358-.305-.26-.83-.784-1.144-1.06l-.832-.921c-.283-.36-1.002-.929-1.243-1.985-.213-.936-.192-1.395.037-1.77.232-.381.67-.589.854-.625.208-.042.692-.039.875.062.223.123.313.159.488.391.23.307.312.456.213.121-.076-.262-.322-.595-.434-.97-.109-.361-.401-.943-.38-1.526.008-.221.103-.771.832-1.042' fill='white'/><g stroke='black' stroke-width='.75'><path d='m13.5732 12.0361c.48-.178 1.427-.069 1.677.473.213.462.396 1.241.406 1.075.024-.369-.024-1.167.137-1.584.117-.304.347-.59.686-.691.285-.086.62-.116.916-.055.313.064.642.287.765.499.362.623.368 1.899.385 1.831.064-.272.07-1.229.283-1.584.141-.235.497-.445.687-.479.294-.052.656-.068.964-.008.249.049.586.344.677.487.219.344.342 1.316.379 1.658.016.141.074-.393.293-.736.406-.639 1.844-.763 1.898.639.026.654.02.624.02 1.064 0 .516-.012.828-.04 1.202-.03.399-.116 1.304-.241 1.742-.086.301-.371.978-.653 1.384 0 0-1.074 1.25-1.191 1.812-.117.563-.078.567-.102.965-.023.399.121.923.121.923s-.801.104-1.234.034c-.391-.062-.875-.84-1-1.078-.172-.328-.539-.265-.682-.023-.224.383-.709 1.07-1.05 1.113-.669.084-2.055.03-3.14.02 0 0 .185-1.011-.227-1.358-.305-.26-.83-.784-1.144-1.06l-.832-.921c-.283-.36-1.002-.929-1.243-1.985-.213-.936-.192-1.395.037-1.77.232-.381.67-.589.854-.625.208-.042.692-.039.875.062.223.123.313.159.488.391.23.307.312.456.213.121-.076-.262-.322-.595-.434-.97-.109-.361-.401-.943-.38-1.526.008-.221.103-.771.832-1.042z' stroke-linejoin='round'/><path d='m20.5664 19.7344v-3.459' stroke-linecap='round'/><path d='m18.5508 19.7461-.016-3.473' stroke-linecap='round'/><path d='m16.5547 16.3047.021 3.426' stroke-linecap='round'/></g></g></svg>") 16 16, grabbing;--tl-cursor-text: url("data:image/svg+xml,<svg height='32' width='32' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg' style='color: black;'><defs><filter id='shadow' y='-40%' x='-40%' width='180px' height='180%' color-interpolation-filters='sRGB'><feDropShadow dx='1' dy='1' stdDeviation='1.2' flood-opacity='.5'/></filter></defs><g fill='none' transform='rotate(0 16 16)' filter='url(%23shadow)'><path fill='white' d='M7.94 0a5.25 5.25 0 0 0-3.47 1.17A5.27 5.27 0 0 0 1 0H0v3h1c1.41 0 1.85.7 2 1v3.94H2v3h1v3c-.13.3-.57 1-2 1H0v3h1a5.27 5.27 0 0 0 3.47-1.17c.98.8 2.21 1.21 3.47 1.17h1v-3h-1c-1.41 0-1.85-.7-2-1v-3H7v-3H6V4c.13-.3.57-1 2-1h1V0H7.94z'/><path fill='black' d='M7.94 2V1a4 4 0 0 0-3.47 1.64A4 4 0 0 0 1 1v1c1.3-.17 2.56.6 3 1.84v5.1H3v1h1v4.16c-.45 1.24-1.7 2-3 1.84v1a4.05 4.05 0 0 0 3.47-1.63 4.05 4.05 0 0 0 3.47 1.63v-1A2.82 2.82 0 0 1 5 14.1V9.93h1v-1H5V3.85A2.81 2.81 0 0 1 7.94 2z'/></g></svg>") 4 10, text;--tl-cursor-zoom-in: url("data:image/svg+xml,<svg height='32' width='32' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg' style='color: black;'><defs><filter id='shadow' y='-40%' x='-40%' width='180px' height='180%' color-interpolation-filters='sRGB'><feDropShadow dx='1' dy='1' stdDeviation='1.2' flood-opacity='.5'/></filter></defs><g fill='none' transform='rotate(0 16 16)' filter='url(%23shadow)'><path d='m20.5 15c0 3.038-2.462 5.5-5.5 5.5s-5.5-2.462-5.5-5.5 2.462-5.5 5.5-5.5 5.5 2.462 5.5 5.5' fill='white'/><path d='m20.5 15c0 3.038-2.462 5.5-5.5 5.5s-5.5-2.462-5.5-5.5 2.462-5.5 5.5-5.5 5.5 2.462 5.5 5.5z' stroke='black'/><g fill='black'><path d='m18 14h-2v-2h-2v2h-2v1.98h2v2.02h2v-2.02h2z'/><path d='m23.5859 25 1.414-1.414-5.449-5.449-1.414 1.414z'/></g></g></svg>") 16 16, zoom-in;--tl-cursor-zoom-out: url("data:image/svg+xml,<svg height='32' width='32' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg' style='color: black;'><defs><filter id='shadow' y='-40%' x='-40%' width='180px' height='180%' color-interpolation-filters='sRGB'><feDropShadow dx='1' dy='1' stdDeviation='1.2' flood-opacity='.5'/></filter></defs><g fill='none' transform='rotate(0 16 16)' filter='url(%23shadow)'><path d='m20.5 15c0 3.038-2.462 5.5-5.5 5.5s-5.5-2.462-5.5-5.5 2.462-5.5 5.5-5.5 5.5 2.462 5.5 5.5' fill='white'/><path d='m20.5 15c0 3.038-2.462 5.5-5.5 5.5s-5.5-2.462-5.5-5.5 2.462-5.5 5.5-5.5 5.5 2.462 5.5 5.5z' stroke='black'/><g fill='black'><path d='m18 16h-5.98v-1.98h5.98z'/><path d='m23.5859 25 1.414-1.414-5.449-5.449-1.414 1.414z'/></g></g></svg>") 16 16, zoom-out;--tl-cursor: var(--tl-cursor-default);--tl-cursor-resize-edge: ew-resize;--tl-cursor-resize-corner: nesw-resize;--tl-cursor-ew-resize: ew-resize;--tl-cursor-ns-resize: ns-resize;--tl-cursor-nesw-resize: nesw-resize;--tl-cursor-nwse-resize: nwse-resize;--tl-cursor-rotate: pointer;--tl-cursor-nwse-rotate: pointer;--tl-cursor-nesw-rotate: pointer;--tl-cursor-senw-rotate: pointer;--tl-cursor-swne-rotate: pointer;--tl-scale: calc(1 / var(--tl-zoom));--tl-font-draw: "tldraw_draw", sans-serif;--tl-font-sans: "tldraw_sans", sans-serif;--tl-font-serif: "tldraw_serif", serif;--tl-font-mono: "tldraw_mono", monospace;--a: calc(min(.5, 1 / var(--tl-zoom))*2px) ;--b: calc(min(.5, 1 / var(--tl-zoom))*-2px) ;--tl-text-outline-reference: 0 var(--b) 0 var(--color-background), 0 var(--a) 0 var(--color-background), var(--b) var(--b) 0 var(--color-background), var(--a) var(--b) 0 var(--color-background), var(--a) var(--a) 0 var(--color-background), var(--b) var(--a) 0 var(--color-background);--tl-text-outline: var(--tl-text-outline-reference);position:relative;top:0;right:0;bottom:0;left:0;height:100%;width:100%;overflow:clip}.tl-theme__light{--color-accent: hsl(0, 76%, 60%);--color-background: hsl(210, 20%, 98%);--color-brush-fill: hsl(0, 0%, 56%, 10.2%);--color-brush-stroke: hsl(0, 0%, 56%, 25.1%);--color-grid: hsl(0, 0%, 43%);--color-low: hsl(204, 16%, 94%);--color-low-border: hsl(204, 16%, 92%);--color-culled: hsl(204, 14%, 93%);--color-muted-none: hsl(0, 0%, 0%, 0%);--color-muted-0: hsl(0, 0%, 0%, 2%);--color-muted-1: hsl(0, 0%, 0%, 10%);--color-muted-2: hsl(0, 0%, 0%, 4.3%);--color-hint: hsl(0, 0%, 0%, 5.5%);--color-overlay: hsl(0, 0%, 0%, 20%);--color-divider: hsl(0, 0%, 91%);--color-panel-contrast: hsl(0, 0%, 100%);--color-panel-overlay: hsl(0, 0%, 100%, 82%);--color-panel: hsl(0, 0%, 99%);--color-focus: hsl(214, 100%, 29%);--color-selected: hsl(214, 84%, 56%);--color-selected-contrast: hsl(0, 0%, 100%);--color-selection-fill: hsl(210, 100%, 56%, 24%);--color-selection-stroke: hsl(214, 84%, 56%);--color-text-0: hsl(0, 0%, 11%);--color-text-1: hsl(0, 0%, 18%);--color-text-3: hsl(220, 2%, 65%);--color-text-shadow: hsl(0, 0%, 100%);--color-primary: hsl(214, 84%, 56%);--color-success: hsl(123, 46%, 34%);--color-info: hsl(201, 98%, 41%);--color-warning: hsl(27, 98%, 47%);--color-error: hsl(0, 65%, 51%);--color-warn: hsl(0, 90%, 43%);--color-text: hsl(0, 0%, 0%);--color-laser: hsl(0, 100%, 50%);--shadow-1: 0px 1px 2px hsl(0, 0%, 0%, 25%), 0px 1px 3px hsl(0, 0%, 0%, 9%);--shadow-2: 0px 0px 2px hsl(0, 0%, 0%, 16%), 0px 2px 3px hsl(0, 0%, 0%, 24%), 0px 2px 6px hsl(0, 0%, 0%, .1), inset 0px 0px 0px 1px var(--color-panel-contrast);--shadow-3: 0px 1px 2px hsl(0, 0%, 0%, 28%), 0px 2px 6px hsl(0, 0%, 0%, 14%), inset 0px 0px 0px 1px var(--color-panel-contrast);--shadow-4: 0px 0px 3px hsl(0, 0%, 0%, 19%), 0px 5px 4px hsl(0, 0%, 0%, 16%), 0px 2px 16px hsl(0, 0%, 0%, 6%), inset 0px 0px 0px 1px var(--color-panel-contrast)}.tl-theme__dark{--color-accent: hsl(0, 76%, 60%);--color-background: hsl(240, 5%, 6.5%);--color-brush-fill: hsl(0, 0%, 71%, 5.1%);--color-brush-stroke: hsl(0, 0%, 71%, 25.1%);--color-grid: hsl(0, 0%, 40%);--color-low: hsl(260, 4.5%, 10.5%);--color-low-border: hsl(207, 10%, 10%);--color-culled: hsl(210, 11%, 19%);--color-muted-none: hsl(0, 0%, 100%, 0%);--color-muted-0: hsl(0, 0%, 100%, 2%);--color-muted-1: hsl(0, 0%, 100%, 10%);--color-muted-2: hsl(0, 0%, 100%, 5%);--color-hint: hsl(0, 0%, 100%, 7%);--color-overlay: hsl(0, 0%, 0%, 50%);--color-divider: hsl(240, 9%, 22%);--color-panel-contrast: hsl(245, 12%, 23%);--color-panel: hsl(235, 6.8%, 13.5%);--color-panel-overlay: hsl(210, 10%, 24%, 82%);--color-focus: hsl(217, 76%, 80%);--color-selected: hsl(217, 89%, 61%);--color-selected-contrast: hsl(0, 0%, 100%);--color-selection-fill: hsl(209, 100%, 57%, 20%);--color-selection-stroke: hsl(214, 84%, 56%);--color-text-0: hsl(0, 9%, 94%);--color-text-1: hsl(0, 0%, 85%);--color-text-3: hsl(210, 6%, 45%);--color-text-shadow: hsl(210, 13%, 18%);--color-primary: hsl(214, 84%, 56%);--color-success: hsl(123, 38%, 57%);--color-info: hsl(199, 92%, 56%);--color-warning: hsl(36, 100%, 57%);--color-error: hsl(4, 90%, 58%);--color-warn: hsl(0, 81%, 66%);--color-text: hsl(210, 17%, 98%);--color-laser: hsl(0, 100%, 50%);--shadow-1: 0px 1px 2px hsl(0, 0%, 0%, 16.1%), 0px 1px 3px hsl(0, 0%, 0%, 22%), inset 0px 0px 0px 1px var(--color-panel-contrast);--shadow-2: 0px 1px 3px hsl(0, 0%, 0%, 66.6%), 0px 2px 6px hsl(0, 0%, 0%, 33%), inset 0px 0px 0px 1px var(--color-panel-contrast);--shadow-3: 0px 1px 3px hsl(0, 0%, 0%, 50%), 0px 2px 12px hsl(0, 0%, 0%, 50%), inset 0px 0px 0px 1px var(--color-panel-contrast)}.tl-counter-scaled{transform:scale(var(--tl-scale));transform-origin:top left;width:calc(100% * var(--tl-zoom));height:calc(100% * var(--tl-zoom))}.tl-container,.tl-container *{-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;scrollbar-highlight-color:transparent;-webkit-user-select:none;user-select:none;box-sizing:border-box;outline:none}.tl-container a{-webkit-touch-callout:initial}.tl-container__focused{outline:1px solid var(--color-low)}input,*[contenteditable],*[contenteditable] *{-webkit-user-select:text}.tl-canvas{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;width:100%;color:var(--color-text);cursor:var(--tl-cursor);overflow:clip;content-visibility:auto;touch-action:none;contain:strict}.tl-shapes{position:relative;z-index:var(--layer-canvas-shapes)}.tl-overlays{position:absolute;top:0;left:0;height:100%;width:100%;contain:strict;pointer-events:none;z-index:var(--layer-canvas-overlays)}.tl-overlays__item{position:absolute;top:0;left:0;overflow:visible;pointer-events:none;transform-origin:top left}.tl-svg-context{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.tl-background__wrapper{z-index:var(--layer-canvas-background);position:absolute;top:0;right:0;bottom:0;left:0;height:100%;width:100%}.tl-background{background-color:var(--color-background);width:100%;height:100%}.tl-grid{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;touch-action:none;pointer-events:none;z-index:var(--layer-canvas-grid);contain:strict}.tl-grid-dot{fill:var(--color-grid)}.tl-html-layer{position:absolute;top:0;left:0;width:1px;height:1px;contain:layout style size}.tl-brush{stroke-width:calc(var(--tl-scale) * 1px);contain:size layout}.tl-brush__default{stroke:var(--color-brush-stroke);fill:var(--color-brush-fill)}.tl-scribble{stroke-linejoin:round;stroke-linecap:round;pointer-events:none;contain:size layout}.tl-shape{position:absolute;pointer-events:none;overflow:visible;transform-origin:top left;contain:size layout}.tl-svg-container{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;width:100%;pointer-events:none;stroke-linecap:round;stroke-linejoin:round;transform-origin:top left;overflow:visible}.tl-html-container{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;width:100%;pointer-events:none;stroke-linecap:round;stroke-linejoin:round;transform-origin:top left;color:inherit}.tl-collaborator__scribble{z-index:var(--layer-overlays-collaborator-scribble)}.tl-collaborator__brush{z-index:var(--layer-overlays-collaborator-brush)}.tl-collaborator__shape-indicator{z-index:var(--layer-overlays-collaborator-shape-indicator)}.tl-user-scribble{z-index:var(--layer-overlays-user-scribble)}.tl-user-brush{z-index:var(--layer-overlays-user-brush)}.tl-user-indicator__selected{z-index:var(--layer-overlays-user-indicator-selected)}.tl-user-indicator__hovered{z-index:var(--layer-overlays-user-indicator-hovered)}.tl-user-handles{z-index:var(--layer-overlays-user-handles)}.tl-user-snapline{z-index:var(--layer-overlays-user-snapline)}.tl-selection__fg{pointer-events:none;z-index:var(--layer-overlays-selection-fg)}.tl-user-indicator__hint{z-index:var(--layer-overlays-user-indicator-hint);stroke-width:calc(2.5px * var(--tl-scale))}.tl-collaborator__cursor-hint{z-index:var(--layer-overlays-collaborator-cursor-hint)}.tl-collaborator__cursor{z-index:var(--layer-overlays-collaborator-cursor)}.tl-cursor{overflow:visible}.tl-shape-indicator{transform-origin:top left;fill:none;stroke-width:calc(1.5px * var(--tl-scale));contain:size layout}.tl-selection__bg{position:absolute;top:0;left:0;transform-origin:top left;background-color:transparent;pointer-events:all}.tl-selection__fg__outline{fill:none;pointer-events:none;stroke:var(--color-selection-stroke);stroke-width:calc(1.5px * var(--tl-scale))}.tl-corner-handle{pointer-events:none;stroke:var(--color-selection-stroke);fill:var(--color-background);stroke-width:calc(1.5px * var(--tl-scale))}.tl-text-handle{pointer-events:none;fill:var(--color-selection-stroke)}.tl-corner-crop-handle,.tl-corner-crop-edge-handle{pointer-events:none;fill:none;stroke:var(--color-selection-stroke)}.tl-mobile-rotate__bg{pointer-events:all;cursor:var(--tl-cursor-grab)}.tl-mobile-rotate__fg{pointer-events:none;stroke:var(--color-selection-stroke);fill:var(--color-background);stroke-width:calc(1.5px * var(--tl-scale))}.tl-transparent{fill:transparent;stroke:transparent}.tl-handle{pointer-events:all}.tl-handle__bg{fill:transparent;stroke:transparent;pointer-events:all}.tl-handle__fg{fill:var(--color-selected-contrast);stroke:var(--color-selection-stroke);stroke-width:calc(1.5px * var(--tl-scale));pointer-events:none}.tl-handle__create{opacity:0}.tl-handle__clone>.tl-handle__fg{fill:var(--color-selection-stroke);stroke:none}.tl-handle__bg:active{fill:none}@media(pointer:coarse){.tl-handle__bg:active{fill:var(--color-selection-fill)}.tl-handle__create{opacity:1}}.tl-image,.tl-video{object-fit:cover;background-size:cover;width:100%;height:100%}.tl-video-container,.tl-image-container,.tl-embed-container{width:100%;height:100%;pointer-events:all;display:flex;justify-content:center;align-items:center}.tl-image__tg{--scale: min(2, var(--tl-scale)) ;position:absolute;top:calc(var(--scale) * 8px);right:calc(var(--scale) * 8px);font-size:10px;transform-origin:top right;background-color:var(--color-background);padding:2px 4px;border-radius:var(--radius-1)}.tl-flip-x{transform:scaleX(-1)}.tl-flip-y{transform:scaleY(-1)}.tl-flip-xy{transform:scale(-1)}.tl-collaborator-cursor{position:absolute}.tl-nametag{top:16px;left:13px;width:fit-content;height:fit-content;max-width:120px;padding:3px 6px;white-space:nowrap;position:absolute;overflow:hidden;text-overflow:ellipsis;font-size:12px;font-family:var(--font-body);border-radius:var(--radius-2);color:var(--color-selected-contrast)}.tl-nametag-title{top:-2px;left:13px;width:fit-content;height:fit-content;padding:0 6px;max-width:120px;white-space:nowrap;position:absolute;overflow:hidden;text-overflow:ellipsis;font-size:12px;font-family:var(--font-body);text-shadow:var(--tl-text-outline);color:var(--color-selected-contrast)}.tl-nametag-chat{top:16px;left:13px;width:fit-content;height:fit-content;color:var(--color-selected-contrast);white-space:nowrap;position:absolute;padding:3px 6px;font-size:12px;font-family:var(--font-body);opacity:1;border-radius:var(--radius-2)}.tl-cursor-chat{position:absolute;color:var(--color-selected-contrast);white-space:nowrap;padding:3px 6px;font-size:12px;font-family:var(--font-body);pointer-events:none;z-index:var(--layer-cursor);margin-top:16px;margin-left:13px;opacity:1;border:none;-webkit-user-select:text;user-select:text;border-radius:var(--radius-2)}.tl-cursor-chat .tl-cursor-chat__bubble{padding-right:12px}.tl-cursor-chat::selection{background:var(--color-selected);color:var(--color-selected-contrast);text-shadow:none}.tl-cursor-chat-fade{opacity:.0001;transition:opacity 5s ease-in-out}.tl-cursor-chat::placeholder{color:var(--color-selected-contrast);opacity:.7}@keyframes spinner{to{transform:rotate(360deg)}}.tl-text-shape-label{position:relative;font-weight:400;min-width:1px;padding:0;margin:0;border:none;width:fit-content;height:fit-content;font-variant:normal;font-style:normal;pointer-events:all;white-space:pre-wrap;overflow-wrap:break-word;text-shadow:var(--tl-text-outline)}.tl-text-wrapper[data-font=draw]{font-family:var(--tl-font-draw)}.tl-text-wrapper[data-font=sans]{font-family:var(--tl-font-sans)}.tl-text-wrapper[data-font=serif]{font-family:var(--tl-font-serif)}.tl-text-wrapper[data-font=mono]{font-family:var(--tl-font-mono)}.tl-text-wrapper[data-align=start],.tl-text-wrapper[data-align=start-legacy]{text-align:left}.tl-text-wrapper[data-align=middle],.tl-text-wrapper[data-align=middle-legacy]{text-align:center}.tl-text-wrapper[data-align=end],.tl-text-wrapper[data-align=end-legacy]{text-align:right}.tl-text-wrapper[data-isediting=true] .tl-text-content{opacity:0}.tl-text{margin:0;padding:0;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;background:none;border-image:none;border:0px;caret-color:var(--color-text);color:inherit;column-count:initial!important;display:inline-block;font-family:inherit;font-feature-settings:normal;font-kerning:auto;font-optical-sizing:auto;font-size:inherit;font-stretch:100%;font-style:inherit;font-variant:inherit;font-variation-settings:normal;font-weight:inherit;letter-spacing:inherit;line-height:inherit;outline:none;overflow-wrap:break-word;text-align:inherit;text-indent:0px;text-rendering:auto;text-shadow:inherit;text-transform:none;white-space:pre-wrap;word-spacing:0px;word-wrap:break-word;writing-mode:horizontal-tb!important}.tl-text-measure{position:absolute;z-index:var(--layer-canvas-hidden);top:0;left:0;opacity:0;width:max-content;box-sizing:border-box;pointer-events:none;line-break:normal;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;resize:none;border:none;user-select:none;contain:style paint;-webkit-user-select:none}.tl-text-input,.tl-text-content{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;width:100%;min-width:1px;min-height:1px;overflow:visible;outline:none}.tl-text-content__wrapper{position:relative;width:fit-content;height:fit-content;display:flex;align-items:center;justify-content:center;pointer-events:none;min-height:auto}.tl-text-content{pointer-events:none}.tl-text-input{resize:none;user-select:all;-webkit-user-select:text;overflow:hidden;cursor:var(--tl-cursor-text)}.tl-text-wrapper[data-isediting=false] .tl-text-input,.tl-arrow-label[data-isediting=false] .tl-text-input{opacity:0;cursor:var(--tl-cursor-default)}.tl-text-input::selection{background:var(--color-selected);color:var(--color-selected-contrast);text-shadow:none}.tl-snap-indicator,.tl-snap-point{stroke:var(--color-accent);stroke-width:calc(1px * var(--tl-scale));fill:none}.tl-group{stroke:var(--color-text);stroke-width:calc(1px * var(--tl-scale));opacity:.5}.tl-bookmark__container{width:100%;height:100%;position:relative;border:1px solid var(--color-panel-contrast);background-color:var(--color-panel);border-radius:var(--radius-2);display:flex;flex-direction:column;overflow:hidden}.tl-bookmark__image_container{flex:1 1 100%;overflow:hidden;border-top-left-radius:var(--radius-1);border-top-right-radius:var(--radius-1);width:100%;height:100%;display:flex;justify-content:flex-end;align-items:flex-start}.tl-bookmark__image_container>.tl-hyperlink-button:after{background-color:var(--color-panel)}.tl-bookmark__placeholder{width:100%;height:100%;background-color:var(--color-muted-2);border-bottom:1px solid var(--color-muted-2)}.tl-bookmark__image{width:100%;height:100%;object-fit:cover;object-position:center;border-bottom:1px solid var(--color-muted-2)}.tl-bookmark__copy_container{background-color:var(--color-muted);padding:var(--space-4);pointer-events:all;display:flex;flex-direction:column;justify-content:space-between;flex:1}.tl-bookmark__heading,.tl-bookmark__description,.tl-bookmark__link{margin:0;width:100%;font-family:inherit}.tl-bookmark__heading{font-size:16px;line-height:1.5;font-weight:700;padding-bottom:var(--space-2);overflow:hidden;max-height:48px;-webkit-box-orient:vertical;-webkit-line-clamp:2;text-overflow:ellipsis;display:-webkit-box}.tl-bookmark__description{font-size:12px;line-height:1.5;overflow:hidden;max-height:54px;-webkit-box-orient:vertical;-webkit-line-clamp:3;text-overflow:ellipsis;display:-webkit-box;color:var(--color-text-2);margin:var(--space-2) 0px}.tl-bookmark__heading+.tl-bookmark__link,.tl-bookmark__description+.tl-bookmark__link{margin-top:var(--space-3)}.tl-bookmark__link{font-size:12px;pointer-events:all;display:flex;color:var(--color-text-2);align-items:center;cursor:var(--tl-cursor-pointer);width:fit-content;max-width:100%}.tl-bookmark__link>span{flex-shrink:0px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tl-bookmark__link>.tl-hyperlink__icon{margin-right:8px;flex-shrink:0}.tl-bookmark__link>.tl-bookmark__favicon{margin-right:8px;width:16px;height:16px;flex-shrink:0}.tl-hyperlink-button{background:none;margin:0;position:absolute;top:0;right:0;height:44px;width:44px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:400;color:var(--color-text-1);padding:13px;cursor:var(--tl-cursor-pointer);border:none;outline:none;pointer-events:all}.tl-hyperlink-button:after{content:"";z-index:-1;position:absolute;right:6px;bottom:6px;display:block;width:calc(100% - 12px);height:calc(100% - 12px);border-radius:var(--radius-1);background-color:var(--color-background);pointer-events:none}.tl-hyperlink-button:focus-visible{color:var(--color-selected)}.tl-hyperlink__icon{width:16px;height:16px;background-color:currentColor;pointer-events:none}.tl-hyperlink-button__hidden{display:none}.tl-text-label{display:flex;justify-content:center;align-items:center;color:var(--color-text);text-shadow:var(--tl-text-outline);line-height:inherit;position:absolute;top:0;right:0;bottom:0;left:0;height:100%;width:100%}.tl-text-label[data-hastext=false][data-isediting=false]>.tl-text-label__inner{width:40px;height:40px}.tl-text-label[data-hastext=true][data-isediting=false] .tl-text-content{pointer-events:all}.tl-text-wrapper .tl-text-content{pointer-events:all;z-index:var(--layer-text-content)}.tl-text-label__inner>.tl-text-content{position:relative;top:0;left:0;padding:inherit;height:fit-content;width:fit-content;border-radius:var(--radius-1);max-width:100%}.tl-text-label__inner>.tl-text-input{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;width:100%;padding:inherit}.tl-text-wrapper[data-isselected=true] .tl-text-input{z-index:var(--layer-text-editor);pointer-events:all}.tl-canvas:is([data-iseditinganything=true],[data-isselectinganything=true]) .tl-shape:not([data-shape-type=arrow],[data-shape-type=draw],[data-shape-type=line],[data-shape-type=highlight],[data-shape-is-filled=false]){pointer-events:all}.tl-text-label[data-textwrap=true]>.tl-text-label__inner{max-width:100%}.tl-text-label[data-isediting=true]{background-color:transparent;min-height:auto}.tl-text-label[data-isediting=true] p{opacity:0}.tl-arrow-hint{stroke:var(--color-text-1);fill:none;stroke-linecap:round;overflow:visible}.tl-arrow-label{position:absolute;top:-1px;left:-1px;width:2px;height:2px;padding:0;display:flex;justify-content:center;align-items:center;text-align:center;color:var(--color-text);text-shadow:var(--tl-text-outline)}.tl-arrow-label[data-isediting=true] p{opacity:0}.tl-arrow-label[data-isediting=true]>.tl-arrow-label__inner{background-color:var(--color-background)}.tl-arrow-label__inner{border-radius:var(--radius-1);box-sizing:content-box;position:relative;height:max-content;width:max-content;pointer-events:none;display:flex;justify-content:center;align-items:center}.tl-arrow-label .tl-arrow{position:relative;height:max-content;padding:inherit;overflow:visible}.tl-arrow-label textarea{padding:inherit;min-width:4px}.tl-note__container{position:relative;width:100%;height:100%;pointer-events:all;opacity:1;z-index:var(--layer-text-container);border-radius:1px}.tl-note__container>.tl-text-label{text-shadow:none;color:currentColor}.tl-loading{background-color:var(--color-background);color:var(--color-text-1);height:100%;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--space-2);font-size:14px;font-weight:500;opacity:0;animation:fade-in .2s ease-in-out forwards;animation-delay:.2s}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.tl-frame__body{stroke-width:calc(1px * var(--tl-scale))}.tl-frame__creating{stroke:var(--color-selected);fill:none}.tl-frame-heading{display:flex;align-items:center;position:absolute;transform-origin:0% 100%;overflow:hidden;max-width:100%;min-width:32px;height:auto;font-size:12px;padding-bottom:4px;pointer-events:all}.tl-frame-heading-hit-area{pointer-events:all;transform-origin:0% 100%;display:flex;height:100%;width:100%;align-items:center;border-radius:var(--radius-1);background-color:var(--color-background)}.tl-frame-label{pointer-events:all;overflow:hidden;text-overflow:ellipsis;padding:var(--space-3) var(--space-3);position:relative;font-size:inherit;white-space:pre;border:1px solid transparent}.tl-frame-label__editing{color:transparent;white-space:pre;width:auto;overflow:visible;background-color:var(--color-panel);border-radius:var(--radius-1);border-color:var(--color-selected)}.tl-frame-name-input{position:absolute;border:none;background:none;outline:none;padding:var(--space-3) var(--space-3);top:0;right:0;bottom:0;left:0;height:100%;font-size:inherit;font-family:inherit;font-weight:inherit;width:100%;color:var(--color-text-1);border-radius:var(--radius-1);user-select:all;-webkit-user-select:text;white-space:pre;cursor:var(--tl-cursor-text)}@media(max-width:600px){.tl-frame-heading{font-size:16px}}.tl-embed{border:none;border-radius:var(--radius-2)}.tl-shape-error-boundary{width:100%;height:100%;background-color:var(--color-muted-1);border-width:calc(1px * var(--tl-scale));border-color:var(--color-muted-1);border-style:solid;border-radius:calc(var(--radius-1) * var(--tl-scale));display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:left;position:relative;pointer-events:all;overflow:hidden;padding:var(--space-2)}.tl-shape-error-boundary:before{transform:scale(var(--tl-scale));content:"Error";font-size:12px;font-family:inherit;color:var(--color-text-0)}.tl-error-boundary{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background-color:var(--color-background);color:var(--color-text-1);position:absolute}.tl-error-boundary__overlay{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;width:100%;z-index:var(--layer-error-overlay);background-color:var(--color-overlay)}.tl-error-boundary__content *{user-select:all;-webkit-user-select:text;pointer-events:all}.tl-error-boundary__canvas{pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;height:100%;width:100%;z-index:var(--layer-error-canvas)}.tl-error-boundary__canvas:after{content:" ";display:block;position:absolute;top:0;right:0;bottom:0;left:0;height:100%;width:100%;z-index:var(--layer-error-canvas-after);pointer-events:all}.tl-error-boundary__content{width:fit-content;height:fit-content;max-width:100%;width:400px;max-height:100%;background-color:var(--color-panel);padding:16px;border-radius:16px;box-shadow:var(--shadow-2);font-size:14px;font-weight:400;display:flex;flex-direction:column;overflow:auto;z-index:var(--layer-error-content);gap:12px}.tl-error-boundary__content__expanded{width:600px}.tl-error-boundary__content h2{font-size:16px;margin:0;font-weight:500}.tl-error-boundary__content h4{border:1px solid var(--color-low-border);margin:-6px 0 0;padding:var(--space-5);border-radius:var(--radius-2);font-weight:400}.tl-error-boundary__content p{line-height:1.5;margin:0}.tl-error-boundary__content pre{background-color:var(--color-muted-2);margin-top:0;padding:var(--space-5);border-radius:var(--radius-2);overflow:auto;font-size:12px;max-height:320px}.tl-error-boundary__content button{background:none;border:none;font-family:inherit;font-size:14px;font-weight:500;padding:var(--space-4);border-radius:var(--radius-3);cursor:var(--tl-cursor-pointer);color:inherit;background-color:transparent}.tl-error-boundary__content a{color:var(--color-text-1);font-weight:500;text-decoration:none}.tl-error-boundary__content__error{position:relative;margin:-6px 0 0}.tl-error-boundary__content__error button{position:absolute;top:var(--space-2);right:var(--space-2);font-size:12px;padding:var(--space-2) var(--space-3);background-color:var(--color-panel);border-radius:var(--radius-1)}.tl-error-boundary__content__actions{display:flex;justify-content:space-between;gap:var(--space-4);margin:0 0 0 -4px}.tl-error-boundary__content__actions__group{display:flex;gap:var(--space-4)}.tl-error-boundary__content .tl-error-boundary__reset{color:var(--color-warn)}.tl-error-boundary__content .tl-error-boundary__refresh{background-color:var(--color-primary);color:var(--color-selected-contrast)}.tl-hidden{opacity:0;pointer-events:none}.debug__ui-logger{position:absolute;top:62px;left:16px;color:#555;font-size:12px;font-family:monospace}.tl-hit-test-blocker{position:absolute;z-index:var(--layer-canvas-blocker);top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:all}.tl-hit-test-blocker__hidden{display:none}@media(hover:hover){.tl-handle__create:hover{opacity:1}.tl-handle__bg:hover{cursor:var(--tl-cursor-grab);fill:var(--color-selection-fill)}.tl-bookmark__link:hover,.tl-hyperlink-button:hover{color:var(--color-selected)}.tl-error-boundary__content button:hover{background-color:var(--color-low)}.tl-error-boundary__content a:hover{color:var(--color-text-1)}.tl-error-boundary__content .tl-error-boundary__refresh:hover{background-color:var(--color-primary);opacity:.9}.tl-canvas[data-iseditinganything=true] .tl-text-wrapper:hover .tl-text-input{z-index:var(--layer-text-editor);pointer-events:all}}.tl-container{--layer-above: 1;--layer-focused-input: 10;--layer-panels: 300;--layer-menus: 400;--layer-canvas-overlays: 500;--layer-toasts: 650;--layer-cursor: 700;--layer-header-footer: 999;--layer-following-indicator: 1000}.tlui-button{position:relative;height:40px;min-width:40px;padding:0 12px;display:flex;align-items:center;justify-content:center;background-color:transparent;border:transparent;color:currentColor;cursor:pointer;pointer-events:all;font-weight:inherit;font-family:inherit;line-height:inherit;text-rendering:optimizeLegibility;font-size:12px;gap:0px;color:var(--color-text-1)}.tlui-button:disabled{color:var(--color-text-3);text-shadow:none;cursor:default}.tlui-button:disabled .tlui-kbd{color:var(--color-text-3)}.tlui-button>*{position:relative;z-index:var(--layer-above)}.tlui-button__label{flex-grow:2;text-align:left}.tlui-button:focus-visible:not(:hover){outline:1px solid var(--color-selected);outline-offset:-4px;border-radius:var(--radius-3)}.tlui-button:after{display:block;content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;background-color:transparent;border-radius:var(--radius-2)}.tlui-button[aria-expanded=true]:after{background-color:var(--color-muted-0);opacity:1}.tlui-button__icon+.tlui-button__label{margin-left:var(--space-2)}.tlui-button[data-state=hinted]:after{background-color:var(--color-hint);opacity:1}.tlui-button[data-state=hinted]:not(:disabled,:focus-visible):active:after{background:var(--color-hint);opacity:1}@media(hover:hover){.tlui-button:after{background-color:var(--color-muted-2);opacity:0}.tlui-button:not(:disabled):hover:after{opacity:1}}.tlui-button__low{border-radius:var(--radius-3);background-color:var(--color-low)}@media(hover:hover){.tlui-button__low:after{background-color:var(--color-muted-2)}}.tlui-button__primary{color:var(--color-primary)}.tlui-button__danger{color:var(--color-warn);text-shadow:none}@media(hover:hover){.tlui-button__primary:not(:disabled,:focus-visible):hover{color:var(--color-primary)}.tlui-button__danger:not(:disabled,:focus-visible):hover{color:var(--color-warn);text-shadow:none}}.tlui-button__panel{position:relative}.tlui-button__menu{height:40px;min-height:40px;width:100%;gap:8px;margin:-4px 0}.tlui-button__menu:nth-child(1){margin-top:0}.tlui-button__menu:nth-last-child(1){margin-bottom:0}@media(hover:hover){.tlui-button__menu:after{top:4px;right:4px;bottom:4px;left:4px;border-radius:var(--radius-2)}}.tlui-button__checkbox{padding-left:8px}.tlui-button__checkbox__indicator{width:15px;height:15px}.tlui-toolbar__lock-button{position:absolute;top:4px;right:0;pointer-events:all;height:40px;width:40px;min-width:0px;border-radius:var(--radius-2)}.tlui-toolbar__lock-button:after{top:4px;right:4px;bottom:4px;left:4px}.tlui-button__tool{position:relative;height:48px;width:48px;margin-left:-2px;margin-right:-2px}.tlui-button__tool:nth-of-type(1){margin-left:0}.tlui-button__tool:nth-last-of-type(1){margin-right:0}@media(hover:hover){.tlui-button__tool:after{top:4px;right:4px;bottom:4px;left:4px;border-radius:8px}.tlui-button__tool[aria-checked=true]:not(:disabled,:focus-visible):hover{color:var(--color-selected-contrast)}}.tlui-button__tool[aria-checked=true]{color:var(--color-selected-contrast)}.tlui-button__tool[aria-checked=true]:not(:disabled,:focus-visible):active{color:var(--color-selected-contrast)}.tlui-button__tool[aria-checked=true]:not(:disabled):after{background:var(--color-selected);opacity:1}.tlui-layout__mobile .tlui-button__tool{height:48px;width:44px}.tlui-layout__mobile .tlui-button__tool>.tlui-icon{height:16px;width:16px}.tlui-button__help{height:32px;width:32px;padding:0;min-width:32px;border-radius:100%;background-color:var(--color-low);border:1px solid var(--color-low-border)}@media(hover:hover){.tlui-button__help:after{background-color:var(--color-muted-2);border-radius:100%;top:4px;right:4px;bottom:4px;left:4px}}.tlui-buttons__horizontal{display:flex;flex-direction:row}.tlui-buttons__horizontal>*{margin-left:-2px;margin-right:-2px}.tlui-buttons__horizontal>*:nth-child(1){margin-left:0}.tlui-buttons__horizontal>*:nth-last-child(1){margin-right:0}.tlui-buttons__horizontal>*:only-child{width:56px}.tlui-buttons__grid{display:grid;grid-template-columns:repeat(4,auto);grid-auto-flow:row;overflow:hidden}.tlui-buttons__grid>.tlui-button{margin:-2px}.tlui-buttons__grid>.tlui-button:nth-of-type(4n){margin-right:0}.tlui-buttons__grid>.tlui-button:nth-of-type(4n-3){margin-left:0}.tlui-buttons__grid>.tlui-button:nth-of-type(-n+4){margin-top:0}.tlui-buttons__grid>.tlui-button:nth-last-of-type(-n+4){margin-bottom:0}.tlui-zoom-menu__button__pct{width:60px;min-width:60px;text-align:center}.tlui-layout{position:relative;display:grid;grid-template-columns:1fr;grid-template-rows:minmax(0px,1fr) auto;grid-auto-rows:auto;height:100%;max-height:100%;overflow:clip;pointer-events:none;-webkit-user-select:none;user-select:none;contain:strict;z-index:var(--layer-panels);-webkit-transform:translate3d(0,0,0);--sab: env(safe-area-inset-bottom);font-weight:500;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-smooth:antialiased;text-rendering:optimizeLegibility}.tlui-layout__top{grid-column:1;grid-row:1;display:flex;min-width:0px;justify-content:space-between}.tlui-layout__top__left{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;width:100%;height:100%;flex:0 1 0}.tlui-layout__top__right{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-start;height:100%;flex:0 0 auto;min-width:0px}.scrollable,.scrollable *{pointer-events:all;touch-action:auto;overscroll-behavior:none}.tlui-helper-buttons{position:relative;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;width:min-content;gap:var(--space-3);margin:var(--space-2) var(--space-3);white-space:nowrap;pointer-events:none;z-index:var(--layer-panels)}.tlui-icon{flex-shrink:0;width:18px;height:18px;background-color:currentColor}.tlui-icon__placeholder{flex-shrink:0;width:18px;height:18px;background-color:transparent}.tlui-icon__small{width:15px;height:15px}.tlui-slider{position:relative;display:flex;align-items:center;-webkit-user-select:none;user-select:none;touch-action:none}.tlui-slider__container{width:100%;padding:0px var(--space-4)}.tlui-slider__track{position:relative;flex-grow:1;height:44px;cursor:pointer}.tlui-slider__track:after{display:block;position:absolute;top:calc(50% - 2px);content:"";height:3px;width:100%;background-color:var(--color-muted-1);border-radius:14px}.tlui-slider__range{position:absolute;top:calc(50% - 2px);left:0;height:3px;background-color:var(--color-selected);border-radius:14px}.tlui-slider__thumb{all:unset;cursor:grab;display:block;width:18px;height:18px;position:relative;top:-1px;background-color:var(--color-panel);border-radius:999px;box-shadow:inset 0 0 0 2px var(--color-text-1)}.tlui-slider__thumb:active{cursor:grabbing;box-shadow:inset 0 0 0 2px var(--color-text-1),var(--shadow-1)}.tlui-slider__thumb:focus-visible{box-shadow:inset 0 0 0 2px var(--color-focus)}.tlui-kbd{font-family:inherit;font-size:11px;line-height:11px;display:grid;justify-items:center;grid-auto-flow:column;grid-template-columns:auto;grid-auto-columns:minmax(1em,auto);align-self:bottom;color:var(--color-text-1);margin-left:var(--space-4)}.tlui-kbd>span{width:100%;text-align:center;display:inline;margin:0;padding:2px;border-radius:2px}.tlui-kbd>span:last-child{padding-right:0}.tlui-kbd:not(:last-child){margin-right:var(--space-2)}.tlui-focus-button{z-index:var(--layer-panels);pointer-events:all}.tlui-popover{position:relative;display:flex;align-content:stretch}.tlui-popover__content{position:relative;max-height:75vh;margin:0;border:none;border-radius:var(--radius-3);background-color:var(--color-panel);box-shadow:var(--shadow-3);z-index:var(--layer-menus);overflow:hidden;overflow-y:auto;touch-action:auto;overscroll-behavior:none;scrollbar-width:none;-ms-overflow-style:none}.tlui-debug-panel{background-color:var(--color-low);width:100%;display:grid;align-items:center;grid-template-columns:1fr auto auto auto;justify-content:space-between;padding-left:var(--space-4);border-top:1px solid var(--color-background);font-size:12px;color:var(--color-text-1);z-index:var(--layer-panels);pointer-events:all}.tlui-debug-panel__current-state{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.tlui-debug-panel__fps{margin-right:8px}.tlui-debug-panel__fps__slow{font-weight:700;color:var(--color-warn)}.tlui-menu-zone{position:relative;z-index:var(--layer-panels);width:fit-content;border-right:2px solid var(--color-background);border-bottom:2px solid var(--color-background);border-bottom-right-radius:var(--radius-4);background-color:var(--color-low)}.tlui-menu-zone *[data-state=open]:after{background:linear-gradient(180deg,rgba(144,144,144,0) 0%,var(--color-muted-2) 100%)}.tlui-style-panel__wrapper{box-shadow:var(--shadow-2);border-radius:var(--radius-3);pointer-events:all;background-color:var(--color-panel);height:fit-content;max-height:100%;margin:4px 8px 8px;touch-action:auto;overscroll-behavior:none;overflow-y:auto;overflow-x:hidden;color:var(--color-text)}.tlui-style-panel__wrapper:only-child{margin-top:8px}.tlui-style-panel{position:relative;z-index:var(--layer-panels);pointer-events:all;width:148px;max-width:148px}.tlui-style-panel::-webkit-scrollbar{display:none}.tlui-style-panel .tlui-button.select{width:100%}.tlui-style-panel__section{display:flex;position:relative;flex-direction:column}.tlui-style-panel__section:nth-of-type(n+2):not(:last-child){border-bottom:1px solid var(--color-divider)}.tlui-style-panel__section:empty{display:none}.tlui-style-panel__section__common:not(:only-child){margin-bottom:7px;border-bottom:1px solid var(--color-divider)}.tlui-style-panel__row{display:flex}.tlui-style-panel__row__extra-button{margin-left:-2px}.tlui-style-panel__double-select-picker{display:flex;grid-template-columns:1fr auto;align-items:center;padding-left:var(--space-4);color:var(--color-text-1);font-size:12px}.tlui-style-panel__double-select-picker-label{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;flex-grow:2;max-width:100%}.tlui-style-panel__section *[data-state=open]:after{background:var(--color-muted-0)}.tlui-input{background:none;margin:0;position:relative;z-index:var(--layer-above);height:40px;max-height:40px;display:flex;align-items:center;justify-content:center;font-family:inherit;font-size:12px;font-weight:inherit;color:var(--color-text-1);padding:var(--space-4);padding-left:0;border:none;outline:none;text-overflow:ellipsis;width:100%;user-select:all;text-rendering:optimizeLegibility;-webkit-user-select:auto!important}.tlui-input__wrapper{width:100%;height:44px;display:flex;align-items:center;gap:var(--space-4);color:var(--color-text)}.tlui-input__wrapper>.tlui-icon{flex-shrink:0}@media(max-width:600px){@supports (-webkit-touch-callout: none){.tlui-input{font-size:16px}}}.tlui-dialog__overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:var(--layer-canvas-overlays);background-color:var(--color-overlay);pointer-events:all;animation:fadeIn .12s ease-out;display:grid;place-items:center;overflow-y:auto}.tlui-dialog__content{display:flex;flex-direction:column;position:relative;cursor:default;background-color:var(--color-panel);box-shadow:var(--shadow-3);border-radius:var(--radius-3);font-size:12px;overflow:hidden;min-width:300px;max-width:80%;max-height:80%}.tlui-dialog__header{position:relative;display:flex;align-items:center;flex:0;z-index:var(--layer-header-footer);padding-left:var(--space-4);color:var(--color-text);height:44px}.tlui-dialog__header__title{flex:1;font-weight:inherit;font-size:12px;margin:0;color:var(--color-text-1)}.tlui-dialog__header__close{justify-self:flex-end}.tlui-dialog__body{padding:var(--space-4) var(--space-4);flex:0 1;overflow-y:auto;overflow-x:hidden;color:var(--color-text-1);user-select:all;-webkit-user-select:text}.tlui-dialog__footer{position:relative;z-index:var(--layer-header-footer)}.tlui-dialog__footer__actions{display:flex;align-items:center;justify-content:flex-end}.tlui-dialog__footer__actions>.tlui-button:nth-last-child(n+2){margin-right:-4px}.tlui-toolbar{grid-column:1 / span 3;grid-row:1;display:flex;align-items:center;justify-content:center;flex-grow:2;padding-bottom:calc(var(--space-3) + var(--sab))}.tlui-toolbar__inner{position:relative;width:fit-content;display:flex;gap:var(--space-3);align-items:flex-end}.tlui-toolbar__left{width:fit-content}.tlui-toolbar__extras{position:relative;z-index:var(--layer-above);width:100%;pointer-events:none;top:6px;height:48px}.tlui-toolbar__extras:empty{display:none}.tlui-toolbar__extras__controls{display:flex;position:relative;flex-direction:row;z-index:var(--layer-above);background-color:var(--color-low);border-top-left-radius:var(--radius-4);border-top-right-radius:var(--radius-4);border:2px solid var(--color-background);margin-left:8px;margin-right:0;pointer-events:all;width:fit-content}.tlui-toolbar__tools{display:flex;flex-direction:row;align-items:center;background-color:var(--color-low);border-radius:var(--radius-4);z-index:var(--layer-panels);pointer-events:all;position:relative;background:var(--color-panel);box-shadow:var(--shadow-2)}.tlui-toolbar__tools__list{display:flex;flex-direction:row;align-items:center}.tlui-toolbar__overflow{width:40px}.tlui-layout__mobile .tlui-toolbar__overflow{width:32px;padding:0}.tlui-layout__mobile .tlui-toolbar *[data-state=open]:after{background:linear-gradient(0deg,rgba(144,144,144,0) 0%,var(--color-muted-2) 100%)}.tlui-help-menu{pointer-events:all;position:absolute;bottom:var(--space-2);right:var(--space-2);z-index:var(--layer-panels);border:2px solid var(--color-background);border-radius:100%}.tlui-context-menu__move-to-page__name{max-width:min(300px,35vw);overflow:hidden;text-overflow:ellipsis}.tlui-context-menu__move-to-page__name[data-disabled]{color:var(--color-text-3);pointer-events:none}.tlui-menu:empty{display:none}.tlui-menu{z-index:var(--layer-menus);height:fit-content;width:fit-content;max-height:80vh;border-radius:var(--radius-3);pointer-events:all;touch-action:auto;overflow-y:auto;overscroll-behavior:none;background-color:var(--color-panel);box-shadow:var(--shadow-3)}.tlui-menu::-webkit-scrollbar{display:none}.tlui-menu__arrow{position:relative;top:-1px;fill:var(--color-panel);stroke:var(--color-panel-contrast);stroke-width:1px}.tlui-menu__group{width:100%}.tlui-menu__group:empty{display:none}.tlui-menu__group{border-bottom:1px solid var(--color-divider)}.tlui-menu__group:nth-last-of-type(1){border-bottom:none}.tlui-menu__submenu__trigger[data-state=open]:not(:hover):after{border-radius:var(--radius-1);background:linear-gradient(90deg,rgba(144,144,144,0) 0%,var(--color-muted-2) 100%)}.tlui-menu__submenu__trigger[data-direction=left][data-state=open]:not(:hover):after{border-radius:var(--radius-1);background:linear-gradient(270deg,rgba(144,144,144,0) 0%,var(--color-muted-2) 100%)}.tlui-menu[data-size=large]>.tlui-menu__group{min-width:initial}.tlui-menu[data-size=medium]>.tlui-menu__group{min-width:144px}.tlui-menu[data-size=small]>.tlui-menu__group{min-width:96px}.tlui-menu[data-size=tiny]>.tlui-menu__group{min-width:0px}.tlui-actions-menu{max-height:calc(100vh - 150px)}.tlui-toast__viewport{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;display:flex;align-items:flex-end;justify-content:flex-end;flex-direction:column;gap:var(--space-3);pointer-events:none;padding:0px var(--space-3) 64px 0px;z-index:var(--layer-toasts)}.tlui-toast__viewport>*{pointer-events:all}.tlui-toast__icon{padding-top:11px;padding-left:var(--space-4);color:var(--color-text-1)}.tlui-toast__container{min-width:200px;display:flex;flex-direction:row;background-color:var(--color-panel);box-shadow:var(--shadow-2);border-radius:var(--radius-3);font-size:12px}.tlui-toast__container[data-severity=success] .tlui-icon{color:var(--color-success)}.tlui-toast__container[data-severity=info] .tlui-icon{color:var(--color-info)}.tlui-toast__container[data-severity=warning] .tlui-icon{color:var(--color-warning)}.tlui-toast__container[data-severity=error] .tlui-icon{color:var(--color-error)}.tlui-toast__main{flex-grow:2;max-width:280px}.tlui-toast__content{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.tlui-toast__title{font-weight:700;color:var(--color-text-1);line-height:16px}.tlui-toast__description{color:var(--color-text-1);padding:var(--space-3);margin:0;padding:0}.tlui-toast__icon+.tlui-toast__main>.tlui-toast__actions{padding-left:0}.tlui-toast__actions{display:flex;flex-direction:row;justify-content:flex-start;margin-left:0}.tlui-toast__close{align-self:flex-end;flex-shrink:0}@media(prefers-reduced-motion:no-preference){.tlui-toast__container[data-state=open]{animation:slide-in .2s cubic-bezier(.785,.135,.15,.86)}.tlui-toast__container[data-state=closed]{animation:hide .1s ease-in}.tlui-toast__container[data-swipe=move]{transform:translate(var(--radix-toast-swipe-move-x))}.tlui-toast__container[data-swipe=cancel]{transform:translate(0);transition:transform .2s ease-out}.tlui-toast__container[data-swipe=end]{animation:swipe-out .1s ease-out}}.tlui-layout__bottom{grid-row:2}.tlui-layout__bottom__main{width:100%;position:relative;display:flex;align-items:flex-end;justify-content:center}.tlui-navigation-panel{display:flex;width:min-content;flex-direction:column;z-index:var(--layer-panels);pointer-events:all;position:absolute;left:0;bottom:0}.tlui-navigation-panel:before{content:"";display:block;position:absolute;z-index:-1;top:-2px;right:-2px;bottom:0;left:0;border-radius:0;border-top:2px solid var(--color-background);border-right:2px solid var(--color-background);border-top-right-radius:var(--radius-4);background-color:var(--color-low)}.tlui-navigation-panel__toggle .tlui-icon{opacity:.24}.tlui-navigation-panel__toggle:active .tlui-icon{opacity:1}@media(hover:hover){.tlui-navigation-panel__toggle:hover .tlui-icon{opacity:1}}.tlui-minimap{width:100%;height:96px;min-height:96px;overflow:hidden;padding:var(--space-3);padding-top:0}.tlui-minimap__canvas{position:relative;width:100%;height:100%}@keyframes hide{0%{opacity:1}to{opacity:0}}@keyframes slide-in{0%{transform:translate(calc(100% + var(--space-3)))}to{transform:translate(0)}}@keyframes swipe-out{0%{transform:translate(var(--radix-toast-swipe-end-x))}to{transform:translate(calc(100% + var(--space-3)))}}.tlui-page-menu__wrapper{position:relative;display:flex;flex-direction:column;width:260px;height:fit-content;max-height:50vh}.tlui-page-menu__trigger{width:128px}.tlui-page-menu__header{display:flex;flex-direction:row;align-items:center;width:100%;height:40px;padding-left:var(--space-4);border-bottom:1px solid var(--color-divider)}.tlui-page-menu__header>.tlui-button:nth-of-type(1){margin-right:-4px}.tlui-page-menu__header__title{color:var(--color-text);font-size:12px;flex-grow:2}.tlui-page-menu__name{flex-grow:2;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tlui-page-menu__list{position:relative;flex-direction:column;max-height:100%;overflow-x:hidden;overflow-y:auto;touch-action:auto}.tlui-page-menu__item{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:0px}.tlui-page-menu__item:nth-of-type(n+2){margin-top:-4px}.tlui-page-menu__item__button{width:100%}.tlui-page-menu__item__button:not(:only-child){flex-grow:2;margin-right:-2px}.tlui-page-menu__item__button>span{display:block;flex-grow:2;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tlui-page-menu__item__button__checkbox{padding-left:35px}.tlui-page-menu__item__button__check{position:absolute;left:0;width:24px;padding-left:10px;display:inline-flex;align-items:center;justify-content:center;color:var(--color-text)}.tlui-page_menu__item__sortable{position:absolute;top:0;left:0;width:100%;height:fit-content;display:flex;flex-direction:row;align-items:center;overflow:hidden;z-index:var(--layer-above)}.tlui-page_menu__item__sortable__title{flex:1}.tlui-page_menu__item__sortable__title>.tlui-input__wrapper{height:100%}.tlui-page_menu__item__sortable:focus-within{z-index:var(--layer-focused-input)}.tlui-page_menu__item__sortable__handle{touch-action:none;width:32px;min-width:0px;height:40px;cursor:grab;color:var(--color-text-3);flex-shrink:0;margin-right:-9px}.tlui-page_menu__item__sortable__handle:active{cursor:grabbing}.tlui-page-menu__item__input{margin-left:12px;height:100%}.tlui-page_menu__item__submenu{pointer-events:all;flex:0;cursor:pointer;display:none;margin:0 0 0 -2px}.tlui-page_menu__item__submenu[data-isediting=true]{display:block;opacity:1}.tlui-page_menu__item__submenu>.tlui-button{opacity:0}@media(any-pointer:coarse){.tlui-page_menu__item__submenu>.tlui-button{opacity:1}}.tlui-page-menu__item__button .tlui-button__icon{margin-right:4px}@media(hover:hover){.tlui-page_menu__item__submenu{display:block}.tlui-page_menu__item__submenu[data-isediting=true]>.tlui-button{opacity:0}.tlui-page_menu__item__submenu>.tlui-button[data-state=open],.tlui-page_menu__item__submenu:hover>.tlui-button,.tlui-page_menu__item__sortable:focus-within>.tlui-page_menu__item__submenu>.tlui-button{opacity:1}}.tlui-edit-link-dialog{display:flex;flex-direction:column;gap:var(--space-4);color:var(--color-text)}.tlui-edit-link-dialog__input{background-color:var(--color-muted-2);flex-grow:2;border-radius:var(--radius-2);padding:0px var(--space-4)}.tlui-embed__spacer{flex-grow:2;min-height:0px;margin-left:calc(-1 * var(--space-4));margin-top:calc(-1 * var(--space-4));pointer-events:none}.tlui-embed-dialog__list{display:flex;flex-direction:column;padding-bottom:var(--space-5)}.tlui-embed-dialog__item__image{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background-size:contain;background-repeat:no-repeat;background-position:center center}.tlui-embed-dialog__enter{display:flex;flex-direction:column;gap:var(--space-4);color:var(--color-text-1)}.tlui-embed-dialog__input{background-color:var(--color-muted-2);flex-grow:2;border-radius:var(--radius-2);padding:0px var(--space-4)}.tlui-embed-dialog__warning{color:var(--color-warn);text-shadow:none}.tlui-embed-dialog__instruction__link{display:flex;gap:var(--space-1);margin-top:var(--space-4)}.tlui-embed-dialog__enter a{color:var(--color-text-1)}.tlui-following-indicator{display:block;position:absolute;top:0;right:0;bottom:0;left:0;border-width:2px;border-style:solid;z-index:var(--layer-following-indicator);pointer-events:none}.tlui-offline-indicator{display:flex;flex-direction:row;gap:var(--space-3);color:var(--color-text);background-color:var(--color-low);border:3px solid var(--color-background);padding:0px var(--space-5);height:42px;align-items:center;justify-content:center;border-radius:99px;opacity:0;animation:fade-in;animation-duration:.12s;animation-delay:2s;animation-fill-mode:forwards}.tlui-shortcuts-dialog__header{border-bottom:1px solid var(--color-divider)}.tlui-shortcuts-dialog__body{position:relative;columns:3;column-gap:var(--space-9);pointer-events:all;touch-action:auto;overflow-x:auto}.tlui-shortcuts-dialog__body__tablet{columns:2}.tlui-shortcuts-dialog__body__mobile{columns:1}.tlui-shortcuts-dialog__group{break-inside:avoid-column;padding-bottom:var(--space-6)}.tlui-shortcuts-dialog__group__title{font-size:inherit;font-weight:inherit;margin:0;color:var(--color-text-3);height:32px;display:flex;align-items:center}.tlui-shortcuts-dialog__group__content{display:flex;flex-direction:column;color:var(--color-text-1)}.tlui-shortcuts-dialog__key-pair{display:flex;gap:var(--space-4);align-items:center;justify-content:space-between;height:32px}.tlui-shortcuts-dialog__key-pair__key{flex:1;font-size:12px}.tlui-share-zone{padding:2px 4px 0 0;display:flex;flex-direction:row;justify-content:flex-end;z-index:var(--layer-panels);align-items:center}.tlui-people-menu__avatars-button{display:flex;align-items:center;justify-content:flex-end;background:none;border:none;cursor:pointer;pointer-events:all;border-radius:var(--radius-1);padding-right:1px;height:36px}.tlui-people-menu__avatars{display:flex;flex-direction:row}.tlui-people-menu__avatar{height:28px;width:28px;border:2px solid var(--color-background);background-color:var(--color-low);border-radius:100%;display:flex;align-items:center;justify-content:center;position:relative;font-size:10px;font-weight:700;color:var(--color-selected-contrast);z-index:2}.tlui-people-menu__avatar:nth-of-type(n+2){margin-left:-12px}.tlui-people-menu__avatars-button[data-state=open]{opacity:1}@media(hover:hover){.tlui-people-menu__avatars-button:hover .tlui-people-menu__avatar{border-color:var(--color-low)}}.tlui-people-menu__more{min-width:0px;font-size:11px;font-weight:600;color:var(--color-text-1);font-family:inherit;padding:0 4px;letter-spacing:1.5}.tlui-people-menu__more:after{border-radius:var(--radius-2);top:0;right:0;bottom:0;left:0}.tlui-people-menu__wrapper{position:relative;display:flex;flex-direction:column;width:220px;height:fit-content;max-height:50vh}.tlui-people-menu__section{position:relative;flex-direction:column;max-height:100%;overflow-x:hidden;overflow-y:auto;touch-action:auto}.tlui-people-menu__section:not(:last-child){border-bottom:1px solid var(--color-divider)}.tlui-people-menu__user{display:flex;justify-content:flex-start;align-items:center}.tlui-people-menu__user__color{flex-shrink:0}.tlui-people-menu__user__name{text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--color-text-1);max-width:100%;flex-grow:1;flex-shrink:100}.tlui-people-menu__user__label{text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--color-text-3);flex-grow:100;flex-shrink:0;margin-left:4px}.tlui-people-menu__user__input{flex-grow:2;height:100%;padding:0;margin:0}.tlui-people-menu__user>.tlui-input__wrapper{width:auto;display:flex;align-items:auto;flex-grow:2;gap:8px;height:100%;padding:0}.tlui-people-menu__item{display:flex;justify-content:flex-start;width:100%}.tlui-people-menu__item__button{padding:0 11px}.tlui-people-menu__item>.tlui-button__menu{width:auto;display:flex;align-items:auto;justify-content:flex-start;flex-grow:2;gap:11px}.tlui-people-menu__item__follow{min-width:44px}.tlui-people-menu__item__follow[data-active=true] .tlui-icon{opacity:1}.tlui-people-menu__item__follow:focus-visible .tlui-icon{opacity:1}@media(hover:hover){.tlui-people-menu__item__follow .tlui-icon{opacity:0}.tlui-people-menu__item__follow:hover .tlui-icon{opacity:1}}.canvas-page{display:flex;flex-direction:column;height:100%}.canvas-toolbar{display:flex;align-items:center;gap:16px;padding:12px 24px;background:#fff;border-bottom:1px solid #e8e8e8;z-index:100}.canvas-name{flex:1;font-size:16px;font-weight:500}.tldraw-container{flex:1;position:relative}.tldraw-container>div{position:absolute;top:0;right:0;bottom:0;left:0}[data-testid="context-menu-group.conversions"],[data-testid="main-menu-sub.复制为-button"],[data-testid="main-menu-sub.导出为-button"],[data-testid="main-menu-sub.export-button"]{display:none!important}.doubao-page{padding:24px;min-height:100%;overflow-y:auto;flex:1}.doubao-card{max-width:900px;margin:0 auto}.preset-prompt{background:#f5f5f5;padding:12px;border-radius:6px;margin-bottom:16px}.prompt-content{margin-top:8px;white-space:pre-wrap;color:#666;font-size:13px;line-height:1.6}.upload-area{flex:1;display:flex;flex-direction:column;gap:8px}.upload-box{width:100%;min-height:200px;border:2px dashed #d9d9d9;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .3s;overflow:hidden}.preview-image{max-width:100%;max-height:300px;object-fit:contain}.analyze-btn-area{display:flex;align-items:center}.result-section{margin-top:24px}.result-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.result-content{background:#fafafa;padding:16px;border-radius:6px;min-height:80px;white-space:pre-wrap;line-height:1.8}.combine-section{margin-top:16px}.combine-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.combine-inputs{display:flex;flex-direction:column;gap:12px}.input-row{display:flex;align-items:flex-start;gap:12px}.input-row>span:first-child{width:100px;flex-shrink:0;line-height:32px}.input-row>input,.input-row>textarea,.input-row>.ant-input{flex:1}.input-row .keywords-hint{flex:1;line-height:32px}.combined-result{margin-top:24px}.combined-content{background:#e6f7ff;padding:16px;border-radius:6px;border:1px solid #91d5ff}.combined-content pre{margin:0;white-space:pre-wrap;font-family:inherit;line-height:1.8}.combined-content-textarea{background:#e6f7ff!important;border:1px solid #91d5ff!important;border-radius:6px;line-height:1.8;font-size:14px}.combined-content-textarea:focus,.combined-content-textarea:hover{border-color:#40a9ff!important;background:#fff!important}.history-header{margin-bottom:12px}.history-list .ant-list-item{padding:8px 12px;border-radius:6px;margin-bottom:8px;background:#fafafa;cursor:pointer;transition:background .2s}.history-list .ant-list-item:hover{background:#f0f0f0}.history-list .ant-list-item.active{background:#e6f7ff;border:1px solid #91d5ff}.history-list .ant-list-item-meta-title{margin-bottom:4px!important}.selling-point-page{padding:24px;min-height:100%;overflow-y:auto;flex:1}.selling-point-card{max-width:900px;margin:0 auto}.preset-section{display:flex;align-items:center;margin-bottom:12px}.preset-info{margin-bottom:8px}.analyze-section{display:flex;gap:24px;align-items:flex-start}.upload-area{flex:1;display:flex;flex-direction:column;gap:8px;max-width:300px}.upload-box{width:100%;height:200px;border:2px dashed #d9d9d9;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .3s;overflow:hidden}.upload-box:hover{border-color:#1890ff}.upload-placeholder{text-align:center;color:#999}.preview-image{max-width:100%;max-height:100%;object-fit:contain}.params-section{margin-bottom:16px}.params-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.param-item{display:flex;flex-direction:column;gap:4px}.param-label{font-weight:500}.param-label .required{color:#ff4d4f;margin-left:2px}.fixed-params-section{margin-bottom:16px}.fixed-params-grid{display:flex;flex-wrap:wrap;gap:24px}.fixed-param-item{display:flex;align-items:center;gap:8px}.analyze-btn-area{display:flex;justify-content:center;margin:24px 0}.result-section{margin-top:16px}.result-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.result-content{min-height:100px}.selling-points-list{display:flex;flex-direction:column;gap:16px}.selling-point-item{display:flex;gap:16px;padding:16px;background:#fafafa;border-radius:8px;border:1px solid #f0f0f0;transition:all .3s;align-items:flex-start}.selling-point-item.copied{background:#f6ffed;border-color:#b7eb8f}.point-number{width:32px;height:32px;background:#1890ff;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.point-content{flex:1;display:flex;flex-direction:column;gap:8px}.point-row{display:flex;align-items:flex-start;gap:8px}.point-row .ant-tag{flex-shrink:0;margin:0}.point-text{flex:1;line-height:1.6;word-break:break-word}.selling-point-item .copy-btn{flex-shrink:0;align-self:center}.history-section{margin-top:16px}.history-header{margin-bottom:16px}.history-list .history-item{cursor:pointer;transition:background .3s;padding:8px 12px;border-radius:4px}.history-list .history-item:hover{background:#f5f5f5}.history-list .history-item.active{background:#e6f7ff;border-left:3px solid #1890ff}.random-bg-page{height:100%;display:flex;flex-direction:column;padding:16px;background:#f5f5f5;overflow:hidden;box-sizing:border-box}.random-bg-container{background:#fff;border-radius:12px;box-shadow:0 2px 12px #0000001a;max-width:1200px;width:100%;margin:0 auto;display:flex;flex-direction:column;flex:1;overflow:hidden}.loading-wrapper{flex:1;display:flex;align-items:center;justify-content:center}.image-wrapper{flex:1;background:#000;display:flex;align-items:center;justify-content:center;overflow:hidden;min-height:0}.image-wrapper img{max-width:100%;max-height:100%;object-fit:contain}.info-wrapper{padding:16px 24px;display:flex;align-items:center;gap:24px;flex-shrink:0;border-top:1px solid #f0f0f0}.description{font-size:14px;line-height:1.6;color:#333;padding:12px 16px;background:#f9f9f9;border-radius:8px;word-break:break-all;flex:1;margin:0;max-height:80px;overflow-y:auto}.actions{display:flex;gap:12px;flex-shrink:0}.actions .ant-btn{min-width:120px}.random-bg-admin{padding:24px;min-height:100%;overflow-y:auto;flex:1}.admin-header{margin-bottom:20px;display:flex;justify-content:space-between;align-items:center}.admin-header .header-left{display:flex;align-items:center}.admin-header h3{margin:0;font-size:18px}.folder-list{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px;padding:12px;background:#fafafa;border-radius:8px}.folder-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#fff;border:1px solid #e8e8e8;border-radius:6px;cursor:pointer;transition:all .2s}.folder-item:hover{border-color:#1890ff}.folder-item.active{border-color:#1890ff;background:#e6f7ff}.folder-info{display:flex;align-items:center;gap:6px}.folder-name{font-weight:500}.folder-count{color:#999;font-size:12px}.folder-actions{display:flex;gap:8px;margin-left:8px;opacity:0;transition:opacity .2s}.folder-item:hover .folder-actions{opacity:1}.folder-actions .anticon{color:#666;cursor:pointer}.folder-actions .anticon:hover{color:#1890ff}.folder-actions .anticon-delete:hover{color:#ff4d4f}.user-folder-select{padding:12px 24px;border-bottom:1px solid #f0f0f0;background:#fafafa;flex-shrink:0}.admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.admin-card{overflow:hidden}.admin-card .ant-card-cover{height:160px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#f5f5f5}.admin-card .ant-card-cover .ant-image{width:100%;height:100%;display:flex!important;align-items:center;justify-content:center}.admin-card .ant-card-cover .ant-image img{width:100%;height:160px;object-fit:cover;display:block}.admin-card .card-desc{font-size:13px;color:#666;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-card .ant-card-actions>li>span{font-size:16px}.admin-card .ant-card-actions>li:hover{color:#1890ff}.admin-card .ant-card-actions>li:last-child:hover{color:#ff4d4f}.pagination-wrapper{display:flex;justify-content:center;padding:20px 0;margin-top:16px}.excellent-cases-layout{height:100%}.cases-sider{background:#fff!important;border-right:1px solid #f0f0f0;display:flex;flex-direction:column}.sider-header{padding:8px 12px;background:#fafafa;border-radius:4px;margin:8px;display:flex;justify-content:space-between;align-items:center;font-weight:500}.sider-content{flex:1;overflow-y:auto;padding:0 8px 8px}.group-item{display:flex;justify-content:space-between;align-items:center;padding:6px 12px;border-radius:4px;cursor:pointer;transition:all .2s;margin-bottom:4px}.group-item:hover{background:#f5f5f5}.group-item.active{background:#e6f7ff;color:#1890ff}.group-info{display:flex;align-items:center;gap:8px;flex:1;overflow:hidden}.group-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-count{color:#999;font-size:12px}.group-actions{display:none}.group-item:hover .group-actions{display:flex}.cases-content{padding:16px;overflow-y:auto}.content-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.content-header h3{margin:0}.loading-wrapper{display:flex;justify-content:center;align-items:center;height:200px}.items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(288px,1fr));gap:16px;margin-bottom:16px}.item-card-wrapper{display:flex;flex-direction:column}.item-card{cursor:pointer;position:relative;overflow:hidden}.item-card .ant-card-body{display:none}.card-cover-wrapper{position:relative;padding-top:100%;overflow:hidden;background:#fff}.card-cover-wrapper img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain}.card-actions{position:absolute;top:8px;right:8px;display:flex;gap:4px;opacity:0;transition:opacity .2s;z-index:10}.card-cover-wrapper:hover .card-actions{opacity:1}.card-actions .ant-btn{background:#ffffffe6}.item-title{font-size:14px;color:#333;padding:8px 4px;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-content{max-height:70vh;overflow-y:auto}.detail-images{display:flex;flex-direction:column;gap:12px}.detail-image-item .ant-image img{width:100%;height:auto;border-radius:4px}.detail-keywords{margin-top:16px;padding:8px 12px;background:#f5f5f5;border-radius:4px}.current-images{display:flex;flex-wrap:wrap;gap:8px}.current-image-item{position:relative}.current-image-item button{position:absolute;top:-8px;right:-8px}.private-badge{position:absolute;top:8px;left:8px;background:#faad14e6;color:#fff;padding:2px 8px;border-radius:4px;font-size:12px;display:flex;align-items:center;gap:4px;z-index:5}.video-cover-placeholder{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#f5f5f5}.video-badge{position:absolute;bottom:8px;left:8px;background:#000000b3;color:#fff;padding:2px 8px;border-radius:4px;font-size:12px;display:flex;align-items:center;gap:4px;z-index:5}.current-video-item{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px}.current-video-item button{position:absolute;top:-8px;right:-8px}.current-video-item .video-name{font-size:11px;color:#999;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-videos{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}.detail-video-item video{max-height:500px;background:#000}.case-video-item{width:100%;display:flex;justify-content:center;margin-bottom:16px}.case-video-item video{max-height:500px;background:#000}.case-detail-page{height:100%;padding:24px;overflow-y:auto;background:#f5f5f5}.case-detail-page.loading{display:flex;justify-content:center;align-items:center}.detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding:16px;background:#fff;border-radius:8px}.header-info{display:flex;gap:16px}.detail-content{background:#fff;border-radius:8px;padding:24px;max-width:800px;margin:0 auto}.detail-images{display:flex;flex-direction:column;gap:16px}.detail-image-item,.detail-image-item .ant-image{width:100%}.detail-image-item .ant-image img{width:100%;height:auto;border-radius:8px}.lazy-image-wrapper .ant-image img{width:100%;height:auto;border-radius:8px}.image-placeholder{width:100%;min-height:200px;background:#f0f0f0;border-radius:8px;display:flex;justify-content:center;align-items:center}.detail-keywords{margin-top:24px;padding:16px;background:#fafafa;border-radius:8px}.keywords-text{white-space:pre-wrap;word-break:break-all;color:#666;font-size:14px;line-height:1.8;margin-top:8px}.detail-videos{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.detail-video-item{width:100%;display:flex;justify-content:center}.detail-video-item video{max-height:500px;border-radius:8px;background:#000}.settings-page{padding:16px;height:100%}.settings-page .ant-tabs{height:100%;overflow:hidden}.settings-page .ant-tabs-left>.ant-tabs-nav{min-width:140px;position:sticky;top:0;align-self:flex-start;max-height:100vh;overflow-y:auto}.settings-page .ant-tabs-left>.ant-tabs-content-holder{padding-left:24px;overflow-y:auto;height:100%}.visibility-tree .ant-tree-treenode{width:100%;padding:4px 0}.visibility-tree .ant-tree-node-content-wrapper{flex:1;width:100%}.visibility-tree-node{display:inline-flex;align-items:center;gap:12px}.visibility-tree-node .node-title{white-space:nowrap}.config-section{padding:8px 0}.config-section .ant-form-item{margin-bottom:16px}.config-section .ant-form-item:last-child{margin-bottom:0}.agent-list-page{padding:24px;min-height:100%}.agent-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.agent-list-header h2{margin:0;font-size:20px}.agent-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}@media(max-width:1600px){.agent-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:1200px){.agent-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.agent-grid{grid-template-columns:1fr}}.empty-container{grid-column:1 / -1;padding:60px 0;text-align:center}.agent-card{border-radius:8px}.agent-card .ant-card-body{padding:16px}.agent-avatar{width:48px;height:48px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px;color:#fff}.agent-info{margin-top:4px}.agent-desc{color:#666;font-size:13px;margin-bottom:8px;line-height:1.5;word-break:break-word;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.agent-status{font-size:12px;color:#52c41a;background:#f6ffed;padding:2px 8px;border-radius:4px;display:inline-block;border:1px solid #b7eb8f}.agent-model{font-size:12px;color:#999;background:#f5f5f5;padding:2px 8px;border-radius:4px;display:inline-block}.agent-card .ant-card-actions{background:#fafafa}.agent-card .ant-card-actions>li{margin:8px 0}.agent-card .ant-card-actions>li>span{font-size:16px;color:#666;transition:color .3s}.agent-card .ant-card-actions>li>span:hover{color:#1890ff}.agent-preview-page{width:100%;height:100%;overflow:hidden;position:absolute;top:0;left:0;right:0;bottom:0}.agent-preview-iframe{width:100%;height:100%;border:none}.agent-preview-loading,.agent-preview-error{display:flex;align-items:center;justify-content:center;height:400px}.image-gen-page{padding:16px;height:100%;display:flex;flex-direction:column;gap:16px}.status-bar{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#fff;border-radius:8px;box-shadow:0 1px 2px #0000000d}.main-section{background:#fff;border-radius:8px;padding:16px;box-shadow:0 1px 2px #0000000d;flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.main-section>.ant-tabs{margin-bottom:16px}.gen-form-card{border:none;box-shadow:none}.gen-form-card .ant-card-body{display:flex;flex-direction:column;gap:16px;padding:0}.batch-panel-card{border:none;box-shadow:none}.batch-panel-card .ant-card-body{padding:0}.history-panel-card{border:none;box-shadow:none;flex:1;display:flex;flex-direction:column;overflow:hidden}.history-panel-card .ant-card-body{padding:0;flex:1;display:flex;flex-direction:column;overflow:hidden}.history-toolbar{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #f0f0f0}.tasks-card{flex:1;display:flex;flex-direction:column}.tasks-card .ant-card-body{flex:1;overflow:auto;display:flex;flex-direction:column}.preset-manage-modal{display:flex;align-items:center;justify-content:center}.preset-manage-modal .ant-modal{top:0;padding-bottom:0}.preset-manage-modal .ant-modal-content{height:calc(100vh - 48px);max-height:880px;display:flex;flex-direction:column}.preset-manage-modal .ant-modal-body{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.preset-manage-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.preset-manage-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:16px;flex:1;min-height:0}.preset-manage-sidebar{border:1px solid #f0f0f0;border-radius:12px;background:#fafafa;padding:10px;overflow-y:auto}.preset-manage-list-item{padding:10px 12px;border-radius:10px;border:1px solid transparent;background:#fff;cursor:pointer;transition:all .2s ease;margin-bottom:6px}.preset-manage-list-item:hover{border-color:#91caff;background:#f0f7ff}.preset-manage-list-item.selected{border-color:#1677ff;background:#e6f4ff;box-shadow:0 0 0 1px #1677ff14}.preset-manage-list-item-title{display:flex;align-items:center;gap:8px;margin-bottom:6px}.preset-manage-list-item-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.preset-manage-list-item-tags .ant-tag{margin-inline-end:0}.preset-manage-detail{border:1px solid #f0f0f0;border-radius:12px;background:#fff;padding:18px;overflow-y:auto}.preset-manage-detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px}.preset-manage-detail-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}.preset-manage-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.preset-manage-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.tasks-list{display:flex;flex-direction:column;gap:12px;flex:1;overflow:auto}.task-item{display:flex;gap:12px;padding:12px;background:#fafafa;border-radius:8px;border:1px solid #f0f0f0;align-items:flex-start}.task-checkbox{margin-top:50px}.task-image{width:120px;height:120px;flex-shrink:0;border-radius:4px;overflow:hidden;background:#f5f5f5}.task-image .ant-image{width:100%;height:100%}.task-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.task-placeholder.processing{background:linear-gradient(135deg,#e6f7ff,#bae7ff)}.task-placeholder.pending{background:#f5f5f5}.task-placeholder.failed{background:#fff2f0}.task-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.task-prompt{font-size:14px;line-height:1.5;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical}.task-meta{margin-top:4px}.task-time{font-size:12px;color:#999}.task-error{margin-top:4px;font-size:12px}.task-actions{display:flex;flex-direction:column;gap:4px;align-items:flex-end}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:16px;padding-top:16px;border-top:1px solid #f0f0f0}.canvas-select-list{max-height:400px;overflow:auto}.canvas-folder{margin-bottom:16px}.canvas-items{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.canvas-item{padding:8px 16px;border:1px solid #d9d9d9;border-radius:4px;cursor:pointer;transition:all .3s}.canvas-item:hover{border-color:#1890ff}.canvas-item.selected{border-color:#1890ff;background:#e6f7ff}.batch-estimate{padding:8px 12px;background:#f6ffed;border:1px solid #b7eb8f;border-radius:4px;margin-bottom:8px}.tasks-grid-simple{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;flex:1;overflow:auto}.task-card-simple{position:relative;aspect-ratio:1;background:#f5f5f5;border-radius:4px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:all .2s}.task-card-simple:hover{border-color:#1890ff}.task-card-simple.selected{border-color:#1890ff;box-shadow:0 0 0 2px #1890ff33}.task-card-simple img{width:100%;height:100%;object-fit:cover}.task-card-simple .task-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.task-card-selected-mark{position:absolute;top:4px;right:4px;width:20px;height:20px;background:#1890ff;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.tasks-gallery-grid{display:flex;flex-wrap:wrap;gap:18px;align-content:flex-start;justify-content:flex-start;flex:1;overflow-y:auto;padding:4px 4px 8px}.task-gallery-card{position:relative;flex:0 0 214px;width:214px;max-width:214px;aspect-ratio:9 / 16;background:#fff;border:1px solid #edf0f3;border-radius:16px;overflow:hidden;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.task-gallery-card:hover{border-color:#1677ff40;box-shadow:0 12px 28px #0f172a1f}.task-gallery-card.selected{border-color:#1677ff;box-shadow:0 0 0 2px #1677ff29,0 12px 28px #0f172a1f}.task-gallery-media{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#f7f8fa,#eef1f5);overflow:hidden}.task-gallery-image-wrap{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:0;box-sizing:border-box}.task-gallery-image-wrap img{width:100%;height:100%;object-fit:contain;object-position:center;display:block}.task-gallery-selector{position:absolute;top:12px;left:12px;z-index:5;padding:4px;border-radius:999px;background:#ffffffeb;box-shadow:0 4px 12px #0f172a29}.task-gallery-selector .ant-checkbox{top:0}.task-gallery-media .task-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center}.task-gallery-mask{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;visibility:hidden;pointer-events:none;z-index:2;background:linear-gradient(180deg,#0f172a0a,#0f172a9e);transition:opacity .2s ease,visibility .2s ease}.task-gallery-mask.visible{opacity:1;visibility:visible}.task-gallery-actions{position:absolute;left:10px;right:10px;bottom:10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;opacity:0;visibility:hidden;transform:translateY(8px);pointer-events:none;z-index:4;transition:opacity .2s ease,visibility .2s ease,transform .2s ease}.task-gallery-actions.visible{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}.task-gallery-actions .ant-btn,.task-gallery-actions .ant-popover-open{position:relative;z-index:4}.task-gallery-actions .ant-btn{border:none;box-shadow:none;background:#fffffff5;color:#111827;width:100%;padding-inline:8px}.task-gallery-actions .ant-btn:hover,.task-gallery-actions .ant-btn:focus{background:#fff!important;color:#111827!important}.task-gallery-actions .ant-btn-primary{background:#1677ff;color:#fff}.task-gallery-actions .ant-btn-primary:hover,.task-gallery-actions .ant-btn-primary:focus{background:#4096ff!important;color:#fff!important}.task-gallery-actions .ant-btn-dangerous{background:#ff4d4ff5;color:#fff}.task-gallery-actions .ant-btn-dangerous:hover,.task-gallery-actions .ant-btn-dangerous:focus{background:#ff7875!important;color:#fff!important}.tasks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;flex:1;overflow:auto}.task-card{position:relative;background:#fff;border:1px solid #f0f0f0;border-radius:8px;overflow:hidden;transition:box-shadow .3s}.task-card:hover{box-shadow:0 2px 8px #0000001a}.task-card-checkbox{position:absolute;top:8px;left:8px;z-index:1}.task-card-image{width:100%;height:150px;background:#f5f5f5}.task-card-image .ant-image{width:100%;height:100%}.task-card-image .ant-image img{width:100%;height:150px;object-fit:cover}.task-card-info{padding:12px}.task-card-info .task-prompt{font-size:13px;line-height:1.4;height:36px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:8px}.task-card-info .task-meta{display:flex;align-items:center;gap:8px}.task-card-actions{display:flex;justify-content:flex-end;padding:0 8px 8px;gap:4px}.batch-tasks-list{max-height:65vh;overflow-y:auto}.batch-task-item{border:1px solid #f0f0f0;border-radius:8px;padding:12px;margin-bottom:12px;background:#fafafa}.batch-task-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.batch-task-content{display:flex;flex-direction:column}.batch-task-row{display:flex;gap:12px;align-items:flex-end}.batch-task-field{display:flex;flex-direction:column;gap:4px;flex:1}.batch-reference-section{padding:12px;background:#fafafa;border-radius:8px;border:1px solid #f0f0f0}.batch-task-refs{margin-bottom:8px}.reference-images-mini{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.ref-image-mini{position:relative;width:50px;height:50px;border-radius:4px;overflow:hidden;border:1px solid #d9d9d9}.ref-image-mini img{width:100%;height:100%;object-fit:cover}.ref-image-mini button{position:absolute;top:0;right:0;padding:0;width:16px;height:16px;min-width:16px;background:#ffffffe6;border-radius:0 0 0 4px}.ref-image-mini button .anticon{font-size:10px}.upload-btn-mini{width:50px;height:50px;border:1px dashed #d9d9d9;border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .3s;color:#999}.upload-btn-mini:hover{border-color:#1890ff;color:#1890ff}.batch-task-item.collapsed{background:#fff}.batch-task-item.collapsed .batch-task-header{margin-bottom:0}.batch-input-section{padding:16px;background:#fafafa;border-radius:8px;margin-bottom:16px}.batch-input-row{display:flex;align-items:flex-end;flex-wrap:wrap}.batch-input-field{display:flex;flex-direction:column;gap:4px}.multi-batch-groups{display:flex;flex-direction:column;gap:12px;max-height:200px;overflow-y:auto}.multi-batch-group{padding:8px;background:#fff;border:1px solid #f0f0f0;border-radius:6px}.multi-batch-group-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.pending-tasks-section{margin-top:16px;padding-top:16px;border-top:1px solid #f0f0f0}.pending-tasks-list{max-height:250px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.pending-task-item{display:flex;align-items:center;gap:12px;padding:8px 12px;background:#fafafa;border-radius:6px;border:1px solid #f0f0f0}.pending-task-images{display:flex;gap:4px;flex-shrink:0}.pending-task-images img{width:36px;height:36px;object-fit:cover;border-radius:4px}.pending-task-images .no-image{width:36px;height:36px;background:#f0f0f0;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:10px;color:#999}.pending-task-images .more-images{width:36px;height:36px;background:#e6f7ff;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:11px;color:#1890ff}.pending-task-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.single-batch-prompts-list{display:flex;flex-direction:column;gap:8px;max-height:200px;overflow-y:auto}.single-batch-prompt-item{display:flex;align-items:center;gap:8px}.multi-multi-batch-groups{display:flex;flex-direction:column;gap:12px;max-height:300px;overflow-y:auto}.multi-multi-batch-group{padding:12px;background:#fff;border:1px solid #f0f0f0;border-radius:6px}.multi-multi-batch-group-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.multi-multi-batch-group-content{display:flex;flex-direction:column}.single-gen-layout .gen-form-card{flex:0 0 400px;max-width:400px;overflow-y:auto}.history-panel-card-inline .ant-spin-nested-loading,.history-panel-card-inline .ant-spin-container{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.history-panel-card-inline .tasks-grid-simple,.history-panel-card-inline .tasks-gallery-grid{flex:1;overflow-y:auto}.history-panel-card-inline .ant-table-wrapper{flex:1;overflow:hidden;min-height:0;display:flex;flex-direction:column}.history-panel-card-inline .ant-table{flex:1;overflow:hidden}.history-panel-card-inline .ant-table-container{height:100%;display:flex;flex-direction:column}.history-panel-card-inline .ant-table-body{overflow-y:auto!important;flex:1}@media(max-width:1400px){.single-gen-layout .gen-form-card{flex-basis:400px;max-width:400px}.task-gallery-card{flex-basis:200px;width:200px;max-width:200px}}@media(max-width:900px){.task-gallery-card{flex-basis:174px;width:174px;max-width:174px}}@media(max-width:1200px){.preset-manage-layout{grid-template-columns:1fr;min-height:auto}.preset-manage-sidebar{max-height:260px}.preset-manage-form-grid{grid-template-columns:1fr}}.poster-preview-stage .ant-image-img,.poster-preview-stage .poster-workspace-preview-image img{width:100%;height:auto;max-height:100%;aspect-ratio:9 / 16;object-fit:contain!important;display:block;background:#fafafa}.poster-page-shell{width:100%}.poster-page-layout{display:grid;grid-template-columns:180px minmax(0,1fr);gap:20px;max-width:1920px;margin:0 auto;padding:16px;box-sizing:border-box;align-items:start}.poster-main-panel{min-width:0}.poster-gen-container{max-width:1400px;margin:0 auto;padding:0 0 16px;box-sizing:border-box}.poster-gen-container-create{max-width:none;width:100%}.poster-gen-content-create{width:100%}.poster-tab-bar{display:flex;flex-direction:column;gap:10px;padding:12px;box-sizing:border-box;align-items:stretch;border:1px solid #f0f0f0;border-radius:16px;background:#fff;box-shadow:0 4px 18px #0f172a0a;position:sticky;top:16px}.poster-tab-button{display:flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border:1px solid transparent;border-radius:12px;background:transparent;color:#666;cursor:pointer;transition:all .2s ease;font-size:14px;justify-content:flex-start}.poster-tab-button:hover{color:#4096ff;background:#f7fbff}.poster-tab-button.active{color:#1677ff;border-color:#cfe3ff;background:#f3f8ff;font-weight:500}.poster-tab-icon{display:inline-flex;align-items:center}.poster-create-shell{width:100%;height:calc(100vh - 220px);min-height:calc(100vh - 220px);overflow-x:auto;overflow-y:hidden}.poster-create-layout{display:grid;grid-template-columns:420px 560px 500px;gap:20px;width:max-content;min-width:1520px;height:100%;min-height:100%;align-items:stretch;overflow:hidden}.poster-left-panel,.poster-preview-panel,.poster-detail-panel,.poster-empty-panel{min-width:0;height:100%;overflow-y:auto;padding-right:4px}.poster-detail-panel{display:flex;flex-direction:column;overflow:hidden}.poster-detail-scroll{flex:1;min-height:0;overflow-y:auto;padding-right:4px}.poster-empty-panel{grid-column:span 2}.poster-gallery-card,.poster-workspace-card{border-radius:14px;box-shadow:0 4px 18px #0f172a0a}.poster-gallery-card .ant-card-body,.poster-workspace-card .ant-card-body{padding:18px}.poster-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.poster-panel-title{font-size:15px;font-weight:600;color:#1f1f1f}.poster-presets-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.poster-preset-card{cursor:pointer;border-radius:14px;overflow:hidden;transition:all .25s;border:1px solid #f0f0f0;background:#fff}.poster-preset-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #00000014;border-color:#cfe3ff}.poster-preset-card.selected{border-color:#1890ff;box-shadow:0 0 0 3px #1890ff1f}.poster-preset-card .cover-image{width:100%;aspect-ratio:9 / 16;object-fit:cover;display:block}.poster-preset-card .card-info{padding:10px 12px 12px}.poster-preset-card .card-info .name{font-weight:600;font-size:15px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.poster-preset-card .card-info .desc{font-size:13px;color:#999;margin:6px 0 0;line-height:1.5;display:-webkit-box;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.poster-workspace,.poster-workspace-stack{display:flex;flex-direction:column;gap:16px}.poster-preview-card{height:100%}.poster-preview-card .ant-card-body{height:100%;display:flex;flex-direction:column}.poster-preview-stage{flex:1;display:flex;align-items:center;justify-content:center}.poster-preview-stage .ant-image{width:100%;display:flex;justify-content:center}.poster-preview-stage .ant-image-img,.poster-preview-stage .poster-workspace-preview-image img,.poster-preview-stage .poster-workspace-preview-image{width:100%;height:auto;max-height:100%;aspect-ratio:9 / 16;object-fit:contain!important;display:block;background:#fafafa}.poster-empty-workspace-span{min-height:100%}.poster-empty-workspace{min-height:520px;display:flex;align-items:center;justify-content:center}.poster-workspace-header{display:grid;grid-template-columns:180px minmax(0,1fr);gap:18px;align-items:start}.poster-workspace-preview-image{width:100%;display:block}.poster-workspace-preview .ant-image{width:100%;display:block;border-radius:12px;overflow:hidden;background:#fafafa;border:1px solid #f0f0f0;box-shadow:0 10px 24px #00000014}.poster-workspace-preview .ant-image-img,.poster-workspace-preview-image img{width:100%;aspect-ratio:3 / 4;object-fit:contain!important;display:block}.poster-workspace-summary{min-width:0}.poster-workspace-summary-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}.poster-workspace-title{font-size:22px;font-weight:600;color:#1f1f1f;margin-bottom:6px}.poster-workspace-desc{color:#666;line-height:1.7;font-size:14px}.poster-config-grid{display:flex;flex-wrap:wrap;gap:10px 12px}.poster-config-grid .config-item{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:#f7f9fc}.poster-config-grid .config-item .config-label{font-size:12px;color:#666;white-space:nowrap;min-width:auto}.poster-config-grid .config-item .config-value{display:inline-flex;align-items:center;min-height:auto;padding:0;border-radius:999px;background:transparent;color:#1f1f1f;font-size:12px;font-weight:500}.poster-workspace-body{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:16px}.poster-param-row{display:flex;align-items:center;gap:8px;margin-bottom:12px}.poster-param-row .param-label{min-width:92px;max-width:180px;font-size:13px;font-weight:500;white-space:normal;overflow:visible;text-overflow:initial;line-height:1.6;word-break:break-word;align-self:center}.poster-param-row .param-required{color:#ff4d4f;margin-right:4px}.poster-param-row .param-arrow{color:#1890ff;font-weight:700;white-space:nowrap;font-size:12px;align-self:center}.poster-param-tip{margin-top:14px;color:#1677ff;font-size:13px;font-weight:600;line-height:1.7;font-family:Microsoft YaHei,SimHei,sans-serif}.poster-upload-stage{position:relative;width:100%;aspect-ratio:1 / 1;min-height:0;padding:16px;border:1px dashed #d9d9d9;border-radius:12px;overflow:hidden;background:linear-gradient(180deg,#fcfcfd,#f7f9fc);transition:border-color .2s ease,box-shadow .2s ease;cursor:pointer}.poster-upload-stage:hover,.poster-upload-stage:focus{border-color:#4096ff;box-shadow:0 0 0 3px #1890ff14;outline:none}.poster-upload-stage-slot{background:linear-gradient(180deg,#f9fbff,#f3f7ff)}.poster-upload-stage-filled{border-style:solid;border-color:#b7d4ff}.poster-upload-stage-preview{position:absolute;top:12px;right:12px;bottom:12px;left:12px;border-radius:12px;overflow:hidden;opacity:.42;transition:opacity .2s ease;pointer-events:none}.poster-upload-stage-preview.filled{opacity:1}.poster-upload-stage-preview img{width:100%;height:100%;object-fit:cover;display:block}.poster-upload-stage-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;padding:12px;opacity:.42;pointer-events:none}.poster-upload-stage-overlay img{width:100%;height:100%;min-height:110px;object-fit:cover;border-radius:10px}.poster-upload-stage-content{position:relative;z-index:1;display:flex;flex-direction:column;gap:12px;width:100%;height:100%;min-height:0}.poster-upload-stage-content-slot{justify-content:flex-end}.poster-upload-stage-content-single{display:block}.poster-upload-stage-center-icon{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#1677ffb8;font-size:28px;pointer-events:none}.poster-upload-stage-content-slot .poster-upload-tip-floating{position:absolute;right:12px;bottom:12px;margin:0;padding:8px 10px;border-radius:10px;background:#ffffffdb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.poster-example-strip{display:flex;gap:10px;margin-bottom:12px;overflow-x:auto;padding-bottom:4px}.poster-example-thumb{position:relative;width:72px;min-width:72px;height:72px;padding:0;border:1px solid #d9e3f0;border-radius:12px;overflow:hidden;background:#fff;cursor:pointer;transition:all .2s ease}.poster-example-thumb:hover{transform:translateY(-1px);border-color:#91caff;box-shadow:0 8px 18px #0f172a14}.poster-example-thumb.active{border-color:#1677ff;box-shadow:0 0 0 3px #1677ff24}.poster-example-thumb img{width:100%;height:100%;object-fit:cover;display:block}.poster-example-thumb-index{position:absolute;left:6px;bottom:6px;padding:1px 6px;border-radius:999px;background:#00000094;color:#fff;font-size:11px;line-height:18px}.poster-example-thumb-badge{position:absolute;top:6px;right:6px;padding:1px 6px;border-radius:999px;background:#1677ffeb;color:#fff;font-size:11px;line-height:18px}.poster-upload-selected-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;position:relative;z-index:1}.poster-upload-selected-list-single{position:absolute;top:12px;right:12px;bottom:12px;left:12px;display:block}.poster-upload-selected-item{position:relative;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 8px 20px #0f172a1a}.poster-upload-selected-item-single{width:100%;height:100%}.poster-upload-selected-item img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.poster-upload-selected-item-single img{height:100%;aspect-ratio:auto}.poster-upload-remove{position:absolute;top:6px;right:6px;width:24px;height:24px;border:none;border-radius:50%;background:#000000a6;color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.poster-upload-actions{position:absolute;top:6px;right:6px;display:flex;gap:8px;z-index:2}.poster-upload-action-btn{position:absolute;top:6px;right:36px;width:24px;height:24px;border:none;border-radius:50%;background:#000000a6;color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;z-index:2}.poster-upload-actions .poster-upload-action-btn,.poster-upload-actions .poster-upload-remove{position:static}.cover-reference-cropper{display:flex;flex-direction:column;gap:20px}.cover-reference-cropper-stage{display:flex;justify-content:center}.cover-reference-cropper-viewport{position:relative;width:360px;height:360px;overflow:hidden;border-radius:20px;background:#f5f7fb;cursor:grab;-webkit-user-select:none;user-select:none}.cover-reference-cropper-viewport:active{cursor:grabbing}.cover-reference-cropper-viewport img{position:absolute;top:50%;left:50%;transform-origin:center;max-width:none;max-height:none}.cover-reference-cropper-mask{position:absolute;top:0;right:0;bottom:0;left:0;border:2px solid rgba(255,255,255,.95);box-shadow:inset 0 0 0 999px #0f172a2e;border-radius:20px;pointer-events:none}.cover-reference-cropper-toolbar{display:flex;flex-direction:column;gap:12px}.cover-reference-cropper-slider{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-items:center}.poster-upload-action{min-height:140px;border-radius:12px;border:1px dashed #bfd4f5;background:#ffffffdb;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#1677ff;font-weight:500}.poster-upload-tip{margin-top:6px;font-size:12px;color:#8c8c8c}.poster-upload-tip-floating{margin-top:auto;margin-left:auto;text-align:right;color:#4b5563;line-height:1.7;position:relative;z-index:1}.poster-upload-stage-content-single .poster-upload-tip-floating{position:absolute;right:12px;bottom:12px;margin:0}.poster-ref-images{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.poster-ref-images-large{gap:10px}.poster-ref-images img{width:64px;height:64px;object-fit:cover;border-radius:4px;border:1px solid #e8e8e8}.poster-submit-bar{display:flex;justify-content:flex-end;margin-top:auto;padding-top:16px}.poster-submit-bar .ant-btn{min-width:220px;height:48px;border-radius:12px;box-shadow:0 12px 28px #1677ff38}.poster-submit-bar-standalone{flex:none;padding:16px 4px 4px 0;background:transparent}.poster-tasks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.poster-task-card{border-radius:14px;overflow:hidden;position:relative;border:1px solid #eef1f5;box-shadow:0 8px 24px #0f172a0f}.poster-history-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.poster-task-media{width:100%;aspect-ratio:9 / 16;background:linear-gradient(180deg,#f8fafc,#eef2f7);overflow:hidden;display:flex;align-items:center;justify-content:center}.poster-task-image{width:100%;height:100%;object-fit:cover;display:block}.poster-task-placeholder{width:100%;height:100%;padding:20px 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;color:#64748b}.poster-task-placeholder-icon{font-size:36px;color:#94a3b8}.poster-task-placeholder-icon.error{color:#ff4d4f}.poster-task-placeholder-title{font-size:16px;font-weight:600;color:#334155}.poster-task-placeholder-subtitle{font-size:13px;color:#64748b}.poster-task-body{padding:12px;display:flex;flex-direction:column;gap:12px;min-height:132px}.poster-task-meta{display:flex;flex-direction:column;gap:8px;flex:1}.poster-task-meta-top{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.poster-task-title{font-size:15px;font-weight:600;color:#1f2937;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.poster-task-time{font-size:12px!important}.poster-task-error{font-size:12px;color:#ff4d4f;line-height:1.5;display:-webkit-box;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-all}.poster-task-actions{display:flex;gap:8px;flex-wrap:wrap}.poster-task-actions .ant-btn{flex:1 1 0;min-width:88px}.poster-category-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid #f0f0f0}.poster-category-tag{display:inline-flex;align-items:center;padding:4px 14px;border-radius:20px;font-size:13px;cursor:pointer;transition:all .2s ease;background:#f5f5f5;color:#666;border:1px solid transparent;-webkit-user-select:none;user-select:none;white-space:nowrap}.poster-category-tag:hover{background:#e8f0fe;color:#1677ff}.poster-category-tag.active{background:#1677ff;color:#fff;border-color:#1677ff;font-weight:500}.admin-category-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:8px;background:#f5f7fa;border:1px solid #e8e8e8;font-size:13px;transition:all .2s}.admin-category-chip:hover{border-color:#bfdbfe;background:#f0f7ff}.admin-category-chip-name{font-weight:500;color:#333}.admin-category-chip-count{font-size:11px;color:#999;background:#e8e8e8;border-radius:10px;padding:0 6px;min-width:18px;text-align:center;line-height:18px}.admin-preset-table .cover-thumb{width:48px;height:64px;object-fit:cover;border-radius:4px}.poster-admin-editor-card{margin-bottom:16px;border-radius:14px;box-shadow:0 8px 24px #0f172a0f}.poster-admin-editor-card .ant-card-body{padding:20px}.poster-admin-editor-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.poster-admin-editor-title{font-size:18px;font-weight:600;color:#1f1f1f;margin-bottom:4px}.poster-admin-config-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.poster-tag-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:12px 14px;border-radius:10px;background:#f8fbff;border:1px solid #e0ecff}.poster-tag-selection{color:#4b5563;font-size:13px;line-height:1.6}.poster-param-editor-list{display:flex;flex-direction:column;gap:8px}.poster-param-editor-row{display:grid;grid-template-columns:180px minmax(0,1fr) 40px;gap:8px;align-items:center}.poster-param-editor-key .ant-input{background:#fafafa}.poster-paste-upload{padding:8px;border:1px dashed #d9d9d9;border-radius:12px;background:#fcfcfd}.poster-paste-upload:focus-within,.poster-paste-upload:focus{border-color:#4096ff;outline:none;box-shadow:0 0 0 3px #1890ff14}.poster-admin-ref-note{margin-top:8px;font-size:12px;color:#8c8c8c}.poster-admin-preset-summary{font-size:12px;color:#4b5563;line-height:1.6}.cover-preview-stack{min-height:100%}.cover-preview-card{flex:0 0 auto;height:auto}.cover-draft-card{flex:1}.cover-draft-card .ant-card-body{display:flex;flex-direction:column}.cover-draft-head{align-items:flex-start}.cover-draft-subtitle{margin-top:4px;color:#8c8c8c;font-size:12px;line-height:1.6}.cover-draft-textarea{min-height:220px}.cover-draft-textarea.ant-input{line-height:1.7;resize:vertical}.cover-page-shell .poster-preview-stage .ant-image-img,.cover-page-shell .poster-preview-stage .poster-workspace-preview-image img,.cover-page-shell .poster-workspace-preview-image{aspect-ratio:1 / 1}@media(max-width:1100px){.poster-create-layout,.poster-workspace-body,.poster-admin-config-grid,.poster-workspace-header{grid-template-columns:1fr}}@media(max-width:768px){.poster-example-thumb{width:64px;min-width:64px;height:64px}.poster-upload-selected-list,.poster-upload-stage-overlay{grid-template-columns:repeat(2,minmax(0,1fr))}.poster-admin-editor-head,.poster-tag-toolbar,.poster-param-editor-row{display:flex;flex-direction:column;align-items:stretch}}.cover-page-shell .poster-presets-grid,.cover-presets-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cover-page-shell .poster-create-layout{grid-template-columns:460px 540px 480px;min-width:1520px}.cover-page-shell .poster-preset-card .cover-image,.cover-page-shell .cover-cover-image{aspect-ratio:1 / 1}.cover-page-shell .cover-logo-card-image{background:#eef1f4;object-fit:contain}.cover-page-shell .poster-preview-stage{aspect-ratio:1 / 1;align-items:flex-start;justify-content:center}.cover-page-shell .poster-preview-stage .ant-image{align-items:flex-start}.cover-page-shell .poster-preview-stage .ant-image-img,.cover-page-shell .poster-preview-stage .poster-workspace-preview-image img,.cover-page-shell .poster-workspace-preview-image,.cover-page-shell .poster-task-media,.cover-page-shell .cover-task-media{aspect-ratio:1 / 1}.cover-page-shell .cover-thumb{width:60px;aspect-ratio:1 / 1;object-fit:cover;border-radius:8px}.cover-page-shell .cover-logo-thumb{background:#eef1f4;object-fit:contain}.cover-logo-preview-image{width:120px;height:120px;object-fit:contain;border-radius:4px;background:#eef1f4;border:1px solid #f0f0f0}@media(max-width:1100px){.cover-page-shell .poster-create-layout{grid-template-columns:1fr;min-width:0;width:100%}}.detail-layout-page{display:flex;flex-direction:column;gap:16px;height:100%;padding:16px;box-sizing:border-box;background:#f5f7fb}.detail-layout-loading{align-items:center;justify-content:center}.detail-layout-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.detail-layout-grid{display:grid;grid-template-columns:260px 260px minmax(520px,760px) 320px;gap:16px;min-height:0;flex:1;align-items:start;justify-content:center}.detail-layout-column,.detail-layout-admin-config,.detail-layout-admin-card{min-height:0}.detail-layout-column .ant-card-body{height:calc(100% - 57px)}.detail-layout-scroll{height:100%;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.detail-layout-library-card,.detail-layout-template-card,.detail-layout-admin-card{border-radius:14px}.detail-layout-library-card{position:relative}.detail-layout-library-head,.detail-layout-template-title-row,.detail-layout-preview-card-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.detail-layout-library-preview{margin:12px 0}.detail-layout-library-add-btn{position:absolute;right:14px;bottom:14px;box-shadow:0 8px 18px #1677ff47}.detail-layout-library-preview-shell{width:100%;border:1px solid #f0f0f0;border-radius:12px;overflow:hidden;background:#fff}.detail-layout-library-image,.detail-layout-admin-list-image,.detail-layout-admin-preview-image{width:100%;display:block;border-radius:12px;object-fit:cover}.detail-layout-library-placeholder,.detail-layout-admin-preview-empty{min-height:160px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:linear-gradient(135deg,#fafafa,#f0f5ff);color:#8c8c8c;border:1px dashed #d9d9d9}.detail-layout-note-column{gap:16px}.detail-layout-note-tips{display:flex;flex-direction:column;gap:8px}.detail-layout-side-title{font-size:13px;font-weight:700;color:#1f1f1f}.detail-layout-preview-column .ant-card-body{padding-top:12px}.detail-layout-preview-scroll{gap:8px}.detail-layout-preview-card{background:#fff;border:1px solid #e8e8e8;border-radius:16px;padding:12px;box-shadow:0 8px 24px #0f172a0a}.detail-layout-drop-gap{min-height:44px;border:1px dashed rgba(22,119,255,.45);border-radius:12px;color:#1677ff;display:flex;align-items:center;justify-content:center;background:#1677ff14;font-size:13px;font-weight:700}.detail-layout-image-stage{position:relative;border:1px dashed #d9d9d9;border-radius:16px;overflow:hidden;background:#fafafa;min-height:220px}.detail-layout-image-stage.drag-hover{border-color:#1677ff;box-shadow:0 0 0 3px #1677ff1f}.detail-layout-image-preview{width:100%;display:block}.detail-layout-image-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#ffffffd1}.detail-layout-image-actions{position:absolute;right:12px;bottom:12px}.detail-layout-text-stage{position:relative;width:100%;overflow:hidden;border-radius:16px;background:#fff}.detail-layout-text-stage-frameless{border-radius:0;background:transparent}.detail-layout-text-stage-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0;pointer-events:none}.detail-layout-text-box{position:absolute;display:flex;align-items:flex-start;justify-content:flex-start;padding:4px 6px;line-height:1.35;white-space:pre-wrap;word-break:break-word;border:1px dashed transparent;cursor:move;overflow:hidden;z-index:1}.detail-layout-text-box.frame-visible{border-color:#1677ff4d;background:#ffffff1f}.detail-layout-text-box.active{border-color:#1677ff8c;background:#1677ff14}.detail-layout-text-box-readonly{cursor:default}.detail-layout-text-content{width:100%;min-height:100%;position:relative;z-index:1}.detail-layout-text-drag-surface{cursor:move}.detail-layout-text-editor{width:100%;height:100%;resize:none;border:none;outline:none;background:#ffffffe0;font:inherit;color:inherit;line-height:inherit;padding:0}.detail-layout-template-block{display:flex;flex-direction:column;gap:12px}.detail-layout-template-list{display:flex;flex-direction:column;gap:10px}.detail-layout-admin-page{display:flex;flex-direction:column;gap:16px}.detail-layout-admin-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.detail-layout-admin-modal{display:grid;grid-template-columns:minmax(420px,1fr) minmax(320px,420px);gap:20px}.detail-layout-admin-form{display:flex;flex-direction:column;gap:14px}.detail-layout-field{display:flex;flex-direction:column;gap:8px}.detail-layout-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.detail-layout-field-inline{display:flex;align-items:center;justify-content:space-between}.detail-layout-admin-text-list{display:flex;flex-direction:column;gap:12px}.detail-layout-admin-text-card{border-radius:12px}.detail-layout-text-grid-top{grid-template-columns:1.4fr 1fr 110px 88px;margin-bottom:12px}.detail-layout-text-grid-bottom{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-layout-admin-bg-thumb{width:72px;height:72px;object-fit:cover;border-radius:10px;border:1px solid #f0f0f0}.detail-layout-admin-preview{display:flex;flex-direction:column;gap:12px}.detail-layout-share-page{max-width:920px;margin:0 auto;padding:24px;background:#fff}.detail-layout-share-stream{width:min(100%,720px);margin:0 auto;background:#fff}.detail-layout-share-module{width:100%;margin:0;padding:0}.detail-layout-share-image{width:100%;height:auto;display:block;object-fit:contain}.detail-layout-share-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}@media(max-width:1600px){.detail-layout-grid{grid-template-columns:240px 240px minmax(420px,680px) 300px}}@media(max-width:1280px){.detail-layout-grid{grid-template-columns:1fr}.detail-layout-column .ant-card-body,.detail-layout-scroll{height:auto;max-height:none}.detail-layout-admin-modal{grid-template-columns:1fr}}@media(max-width:768px){.detail-layout-share-page{padding:12px 0 0}.detail-layout-share-header{padding:0 12px 12px;margin-bottom:0}.detail-layout-share-stream{width:100%}.detail-layout-share-image,.detail-layout-share-module .detail-layout-text-stage{border-radius:0}}.video-gen-page{padding:16px;height:100%;display:flex;flex-direction:column;gap:16px}.status-bar{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#fff;border:1px solid #f0f0f0;border-radius:8px}.single-gen-layout{display:flex;gap:16px;flex:1;min-height:0;overflow:hidden}.single-gen-layout .gen-form-card{flex:0 0 420px;max-width:420px;overflow-y:auto}.single-gen-layout .gen-form-card .ant-card-body{display:flex;flex-direction:column;gap:16px;padding:16px}.single-gen-layout .history-panel-card-inline{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.history-panel-card-inline .ant-card-body{padding:16px;flex:1;display:flex;flex-direction:column;overflow:hidden}.history-panel-card-inline .ant-spin-nested-loading{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.history-panel-card-inline .ant-spin-container{flex:1;display:flex;flex-direction:column;overflow-y:auto;min-height:0}.history-panel-card-inline .video-card-grid{flex:0 0 auto}.history-panel-card-inline .pagination{flex-shrink:0;margin-top:16px;padding-top:16px;border-top:1px solid #f0f0f0;text-align:center}.form-section{display:flex;flex-direction:column;gap:8px}.form-row{display:flex;gap:16px}.form-section.half{flex:1}.reference-images{display:flex;flex-wrap:wrap;gap:8px}.ref-image-item{position:relative;width:80px;height:80px;border-radius:4px;overflow:hidden;border:1px solid #d9d9d9}.ref-image-item img{width:100%;height:100%;object-fit:cover}.ref-image-item button{position:absolute;top:2px;right:2px;background:#fffc;border-radius:50%}.ref-image-item .frame-label{position:absolute;bottom:0;left:0;right:0;background:#0009;color:#fff;font-size:10px;text-align:center;padding:2px}.upload-btn{width:80px;height:80px;border:1px dashed #d9d9d9;border-radius:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:border-color .3s;font-size:12px;color:#999}.upload-btn:hover{border-color:#1890ff;color:#1890ff}.history-toolbar{margin-bottom:16px;display:flex;justify-content:space-between;align-items:center}.pagination{margin-top:16px;text-align:center}.model-info-card{padding:12px;background:#f6ffed;border:1px solid #b7eb8f;border-radius:4px;margin-top:8px}.model-info-card .model-desc{font-size:12px;color:#52c41a;margin-bottom:4px}.model-info-card .model-limits{font-size:11px;color:#666}.deleted-card{opacity:.5;border-color:#ff4d4f!important}.video-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;padding:4px}.video-card-item{position:relative;background:#fff;border:1px solid #f0f0f0;border-radius:8px;overflow:hidden;transition:box-shadow .3s,transform .2s,border-color .3s}.video-card-item.selected-card{border-color:#1890ff;box-shadow:0 0 8px #1890ff4d}.video-card-checkbox{position:absolute;top:6px;left:6px;z-index:10;background:#fffffff2;border-radius:4px;padding:2px 4px;box-shadow:0 2px 8px #0000001a}.video-card-item:hover{border-color:#1890ff;box-shadow:0 2px 12px #0000001a;transform:translateY(-2px)}.video-card-preview{position:relative;width:100%;padding-top:177.78%;background:#f5f5f5;overflow:hidden}.video-card-preview .video-cover-container{position:absolute;top:0;left:0;width:100%;height:100%;cursor:pointer}.video-card-preview .video-cover-container img{width:100%;height:100%;object-fit:cover}.video-card-preview .video-no-cover{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#fafafa}.video-card-preview .video-play-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:#0000;transition:background .3s}.video-card-preview .video-cover-container:hover .video-play-overlay{background:#0006}.video-card-preview .play-button{width:44px;height:44px;border-radius:50%;background:#1890ffd9;display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;opacity:0;transform:scale(.8);transition:all .3s;box-shadow:0 2px 8px #1890ff66}.video-card-preview .video-cover-container:hover .play-button{opacity:1;transform:scale(1)}.video-card-preview .play-button:hover{background:#1890ff;transform:scale(1.1);box-shadow:0 4px 16px #1890ff80}.video-card-status{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.video-card-status.processing,.video-card-status.pending{background:#fafafa}.video-card-status.failed{background:#fff2f0}.video-card-badge{position:absolute;top:8px;right:8px}.video-card-info{padding:6px 8px;display:flex;flex-direction:column;gap:3px;height:96px;overflow:hidden}.video-card-user{display:flex;align-items:center;gap:4px}.video-card-prompt{cursor:pointer;min-height:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#333;line-height:1.3}.video-card-prompt:hover{color:#1890ff}.video-card-meta{display:flex;justify-content:space-between;align-items:center;line-height:1.2}.video-card-actions{display:flex;flex-wrap:wrap;gap:0;margin-top:2px;border-top:1px solid #f0f0f0;padding-top:3px}.video-card-actions .ant-btn-link{padding:0 3px;font-size:11px;height:20px}.product-market-page{padding:24px}.product-market-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.product-market-page .page-header h2{margin:0}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.product-card.ant-card{border-radius:6px!important;overflow:hidden}.product-card .ant-card-body{padding:10px 12px!important}.product-card .ant-card-actions{background:transparent!important;border-top:1px solid #f0f0f0!important}.product-card .ant-card-actions>li{margin:4px 0!important}.product-card .product-cover{position:relative;height:180px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#f5f5f5}.product-card .cover-image{max-width:100%;max-height:180px;object-fit:contain}.product-card .new-tag{position:absolute;top:6px;right:6px;background:#ff4d4f;color:#fff;padding:1px 6px;border-radius:3px;font-size:11px;z-index:1}.product-card .status-tag{position:absolute;top:6px;left:6px;z-index:1;margin:0;font-size:11px}.product-card .image-count{position:absolute;bottom:6px;right:6px;background:#0009;color:#fff;padding:1px 6px;border-radius:3px;font-size:11px}.product-info{padding:0}.product-info .supplier-info-block{margin-bottom:4px;padding-bottom:4px;border-bottom:1px dashed #f0f0f0}.product-info .info-row{margin-bottom:1px;font-size:12px;line-height:1.5;display:flex;align-items:center}.product-info .info-label{color:#999;margin-right:4px;flex-shrink:0}.product-info .info-value{color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-meta{display:flex;justify-content:space-between;color:#999;font-size:11px;margin-top:6px;padding-top:5px;border-top:1px solid #f0f0f0}.product-card-pending.ant-card{border:1px solid rgba(250,173,20,.3)!important}.product-card-rejected.ant-card{border:1px solid rgba(255,77,79,.3)!important}.reject-reason-block{background:#ff4d4f14;border:1px solid rgba(255,77,79,.2);border-radius:4px;padding:4px 8px;margin-bottom:6px;font-size:12px}.reject-reason-block .reject-label{color:#ff4d4f;font-weight:500}.reject-reason-block .reject-text{color:#666}.status-filter-tag{padding:2px 10px;border-radius:4px;font-size:13px;-webkit-user-select:none;user-select:none;transition:all .2s}.status-filter-tag:hover{opacity:.8}.status-filter-tag.active{font-weight:500}.product-protection-page{padding:24px}.protection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.protection-card.ant-card{border-radius:6px!important;overflow:hidden}.protection-card .ant-card-body{padding:10px 12px!important}.protection-card .ant-card-actions{background:transparent!important;border-top:1px solid #f0f0f0!important}.protection-card .ant-card-actions>li{margin:4px 0!important}.protection-card .protection-cover{position:relative;height:180px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#f5f5f5}.protection-card .cover-image{max-width:100%;max-height:180px;object-fit:contain}.protection-card .new-tag{position:absolute;top:6px;right:6px;background:#ff4d4f;color:#fff;padding:1px 6px;border-radius:3px;font-size:11px;z-index:1}.protection-card .image-count{position:absolute;bottom:6px;right:6px;background:#0009;color:#fff;padding:1px 6px;border-radius:3px;font-size:11px}.protection-info{padding:0}.protection-info .info-row{margin-bottom:2px;font-size:12px;line-height:1.5}.protection-info .info-label{color:#999;margin-right:4px}.protection-info .info-value{color:#333;word-break:break-all}.protection-meta{color:#999;font-size:11px;margin-top:6px;padding-top:5px;border-top:1px solid #f0f0f0}.protection-time{display:flex;flex-direction:column;gap:2px;color:#999;font-size:11px;margin-top:4px}.pagination-wrapper{display:flex;justify-content:center;margin-top:24px}.product-review-page{padding:24px}.review-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:8px;flex-wrap:wrap}.review-toolbar .filter-label{font-size:13px;color:#666;white-space:nowrap}.product-review-page .protection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.product-review-page .protection-card.ant-card{border-radius:6px!important;overflow:hidden}.product-review-page .protection-card .ant-card-body{padding:10px 12px!important}.product-review-page .protection-cover{position:relative;height:180px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#f5f5f5}.product-review-page .protection-cover .cover-image{max-width:100%;max-height:180px;object-fit:contain}.product-review-page .protection-cover .image-count{position:absolute;bottom:6px;right:6px;background:#0009;color:#fff;padding:1px 6px;border-radius:3px;font-size:11px}.product-review-page .protection-cover .status-tag{position:absolute;top:6px;right:6px;z-index:1}.product-review-page .protection-info{padding:0}.product-review-page .protection-info .info-row{margin-bottom:2px;font-size:12px;line-height:1.5}.product-review-page .protection-info .info-label{color:#999;margin-right:4px}.product-review-page .protection-info .info-value{color:#333;word-break:break-all}.product-review-page .protection-meta{color:#999;font-size:11px;margin-top:6px;padding-top:5px;border-top:1px solid #f0f0f0}.product-review-page .protection-time{display:flex;flex-direction:column;gap:2px;color:#999;font-size:11px;margin-top:4px}.product-review-page .reject-info-row{margin-top:4px;font-size:11px;color:#ff4d4f;padding:2px 6px;background:#ff4d4f14;border-radius:3px;border:1px solid rgba(255,77,79,.15)}.product-review-page .review-actions{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap;border-top:1px solid #f0f0f0;padding-top:8px}.config-section{margin-bottom:20px;padding:16px;background:#fafafa;border-radius:8px;border:1px solid #f0f0f0}.config-section h4{margin:0 0 8px;font-size:14px;color:#1890ff;font-weight:500}.config-section p{margin:0 0 12px;color:#999}.field-row{display:flex;gap:8px;margin-bottom:8px;align-items:center}.image-library-container{padding:24px}.image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.image-library-card{overflow:hidden}.image-library-card .ant-card-cover{aspect-ratio:1 / 1;overflow:hidden;background:#f5f5f5}.image-library-card .ant-image,.image-library-card-image{width:100%;height:100%}.image-library-card .ant-image-img,.image-library-card-image .ant-image-img{width:100%;height:100%;object-fit:cover}.search-results{margin-top:16px}.product-sample-container{padding:24px}.product-sample-container .ant-card{border-radius:8px}.product-sample-container .ant-card-cover img{border-radius:8px 8px 0 0}.product-sample-container .ant-image{display:block;width:100%}.product-sample-container .ant-tag{margin:0}.product-sample-container .ant-card-meta-description{font-size:12px;color:#666}.product-sample-container .ant-pagination{margin-top:24px}:global(.ant-image-preview-wrap .ant-image-preview-switch-left),:global(.ant-image-preview-wrap .ant-image-preview-switch-right){width:60px!important;height:60px!important;background:#000000b3!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;transition:all .3s!important;border:2px solid rgba(255,255,255,.3)!important;position:absolute!important;transform:translateY(-50%)!important;z-index:1080!important;margin:0!important;padding:0!important;inset:auto!important}:global(.ant-image-preview-wrap .ant-image-preview-switch-left):hover,:global(.ant-image-preview-wrap .ant-image-preview-switch-right):hover{background:#000000e6!important;border-color:#fff9!important;transform:translateY(-50%) scale(1.1)!important;top:50%!important}:global(.ant-image-preview-wrap .ant-image-preview-switch-left){left:20px!important;right:auto!important}:global(.ant-image-preview-wrap .ant-image-preview-switch-right){right:20px!important;left:auto!important}:global(.ant-image-preview-wrap .ant-image-preview-switch-left .anticon),:global(.ant-image-preview-wrap .ant-image-preview-switch-right .anticon){font-size:28px!important;color:#fff!important;margin:0!important}:global(.ant-image-preview-switch-left),:global(.ant-image-preview-switch-right){animation:none!important}.customer-info-page{padding:16px 24px}.detail-overview .overview-card{background:linear-gradient(135deg,#00f5ff0d,#0064c80d)}.overview-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.overview-header .customer-name{font-size:18px;font-weight:700}.overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.overview-item{display:flex;flex-direction:column;gap:4px}.overview-item .label{font-size:12px;color:#00000073}.overview-item .value{font-size:14px}.overview-item .value.money{font-size:16px;font-weight:700;color:#faad14}.contract-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.contract-images{margin-top:8px}.renewal-note{color:#999;font-size:12px;margin-top:4px;padding:4px 8px;background:#0000000a;border-radius:4px}.welcome-card{text-align:center;margin-bottom:16px}.welcome-card h2{margin-bottom:8px}.ant-tag-red{animation:blink-warning 2s ease-in-out infinite}@keyframes blink-warning{0%,to{opacity:1}50%{opacity:.7}}.customer-info-page .ant-table-cell .money-amount-up{color:#52c41a!important;font-weight:700}.customer-info-page .ant-table-cell .money-amount-down{color:#ff4d4f!important;font-weight:700}.customer-info-page .change-log-money-up{color:#52c41a!important;font-weight:700}.customer-info-page .change-log-money-down{color:#ff4d4f!important;font-weight:700}.customer-info-page .panel-contracts>.ant-collapse-header{background:#1677ff1f!important;border-left:3px solid rgba(22,119,255,.6)}.customer-info-page .panel-supplements>.ant-collapse-header{background:#722ed11f!important;border-left:3px solid rgba(114,46,209,.6)}.customer-info-page .panel-authorizations>.ant-collapse-header{background:#52c41a1f!important;border-left:3px solid rgba(82,196,26,.6)}.customer-info-page .panel-equity>.ant-collapse-header{background:#faad141f!important;border-left:3px solid rgba(250,173,20,.6)}.customer-info-page .panel-deposit>.ant-collapse-header{background:#fa8c161f!important;border-left:3px solid rgba(250,140,22,.6)}.customer-info-page .panel-logs>.ant-collapse-header{background:#00f5ff14!important;border-left:3px solid rgba(0,245,255,.5)}.customer-info-page .ant-tag-purple{background-color:#722ed1!important;border-color:#722ed1!important;color:#fff!important}.customer-info-page .ant-tag-geekblue{background-color:#2f54eb!important;border-color:#2f54eb!important;color:#fff!important}.customer-info-page .ant-tag-purple{background:#722ed126!important;border-color:#722ed180!important;color:#b37feb!important;font-weight:700!important}.statistics-page{padding:16px}.filter-card{margin-bottom:16px}.form-item{display:inline-flex;align-items:center}.form-item .label{margin-right:8px;color:#666;white-space:nowrap}.overview-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px;margin-top:16px}.stat-card{background:#fff;border-radius:8px;padding:20px;text-align:center;box-shadow:0 2px 8px #0000000f;border-top:3px solid #1890ff;transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.stat-value{font-size:32px;font-weight:700;line-height:1.2;margin-bottom:8px}.stat-name{font-size:14px;color:#666}.chart-container{height:350px;position:relative}.chart-container-small{height:280px;position:relative}@media(max-width:992px){.overview-cards{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.stat-value{font-size:26px}.chart-container{height:300px}.chart-container-small{height:250px}}@media(max-width:576px){.overview-cards{grid-template-columns:repeat(2,1fr)}.stat-card{padding:16px}.stat-value{font-size:22px}}.statistics-page .ant-table-thead>tr>th{background:#fafafa;font-weight:600}.statistics-page .ant-card-head-title .anticon{margin-right:8px}.statistics-page .ant-tabs-nav{margin-bottom:0}.statistics-page .ant-tabs-content{padding-top:16px}.workflow-manager{padding:0}.workflow-manager .ant-card{height:100%}.workflow-manager .ant-card-body{padding:16px}.react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;-webkit-animation:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:-webkit-grab;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:#ffffff80;padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@-webkit-keyframes dashdraw{0%{stroke-dashoffset:10}}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:#3367d9;border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.bookmark-node{border:2px dashed;border-radius:8px;min-width:150px;min-height:100px;position:relative;transition:box-shadow .2s}.bookmark-node.selected{box-shadow:0 0 0 2px #1890ff4d}.bookmark-node.collapsed{min-height:40px;height:40px!important}.bookmark-header{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;border-bottom:1px dashed;background:#00000005;border-radius:6px 6px 0 0;min-height:32px}.bookmark-node.collapsed .bookmark-header{border-bottom:none;border-radius:6px}.bookmark-title-area{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.bookmark-collapse-btn{cursor:pointer;color:#00000073;font-size:12px;padding:2px 4px;border-radius:4px;transition:all .2s;display:flex;align-items:center;justify-content:center}.bookmark-collapse-btn:hover{background:#1890ff1a;color:#1890ff}.bookmark-title{font-size:14px;font-weight:600;cursor:default;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-user-select:none;user-select:none}.bookmark-actions{opacity:0;transition:opacity .2s}.bookmark-node.selected .bookmark-actions{opacity:1}.bookmark-actions .ant-btn{color:#00000073}.bookmark-actions .ant-btn:hover{color:#1890ff;background:#1890ff1a}.bookmark-collapsed-info{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:12px;color:#00000059}.bookmark-resizer-line{border-color:#1890ff!important}.bookmark-resizer-handle{width:10px!important;height:10px!important;background:#1890ff!important;border:2px solid #fff!important;border-radius:2px!important}.react-flow__node-bookmark{z-index:-1!important}.bookmark-node{pointer-events:none}.bookmark-header,.bookmark-node.selected{pointer-events:auto}.workflow-loading{display:flex;justify-content:center;align-items:center;height:100%;min-height:400px}.workflow-editor{display:flex;flex-direction:column;height:100%;background:#f5f5f5}.workflow-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#fff;border-bottom:1px solid #e8e8e8}.workflow-name{font-size:16px;font-weight:500;margin-left:12px}.unsaved-badge{background:#ff4d4f;color:#fff;padding:2px 8px;border-radius:10px;font-size:12px;margin-left:8px}.workflow-content{display:flex;flex:1;overflow:hidden}.workflow-left-sidebar{width:320px;background:#fff;border-right:1px solid #e8e8e8;display:flex;flex-direction:column;overflow:hidden}.transformer-panel{width:auto;background:transparent;border-right:none;border-top:1px solid #f0f0f0;overflow-y:auto;padding:12px;flex:1;min-height:0}.transformer-panel h4{margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid #e8e8e8;color:#666;font-size:13px}.global-params-panel{padding:12px;overflow-y:auto;max-height:42%;flex-shrink:0}.global-params-panel.collapsed{overflow:hidden}.global-params-panel-header{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:12px}.global-params-panel.collapsed .global-params-panel-header{margin-bottom:0}.global-params-panel-header-main{display:flex;align-items:flex-start;gap:4px;min-width:0;cursor:pointer;width:100%}.global-params-panel-header-main>div:last-child{flex:1;min-width:0}.global-params-panel-actions{width:100%;flex-wrap:wrap}.global-params-panel-actions .ant-space-item{flex:1 1 calc(33.333% - 8px);min-width:0}.global-params-panel-actions .ant-btn{width:100%}.global-params-collapse-btn,.global-param-card-collapse-btn{color:#666}.global-params-panel-title{font-size:14px;font-weight:600;color:#333}.global-params-panel-subtitle{font-size:12px;color:#999;margin-top:2px;line-height:1.5;word-break:break-word}.global-params-empty{padding:8px 0 0}.global-params-list{display:flex;flex-direction:column;gap:10px;min-width:0}.global-param-card .ant-card-head{min-height:38px;padding:0 12px}.global-param-card .ant-card-head-wrapper{align-items:flex-start;gap:8px}.global-param-card .ant-card-head-title{padding:8px 0;font-size:12px;min-width:0}.global-param-card .ant-card-extra{margin-inline-start:0;padding:8px 0}.global-param-card-title{display:flex;align-items:center;gap:4px;min-width:0;cursor:pointer;flex-wrap:wrap}.global-param-card-title-name{color:#999;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.global-param-card .ant-card-body{padding:12px}.global-param-card.collapsed .ant-card-body{display:none}.global-param-inline-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.global-param-inline-row .ant-select{min-width:0}.global-param-required-label{font-size:12px;color:#666}.global-param-options{display:flex;flex-direction:column;gap:8px}.global-param-option-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:8px}.transformer-category{margin-bottom:16px}.transformer-category-title{font-size:12px;color:#999;margin-bottom:8px;text-transform:uppercase}.transformer-group{margin-bottom:4px}.transformer-group-title{display:flex;align-items:center;gap:6px;padding:6px 10px;font-size:12px;color:#666;cursor:pointer;border-radius:4px;-webkit-user-select:none;user-select:none;transition:background .2s}.transformer-group-title:hover{background:#0000000a}.transformer-group-arrow{font-size:10px;transition:transform .2s}.transformer-group-count{margin-left:auto;font-size:11px;color:#999;background:#f0f0f0;padding:0 6px;border-radius:10px;line-height:18px}.transformer-group-items{padding-left:4px}.transformer-item{display:flex;align-items:center;padding:10px 12px;margin-bottom:6px;background:#fafafa;border:1px solid #e8e8e8;border-radius:6px;cursor:pointer;transition:all .2s;position:relative}.transformer-item:hover{background:#e6f7ff;border-color:#1890ff}.transformer-item-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#1890ff;color:#fff;border-radius:6px;margin-right:10px;font-size:16px}.transformer-item-icon.input{background:#52c41a}.transformer-item-icon.output{background:#722ed1}.transformer-item-info{flex:1;min-width:0}.transformer-item-name{font-size:13px;font-weight:500;color:#333}.transformer-item-desc{font-size:11px;color:#999;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workflow-canvas{flex:1;position:relative}.workflow-canvas .react-flow{background:#f9f9f9}.property-panel{width:300px;background:#fff;border-left:1px solid #e8e8e8;overflow-y:auto}.property-panel-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#999;padding:20px;text-align:center}.property-panel-content{padding:16px}.property-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e8e8e8}.property-panel-title-view,.property-panel-title-edit{display:flex;align-items:center;gap:4px}.property-panel-title{font-size:15px;font-weight:500}.property-section{margin-bottom:20px}.property-section-title{font-size:13px;color:#666;margin-bottom:12px;font-weight:500}.property-item{margin-bottom:12px}.property-item label{display:block;font-size:12px;color:#666;margin-bottom:4px}.property-item-label-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.property-item-label-row label{margin-bottom:0}.property-param-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.property-binding-meta{display:flex;align-items:center;gap:6px;margin-bottom:6px}.property-binding-name{font-size:12px;color:#666}.property-binding-modal{display:flex;flex-direction:column;gap:12px}.property-binding-section-title{font-size:13px;font-weight:600;color:#333}.property-binding-empty{padding:8px 0}.property-binding-list{display:flex;flex-direction:column;gap:8px}.property-binding-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #f0f0f0;border-radius:8px;background:#fafafa}.property-binding-item-name{font-size:13px;font-weight:500;color:#333}.property-binding-item-desc{font-size:12px;color:#999}.property-binding-divider{height:1px;background:#f0f0f0}.global-param-text-editor{display:grid;grid-template-columns:260px 1fr;gap:16px;min-height:420px}.global-param-text-editor-sidebar,.global-param-text-editor-main{min-width:0}.global-param-text-editor-title{font-size:13px;font-weight:600;color:#333;margin-bottom:10px}.global-param-text-editor-empty{height:calc(100% - 32px);display:flex;align-items:center;justify-content:center;border:1px dashed #e8e8e8;border-radius:8px;background:#fafafa}.global-param-text-editor-list{display:flex;flex-direction:column;gap:8px;max-height:380px;overflow-y:auto}.global-param-text-editor-item{padding:10px 12px;border:1px solid #e8e8e8;border-radius:8px;background:#fafafa;cursor:pointer;transition:all .2s}.global-param-text-editor-item:hover{border-color:#1890ff;background:#e6f7ff}.global-param-text-editor-item-name{font-size:13px;font-weight:500;color:#333;margin-bottom:4px}.global-param-text-editor-item-token{font-size:12px;color:#999;word-break:break-all}.transformer-node{background:#fff;border:2px solid #e8e8e8;border-radius:8px;width:200px;min-height:120px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column}.transformer-node.selected{border-color:#1890ff;box-shadow:0 0 0 2px #1890ff33}.transformer-node.running{border-color:#faad14;animation:pulse 1.5s infinite}.transformer-node.completed{border-color:#52c41a}.transformer-node.failed{border-color:#ff4d4f}.transformer-node.dragging-over{border-color:#1890ff;border-style:dashed;background:#1890ff0d;box-shadow:0 0 0 3px #1890ff33}@keyframes pulse{0%,to{box-shadow:0 0 0 2px #faad1433}50%{box-shadow:0 0 0 4px #faad144d}}.transformer-node-header{display:flex;align-items:center;padding:10px 12px;background:#fafafa;border-bottom:1px solid #e8e8e8;border-radius:6px 6px 0 0;position:relative;flex-shrink:0}.transformer-node-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#1890ff;color:#fff;border-radius:6px;margin-right:8px;font-size:14px}.transformer-node-icon.input{background:#52c41a}.transformer-node-icon.output{background:#722ed1}.transformer-node-warning{position:absolute;top:-6px;right:-6px;width:20px;height:20px;background:#ff4d4f;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;border:2px solid #fff;cursor:help;animation:pulse 2s infinite;z-index:10}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 0 #ff4d4fb3}50%{transform:scale(1.05);box-shadow:0 0 0 4px #ff4d4f00}}.transformer-node-title{font-size:13px;font-weight:500;color:#333}.transformer-node-body{padding:10px 12px;overflow:visible;flex-shrink:0;min-height:40px}.transformer-node-param{font-size:11px;color:#666;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.transformer-node-status{display:flex;align-items:center;padding:8px 12px;background:#f5f5f5;border-top:1px solid #e8e8e8;font-size:11px;gap:6px;flex-shrink:0}.transformer-node-status.running{background:#fffbe6;color:#faad14}.transformer-node-status.completed{background:#f6ffed;color:#52c41a}.transformer-node-status.failed{background:#fff2f0;color:#ff4d4f}.transformer-node-text-preview-btn{margin-left:auto!important;cursor:pointer;font-size:14px;color:#1890ff;transition:all .2s}.transformer-node-text-preview-btn:hover{color:#40a9ff;transform:scale(1.1)}.transformer-node-canvas-import-btn{cursor:pointer;font-size:14px;color:#52c41a;transition:all .2s}.transformer-node-canvas-import-btn:hover{color:#73d13d;transform:scale(1.1)}.react-flow__handle{width:12px;height:12px;border:2px solid #fff;background:#1890ff}.react-flow__handle-left{left:-6px}.react-flow__handle-right{right:-6px}.handle-label{position:absolute;font-size:10px;color:#999;white-space:nowrap}.handle-label.left{left:8px}.handle-label.right{right:8px}.param-image-upload{margin-top:8px}.param-image-preview{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.param-image-item{position:relative;width:60px;height:60px;border-radius:4px;overflow:hidden;border:1px solid #e8e8e8}.param-image-item img{width:100%;height:100%;object-fit:cover}.param-image-remove{position:absolute;top:2px;right:2px;width:16px;height:16px;background:#00000080;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:10px}.transformer-item{cursor:grab}.transformer-item:active{cursor:grabbing}.workflow-canvas.drag-over{background:#1890ff0d}.transformer-node{position:relative}.transformer-node-actions{position:absolute;top:-40px;left:50%;transform:translate(-50%);display:flex;gap:6px;background:#fff;padding:6px 10px;border-radius:8px;box-shadow:0 2px 12px #00000026;z-index:10;white-space:nowrap}.transformer-node-actions:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #fff}.transformer-action-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:6px;cursor:pointer;color:#666;transition:all .2s;font-size:14px}.transformer-action-btn:hover{background:#f0f0f0;color:#1890ff}.transformer-action-btn.primary{background:#e8f0fe;color:#4080d0}.transformer-action-btn.primary:hover{background:#d0e0f8;color:#2a6cb8}.transformer-action-btn.disabled{opacity:.4;cursor:not-allowed}.transformer-action-btn.disabled:hover{background:transparent;color:#666}.transformer-action-btn.primary.disabled{background:#d9d9d9}.transformer-action-btn.primary.disabled:hover{background:#d9d9d9;color:#fff}.transformer-node-result{padding:8px;border-top:1px solid #e8e8e8;background:#fafafa;overflow:visible;flex-shrink:0}.transformer-node-result-img{width:100%;height:auto;min-height:100px;object-fit:contain;border-radius:4px;display:block;cursor:pointer;background:#f5f5f5}.transformer-node-result .ant-image{width:100%;display:block}.transformer-node-result .ant-image-img{width:100%;height:auto;object-fit:contain;border-radius:4px;cursor:pointer;background:#f5f5f5}.transformer-node-result-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:4px;width:100%}.transformer-node-result-img-small{width:100%;height:auto;object-fit:contain;border-radius:4px;display:block;cursor:pointer;transition:transform .2s;background:#f5f5f5}.transformer-node-result-img-small:hover{transform:scale(1.05);z-index:1}.transformer-node-result-grid .ant-image{width:100%;display:block;overflow:hidden}.transformer-node-result-grid .ant-image-img{width:100%;height:auto;object-fit:contain;border-radius:4px;cursor:pointer;transition:transform .2s;background:#f5f5f5;display:block}.transformer-node-result-grid .ant-image:hover .ant-image-img{transform:scale(1.05)}.transformer-node-result-grid .ant-image-mask{border-radius:4px}.transformer-node-result-video{display:flex;align-items:center;justify-content:center;gap:6px;padding:20px 12px;background:#f0f0f0;border-radius:4px;color:#666;font-size:14px;min-height:100px;cursor:pointer;transition:all .3s;position:relative;overflow:hidden}.transformer-node-result-video:hover{background:#e8e8e8}.video-cover-container{position:relative;width:100%;height:100%;min-height:100px;display:flex;align-items:center;justify-content:center}.video-cover-img{width:100%;height:auto;object-fit:contain;border-radius:4px;background:#000}.video-play-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:#0000004d;opacity:0;transition:opacity .3s;border-radius:4px}.transformer-node-result-video:hover .video-play-overlay{opacity:1}.video-play-icon{font-size:48px;color:#fff;filter:drop-shadow(0 2px 8px rgba(0,0,0,.5));transition:transform .3s}.transformer-node-result-video:hover .video-play-icon{transform:scale(1.1)}.workflow-run-panel{background:#fffffff2;padding:12px 20px;border-radius:30px;box-shadow:0 2px 12px #00000026;margin-bottom:20px}.workflow-run-panel .ant-btn-circle.ant-btn-lg{width:48px;height:48px;font-size:20px}.workflow-run-panel .ant-btn-circle.ant-btn-lg .anticon{font-size:22px}.transformer-node-result-img-wrapper{position:relative}.transformer-node-add-btn{position:absolute;top:2px;right:2px;width:18px;height:18px;background:#1890ffd9;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .2s;z-index:10}.transformer-node-result-img-wrapper:hover .transformer-node-add-btn{opacity:1}.transformer-node-add-btn:hover{background:#1890ff;transform:scale(1.1)}.transformer-node-add-btn .anticon{color:#fff;font-size:10px}.transformer-item.custom{background:#fffbe6;border:1px solid #ffe58f}.transformer-item.custom:hover{background:#fff1b8}.transformer-item-icon.custom{background:#faad14!important}.transformer-item-delete{position:absolute;right:8px;top:50%;transform:translateY(-50%);color:#999;opacity:0;transition:opacity .2s;padding:4px}.transformer-item:hover .transformer-item-delete{opacity:1}.transformer-item-delete:hover{color:#ff4d4f}.transformer-action-btn.star{background:#fef6e6;color:#c8940e}.transformer-action-btn.star:hover{background:#fcecc8;color:#a67a08}.transformer-action-btn.duplicate{background:#e8f5e3;color:#48a020}.transformer-action-btn.duplicate:hover{background:#d0eac6;color:#358016}.param-image-editor{margin-top:8px}.param-image-editor-preview{text-align:center}.param-image-editor-preview img{max-width:100%;border-radius:4px;border:1px solid #e8e8e8}.transformer-node-edit-btn{position:absolute;top:4px;left:4px;width:20px;height:20px;background:#1890ffe6;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .2s;color:#fff;font-size:10px;z-index:2}.transformer-node-result-img-wrapper:hover .transformer-node-edit-btn{opacity:1}.transformer-node-edit-btn:hover{background:#1890ff;transform:scale(1.1)}.transformer-node-edited-badge{position:absolute;top:4px;right:4px;width:18px;height:18px;background:#faad14;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:10px;z-index:2}.transformer-item.bookmark-item{background:#e6f7ff;border:1px dashed #1890ff}.transformer-item.bookmark-item:hover{background:#bae7ff;border-color:#1890ff}.transformer-item-icon.bookmark{background:#1890ff!important}.workflow-context-menu{background:#fff;border-radius:8px;box-shadow:0 3px 12px #00000026;padding:4px 0;min-width:150px}.workflow-context-menu-item{padding:8px 16px;cursor:pointer;display:flex;align-items:center;font-size:14px;color:#333;transition:background .2s}.workflow-context-menu-item:hover{background:#f5f5f5}.workflow-context-menu-item:first-child{border-radius:8px 8px 0 0}.workflow-context-menu-item:last-child{border-radius:0 0 8px 8px}.workflow-context-menu-item:only-child{border-radius:8px}.image-collector-panel{width:240px;background:#fff;border-left:1px solid #e8e8e8;display:flex;flex-direction:column;position:relative;transition:width .3s ease}.image-collector-panel.collapsed{width:40px}.image-collector-toggle{position:absolute;left:-16px;top:50%;transform:translateY(-50%);z-index:10;cursor:pointer}.image-collector-toggle .toggle-btn{width:32px;height:56px;background:#fff;border:1px solid #e8e8e8;border-radius:8px 0 0 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#666;transition:all .2s;box-shadow:-2px 0 8px #0000000f}.image-collector-toggle .toggle-btn:hover{background:#e6f7ff;color:#1890ff;border-color:#1890ff}.image-collector-panel.collapsed .image-collector-toggle{left:-40px}.image-collector-panel.collapsed .toggle-btn{width:40px;height:80px;border-radius:8px 0 0 8px}.image-collector-content{display:flex;flex-direction:column;height:100%;overflow:hidden}.image-collector-header{padding:12px;border-bottom:1px solid #f0f0f0;display:flex;align-items:center;justify-content:space-between;font-weight:500;flex-shrink:0}.image-collector-toolbar{padding:8px 12px;border-bottom:1px solid #f0f0f0;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.image-collector-grid-wrapper{flex:1;overflow-y:auto;padding:12px}.image-collector-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;position:relative;-webkit-user-select:none;user-select:none}.image-collector-grid .image-grid-item{position:relative;aspect-ratio:1;cursor:pointer;border:2px solid transparent;border-radius:6px;overflow:hidden;transition:all .2s}.image-collector-grid .image-grid-item:hover{border-color:#d9d9d9}.image-collector-grid .image-grid-item.selected{border-color:#1890ff}.image-collector-grid .image-grid-item img{width:100%;height:100%;object-fit:cover;pointer-events:none}.image-collector-grid .image-grid-item .image-check{position:absolute;top:4px;left:4px;width:18px;height:18px;background:#1890ff;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:10px;font-weight:700}.image-collector-grid .image-grid-item .image-remove{position:absolute;top:4px;right:4px;width:18px;height:18px;background:#0009;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;font-size:10px;opacity:0;transition:opacity .2s}.image-collector-grid .image-grid-item:hover .image-remove{opacity:1}.image-collector-grid .image-grid-item .image-error{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#f5f5f5;color:#999;font-size:12px}.image-collector-actions{padding:12px;border-top:1px solid #f0f0f0;display:flex;flex-direction:column;gap:8px;flex-shrink:0}.image-collector-tips{padding:8px 12px;font-size:11px;color:#999;text-align:center;flex-shrink:0}.transformer-node.resizable{width:100%;height:100%;min-width:200px;min-height:150px}.node-resizer-line{border-color:#1890ff!important}.node-resizer-handle{width:10px!important;height:10px!important;background:#1890ff!important;border:2px solid #fff!important;border-radius:2px!important}.transformer-node.resizable .transformer-node-result{flex:1;overflow:auto}.transformer-node.resizable .transformer-node-result-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.transformer-node.resizable .transformer-node-result-img{max-height:none;height:auto}.quick-workflow-page{padding:24px}.quick-workflow-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.quick-workflow-page .page-header h2{margin:0;display:flex;align-items:center;gap:8px}.qw-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.qw-card{border-radius:12px;overflow:hidden;transition:transform .2s,box-shadow .2s;border:1px solid #f0f0f0}.qw-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000014;border-color:#1890ff}.qw-card .ant-card-cover{height:160px;overflow:hidden;background:linear-gradient(135deg,#e6f7ff,#f0f5ff);display:flex;align-items:center;justify-content:center}.qw-card .ant-card-cover img{width:100%;height:100%;object-fit:cover}.qw-card .cover-placeholder{font-size:48px;color:#1890ff99}.qw-card .ant-card-meta-description{display:-webkit-box;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:44px}.qw-card .slot-info{margin-top:8px;font-size:12px;color:#999}.qw-demo-images{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.qw-demo-images img{width:120px;height:120px;object-fit:cover;border-radius:4px;cursor:pointer}.qw-global-param-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.qw-global-param-card{border-radius:8px;border:1px solid #f0f0f0}.qw-global-param-name-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.qw-global-param-name{font-size:13px;font-weight:500;color:#333}.qw-global-param-desc{margin-top:6px;font-size:12px;color:#999}.empty-container{grid-column:1 / -1;padding:60px 0}.qw-run-page{padding:16px;height:100%;display:flex;flex-direction:column;gap:12px}.qw-run-header{display:flex;align-items:center;gap:12px;padding:10px 16px;border:1px solid #f0f0f0;border-radius:8px;background:#fafafa;flex-shrink:0}.qw-run-header .header-icon{width:40px;height:40px;border-radius:8px;background:linear-gradient(135deg,#e6f7ff,#f0f5ff);display:flex;align-items:center;justify-content:center;font-size:18px;color:#1890ff;flex-shrink:0;overflow:hidden;border:1px solid #d9d9d9}.qw-run-header .header-icon img{width:100%;height:100%;object-fit:cover}.qw-run-header .header-info{flex:1;min-width:0}.qw-run-header .header-info h2{margin:0;font-size:16px;line-height:1.3}.qw-run-header .header-info .desc{color:#999;margin:0;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qw-run-body{display:flex;gap:16px;flex:1;min-height:0;overflow:hidden}.qw-input-panel{width:360px;flex-shrink:0;display:flex;flex-direction:column;border:1px solid #f0f0f0;border-radius:8px;overflow:hidden}.qw-input-panel .panel-title{padding:10px 14px;font-size:13px;font-weight:600;border-bottom:1px solid #f0f0f0;color:#1890ff;flex-shrink:0}.qw-input-panel .panel-body{flex:1;overflow-y:auto;padding:12px}.qw-param-group{margin-bottom:16px}.qw-param-group:last-child{margin-bottom:0}.qw-group-title{margin-bottom:8px;font-size:12px;font-weight:600;color:#666}.qw-param-item{margin-bottom:12px;padding:10px;border:1px solid #f0f0f0;border-radius:6px;background:#fafafa}.qw-param-item:last-child{margin-bottom:0}.qw-input-panel .panel-footer{padding:12px;border-top:1px solid #f0f0f0;flex-shrink:0}.qw-slot{margin-bottom:12px;padding:10px;border:1px solid #f0f0f0;border-radius:6px;background:#fafafa}.qw-slot:last-child{margin-bottom:0}.qw-slot .slot-header{display:flex;align-items:center;gap:6px;margin-bottom:6px;flex-wrap:wrap}.qw-slot .slot-header .slot-name{font-weight:600;font-size:13px}.qw-slot .slot-desc{font-size:11px;color:#999;margin-bottom:8px}.qw-slot .slot-images{display:flex;flex-wrap:wrap;gap:6px}.qw-slot .slot-images .img-item{position:relative;width:72px;height:72px;border-radius:6px;overflow:hidden;border:1px solid #d9d9d9}.qw-slot .slot-images .img-item img{width:100%;height:100%;object-fit:cover}.qw-slot .slot-images .img-item .remove-btn{position:absolute;top:2px;right:2px}.qw-slot .slot-images .upload-btn{width:72px;height:72px;border:1px dashed #d9d9d9;border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .3s;background:#fafafa;color:#999;font-size:16px}.qw-slot .slot-images .upload-btn:hover{border-color:#1890ff;color:#1890ff;background:#e6f7ff}.qw-result-panel{flex:1;min-width:0;display:flex;flex-direction:column;border:1px solid #f0f0f0;border-radius:8px;overflow:hidden}.qw-result-panel .panel-title{padding:10px 14px;font-size:13px;font-weight:600;border-bottom:1px solid #f0f0f0;color:#1890ff;display:flex;align-items:center;gap:8px;flex-shrink:0;flex-wrap:wrap}.qw-result-toolbar{margin-left:auto;display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px}.qw-result-panel .panel-body{flex:1;overflow-y:auto;padding:12px}.qw-progress-card{margin-bottom:12px;padding:12px;border:1px solid #e6f4ff;border-radius:8px;background:linear-gradient(180deg,#fafcff,#f6fbff)}.qw-progress-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.qw-progress-title{font-size:13px;font-weight:600;color:#262626}.qw-progress-subtitle{margin-top:4px;font-size:12px;color:#666}.qw-progress-stats{display:flex;flex-wrap:wrap;gap:8px 12px;margin-top:8px;font-size:12px;color:#666}.qw-progress-node-list{margin-top:10px;display:flex;flex-direction:column;gap:8px}.qw-progress-node-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:6px;background:#1890ff0d}.qw-progress-node-name{font-size:12px;font-weight:600;color:#262626}.qw-progress-node-text{flex:1;text-align:right;font-size:12px;color:#666}.qw-result-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#999;gap:12px}.qw-result-empty .empty-icon{font-size:48px;opacity:.3}.qw-result-empty .empty-text{font-size:13px}.qw-results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.qw-result-item{display:flex;flex-direction:column;min-height:320px;border-radius:10px;overflow:hidden;border:1px solid #f0f0f0;background:#fff;box-shadow:0 4px 14px #0f172a0a}.qw-result-item.status-failed{border-color:#ffd6d6}.qw-result-item.status-running,.qw-result-item.status-pending{border-color:#cfe7ff}.qw-result-item.selected{border-color:#91caff;box-shadow:0 0 0 2px #1890ff29,0 4px 14px #0f172a0a}.qw-result-item .result-media-wrap{width:100%;height:220px;flex-shrink:0;overflow:hidden;background:linear-gradient(180deg,#fafafa,#f3f6fb);display:flex;align-items:center;justify-content:center;position:relative}.qw-result-item .result-select-box{position:absolute;top:10px;left:10px;z-index:3;padding:4px 8px;border-radius:999px;background:#ffffffeb;box-shadow:0 2px 8px #00000014}.qw-result-item .result-select-box .ant-checkbox-wrapper{font-size:12px}.qw-result-item .result-image,.qw-result-item .result-image .ant-image,.qw-result-item .result-image .ant-image-img{width:100%;height:100%}.qw-result-item .result-image .ant-image{display:block}.qw-result-item .result-image .ant-image-img{object-fit:cover}.qw-result-item .result-video{width:100%;height:100%;object-fit:cover;background:#000}.qw-result-item .result-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px;background:#ffffffeb;text-align:center;gap:10px}.qw-result-item .result-footer{align-items:flex-start;display:flex;justify-content:space-between;gap:10px;padding:10px 12px 8px;min-height:68px}.qw-result-item .result-footer-main{flex:1;min-width:0}.qw-result-item .result-footer .node-name{display:block;font-size:13px;font-weight:600;color:#262626;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qw-result-item .result-meta-row{display:flex;flex-wrap:wrap;gap:6px 10px;margin-top:4px;font-size:11px;color:#8c8c8c}.qw-result-item .result-footer-side{display:flex;align-items:center;gap:6px;flex-shrink:0}.qw-result-item .result-actions{display:flex;flex-direction:column;gap:8px;margin-top:auto;padding:0 12px 12px}.qw-result-item .result-actions .ant-btn{border-radius:8px}.qw-result-item .result-state-icon{font-size:30px}.qw-result-item .result-state-icon.waiting{color:#bfbfbf}.qw-result-item .result-state-icon.failed{color:#ff4d4f}.qw-result-item .result-overlay-text{font-size:13px;color:#595959;line-height:1.5;word-break:break-word}.qw-result-item .result-overlay.failed .result-overlay-text{color:#cf1322}.qw-result-item .result-overlay-subtext{font-size:11px;color:#8c8c8c}.qw-result-item .result-overlay.waiting{background:linear-gradient(180deg,#fffffff5,#f5f5f5f5)}.qw-result-item .result-overlay.processing{background:linear-gradient(180deg,#f0f7fff5,#fffffff5)}.qw-result-item .result-overlay.failed{background:linear-gradient(180deg,#fff1f0f5,#fffffff5)}.canvas-select-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;max-height:400px;overflow-y:auto}.canvas-select-item{padding:8px;border:1px solid #f0f0f0;border-radius:4px;cursor:pointer;transition:all .2s;text-align:center}.canvas-select-item:hover,.canvas-select-item.selected{border-color:#1890ff;background:#e6f7ff}.product-tracking-page{padding:24px;background:#fff;min-height:calc(100vh - 64px)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-header h2{margin:0;font-size:24px;font-weight:600}.header-actions{display:flex;gap:12px}.no-permission{text-align:center;padding:100px 20px;color:#999}.no-permission p{font-size:16px;margin:10px 0}.main-layout-new{height:100vh;overflow:hidden}.main-sider-new{background:#fff!important;box-shadow:none;position:fixed!important;left:0;top:0;bottom:0;z-index:100;overflow-y:auto;border-right:1px solid #f0f0f0!important}.main-sider-new .logo{height:64px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:#333;border-bottom:1px solid #f0f0f0;white-space:nowrap;overflow:hidden}.main-layout-new>.ant-layout{margin-left:80px;transition:margin-left .2s}.main-layout-new.expanded>.ant-layout{margin-left:200px}.main-header-new{background:#fff!important;padding:0 24px;display:flex;justify-content:space-between;align-items:center;box-shadow:none;border-bottom:1px solid #f0f0f0;height:64px;line-height:64px;position:sticky;top:0;z-index:99}.main-header-new .header-left{display:flex;align-items:center}.main-header-new .collapse-btn{font-size:18px}.main-header-new .header-right{display:flex;align-items:center;gap:16px}.main-header-new .username{color:#333}.main-content-new{margin:16px;background:#fff;border-radius:8px;box-shadow:none!important;flex:1;overflow:hidden;display:flex;flex-direction:column;position:relative}.main-footer{text-align:center;padding:10px 0;color:#999;font-size:12px}.main-footer a{color:#999}.main-footer a:hover{color:#1890ff}.announcement-list-item{cursor:pointer;transition:background .2s}.announcement-list-item:hover{background:#f5f5f5}.announcement-detail .time{color:#999;font-size:12px;margin-bottom:16px}.announcement-detail .detail-section{margin-bottom:16px}.announcement-detail .detail-section h4{margin-bottom:8px}.announcement-detail .images{margin-top:16px}.announcement-detail .images h4{margin-bottom:8px}.announcement-detail .attachments{margin-top:16px}.announcement-detail .attachments h4{margin-bottom:8px}.announcement-detail .attachments>div{padding:8px 0;border-bottom:1px solid #f0f0f0}.tags-view-container{height:42px;background:#fff;border-bottom:1px solid #f0f0f0;box-shadow:none;padding:0 10px;display:flex;align-items:center}.current-page-title{margin-left:12px;font-size:16px;font-weight:500;color:#333}.main-content-new{position:relative;background:var(--bg-mesh)}.main-content-new:before{content:"";position:fixed;top:0;left:0;right:0;height:300px;background:linear-gradient(180deg,rgba(99,102,241,.03) 0%,transparent 100%);pointer-events:none;z-index:0}.main-sider-new{background:#fffffff2!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 0 40px #00000008!important;border-right:1px solid rgba(226,232,240,.8)!important}.main-sider-new .logo{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700;letter-spacing:-.5px}.main-header-new{background:#fffffff2!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 1px #e2e8f0cc!important;border-bottom:1px solid rgba(226,232,240,.8)!important}.main-sider-new .ant-menu-item,.main-sider-new .ant-menu-submenu-title{transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.main-sider-new .ant-menu-item:before,.main-sider-new .ant-menu-submenu-title:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:0;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:0 3px 3px 0;transition:height .2s cubic-bezier(.4,0,.2,1)}.main-sider-new .ant-menu-item-selected:before{height:60%}.main-sider-new .ant-menu-item:hover:before{height:40%}.main-content-new .ant-card{position:relative;z-index:1}.shared-announcement-page{min-height:100vh;background:#f5f5f5;padding:40px 20px}.shared-announcement-page .loading-wrapper{display:flex;justify-content:center;align-items:center;min-height:300px}.shared-announcement-container{max-width:800px;margin:0 auto;background:#fff;border-radius:12px;box-shadow:0 2px 12px #0000001a;overflow:hidden}.announcement-header{padding:32px 32px 24px;border-bottom:1px solid #f0f0f0}.announcement-title{font-size:24px;font-weight:600;color:#333;margin:0 0 12px}.announcement-meta{color:#999;font-size:14px}.announcement-content{padding:24px 32px;font-size:15px;line-height:1.8;color:#333}.announcement-content p{margin:0 0 8px}.announcement-images{padding:0 32px 24px;display:flex;flex-wrap:wrap;gap:12px}.announcement-images .ant-image{border-radius:8px;overflow:hidden}.announcement-images .ant-image img{max-width:300px;max-height:200px;object-fit:cover}.announcement-attachments{padding:16px 32px 24px;border-top:1px solid #f0f0f0}.attachments-title{font-weight:500;margin-bottom:12px;color:#666}.attachment-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f9f9f9;border-radius:6px;margin-bottom:8px;color:#1890ff;text-decoration:none;transition:background .2s}.attachment-item:hover{background:#e6f7ff}.shared-case-page{min-height:100vh;background:#f5f5f5;padding:24px}.shared-case-page.loading{display:flex;justify-content:center;align-items:center}.shared-case-card{max-width:800px;margin:0 auto;border-radius:8px}.case-title{font-size:24px;margin:0 0 8px;text-align:center}.case-group{text-align:center;margin-bottom:4px}.case-time{text-align:center;margin-bottom:24px}.case-images{display:flex;flex-direction:column;gap:12px}.case-image-item,.case-image-item .ant-image{width:100%}.case-image-item .ant-image img{width:100%;height:auto;border-radius:4px}.lazy-image-wrapper{width:100%;min-height:200px;position:relative}.lazy-image-wrapper .ant-image{width:100%}.lazy-image-wrapper .ant-image img{width:100%;height:auto;border-radius:4px}.image-placeholder{width:100%;min-height:200px;background:#f0f0f0;border-radius:4px;display:flex;justify-content:center;align-items:center}.case-keywords{margin-top:24px;padding:16px;background:#fafafa;border-radius:4px}.keywords-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.keywords-content{white-space:pre-wrap;word-break:break-all;color:#666;font-size:14px;line-height:1.6}.shared-item-page{min-height:100vh;background:#f5f5f5;padding:24px;display:flex;justify-content:center;align-items:flex-start}.shared-item-page.loading,.shared-item-page.error{align-items:center}.shared-item-card{max-width:800px;width:100%}.item-header{margin-bottom:24px}.item-header h2{margin:0 0 8px}.item-meta{color:#999;font-size:14px;display:flex;gap:24px}.item-images{display:flex;flex-direction:column;gap:24px;margin-bottom:24px}.image-section h4{margin:0 0 12px;color:#666}.item-description,.item-remark{margin-top:16px;padding:16px;background:#fafafa;border-radius:8px}.item-description h4,.item-remark h4{margin:0 0 8px;color:#666}.item-description p,.item-remark p{margin:0;white-space:pre-wrap}.shared-product-market-page{min-height:100vh;background:#f5f5f5;padding:24px;display:flex;justify-content:center;align-items:flex-start}.shared-product-market-page.loading,.shared-product-market-page.error{align-items:center}.shared-product-card{max-width:800px;width:100%}.product-header{margin-bottom:24px}.product-header h2{margin:0 0 8px}.product-meta{color:#999;font-size:14px;display:flex;gap:24px}.product-supplier{padding:12px 16px;background:#fafafa;border-radius:8px;margin-bottom:24px}.supplier-row{margin-bottom:6px;font-size:14px}.supplier-row:last-child{margin-bottom:0}.supplier-label{color:#666;margin-right:8px}.product-images{margin-bottom:24px}.product-description{padding:16px;background:#fafafa;border-radius:8px}.shared-protection-page{min-height:100vh;background:#f5f5f5;padding:24px;display:flex;justify-content:center;align-items:flex-start}.shared-protection-page.loading,.shared-protection-page.error{align-items:center}.shared-protection-card{max-width:800px;width:100%}.protection-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.protection-header h2{margin:0}.protection-meta{color:#999;font-size:14px;display:flex;flex-wrap:wrap;gap:24px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #f0f0f0}.protection-images{margin-bottom:24px}.protection-images h4{margin:0 0 12px;color:#666}.image-list{display:flex;flex-wrap:wrap;gap:12px}.protection-description{padding:16px;background:#fafafa;border-radius:8px}.protection-description h4{margin:0 0 12px;color:#666}.desc-row{margin-bottom:8px}.desc-row:last-child{margin-bottom:0}.desc-label{color:#666;margin-right:8px}.desc-value{color:#333}.shared-tracking-page{min-height:100vh;background:#f5f5f5}.shared-tracking-header{background:#fff;padding:16px;text-align:center;box-shadow:0 2px 8px #0000001a}.shared-tracking-header h2{margin:0;font-size:20px}.shared-tracking-content{padding:16px;max-width:1200px;margin:0 auto}.product-images{background:#fff;padding:16px;border-radius:8px;margin-bottom:16px;display:flex;gap:8px;overflow-x:auto}.product-image{width:100px;height:100px;object-fit:cover;border-radius:4px}.product-info{margin-bottom:16px}.total-orders{font-size:18px;font-weight:700;color:#1890ff}.chart-section{background:#fff;padding:16px;border-radius:8px;margin-bottom:16px}.chart-section h3{margin-top:0;font-size:16px}.no-data{text-align:center;padding:50px;color:#999}.owner-changes{background:#fff;padding:16px;border-radius:8px}.owner-changes h3{margin-top:0;font-size:16px}.change-item{padding:8px;background:#fff1f0;margin-bottom:8px;border-radius:4px;font-size:14px}.shared-tracking-loading,.shared-tracking-error{display:flex;justify-content:center;align-items:center;min-height:100vh;font-size:16px;color:#999}@media(max-width:768px){.shared-tracking-content{padding:12px}.product-image{width:80px;height:80px}.chart-section{padding:12px}.shared-tracking-header h2{font-size:18px}}@font-face{font-family:HarmonyOS Sans SC Bold;src:url(/fonts/HarmonyOSSansSC-Bold.ttf) format("truetype");font-display:swap}@font-face{font-family:HarmonyOS Sans SC Light;src:url(/fonts/HarmonyOSSansSC-Light.ttf) format("truetype");font-display:swap}@font-face{font-family:HarmonyOS Sans SC Medium;src:url(/fonts/HarmonyOSSansSC-Medium.ttf) format("truetype");font-display:swap}@font-face{font-family:HarmonyOS Sans SC Regular;src:url(/fonts/HarmonyOSSansSC-Regular.ttf) format("truetype");font-display:swap}@font-face{font-family:HarmonyOS Sans SC Thin;src:url(/fonts/HarmonyOSSansSC-Thin.ttf) format("truetype");font-display:swap}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}#root{height:100vh}
