*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%}body{color:#0a0a0a;background:#070707;font-family:-apple-system,PingFang SC,Microsoft YaHei,sans-serif;overflow:hidden}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#91919147;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ffffff73}*{scrollbar-width:thin;scrollbar-color:#91919147 transparent}.app{height:100vh;display:flex}.left{background:#101010;border-right:1px solid #91919138;flex:0 0 690px;min-width:690px;height:100vh;padding:0;display:flex;overflow:hidden}.left-split{width:100%;height:100vh;display:flex}.workspace-rail{background:#0e0e0e;border-right:1px solid #9191912e;flex-direction:column;flex-shrink:0;gap:10px;width:230px;height:100vh;padding:14px 12px;display:flex;overflow:hidden}.workspace-head{align-items:center;gap:8px;display:flex}.workspace-head .new-session-btn{flex:1}.chat-panel{flex-direction:column;flex:1;gap:10px;min-width:0;height:100vh;padding:14px 16px;display:flex;overflow:hidden}.chat-head{flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;display:flex}.chat-title{color:#fff;font-size:15px;font-weight:600}.icon-btn{cursor:pointer;color:#0a0a0a;background:#37373773;border:1px solid #9191914d;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;transition:all .15s;display:flex}.icon-btn:hover{color:#0a0a0a;background:#555555a6;border-color:#ffffff8c}.case-name-row{flex-shrink:0;align-items:center;gap:8px;display:flex}.case-name-label{color:#acacac;white-space:nowrap;flex-shrink:0;font-size:12px}.case-name-input{color:#fff;background:#232323b8;border:1px solid #9191914d;border-radius:8px;outline:none;flex:1;min-width:0;height:28px;padding:0 10px;font-size:12px}.case-name-input::placeholder{color:#7f7f7f}.case-name-input:focus{border-color:#fff9}.chat-head-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.file-dd{position:relative}.file-dd .icon-btn{gap:4px;width:auto;padding:0 10px}.file-dd-caret{font-size:10px;line-height:1}.file-dd-menu{z-index:60;background:#181818;border:1px solid #ffffff47;border-radius:10px;min-width:340px;max-width:min(90vw,480px);max-height:340px;position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto;box-shadow:0 12px 32px #0000008c}.file-dd-menu--fixed{z-index:200;position:fixed}.file-dd-head{color:#fff;background:#181818;border-bottom:1px solid #ffffff26;padding:8px 12px;font-size:12px;font-weight:600;position:sticky;top:0}.file-dd-item{border-bottom:1px solid #ffffff0d;align-items:center;gap:8px;padding:7px 12px;display:flex}.file-dd-item:last-child{border-bottom:none}.file-dd-item:hover{background:#ffffff1a}.file-dd-item.current{background:#ffffff2e}.file-dd-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:12px;overflow:hidden}.file-dd-act{flex-shrink:0;gap:6px;display:flex}.file-dd-act button{color:#0a0a0a;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #ffffff59;border-radius:6px;padding:2px 10px;font-size:11px}.file-dd-act button:hover{color:#0a0a0a;background:#ffffff2e}.file-dd-act button:disabled{opacity:.5;cursor:default}.file-dd-act .file-dd-del{color:#f87171;border-color:#ef444466}.file-dd-act .file-dd-del:hover{color:#0a0a0a;background:#ef444433}.file-dd-act .file-dd-del-confirm{color:#0a0a0a;background:#ef4444d9;border-color:#ef4444a6;font-weight:600}.file-dd-act .file-dd-del-confirm:hover{color:#0a0a0a;background:#ef4444f2}.file-dd-empty{color:#959595;padding:12px;font-size:12px}.file-dd-note{margin:4px 10px 10px;line-height:1.5}.cur-ver{color:#fff;vertical-align:middle;background:#ffffff29;border:1px solid #ffffff59;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:11px;font-weight:600;display:inline-block}.safety-panel{background:#ef44448c;border:1px solid #ef444459;border-radius:10px;flex-direction:column;flex-shrink:0;max-height:200px;display:flex;overflow:hidden}.safety-head{color:#f87171;cursor:pointer;-webkit-user-select:none;user-select:none;background:#ef444459;justify-content:space-between;align-items:center;gap:8px;padding:7px 12px;font-size:12px;font-weight:600;display:flex}.safety-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.safety-fold{color:#f87171;flex-shrink:0;font-size:10px;line-height:1;transition:transform .12s}.safety-items{flex:auto;min-height:0;overflow-y:auto}.safety-item{cursor:pointer;text-align:left;background:0 0;border:none;border-bottom:1px solid #ffffff0d;align-items:center;gap:8px;width:100%;padding:6px 12px;display:flex}.safety-item:hover{background:#ef44441f}.safety-item.active{background:#ef444438}.safety-kind{border-radius:999px;flex-shrink:0;padding:1px 6px;font-size:10px;font-weight:600}.safety-kind.collision{color:#f87171;background:#ef444433;border:1px solid #ef444473}.safety-kind.fence{color:#fbbf24;background:#fbbf2426;border:1px solid #fbbf2466}.safety-kind.speed{color:#d8d8d8;background:#b6b6b629;border:1px solid #c0c0c073}.safety-label{color:#f87171;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:11px;overflow:hidden}.safety-banner{background:#ef444466;border-color:#ef444480}.safety-banner-actions{flex-shrink:0;gap:6px;display:flex}.safety-banner-actions button{cursor:pointer;color:#f87171;background:0 0;border:1px solid #f8717180;border-radius:6px;padding:3px 10px;font-size:11px}.safety-banner-actions .optimize-yes{color:#0a0a0a;background:#ef444447;font-weight:600}.safety-banner-actions button:hover:not(:disabled){filter:brightness(1.2)}.safety-banner-actions button:disabled{opacity:.5;cursor:default}.chat-tools{flex-direction:column;flex-shrink:0;gap:8px;display:flex}.chat-tools .export-btn{width:100%;margin-top:0}.chat-tools .export-row .export-btn{flex:1;width:auto}.chat-tools .import-box,.chat-tools .export-box{gap:6px}.chat-panel .prompt-area{flex:1;min-height:0;overflow:hidden auto}.chat-panel .prompt-area>*{flex-shrink:0}.chat-panel .chat-thread{flex:1 1 0;min-height:0}.chat-panel .chat-scroll{flex:1;max-height:none}.left-header h1{color:#fff;letter-spacing:.5px;font-size:16px;font-weight:600}.badge{color:#0a0a0a;vertical-align:middle;background:#ffffff2e;border:1px solid #fff6;border-radius:999px;margin-left:6px;padding:2px 8px;font-size:10px;font-weight:400;display:inline-block}.badge.llm{color:#34d399;background:#10b9812e;border-color:#10b98173}.left-header-compact{justify-content:space-between;align-items:center;gap:10px;display:flex}.left-header-compact h1{color:#fff;margin:0;font-size:15px;font-weight:600}.left-header-compact .sub{display:none}.left{transition:opacity .18s,transform .18s}.left.collapsed{flex:0 0 64px;min-width:64px;padding:10px 8px;overflow:hidden}.collapse-btn{cursor:pointer;color:#0a0a0a;background:#37373773;border:1px solid #9191914d;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;transition:all .15s;display:flex}.collapse-btn:hover{color:#0a0a0a;background:#555555a6;border-color:#ffffff8c}.new-session-btn{color:#0a0a0a;cursor:pointer;background:#37373780;border:1px solid #91919159;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;padding:10px 12px;font-size:13px;font-weight:600;transition:all .15s;display:flex}.new-session-btn:hover{color:#0a0a0a;background:#ffffff2e;border-color:#fff9}.workspace-footer{flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:10px;display:flex}.workspace-footer-right{align-items:center;gap:8px;display:flex}.user-center-fab{cursor:pointer;color:#0a0a0a;background:#ffffff2e;border:1px solid #ffffff8c;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;transition:all .15s;display:flex}.user-center-fab:hover{color:#0a0a0a;background:#ffffff57;border-color:#fffc}.workspace-label{color:#919191;letter-spacing:.5px;text-transform:uppercase;flex-shrink:0;margin:2px 2px 0;font-size:11px;font-weight:600}.sidebar-rail{flex-direction:column;align-items:center;gap:10px;height:100%;display:flex}.rail-top,.rail-bottom{flex-direction:column;align-items:center;gap:10px;display:flex}.rail-bottom{margin-top:auto}.rail-btn{cursor:pointer;color:#0a0a0a;background:#37373766;border:1px solid #91919147;border-radius:10px;justify-content:center;align-items:center;width:42px;height:42px;transition:all .15s;display:flex}.rail-btn:hover{color:#0a0a0a;background:#fff3;border-color:#ffffff8c}.history-row{position:relative}.history-row-delete{opacity:0;cursor:pointer;color:#f87171;background:#ef444426;border:1px solid #ef444459;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;transition:opacity .15s,background .15s;display:flex}.history-row:hover .history-row-delete{opacity:1}.history-row-delete:hover{color:#0a0a0a;background:#ef444459}.history-row.confirming{background:#ef444424;box-shadow:inset 0 0 0 1px #ef444473}.history-row-confirm{flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.history-row-del-confirm,.history-row-del-cancel{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:5px;height:20px;padding:0 8px;font-size:11px;line-height:1}.history-row-del-confirm{color:#0a0a0a;background:#ef4444d9;border-color:#ef4444a6;font-weight:600}.history-row-del-confirm:hover{color:#0a0a0a;background:#ef4444f2}.history-row-del-cancel{color:#d8d8d8;background:#ffffff0f;border-color:#ffffff2e}.history-row-del-cancel:hover{color:#0a0a0a;background:#ffffff24}.history-row-warn{color:#f87171;font-size:11px}.history-row.dragging{opacity:.4;background:#ffffff14}.history-row.drop-above{box-shadow:inset 0 2px #fff}.history-row.drop-below{box-shadow:inset 0 -2px #fff}.history-row.dragging.drop-above,.history-row.dragging.drop-below{box-shadow:none}.prompt-version-bar{margin:0 12px 8px;position:relative}.pvb-toggle{color:#d8d8d8;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:8px;align-items:center;gap:8px;width:100%;padding:6px 10px;font-size:12px;transition:border-color .15s;display:flex}.pvb-toggle:hover{border-color:#fff6}.pvb-label{color:#9f9f9f;flex-shrink:0}.pvb-current{text-align:left;color:#fff;text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;overflow:hidden}.pvb-arrow{color:#7d7d7d;flex-shrink:0;font-size:9px}.pvb-backdrop{z-index:50;position:fixed;inset:0}.pvb-dropdown{z-index:51;background:#262626;border:1px solid #ffffff26;border-radius:10px;max-height:320px;padding:4px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 32px #00000080}.pvb-item{cursor:pointer;border-radius:8px;padding:10px 12px;transition:background .12s}.pvb-item:hover{background:#ffffff14}.pvb-item.active{background:#ffffff24;border:1px solid #ffffff4d}.pvb-item-head{align-items:center;gap:6px;margin-bottom:4px;display:flex}.pvb-item-name{color:#fff;font-size:13px;font-weight:600}.pvb-badge{color:#34d399;background:#34d39940;border:1px solid #34d3994d;border-radius:4px;padding:1px 6px;font-size:10px}.pvb-builtin{color:#9f9f9f;background:#ffffff14;border-radius:4px;padding:1px 5px;font-size:10px}.pvb-item-desc{color:#9f9f9f;font-size:11px;line-height:1.5}.ver-pill{color:#d4d4d4;vertical-align:middle;letter-spacing:1px;background:#34d399;border-radius:6px;margin-left:8px;padding:1px 7px;font-size:10px;font-weight:700;display:inline-block}.settings-open-btn{text-align:left;cursor:pointer;color:#fff;background:#37373773;border:1px solid #9191914d;border-radius:9px;width:100%;padding:9px 12px;font-size:12px}.settings-open-btn:hover{color:#0a0a0a;background:#5559}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000008c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-box{background:#1b1b1b;border:1px solid #91919159;border-radius:14px;flex-direction:column;width:min(440px,100%);max-height:88vh;display:flex;overflow:hidden;box-shadow:0 18px 60px #0000008c}.modal-head{color:#fff;background:#26262699;border-bottom:1px solid #91919138;justify-content:space-between;align-items:center;padding:13px 16px;font-size:14px;font-weight:700;display:flex}.modal-close{color:#f87171;cursor:pointer;background:#ef444440;border:1px solid #ef44444d;border-radius:7px;width:26px;height:26px;font-size:13px;line-height:1}.modal-close:hover{color:#0a0a0a;background:#ef444480}.modal-body{color:#ddd;padding:14px 16px;font-size:13px;line-height:1.7;overflow-y:auto}.modal-foot{background:#26262666;border-top:1px solid #91919138;justify-content:flex-end;gap:10px;padding:12px 16px;display:flex}.dialog-btn{cursor:pointer;border:1px solid #0000;border-radius:8px;min-width:96px;height:34px;padding:0 14px;font-size:13px;font-weight:600;transition:background .15s,border-color .15s,opacity .15s}.dialog-btn:hover{filter:brightness(1.12)}.dialog-btn:active{filter:brightness(.95)}.dialog-btn.save{color:#d4d4d4;background:#10b981d9;border-color:#10b98180}.dialog-btn.danger{color:#f87171;background:#ef4444cc;border-color:#ef444473}.dialog-btn.ghost{color:#e5e5e5;background:#5f5f5f59;border-color:#9b9b9b66}.pattern-edit-overlay{z-index:1100}.pattern-edit-modal{width:min(1180px,96vw);height:92vh;max-height:92vh}.pattern-edit-modal.fullscreen{width:min(1700px,98vw);height:96vh;max-height:96vh}.pattern-edit-modal .modal-body{flex:auto;min-height:0;padding:10px 12px 12px;overflow:hidden}.pattern-edit-modal .ip-preview{flex:auto;min-height:0}.pattern-edit-modal.fullscreen .ip-thumb-wrap{align-self:flex-start;width:clamp(170px,15vw,320px)}.pattern-edit-modal.fullscreen .ip-thumb{max-height:min(40vh,420px)}.pattern-edit-body{flex-direction:column;display:flex}.modal-head-actions{align-items:center;gap:8px;display:inline-flex}.modal-head-btn{cursor:pointer;color:#0a0a0a;background:#43434380;border:1px solid #a2a2a26b;border-radius:7px;align-items:center;gap:5px;height:26px;padding:0 10px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.modal-head-btn:hover{color:#0a0a0a;background:#5d5d5db8}.modal-head-btn.active{color:#0a0a0a;background:#7a7a7ad9;border-color:#d4d4d4e6}.pattern-edit-modal .ip-preview{flex-direction:column;flex:auto;min-height:0;margin-bottom:0;display:flex}.ip-canvas-wrap{flex:1 1 0;min-width:0;min-height:0;position:relative}.ip-canvas-wrap>.ip-svg{width:100%;height:100%;display:block;position:absolute;inset:0}.ip-svg,.gf-svg,.hand-3d-wrap{-webkit-user-select:none;user-select:none}.ip-svg text,.gf-svg text{pointer-events:none}.ip-edit-main{flex:1 1 0;align-items:stretch;gap:10px;min-height:0;display:flex}.ip-edit-rail{flex-direction:column;flex:none;gap:8px;width:clamp(150px,15.5vw,208px);display:flex;overflow:hidden auto}.ip-edit-rail>*{flex-shrink:0}.ip-edit-center{flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex}.ip-rail-spacer{flex:auto;min-height:6px}.ip-edit-rail .ip-tool-sep{flex:none;align-self:stretch;width:auto;height:1px}.ip-edit-rail .ip-mode-group{flex-direction:column;align-items:stretch;width:100%;display:flex}.ip-edit-rail .ip-mode-group .ip-tool{border-bottom:1px solid #a2a2a238;border-right:none;height:32px}.ip-edit-rail .ip-mode-group .ip-tool:last-child{border-bottom:none}.ip-edit-rail .ip-mode-group .ip-tool:first-child{border-radius:9px 9px 0 0}.ip-edit-rail .ip-mode-group .ip-tool:last-child{border-radius:0 0 9px 9px}.ip-edit-rail .ip-tool-kbd{margin-left:auto}.ip-edit-rail>.ip-tool{justify-content:flex-start;width:100%;height:32px}.ip-edit-rail .ip-tool-status{flex-direction:column;align-items:stretch;gap:6px;font-size:11.5px;line-height:1.5;display:flex}.ip-edit-rail .ip-thumb-wrap{width:100%}.ip-edit-rail .ip-thumb{max-height:120px}.ip-tool-sep{background:#a2a2a247;align-self:center;width:1px;height:22px}.ip-tool-status{flex-wrap:wrap;align-items:baseline;gap:4px 10px;font-size:11.5px;line-height:1.5;display:flex}.ip-tool-scope{color:#fff}.ip-tool-hint{color:#acacac;min-width:0;font-size:11.5px;line-height:1.5}.ip-tool-keys{color:#999;font-size:11px;line-height:1.5}.ip-tool-cancel{color:#fbbf24;font-weight:600}.ip-scale-slider{cursor:pointer;accent-color:#d4d4d4;background:0 0;width:104px;height:4px;margin:0 2px}.ip-scale-slider:disabled{opacity:.45;cursor:not-allowed}.ip-rot-slider{cursor:pointer;accent-color:#fbbf24;background:0 0;width:104px;height:4px;margin:0 2px}.ip-rot-slider:disabled{opacity:.45;cursor:not-allowed}.ip-marquee{filter:drop-shadow(0 0 4px #d4d4d473)}.ip-rail-grid{grid-template-columns:1fr 1fr;gap:6px;width:100%;display:grid}.ip-rail-grid .ip-tool-cell{color:#0a0a0a;cursor:pointer;background:#31313180;border:1px solid #a2a2a238;border-radius:8px;justify-content:flex-start;align-items:center;gap:4px;min-width:0;height:26px;padding:0 6px;font-size:11.5px;display:inline-flex}.ip-rail-grid .ip-tool-cell:hover:not(:disabled):not(.active){background:#4e4e4e8c}.ip-rail-grid .ip-tool-cell.active{color:#0a0a0a;background:#787878bf;border-color:#d4d4d4a6}.ip-rail-grid .ip-tool-cell:disabled{opacity:.45;cursor:not-allowed}.ip-tool-ico{flex:none;font-size:12px;line-height:1}.ip-tool-txt{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.ip-rail-grid .ip-tool-cell.primary{border-color:#d4d4d466}.ip-rail-grid .ip-tool-cell .ip-tool-kbd{margin-left:auto}.ip-shape-wrap{flex-direction:column;gap:4px;width:100%;display:flex}.ip-shape-grid{grid-template-columns:repeat(3,1fr);gap:6px;width:100%;display:grid}.ip-shape-btn{color:#0a0a0a;cursor:pointer;background:#31313180;border:1px solid #a2a2a238;border-radius:8px;flex-direction:column;align-items:center;gap:1px;min-width:0;padding:3px 2px 2px;font-size:10.5px;display:flex}.ip-shape-btn .ip-shape-ico{font-size:14px;line-height:1.1}.ip-shape-btn .ip-shape-txt{color:#fff;font-size:10px;line-height:1.2}.ip-shape-btn:hover:not(:disabled):not(.active){background:#4e4e4e8c}.ip-shape-btn.active{background:#787878bf;border-color:#d4d4d4a6}.ip-shape-btn.active .ip-shape-txt{color:#fff}.ip-shape-btn:disabled{opacity:.45;cursor:not-allowed}.ip-shape-step{align-items:center;gap:6px;display:inline-flex}.ip-shape-step-label{color:#fff;white-space:nowrap;font-size:11px}.ip-shape-step-btn{color:#0a0a0a;cursor:pointer;background:#31313180;border:1px solid #a2a2a24d;border-radius:6px;width:22px;height:20px;padding:0;font-size:12px;line-height:1}.ip-shape-step-btn:hover:not(:disabled){background:#4e4e4e8c}.ip-shape-step-btn:disabled{opacity:.4;cursor:not-allowed}.ip-shape-step-val{text-align:center;color:#fff;font-variant-numeric:tabular-nums;min-width:20px;font-size:11.5px}.ip-shape3d-wrap{flex-direction:column;gap:6px;width:100%;display:flex}.ip-shape3d-head{letter-spacing:.4px;color:#d4d4d4;text-transform:uppercase;font-size:10.5px;font-weight:700}.ip-shape3d-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:100%;display:grid}.ip-shape3d-btn{color:#d4d4d4;cursor:grab;background:#2c2c2c9e;border:1px solid #ffffff4d;border-radius:8px;flex-direction:column;align-items:center;gap:1px;min-width:0;padding:3px 2px 2px;font-size:9.5px;transition:background-color .15s,border-color .15s;display:flex}.ip-shape3d-btn:hover:not(:disabled){background:#4e4e4eb8;border-color:#d4d4d499}.ip-shape3d-btn:active:not(:disabled){cursor:grabbing}.ip-shape3d-btn:disabled{opacity:.45;cursor:not-allowed}.ip-shape3d-thumb{color:#d4d4d4;width:22px;height:22px}.ip-shape3d-steprow{justify-content:space-between;align-items:center;gap:6px;min-height:20px;display:flex}.ip-shape3d-steprow .ip-shape-step-label{color:#d4d4d4;font-weight:700}.ip-shape3d-txt{text-overflow:ellipsis;white-space:nowrap;color:#fff;max-width:100%;font-size:9.5px;line-height:1.2;overflow:hidden}.ip-shape3d-acts{grid-template-columns:1fr;gap:6px;display:grid}.ip-shape3d-acts .edit-btn{text-overflow:ellipsis;white-space:nowrap;min-width:0;padding:6px 4px;font-size:11px;overflow:hidden}.ip-shape3d-note{color:#999;margin:0;font-size:10px;line-height:1.45}.hand-3d-tilt-note{color:#b3b3b3;background:#2525256b;border:1px dashed #a2a2a24d;border-radius:8px;margin:0;padding:6px 8px;font-size:10.5px;line-height:1.45}.ip-zform{flex-direction:column;gap:12px;width:100%;display:flex}.ip-zform .ip-tool{border-radius:8px;padding:0 9px}.ip-z-group,.ip-tilt-group{align-items:center;gap:6px;display:inline-flex}.ip-z-slider,.ip-tilt-slider{cursor:pointer;accent-color:#34d399;background:0 0;width:100%;height:4px;margin:0 2px}.ip-tilt-slider{accent-color:#d4d4d4}.ip-z-slider:disabled,.ip-tilt-slider:disabled{opacity:.45;cursor:not-allowed}.ip-z-readout,.ip-tilt-readout{color:#34d399;white-space:nowrap;font-variant-numeric:tabular-nums;text-align:center;min-width:52px;font-size:11.5px}.ip-tilt-readout{color:#fff}.hand-legend-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.hand-3d-wrap{background:radial-gradient(at 50% 30%,#383838e6,#151515f2);border-radius:12px;position:absolute;inset:0;overflow:hidden}.hand-3d-canvas{position:absolute;inset:0}.hand-3d-marquee{z-index:3;pointer-events:none;background:#d4d4d41f;border:1px solid #d4d4d4d9;position:absolute}.hand-3d-hint{z-index:3;pointer-events:none;text-align:center;color:#0a0a0a;background:#181818b8;border:1px solid #a2a2a247;border-radius:8px;width:max-content;max-width:calc(100% - 16px);padding:3px 8px;font-size:10.5px;line-height:1.5;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.hand-3d-axes{z-index:3;cursor:pointer;color:#0a0a0a;background:#181818b8;border:1px solid #a2a2a247;border-radius:8px;padding:3px 9px;font-size:10.5px;font-weight:600;line-height:1.5;transition:all .15s;position:absolute;top:8px;right:8px}.hand-3d-axes:hover{color:#0a0a0a;background:#4e4e4ecc}.hand-3d-axes.active{color:#0a0a0a;background:#7a7a7ad9;border-color:#d4d4d4e6}.hand-3d-unit{z-index:3;pointer-events:none;color:#0a0a0a;background:#18181899;border:1px solid #a2a2a238;border-radius:8px;padding:2px 9px;font-size:10px;line-height:1.6;position:absolute;top:37px;right:8px}.hand-3d-fence-hud{z-index:3;pointer-events:none;color:#0a0a0a;background:#18181899;border:1px solid #a2a2a238;border-radius:8px;padding:2px 9px;font-size:10px;line-height:1.6;position:absolute;top:62px;right:8px}.hand-3d-fallback{color:#acacac;background:#2b2b2b73;border-radius:12px;justify-content:center;align-items:center;font-size:12px;display:flex;position:absolute;inset:0}.hand-node-dot{background:#fbbf24e6;border:1px solid #d4d4d4d9;border-radius:2px;flex:none;width:8px;height:8px}.ip-edit-rail .ip-tool.primary{color:#d4d4d4;background:#41414199;border:1px solid #d4d4d48c}.ip-edit-rail .ip-tool.primary:hover:not(:disabled){background:#565656bf}.ip-edit-rail .ip-tool.primary:disabled{opacity:.45;cursor:not-allowed}.hand-edit-card .hand-scene-tabs{grid-template-columns:1fr 1fr;gap:12px 10px;width:100%;display:grid}.hand-edit-card .hand-scene-head{grid-column:1/-1;align-items:center;gap:6px;height:24px;display:flex}.hand-edit-card .hand-scene-head-title{letter-spacing:.5px;color:#c4c4c4;font-size:11.5px;font-weight:700}.hand-edit-card .ip-scene-tab{text-align:left;white-space:nowrap;justify-content:flex-start;gap:2px;width:100%;min-width:0;height:28px;padding:0 7px;font-size:11.5px;position:relative}.hand-edit-card .ip-scene-tab .ip-scene-tab-count{font-variant-numeric:tabular-nums;font-size:11.5px}.hand-edit-card .hand-scene-head .ip-scene-tab.hand-scene-add{color:#c4c4c4;border-style:dashed;justify-content:center;width:auto;height:24px;margin-left:auto;padding:0 7px;font-size:11.5px}.ip-scene-tab.hand-scene-add:hover:not(:disabled){color:#fff;border-color:#d4d4d4}.hand-edit-card .hand-scene-tab-risk{z-index:2;text-align:center;font-variant-numeric:tabular-nums;color:#f87171;background:#ef4444f2;border:1px solid #ef4444bf;border-radius:8px;min-width:24px;padding:0 5px;font-size:10px;font-weight:800;line-height:13px;position:absolute;top:-9px;right:0;box-shadow:0 1px 3px #00000073}.hand-edit-card .hand-tpl{grid-template-columns:1fr 1fr;gap:6px;display:grid}.hand-edit-card .hand-tpl .edit-btn{justify-content:center;min-width:0;padding:0 6px;font-size:11.5px}.hand-tpl-count{font-variant-numeric:tabular-nums;color:#acacac;white-space:nowrap;margin-left:3px;font-size:10px}.hand-tpl-empty{color:#959595;padding:6px 0;font-size:11px}.hand-lib-overlay{z-index:1200}.hand-lib-modal{--lib-panel:#1e1e1e;--lib-line:#9c9c9c4d;--lib-gutter:14px;width:min(600px,94vw)}.hand-lib-tabs{padding:10px var(--lib-gutter) 0;background:linear-gradient(var(--lib-line), var(--lib-line)) no-repeat;background-size:calc(100% - var(--lib-gutter) * 2) 1px;background-position:var(--lib-gutter) bottom;flex:none;gap:4px;display:flex}.hand-lib-tab{color:#acacac;white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px 9px 0 0;flex:1 1 0;min-width:0;padding:8px 6px;font-size:12px;font-weight:600;transition:color .15s,background-color .15s,border-color .15s;position:relative}.hand-lib-tab:hover{color:#fff;background:#50505040}.hand-lib-tab.is-active{z-index:1;color:#fff;background:var(--lib-panel);border-color:var(--lib-line);border-bottom-color:var(--lib-panel);margin-bottom:-1px;padding-bottom:9px}.hand-lib-modal .hand-lib-body{min-height:0;margin:0 var(--lib-gutter) var(--lib-gutter);background:var(--lib-panel);border:1px solid var(--lib-line);border-top:none;border-radius:0 0 10px 10px;flex:auto;padding:12px;overflow-y:auto}.hand-lib-count{color:#acacac;font-variant-numeric:tabular-nums;margin-right:8px;font-size:11px}.hand-lib-note{color:#b0b0b0;border-bottom:1px dashed #9c9c9c38;margin:0 0 10px;padding:0 0 9px;font-size:11px;line-height:1.55}.hand-lib-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.hand-lib-item{background:#5959599e;border:1px solid #ffffff4d;border-radius:8px;align-items:center;gap:8px;min-width:0;padding:6px 8px;display:flex}.hand-lib-section{flex-direction:column;gap:6px;display:flex}.hand-lib-section+.hand-lib-section{margin-top:12px}.hand-lib-section-title{letter-spacing:.03em;color:#c4c4c4;font-size:11px;font-weight:700}.hand-lib-item--builtin{background:#5151519e;border-color:#ffffff38}.hand-lib-item:hover{background:#696969cc;border-color:#ffffff73}.hand-lib-thumb{box-sizing:border-box;color:#0a0a0a;background:#18181899;border:1px solid #ffffff38;border-radius:7px;flex:none;width:44px;height:44px;padding:2px}.hand-lib-name-row{align-items:center;gap:5px;min-width:0;display:flex}.hand-lib-badge{color:#d4d4d4;background:#5f5f5f59;border:1px solid #d4d4d447;border-radius:4px;flex:none;padding:0 4px;font-size:9.5px;line-height:15px}.hand-lib-id{flex-direction:column;flex:auto;gap:1px;min-width:0;display:flex}.hand-lib-name{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;overflow:hidden}.hand-lib-meta{color:#acacac;word-break:break-all;font-size:10.5px;line-height:1.35}.hand-lib-name-input{box-sizing:border-box;color:#e9e9e9;background:#181818b3;border:1px solid #ffffff47;border-radius:6px;width:100%;min-width:0;padding:3px 6px;font-size:12px}.hand-lib-acts{flex:none;align-items:center;gap:4px;display:flex}.hand-lib-acts .edit-btn,.hand-save-acts .edit-btn,.hand-ask-acts .edit-btn{cursor:pointer;color:#0a0a0a;background:#3b3b3bb3;border:1px solid #a2a2a273;border-radius:8px;align-items:center;gap:4px;height:26px;padding:0 8px;font-size:11.5px;font-weight:600;transition:all .15s;display:inline-flex}.hand-lib-acts .edit-btn:hover:not(:disabled),.hand-save-acts .edit-btn:hover:not(:disabled),.hand-ask-acts .edit-btn:hover:not(:disabled){color:#0a0a0a;background:#595959e6;border-color:#ffffffb3}.hand-lib-acts .edit-btn:disabled,.hand-save-acts .edit-btn:disabled,.hand-ask-acts .edit-btn:disabled{opacity:.4;cursor:not-allowed}.edit-btn.hand-lib-add{color:#d4d4d4;background:#41414199;border-color:#d4d4d473}.edit-btn.hand-lib-add:hover:not(:disabled){background:#565656bf}.edit-btn.hand-lib-del{color:#f87171;background:#ef444480;border-color:#ef444459;justify-content:center;width:26px}.edit-btn.hand-lib-del:hover:not(:disabled){color:#0a0a0a;background:#ef4444cc}.hand-save-modal{width:min(380px,92vw)}.hand-save-body{flex-direction:column;gap:8px;display:flex}.hand-save-label{color:#c4c4c4;font-size:11.5px}.hand-save-acts{justify-content:flex-end;gap:6px;display:flex}.hand-ask-modal{width:min(400px,92vw)}.hand-ask-body{flex-direction:column;gap:8px;display:flex}.hand-ask-text{color:#fff;margin:0;font-size:12px;line-height:1.6}.hand-ask-note{color:#b2b2b2;margin:0;font-size:11px;line-height:1.55}.hand-ask-acts{justify-content:flex-end;gap:6px;display:flex}.edit-btn.hand-ask-ok{color:#f87171;background:#ef4444b8;border-color:#ef44448c}.edit-btn.hand-ask-ok:hover:not(:disabled){color:#0a0a0a;background:#ef4444e6;border-color:#f87171cc}.hand-legend-row{flex:none;justify-content:center;padding:1px 0 4px;display:flex}.hand-legend-row .ip-preview-legend{gap:14px}.hand-legend-row .ip-legend-item{align-items:center;gap:5px;display:inline-flex}.hand-canvas-note{text-align:center;flex-direction:column;flex:none;align-items:center;gap:2px;padding-top:4px;display:flex}.hand-canvas-note .ip-gap{margin-top:0;font-size:12px;line-height:1.45}.ip-gap.info{color:#c4c4c4}.hand-hold{color:#bababa;flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;font-size:11.5px;display:flex}.hand-hold-label{flex:auto;min-width:0}.hand-hold-input{color:#e9e9e9;font-variant-numeric:tabular-nums;background:#181818b3;border:1px solid #ffffff52;border-radius:6px;width:62px;padding:3px 6px;font-size:12px}.hand-fence-sel{width:88px}.hand-hold-input:focus{border-color:#d4d4d4;outline:none}.hand-hold-input:disabled{opacity:.45;cursor:not-allowed}.hand-hold-unit{color:#959595}.hand-canvas-stats{text-align:center;flex:none;justify-content:center;align-items:baseline;gap:4px 18px;margin-top:0;padding-top:5px}.hand-canvas-stats>div{gap:16px;display:flex}.hand-canvas-stats .ip-stat-stage-row{flex-wrap:wrap;gap:16px;display:flex}.shape-light{flex-direction:column;flex:none;gap:6px;min-width:0;display:flex}.shape-light-head{align-items:center;display:flex}.shape-light-title{color:#c4c4c4;font-size:11.5px;font-weight:700}.shape-light-empty{color:#959595;font-size:10.5px;line-height:1.5}.shape-light-row{border-bottom:1px dashed #ffffff29;flex-direction:column;gap:4px;min-width:0;padding-bottom:6px;display:flex}.shape-light-row:last-of-type{border-bottom:none;padding-bottom:0}.shape-light-line{align-items:center;gap:6px;min-width:0;display:flex}.shape-light-name{color:#bababa;text-overflow:ellipsis;white-space:nowrap;flex:auto;align-items:center;gap:5px;min-width:0;font-size:11px;display:inline-flex;overflow:hidden}.shape-light-chip{border:1px solid #d4d4d4d9;border-radius:3px;flex:none;width:10px;height:10px;display:inline-block}.shape-light-mode{color:#e9e9e9;background:#181818b3;border:1px solid #ffffff52;border-radius:6px;flex:none;max-width:100%;padding:2px 4px;font-size:11px}.shape-light-mode:focus{border-color:#d4d4d4;outline:none}.shape-light-colors{flex-wrap:nowrap;align-items:center;gap:2px;min-width:0;display:flex}.shape-light-swatch{cursor:pointer;opacity:.8;border:1px solid #d4d4d4d9;border-radius:50%;flex:none;width:12px;height:12px;padding:0}.shape-light-swatch:hover{opacity:1}.shape-light-swatch[data-active="1"]{opacity:1;border-color:#fff;box-shadow:0 0 0 1.5px #d4d4d4d9}.shape-light-swatch:disabled,.shape-light-more:disabled{opacity:.3;cursor:not-allowed}.shape-light-more{color:#c4c4c4;cursor:pointer;white-space:nowrap;background:#25252599;border:1px solid #ffffff52;border-radius:8px;margin-left:auto;padding:1px 6px;font-size:10.5px}.shape-light-more:hover{color:#e9e9e9;border-color:#d4d4d4}.shape-light-native{opacity:0;pointer-events:none;border:0;width:0;height:0;padding:0;position:absolute}.shape-light-note{color:#959595;margin:0;font-size:10.5px;line-height:1.5}.ip-mode-group{background:#2525258c;border:1px solid #a2a2a273;border-radius:10px;flex:none;display:inline-flex;overflow:hidden;box-shadow:0 1px 3px #00000026}.ip-tool{cursor:pointer;color:#0a0a0a;background:#3434349e;border:1px solid #a2a2a266;border-radius:8px;align-items:center;gap:5px;height:30px;padding:0 12px;font-size:12.5px;font-weight:600;transition:all .15s;display:inline-flex}.ip-mode-group .ip-tool{background:0 0;border:none;border-right:1px solid #a2a2a238;border-radius:0}.ip-mode-group .ip-tool:last-child{border-right:none}.ip-mode-group .ip-tool:first-child{border-radius:9px 0 0 9px}.ip-mode-group .ip-tool:last-child{border-radius:0 9px 9px 0}.ip-tool-kbd{color:#0a0a0a;text-align:center;background:#16161680;border:1px solid #ffffff59;border-radius:4px;min-width:15px;padding:0 3px;font-family:inherit;font-size:10px;font-weight:700;line-height:15px;display:inline-block}.ip-tool.active .ip-tool-kbd{color:#0a0a0a;background:#d4d4d48c;border-color:#d4d4d48c}.ip-tool:hover:not(:disabled){color:#0a0a0a;background:#4e4e4ecc}.ip-mode-group .ip-tool:hover:not(:disabled):not(.active){background:#4e4e4e8c}.ip-tool.active{color:#0a0a0a;background:#7a7a7ae0;border-color:#d4d4d4e6}.ip-mode-group .ip-tool.active{background:#7a7a7af2;box-shadow:inset 0 1px 2px #00000026}.ip-tool.danger{color:#f87171;border-color:#ef444473}.ip-tool.danger:hover:not(:disabled){color:#0a0a0a;background:#ef4444b3;border-color:#f87171cc}.ip-tool:disabled{opacity:.45;cursor:not-allowed}.pattern-edit-modal .ip-stats{margin-top:6px}.pattern-edit-modal .ip-gap{margin-top:4px}.ip-scene-tabs{flex-wrap:wrap;align-items:stretch;gap:6px;margin-bottom:8px;display:flex}.ip-scene-tab{cursor:pointer;color:#0a0a0a;background:#3434349e;border:1px solid #a2a2a266;border-radius:8px;align-items:center;gap:6px;height:30px;padding:0 12px;font-size:12.5px;transition:all .15s;display:inline-flex}.ip-scene-tab b{font-weight:700}.ip-scene-tab .ip-scene-tab-label{color:#acacac;text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-weight:500;overflow:hidden}.ip-scene-tab .ip-scene-tab-count{color:#d4d4d4;font-weight:700}.ip-scene-tab:hover:not(:disabled){color:#0a0a0a;background:#4e4e4ecc}.ip-scene-tab.active{color:#0a0a0a;background:#7a7a7ae0;border-color:#d4d4d4e6}.ip-scene-tab.active .ip-scene-tab-count{color:#fbbf24}.ip-scene-tab:disabled{opacity:.45;cursor:not-allowed}.ip-scene-list{flex-direction:column;gap:10px;margin-bottom:8px;display:flex}.ip-scene-block{flex-direction:column;gap:4px;display:flex}.ip-scene-head{color:#fbbf24;font-size:12.5px;font-weight:700}.ip-edit-rail .edit-btn{cursor:pointer;color:#0a0a0a;background:#3b3b3bb3;border:1px solid #a2a2a273;border-radius:9px;align-items:center;gap:5px;width:100%;height:32px;padding:0 10px;font-size:12.5px;font-weight:600;transition:all .15s;display:inline-flex}.ip-edit-rail .edit-btn:hover:not(:disabled){color:#0a0a0a;background:#595959e6;border-color:#ffffffb3}.ip-edit-rail .edit-btn:disabled{opacity:.4;cursor:not-allowed}.ip-edit-rail .ip-edit-btn-row{align-items:stretch;gap:8px;width:100%;display:flex}.ip-edit-rail .ip-edit-btn-row .edit-btn{flex:1 1 0;justify-content:center;min-width:0;padding:0 6px}.ip-edit-rail .edit-btn.hand-autofill-cta{text-align:left;color:#fbbf24;background:linear-gradient(#fbbf24e6,#fbbf24e6);border:1px solid #fbbf249e;align-items:center;gap:8px;height:auto;min-height:48px;padding:7px 10px;box-shadow:0 0 0 1px #fbbf241a,0 2px 10px #00000059}.ip-edit-rail .edit-btn.hand-autofill-cta:hover:not(:disabled){color:#fbbf24;background:linear-gradient(#fbbf24f2,#fbbf24f2);border-color:#fbbf24}.ip-edit-rail .edit-btn.hand-autofill-cta:disabled{opacity:.45}.hand-autofill-ico{flex:none;font-size:18px;line-height:1}.hand-autofill-txt{flex-direction:column;flex:auto;gap:1px;min-width:0;display:flex}.hand-autofill-txt b{font-size:13px;font-weight:700}.hand-autofill-txt i{color:#fbbf24;font-size:10.5px;font-style:normal;font-weight:400;line-height:1.35}.ip-edit-rail>.ip-rail-scroll{flex-direction:column;flex:auto;gap:8px;min-height:0;display:flex;overflow:hidden auto}.ip-rail-scroll>*{flex-shrink:0}.ip-edit-rail .interaction-submit{background:#7a7a7a;flex-shrink:0;width:100%;height:36px;padding:0 8px;box-shadow:0 -8px 10px -8px #d4d4d4a6}.ip-edit-rail .interaction-submit:disabled{opacity:1;color:#cbcbcb;background:#4f4f4f;border-color:#7b7b7b}.ip-edit-rail .ip-scale-slider,.ip-edit-rail .ip-rot-slider{width:100%;margin:0}.ip-edit-rail .ip-xform{flex-direction:column;gap:12px;width:100%;display:flex}.ip-xform-field{flex-direction:column;gap:8px;min-width:0;display:flex}.ip-xform-field[data-xform=scale]{--xform-accent:#d4d4d4}.ip-xform-field[data-xform=rot]{--xform-accent:#fbbf24}.ip-xform-field[data-xform=z]{--xform-accent:#34d399}.ip-xform-field[data-xform=tilt],.ip-xform-field[data-xform=tilt-dir]{--xform-accent:#d4d4d4}.ip-xform-head{align-items:center;gap:4px;min-width:0;display:flex}.ip-xform-label{color:var(--xform-accent,#c4c4c4);white-space:nowrap;flex:none;font-size:11.5px;font-weight:700}.ip-xform-val{text-align:right;white-space:nowrap;color:#fff;font-variant-numeric:tabular-nums;flex:auto;min-width:0;font-size:11.5px}.ip-xform-head .ip-xform-step{border-radius:8px;flex:none;justify-content:center;width:26px;height:26px;padding:0;font-size:13px}.ip-tilt-dir-select{color:#e9e9e9;cursor:pointer;background:#181818b3;border:1px solid #a2a2a273;border-radius:8px;flex:auto;min-width:0;height:26px;padding:0 6px;font-size:11.5px;font-weight:600}.ip-tilt-dir-select:focus{border-color:#d4d4d4;outline:none}.ip-tilt-dir-select:disabled{opacity:.45;cursor:not-allowed}.ip-xform-field[data-xform=pos]{--xform-accent:#fbbf24}.ip-xform-head .ip-xform-hint{text-align:right;white-space:nowrap;text-overflow:ellipsis;color:#9f9f9f;flex:auto;min-width:0;font-size:10px;overflow:hidden}.ip-pos-row{gap:4px;display:flex}.ip-pos-cell{flex:1 1 0;align-items:center;gap:3px;min-width:0;display:flex}.ip-pos-axis{color:var(--xform-accent,#c4c4c4);flex:none;font-size:10.5px;font-weight:700}.ip-pos-num{color:#e9e9e9;font-variant-numeric:tabular-nums;background:#181818b3;border:1px solid #a2a2a273;border-radius:8px;width:100%;min-width:0;height:26px;padding:0 4px;font-size:11px}.ip-pos-num:focus{border-color:#d4d4d4;outline:none}.ip-pos-num:disabled{opacity:.45;cursor:not-allowed}.ip-pos-num::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ip-pos-num::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ip-pos-num[type=number]{-moz-appearance:textfield}.ip-nudge{--xform-accent:#fbbf24}.ip-nudge-pill{color:#fbbf24;white-space:nowrap;background:#fbbf241f;border:1px solid #fbbf245c;border-radius:999px;flex:none;margin-left:auto;padding:1px 8px;font-size:10.5px;font-weight:700;line-height:1.6}.ip-nudge-pill:not(.on){color:#9f9f9f;background:#a2a2a214;border-color:#a2a2a242;font-weight:500}.ip-pt-switch{white-space:nowrap;color:#9f9f9f;cursor:pointer;background:#a2a2a214;border:1px solid #a2a2a242;border-radius:999px;flex:none;align-items:center;gap:4px;height:19px;padding:0 7px 0 5px;font-size:10.5px;font-weight:700;line-height:1;display:inline-flex}.ip-pt-switch-dot{background:#727272;border-radius:50%;flex:none;width:7px;height:7px}.ip-pt-switch-on{color:#fbbf24;background:#fbbf2429;border-color:#fbbf248c;box-shadow:0 0 0 1px #fbbf242e,0 0 8px #fbbf2438}.ip-pt-switch-on .ip-pt-switch-dot{background:#fbbf24;box-shadow:0 0 5px #fbbf24d9}.ip-pt-switch:not(:disabled):hover{color:#fbbf24;border-color:#fbbf2480}.ip-pt-switch:disabled{opacity:.45;cursor:not-allowed}.ip-nudge-axes{flex-direction:column;gap:4px;min-width:0;display:flex}.ip-nudge-line{align-items:center;gap:5px;min-width:0;display:flex}.ip-nudge-axis{text-align:center;color:#fbbf24;flex:0 0 11px;font-size:10.5px;font-weight:700}.ip-nudge-val{text-align:right;color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;flex:0 0 34px;font-size:11px;overflow:hidden}.ip-nudge-btn{flex:1 1 0;justify-content:center;min-width:0;height:26px;padding:0;font-size:13px;line-height:1}.ip-nudge-btn:not(:disabled):active{transform:translateY(1px)}.ip-nudge.is-empty .ip-nudge-axes{opacity:.55}.ip-nudge-step-row{align-items:center;gap:6px;display:flex}.ip-nudge-step-row .ip-xform-hint{color:#c4c4c4;flex:none;font-size:11px;font-weight:600}.ip-nudge-step-row .ip-pos-num{text-align:right;flex:none;width:58px;height:24px}.hand-transit-select{width:104px}.hand-transit-select option{color:#e9e9e9;background:#1c1c1c}.ip-legend-item{align-items:center;gap:6px;display:inline-flex}.ip-edit-rail .ip-preview-legend{white-space:normal;flex-direction:column;align-items:flex-start;gap:4px}.ip-edit-rail .ip-stats{flex-direction:column;align-items:flex-start;gap:2px;margin-top:5px}.ip-edit-rail .ip-stats div{flex-direction:row;gap:16px;display:flex}.ip-edit-rail .ip-stats .ip-stat-stage-row{flex-wrap:wrap;row-gap:2px}.ip-edit-rail .ip-gap{margin-top:0}.settings-modal{width:min(820px,100%);height:80vh;max-height:80vh}.settings-modal .modal-body{flex:1;min-height:0;padding:0;overflow:hidden}.settings-split{align-items:stretch;height:100%;min-height:0;display:flex}.settings-nav{background:#101010;border-right:1px solid #91919138;flex-direction:column;flex:0 0 190px;gap:6px;padding:12px 10px;display:flex;overflow-y:auto}.settings-nav .nav-item{color:#b3b3b3;cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:9px;align-items:center;gap:8px;padding:9px 8px;transition:all .15s;display:flex}.settings-nav .nav-item:hover{color:#fff;background:#ffffff1f}.settings-nav .nav-item.active{color:#fff;background:#ffffff47;border-color:#ffffff8c}.settings-nav .nav-icon{font-size:16px;line-height:1}.settings-nav .nav-label{min-width:0;font-size:13px;font-weight:700}.settings-body{background:#181818;border:1px solid #91919138;border-radius:10px;flex-direction:column;gap:10px;padding:12px;display:flex}.settings-split .settings-body{background:0 0;border:none;border-radius:0;flex:1;min-width:0;min-height:0;overflow-y:auto}.settings-lang-row{border:1px solid var(--border,#7f7f7f4d);background:var(--panel,#ffffff0a);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:10px 12px;font-size:13px;display:flex}.settings-lang-row .lang-label{white-space:nowrap;color:var(--text,#eee);flex-shrink:0;align-items:center;gap:6px;font-weight:500;display:inline-flex}.settings-lang-row .lang-icon{font-size:14px;line-height:1}.settings-lang-row select{background:var(--input-bg,#1e1e1e);min-width:140px;color:var(--text,#eee);border:1px solid var(--border,#7f7f7f4d);border-radius:6px;padding:4px 6px;font-size:13px}.about-panel{flex-direction:column;gap:8px;font-size:13px;display:flex}.about-row{align-items:baseline;gap:8px;display:flex}.about-label{color:var(--muted,#9a9aa5);flex-shrink:0}.about-value{color:var(--text,#eee);word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.about-actions{gap:8px;margin-top:4px;display:flex}.about-btn{border:1px solid var(--border,#7f7f7f4d);background:var(--panel,#ffffff0f);color:var(--text,#eee);cursor:pointer;border-radius:6px;padding:5px 12px;font-size:13px}.about-btn:disabled{opacity:.5;cursor:not-allowed}.about-note{color:var(--muted,#9a9aa5);margin:0;font-size:12px}.about-ok{color:#10b981}.about-warn{color:#fbbf24}.memory-new{border:1px solid var(--border,#7f7f7f4d);background:var(--panel,#ffffff0a);border-radius:8px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.memory-input{box-sizing:border-box;resize:vertical;border:1px solid var(--border,#7f7f7f4d);background:var(--input-bg,#1e1e1e);width:100%;color:var(--text,#eee);border-radius:6px;padding:6px 8px;font-family:inherit;font-size:13px;line-height:1.5}.memory-input:focus{border-color:var(--accent,#fff);outline:none}.memory-list{flex-direction:column;gap:8px;margin-top:4px;display:flex}.memory-item{border:1px solid var(--border,#7f7f7f4d);background:var(--panel,#ffffff0a);border-radius:8px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.memory-item-text{color:var(--text,#eee);white-space:pre-wrap;word-break:break-word;margin:0;font-size:13px;line-height:1.5}.memory-item-meta{color:var(--muted,#9a9aa5);margin:0;font-size:11px}.memory-item-actions{gap:8px;margin-top:2px;display:flex}.memory-item-edit{flex-direction:column;gap:8px;display:flex}.memory-month-tabs{flex-wrap:wrap;align-items:stretch;gap:6px;display:flex}.memory-month-tab{cursor:pointer;color:#0a0a0a;background:#3434349e;border:1px solid #a2a2a266;border-radius:8px;align-items:center;gap:6px;height:28px;padding:0 11px;font-size:12.5px;transition:all .15s;display:inline-flex}.memory-month-tab:hover{color:#0a0a0a;background:#4e4e4ecc}.memory-month-tab.active{color:#0a0a0a;background:#7a7a7ae0;border-color:#d4d4d4e6}.memory-month-tab-count{color:#d4d4d4;font-weight:700}.memory-month-tab.active .memory-month-tab-count{color:#fbbf24}.memory-panel{flex:auto;min-height:0}.memory-list{flex:auto;min-height:120px;padding-right:4px;overflow-y:auto}.upd-confirm-mask{z-index:1000;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.upd-confirm{border:1px solid var(--border,#7f7f7f4d);background:var(--panel,#202020);border-radius:10px;min-width:320px;max-width:420px;padding:20px 22px 16px;box-shadow:0 12px 40px #00000073}.upd-confirm-title{color:var(--text,#eee);margin:0 0 8px;font-size:15px;font-weight:600}.upd-confirm-detail{color:var(--muted,#9a9aa5);margin:0 0 16px;font-size:13px;line-height:1.6}.upd-confirm-actions{justify-content:flex-end;gap:8px;display:flex}.upd-confirm-yes{color:#0a0a0a;background:#fff;border-color:#0a0a0a}.upd-confirm-yes:hover{background:#fff}.session-loading-mask{z-index:1100;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.session-loading-card{border:1px solid var(--border,#7f7f7f4d);background:var(--panel,#202020);border-radius:10px;align-items:center;gap:10px;padding:14px 20px;display:flex;box-shadow:0 12px 40px #00000073}.session-loading-spinner{border:2px solid #7f7f7f59;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite session-load-spin}.session-loading-text{color:var(--text,#eee);font-size:13px}@keyframes session-load-spin{to{transform:rotate(360deg)}}.radio-list{flex-direction:column;gap:8px;display:flex}.radio-list .radio-item{color:#ddd;cursor:pointer;background:#181818;border:1px solid #91919138;border-radius:9px;flex-direction:column;gap:3px;padding:8px 10px;font-size:12.5px;display:flex}.radio-list .radio-item.active{background:#ffffff1f;border-color:#fff9}.radio-list .radio-line{align-items:center;gap:8px;font-weight:600;display:flex}.sub-title{color:#0a0a0a;background:#ffffff1a;border:1px dashed #91919159;border-radius:8px;margin-top:4px;padding:6px 9px;font-size:12px;font-weight:600}.row-two{gap:12px;display:flex}.row-two>.row{flex:1}.count-num.wide{width:100%}.profile-bar{background:#101010;border:1px solid #91919138;border-radius:8px;flex-wrap:wrap;gap:6px;padding:8px;display:flex}.profile-bar .profile-select{color:#0a0a0a;background:#181818;border:1px solid #91919147;border-radius:7px;flex:110px;min-width:0;padding:6px 8px;font-size:12px}.profile-bar .profile-name{color:#0a0a0a;background:#181818;border:1px solid #91919147;border-radius:7px;flex:90px;min-width:0;padding:6px 8px;font-size:12px}.profile-bar .profile-btn{cursor:pointer;color:#0a0a0a;white-space:nowrap;background:#ffffff29;border:1px solid #ffffff73;border-radius:7px;padding:6px 10px;font-size:12px}.profile-bar .profile-btn:hover:not(:disabled){background:#ffffff4d}.profile-bar .profile-btn:disabled{opacity:.4;cursor:not-allowed}.settings-body .row{color:#fff;justify-content:space-between;align-items:center;gap:10px;font-size:12px;display:flex}.settings-body .row.col{flex-direction:column;align-items:stretch;gap:5px}.settings-body .row.col>span{color:#acacac}.settings-body select,.settings-body input[type=text],.settings-body input:not([type]),.settings-body input[type=password]{color:#0a0a0a;background:#101010;border:1px solid #91919140;border-radius:8px;width:100%;padding:7px 9px;font-family:inherit;font-size:12px}.settings-body input:focus,.settings-body select:focus{border-color:#fff;outline:none}.hint-text{color:#939393;font-size:11px;line-height:1.6}.hint-text code{color:#fff;background:#ffffff1a;border-radius:4px;padding:1px 4px}.error-bar{color:#f87171;background:#ef44441f;border:1px solid #ef444466;border-radius:8px;padding:8px 10px;font-size:12px;font-weight:600;line-height:1.5}.ok-bar{color:#34d399;background:#10b9811f;border:1px solid #10b98166;border-radius:8px;padding:8px 10px;font-size:12px;font-weight:600;line-height:1.5}.login-screen{z-index:2000;background:radial-gradient(1200px 600px at 50% -10%,#303030 0%,#181818 55%,#101010 100%);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.login-card{background:#1b1b1b;border:1px solid #fff6;border-radius:16px;flex-direction:column;gap:14px;width:min(380px,92vw);padding:28px 26px;display:flex;box-shadow:0 24px 70px #0009}.login-brand{color:#fff;letter-spacing:.4px;font-size:13px;font-weight:700}.login-title{color:#fff;font-size:22px;font-weight:800}.login-field{color:#acacac;flex-direction:column;gap:6px;font-size:12px;display:flex}.login-field input{color:#0a0a0a;background:#101010;border:1px solid #91919147;border-radius:9px;width:100%;padding:9px 11px;font-family:inherit;font-size:13px}.login-field input:focus{border-color:#fff;outline:none}.login-error{color:#f87171;background:#ef44441f;border:1px solid #ef444466;border-radius:8px;padding:8px 10px;font-size:12px;line-height:1.5}.login-error.login-error-banner{color:#fbbf24;background:#fbbf2424;border-color:#fbbf2473}.login-submit{color:#0a0a0a;cursor:pointer;background:linear-gradient(#fff,#d4d4d4);border:none;border-radius:9px;height:40px;font-size:14px;font-weight:700;transition:filter .15s}.login-submit:hover:not(:disabled){filter:brightness(1.1)}.login-submit:disabled{opacity:.6;cursor:default}.login-hint{color:#939393;text-align:center;font-size:11px;line-height:1.6}.user-center .user-info-grid{flex-direction:column;gap:6px;display:flex}.user-center .auth-row{background:#101010;border:1px solid #9191912e;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:7px 10px;font-size:12.5px;display:flex}.user-center .auth-row span{color:#acacac}.user-center .auth-row b{color:#fff;text-align:right;font-weight:600}.user-center .auth-row b.mono{font-family:ui-monospace,SFMono-Regular,Consolas,Courier New,monospace;font-size:11.5px}.user-center .row{color:#fff;justify-content:space-between;align-items:center;gap:10px;font-size:12px;display:flex}.user-center .row.col{flex-direction:column;align-items:stretch;gap:6px}.user-center .row.col>span{color:#acacac}.user-center .uc-input{color:#0a0a0a;background:#101010;border:1px solid #91919140;border-radius:8px;width:100%;padding:8px 10px;font-family:inherit;font-size:12.5px;transition:border-color .15s,box-shadow .15s,background .15s}.user-center .uc-input:hover{border-color:#91919173}.user-center .uc-input:focus{background:#141414;border-color:#fff;outline:none;box-shadow:0 0 0 2px #ffffff2e}.user-center .uc-input::placeholder{color:#818181}.user-center .uc-input[type=password]{letter-spacing:.08em}.notice-bar{color:#c8c8c8;background:#9b9b9b1a;border:1px solid #9b9b9b47;border-radius:8px;align-items:flex-start;gap:6px;margin-top:8px;padding:7px 9px;font-size:12px;line-height:1.5;display:flex}.notice-bar .notice-tag{letter-spacing:.4px;color:#dadada;background:#9b9b9b38;border-radius:5px;flex:none;padding:1px 6px;font-size:10px}.notice-bar.ai{color:#34d399;background:#10b9811a;border-color:#10b98152}.notice-bar.ai .notice-tag{color:#34d399;background:#10b9813d}.notice-bar.fallback{color:#fbbf24;background:#fbbf241a;border-color:#fbbf2452}.notice-bar.fallback .notice-tag{color:#fbbf24;background:#fbbf243d}.sub{color:#939393;font-size:12px;line-height:1.6}.prompt{resize:vertical;color:#0a0a0a;background:#181818;border:1px solid #91919140;border-radius:10px;width:100%;min-height:92px;padding:12px;font-family:inherit;font-size:13px;line-height:1.6}.prompt:focus{border-color:#fff;outline:none}.gen-btn,.send-icon-btn{color:#0a0a0a;background:#fff;border-radius:50%;width:30px;height:30px;font-size:18px}.send-icon-btn:disabled{opacity:1;color:#ffffff59;cursor:not-allowed;background:#ffffff1f}.btn-spinner{vertical-align:-2px;border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:12px;height:12px;margin-right:6px;animation:.8s linear infinite btnSpin;display:inline-block}@keyframes btnSpin{to{transform:rotate(360deg)}}.backend-warn{color:#f87171;background:#ef444424;border:1px solid #ef444473;border-radius:6px;padding:7px 10px;font-size:12px;line-height:1.5}.backend-warn code{color:#f87171;background:#00000059;border-radius:4px;padding:1px 5px;font-size:11px}.stop-btn{cursor:pointer;color:#f87171;white-space:nowrap;background:#ef444429;border:1px solid #ef444480;border-radius:8px;height:34px;padding:0 12px;font-size:13px;font-weight:600;transition:filter .15s}.run-btn{color:#ef4444d9}.run-btn:hover{color:#f87171;background:#ef44441f}.run-btn .btn-spinner{margin-right:0}.run-btn .run-icon-stop{justify-content:center;align-items:center;display:none}.run-btn:hover .run-icon-spin{display:none}.run-btn:hover .run-icon-stop{display:inline-flex}.stop-square{background:currentColor;border-radius:2px;width:10px;height:10px}.stop-btn:hover{filter:brightness(1.18);background:#ef444447}.prompt-area{flex-direction:column;gap:8px;display:flex}.prompt-toolbar{align-items:center;gap:8px;display:flex}.new-chat-btn{color:#0a0a0a;cursor:pointer;white-space:nowrap;background:#27272799;border:1px solid #fff6;border-radius:6px;padding:5px 12px;font-size:12px;transition:all .12s}.new-chat-btn:hover{color:#0a0a0a;background:#464646b3;border-color:#fff9}.mode-pills{flex:1;gap:4px;display:flex}.mode-pill{cursor:pointer;color:#acacac;background:#37373773;border:1px solid #91919140;border-radius:12px;padding:4px 10px;font-size:11px;transition:all .12s}.mode-pill:hover{border-color:#ffffff80}.mode-pill.active{color:#0a0a0a;background:linear-gradient(90deg,#fff,#fff);border-color:#0000}.agent-badge{text-align:center;color:#0a0a0a;white-space:nowrap;text-overflow:ellipsis;background:linear-gradient(90deg,#ffffff40,#ffffff40);border:1px solid #fff6;border-radius:12px;flex:1;padding:5px 12px;font-size:11.5px;overflow:hidden}.chat-thread{background:#0f0f0f8c;border:1px solid #87878733;border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.chat-welcome{text-align:center;color:#7c7c7c;padding:18px 12px;font-size:12px}.chat-scroll{flex-direction:column;flex:1;gap:14px;min-height:0;padding:12px 12px 16px;display:flex;overflow-y:auto}.chat-msg{flex-direction:column;gap:4px;max-width:92%;display:flex}.chat-msg.user-msg{align-self:flex-end;align-items:flex-end;max-width:78%}.chat-msg.ai-msg{align-self:flex-start;align-items:flex-start;max-width:98%}.msg-label{color:#acacac;align-items:center;gap:6px;font-size:11px;font-weight:600;display:flex}.user-msg .msg-label{color:#fff}.msg-tag{color:#bababa;background:#ffffff1a;border-radius:4px;padding:1px 6px;font-size:9px;font-weight:400}.msg-tag.local{color:#34d399;background:#10b98133}.msg-tag.fallback{color:#fbbf24;background:#fbbf2433}.msg-tag.error{color:#f87171;background:#ef444440}.msg-tag.asking{color:#fbbf24;background:#fbbf2438}.msg-tag.verdict{color:#d4d4d4;background:#d4d4d438}.msg-tag.paused{color:#fbbf24;background:#fbbf2438;animation:1.2s ease-in-out infinite tagPulse}.msg-body{white-space:pre-wrap;word-break:break-word;border-radius:12px;width:100%;padding:10px 12px;font-size:13px;line-height:1.6}.user-msg .msg-body{color:#0a0a0a;background:linear-gradient(135deg,#ffffff47,#ffffff1f);border:1px solid #ffffff59;border-bottom-right-radius:4px}.ai-msg .msg-body{color:#0a0a0a;background:#1f1f1fb8;border:1px solid #73737338;border-bottom-left-radius:4px}.msg-tag.thinking,.msg-tag.streaming{color:#0a0a0a;background:#ffffff40;animation:1.2s ease-in-out infinite tagPulse}@keyframes tagPulse{0%,to{opacity:.55}50%{opacity:1}}.pending .msg-body{color:#fff}.pending-body{align-items:center;gap:8px;display:flex}.status-text{color:#fff}.typing{gap:3px;display:inline-flex}.typing i{background:#a8a8a8;border-radius:50%;width:5px;height:5px;animation:1.2s ease-in-out infinite typingBlink;display:inline-block}.interaction-msg .msg-body{background:#fbbf24b8;border-color:#fbbf2466}.interaction-question{color:#fbbf24;margin-bottom:12px;font-size:13.5px;line-height:1.6}.interaction-options{flex-direction:column;gap:8px;display:flex}.option-card{text-align:left;color:#0a0a0a;cursor:pointer;background:#242424b3;border:1px solid #7f7f7f4d;border-radius:10px;align-items:center;gap:10px;width:100%;padding:11px 14px;font-size:13px;transition:border-color .15s,background .15s,transform 80ms;display:flex;position:relative}.option-card:hover:not(:disabled){background:#363636d9;border-color:#ffffffb3}.option-card:active:not(:disabled){transform:scale(.99)}.option-card:disabled{opacity:.55;cursor:not-allowed}.option-card.recommended{border-color:#fbbf248c}.option-card.recommended:hover:not(:disabled){border-color:#fbbf24cc}.option-card.selected{background:linear-gradient(135deg,#ffffff47,#ffffff1f);border-color:#d4d4d4f2;box-shadow:inset 0 0 0 1px #d4d4d480}.option-badge{color:#fbbf24;background:#fbbf24e6;border-radius:4px;flex:none;padding:1px 7px;font-size:10px;font-weight:700}.option-label{flex:auto}.option-check{color:#fff;opacity:.8;flex:none;font-size:11px}.option-card.recommended .option-check{color:#fbbf24}.option-card.has-hint{flex-wrap:wrap;align-items:flex-start}.option-hint{color:#bababa;opacity:.92;white-space:normal;flex:1 0 100%;margin-top:2px;font-size:11.5px;line-height:1.55}.manual-edit-entry{background:#1f1f1f8c;border:1px solid #87878747;border-radius:10px;flex-direction:column;gap:6px;margin-bottom:10px;padding:10px 12px;display:flex}.manual-edit-entry-btn{text-align:left;color:#0a0a0a;cursor:pointer;background:linear-gradient(135deg,#fffffff2,#d4d4d4eb);border:1px solid #d4d4d4d9;border-radius:8px;align-items:center;gap:8px;width:100%;padding:8px 12px;font-size:13.5px;font-weight:700;line-height:1.25;transition:border-color .15s,background .15s,box-shadow .15s,transform .1s;display:flex;box-shadow:0 2px 10px #ffffff4d}.manual-edit-entry-btn .option-badge{color:#313131;background:#fbbf24f2;border-radius:6px;padding:2px 8px;font-size:13px}.manual-edit-entry-btn:after{content:"›";color:#fff;opacity:.92;margin-left:auto;font-size:18px;font-weight:700;line-height:1}.manual-edit-entry-btn:hover:not(:disabled){background:linear-gradient(135deg,#fff,#d4d4d4f5);border-color:#d4d4d4;transform:translateY(-1px);box-shadow:0 4px 16px #ffffff80}.manual-edit-entry-btn:active:not(:disabled){transform:translateY(0)scale(.99)}.manual-edit-entry-btn:disabled{filter:saturate(.5);box-shadow:none;cursor:not-allowed}.manual-edit-hint{color:#bababa;opacity:.92;white-space:normal;font-size:11.5px;line-height:1.55}.other-option{background:#1e1e1e99;border-color:#10b98166}.other-option:hover:not(:disabled){background:#10b981cc;border-color:#34d399cc}.other-option.active,.other-option.selected{background:#10b981e6;border-color:#34d399e6;box-shadow:inset 0 0 0 1px #34d3998c}.other-badge{color:#10b981;background:#10b981e6;font-weight:700}.other-input-wrap{flex-direction:column;gap:8px;margin-top:2px;display:flex}.other-input{resize:vertical;color:#34d399;background:#121212e6;border:1px solid #34d39973;border-radius:9px;outline:none;width:100%;min-height:60px;padding:9px 11px;font-family:inherit;font-size:13px;line-height:1.5}.other-input:focus{border-color:#34d399d9}.other-input::placeholder{color:#10b981}.ip-preview{background:#1b1b1bb8;border:1px solid #7f7f7f57;border-radius:10px;margin-bottom:12px;padding:10px 12px 8px}.ip-preview-head{color:#bababa;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;font-size:12px;display:flex}.ip-preview-title{color:#fff;font-weight:600}.ip-preview-legend{color:#acacac;white-space:nowrap;align-items:center;gap:6px;font-size:11px;display:inline-flex}.ip-preview-legend .ip-dot{background:#d4d4d4;border-radius:50%;width:8px;height:8px;display:inline-block}.ip-preview-legend .ip-dot.risk{background:#ef4444;box-shadow:0 0 0 2px #ef444438}.ip-preview-legend .ip-line{border-top:2px solid #fbbf24d9;width:14px;height:0;margin-left:4px;display:inline-block}.ip-preview-body{align-items:flex-start;gap:10px;display:flex}.ip-svg{flex:auto;width:100%;min-width:0;height:auto;display:block}.ip-thumb-wrap{background:#121212cc;border:1px solid #7f7f7f57;border-radius:8px;flex:none;width:104px;overflow:hidden}.ip-thumb{object-fit:contain;width:100%;height:auto;max-height:132px;display:block}.ip-stats{color:#bababa;flex-wrap:wrap;gap:12px;margin-top:7px;font-size:11.5px;display:flex}.ip-gap{margin-top:5px;font-size:11.5px;line-height:1.5}.ip-gap.ok{color:#34d399}.ip-gap.bad{color:#fbbf24}.ip-cap-note{color:#fbbf24;background:#fbbf248c;border:1px solid #fbbf2457;border-radius:8px;margin-bottom:8px;padding:7px 10px;font-size:12px;line-height:1.55}.ip-preview-legend .ip-line-fence{border-top-color:#10b981}.ip-fence-poly,.ip-fence-rect,.ip-fence-outline,.ip-fence-name{pointer-events:none}.ip-fence-err{color:#f87171;background:#ef44444d;border:1px solid #ef444466;border-radius:8px;margin-top:6px;padding:7px 10px;font-size:12px;line-height:1.55}.fence-manual-off{background:#1c1c1c8c;border:1px dashed #91919159;border-radius:8px;margin:2px 0 8px;padding:7px 10px}.pattern-card .msg-body{background:#fbbf249e;border-color:#fbbf2447}.pattern-card .stream-block-head{margin-bottom:8px}.msg-tag.pattern{color:#fbbf24;background:#fbbf2438}.msg-tag.pattern-done{color:#34d399;background:#10b98133}.pattern-answer{background:#10b9818c;border:1px solid #34d3994d;border-radius:8px;align-items:baseline;gap:8px;margin-top:10px;padding:8px 11px;font-size:12.5px;line-height:1.55;display:flex}.pattern-answer-label{color:#34d399;white-space:nowrap;font-weight:600}.pattern-answer-text{color:#34d399;word-break:break-word}.interaction-inline{flex-direction:column;gap:4px;width:100%;min-width:0;display:flex}.interaction-inline>.msg-body{border-radius:10px}.interaction-actions{align-items:center;gap:12px;margin-top:14px;display:flex}.interaction-submit{cursor:pointer;color:#0a0a0a;white-space:nowrap;background:#7a7a7af2;border:1px solid #d4d4d4e6;border-radius:9px;flex-shrink:0;min-width:max-content;padding:9px 26px;font-size:13.5px;font-weight:700;transition:all .15s}.interaction-submit:hover:not(:disabled){background:#fff}.interaction-submit:disabled{opacity:.5;cursor:not-allowed;color:#d4d4d4;background:#5559;border-color:#96969666}.interaction-hint{color:#aeaeae;flex:1;min-width:0;font-size:12px}.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}@keyframes typingBlink{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}.pending-log{border-top:1px dashed #a5a5a529;margin-top:4px;padding-top:4px}.pending-log>summary{cursor:pointer;color:#9e9e9e;-webkit-user-select:none;user-select:none;font-size:10.5px;list-style:none}.pending-log>summary::-webkit-details-marker{display:none}.pending-log>summary:before{content:"▸ "}.pending-log[open]>summary:before{content:"▾ "}.pending-log-body{color:#b1b1b1;flex-direction:column;gap:2px;max-height:130px;padding-right:4px;font-size:10.5px;line-height:1.5;display:flex;overflow-y:auto}.memory-view{background:#20202066;border:1px solid #a5a5a533;border-radius:8px;margin-bottom:8px;overflow:hidden}.memory-view>summary{cursor:pointer;color:#bdbdbd;-webkit-user-select:none;user-select:none;padding:6px 10px;font-size:11.5px;list-style:none}.memory-view>summary::-webkit-details-marker{display:none}.memory-view>summary:before{content:"▸ ";color:#8d8d8d}.memory-view[open]>summary:before{content:"▾ "}.memory-body{padding:0 10px 8px}.memory-state{border-bottom:1px dashed #a5a5a529;grid-template-columns:auto 1fr;gap:2px 8px;margin-bottom:6px;padding-bottom:6px;font-size:11px;display:grid}.memory-k{color:#9e9e9e}.memory-v{color:#fff}.memory-log{flex-direction:column;gap:3px;display:flex}.memory-log-item{color:#bbb;font-size:10.5px;line-height:1.5}.msg-time{color:#666;font-variant-numeric:tabular-nums;align-self:flex-end;font-size:10px}.chat-msg.restored .msg-body{box-shadow:0 0 0 1px #d4d4d44d,0 0 14px #ffffff40;background:#3c3c3c8c!important;border:1px solid #d4d4d48c!important}.restored-tag{color:#0a0a0a!important;background:#ffffff47!important}.msg-actions{gap:8px;margin-top:8px;display:flex}.restore-btn{color:#0a0a0a;cursor:pointer;background:#5f5f5f4d;border:1px solid #d4d4d459;border-radius:7px;padding:5px 12px;font-size:12px;transition:background .12s,border-color .12s}.restore-btn:hover:not(:disabled){background:#7d7d7d80;border-color:#fff9}.restore-btn.active{color:#0a0a0a;background:#ffffff52;border-color:#d4d4d4cc}.restore-btn:disabled{opacity:.5;cursor:not-allowed}.restore-banner{color:#0a0a0a;background:#4b4b4b59;border:1px solid #d4d4d466;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;font-size:12px;line-height:1.4;display:flex}.restore-cancel{color:#f87171;cursor:pointer;background:#ef444447;border:1px solid #ef444459;border-radius:6px;flex-shrink:0;padding:4px 10px;font-size:11px}.restore-cancel:hover:not(:disabled){background:#ef444480}.restore-cancel:disabled{opacity:.5;cursor:not-allowed}.ai-msg.streaming-msg .msg-body{background:#2e2e2e9e;border-color:#ffffff6b;box-shadow:0 0 0 1px #ffffff1f}.streaming-blocks{flex-direction:column;gap:8px;display:flex}.stream-block{background:#1010108c;border:none;border-radius:8px;transition:background .2s,box-shadow .2s;overflow:hidden}.tool-block,.observation-block,.reasoning-block,.todo-block{background:#101010b8;box-shadow:inset 0 0 0 1px #5f5f5f29}.text-block{box-shadow:none;background:0 0}.stream-block-head{all:unset;box-sizing:border-box;cursor:pointer;color:#dcdcdc;align-items:center;gap:6px;width:100%;padding:8px 10px;font-size:12.5px;line-height:1.4;display:flex}.stream-block-head:hover{background:#4b4b4b2e}.stream-icon{opacity:.9;flex-shrink:0;font-size:13px}.stream-label{color:#fff;letter-spacing:.2px;white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:0;font-weight:600;overflow:hidden}.stream-sep{background:#a5a5a538;flex-shrink:0;width:1px;height:12px;margin:0 2px}.stream-args{color:#a9a9a9;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;max-width:90px;font-size:12px;overflow:hidden}.stream-summary{color:#cdcdcd;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.stream-summary[data-follow-end=true]{text-align:left;direction:ltr}.stream-chevron{color:#a1a1a1;flex-shrink:0;margin-left:6px;font-size:12px}.stream-status{letter-spacing:.2px;white-space:nowrap;z-index:1;border-radius:999px;flex-shrink:0;align-items:center;gap:5px;min-width:max-content;margin-left:auto;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex;position:relative;overflow:visible}.stream-status.status-done{color:#34d399;background:#10b9812e;border:1px solid #10b98159}.stream-status.status-running{color:#d4d4d4;background:#8c8c8c2e;border:1px solid #d4d4d466}.stream-duration{color:#c9c9c9;opacity:.85;font-weight:500}.status-dot{flex-shrink:0;justify-content:center;align-items:center;width:12px;height:12px;font-size:10px;display:inline-flex}.running-dot{border:2px solid;border-top-color:#0000;border-radius:50%;animation:1s linear infinite spinDot}@keyframes spinDot{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tool-running{border-color:#96969659;box-shadow:0 0 0 1px #96969614}.tool-running .stream-block-head:hover{background:#8282821f}.stream-block-body{color:#d0d0d0;white-space:pre-wrap;word-break:break-word;background:#0c0c0c8c;border-top:1px solid #5f5f5f2e;width:100%;padding:8px 10px 10px;font-size:12px;line-height:1.55}.text-block{color:#fff;white-space:pre-wrap;word-break:break-word;background:0 0;border:none;align-items:flex-start;padding:0}.tool-block,.observation-block,.result-block{color:#d1d1d1}.result-block{background:#101010b8;box-shadow:inset 0 0 0 1px #5f5f5f29}.result-block.result-running{border-color:#96969659;box-shadow:0 0 0 1px #96969614}.result-block.result-running .stream-block-head:hover{background:#8282821f}.result-block.result-running .stream-summary{color:#fff}.result-body{overscroll-behavior:contain;white-space:normal;max-height:220px;overflow-y:auto}.result-block.result-done .result-body{max-height:none;overflow:visible}.stream-inout{margin-top:6px}.stream-inout-label{letter-spacing:.5px;color:#909090;text-transform:uppercase;margin-bottom:4px;font-size:10px;font-weight:600}.stream-code{color:#0a0a0a;white-space:pre-wrap;word-break:break-word;background:#090909c7;border:1px solid #5f5f5f2e;border-radius:6px;max-height:240px;margin:0;padding:8px 10px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:11.5px;line-height:1.5;overflow:auto}.todo-block{color:#dcdcdc;opacity:.9;flex-direction:column;gap:6px;padding:8px 10px 10px;display:flex}.todo-header{color:#fff;align-items:center;gap:6px;font-size:12.5px;font-weight:600;line-height:1.4;display:flex}.todo-list{color:#cdcdcd;margin:0;padding-left:18px;font-size:12.5px;line-height:1.5;list-style:outside}.todo-item{word-break:break-word}.step-line{color:#bdbdbd;text-align:left;cursor:pointer;background:0 0;border:none;border-left:2px solid #91919138;align-items:center;width:100%;margin:2px 0 2px 10px;padding:2px 0 2px 12px;font-size:12px;line-height:1.4;transition:background .12s;display:flex}.step-line:hover{background:#aaaaaa14}.step-dot{background:#91919173;border:2px solid #101010;border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-left:-17px;margin-right:5px}.step-text{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.step-line.expanded .step-text{white-space:pre-wrap;text-overflow:clip;word-break:break-word;overflow:visible}.step-chevron{color:#acacac;flex-shrink:0;margin-left:8px;font-size:10px}.step-line.status-progress{border-left-color:#ffffff59}.step-line.status-progress .step-dot{background:#ffffff8c}.step-line.status-done{border-left-color:#10b98159}.step-line.status-done .step-dot{background:#10b9818c}.step-line.status-warn{border-left-color:#fbbf2459}.step-line.status-warn .step-dot{background:#fbbf248c}.reasoning-block[data-state=running] .stream-summary{color:#fff}.md-markdown{color:#fff;word-break:break-word;flex-direction:column;gap:8px;font-size:13px;line-height:1.65;display:flex}.md-stream-cursor{color:#fff;font-weight:400;animation:1s step-end infinite cursorBlink}@keyframes cursorBlink{0%,to{opacity:1}50%{opacity:0}}.md-markdown>:first-child{margin-top:0}.md-markdown>:last-child{margin-bottom:0}.md-plain-stream{white-space:pre-wrap;overflow-wrap:anywhere;color:#fff;font-size:13px;line-height:1.65}.md-heading{color:#fff;font-weight:700;line-height:1.3}.md-h1{margin:14px 0 8px;font-size:19px}.md-h2{margin:12px 0 6px;font-size:17px}.md-h3{margin:10px 0 5px;font-size:15px}.md-h4{margin:8px 0 4px;font-size:14px}.md-h5,.md-h6{color:#dcdcdc;margin:6px 0 4px;font-size:13px}.md-para{margin:0}.md-link{color:#fff;border-bottom:1px solid #fff6;text-decoration:none}.md-link:hover{color:#fff}.md-inline-code{color:#0a0a0a;white-space:pre-wrap;background:#50505080;border:1px solid #9191912e;border-radius:4px;margin:0 1px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Consolas,Menlo,monospace;font-size:.9em}.md-list{flex-direction:column;gap:3px;margin:0;padding-left:22px;display:flex}.md-list li{margin:0}.md-list-nested{margin-left:14px;list-style:circle}.md-hr{border:none;border-top:1px solid #a5a5a540;margin:6px 0}.md-quote{color:#d3d3d3;background:#6464641f;border-left:3px solid #ffffff80;border-radius:0 6px 6px 0;flex-direction:column;gap:3px;margin:0;padding:4px 12px;display:flex}.md-codeblock{background:#171717;border:1px solid #9191912e;border-radius:8px;margin:0;overflow:hidden}.md-codeblock-head{background:#41414166;border-bottom:1px solid #91919124;justify-content:space-between;align-items:center;padding:5px 12px;display:flex}.md-codeblock-lang{color:#b7b7b7;text-transform:lowercase;font-family:ui-monospace,Consolas,monospace;font-size:11px}.md-copy-btn{color:#0a0a0a;cursor:pointer;background:#6464644d;border:1px solid #ffffff4d;border-radius:5px;padding:2px 10px;font-size:11px;transition:background .12s,color .12s,border-color .12s}.md-copy-btn:hover{background:#82828280;border-color:#d4d4d48c}.md-codeblock-pre{color:#fff;margin:0;padding:12px 14px;font-family:ui-monospace,SFMono-Regular,Consolas,Menlo,monospace;font-size:12.5px;line-height:1.55;overflow-x:auto}.md-codeblock-pre code{background:0 0;border:none;padding:0}.md-table-wrap{margin:0;overflow-x:auto}.md-table{border-collapse:collapse;width:100%;font-size:12.5px}.md-table th,.md-table td{text-align:left;vertical-align:top;border:1px solid #a5a5a538;padding:6px 10px}.md-table th{color:#0a0a0a;background:#64646440;font-weight:600}.md-table td{color:#ddd}.md-table tr:nth-child(2n) td{background:#4444442e}.ai-msg.error-msg .msg-label{color:#f87171}.ai-msg.error-msg .msg-body{color:#ef4444;background:#ef44441f;border-color:#ef444473;font-weight:600}.input-row{align-items:stretch;gap:8px;display:flex}.input-content{flex-direction:column;flex:1;gap:6px;display:flex}.input-box{background:#161616;border:1px solid #91919140;border-radius:12px;flex-direction:column;min-height:120px;padding:12px;transition:border-color .15s,box-shadow .15s;display:flex;position:relative}.input-box:focus-within{border-color:#fff;box-shadow:0 0 0 3px #ffffff1f}.prompt-input{color:#0a0a0a;white-space:pre-wrap;word-break:break-word;background:0 0;border:none;border-radius:0;outline:none;flex:1;width:100%;min-height:52px;max-height:180px;padding:0;font-family:inherit;font-size:13px;line-height:1.6;overflow-y:auto}.prompt-input.is-empty:before{content:attr(data-placeholder);color:#bebebe73;pointer-events:none}.ins-chip{white-space:nowrap;color:#34d399;-webkit-user-select:none;user-select:none;vertical-align:baseline;background:#34d39929;border-radius:6px;margin:0 1px;padding:1px 7px;display:inline}.ins-chip:hover{background:#34d39942}.input-actions{flex-flow:wrap;justify-content:flex-end;align-items:center;gap:4px;margin-top:8px;display:flex}.input-actions .input-icon-btn{flex-shrink:0}.input-icon-btn{color:#ffffffbf;cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;line-height:1;transition:background .15s,color .15s;display:inline-flex}.input-icon-btn:hover:not(:disabled){color:#0a0a0a;background:#ffffff1f}.input-icon-btn:disabled{opacity:.35;cursor:not-allowed}.send-icon-btn{color:#fffffff2}.send-icon-btn:hover:not(:disabled){color:#0a0a0a;background:#ffffff2e}.input-profile-wrap{color:#ffffffbf;background:0 0;border:none;border-radius:8px;align-items:center;gap:0;padding:3px 4px 3px 6px;transition:background .15s,color .15s;display:inline-flex}.input-profile-wrap:hover{color:#0a0a0a;background:#ffffff14}.input-skills-wrap{color:#ffffffbf;background:0 0;border:none;border-radius:8px;align-items:center;gap:0;padding:3px 4px 3px 6px;transition:background .15s,color .15s;display:inline-flex}.input-skills-wrap:hover{color:#0a0a0a;background:#ffffff14}.input-skills-wrap.is-partial{color:#fbbf24}.input-skills-wrap.is-partial:hover{background:#fbbf2414}.input-skills-icon{flex-shrink:0;font-size:13px;line-height:1}.input-skills-btn{color:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;outline:none;align-items:center;gap:5px;padding:2px 4px;font-family:inherit;font-size:12px;display:inline-flex}.input-skills-btn:disabled{opacity:.5;cursor:not-allowed}.input-skills-label{flex-shrink:0}.input-skills-count{font-variant-numeric:tabular-nums;background:#9191912e;border-radius:999px;padding:1px 5px;font-size:11px}.input-skills-wrap.is-partial .input-skills-count{background:#fbbf2433}.skills-menu{z-index:60;background:#1f1f1ffa;border:1px solid #91919159;border-radius:10px;flex-direction:column;gap:4px;max-height:min(48vh,320px);padding:8px;animation:.12s ease-out fx-menu-in;display:flex;position:fixed;overflow-y:hidden;box-shadow:0 10px 26px #00000080}.skills-list{flex-direction:column;flex:auto;gap:4px;min-height:0;display:flex;overflow-y:auto}.skills-menu-hint{color:#a1a1a1;padding:2px 4px 6px;font-size:11px;line-height:1.5}.skills-item{cursor:pointer;border-radius:8px;align-items:flex-start;gap:7px;padding:5px 6px;display:flex}.skills-item:hover{background:#ffffff24}.skills-item input{accent-color:#fff;cursor:pointer;flex-shrink:0;margin:3px 0 0}.skills-item-text{cursor:pointer;min-width:0;display:block}.skills-item-name{color:#a1a1a1;text-overflow:ellipsis;white-space:nowrap;font-size:12px;display:block;overflow:hidden}.skills-item.is-on .skills-item-name{color:#fff}.skills-item-desc{color:#8d8d8d;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-height:2.9em;font-size:11px;line-height:1.45;display:-webkit-box;overflow:hidden}.skills-menu-manage{color:#0a0a0a;text-align:left;cursor:pointer;background:#ffffff1a;border:none;border-top:1px solid #91919138;border-radius:0 0 8px 8px;margin-top:4px;padding:7px 8px;font-family:inherit;font-size:12px}.skills-menu-manage:hover{color:#0a0a0a;background:#ffffff38}.skill-manage-overlay{justify-content:center;align-items:center;display:flex}.skill-manage-modal{width:min(520px,92vw)}.skill-manage-hint{color:#a1a1a1;padding:2px 2px 8px;font-size:12px;line-height:1.6}.skill-manage-bar{border-bottom:1px solid #9191912e;align-items:center;gap:10px;padding:0 2px 8px;display:flex}.skill-manage-count{color:#fff;font-variant-numeric:tabular-nums;font-size:12px}.skill-manage-link{color:#8d8d8d;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:12px}.skill-manage-link:hover:not(:disabled){color:#fff;text-decoration:underline}.skill-manage-link:disabled{opacity:.45;cursor:not-allowed}.skill-manage-list{flex-direction:column;gap:2px;max-height:min(46vh,360px);display:flex;overflow-y:auto}.skill-manage-empty{color:#8d8d8d;text-align:center;padding:22px 0;font-size:12px}.skill-manage-note{color:#34d399;background:#10b98124;border-radius:8px;margin-top:8px;padding:6px 8px;font-size:12px}.skill-upload-overlay{z-index:1100;background:#d4d4d4bd;animation:.16s ease-out skill-layer-in}@keyframes skill-layer-in{0%{opacity:0}to{opacity:1}}.skill-upload-modal{width:min(460px,92vw);animation:.17s cubic-bezier(.22,1,.36,1) skill-pop-in}@keyframes skill-pop-in{0%{opacity:0;transform:translateY(10px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.skill-drop{cursor:pointer;background:#1f1f1f8c;border:1px dashed #91919180;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:132px;padding:18px;transition:border-color .15s,background .15s;display:flex}.skill-drop:hover,.skill-drop.drag-over{background:#ffffff1a;border-color:#fff}.skill-drop.has-file{background:#10b9811a;border-style:solid;border-color:#10b98199}.skill-drop-icon{font-size:26px;line-height:1}.skill-drop-text{color:#ddd;font-size:13px}.skill-drop.has-file .skill-drop-text{color:#34d399;word-break:break-all;text-align:center}.skill-drop-repick{color:#8d8d8d;font-size:11px}.skill-upload-hints{color:#a1a1a1;margin:12px 0 0;padding-left:18px;font-size:12px;line-height:1.9}.skill-upload-err{color:#f87171;word-break:break-all;background:#ef444424;border-radius:8px;margin-top:10px;padding:6px 8px;font-size:12px}.model-row{align-items:center;gap:6px;display:flex}.model-row select{flex:auto;width:auto;min-width:0}.model-row .profile-btn{cursor:pointer;white-space:nowrap;color:#0a0a0a;background:#ffffff29;border:1px solid #ffffff73;border-radius:7px;flex:none;padding:6px 10px;font-size:12px}.model-row .profile-btn:hover{background:#ffffff4d}.model-manage-overlay{z-index:1100;background:#d4d4d4bd;justify-content:center;align-items:center;animation:.16s ease-out skill-layer-in;display:flex}.model-manage-modal{width:min(520px,92vw);animation:.17s cubic-bezier(.22,1,.36,1) skill-pop-in}.model-manage-hint{color:#a1a1a1;padding:2px 2px 10px;font-size:12px;line-height:1.6}.model-add{align-items:center;gap:8px;display:flex}.model-add input{color:#0a0a0a;background:#101010;border:1px solid #91919140;border-radius:8px;flex:auto;min-width:0;padding:7px 9px;font-family:inherit;font-size:12px}.model-add input:focus{border-color:#fff;outline:none}.model-add-btn{flex:none;min-width:72px}.model-manage-list{flex-direction:column;gap:2px;max-height:min(46vh,360px);margin-top:10px;display:flex;overflow-y:auto}.model-item{border-radius:7px;align-items:center;gap:6px;padding:2px 6px;display:flex}.model-item:hover{background:#ffffff1a}.model-item.is-current{background:#ffffff29}.model-item-name{color:#0a0a0a;text-align:left;cursor:pointer;background:0 0;border:none;flex:auto;align-items:center;gap:6px;min-width:0;padding:4px 0;font-family:inherit;font-size:12px;display:flex}.model-item-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.model-item-check{color:#34d399;flex:none;width:12px}.model-item-del{color:#f87171;cursor:pointer;background:#ef444438;border:1px solid #ef44444d;border-radius:6px;flex:none;width:24px;height:24px;font-size:12px;line-height:1}.model-item-del:hover{color:#0a0a0a;background:#ef444473}.model-manage-empty{color:#8d8d8d;text-align:center;margin-top:10px;padding:22px 0;font-size:12px}.model-manage-note{color:#fbbf24;background:#fbbf2424;border-radius:8px;margin-top:8px;padding:6px 8px;font-size:12px}.model-manage-count{color:#8d8d8d;margin-top:10px;font-size:11px}.input-profile-icon{flex-shrink:0;font-size:13px;line-height:1}.input-profile-select{text-overflow:ellipsis;white-space:nowrap;color:#0a0a0a;cursor:pointer;appearance:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%239ec1ff' d='M0 1.2L1.2 0 5 3.8 8.8 0 10 1.2 5 6z'/%3E%3C/svg%3E") right 5px center/10px 6px no-repeat;border:none;border-radius:6px;outline:none;width:74px;min-width:0;max-width:74px;padding:3px 18px 3px 6px;font-family:inherit;font-size:12px;overflow:hidden}.input-profile-select:disabled{opacity:.5;cursor:not-allowed}.input-profile-select option{color:#0a0a0a;background:#181818;font-size:12px}.input-profile-select.input-profile-prompt{appearance:auto;color:#fbbf24;cursor:pointer;background:#fbbf2414;border:1px dashed #fbbf248c;border-radius:6px;max-width:160px;padding-right:8px}.input-profile-select.input-profile-prompt:hover{color:#fbbf24;background:#fbbf2429;border-color:#fbbf24d9}.input-profile-trigger{color:#0a0a0a;cursor:pointer;background:0 0;border:none;border-radius:6px;outline:none;align-items:center;gap:4px;min-width:0;max-width:104px;padding:3px 6px;font-family:inherit;font-size:12px;display:inline-flex}.input-profile-trigger:disabled{opacity:.5;cursor:not-allowed}.input-profile-trigger-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.input-profile-trigger-caret{color:#fff;flex-shrink:0;font-size:10px;line-height:1}.agent-model-menu{z-index:60;background:#1f1f1ffa;border:1px solid #91919159;border-radius:10px;flex-direction:column;max-height:min(56vh,420px);padding:6px;animation:.12s ease-out fx-menu-in;display:flex;position:fixed;overflow:hidden;box-shadow:0 10px 26px #00000080}.agent-model-list{flex-direction:column;flex:auto;gap:2px;min-height:0;display:flex;overflow-y:auto}.agent-model-group{flex-direction:column;display:flex}.agent-model-group-name{color:#a1a1a1;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:5px;padding:5px 8px 2px;font-size:11px;font-weight:700;display:flex;overflow:hidden}.agent-model-builtin{color:#fbbf24;font-size:10px}.agent-model-item{color:#ddd;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;gap:6px;padding:5px 8px;font-family:inherit;font-size:12px;display:flex}.agent-model-item:hover{background:#ffffff29}.agent-model-item.is-active{color:#0a0a0a;background:#ffffff24}.agent-model-item.no-key{color:#fbbf24}.agent-model-check{color:#34d399;flex-shrink:0;width:12px;font-size:11px}.agent-model-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.agent-model-warn{flex-shrink:0;font-size:11px}.agent-model-speed{color:#aeaeae;font-variant-numeric:tabular-nums;flex-shrink:0;font-size:11px}.agent-model-foot{color:#0a0a0a;text-align:left;cursor:pointer;background:#ffffff1a;border:none;border-top:1px solid #91919138;border-radius:0 0 8px 8px;flex-shrink:0;margin-top:4px;padding:7px 8px;font-family:inherit;font-size:12px}.agent-model-foot:hover{color:#0a0a0a;background:#ffffff38}.user-center-modal{width:min(340px,100%)}.user-center-pop{z-index:1000;pointer-events:none;position:fixed;inset:0}.user-center-pop>div{left:var(--uc-left,16px);bottom:var(--uc-bottom,16px);pointer-events:auto;position:absolute}.user-center-modal .modal-body{padding:0}.uc-head{border-bottom:1px solid #9191912e;align-items:center;gap:10px;padding:14px 16px;display:flex}.uc-avatar{color:#d4d4d4;background:linear-gradient(160deg,#10b981,#10b981);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex;box-shadow:0 2px 10px #10b98159}.uc-avatar svg{width:26px;height:26px;display:block}.uc-name{text-overflow:ellipsis;white-space:nowrap;color:#fff;flex:1;min-width:0;font-size:14px;font-weight:600;overflow:hidden}.uc-credits-pill{color:#0a0a0a;cursor:pointer;background:#9191911a;border:1px solid #9b9b9b61;border-radius:999px;flex-shrink:0;align-items:center;gap:5px;padding:5px 11px;font-family:inherit;font-size:12px;display:inline-flex}.uc-credits-pill svg{color:#fff;width:13px;height:13px;display:block}.uc-credits-pill b{color:#fff;font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.uc-credits-pill:hover{background:#fff3;border-color:#ffffffa6}.uc-info{flex-direction:column;gap:6px;padding:12px 16px 10px;display:flex}.uc-info-row{align-items:baseline;gap:6px;min-width:0;font-size:13px;display:flex}.uc-info-k{color:#aeaeae;flex-shrink:0}.uc-info-v{color:#fff;word-break:break-all;min-width:0;font-weight:500}.uc-divider{background:#9191912e;height:1px}.uc-menu{flex-direction:column;gap:8px;padding:10px 16px;display:flex}.uc-menu-row{color:#0a0a0a;cursor:pointer;text-align:left;background:#ffffff0f;border:none;border-radius:9px;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:11px 12px;font-family:inherit;font-size:13px;display:flex}.uc-menu-row:hover{background:#ffffff1c}.uc-menu-arrow{color:#999;flex-shrink:0;font-size:15px;line-height:1}.uc-foot{padding:10px 16px 16px}.uc-logout{color:#f87171;cursor:pointer;background:#ef444424;border:1px solid #ef444466;border-radius:9px;width:100%;padding:11px 12px;font-family:inherit;font-size:13px;display:block}.uc-logout:hover{color:#f87171;background:#ef444447;border-color:#ef4444b3}.uc-logout:disabled{opacity:.55;cursor:default}.credits-layer,.uc-sub-layer{z-index:1100;background:#d4d4d4bd;animation:.16s ease-out credits-layer-in}@keyframes credits-layer-in{0%{opacity:0}to{opacity:1}}.credits-modal{width:min(720px,100%);animation:.17s cubic-bezier(.22,1,.36,1) credits-pop-in}.uc-sub-modal{width:min(430px,100%);animation:.17s cubic-bezier(.22,1,.36,1) credits-pop-in}.uc-sub-modal .modal-head{padding:14px 24px}.uc-sub-modal .modal-body{padding:24px 24px 14px}.uc-sub-modal .modal-foot{justify-content:stretch;gap:14px;padding:14px 24px 22px}.uc-sub-modal .modal-foot .dialog-btn{flex:1;justify-content:center}.uc-pwd-form{flex-direction:column;gap:18px;display:flex}.uc-pwd-form .hint-small{background:#9b9b9b14;border:1px solid #9b9b9b26;border-radius:6px;margin:2px 0 0;padding:8px 10px}@keyframes credits-pop-in{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.credits-modal-bal{color:#aeaeae;flex:1;justify-content:flex-end;align-items:baseline;gap:6px;margin-right:10px;font-size:12px;font-weight:400;display:flex}.credits-modal-bal b{color:#fbbf24;font-variant-numeric:tabular-nums;font-size:15px}.credits-kinds{flex-wrap:wrap;gap:6px;padding:10px 16px 0;display:flex}.credits-kind{color:#bbb;cursor:pointer;background:0 0;border:1px solid #9191914d;border-radius:999px;padding:4px 10px;font-family:inherit;font-size:12px}.credits-kind:hover{color:#0a0a0a;background:#ffffff24}.credits-kind.is-on{color:#0a0a0a;background:#ffffff42;border-color:#ffffffb3}.credits-modal-body{min-height:132px;padding:10px 14px}.credits-table-wrap{overflow-x:auto}.credits-table{border-collapse:collapse;width:100%;font-size:12px}.credits-table th{text-align:left;color:#acacac;white-space:nowrap;border-bottom:1px solid #91919138;padding:6px 8px;font-weight:600}.credits-table th.credits-th-num{text-align:right}.credits-table td{color:#ddd;border-bottom:1px solid #9191911a;padding:6px 8px}.credits-row:hover td{background:#ffffff1a}.credits-td-time{color:#a1a1a1;font-variant-numeric:tabular-nums;white-space:nowrap}.credits-td-kind{white-space:nowrap}.credits-td-remark,.credits-td-model{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.credits-td-model{color:#bbb}.credits-td-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.credits-td-num.is-in{color:#34d399}.credits-modal-foot{align-items:center}.credits-foot-sum{color:#a1a1a1;font-variant-numeric:tabular-nums;flex:1;min-width:0;font-size:12px}.credits-empty{text-align:center;color:#a1a1a1;padding:10px;font-size:12px}.credits-error{color:#f87171;align-items:center;gap:8px;padding:8px 6px;font-size:12px;display:flex}.credits-error-text{flex:1;min-width:0}.credits-retry{color:#0a0a0a;cursor:pointer;background:0 0;border:1px solid #91919166;border-radius:6px;flex-shrink:0;padding:3px 10px;font-family:inherit;font-size:12px}.credits-retry:hover{color:#0a0a0a;background:#fff3}.img-upload-btn{margin-left:auto}.voice-btn.listening{color:#ef4444;background:#ef444424;animation:1.2s ease-in-out infinite voice-pulse}@keyframes voice-pulse{0%,to{box-shadow:0 0 #ef444459}50%{box-shadow:0 0 0 5px #ef444400}}.voice-note{color:#ffffffe6;white-space:normal;word-break:break-word;min-height:16px;padding:2px 4px 4px;font-size:12px;line-height:1.5}.voice-note.voice-error{color:#ef4444f2}.music-player{z-index:12;color:#0a0a0a;pointer-events:auto;background:#181818eb;border:1px solid #91919147;border-radius:14px;align-items:center;gap:7px;max-width:min(420px,100% - 28px);padding:5px 9px;font-size:12px;display:inline-flex;position:absolute;bottom:96px;left:50%;transform:translate(-50%)}.music-player-icon{flex-shrink:0}.music-player-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.music-player-btn{width:22px;height:22px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;flex-shrink:0;padding:0;font-size:13px;line-height:1}.music-player-btn:hover{background:#ffffff3d}.input-preview-row{flex-wrap:wrap;gap:6px;padding:0 0 8px;display:flex}.image-preview-item{border:1px solid #9191914d;border-radius:6px;width:64px;height:64px;position:relative;overflow:hidden}.image-preview-item img{object-fit:cover;width:100%;height:100%}.image-remove-btn{color:#ef4444;text-align:center;cursor:pointer;background:#000000b3;border:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;padding:0;font-size:12px;line-height:18px;display:flex;position:absolute;top:2px;right:2px}.image-remove-btn:hover{color:#0a0a0a;background:#ef4444cc}.music-preview-item{background:#ffffff1f;border:1px solid #9191914d;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;display:flex;position:relative;overflow:hidden}.music-preview-icon{color:#0a0a0a;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:100%;height:100%;font-size:28px;transition:background .15s;display:flex}.music-preview-icon:hover{background:#ffffff2e}.user-images{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.user-msg-img{cursor:pointer;border:1px solid #91919133;border-radius:6px;max-width:200px;max-height:150px;transition:transform .15s}.user-msg-img:hover{transform:scale(1.05)}.user-music{color:#0a0a0a;background:#ffffff1f;border:1px solid #91919159;border-radius:999px;align-items:center;gap:6px;max-width:100%;margin-top:6px;padding:4px 9px;font-size:12px;line-height:1.4;display:inline-flex}.user-music-icon{flex-shrink:0}.user-music-name{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.kb-hint{color:#c3c3c38c;text-align:right;-webkit-user-select:none;user-select:none;margin-top:4px;font-size:11px}.history-sidebar{flex-direction:column;flex:1;gap:2px;min-height:0;display:flex;overflow:hidden}.history-sidebar-empty{color:#7f7f7f;text-align:center;padding:14px 10px;font-size:12px}.history-list{flex-direction:column;flex:1;gap:1px;min-height:0;display:flex;overflow:hidden auto}.history-row{cursor:pointer;background:#24242466;border-left:3px solid #0000;border-radius:6px;flex-direction:column;align-items:stretch;gap:5px;padding:8px 10px 7px 12px;transition:background .12s,border-color .12s;display:flex}.history-row:hover{background:#3e3e3eb3}.history-row.active{background:#d4d4d440;border-left-color:#0a0a0a}.history-row-top{align-items:center;gap:8px;min-width:0;display:flex}.history-row-meta{flex-wrap:wrap;align-items:center;gap:6px 8px;min-width:0;padding-left:1px;display:flex}.history-row-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:12.5px;font-weight:500;overflow:hidden}.history-row-time{color:#7f7f7f;font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0;margin-left:auto;font-size:11px}.history-row-running{background:#fff;border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:1.2s ease-in-out infinite history-pulse;box-shadow:0 0 6px #fff}.history-row-badge{color:#0a0a0a;white-space:nowrap;background:#ffffff26;border:1px solid #ffffff59;border-radius:4px;flex-shrink:0;align-items:center;gap:5px;padding:1px 6px;font-size:10px;display:inline-flex}.history-row-paused{background:#fbbf24;border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:1.2s ease-in-out infinite history-pulse;box-shadow:0 0 6px #fbbf24}.history-row-badge.paused{color:#fbbf24;background:#fbbf2433;border-color:#fbbf2466}@keyframes history-pulse{0%,to{opacity:.55;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}.agent-modes{margin-bottom:10px}.agent-modes-title{color:#aeaeae;letter-spacing:.5px;margin-bottom:6px;font-size:12px}.agent-modes-row{gap:6px;display:flex}.agent-mode{cursor:pointer;color:#fff;background:#37373773;border:1px solid #91919147;border-radius:8px;flex:1;padding:8px 6px;font-size:12.5px;font-weight:600;transition:all .15s}.agent-mode:hover{border-color:#fff9}.agent-mode.active{color:#0a0a0a;background:linear-gradient(90deg,#fff,#fff);border-color:#0000}.agent-modes-desc{color:#9a9a9a;min-height:30px;margin-top:6px;font-size:11px;line-height:1.5}.agent-modes-compact{gap:5px;display:flex}.agent-modes-compact .agent-mode{flex:1;padding:6px 4px;font-size:11.5px}.agent-trace{flex-direction:column;gap:6px;margin-top:6px;display:flex}.agent-trace details{background:#1d1d1d99;border:1px solid #73737333;border-radius:6px}.agent-trace summary{color:#acacac;cursor:pointer;-webkit-user-select:none;user-select:none;padding:5px 8px;font-size:11px}.agent-trace summary:hover{color:#fff}.trace-body{color:#d9d9d9;white-space:pre-wrap;word-break:break-word;padding:6px 8px 8px;font-size:11.5px;line-height:1.55}.agent-step{border-top:1px dashed #91919124;padding:5px 8px}.agent-thought{color:#fff;white-space:pre-wrap;word-break:break-word;font-size:11.5px;line-height:1.5}.agent-action{color:#34d399;margin:3px 0;font-size:11.5px;font-weight:600}.agent-obs{color:#acacac;white-space:pre-wrap;word-break:break-word;font-size:11px;line-height:1.5}.agent-memory{color:#a7a7a7;background:#fbbf2414;border:1px solid #fbbf2440;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;font-size:11px;display:flex}.agent-memory-clear{color:#fbbf24;cursor:pointer;background:0 0;border:1px solid #fbbf2466;border-radius:6px;flex:none;padding:2px 9px;font-size:11px}.agent-memory-clear:hover{background:#fbbf242e}.fx-chips{grid-template-columns:auto 1fr;align-items:center;gap:5px 6px;min-width:0;margin:2px 0 6px;display:grid}.fx-row{display:contents}.fx-row-label{color:#acacac;letter-spacing:.5px;-webkit-user-select:none;user-select:none;white-space:nowrap;grid-column:1;align-self:center;width:auto;min-width:28px;font-size:11px;line-height:1.2}.fx-row-scroll{flex-wrap:nowrap;grid-column:2;align-items:center;gap:6px;min-width:0;display:flex;overflow:hidden}.fx-row-toggle{cursor:pointer;color:#fff;background:#3737378c;border:1px solid #9191914d;border-radius:6px;flex:none;justify-content:center;align-items:center;gap:3px;width:auto;height:auto;min-height:22px;padding:4px 8px;transition:all .15s;display:inline-flex}.fx-toggle-label{white-space:nowrap;pointer-events:none;align-items:center;font-size:11px;display:inline-flex}.fx-row-toggle svg{transition:transform .15s}.fx-row-toggle:hover,.fx-row-toggle.open{color:#0a0a0a;background:#555555b3;border-color:#d4d4d48c}.fx-row-toggle.open svg{transform:rotate(180deg)}.fx-menu{z-index:60;background:#1f1f1ffa;border:1px solid #91919159;border-radius:10px;flex-direction:column;align-items:stretch;gap:6px;width:max-content;max-width:min(76vw,340px);max-height:min(50vh,260px);padding:8px;animation:.12s ease-out fx-menu-in;display:flex;position:fixed;overflow-y:auto;box-shadow:0 10px 26px #00000080}@keyframes fx-menu-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.fx-menu-chip{background:#373737b3;border-radius:8px;flex:none;justify-content:flex-start}.fx-chip{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;color:#fff;background:#37373773;border:1px solid #9191914d;border-radius:999px;flex:none;align-items:center;gap:4px;padding:4px 10px;font-family:inherit;font-size:12px;transition:all .15s;display:inline-flex}.fx-chip:hover{color:#0a0a0a;background:#5559;border-color:#d4d4d48c}.fx-chip:active{transform:scale(.96)}.fx-chip-icon{font-size:13px;line-height:1}.fx-chip-hidden{visibility:hidden;pointer-events:none;position:absolute;top:0;left:-9999px}.divider{background:#9191912e;height:1px;margin:4px 0}.panel-title{color:#acacac;letter-spacing:.5px;font-size:12px;font-weight:600}.timeline{flex-direction:column;gap:8px;display:flex}.scene{background:#181818;border:1px solid #9191912e;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;transition:all .2s;display:flex}.scene.active{background:#ffffff1f;border-color:#fff;box-shadow:0 0 12px #ffffff40}.scene .idx{color:#0a0a0a;background:#2e2e2e;border-radius:50%;flex:none;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:600;display:flex}.scene .meta{flex:1;min-width:0}.scene .name{color:#fff;font-size:13px}.scene .dur{color:#939393;font-size:11px}.scene .bar{background:#a5a5a52e;border-radius:4px;height:4px;margin-top:6px;overflow:hidden}.scene .bar>i{background:linear-gradient(90deg,#fff,#d4d4d4);width:0%;height:100%;display:block}.export-btn{cursor:pointer;color:#0a0a0a;background:0 0;border:1px solid #9191914d;border-radius:9px;width:100%;margin-top:auto;padding:9px;font-size:12px}.export-btn:hover{background:#ffffff1a}.export-btn:disabled{opacity:.4;cursor:not-allowed;color:#838383;background:0 0;border-color:#9191911f}.prompt-area .export-actions{flex-shrink:0;margin:0 2px 8px}.prompt-area .export-actions .export-row{gap:10px}.prompt-area .export-actions .export-btn{border-radius:8px;padding:8px 10px}.count-row{align-items:center;gap:10px;display:flex}.count-row input[type=range]{accent-color:#fff;cursor:pointer;flex:1}.count-num{color:#0a0a0a;background:#101010b3;border:1px solid #9191914d;border-radius:7px;width:66px;padding:5px 6px;font-size:12px}.hint-small{color:#b6b6b6b3;margin:2px 0 0;font-size:11px;line-height:1.5}.export-box{flex-direction:column;gap:8px;display:flex}.export-row{gap:8px;display:flex}.export-row .export-btn{flex:1;width:auto;margin-top:0}.import-box{pointer-events:auto;flex-direction:column;gap:8px;width:100%;display:flex}.import-box .export-btn{color:#0a0a0a;cursor:pointer;background:#232323e6;border:1px solid #fff6;border-radius:8px;width:100%;margin-top:0;padding:7px 12px;font-size:13px;font-weight:600;transition:all .15s}.import-box .export-btn:hover{background:#393939e6;border-color:#ffffffb3}.import-status{border-radius:8px;padding:7px 9px;font-size:11px;line-height:1.5}.import-status.ok{color:#34d399;background:#10b9811f;border:1px solid #10b9814d}.import-status.err{color:#ef4444;background:#ef44441f;border:1px solid #ef44444d}.import-status.busy{color:#fff;background:#ffffff1f;border:1px solid #ffffff4d}.right-info .edit-toggle{pointer-events:auto;color:#fbbf24;background:#fbbf24b8;border:1px solid #fbbf248c;border-radius:8px;margin-top:0;padding:7px 12px;font-size:13px;font-weight:600}.right-info .edit-toggle:hover{background:#fbbf24e6;border-color:#fbbf24d9;box-shadow:0 0 12px #fbbf2459}.right-info.edit-active{gap:10px;width:220px}.edit-toolbar{pointer-events:auto;background:#070707d1;border:1px solid #ffffff1f;border-radius:10px;flex-direction:column;gap:8px;width:100%;padding:8px;display:flex}.edit-tool-grid{grid-template-columns:repeat(2,1fr);gap:6px;display:grid}.edit-tool-grid .edit-btn{cursor:pointer;color:#fff;white-space:normal;word-break:keep-all;background:#232323b8;border:1px solid #fff6;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:0;min-height:44px;margin-top:0;padding:6px 4px;font-size:12px;line-height:1.25;transition:background .15s,border-color .15s,color .15s;display:flex}.edit-tool-grid .edit-btn .btn-icon{font-size:14px;line-height:1}.edit-tool-grid .edit-btn .btn-label{font-size:12px}.edit-tool-grid .edit-btn:hover:not(:disabled){background:#393939e6;border-color:#ffffffb3}.edit-tool-grid .edit-btn:disabled{opacity:.4;cursor:not-allowed;color:#838383;border-color:#9191911f}.edit-tool-grid .edit-btn.primary{color:#34d399;background:#10b981b8;border-color:#10b98180}.edit-tool-grid .edit-btn.primary:hover:not(:disabled){background:#10b981e6;border-color:#10b981bf}.edit-tool-grid .edit-btn.danger{color:#ef4444;background:#ef4444b8;border-color:#ef444473}.edit-tool-grid .edit-btn.danger:hover:not(:disabled){background:#ef4444e6;border-color:#ef4444b3}.edit-tool-grid .edit-btn.drone-add{color:#d4d4d4;background:#222222b8;border-color:#d4d4d480}.edit-tool-grid .edit-btn.drone-add:hover:not(:disabled){background:#343434e6;border-color:#d4d4d4bf}.edit-tool-grid .edit-btn.drone-del{color:#f87171;background:#ef4444b8;border-color:#ef444480}.edit-tool-grid .edit-btn.drone-del:hover:not(:disabled){background:#ef4444e6;border-color:#ef4444bf}.edit-tool-grid .edit-btn.active{color:#fff;background:#343434f2;border-color:#d4d4d4;box-shadow:inset 0 0 10px #d4d4d466,0 0 12px #d4d4d44d}.edit-coord{background:#232323b8;border:1px solid #ffffff40;border-radius:8px;flex-direction:column;gap:4px;padding:6px 8px;display:flex}.edit-coord-title{color:#fff;font-size:12px;font-weight:600}.edit-coord-unit{color:#838383;font-weight:400}.edit-coord-fields{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}.edit-coord-field{align-items:center;gap:3px;display:flex}.edit-coord-field span{color:#acacac;font-size:10px}.edit-coord-field input{color:#0a0a0a;text-align:center;-moz-appearance:textfield;background:#101010d9;border:1px solid #ffffff59;border-radius:5px;width:100%;min-width:0;padding:4px 3px;font-size:12px}.edit-coord-field input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.edit-coord-field input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.edit-coord-field input:focus{border-color:#d4d4d4b3;outline:none;box-shadow:0 0 8px #d4d4d440}.edit-coord-hint{color:#838383;font-size:12px}.edit-multi{border-color:#d4d4d473}.edit-multi-drones{color:#34d399;margin-top:2px;font-size:11px}.edit-multi-actions{grid-template-columns:repeat(2,1fr);gap:4px;display:grid}.edit-multi-actions .edit-btn{cursor:pointer;color:#fff;white-space:nowrap;background:#232323b8;border:1px solid #fff6;border-radius:6px;flex-direction:row;justify-content:center;align-items:center;gap:4px;min-height:30px;padding:4px 6px;font-size:12px;transition:background .15s,border-color .15s,color .15s;display:flex}.edit-multi-actions .edit-btn:hover:not(:disabled){background:#393939e6;border-color:#ffffffb3}.edit-multi-actions .edit-btn .btn-icon{font-size:13px;line-height:1}.edit-multi-actions .edit-btn.save{color:#fbbf24;background:#fbbf24b8;border-color:#fbbf2480}.edit-multi-actions .edit-btn.save:hover:not(:disabled){background:#fbbf24e6;border-color:#fbbf24cc}.edit-tool-grid .edit-btn.save{color:#fbbf24;background:#fbbf24b8;border-color:#fbbf2480}.edit-tool-grid .edit-btn.save:hover:not(:disabled){background:#fbbf24e6;border-color:#fbbf24cc}.edit-tool-grid .edit-btn.exit{color:#bcbcbc;background:#242424b8;border-color:#9b9b9b59}.edit-tool-grid .edit-btn.exit:hover:not(:disabled){background:#353535e6;border-color:#9b9b9b99}.edit-sel-info{color:#fbbf24;background:#fbbf2414;border:1px dashed #fbbf2459;border-radius:7px;padding:5px 8px;font-size:12px;line-height:1.5}.edit-sel-info b{color:#fff}.edit-sel-info .dim{color:#acacac}.edit-notice{color:#fff;background:#ffffff1f;border:1px solid #ffffff4d;border-radius:8px;align-items:center;gap:6px;padding:6px 8px;font-size:12px;line-height:1.5;display:flex}.edit-notice span{flex:1;min-width:0}.edit-notice-close{cursor:pointer;color:#fff;background:0 0;border:none;border-radius:4px;flex:none;width:18px;height:18px;font-size:12px;line-height:1}.edit-notice-close:hover{background:#ffffff40}.edit-traj{background:#232323b8;border:1px solid #ffffff40;border-radius:8px;flex-direction:column;gap:5px;max-height:220px;padding:8px;display:flex}.edit-traj-title{color:#fbbf24;font-size:13px;font-weight:700}.edit-traj-hint{color:#838383;font-size:11px}.edit-traj-list{flex-direction:column;gap:4px;display:flex;overflow-y:auto}.edit-traj-row{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:#14141499;border:1px solid #ffffff1f;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:3px 6px;display:flex}.edit-traj-row:hover{background:#373737b3}.edit-traj-row.active{background:#10b98159;border-color:#34d39999}.edit-traj-row.active .edit-traj-seg{color:#34d399;text-shadow:0 0 8px #34d39959;font-weight:700}.edit-traj-seg{color:#fff;font-size:12px}.edit-traj-dur{color:#acacac;align-items:center;gap:4px;font-size:11px;display:flex}.edit-traj-dur input{color:#0a0a0a;text-align:center;-moz-appearance:textfield;background:#101010d9;border:1px solid #ffffff59;border-radius:5px;width:64px;padding:3px 5px;font-size:12px}.edit-traj-dur input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.edit-traj-dur input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.edit-traj-dur input:focus{border-color:#d4d4d4b3;outline:none;box-shadow:0 0 8px #d4d4d440}.edit-traj-empty{color:#838383;padding:4px 0;font-size:12px}.right>.safety-panel.floating{z-index:20;background:#ef4444f0;border-color:#ef444473;width:clamp(190px,100vw - 1010px,320px);max-height:min(420px,100vh - 150px);position:absolute;top:60px;right:62px;box-shadow:0 10px 28px #00000080}.right>.safety-panel.floating.folded{max-height:none}.right>.safety-panel.floating .safety-head{cursor:pointer;-webkit-user-select:none;user-select:none}.style-switch{gap:8px;display:flex}.style-opt{cursor:pointer;color:#0a0a0a;text-align:left;background:#181818;border:1px solid #91919140;border-radius:12px;flex:1;align-items:center;gap:10px;padding:12px;font-family:inherit;transition:all .16s;display:flex}.style-opt:hover{background:#1f1f1f;border-color:#91919180}.style-opt .ico{text-align:center;color:#939393;width:24px;font-size:20px;line-height:1}.style-opt .txt{flex-direction:column;gap:2px;display:flex}.style-opt .txt b{color:#fff;font-size:13px;font-weight:600}.style-opt .txt i{color:#939393;font-size:10.5px;font-style:normal}.style-opt.active{background:#ffffff24;border-color:#fff;box-shadow:0 0 14px #ffffff38}.style-opt.active .ico{color:#fff}.style-opt.active.h2{background:#ffffff29;border-color:#fff;box-shadow:0 0 14px #ffffff40}.style-opt.active.h2 .ico{color:#fff}.style-opt.active.countdown{background:#fbbf2429;border-color:#fbbf24;box-shadow:0 0 14px #fbbf2440}.style-opt.active.countdown .ico{color:#fbbf24}.h2-controls{background:#1d1d1d;border:1px solid #ffffff4d;border-radius:12px;flex-direction:column;gap:12px;padding:14px;display:flex}.h2-title{color:#fff;letter-spacing:.5px;font-size:12px;font-weight:600}.h2-row{flex-direction:column;gap:6px;display:flex}.h2-row-head{color:#fff;justify-content:space-between;align-items:baseline;font-size:12px;display:flex}.h2-row-head b{color:#fff;font-variant-numeric:tabular-nums;font-size:13px}.h2-row input[type=range]{accent-color:#fff;cursor:pointer;width:100%}.h2-est{color:#fff;font-size:12px}.h2-est b{color:#fff;font-variant-numeric:tabular-nums}.h2-examples{flex-direction:column;gap:6px;display:flex}.h2-ex-label{color:#acacac;font-size:11px}.h2-cap{margin-top:2px}.right{flex:1;min-width:0;position:relative;overflow:hidden}.right canvas{width:100%;height:100vh;display:block}.right-info{z-index:5;pointer-events:none;flex-direction:column;align-items:stretch;gap:8px;width:140px;display:flex;position:absolute;top:16px;left:18px}.right-info .cur{color:#fff;white-space:normal;text-overflow:clip;align-self:flex-start;width:max-content;max-width:calc(100vw - 730px);font-size:14px;font-weight:600;overflow:visible}.right-info .cur .cur-meta,.right-info .cur .cur-ver{white-space:nowrap}.right-info .cur-meta{color:#acacac;vertical-align:baseline;flex-wrap:nowrap;align-items:baseline;gap:10px;margin-left:10px;font-size:12px;font-weight:400;display:inline-flex}.cur-quick{pointer-events:auto;color:#acacac;vertical-align:middle;flex-wrap:wrap;align-items:center;gap:2px 18px;margin-left:6px;font-weight:400;line-height:20px;display:inline-flex}.cur-quick .rq-item{white-space:nowrap;align-items:center;gap:5px;line-height:20px;display:inline-flex}.cur-quick .rq-num{color:#0a0a0a;appearance:textfield;background:#191919d9;border:1px solid #ffffff4d;border-radius:5px;width:38px;height:20px;padding:1px 3px;font-size:12px;line-height:16px}.cur-quick .rq-num::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.cur-quick .rq-num::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.cur-quick .rq-select{color:#0a0a0a;background:#191919d9;border:1px solid #ffffff4d;border-radius:5px;max-width:48px;height:20px;padding:1px 2px;font-size:12px;line-height:18px}.cur-quick .rq-fence-item{position:relative}.cur-quick .rq-fence-btn{color:#0a0a0a;cursor:pointer;background:#191919e6;border:1px solid #ffffff6b;border-radius:7px;align-items:center;gap:6px;max-width:168px;height:22px;padding:0 6px 0 9px;font-size:12px;line-height:20px;display:inline-flex}.cur-quick .rq-fence-btn:hover,.cur-quick .rq-fence-btn[aria-expanded=true]{border-color:#ffffffd9}.cur-quick .rq-fence-btn:disabled{opacity:.45;cursor:not-allowed}.cur-quick .rq-fence-cur{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cur-quick .rq-fence-caret{color:#acacac;font-size:10px}.rq-menu-scrim{z-index:1290;background:0 0;position:fixed;inset:0}.rq-fence-menu{z-index:1291;background:#1a1a1a;border:1px solid #fff6;border-radius:10px;flex-direction:column;gap:2px;min-width:212px;max-height:320px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto;box-shadow:0 14px 38px #0000008c}.rq-fence-opt{color:#0a0a0a;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:8px;width:100%;min-height:28px;padding:3px 8px;font-size:12.5px;display:flex}.rq-fence-opt:hover{color:#0a0a0a;background:#ffffff38}.rq-fence-opt.on{color:#fff;font-weight:700}.rq-fence-mark{text-align:center;color:#34d399;flex:0 0 14px;font-size:12px;font-weight:700}.rq-fence-manage .rq-fence-mark{color:#bebebe;font-weight:400}.rq-fence-opt-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.fence-thumb{flex:none;display:block;overflow:visible}.rq-fence-opt .fence-thumb{width:34px;height:22px}.ft-stage{fill:#292929d9;stroke:#ffffff8c;stroke-width:1px}.ft-full{fill:#d4d4d429;stroke:#ffffffb3;stroke-width:1.2px;stroke-dasharray:5 4}.ft-zone{stroke-linejoin:round}.rq-fence-sep{background:#ffffff47;height:1px;margin:4px 6px;display:block}.cur-quick .rq-x,.cur-quick .rq-unit{color:#9f9f9f;line-height:20px}.cur-quick .rq-num:hover,.cur-quick .rq-num:focus,.cur-quick .rq-select:hover,.cur-quick .rq-select:focus{border-color:#ffffffd9;outline:none}.cur-quick .rq-num:disabled,.cur-quick .rq-select:disabled{opacity:.45;cursor:not-allowed}.preview-toggle{pointer-events:auto;color:#0a0a0a;cursor:pointer;background:#232323e6;border:1px solid #fff6;border-radius:8px;width:100%;padding:7px 12px;font-size:13px;font-weight:600;transition:all .15s}.preview-toggle:hover{background:#393939e6;border-color:#ffffffb3}.preview-toggle.on{color:#0a0a0a;background:#717171eb;border-color:#ffffffe6;box-shadow:0 0 14px #ffffff80}.preview-toggle.has-fences{color:#34d399;border-color:#10b9818c}.preview-toggle.has-fences:hover{border-color:#10b981d9}.controls-row{--ctl-h:64px;z-index:5;align-items:stretch;gap:10px;max-width:calc(100% - 8px);display:flex;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.controls{min-width:0;min-height:var(--ctl-h);background:#151515d9;border:1px solid #91919140;border-radius:14px;flex:0 auto;align-items:center;gap:14px;padding:10px 18px;display:flex}.play-btn,.restart-btn{cursor:pointer;color:#0a0a0a;background:#fff;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:15px;transition:background .15s;display:flex}.restart-btn{background:#ffffff40;font-size:16px}.play-btn:hover,.restart-btn:hover{background:#fff}.progress-wrap{cursor:pointer;background:#a5a5a533;border-radius:8px;flex-shrink:4;align-items:center;width:320px;min-width:60px;height:14px;display:flex;position:relative}.progress-wrap:hover .scrubber,.progress-wrap:active .scrubber{transform:translate(-50%,-50%)scale(1.15);box-shadow:0 0 0 4px #d4d4d440}.progress{pointer-events:none;background:linear-gradient(90deg,#fff,#d4d4d4);border-radius:6px;width:0%;height:6px}.scrubber{pointer-events:none;background:#fff;border:2px solid #d4d4d4;border-radius:50%;width:14px;height:14px;transition:transform .12s,box-shadow .12s;position:absolute;top:50%;left:0%;transform:translate(-50%,-50%)}.hover-tick{pointer-events:none;background:#ffffff8c;width:2px;position:absolute;top:0;bottom:0}.ctl-label{color:#fff;white-space:nowrap;align-items:center;gap:8px;min-width:106px;font-size:12px;display:flex}.ctl-label-text{flex-shrink:0}.ctl-label input{accent-color:#fff;width:90px;min-width:40px}.ctl-speed-value{color:#fff;font-variant-numeric:tabular-nums;flex-shrink:0}@media (width<=1180px){.controls-row .controls{gap:10px;padding-left:12px;padding-right:12px}.controls-row .progress-wrap{min-width:48px}.controls-row .ctl-label{gap:6px;min-width:72px}.controls-row .ctl-label input{width:56px}.controls-row .ctl-label-text{display:none}}@media (width<=1090px){.controls-row .ctl-label{display:none}}.time-text{color:#fff;text-align:right;font-variant-numeric:tabular-nums;flex-shrink:0;min-width:42px;font-size:12px}.hint{z-index:4;color:#838383;-webkit-user-select:none;user-select:none;font-size:11px;position:absolute;bottom:78px;left:50%;transform:translate(-50%)}.model-panel{z-index:10;color:#0a0a0a;background:#121212f5;border:1px solid #91919140;border-right:none;border-radius:12px 0 0 12px;flex-direction:column;max-height:calc(100vh - 140px);font-size:12px;display:flex;position:absolute;top:60px;right:12px;overflow:visible}.model-panel.collapsed{align-items:center;width:44px;padding:6px 0}.mp-toolbar{flex-direction:column;align-items:center;gap:6px;width:100%;display:flex}.mp-tool-btn{color:#0a0a0a;cursor:pointer;background:#2a2a2a8c;border:1px solid #ffffff47;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:15px;transition:background .12s,border-color .12s,transform .1s;display:flex}.mp-tool-btn:hover:not(:disabled){background:#5d5d5d66;border-color:#d4d4d499;transform:translate(-2px)}.mp-tool-btn.active{color:#d4d4d4;background:#d4d4d42e;border-color:#d4d4d480}.mp-tool-btn:disabled{opacity:.35;cursor:not-allowed}.mp-tool-danger:hover:not(:disabled){background:#ef444440;border-color:#ef444480}.view-badge{flex-direction:column;flex:none;align-items:flex-end;display:flex;position:relative}.vb-grid{opacity:0;transform-origin:100% 100%;pointer-events:none;background:#121212f0;border:1px solid #9191914d;border-radius:12px;grid-template-columns:repeat(3,auto);gap:5px;padding:7px;transition:opacity .15s,transform .15s;display:grid;position:absolute;bottom:calc(100% + 6px);right:0;transform:translateY(6px)scale(.96);box-shadow:0 -6px 24px #00000073}.view-badge:hover .vb-grid,.view-badge:focus-within .vb-grid{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.vb-grid-btn{white-space:nowrap;text-align:center;color:#0a0a0a;cursor:pointer;background:#37373773;border:1px solid #91919140;border-radius:8px;justify-content:center;align-items:center;gap:3px;min-width:48px;padding:6px 8px;font-family:inherit;font-size:11px;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.vb-grid-btn:hover{color:#0a0a0a;background:#5d5d5d80;border-color:#d4d4d48c}.vb-grid-btn.active{color:#d4d4d4;background:#d4d4d429;border-color:#d4d4d480;font-weight:600;box-shadow:inset 0 0 6px #d4d4d42e}.vb-main{cursor:pointer;background:linear-gradient(165deg,#202020f5,#121212f0);border:1px solid #9191914d;border-radius:12px;flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:2px;width:64px;padding:0 6px 5px;font-family:inherit;transition:border-color .15s,box-shadow .15s,transform .12s;display:flex;box-shadow:0 6px 22px #0006}.vb-main:hover{border-color:#d4d4d499;transform:translateY(-1px);box-shadow:0 6px 26px #00000080,0 0 0 3px #d4d4d41f}.vb-cube{aspect-ratio:96/84;flex:none;width:46px;height:46px;display:block}.vb-face{stroke:#b9b9b98c;stroke-width:1.2px;stroke-linejoin:round;transition:fill .18s}.vb-face-hl{fill:#d4d4d480;filter:drop-shadow(0 0 3px #d4d4d480)}.vb-face-dim{fill:#48484873}.vb-face-on3d{fill:#d4d4d452;filter:drop-shadow(0 0 2px #d4d4d459)}.vb-face-txt{text-anchor:middle;fill:#fff;paint-order:stroke;stroke:#0e0e0ed9;stroke-width:3.5px;stroke-linejoin:round;dominant-baseline:middle;pointer-events:none;font-size:16px;font-weight:600}.vb-face-txt-dim{fill:#a9a9a9}.vb-name{color:#fff;white-space:nowrap;font-size:11px;font-weight:700;line-height:1}.risk-toggle-bar{z-index:10;flex-direction:column;align-items:center;width:44px;display:flex;position:absolute;top:60px;right:12px}.mp-toolbar-shapes{z-index:11;background:#121212f5;border:1px solid #9191914d;border-radius:10px;grid-template-columns:repeat(4,1fr);gap:7px;width:220px;padding:10px;display:grid;position:absolute;top:0;right:46px;box-shadow:-6px 0 24px #0006}.mp-toolbar-shapes .mp-shape{padding:7px 2px 5px}.mp-toolbar-shapes .mp-shape-emoji{font-size:18px}.mp-toolbar-shapes .mp-shape-label{font-size:10px}.mp-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.mp-model-name{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.mp-section{flex-direction:column;gap:7px;display:flex}.mp-title{color:#fff;letter-spacing:.3px;font-size:12px;font-weight:600}.mp-subtitle{color:#acacac;margin-top:4px;font-size:11px;font-weight:600}.mp-row{align-items:center;gap:6px;font-size:11.5px;display:flex}.mp-row label{color:#bbb;flex-shrink:0;width:60px;font-size:11px}.mp-row .flex-1{flex:1}.mp-axis{flex-shrink:0;width:20px;font-size:11px;font-weight:700}.mp-minus,.mp-plus{cursor:pointer;color:#0a0a0a;background:#ffffff26;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:13px;line-height:1;display:flex}.mp-minus:hover,.mp-plus:hover{background:#ffffff59}.mp-val{text-align:right;font-variant-numeric:tabular-nums;color:#fff;min-width:58px;font-family:SF Mono,Cascadia Code,Consolas,monospace;font-size:11px}.mp-range{accent-color:#fff;cursor:pointer;border-radius:2px;flex:1;height:4px}.mp-num{color:#0a0a0a;text-align:center;font-variant-numeric:tabular-nums;background:#101010cc;border:1px solid #9191914d;border-radius:6px;width:52px;padding:3px 6px;font-size:12px}.mp-num:focus{border-color:#fff;outline:none}.mp-btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:6px;padding:5px 10px;font-family:inherit;font-size:11px;font-weight:500;transition:all .12s}.mp-btn:disabled{opacity:.35;cursor:not-allowed}.mp-btn-sm{padding:2px 7px;font-size:11px}.mp-btn-primary{color:#0a0a0a;background:linear-gradient(135deg,#fff,#fff);border-color:#fff6}.mp-btn-primary:hover{filter:brightness(1.1)}.mp-btn-accent{color:#0a0a0a;background:linear-gradient(135deg,#d4d4d4,#d4d4d4);border-color:#d4d4d466}.mp-btn-accent:hover{filter:brightness(1.1)}.mp-btn-default{color:#0a0a0a;background:#37373780;border-color:#91919140}.mp-btn-default:hover{background:#5559}.mp-btn-danger{color:#f87171;background:#ef444426;border-color:#ef444459}.mp-btn-danger:hover{background:#ef444447}.mp-btn-success{color:#0a0a0a;background:linear-gradient(135deg,#10b981,#10b981);border-color:#10b98166}.mp-btn-success:hover{filter:brightness(1.1)}.mp-full{width:100%}.mp-flex-1{flex:1}.mp-gizmo-modes{gap:6px;margin-bottom:8px;display:flex}.mp-mode{text-align:center;flex:1}.mp-recommend{color:#acacac;background:#d4d4d414;border:1px solid #d4d4d433;border-radius:6px;align-items:center;gap:8px;margin-bottom:8px;padding:6px 8px;font-size:11px;display:flex}.mp-recommend b{color:#d4d4d4;font-size:13px}.mp-recommend .mp-btn{margin-left:auto}.mp-toggles{flex-wrap:wrap;gap:6px;display:flex}.mp-toggle{cursor:pointer;color:#acacac;background:#37373766;border:1px solid #91919133;border-radius:6px;padding:4px 10px;font-family:inherit;font-size:11px;transition:all .12s}.mp-toggle.active{color:#d4d4d4;background:#d4d4d426;border-color:#d4d4d466}.mp-toggle:hover{background:#55555580}.mp-divider{background:#9191912e;height:1px;margin:2px 0}.mp-status{color:#acacac;background:#3737374d;border-radius:6px;padding:6px 8px;font-size:11px}.mp-status b{color:#fff}.mp-warn{color:#fbbf24!important}.mp-ok{color:#34d399!important}.mp-actions{margin-top:4px}.mp-hint{color:#939393;margin-top:2px;font-size:11px;line-height:1.55}.mp-notice{color:#fbbf24;background:#fbbf241f;border:1px solid #fbbf2452;border-radius:7px;margin:6px 0 2px;padding:7px 9px;font-size:11px;line-height:1.5}.mp-shape-grid{grid-template-columns:repeat(4,1fr);gap:7px;margin-top:8px;display:grid}.mp-shape{color:#0a0a0a;cursor:pointer;background:#2a2a2a8c;border:1px solid #ffffff47;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:9px 2px 7px;transition:background .15s,border-color .15s,transform .1s;display:flex}.mp-shape:hover:not(:disabled){background:#5d5d5d66;border-color:#d4d4d499;transform:translateY(-1px)}.mp-shape:disabled{opacity:.55;cursor:default}.mp-shape-emoji{font-size:22px;line-height:1}.mp-shape-label{color:#c8c8c8;font-size:11px}.error-boundary{z-index:9999;color:#0a0a0a;background:#181818;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0;overflow:auto}.eb-card{background:#282828;border:1px solid #ef444459;border-radius:12px;width:min(720px,100%);padding:22px 24px;box-shadow:0 12px 40px #00000073}.eb-card h2{color:#f87171;margin:0 0 12px;font-size:17px}.eb-msg{color:#f87171;white-space:pre-wrap;word-break:break-word;margin:0 0 12px;font-size:13px;line-height:1.7}.eb-stack{color:#aeaeae;white-space:pre;background:#181818;border:1px solid #fff3;border-radius:8px;max-height:220px;margin:0 0 14px;padding:10px;font-size:11px;line-height:1.6;overflow:auto}.eb-actions{gap:10px;margin-bottom:12px;display:flex}.eb-btn{color:#fff;cursor:pointer;background:#434343e6;border:1px solid #ffffff59;border-radius:8px;padding:7px 16px;font-size:13px}.eb-btn:hover{background:#5d5d5df2}.eb-btn.primary{color:#fff;background:#5d5d5d;border-color:#d4d4d480}.eb-tip{color:#aeaeae;margin:0;font-size:12px;line-height:1.7}.music-case-btn{align-items:center;gap:7px;min-width:0;display:flex}.music-case-icon{flex:none}.music-case-name{text-overflow:ellipsis;white-space:nowrap;text-align:left;flex:auto;min-width:0;overflow:hidden}.music-case-none{color:#9a9a9a}.music-modal{width:min(680px,94vw)}.music-modal .modal-body{flex-direction:column;gap:10px;display:flex}.music-table{border-collapse:collapse;width:100%;font-size:12.5px}.music-table th,.music-table td{text-align:center;border:1px solid #91919133;padding:7px 9px}.music-table th{color:#bebebe;background:#2c2c2c99;font-weight:600}.music-table tbody tr{cursor:pointer}.music-table tbody tr:hover{background:#ffffff14}.music-table tbody tr.active{background:#ffffff29}.music-table .music-name{text-align:left;text-overflow:ellipsis;white-space:nowrap;max-width:260px;overflow:hidden}.music-table .col-pick{width:34px}.music-table .col-dur,.music-table .col-size{width:64px}.music-table .col-type{color:#bebebe;width:56px}.music-table .col-act{white-space:nowrap;width:118px}.music-table .music-none-cell{text-align:left;color:#9a9a9a}.music-table .music-empty{color:#9a9a9a;padding:14px}.music-act-btn{cursor:pointer;color:#0a0a0a;background:#2c2c2ccc;border:1px solid #ffffff59;border-radius:6px;width:26px;height:26px;font-size:12px;line-height:1}.music-act-btn:hover{background:#ffffff59}.music-act-btn.confirm{color:#34d399;border-color:#10b98173}.music-act-btn+.music-act-btn{margin-left:8px}.music-note{border-radius:8px;padding:6px 9px;font-size:12px}.music-note.ok{color:#34d399;background:#10b98199}.music-note.err{color:#f87171;background:#ef44448c}.trim-modal{width:min(860px,96vw)}.trim-file-name{text-overflow:ellipsis;white-space:nowrap;color:#0a0a0a;background:#2c2c2ccc;border-radius:999px;align-self:center;max-width:90%;padding:4px 14px;font-size:12.5px;overflow:hidden}.trim-case-info{background:#212121b3;border:1px solid #91919147;border-radius:8px;flex-direction:column;gap:4px;margin-bottom:10px;padding:8px 12px;display:flex}.trim-case-row{align-items:baseline;gap:10px;font-size:12.5px;display:flex}.trim-case-k{color:#aeaeae;flex:none;min-width:56px}.trim-case-v{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.trim-case-hint{color:#bebebe;font-size:11.5px;line-height:1.4}.trim-case-hint--warn{color:#fbbf24}.trim-time-axis{color:#aeaeae;justify-content:space-between;font-size:11px;display:flex}.trim-wave-wrap{height:150px;position:relative}.trim-wave{cursor:crosshair;touch-action:none;border-radius:6px;width:100%;height:100%;display:block}.trim-playhead{pointer-events:none;background:#ef4444;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0}.trim-controls{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.trim-btn.play{cursor:pointer;color:#0a0a0a;background:#ffffff80;border:1px solid #ffffff80;border-radius:8px;width:40px;height:32px;font-size:14px}.trim-btn.play:disabled{opacity:.5;cursor:default}.trim-time{color:#bebebe;align-items:center;gap:6px;font-size:12px;display:inline-flex}.trim-time input{color:#0a0a0a;background:#141414d9;border:1px solid #91919159;border-radius:7px;width:84px;padding:5px 7px;font-size:12.5px}.trim-len{color:#bebebe;font-size:12px}.trim-save{margin-left:auto}.fence-row-actions{flex-wrap:wrap;gap:8px;margin:6px 0 8px;display:flex}.fence-row-actions .profile-btn.danger{color:#f87171;border-color:#ef444473}.gf-overlay{z-index:1200}.gf-modal{width:min(1240px,96vw);height:min(860px,92vh);max-height:92vh}.gf-body{flex:auto;gap:12px;min-height:0;padding:10px 12px;display:flex}.gf-rail{background:#191919b8;border:1px solid #9191913d;border-radius:10px;flex-direction:column;gap:10px;width:340px;min-width:300px;padding:10px;display:flex;overflow-y:auto}.gf-canvas-wrap{flex-direction:column;flex:auto;gap:7px;min-width:0;display:flex}.gf-canvas-head{color:#bebebe;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;min-height:42px;font-size:12px;display:flex}.gf-head-left{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.gf-mode-group{background:linear-gradient(#242424f5,#121212f5);border:1px solid #9191916b;border-radius:11px;flex:none;padding:3px;display:inline-flex;box-shadow:inset 0 1px #ffffff0f,0 4px 14px #00000047}.gf-mode-btn{color:#0a0a0a;letter-spacing:.2px;white-space:nowrap;cursor:pointer;background:linear-gradient(#474747e6,#2e2e2eeb);border:1px solid #adadad5c;border-radius:8px;height:36px;padding:0 16px;font-size:13px;font-weight:600;transition:background .16s,border-color .16s,color .16s,box-shadow .16s,transform .12s;position:relative}.gf-mode-btn+.gf-mode-btn{margin-left:4px}.gf-mode-btn:hover{color:#fff;background:linear-gradient(#5d5d5df5,#3a3a3af5);border-color:#d4d4d4b3;transform:translateY(-1px)}.gf-mode-btn:active{transform:translateY(0)}.gf-mode-btn.active{color:#0a0a0a;background:linear-gradient(#34d3998c,#10b981c7);border-color:#10b981;font-weight:800;box-shadow:0 0 0 1px #10b981a6,0 6px 18px #10b98159,inset 0 1px #ffffff40}.gf-mode-btn.active:before{content:"● ";color:#d4d4d4;text-shadow:0 0 8px #10b981;font-size:11px}.gf-draw-acts{flex:none;gap:6px;display:inline-flex}.gf-clear-btn{color:#f87171;white-space:nowrap;cursor:pointer;background:#ef444447;border:1px solid #ef444480;border-radius:9px;height:36px;padding:0 14px;font-size:13px;font-weight:600;transition:background .16s,border-color .16s,color .16s,box-shadow .16s}.gf-clear-btn:hover{color:#0a0a0a;background:#ef44447a}.gf-clear-btn.ask{color:#0a0a0a;background:#ef44448c;border-color:#f87171;box-shadow:0 0 12px #ef444459}.gf-total-chip{color:#d4d4d4;background:#10b9811f;border:1px solid #10b98159;border-radius:999px;flex:none;padding:3px 9px;font-weight:700}.gf-svg{touch-action:none;background:#0f0f0f;border:1px solid #91919147;border-radius:10px;flex:auto;width:100%;min-height:0}.gf-section{background:#202020a6;border:1px solid #9191912e;border-radius:9px;flex-direction:column;flex:none;gap:7px;padding:8px;display:flex}.gf-section.gf-grow{flex:none;min-height:auto}.gf-label{color:#fff;font-size:12px;font-weight:700}.gf-hint{color:#9d9d9d;font-size:11.5px;line-height:1.5}.gf-select,.gf-field input,.gf-field select{color:#0a0a0a;background:#121212e6;border:1px solid #91919159;border-radius:8px;width:100%;height:32px;padding:0 9px;font-size:12.5px}.gf-field input.bad{border-color:#ef4444bf}.gf-field{color:#cfcfcf;flex-direction:column;gap:4px;font-size:12px;display:flex}.gf-em{color:#fff;font-style:normal}.gf-em.over{color:#f87171}.gf-row{align-items:center;gap:7px;display:flex}.gf-row-between{justify-content:space-between}.gf-zone-list{flex-direction:column;flex:none;gap:5px;min-height:46px;max-height:216px;display:flex;overflow-y:auto}.gf-zone-row{align-items:stretch;gap:5px;display:flex}.gf-zone-row .gf-zone-item{flex:auto;min-width:0}.gf-zone-item{color:#0a0a0a;text-align:left;cursor:pointer;background:#1212128c;border:1px solid #91919138;border-radius:8px;align-items:center;gap:7px;width:100%;padding:6px 8px;font-size:12px;display:flex}.gf-zone-del{color:#f87171;cursor:pointer;background:#ef444438;border:1px solid #ef44444d;border-radius:8px;flex:none;width:28px;font-size:11px}.gf-zone-del:hover{color:#0a0a0a;background:#ef444473}.gf-zone-item:hover{border-color:#ffffff73}.gf-zone-item.active{background:#10b9811f;border-color:#10b981b3}.gf-swatch{border-radius:3px;flex:none;width:10px;height:10px;box-shadow:0 0 8px}.gf-zone-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.gf-zone-count{color:#fff;font-weight:700}.gf-zone-cap{color:#959595;font-size:11px}.gf-zone-cap.over{color:#f87171}.gf-mini{color:#e5e5e5;cursor:pointer;background:#52525273;border:1px solid #9b9b9b66;border-radius:7px;height:27px;padding:0 9px;font-size:11.5px}.gf-mini:hover{filter:brightness(1.15)}.gf-mini.primary{color:#d4d4d4;background:#10b98173;border-color:#10b98180}.gf-mini.active{color:#0a0a0a;background:#10b98157;border-color:#10b981;font-weight:700;box-shadow:0 0 0 1px #10b981a6,0 0 12px #10b98159}.gf-mini.active:before{content:"● ";color:#10b981;font-size:10px}.gf-mini.danger{color:#f87171;background:#ef444459;border-color:#ef444466}.gf-count-row{align-items:center;gap:6px;display:flex}.gf-count-row input{color:#0a0a0a;text-align:center;appearance:textfield;background:#121212e6;border:1px solid #91919159;border-radius:8px;flex:1 1 0;min-width:0;height:32px;padding:0 8px;font-size:12.5px;font-weight:600;transition:border-color .15s,box-shadow .15s}.gf-count-row input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.gf-count-row input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.gf-count-row input:hover{border-color:#ffffff80}.gf-count-row input:focus{border-color:#10b981;outline:none;box-shadow:0 0 0 2px #10b9812e}.gf-count-row>span{color:#959595;flex:none;font-size:12px}.gf-stage-row{margin-top:2px}.gf-stage-row input{height:34px}.gf-stage-row .gf-stage-unit{color:#c2c2c2;text-align:center;background:#52525252;border:1px solid #91919138;border-radius:7px;flex:none;min-width:26px;height:24px;padding:0 6px;font-size:11.5px;font-weight:700;line-height:22px}.gf-step{color:#e5e5e5;cursor:pointer;background:#52525273;border:1px solid #9b9b9b66;border-radius:8px;flex:none;width:32px;height:32px;font-size:13px}.gf-total{color:#d4d4d4;font-size:15px;font-weight:800}.gf-errors{color:#f87171;background:#ef444447;border:1px solid #ef444459;border-radius:8px;padding:7px 9px;font-size:11.5px;line-height:1.5}.gf-err{color:#f87171;background:#ef44444d;border-radius:7px;padding:5px 8px;font-size:11.5px}.gf-notice{color:#fbbf24;font-size:11.5px}.gf-ok{color:#d4d4d4;font-size:11.5px}.gf-scheme-input{color:#0a0a0a;background:#121212e6;border:1px solid #9191916b;border-radius:8px;width:100%;height:34px;padding:0 10px;font-size:13px;font-weight:600}.gf-scheme-input:focus{border-color:#10b981;outline:none;box-shadow:0 0 0 2px #10b9812e}.gf-foot{background:#2626268c;border-top:1px solid #91919138;justify-content:flex-end;align-items:center;gap:10px;padding:10px 14px;display:flex}.gf-foot-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.gf-foot .dialog-btn:disabled{opacity:.45;cursor:not-allowed}.fm-overlay{z-index:1200}.fm-modal{width:min(620px,94vw);max-height:82vh}.fm-body{flex-direction:column;flex:auto;gap:6px;min-height:0;padding:10px 12px;display:flex;overflow-y:auto}.fm-row{background:#191919b3;border:1px solid #91919138;border-radius:9px;align-items:center;gap:10px;padding:8px 10px;display:flex}.fm-row.active{background:#10b9811a;border-color:#10b98199}.fm-info{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.fm-row .fm-thumb{width:56px;height:40px}.fm-name{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.fm-meta{color:#9d9d9d;font-size:11.5px}.fm-badge{color:#d4d4d4;background:#10b98129;border:1px solid #10b98173;border-radius:999px;flex:none;padding:2px 9px;font-size:11px}.fm-acts{flex:none;gap:6px;display:flex}.gf-mini.danger.active{color:#0a0a0a;background:#ef444499;border-color:#f87171;box-shadow:0 0 12px #ef444459}.fm-hint{color:#9d9d9d;padding:8px;font-size:12px}.fm-foot{background:#2626268c;border-top:1px solid #91919138;justify-content:flex-end;align-items:center;gap:8px;padding:10px 14px;display:flex}@media (width<=900px){.gf-modal{width:96vw;height:94vh;max-height:94vh}.gf-body{flex-direction:column;gap:10px;padding:8px 10px;overflow-y:auto}.gf-rail{flex:none;width:100%;min-width:0;overflow:visible}.gf-canvas-wrap{flex:none;min-height:300px}.gf-svg{flex:none;height:300px}.gf-canvas-head{flex-wrap:wrap;justify-content:flex-start}.gf-head-left{width:100%}.gf-canvas-head .gf-total-chip{margin-left:auto}.gf-foot{flex-wrap:wrap}}
