.gallery-section{padding:48px 24px 80px;width:100%;box-sizing:border-box}.gallery-title{font-size:18px;font-weight:600;color:#ffffffb3;margin:0 0 24px;letter-spacing:.02em}.gallery-masonry{display:grid;gap:12px;align-items:start}.gallery-col{display:flex;flex-direction:column;gap:12px}.gallery-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.07);border-radius:12px;overflow:hidden;transition:transform .2s ease,border-color .2s ease;cursor:pointer}.gallery-card:hover{transform:translateY(-2px);border-color:#ffffff26}.gallery-img-wrapper{position:relative;width:100%;overflow:hidden}.gallery-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}.gallery-card:hover .gallery-img{transform:scale(1.03)}.gallery-card-footer{position:absolute;bottom:0;left:0;right:0;padding:28px 10px 10px;background:linear-gradient(to top,rgba(0,0,0,.72) 0%,transparent 100%);display:flex;align-items:center;justify-content:space-between;gap:6px;opacity:0;transition:opacity .2s ease}.gallery-card:hover .gallery-card-footer{opacity:1}.gallery-author{display:flex;align-items:center;gap:6px;min-width:0}.gallery-avatar{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:#fff;flex-shrink:0;border:1.5px solid rgba(255,255,255,.3)}.gallery-author-name{font-size:12px;color:#ffffffe6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:90px}.gallery-like-btn{display:flex;align-items:center;gap:4px;background:none;border:none;color:#ffffffd9;font-size:12px;cursor:pointer;padding:0;flex-shrink:0;transition:color .2s}.gallery-like-btn:hover{color:#f87171}.gallery-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:32px;color:#fff6;font-size:14px}.gallery-spinner{display:inline-block;width:18px;height:18px;border:2px solid rgba(255,255,255,.15);border-top-color:#fff9;border-radius:50%;animation:spin .8s linear infinite}.gallery-load-more{display:flex;justify-content:center;padding:24px}.gallery-load-more-btn{padding:10px 32px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:#ffffffb3;border-radius:24px;font-size:14px;cursor:pointer;transition:background .2s,border-color .2s}.gallery-load-more-btn:hover{background:#ffffff1a;border-color:#fff3}.video-toolbar{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;overflow:visible;min-width:0;flex:1;opacity:1;max-height:60px;transition:opacity .25s ease,max-height .3s ease,margin .3s ease}.vtb-dropdown{position:relative;flex-shrink:0}.vtb-tag-btn{display:inline-flex;align-items:center;gap:5px;height:36px;padding:0 6px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:#ffffffd9;font-size:16px;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s;line-height:1;box-sizing:border-box}.vtb-tag-btn .vtb-model-icon{width:22px;height:22px;border-radius:6px;flex-shrink:0}.vtb-tag-btn .vtb-model-icon-version{font-size:8px;font-weight:700}.vtb-tag-btn .vtb-model-icon-badge{display:none}.vtb-tag-btn:hover{background:#ffffff1a;border-color:#ffffff2e;color:#ffffffe6}.vtb-tag-btn.open{background:#ffffff1f;border-color:#ffffff40;color:#fff}.vtb-tag-label{font-size:14px;line-height:1;display:flex;align-items:center}.vtb-tag-divider{color:#fff3;margin:0 6px;font-size:12px}.vtb-tag-btn .vtb-ratio-icon{width:20px;height:20px}.vtb-tag-arrow{width:8px;height:8px;flex-shrink:0;opacity:.6;transition:transform .15s}.vtb-tag-btn.open .vtb-tag-arrow{transform:rotate(180deg);opacity:.9}.vtb-panel{position:absolute;top:calc(100% + 6px);left:0;background:#1c1e22;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:12px;z-index:200;box-shadow:0 8px 32px #00000080;animation:vtb-panel-in .12s ease}.vtb-panel.vtb-panel-up{top:auto;bottom:calc(100% + 6px);animation:vtb-panel-up-in .12s ease}@keyframes vtb-panel-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes vtb-panel-up-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.vtb-panel-title{font-size:12px;color:#ffffff59;margin-bottom:8px;padding:4px 4px 0}.vtb-panel-divider{height:1px;background:#ffffff14;margin:10px 0}.vtb-model-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.vtb-model-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer;transition:background .12s}.vtb-model-item:hover{background:#ffffff12}.vtb-model-item.selected{background:#ffffff0f}.vtb-model-icon{width:40px;height:40px;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;gap:1px}.vtb-model-icon-version{font-size:12px;font-weight:700;color:#fff;line-height:1}.vtb-model-icon-badge{font-size:9px;font-weight:600;color:#ffffffbf;letter-spacing:.3px;line-height:1}.vtb-model-icon.vtb-model-icon-brand{background:#374151;color:#f3f4f6;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:0}.vtb-model-icon.vtb-model-icon-brand .vtb-model-icon-svg{width:62%;height:62%;display:block}.vtb-tag-btn .vtb-model-icon.vtb-model-icon-brand{background:#374151}.vtb-model-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.vtb-model-name{font-size:13px;font-weight:500;color:#ffffffe6;display:flex;align-items:center;gap:6px}.vtb-badge-new{font-size:10px;font-weight:600;color:#5eead4;background:#5eead41f;border:1px solid rgba(94,234,212,.25);border-radius:8px;padding:1px 5px;line-height:1.4}.vtb-model-desc{font-size:11px;color:#ffffff59;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.vtb-check{width:14px;height:14px;flex-shrink:0;color:#fff9}.vtb-ratio-container{background:#ffffff08;border-radius:10px;padding:4px}.vtb-ratio-grid{display:flex;gap:2px;flex-wrap:nowrap;justify-content:space-between}.vtb-tooltip-wrapper{position:relative;display:flex;flex:1}.vtb-tooltip-wrapper .vtb-ratio-item{width:100%}.vtb-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);padding:8px 12px;background:#000000d9;color:#fff;font-size:13px;border-radius:8px;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;z-index:10;box-shadow:0 4px 12px #0003}.vtb-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border-width:5px;border-style:solid;border-color:rgba(0,0,0,.85) transparent transparent transparent}.vtb-tooltip-wrapper:hover .vtb-tooltip{opacity:1;visibility:visible}.vtb-ratio-item{display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px 4px;border-radius:8px;border:none;background:transparent;color:#ffffff73;cursor:pointer;transition:background .12s,color .12s;flex:1}.vtb-ratio-item:hover{background:#ffffff0a;color:#fffc}.vtb-ratio-item.active{background:#ffffff1a;color:#fff}.vtb-ratio-item.disabled{opacity:.3;cursor:not-allowed;pointer-events:none}.vtb-ratio-icon{color:#fff6;transition:color .12s}.vtb-ratio-icon.active,.vtb-ratio-item.active .vtb-ratio-icon{color:#fff}.vtb-ratio-label{font-size:12px;line-height:1;white-space:nowrap}.vtb-resolution-container{background:#ffffff08;border-radius:10px;padding:4px}.vtb-resolution-row{display:flex;gap:2px}.vtb-resolution-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 12px;border-radius:8px;border:none;background:transparent;color:#ffffff8c;font-size:13px;font-weight:500;cursor:pointer;transition:background .12s,color .12s}.vtb-resolution-btn:hover{background:#ffffff0a;color:#ffffffd9}.vtb-resolution-btn.active{background:#ffffff1a;color:#fff;font-weight:600}.vtb-resolution-btn.disabled{opacity:.3;cursor:not-allowed;pointer-events:none}.vtb-duration-icon,.vtb-duration-item-icon{width:18px;height:18px;flex-shrink:0}.vtb-duration-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.vtb-duration-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:6px;cursor:pointer;color:#ffffffb3;transition:background .12s,color .12s;background:transparent;margin:0}.vtb-duration-item:hover{background:#ffffff12;color:#ffffffe6}.vtb-duration-item.selected{background:#ffffff0f;color:#fff}.vtb-duration-item-content{display:flex;align-items:center;gap:8px;font-size:15px}.vtb-frame-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.vtb-frame-item{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:8px;cursor:pointer;font-size:13px;color:#ffffffb3;transition:background .12s,color .12s}.vtb-frame-item:hover{background:#ffffff12;color:#ffffffe6}.vtb-frame-item.selected{background:#ffffff0f;color:#fff}.vtb-frame-item.disabled{opacity:.3;cursor:not-allowed;pointer-events:none}.vtb-audio-toggle{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 6px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0;transition:background .15s,border-color .15s}.vtb-audio-toggle:hover{background:#ffffff1a;border-color:#ffffff2e}.vtb-audio-icon{width:14px;height:14px;flex-shrink:0;opacity:.6}.vtb-audio-label{font-size:14px;color:#ffffffa6;line-height:1;white-space:nowrap}.vtb-switch{position:relative;width:36px;height:20px;border-radius:10px;background:#ffffff26;cursor:pointer;transition:background .2s;flex-shrink:0}.vtb-switch.on{background:#5eead4}.vtb-switch-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px #0000004d}.vtb-switch.on .vtb-switch-thumb{transform:translate(16px)}.image-size-panel{display:flex;flex-direction:column;gap:16px;padding:12px 16px;background:#1a1a24;border-radius:12px;color:#fff}.size-section{display:flex;flex-direction:column;gap:8px}.size-section-title{font-size:13px;color:#ffffff80;margin-bottom:4px}.ratio-grid{display:flex;flex-wrap:nowrap;gap:4px;background:#ffffff0a;padding:4px;border-radius:12px;overflow-x:auto}.ratio-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:8px 4px;border:none;background:transparent;color:#fff9;border-radius:8px;cursor:pointer;transition:all .2s ease;flex:1;min-width:40px}.ratio-btn:hover{background:#ffffff14;color:#fff}.ratio-btn.active{background:#ffffff1f;color:#fff}.ratio-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center}.ratio-label{font-size:11px;font-weight:500}.res-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.res-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:#ffffffb3;border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:13px;font-weight:500}.res-btn:hover{background:#ffffff14;color:#fff}.res-btn.active{background:#ffffff1f;border-color:#fff3;color:#fff}.res-sparkle{width:14px;height:14px;color:#38bdf8}.dim-row{display:flex;align-items:center;gap:12px}.dim-input-group{display:flex;align-items:center;gap:8px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:8px 12px;flex:1;transition:all .2s ease}.dim-input-group:focus-within{border-color:#fff3;background:#ffffff14}.dim-input-group.disabled{opacity:.5;pointer-events:none}.dim-prefix{color:#fff6;font-size:13px;font-weight:600}.dim-input{background:transparent;border:none;color:#fff;font-size:14px;font-weight:500;width:100%;outline:none;text-align:right;-moz-appearance:textfield}.dim-input::-webkit-outer-spin-button,.dim-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.dim-link-wrapper{position:relative;display:flex;align-items:center;justify-content:center}.dim-link-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:#ffffff14;color:#fffc;border-radius:8px;cursor:pointer;transition:all .2s ease}.dim-link-btn:hover{background:#ffffff26;color:#fff}.dim-link-btn[data-tooltip]:before{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#2a2a36;color:#ffffffe6;padding:6px 10px;border-radius:6px;font-size:12px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .2s ease;box-shadow:0 4px 12px #0000004d;border:1px solid rgba(255,255,255,.1);z-index:10}.dim-link-btn[data-tooltip]:after{content:"";position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%);border-width:4px;border-style:solid;border-color:#2a2a36 transparent transparent transparent;opacity:0;transition:opacity .2s ease;pointer-events:none;z-index:11}.dim-link-btn[data-tooltip]:hover:before,.dim-link-btn[data-tooltip]:hover:after{opacity:1}.dim-link-btn svg{width:16px;height:16px}.dim-suffix{color:#fff6;font-size:13px;font-weight:600}.miu-root{position:relative;display:inline-flex;align-items:center;padding:6px 4px;border-radius:10px;transition:background .25s ease}.miu-root.miu-expanded{background:#ffffff0a}.miu-cards{display:flex;align-items:center;transition:gap .35s cubic-bezier(.4,0,.2,1);gap:0}.miu-expanded .miu-cards{gap:10px}.miu-card{flex-shrink:0;position:relative;transition:transform .35s cubic-bezier(.4,0,.2,1),margin .35s cubic-bezier(.4,0,.2,1)}.miu-expanded .miu-card{transform:rotate(0)!important;margin-left:0!important}.miu-frame{width:56px;height:72px;border:2px solid rgba(255,255,255,.82);border-radius:4px;overflow:hidden;background:#ffffff0f;box-shadow:0 2px 10px #00000059;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center}.miu-frame img{width:100%;height:100%;object-fit:cover;display:block}.miu-frame-video{border-color:#60a5fa99}.miu-frame-audio{border-color:#fbbf2480}.miu-video-thumb{width:100%;height:100%;object-fit:cover;display:block}.miu-type-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.miu-overlay-video{background:#0000004d;color:#ffffffe6}.miu-overlay-audio{background:#1e1e28f2;color:#ffffff8c}.miu-badge{position:absolute;bottom:2px;left:50%;transform:translate(-50%);font-size:8px;font-weight:600;padding:0 4px;border-radius:3px;line-height:14px;z-index:3;pointer-events:none}.miu-badge-image{background:#4ade80d9;color:#064e3b}.miu-badge-video{background:#60a5fad9;color:#1e3a5f}.miu-badge-audio{background:#fbbf24d9;color:#78350f}.miu-role-tag{position:absolute;top:2px;right:2px;font-size:7px;font-weight:600;padding:0 3px;border-radius:2px;line-height:12px;z-index:3;pointer-events:none;background:#c084fce6;color:#fff}.miu-remove{position:absolute;top:-7px;right:-7px;width:18px;height:18px;border-radius:50%;background:#1e1e23eb;border:1px solid rgba(255,255,255,.2);color:#ffffffb3;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;transition:background .15s,color .15s;padding:0}.miu-remove:hover{background:#dc2626d9;color:#fff}.miu-close-all{position:absolute;top:-6px;left:-6px;width:22px;height:22px;border-radius:50%;background:#1e1e23f2;border:1px solid rgba(255,255,255,.2);color:#ffffffa6;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:20;padding:0;transition:background .15s,color .15s}.miu-close-all:hover{background:#dc2626d9;color:#fff}.miu-frame-add{cursor:pointer;border-style:dashed;border-color:#ffffff40;background:#ffffff08;transition:border-color .15s,background .15s;gap:4px}.miu-frame-add:hover{border-color:#ffffff73;background:#ffffff14}.miu-add-icon{font-size:22px;font-weight:300;color:#ffffff73;line-height:1}.miu-add-text{font-size:10px;color:#ffffff59;white-space:nowrap}.miu-card-add-stacked .miu-frame-add{width:32px;height:32px;border-radius:50%;border-width:1.5px}.miu-card-add-stacked .miu-add-icon{font-size:18px}.miu-card-add-stacked .miu-add-text{display:none}.miu-card-clickable{cursor:pointer}.miu-card-clickable .miu-frame{transition:border-color .15s ease,box-shadow .15s ease}.miu-card-clickable:hover .miu-frame{border-color:#8b5cf6b3;box-shadow:0 2px 12px #8b5cf640}.miu-preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:miu-fade-in .15s ease}@keyframes miu-fade-in{0%{opacity:0}to{opacity:1}}.miu-preview-close{position:absolute;top:20px;right:20px;background:#ffffff1a;border:none;color:#ccc;cursor:pointer;padding:8px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:1}.miu-preview-close:hover{background:#fff3;color:#fff;transform:scale(1.1)}.miu-preview-content{max-width:90vw;max-height:90vh;display:flex;align-items:center;justify-content:center}.miu-preview-media{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:8px;box-shadow:0 8px 40px #00000080}.miu-preview-audio{display:flex;flex-direction:column;align-items:center;gap:16px;padding:40px 48px;background:#282832f2;border-radius:16px;box-shadow:0 8px 40px #00000080}.miu-preview-audio-icon{color:#fbbf24b3}.miu-preview-audio-name{font-size:14px;color:#ccc;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.miu-preview-audio audio{width:320px;height:40px}.mention-input-root{position:relative;flex:1;width:100%;min-width:0}.mention-input-editor{outline:none;white-space:pre-wrap;word-break:break-word;overflow-y:auto}.mention-input-editor:empty:before{content:""}.mention-input-placeholder{position:absolute;top:0;left:0;color:#ffffff40;font-size:15px;pointer-events:none;-webkit-user-select:none;user-select:none}.mention-chip{display:inline-flex;align-items:center;gap:4px;background:#ffffff1a;border-radius:6px;padding:2px 8px 2px 4px;margin:0 2px;vertical-align:middle;cursor:default;-webkit-user-select:none;user-select:none;line-height:1.4}.mention-chip-thumb{width:20px;height:20px;border-radius:4px;object-fit:cover;flex-shrink:0}.mention-chip-audio-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:4px;background:#8b5cf64d;color:#ffffffb3;font-size:12px;flex-shrink:0}.mention-chip-label{font-size:13px;color:#ffffffd9;white-space:nowrap}.mention-dropdown{position:absolute;bottom:calc(100% + 8px);left:0;min-width:240px;max-width:320px;background:#1e1e2af2;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:8px 0;z-index:100;box-shadow:0 8px 32px #0006;max-height:320px;overflow-y:auto}.mention-dd-header{display:flex;align-items:center;gap:6px;padding:6px 14px 8px;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:4px}.mention-dd-at{color:#ffffff80;font-size:15px;font-weight:500}.mention-dd-hint{color:#ffffff4d;font-size:13px}.mention-dd-item{display:flex;align-items:center;gap:10px;padding:8px 14px;cursor:pointer;transition:background .15s}.mention-dd-item-active{background:#ffffff14}.mention-dd-thumb{width:40px;height:40px;border-radius:8px;object-fit:cover;flex-shrink:0}.mention-dd-thumb-wrap{position:relative;width:40px;height:40px;flex-shrink:0}.mention-dd-thumb-wrap video{width:100%;height:100%;border-radius:8px;object-fit:cover}.mention-dd-duration{position:absolute;bottom:2px;left:2px;background:#0009;border-radius:3px;padding:0 4px;font-size:10px;color:#fff;line-height:1.6}.mention-dd-audio-icon{display:flex;align-items:center;justify-content:center;background:#8b5cf640;color:#fff9}.mention-dd-label{font-size:14px;color:#ffffffd9;white-space:nowrap}.recharge-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.recharge-modal-content{background:#1e1e2e;border:1px solid rgba(255,255,255,.1);border-radius:20px;width:90%;max-width:420px;padding:32px;position:relative;box-shadow:0 20px 40px #00000080;animation:slideUp .3s ease-out}.recharge-modal-close{position:absolute;top:20px;right:20px;background:transparent;border:none;color:#ffffff80;cursor:pointer;padding:4px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s}.recharge-modal-close:hover{color:#fff;background:#ffffff1a}.recharge-modal-close svg{width:20px;height:20px}.recharge-modal-title{font-size:20px;font-weight:600;color:#fff;margin:0 0 20px;text-align:center}.recharge-tabs{display:flex;background:#ffffff0f;border-radius:10px;padding:3px;margin-bottom:20px}.recharge-tab{flex:1;padding:10px 0;background:transparent;border:none;border-radius:8px;color:#ffffff73;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.recharge-tab:hover{color:#ffffffb3}.recharge-tab-active{background:#ffffff1a;color:#fff;font-weight:600}.recharge-modal-body{display:flex;flex-direction:column;gap:20px}.recharge-amount-section{display:flex;flex-direction:column;gap:10px}.recharge-amount-label{font-size:14px;color:#fff9}.recharge-amount-input-wrapper{display:flex;align-items:center;background:#ffffff0f;border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:0 16px;transition:border-color .2s}.recharge-amount-input-wrapper:focus-within{border-color:#3b82f6}.recharge-amount-prefix{font-size:22px;font-weight:600;color:#ffffff80;margin-right:8px}.recharge-amount-input{flex:1;background:transparent;border:none;outline:none;color:#fff;font-size:24px;font-weight:600;padding:14px 0;-moz-appearance:textfield}.recharge-amount-input::placeholder{color:#ffffff40;font-size:16px;font-weight:400}.recharge-amount-input::-webkit-outer-spin-button,.recharge-amount-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.recharge-amount-hint{font-size:12px;color:#ffffff59;text-align:center}.recharge-error{font-size:13px;color:#ef4444;text-align:center}.recharge-pay-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;background:linear-gradient(135deg,#1677ff,#0958d9);border:none;border-radius:12px;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.recharge-pay-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px #1677ff66}.recharge-pay-button:disabled{opacity:.5;cursor:not-allowed}.recharge-alipay-icon{width:32px;height:32px}.recharge-loading{display:flex;align-items:center;gap:8px}.recharge-waiting{display:flex;flex-direction:column;align-items:center;gap:16px;padding:8px 0}.recharge-waiting-icon svg{width:48px;height:48px;color:#f59e0b;animation:pulse 2s infinite}.recharge-waiting-text{font-size:18px;font-weight:600;color:#fff}.recharge-waiting-hint{font-size:14px;color:#ffffff80;text-align:center}.recharge-waiting-order{font-size:12px;color:#ffffff4d;font-family:monospace}.recharge-check-button{width:100%;padding:12px;background:linear-gradient(135deg,#1677ff,#0958d9);border:none;border-radius:12px;color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.recharge-check-button:hover{transform:translateY(-1px);box-shadow:0 4px 16px #1677ff66}.recharge-cancel-button{background:transparent;border:1px solid rgba(255,255,255,.15);border-radius:12px;color:#fff9;padding:10px;width:100%;font-size:14px;cursor:pointer;transition:all .2s}.recharge-cancel-button:hover{border-color:#ffffff4d;color:#fff}.recharge-success{display:flex;flex-direction:column;align-items:center;gap:16px;padding:8px 0}.recharge-success-icon svg{width:56px;height:56px;color:#10b981}.recharge-success-text{font-size:20px;font-weight:600;color:#10b981}.recharge-success-hint{font-size:14px;color:#ffffff80}.recharge-done-button{width:100%;padding:12px;background:#10b98126;border:1px solid rgba(16,185,129,.3);border-radius:12px;color:#10b981;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.recharge-done-button:hover{background:#10b98140}.recharge-qrcode-wrapper{display:flex;justify-content:center;gap:20px}.recharge-qrcode-item{display:flex;flex-direction:column;align-items:center;gap:8px}.recharge-qrcode-placeholder{width:140px;height:140px;background:#ffffff0d;border:1px dashed rgba(255,255,255,.2);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff6;gap:12px}.recharge-qrcode-placeholder svg{width:48px;height:48px;opacity:.5}.recharge-qrcode-placeholder span{font-size:13px}.recharge-qrcode-image{width:140px;height:140px;border-radius:12px;object-fit:contain;background:#fff;padding:4px;cursor:pointer;transition:transform .15s ease}.recharge-qrcode-image:hover{transform:scale(1.05)}.recharge-qrcode-label{font-size:13px;color:#fff6}.recharge-info{background:#0003;border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:12px}.recharge-info-item{display:flex;align-items:flex-start;font-size:14px;line-height:1.5}.recharge-info-label{color:#ffffff80;min-width:70px;flex-shrink:0}.recharge-info-value{color:#fff;word-break:break-all}.recharge-info-highlight{margin-top:4px;padding-top:12px;border-top:1px dashed rgba(255,255,255,.1)}.recharge-info-highlight .recharge-info-value{color:#5eead4;font-weight:500}.recharge-info-tip{margin-top:8px;font-size:12px;color:#ef4444;text-align:center}.recharge-preview-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1100;cursor:zoom-out;animation:fadeIn .2s ease-out}.recharge-preview-image{max-width:90vw;max-height:90vh;border-radius:12px;background:#fff;padding:8px;box-shadow:0 20px 60px #0009;animation:scaleIn .25s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.child-manager{width:100%}.child-msg{padding:12px 16px;border-radius:12px;font-size:14px;margin-bottom:20px;display:flex;align-items:center;gap:8px}.child-msg-error{background:#ef44441a;color:#fca5a5;border:1px solid rgba(239,68,68,.2)}.child-msg-success{background:#22c55e1a;color:#86efac;border:1px solid rgba(34,197,94,.2)}.child-add-btn{width:100%;padding:16px;border:1px dashed rgba(255,255,255,.15);border-radius:16px;background:#ffffff05;color:#fff9;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;margin-bottom:24px;display:flex;align-items:center;justify-content:center;gap:8px}.child-add-btn:hover{border-color:#ffffff4d;color:#fff;background:#ffffff0d}.child-add-form{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:24px;margin-bottom:24px}.child-add-form-title{font-size:16px;font-weight:600;color:#fff;margin-bottom:20px}.child-add-row{display:flex;gap:12px;margin-bottom:16px}.child-input{flex:1;padding:12px 16px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:#0003;color:#fff;font-size:14px;outline:none;transition:all .2s}.child-input:focus{border-color:#5eead4;background:#0006}.child-input::placeholder{color:#ffffff4d}.child-send-code-btn{padding:0 20px;border:1px solid rgba(94,234,212,.3);border-radius:12px;background:#5eead40d;color:#5eead4;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .2s}.child-send-code-btn:hover:not(:disabled){background:#5eead426;border-color:#5eead480}.child-send-code-btn:disabled{opacity:.5;cursor:not-allowed;border-color:#ffffff1a;color:#ffffff80;background:#ffffff0d}.child-add-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.child-cancel-btn{padding:10px 24px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:transparent;color:#fff9;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.child-cancel-btn:hover{color:#fff;background:#ffffff0d}.child-confirm-btn{padding:10px 24px;border:none;border-radius:10px;background:#5eead4;color:#000;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.child-confirm-btn:hover:not(:disabled){background:#2dd4bf;transform:translateY(-1px)}.child-confirm-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.child-empty{text-align:center;color:#fff6;font-size:14px;padding:48px 0;background:#ffffff05;border-radius:16px;border:1px dashed rgba(255,255,255,.08)}.child-list{display:flex;flex-direction:column;gap:12px}.child-card{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:16px;transition:all .2s}.child-card:hover{background:#ffffff0d;border-color:#ffffff1a}.child-card-info{display:flex;flex-direction:column;gap:4px}.child-card-name-row{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.child-card-name{font-size:15px;color:#fff;font-weight:600}.child-card-realname{font-size:12px;color:#ffffff73;font-weight:400}.child-summary-realname{font-size:12px;color:#ffffff73;font-weight:400;margin-left:4px}.child-card-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.child-alias-btn{padding:8px 14px;border:1px solid rgba(94,234,212,.25);border-radius:8px;background:#5eead40a;color:#5eead4;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .2s}.child-alias-btn:hover{background:#5eead41f;border-color:#5eead473}.child-alias-edit{display:flex;align-items:center;gap:8px;margin-top:10px;flex-wrap:wrap}.child-alias-input{max-width:240px;padding:8px 12px;font-size:13px}.child-alias-save{padding:8px 14px;border:none;border-radius:8px;background:#5eead4;color:#000;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.child-alias-save:hover:not(:disabled){background:#2dd4bf}.child-alias-save:disabled{opacity:.5;cursor:not-allowed}.child-alias-cancel{padding:8px 14px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:transparent;color:#fff9;font-size:13px;cursor:pointer;transition:all .2s}.child-alias-cancel:hover:not(:disabled){color:#fff;background:#ffffff0d}.child-card-phone{font-size:13px;color:#fff9;font-family:monospace}.child-card-time{font-size:12px;color:#fff6;margin-top:4px}.child-unbind-btn{padding:8px 16px;border:1px solid rgba(239,68,68,.3);border-radius:8px;background:#ef44440d;color:#f87171;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.child-unbind-btn:hover{background:#ef444426;border-color:#ef444480}.child-summary-list{display:flex;flex-direction:column;background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:16px;overflow:hidden}.child-summary-header{display:flex;align-items:center;padding:12px 20px;background:#ffffff0a;border-bottom:1px solid rgba(255,255,255,.06);font-size:12px;color:#fff6;font-weight:500}.child-summary-item{border-bottom:1px solid rgba(255,255,255,.04)}.child-summary-item:last-child{border-bottom:none}.child-summary-row{display:flex;align-items:center;padding:14px 20px;transition:background .15s}.child-summary-row:hover{background:#ffffff0a}.child-summary-row.expanded{background:#ffffff08}.child-summary-col-name{flex:1;min-width:0;display:flex;align-items:center;gap:10px;font-size:14px;color:#fff;font-weight:500}.child-summary-col{width:100px;text-align:right;font-size:14px;font-family:monospace;font-weight:500;color:#fff9;flex-shrink:0}.child-summary-col-action{width:64px;text-align:right;flex-shrink:0}.child-summary-header .child-summary-col,.child-summary-header .child-summary-col-action{font-family:inherit;font-weight:500}.child-summary-net{color:#fff}.child-badge{font-size:11px;padding:2px 8px;border-radius:6px;background:#5eead41a;color:#5eead4;font-weight:600;border:1px solid rgba(94,234,212,.2);flex-shrink:0}.detail-toggle-btn{padding:4px 12px;border:1px solid rgba(255,255,255,.12);border-radius:6px;background:transparent;color:#ffffff80;font-size:12px;cursor:pointer;transition:all .15s}.detail-toggle-btn:hover{color:#fff;border-color:#ffffff40;background:#ffffff0d}.detail-panel{background:#0003;padding:0 20px 16px}.detail-loading,.detail-empty{text-align:center;color:#ffffff59;font-size:13px;padding:20px 0}.detail-table-header{display:flex;align-items:center;padding:8px 0;font-size:11px;color:#ffffff59;border-bottom:1px solid rgba(255,255,255,.06)}.detail-row{display:flex;align-items:center;padding:10px 0;font-size:13px;border-bottom:1px solid rgba(255,255,255,.03)}.detail-row:last-of-type{border-bottom:none}.detail-col-time{width:120px;color:#ffffff80;font-family:monospace;font-size:12px;flex-shrink:0}.detail-col-type{width:60px;font-size:12px;font-weight:500;flex-shrink:0}.detail-col-type.deduct{color:#fca5a5}.detail-col-type.refund{color:#86efac}.detail-col-model{flex:1;color:#fff6;font-size:12px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-col-amount{width:90px;text-align:right;font-family:monospace;font-weight:500;flex-shrink:0}.detail-col-amount.deduct{color:#fca5a5}.detail-col-amount.refund{color:#86efac}.detail-pagination{display:flex;align-items:center;justify-content:center;gap:16px;padding-top:12px;margin-top:4px;border-top:1px solid rgba(255,255,255,.06)}.detail-page-btn{padding:4px 14px;border:1px solid rgba(255,255,255,.12);border-radius:6px;background:transparent;color:#ffffff80;font-size:12px;cursor:pointer;transition:all .15s}.detail-page-btn:hover:not(:disabled){color:#fff;border-color:#ffffff40;background:#ffffff0d}.detail-page-btn:disabled{opacity:.3;cursor:not-allowed}.detail-page-info{font-size:12px;color:#fff6;font-family:monospace}.inv-manager{display:flex;flex-direction:column;gap:16px}.inv-section{background:#1a1a1a;border-radius:12px;padding:20px}.inv-title{font-size:15px;font-weight:600;color:#e5e5e5;margin-bottom:14px;display:flex;align-items:center;gap:8px}.inv-count{font-size:12px;font-weight:500;color:#999;background:#333;padding:1px 8px;border-radius:10px}.inv-code-display{display:flex;align-items:stretch;background:#1e1e1e;border:1px solid #333;border-radius:8px;overflow:hidden;width:fit-content;box-shadow:0 2px 8px #0003}.inv-code-label{display:flex;align-items:center;padding:0 16px;background:#2a2a2a;font-size:13px;color:#999;border-right:1px solid #333;font-weight:500;letter-spacing:1px}.inv-code-text{padding:10px 24px;font-size:20px;font-weight:700;letter-spacing:4px;color:#5eead4;font-family:SF Mono,Menlo,Monaco,monospace;display:flex;align-items:center;justify-content:center;background:#1a1a1a}.inv-copy-btn{background:#6366f1;border:none;color:#fff;padding:0 24px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.inv-copy-btn:hover{background:#4f46e5}.inv-copy-btn.copied{background:#10b981}.inv-code-empty{display:flex;flex-direction:column;align-items:center;gap:12px}.inv-code-hint{font-size:13px;color:#777;text-align:center;line-height:1.6}.inv-generate-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;color:#fff;padding:10px 28px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .2s}.inv-generate-btn:hover{opacity:.9}.inv-generate-btn:disabled{opacity:.5;cursor:not-allowed}.inv-error{color:#ef4444;font-size:13px;margin-top:8px;text-align:center}.inv-empty{color:#666;font-size:13px;text-align:center;padding:16px 0}.inv-list{display:flex;flex-direction:column;gap:1px}.inv-item{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid #222}.inv-item:last-child{border-bottom:none}.inv-item-info{display:flex;align-items:center;gap:8px}.inv-item-name{font-size:14px;color:#ddd}.inv-item-role{font-size:11px;padding:1px 6px;border-radius:4px;background:#333;color:#999}.inv-role-parent{background:#6366f126;color:#818cf8}.inv-item-time{font-size:12px;color:#666}.inv-header-mode{background:transparent;padding:0;border-radius:0}.inv-header-mode .inv-title{display:none}.inv-header-mode .inv-code-empty{flex-direction:row;justify-content:space-between;background:#ffffff08;border:1px dashed rgba(255,255,255,.15);border-radius:8px;padding:12px 16px;align-items:center}.inv-header-mode .inv-code-hint{text-align:left;margin:0;font-size:12px}.inv-list-mode{padding:0;background:transparent}.inv-list-header-stats{font-size:14px;color:#999;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #222}.inv-count-highlight{color:#5eead4;font-weight:600;font-size:16px;margin:0 4px}.app-toast{position:fixed;top:80px;left:50%;transform:translate(-50%);z-index:3000;display:flex;align-items:center;gap:10px;max-width:min(92vw,520px);padding:10px 12px 10px 16px;border-radius:999px;color:#fff;font-size:13px;line-height:1.45;pointer-events:auto;box-shadow:0 10px 28px #00000038;animation:app-toast-in .2s ease-out}.app-toast--success{background:#227850fa;border:1px solid rgba(120,200,160,.35)}.app-toast--error{background:#9b3737fa;border:1px solid rgba(220,130,130,.4)}.app-toast--info{background:#25638cfa;border:1px solid rgba(120,180,220,.4)}.app-toast--warning{background:#a55f1cfa;border:1px solid rgba(230,170,90,.45)}.app-toast__icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:22px;height:22px;color:#fff}.app-toast__icon-svg{display:block;width:20px;height:20px}.app-toast__message{flex:1;min-width:0;text-align:left}.app-toast__close{flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-left:4px;padding:6px;border:none;border-radius:999px;background:transparent;color:#ffffffeb;cursor:pointer;opacity:.85;transition:opacity .15s ease,background .15s ease}.app-toast__close:hover{opacity:1;background:#ffffff1f}.app-toast__close:focus-visible{outline:2px solid rgba(255,255,255,.65);outline-offset:1px}@keyframes app-toast-in{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.app-toast.app-toast--embedded{position:absolute;top:4px;left:50%;transform:translate(-50%)}.app-toast.app-toast--embedded.canvas-toast--connect{top:48px}.app-toast.app-toast--embedded.canvas-toast--media{top:16px;max-width:min(90vw,480px)}.app-toast.app-toast--embedded.canvas-toast--media .app-toast__message{text-align:center}.app-toast.app-toast--login{position:absolute;top:-52px;left:50%;transform:translate(-50%);z-index:10;max-width:min(90vw,400px);animation:login-app-toast-in .3s ease-out}@keyframes login-app-toast-in{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.video-history-container{display:flex;flex-direction:column;gap:32px;padding:24px 24px 200px;max-width:var(--content-max-width, 800px);margin:0 auto;width:100%}.history-group{display:flex;flex-direction:column;gap:16px}.history-date-header{font-size:20px;font-weight:600;color:#f3f4f6;margin:0;padding-bottom:8px}.history-list{display:flex;flex-direction:column;gap:40px}.history-item{display:flex;flex-direction:column;gap:4px;width:100%;max-width:692px}.history-item-info{display:flex;flex-direction:column;gap:8px}.history-item-header{display:flex;flex-direction:row;gap:16px;color:#9ca3af;font-size:14px;align-items:center}.history-text-content{display:flex;flex-direction:column;gap:8px;flex:1;min-width:0}.history-thumbnails{display:flex;flex-direction:row;align-items:center;flex-shrink:0;padding:4px 8px;position:relative}.history-thumbnails.clickable{cursor:pointer}.history-thumbnail-edit-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#00000080;border-radius:6px;opacity:0;transition:opacity .2s ease;pointer-events:none}.history-thumbnail-edit-overlay svg{width:20px;height:20px;color:#fff}.history-thumbnails.clickable:hover .history-thumbnail-edit-overlay{opacity:1}.history-thumbnail-wrapper{position:relative;flex-shrink:0;width:44px;height:56px;transition:transform .3s cubic-bezier(.34,1.4,.64,1)}.history-thumbnail-wrapper:nth-child(2n){transform:rotate(3deg)}.history-thumbnail-wrapper:nth-child(odd){transform:rotate(-3deg)}.history-thumbnail-wrapper:not(:first-child){margin-left:-12px;transition:margin-left .3s cubic-bezier(.34,1.4,.64,1)}.history-thumbnails:hover .history-thumbnail-wrapper:not(:first-child){margin-left:4px}.history-thumbnails:hover .history-thumbnail-wrapper{transform:rotate(0)!important}.history-thumbnail{width:100%;height:100%;border-radius:4px;object-fit:cover;background-color:#374151;border:2px solid #fff;display:block;box-shadow:-2px 0 6px #0006}.history-thumbnail-audio{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#d1d5db;font-size:12px;line-height:1}.history-thumbnail-audio svg{width:24px;height:24px}.history-thumbnail-audio span{font-size:11px;color:#9ca3af}.history-thumbnail-badge{position:absolute;bottom:2px;right:2px;width:16px;height:16px;background-color:#0009;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}.history-thumbnail-badge svg{width:8px;height:8px}.history-thumbnail-badge-role{background-color:#9333eacc}.history-thumbnail-badge-role svg{width:10px;height:10px}.history-thumbnail-asset-loading{display:flex;align-items:center;justify-content:center;background:#1e1e28cc;color:#fff6}.history-thumbnail-loading-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.15);border-top-color:#ffffff80;border-radius:50%;animation:history-thumb-spin .8s linear infinite}@keyframes history-thumb-spin{to{transform:rotate(360deg)}}.history-prompt-container{display:flex;align-items:flex-start;gap:8px}.history-prompt{color:#f3f4f6;font-weight:500;display:-webkit-box;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;max-width:none;word-break:break-all;line-height:1.5}.history-copy-btn{background:none;border:none;color:#9ca3af;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:color .2s,background-color .2s;flex-shrink:0;margin-top:2px}.history-copy-btn:hover{color:#f3f4f6;background-color:#374151}.history-copy-btn svg{width:16px;height:16px}.history-ref-download-btn{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;margin-top:2px;padding:4px 10px;font-size:13px;color:#e0e7ff;background:#3b82f633;border:1px solid rgba(59,130,246,.45);border-radius:6px;cursor:pointer;transition:background .2s,border-color .2s,color .2s}.history-ref-download-btn:hover:not(:disabled){background:#3b82f659;border-color:#60a5fab3;color:#f8fafc}.history-ref-download-btn:disabled{opacity:.65;cursor:not-allowed}.history-ref-download-btn svg{flex-shrink:0}.history-footer{display:flex;align-items:center;justify-content:space-between;margin-top:2px;width:100%;max-width:532px}.history-meta-container{display:flex;align-items:center;gap:12px}.history-meta{color:#6b7280;display:flex;align-items:center;gap:4px;font-size:13px;white-space:nowrap}.history-video-wrapper{width:100%;max-width:532px;aspect-ratio:16 / 9;background-color:#1f2937;border-radius:8px;overflow:hidden;position:relative;isolation:isolate}.history-video-wrapper.expired{aspect-ratio:auto;height:80px}.history-video{width:100%;height:100%;object-fit:contain;display:block;outline:none;margin:0;padding:0;border:none}.history-video-placeholder{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#9ca3af;font-size:14px}.history-video-placeholder.failed{color:#ef4444}.history-video-placeholder.expired{background-color:#1f2937;color:#9ca3af;flex-direction:column;gap:8px}.expired-text{font-size:14px;font-weight:500}.history-retention-tip{display:flex;align-items:center;gap:4px;margin-left:auto;font-size:12px;color:#fbbf24;background-color:#fbbf241a;padding:4px 8px;border-radius:6px;white-space:nowrap}.history-retention-tip svg{width:14px;height:14px;flex-shrink:0}.history-video-placeholder.processing{background:linear-gradient(135deg,#1e293b,#3b82f6,#8b5cf6,#1e293b);background-size:400% 400%;animation:gradient-animation 8s ease infinite;align-items:flex-start;justify-content:flex-start;padding:12px}@keyframes gradient-animation{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.processing-badge{background-color:#0006;color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.1)}.history-actions{display:flex;gap:12px}.history-action-btn{display:flex;align-items:center;gap:5px;background-color:#374151;color:#f3f4f6;border:none;padding:5px 10px;border-radius:6px;font-size:12px;font-weight:400;cursor:pointer;transition:background-color .2s}.history-action-btn:hover{background-color:#4b5563}.history-action-btn svg{width:13px;height:13px}.history-action-btn.icon-only{padding:8px}.history-loading,.history-end,.history-empty{text-align:center;padding:24px;color:#6b7280;font-size:14px}.history-image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;width:100%;max-width:532px}.history-image-item{position:relative;border-radius:8px;overflow:hidden;background:#1f2937;cursor:pointer}.history-image-item img{width:100%;display:block;object-fit:cover;min-height:120px;background:linear-gradient(90deg,#1f2937 25%,#2a3444,#1f2937 75%);background-size:200% 100%;animation:img-skeleton 1.5s ease-in-out infinite}@keyframes img-skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}.history-image-actions{position:absolute;bottom:6px;right:6px;display:flex;gap:4px;opacity:0;transition:opacity .15s ease}.history-image-item:hover .history-image-actions{opacity:1}.history-image-action-btn{width:28px;height:28px;border-radius:6px;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;color:#fff;border:none;cursor:pointer;text-decoration:none;transition:background .15s ease}.history-image-action-btn:hover{background:#000000d9}.history-image-error{display:flex;align-items:flex-start;gap:6px;padding:10px 12px;border-radius:8px;background:#ef444414;border:1px solid rgba(239,68,68,.2);color:#f87171;font-size:13px;line-height:1.5;max-width:532px}.history-image-error svg{flex-shrink:0;margin-top:2px}.image-lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;cursor:pointer;animation:lightbox-fade-in .2s ease}@keyframes lightbox-fade-in{0%{opacity:0}to{opacity:1}}.image-lightbox-img{max-width:90vw;max-height:85vh;object-fit:contain;border-radius:8px;cursor:default;box-shadow:0 8px 40px #00000080}.image-lightbox-close{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:50%;background:#ffffff1a;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease}.image-lightbox-close:hover{background:#fff3}.image-lightbox-download{position:absolute;bottom:24px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:6px;padding:8px 20px;border-radius:8px;background:#ffffff1f;color:#fff;font-size:14px;font-weight:500;text-decoration:none;cursor:pointer;transition:background .15s ease;border:1px solid rgba(255,255,255,.15)}.image-lightbox-download:hover{background:#fff3}.fps-boost-trigger{position:absolute;top:8px;right:8px;width:32px;height:32px;border-radius:8px;border:none;background:#0000008c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s ease,background .15s ease;z-index:5}.history-video-wrapper:hover .fps-boost-trigger{opacity:1}.fps-boost-trigger:hover{background:#000000bf}.fps-boost-trigger.disabled{opacity:.4;cursor:not-allowed}.fps-boost-trigger.disabled:hover{background:#0000008c}.upscale-trigger{position:absolute;top:8px;right:44px;width:32px;height:32px;border-radius:8px;border:none;background:#0000008c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s ease,background .15s ease;z-index:5}.history-video-wrapper:hover .upscale-trigger{opacity:1}.upscale-trigger:hover{background:#000000bf}.upscale-trigger.disabled{opacity:.4;cursor:not-allowed}.upscale-trigger.disabled:hover{background:#0000008c}.fps-boost-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.fps-boost-modal{width:380px;background:#1f2937;border-radius:16px;overflow:hidden;box-shadow:0 20px 60px #00000080}.fps-boost-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px}.fps-boost-title{font-size:17px;font-weight:600;color:#f3f4f6;display:flex;align-items:center;gap:6px}.fps-boost-info-icon{color:#6b7280;display:flex;cursor:default;position:relative}.fps-boost-tooltip{position:absolute;left:50%;top:calc(100% + 8px);transform:translate(-50%);white-space:nowrap;font-size:12px;font-weight:400;color:#e5e7eb;background:#374151;padding:6px 12px;border-radius:6px;pointer-events:none;opacity:0;transition:opacity .15s ease}.fps-boost-tooltip:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-bottom-color:#374151}.fps-boost-info-icon:hover .fps-boost-tooltip{opacity:1}.fps-boost-close{width:32px;height:32px;border-radius:8px;border:none;background:transparent;color:#9ca3af;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease,color .15s ease}.fps-boost-close:hover{background:#ffffff14;color:#f3f4f6}.fps-boost-divider{height:1px;background:#ffffff14;margin:0 24px}.fps-boost-body{padding:24px;display:flex;flex-direction:column;gap:24px}.fps-boost-row{display:flex;align-items:center;gap:16px}.fps-boost-label{font-size:15px;font-weight:500;color:#d1d5db;min-width:72px;flex-shrink:0}.fps-boost-value{font-size:16px;font-weight:600;color:#f3f4f6}.fps-boost-options{display:flex;gap:12px}.fps-boost-option{display:flex;align-items:center;gap:8px;padding:10px 20px;border-radius:10px;border:1.5px solid rgba(255,255,255,.12);background:#ffffff0a;color:#d1d5db;font-size:14px;font-weight:500;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.fps-boost-option:hover{border-color:#ffffff40;background:#ffffff14}.fps-boost-option.active{border-color:#f3f4f6;background:#ffffff1a;color:#f3f4f6}.fps-boost-radio{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.25);position:relative;flex-shrink:0;transition:border-color .15s ease}.fps-boost-radio.checked{border-color:#f3f4f6}.fps-boost-radio.checked:after{content:"";position:absolute;top:3px;left:3px;width:6px;height:6px;border-radius:50%;background:#f3f4f6}.fps-boost-error{margin:0 24px;padding:8px 12px;border-radius:8px;background:#ef44441f;color:#f87171;font-size:13px}.fps-boost-hint{font-size:12px;color:#fbbf24;margin-right:auto;align-self:center}.fps-boost-cost{font-size:13px;color:#9ca3af;margin-right:12px;align-self:center}.fps-boost-footer{padding:16px 24px 20px;display:flex;justify-content:flex-end}.fps-boost-submit{padding:10px 28px;border-radius:10px;border:none;background:#f3f4f6;color:#111827;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s ease,transform .1s ease}.fps-boost-submit:hover{background:#fff}.fps-boost-submit:active{transform:scale(.97)}.fps-boost-submit:disabled{opacity:.5;cursor:not-allowed;transform:none}.history-inline-error{display:flex;align-items:center;gap:8px;margin-top:10px;padding:10px 12px;border-radius:8px;background:#ffffff0a;color:#d1d5db;font-size:13px;line-height:1.4}.history-inline-error-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:#9ca3af}.history-inline-error-text{flex:1;word-break:break-word}.alm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:alm-fade-in .2s ease}@keyframes alm-fade-in{0%{opacity:0}to{opacity:1}}.alm-panel{background:#222;border:1px solid rgba(255,255,255,.08);border-radius:16px;width:960px;max-width:92vw;max-height:88vh;display:flex;flex-direction:column;box-shadow:0 16px 48px #00000080;animation:alm-slide-up .25s cubic-bezier(.16,1,.3,1)}@keyframes alm-slide-up{0%{transform:translateY(20px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.alm-header{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;border-bottom:1px solid rgba(255,255,255,.08)}.alm-header-left{display:flex;align-items:center;gap:8px}.alm-title{margin:0;font-size:18px;font-weight:600;color:#f0f0f0;letter-spacing:.5px}.alm-tip-wrap{position:relative;display:flex;align-items:center}.alm-tip-icon{color:#888;cursor:help;transition:color .15s ease}.alm-tip-wrap:hover .alm-tip-icon{color:#c4b5fd}.alm-tip-tooltip{display:none;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);width:320px;padding:12px 14px;font-size:13px;line-height:1.6;color:#e0e0e0;background:#333;border:1px solid rgba(255,255,255,.1);border-radius:8px;box-shadow:0 8px 24px #0006;z-index:10;pointer-events:none}.alm-tip-wrap:hover .alm-tip-tooltip{display:block}.alm-header-right{display:flex;align-items:center;gap:10px}.alm-search{position:relative;display:flex;align-items:center;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:0 10px;height:32px;width:220px;transition:border-color .15s ease,background .15s ease}.alm-search:focus-within{border-color:#ffffff40;background:#ffffff14}.alm-search-icon{color:#888;flex-shrink:0;margin-right:6px}.alm-search-input{flex:1;min-width:0;background:transparent;border:none;outline:none;color:#f0f0f0;font-size:13px;padding:0}.alm-search-input::placeholder{color:#666}.alm-search-clear{background:#ffffff14;border:none;color:#aaa;cursor:pointer;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-left:6px;transition:all .15s ease}.alm-search-clear:hover{background:#ffffff2e;color:#fff}.alm-search-submit{height:32px;padding:0 14px;font-size:13px;font-weight:500;color:#f0f0f0;background:#4a4a4a;border:1px solid rgba(255,255,255,.15);border-radius:8px;cursor:pointer;transition:all .15s ease}.alm-search-submit:hover:not(:disabled){background:#5a5a5a;border-color:#ffffff40;color:#fff}.alm-search-submit:disabled{opacity:.5;cursor:not-allowed}.alm-close{background:#ffffff0d;border:none;color:#aaa;cursor:pointer;padding:6px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.alm-close:hover{color:#fff;background:#ffffff26;transform:scale(1.05)}.alm-tabs{display:flex;align-items:center;flex-wrap:wrap;gap:4px;padding:14px 24px 4px}.alm-tab{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 14px;font-size:14px;font-weight:500;color:#888;background:transparent;border:1px solid transparent;border-radius:8px;cursor:pointer;transition:color .15s ease,background .15s ease,border-color .15s ease}.alm-tab:hover{color:#e0e0e0}.alm-tab-active{color:#fff;background:#3a3a3a;border-color:#ffffff1f}.alm-tab-active:hover{color:#fff;background:#444}.alm-tab-name{line-height:1}.alm-ctx-menu{position:fixed;z-index:10000;min-width:140px;padding:4px;background:#2a2a2a;border:1px solid rgba(255,255,255,.1);border-radius:8px;box-shadow:0 8px 24px #0006;animation:alm-ctx-in .1s ease}@keyframes alm-ctx-in{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.alm-ctx-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;font-size:13px;color:#e0e0e0;background:transparent;border:none;border-radius:6px;cursor:pointer;text-align:left;transition:background .12s ease,color .12s ease}.alm-ctx-item:hover{background:#ffffff14}.alm-ctx-item-danger{color:#f87171}.alm-ctx-item-danger:hover{background:#dc26262e;color:#fca5a5}.alm-tab-add{color:#888;padding:0 10px}.alm-tab-add:hover{color:#e0e0e0;background:#ffffff0d}.alm-body{overflow-y:auto;padding:10px 24px 20px;position:relative}.alm-body::-webkit-scrollbar{width:8px}.alm-body::-webkit-scrollbar-track{background:transparent}.alm-body::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}.alm-body::-webkit-scrollbar-thumb:hover{background:#fff3}.alm-error{color:#ff6b6b;font-size:14px;margin-bottom:16px;text-align:center;background:#ff6b6b1a;padding:10px;border-radius:8px}.alm-limit-hint{text-align:center;font-size:13px;color:#facc15;background:#facc151a;padding:8px 16px;border-radius:8px;margin-bottom:12px;animation:alm-hint-in .25s ease}@keyframes alm-hint-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.alm-grid-wrap{position:relative}.alm-grid-loading .alm-grid{opacity:.3;pointer-events:none}.alm-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;transition:opacity .15s ease}.alm-card-item{display:flex;flex-direction:column;gap:6px;min-width:0}.alm-card-name{font-size:12px;color:#bbb;line-height:1.4;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 2px}.alm-card-name-placeholder{visibility:hidden}.alm-card{position:relative;aspect-ratio:1;border-radius:10px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:all .2s ease;background:#181818;box-shadow:0 4px 12px #0003}.alm-card:hover{border-color:#ffffff4d;transform:translateY(-2px);box-shadow:0 8px 20px #0000004d}.alm-card-selected{border-color:#8b5cf6}.alm-card-selected:hover{border-color:#9f75ff}.alm-card-disabled{opacity:.4;cursor:default;pointer-events:none;filter:grayscale(.5)}.alm-card-deleting{opacity:.4;pointer-events:none}.alm-card-actions{position:absolute;bottom:6px;right:6px;display:flex;gap:4px;opacity:0;transition:opacity .15s ease;z-index:2}.alm-card:hover .alm-card-actions{opacity:1}.alm-action-btn{width:28px;height:28px;border-radius:6px;border:none;background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#ddd;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.alm-action-btn:hover{background:#000000d9;color:#fff;transform:scale(1.1)}.alm-action-delete:hover{background:#dc2626d9;color:#fff}.alm-rename-btn{position:absolute;bottom:6px;left:6px;width:28px;height:28px;border-radius:6px;border:none;background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#ddd;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .15s ease;z-index:2}.alm-card:hover .alm-rename-btn{opacity:1}.alm-rename-btn:hover{background:#8b5cf6d9;color:#fff;transform:scale(1.1)}.alm-thumb{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}.alm-card:hover .alm-thumb{transform:scale(1.05)}.alm-type-tag{position:absolute;top:8px;left:8px;font-size:12px;font-weight:500;padding:3px 8px;border-radius:6px;background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#eee;line-height:1.4;pointer-events:none}.alm-check{position:absolute;top:8px;right:8px;width:26px;height:26px;border-radius:50%;background:#8b5cf6;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000004d;animation:alm-pop-in .2s cubic-bezier(.175,.885,.32,1.275)}@keyframes alm-pop-in{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.alm-added-tag{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:14px;font-weight:500;padding:6px 14px;border-radius:6px;background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#f0f0f0;box-shadow:0 4px 12px #0000004d}.alm-card-upload{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border:2px dashed rgba(255,255,255,.15);background:#ffffff05;box-shadow:none}.alm-card-upload:hover{border-color:#fff6;background:#ffffff0f;transform:translateY(-2px);box-shadow:0 8px 20px #0003}.alm-card-uploading{pointer-events:none;border-style:solid;border-color:#8b5cf666;background:#8b5cf60d}.alm-upload-icon{color:#aaa;transition:color .2s ease,transform .2s ease}.alm-card-upload:hover .alm-upload-icon{color:#fff;transform:translateY(-2px)}.alm-upload-label{font-size:14px;font-weight:500;color:#aaa;transition:color .2s ease}.alm-card-upload:hover .alm-upload-label{color:#fff}.alm-upload-progress{display:flex;flex-direction:column;align-items:center;gap:8px}.alm-upload-spinner{width:24px;height:24px;border:2.5px solid rgba(139,92,246,.3);border-top-color:#8b5cf6;border-radius:50%;animation:alm-spin .8s linear infinite}@keyframes alm-spin{to{transform:rotate(360deg)}}.alm-upload-text{font-size:12px;color:#ccc;font-weight:500}.alm-upload-error{display:flex;flex-direction:column;align-items:center;gap:6px}.alm-upload-error-icon{width:24px;height:24px;border-radius:50%;background:#ff6b6b;color:#fff;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center}.alm-upload-hint{font-size:12px;color:#666;margin-top:-4px}.alm-card-upload:hover .alm-upload-hint{color:#999}.alm-batch-progress{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;padding:10px 12px;background:#8b5cf60f;border:1px solid rgba(139,92,246,.15);border-radius:10px}.alm-batch-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 8px;border-radius:6px;background:#ffffff08;font-size:13px;min-height:32px}.alm-batch-item-error{background:#ff6b6b14}.alm-batch-name{color:#ccc;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex-shrink:1}.alm-batch-status{display:flex;align-items:center;gap:6px;color:#a78bfa;font-size:12px;white-space:nowrap;flex-shrink:0}.alm-batch-spinner{width:14px;height:14px;border:2px solid rgba(139,92,246,.3);border-top-color:#8b5cf6;border-radius:50%;animation:alm-spin .8s linear infinite;flex-shrink:0}.alm-batch-error{color:#ff6b6b;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:1;min-width:0;text-align:right}.alm-loading,.alm-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#888;font-size:14px;z-index:1;pointer-events:none}.alm-footer{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;border-top:1px solid rgba(255,255,255,.08);background:#0000001a;border-radius:0 0 16px 16px;gap:16px}.alm-footer-left{display:flex;align-items:center;gap:16px;min-width:0}.alm-footer-info{font-size:13px;color:#888;white-space:nowrap}.alm-pagination{display:flex;align-items:center;gap:4px}.alm-page-btn{min-width:32px;height:32px;padding:0 6px;font-size:13px;font-weight:500;color:#ccc;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.alm-page-btn:hover:not(:disabled){color:#fff;background:#ffffff1f;border-color:#fff3}.alm-page-btn:disabled{opacity:.3;cursor:not-allowed}.alm-page-active{color:#fff;background:#8b5cf6;border-color:#8b5cf6}.alm-page-active:hover:not(:disabled){background:#7c3aed;border-color:#7c3aed}.alm-page-ellipsis{width:28px;text-align:center;color:#666;font-size:14px;-webkit-user-select:none;user-select:none}.alm-confirm{padding:8px 32px;font-size:15px;font-weight:600;color:#fff;background:#8b5cf6;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #8b5cf64d}.alm-confirm:hover:not(:disabled){background:#7c3aed;transform:translateY(-1px);box-shadow:0 6px 16px #8b5cf666}.alm-confirm:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #8b5cf64d}.alm-confirm:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.alm-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1200;animation:alm-fade-in .15s ease}.alm-confirm-dialog{background:#2a2a2a;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:32px 36px 28px;width:360px;display:flex;flex-direction:column;align-items:center;gap:12px;box-shadow:0 16px 48px #00000080;animation:alm-slide-up .2s cubic-bezier(.16,1,.3,1)}.alm-confirm-icon{width:56px;height:56px;border-radius:14px;background:#dc26261f;border:1px solid rgba(220,38,38,.25);display:flex;align-items:center;justify-content:center;color:#f87171;margin-bottom:4px}.alm-confirm-title{margin:0;font-size:18px;font-weight:600;color:#f0f0f0}.alm-confirm-desc{margin:0;font-size:14px;color:#888;text-align:center;line-height:1.6}.alm-confirm-actions{display:flex;gap:12px;margin-top:8px;width:100%}.alm-confirm-cancel{flex:1;padding:10px 0;font-size:14px;font-weight:500;color:#ccc;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:8px;cursor:pointer;transition:all .2s ease}.alm-confirm-cancel:hover{background:#ffffff1f;color:#fff}.alm-confirm-ok{flex:1;padding:10px 0;font-size:14px;font-weight:600;color:#fff;background:#dc2626;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #dc26264d}.alm-confirm-ok:hover{background:#b91c1c;box-shadow:0 6px 16px #dc262666;transform:translateY(-1px)}.alm-confirm-ok:active{transform:translateY(0)}.alm-rename-dialog{background:#2a2a2a;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:28px 32px 24px;width:400px;max-width:92vw;display:flex;flex-direction:column;gap:12px;box-shadow:0 16px 48px #00000080;animation:alm-slide-up .2s cubic-bezier(.16,1,.3,1)}.alm-rename-input{width:100%;padding:10px 12px;font-size:14px;color:#f0f0f0;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:8px;outline:none;transition:border-color .15s ease,background .15s ease;box-sizing:border-box}.alm-rename-input:focus{border-color:#8b5cf6;background:#ffffff14}.alm-rename-input::placeholder{color:#666}.alm-rename-counter{font-size:12px;color:#777;text-align:right;margin-top:-4px}.alm-rename-label{font-size:12px;color:#888;margin-top:4px;margin-bottom:-4px}.alm-rename-select{width:100%;padding:10px 12px;font-size:14px;color:#f0f0f0;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:8px;outline:none;cursor:pointer;transition:border-color .15s ease,background .15s ease;box-sizing:border-box}.alm-rename-select:focus{border-color:#aaa;background:#ffffff14}.alm-rename-select:disabled{opacity:.6;cursor:not-allowed}.alm-rename-select option{background:#2a2a2a;color:#f0f0f0}.alm-rename-dialog .alm-confirm-actions{justify-content:flex-end;width:auto}.alm-rename-dialog .alm-confirm-cancel,.alm-rename-dialog .alm-confirm-agree{flex:0 0 auto;min-width:96px;padding:10px 20px}.alm-rename-dialog .alm-confirm-agree{color:#fff;background:#4a4a4a;border:1px solid rgba(255,255,255,.2);box-shadow:none}.alm-rename-dialog .alm-confirm-agree:hover:not(:disabled){background:#5a5a5a;border-color:#ffffff4d;box-shadow:none}.alm-rename-dialog .alm-confirm-agree:disabled{opacity:.45;background:#3a3a3a;border-color:#ffffff1f}.alm-agreement-dialog{background:#2a2a2a;border:1px solid rgba(255,255,255,.1);border-radius:16px;width:560px;max-width:92vw;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 16px 48px #00000080;animation:alm-slide-up .2s cubic-bezier(.16,1,.3,1)}.alm-agreement-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid rgba(255,255,255,.08)}.alm-agreement-title{margin:0;font-size:17px;font-weight:600;color:#f0f0f0}.alm-agreement-body{flex:1;overflow-y:auto;padding:20px 24px}.alm-agreement-intro{margin:0 0 16px;font-size:14px;color:#7eb8da;line-height:1.7}.alm-agreement-section{margin:16px 0 8px;font-size:15px;font-weight:600;color:#e0e0e0}.alm-agreement-list{margin:0;padding-left:20px;list-style:disc}.alm-agreement-list li{font-size:14px;color:#bbb;line-height:1.7;margin-bottom:6px}.alm-agreement-checkbox{display:flex;align-items:flex-start;gap:8px;margin-top:20px;cursor:pointer;font-size:14px;color:#ccc;line-height:1.5}.alm-agreement-checkbox input[type=checkbox]{margin-top:3px;accent-color:#8b5cf6;width:16px;height:16px;flex-shrink:0}.alm-agreement-footer{display:flex;gap:12px;padding:16px 24px;border-top:1px solid rgba(255,255,255,.08);justify-content:flex-end}.alm-agreement-footer .alm-confirm-cancel{flex:none;padding:10px 20px}.alm-confirm-agree{padding:10px 24px;font-size:14px;font-weight:600;color:#fff;background:#8b5cf6;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #8b5cf64d}.alm-confirm-agree:hover:not(:disabled){background:#7c3aed;box-shadow:0 6px 16px #8b5cf666}.alm-confirm-agree:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.alm-preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1100;animation:alm-fade-in .15s ease}.alm-preview-close{position:absolute;top:20px;right:20px;background:#ffffff1a;border:none;color:#ccc;cursor:pointer;padding:8px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:1}.alm-preview-close:hover{background:#fff3;color:#fff;transform:scale(1.1)}.alm-preview-content{max-width:90vw;max-height:90vh;display:flex;align-items:center;justify-content:center}.alm-preview-media{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:8px;box-shadow:0 8px 40px #00000080}.alm-panel{position:relative}.alm-panel-dragover{outline:2px dashed rgba(120,170,255,.65);outline-offset:-8px}.alm-drop-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#141c2cb8;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:16px;display:flex;align-items:center;justify-content:center;z-index:50;pointer-events:none;animation:alm-fade-in .12s ease}.alm-drop-overlay-inner{display:flex;flex-direction:column;align-items:center;gap:12px;color:#ffffffeb;font-size:14px;padding:24px 36px;border:1.5px dashed rgba(160,196,255,.7);border-radius:12px;background:#28345099}.alm-thumb-audio{background:linear-gradient(135deg,#2c2f38,#3a3f4d);display:flex;align-items:center;justify-content:center;color:#ffffffb8}.alm-card:hover .alm-thumb-audio{transform:none}.alm-preview-audio{display:flex;flex-direction:column;align-items:center;gap:18px;padding:36px 48px;background:#2a2d35;border-radius:12px;box-shadow:0 8px 40px #00000080;color:#ffffffd9;min-width:360px;max-width:90vw}.alm-preview-audio-name{font-size:14px;word-break:break-all;text-align:center;max-width:480px}.alm-preview-audio-player{width:100%;outline:none}.canvas-projects{width:100%;height:100%;overflow-y:auto;padding:40px 48px}.canvas-projects-section{margin-bottom:48px}.canvas-projects-heading{font-size:18px;font-weight:600;color:#fff;margin:0 0 20px}.canvas-projects-list-error{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:10px 14px;border-radius:10px;background:#f443361f;border:1px solid rgba(244,67,54,.25);color:#ffb4b4f2;font-size:13px}.canvas-projects-retry{margin-left:auto;padding:4px 12px;border-radius:6px;border:1px solid rgba(255,255,255,.2);background:#ffffff14;color:#fff;font-size:12px;cursor:pointer}.canvas-projects-retry:hover{background:#ffffff1f}.canvas-projects-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:200px;height:200px;border-radius:14px;background:#ffffff05;border:1px solid rgba(255,255,255,.06);color:#ffffff59;font-size:12px}.canvas-projects-loading-spinner{width:22px;height:22px;border:2px solid rgba(255,255,255,.1);border-top-color:#4caf50d9;border-radius:50%;animation:canvas-projects-spin .65s linear infinite}@keyframes canvas-projects-spin{to{transform:rotate(360deg)}}.canvas-projects-grid{display:inline-flex;width:100%;flex-wrap:wrap;gap:16px}.canvas-project-new{height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#ffffff0a;border:1.5px dashed rgba(255,255,255,.15);cursor:pointer;color:#ffffff80;padding:0}.canvas-project-new:hover{background:#ffffff12;border-color:#4caf5080;color:#4caf50}.canvas-project-new:disabled{cursor:wait;opacity:.75;pointer-events:none}.canvas-project-new-icon{width:52px;height:52px;border-radius:50%;background:#ffffff0f;display:flex;align-items:center;justify-content:center;transition:background .15s}.canvas-project-new:hover .canvas-project-new-icon{background:#4caf501f}.canvas-project-new-label{font-size:13px;font-weight:500}.canvas-projects-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:200px;height:200px;border-radius:14px;background:#ffffff05;border:1px solid rgba(255,255,255,.05);color:#fff3;font-size:12px}.canvas-project-demo{background:#ffffff0a;border:1px solid rgba(255,255,255,.06);cursor:pointer}.canvas-project-demo:hover{border-color:#ffffff1f}.canvas-project-demo-cover{width:100%;height:130px;display:flex;align-items:center;justify-content:center;background:#ffffff08;color:#ffffff26}.canvas-project-demo-info{padding:10px 12px 14px;display:flex;flex-direction:column;gap:4px}.canvas-project-demo-title{font-size:13px;font-weight:600;color:#ffffffd9}.canvas-project-demo-desc{font-size:11px;color:#ffffff59;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.canvas-project-user{position:relative;padding:0;width:200px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:14px}.canvas-project-user:hover{border-color:#4caf5059}.canvas-project-user-cover{width:100%;height:130px;display:flex;align-items:center;justify-content:center;background:#ffffff08;color:#4caf5059}.canvas-project-user:hover .canvas-project-user-cover{color:#4caf508c}.canvas-project-user-info{padding:12px;display:flex;align-items:center;justify-content:space-between;gap:10px}.canvas-project-user-texts{min-width:0;display:flex;flex-direction:column;gap:4px}.canvas-project-user-title{font-size:13px;font-weight:600;color:#ffffffe0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.canvas-project-user-meta{font-size:11px;color:#ffffff61}.canvas-project-user-open{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:transparent;cursor:pointer;z-index:1}.canvas-project-user-delete{position:relative;z-index:2;border:1px solid rgba(248,113,113,.38);background:#f871711f;color:#fecdd3;border-radius:6px;width:26px;height:26px;padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,border-color .15s}.canvas-project-user-delete:hover:not(:disabled){border-color:#f87171a6;background:#f8717138}.canvas-project-user-delete:disabled{opacity:.7;cursor:wait}.login-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px;animation:login-overlay-fade .18s ease-out}@keyframes login-overlay-fade{0%{opacity:0}to{opacity:1}}.login-modal-card{position:relative;width:100%;max-width:420px;background:#0d0d0d;border-radius:16px;padding:40px 36px 32px;box-shadow:0 20px 60px #00000080;color:#fff;display:flex;flex-direction:column;align-items:center;box-sizing:border-box;animation:login-card-pop .22s cubic-bezier(.2,.9,.3,1.2)}@keyframes login-card-pop{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.login-close{position:absolute;top:12px;right:12px;width:32px;height:32px;border:none;background:transparent;color:#777;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:color .2s,background .2s;z-index:2}.login-close:hover{color:#fff;background:#ffffff14}.login-header{display:flex;flex-direction:column;align-items:center;width:100%}.login-logo{display:flex;align-items:center;gap:8px;margin-top:4px}.login-logo-icon{width:24px;height:24px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:6px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:#fff}.login-logo-text{font-size:18px;font-weight:500;color:#ccc;letter-spacing:1px}.login-title{text-align:center;margin-top:20px;margin-bottom:32px}.login-title h1{font-size:22px;font-weight:600;line-height:1.5;color:#fff;margin:0}.login-form-wrapper{width:100%;display:flex;flex-direction:column;align-items:center}.login-tabs{display:flex;gap:24px;margin-bottom:20px;width:100%;justify-content:center}.login-tab{background:none;border:none;color:#666;font-size:14px;cursor:pointer;padding:4px 0;position:relative;transition:color .2s}.login-tab.active{color:#fff}.login-tab.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:#fff;border-radius:1px}.login-tab:hover{color:#bbb}.login-tab.active:hover{color:#fff}.login-form{width:100%;display:flex;flex-direction:column;gap:12px}.input-group{display:flex;align-items:center;background:#2a2a2a;border:1px solid #333;border-radius:8px;height:48px;padding:0 16px;transition:border-color .2s;box-sizing:border-box}.input-group:focus-within{border-color:#555}.input-prefix{color:#999;font-size:14px;white-space:nowrap;margin-right:8px;padding-right:8px;border-right:1px solid #444;-webkit-user-select:none;user-select:none}.input-group input{flex:1;min-width:0;background:none;border:none;outline:none;color:#fff;font-size:14px;height:100%;padding:0}.input-group input::placeholder{color:#666}.input-clear{background:none;border:none;color:#666;font-size:16px;cursor:pointer;padding:0 0 0 8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .2s}.input-clear:hover{color:#999}.input-suffix-text{color:#888;font-size:13px;white-space:nowrap;padding-left:8px;-webkit-user-select:none;user-select:none;flex-shrink:0}.input-suffix-btn{background:none;border:none;color:#888;font-size:13px;cursor:pointer;white-space:nowrap;padding:4px 0;transition:color .2s}.input-suffix-btn:hover{color:#bbb}.login-btn{width:100%;height:48px;margin-top:12px;border:none;border-radius:24px;background:#5bc8e8;color:#0d0d0d;font-size:15px;font-weight:500;cursor:pointer;transition:opacity .2s,transform .1s}.login-btn:hover{opacity:.9;transform:translateY(-1px)}.login-error{color:#ef4444;font-size:13px;margin-top:4px}.login-btn:disabled,.input-suffix-btn:disabled{opacity:.5;cursor:not-allowed}.input-group input:disabled{color:#555}.login-footer{margin-top:24px;text-align:center;width:100%}.login-footer p{font-size:11px;color:#555;line-height:1.6;margin:0}.login-footer a{color:#666;text-decoration:none;transition:color .2s}.login-footer a:hover{color:#999}.invitation-code-group{border-style:dashed;border-color:#2a2a2a;background:transparent}.invitation-code-group:focus-within{border-color:#444;background:#2a2a2a}.invitation-code-group input{letter-spacing:4px;font-size:15px;text-transform:none}@media(max-width:480px){.login-modal-card{padding:32px 24px 24px}.login-title h1{font-size:20px}}.home-layout{display:flex;height:100vh;width:100vw;overflow:hidden;background:#0a0a0f;color:#fff}.sidebar{width:72px;min-width:64px;display:flex;flex-direction:column;align-items:center;padding:0 0 20px;z-index:10;position:relative}.sidebar-pill{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 8px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:20px;margin-top:auto;margin-left:20px}.sidebar-btn{width:42px;height:42px;border:none;background:transparent;color:#fff6;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:12px;transition:all .2s;position:relative}.sidebar-btn:hover{color:#ffffffbf;background:#ffffff0f}.sidebar-btn[data-tooltip]:after{content:attr(data-tooltip);position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);white-space:nowrap;font-size:14px;font-weight:500;color:#fff;background:#1e1e2e;border-radius:8px;padding:8px 14px;pointer-events:none;opacity:0;transition:opacity .15s ease;z-index:100;box-shadow:0 4px 12px #0006}.sidebar-btn[data-tooltip]:hover:after{opacity:1}.sidebar-btn.active{color:#fff;background:#ffffff1a}.sidebar-btn svg{width:24px;height:24px}.sidebar-bottom{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:auto;padding-top:16px}.sidebar-credits{display:flex;flex-direction:column;align-items:center;gap:2px}.sidebar-credits-num{font-size:12px;font-weight:600;color:#5eead4;letter-spacing:.5px}.sidebar-vip{font-size:13px;font-weight:500;color:#5eead4;border:1px solid rgba(94,234,212,.3);border-radius:12px;padding:4px 12px;cursor:pointer;transition:all .2s;white-space:nowrap}.sidebar-vip:hover{background:#5eead41a;opacity:1}.sidebar-avatar{position:relative;cursor:pointer;width:32px;height:32px;transition:transform .2s}.sidebar-avatar:hover{transform:scale(1.05)}.sidebar-avatar.active .sidebar-avatar-img{box-shadow:0 0 0 2px #5eead4}.sidebar-avatar-img{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#f97316,#a855f7);display:flex;align-items:center;justify-content:center;overflow:hidden}.sidebar-avatar-img svg{width:18px;height:18px;color:#ffffffd9}.sidebar-avatar-badge{position:absolute;top:-3px;right:-5px;min-width:15px;height:15px;border-radius:8px;background:#3b82f6;color:#fff;font-size:9px;font-weight:600;display:flex;align-items:center;justify-content:center;padding:0 3px;line-height:1}.sidebar-bottom-btn{width:32px;height:32px;border:none;background:transparent;color:#fff6;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s}.sidebar-bottom-btn:hover{color:#ffffffbf;background:#ffffff0f}.sidebar-bottom-btn svg{width:18px;height:18px}.sidebar-login-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:56px;height:56px;padding:0;border:none;background:#5bc8e8;color:#0d0d0d;cursor:pointer;border-radius:14px;transition:all .2s;margin-left:20px;box-shadow:0 4px 12px #5bc8e84d}.sidebar-login-btn:hover{background:#4ab8d8;transform:translateY(-2px);box-shadow:0 6px 16px #5bc8e866}.sidebar-login-btn svg{width:20px;height:20px}.sidebar-login-btn span{font-size:11px;font-weight:500;white-space:nowrap}.main-content{flex:1;display:flex;flex-direction:column;align-items:center;overflow-y:auto;position:relative}.main-content:before{content:"";position:fixed;top:-200px;left:50%;transform:translate(-50%);width:800px;height:600px;background:radial-gradient(ellipse,rgba(99,102,241,.08) 0%,transparent 70%);pointer-events:none;z-index:0}.hero-section{display:flex;flex-direction:column;align-items:center;padding-top:25vh;width:100%;max-width:850px;position:relative;z-index:1}.hero-title{font-size:36px;font-weight:600;color:#fff;margin-bottom:32px;letter-spacing:1px}.prompt-box{width:100%;background:#0f0f17d1;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:20px;padding:16px 20px;border:1px solid rgba(255,255,255,.1);transition:padding .3s ease,border-radius .3s ease,background .3s ease,backdrop-filter .3s ease,-webkit-backdrop-filter .3s ease,border-color .3s ease}.prompt-box:focus-within{border-color:#fff3}.prompt-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.prompt-tag{font-size:13px;color:#ffffff59;background:linear-gradient(135deg,#a855f733,#6366f133);padding:2px 10px;border-radius:4px;border:1px solid rgba(168,85,247,.25)}.prompt-separator{color:#fff3;font-size:13px}.prompt-counter{font-size:13px;color:#ffffff40}.prompt-input-area{display:flex;align-items:flex-start;width:100%}.frame-upload-area{display:flex;align-items:center;gap:4px;padding:4px 0;margin-right:16px;opacity:1;max-height:200px;transition:opacity .25s ease,max-height .3s ease,padding .3s ease,margin .3s ease;flex-shrink:0}.ref-asset-upload{flex-shrink:0;cursor:pointer;margin-left:4px}.ref-asset-frame{width:56px;height:72px;border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;position:relative}.ref-asset-empty{border:1.5px dashed rgba(255,255,255,.2);background:#ffffff08;color:#fff6;gap:2px;transition:border-color .2s,background .2s}.ref-asset-upload:hover .ref-asset-empty{border-color:#fff6;background:#ffffff0f}.ref-asset-add-text{font-size:10px;line-height:1}.frame-upload-card{width:56px;height:76px;background:#ffffff0d;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;transition:all .2s}.frame-upload-card:hover{background:#ffffff14}.frame-upload-card.first-frame{transform:rotate(-6deg)}.frame-upload-card.last-frame{transform:rotate(6deg)}.frame-upload-plus{font-size:18px;color:#ffffff80;font-weight:300}.frame-upload-text{font-size:12px;color:#ffffff80}.frame-upload-card.disabled{opacity:.4;cursor:not-allowed}.frame-upload-card.has-image{padding:0;overflow:hidden}.frame-upload-preview{width:100%;height:100%;object-fit:cover;border-radius:8px;display:block}.frame-upload-remove{position:absolute;top:3px;right:3px;width:18px;height:18px;border-radius:50%;border:none;background:#0009;color:#fff;font-size:9px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;line-height:1;transition:background .2s}.frame-upload-remove:hover{background:#ef4444cc}.frame-upload-card{position:relative}.frame-asset-tag{position:absolute;top:3px;left:3px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;font-size:8px;line-height:1;padding:2px 4px;border-radius:3px;font-weight:600;letter-spacing:.3px;pointer-events:none;z-index:1}.frame-asset-btn{margin-left:8px}.frame-upload-swap{color:#ffffff4d;display:flex;align-items:center;justify-content:center;margin:0 4px}.prompt-textarea{flex:1;width:100%;min-height:100px;max-height:120px;background:transparent;border:none;outline:none;color:#fff;font-size:14px;line-height:1.6;resize:none;font-family:inherit;transition:min-height .3s ease,max-height .3s ease,font-size .3s ease,line-height .3s ease,padding .3s ease}.prompt-textarea::placeholder{color:#ffffff40;font-size:15px}.prompt-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;min-height:28px;overflow:visible;transition:margin-top .3s ease,min-height .3s ease}.prompt-footer-right{display:flex;align-items:center;gap:10px;margin-left:auto;flex-shrink:0}.prompt-credits{display:flex;align-items:center;gap:4px;color:#fff6;font-size:13px;font-weight:500;opacity:1;max-height:40px;transition:opacity .25s ease,max-height .3s ease}.prompt-credits svg{color:#fff6}.prompt-submit-wrap{position:relative;flex-shrink:0}.prompt-submit-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);white-space:nowrap;font-size:14px;line-height:1;color:#fff;background:#2a2a3a;border:none;border-radius:8px;padding:8px 14px;pointer-events:none;opacity:0;transition:opacity .15s;display:flex;align-items:center;justify-content:center}.prompt-submit-wrap:hover .prompt-submit-tooltip{opacity:1}.prompt-submit{flex-shrink:0;width:36px;height:36px;border:1px solid #ffffff;border-radius:50%;background:#fff;color:#000;cursor:not-allowed;display:flex;align-items:center;justify-content:center;padding:0;opacity:.45;transition:transform .2s,opacity .2s}.prompt-submit.active{color:#000;cursor:pointer;opacity:1}.prompt-submit.active:hover{color:#000;transform:scale(1.04)}.prompt-submit svg{width:26px;height:26px}.type-tabs{display:flex;gap:20px;margin-top:40px}.type-tab{display:flex;align-items:center;gap:8px;padding:8px 20px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;color:#ffffffb3;font-size:18px;cursor:pointer;transition:all .2s;white-space:nowrap}.type-tab:hover{background:#ffffff14;border-color:#ffffff26}.type-tab.active{background:#ffffff1a;border-color:#fff3;color:#fff}.type-tab-svg{width:18px;height:18px;flex-shrink:0}.type-tab-icon{width:20px;height:20px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:12px}.type-tab-icon.drama{background:linear-gradient(135deg,#f97316,#ef4444)}.type-tab-icon.mv{background:linear-gradient(135deg,#ec4899,#a855f7)}.type-tab-icon.knowledge{background:linear-gradient(135deg,#6366f1,#3b82f6)}.video-gen-status{width:100%;margin-top:20px;border-radius:12px;overflow:hidden}.video-gen-progress{display:flex;align-items:center;gap:14px;padding:16px 20px;background:#6366f114;border:1px solid rgba(99,102,241,.15);border-radius:12px}.video-gen-spinner{width:24px;height:24px;border:2.5px solid rgba(99,102,241,.2);border-top-color:#6366f1;border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}.video-gen-text{display:flex;flex-direction:column;gap:2px}.video-gen-title{font-size:14px;font-weight:500;color:#c7d2fe}.video-gen-detail{font-size:12px;color:#c7d2fe80}.video-gen-result{display:flex;flex-direction:column;gap:12px}.video-gen-player{width:100%;max-height:400px;border-radius:12px;background:#000;object-fit:contain}.video-gen-actions{display:flex;gap:10px;justify-content:center}.video-gen-download{padding:8px 20px;border-radius:8px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;font-size:13px;font-weight:500;text-decoration:none;transition:opacity .2s}.video-gen-download:hover{opacity:.85}.video-gen-retry{padding:8px 20px;border-radius:8px;border:1px solid rgba(255,255,255,.15);background:#ffffff0f;color:#ffffffb3;font-size:13px;cursor:pointer;transition:all .2s}.video-gen-retry:hover{background:#ffffff1a;color:#fff}.video-gen-error{display:flex;align-items:center;gap:10px;padding:14px 20px;background:#ef444414;border:1px solid rgba(239,68,68,.15);border-radius:12px}.video-gen-error-icon{width:22px;height:22px;border-radius:50%;background:#ef444433;color:#f87171;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}.video-gen-error-text{font-size:13px;color:#fca5a5;flex:1}.prompt-submit.generating{opacity:.7;cursor:wait}.prompt-submit-spinner{width:18px;height:18px;border:2px solid rgba(0,0,0,.15);border-top-color:#000;border-radius:50%;animation:spin .7s linear infinite}.generate-section{--content-max-width: 1100px;width:100%;flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;position:relative}.history-search-anchor{position:absolute;top:12px;left:0;right:0;z-index:10;display:flex;justify-content:flex-end;max-width:var(--content-max-width);margin:0 auto;padding:0 24px;pointer-events:none}.history-search-bar{display:flex;align-items:center;gap:6px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:6px 12px;min-width:160px;max-width:240px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);pointer-events:auto}.history-search-bar svg{width:16px;height:16px;color:#ffffff59;flex-shrink:0}.history-search-input{flex:1;background:transparent;border:none;outline:none;color:#f3f4f6;font-size:13px;min-width:0}.history-search-input::placeholder{color:#ffffff4d}.history-search-clear{display:flex;align-items:center;justify-content:center;background:none;border:none;padding:0;cursor:pointer}.history-search-clear svg{width:14px;height:14px;color:#fff6}.history-search-clear:hover svg{color:#ffffffb3}.generate-history-wrapper{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column-reverse}.scroll-to-bottom-btn{position:absolute;bottom:110px;right:24px;z-index:15;display:flex;align-items:center;gap:4px;padding:8px 16px;border-radius:20px;border:none;background:#374151e6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#e5e7eb;font-size:13px;font-weight:500;cursor:pointer;box-shadow:0 2px 12px #0000004d;transition:background .15s ease,transform .15s ease;animation:scroll-btn-in .2s ease}.scroll-to-bottom-btn:hover{background:#4b5563f2}.scroll-to-bottom-btn:active{transform:scale(.96)}@keyframes scroll-btn-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.generate-prompt-wrapper{position:absolute;bottom:0;left:0;right:0;z-index:10;padding:20px 24px 32px;display:flex;flex-direction:column;align-items:center;width:100%;background:transparent;pointer-events:none;transition:padding .3s ease}.generate-prompt-wrapper>*{pointer-events:auto;width:100%;max-width:850px;transition:max-width .3s ease}.generate-prompt-wrapper.compact{padding:10px 24px 16px;background:transparent}.generate-prompt-wrapper.compact>*{max-width:880px}.generate-prompt-wrapper.compact .prompt-box{padding:6px 12px;border-radius:24px;display:flex;flex-direction:row;align-items:center;gap:8px}.generate-prompt-wrapper.compact .prompt-input-area{flex:1;flex-direction:row;align-items:center;min-width:0;overflow:hidden}.generate-prompt-wrapper.compact .prompt-textarea{flex:1;min-width:0;min-height:24px;max-height:24px;resize:none;font-size:13px;line-height:24px;padding:0 4px;white-space:nowrap!important;overflow:hidden;word-break:normal!important}.generate-prompt-wrapper.compact .prompt-footer{margin-top:0;min-height:0;flex-shrink:0;width:auto}.generate-prompt-wrapper.compact .prompt-footer-right{gap:0;margin-left:0}.generate-prompt-wrapper.compact .prompt-footer>*:not(.prompt-footer-right){opacity:0;max-height:0;max-width:0;overflow:hidden;margin:0;padding:0;pointer-events:none}.generate-prompt-wrapper.compact .prompt-credits{opacity:0;max-height:0;max-width:0;overflow:hidden;padding:0;pointer-events:none}.generate-prompt-wrapper.compact .prompt-submit-tooltip{opacity:0;pointer-events:none}.generate-prompt-wrapper.compact .frame-upload-area{padding:2px 0;margin-right:8px}.generate-prompt-wrapper.compact .frame-upload-card{width:36px;height:48px;border-radius:6px}.generate-prompt-wrapper.compact .frame-upload-swap{margin:0 2px}.generate-prompt-wrapper.compact .frame-upload-swap svg{width:12px;height:12px}.generate-prompt-wrapper.compact .frame-upload-plus{font-size:14px}.generate-prompt-wrapper.compact .frame-upload-text{font-size:9px}.generate-prompt-wrapper.compact .video-gen-status{opacity:0;max-height:0;overflow:hidden;pointer-events:none}@keyframes spin{to{transform:rotate(360deg)}}.profile-section{display:flex;justify-content:center;align-items:flex-start;height:100%;width:100%;background:#0a0a0f;padding:40px 20px;overflow-y:auto;position:relative}.profile-container{display:flex;flex-direction:column;gap:24px;width:100%;max-width:800px}.profile-card{position:relative;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:24px 32px;display:flex;flex-direction:column;box-shadow:0 8px 32px #0003}.profile-header{display:flex;align-items:center;gap:20px;width:100%}.profile-avatar{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#f97316,#a855f7);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;box-shadow:0 4px 16px #0000004d}.profile-info{flex:1;display:flex;flex-direction:column;gap:6px}.profile-name{font-size:20px;font-weight:600;color:#fff;margin:0;display:flex;align-items:center;gap:12px}.profile-id{font-size:13px;color:#ffffff80;margin:0;font-family:monospace;display:flex;align-items:center;gap:12px}.profile-id-item{display:inline-flex;align-items:center;gap:4px}.profile-parent-id{color:#fbbf24b3;font-size:12px}.id-copy-btn{background:none;border:none;padding:2px;cursor:pointer;color:#ffffff4d;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;transition:all .15s}.id-copy-btn svg{width:13px;height:13px}.id-copy-btn:hover{color:#ffffffb3;background:#ffffff14}.id-copy-btn:active{color:#5eead4}.profile-badge{font-size:11px;padding:2px 8px;border-radius:6px;font-weight:500}.profile-badge.child{background:#fbbf2426;color:#fbbf24;border:1px solid rgba(251,191,36,.25)}.profile-badge.parent{background:#5eead426;color:#5eead4;border:1px solid rgba(94,234,212,.25)}.profile-stat-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px;margin-left:auto;padding-left:20px;border-left:1px solid rgba(255,255,255,.08)}.profile-invitation-section{margin-top:24px;padding-top:20px;border-top:1px solid rgba(255,255,255,.08)}.profile-tabs-container{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:24px;overflow:hidden;box-shadow:0 8px 32px #0003}.profile-tabs{display:flex;border-bottom:1px solid rgba(255,255,255,.08);background:#0003}.profile-tab{padding:16px 32px;background:none;border:none;color:#ffffff80;font-size:15px;font-weight:500;cursor:pointer;position:relative;transition:color .2s}.profile-tab:hover{color:#fffc}.profile-tab.active{color:#fff}.profile-tab.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:#6366f1}.profile-tab-content{padding:24px 32px}.stat-value{font-size:28px;font-weight:600;color:#5eead4;font-family:monospace;line-height:1}.stat-label{font-size:12px;color:#fff6}.sidebar-settings-wrapper{position:relative}.sidebar-bottom-btn.active{color:#fff;background:#ffffff1a}.settings-popup{position:absolute;bottom:0;left:calc(100% + 10px);background:#1e1e2e;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:8px;min-width:140px;box-shadow:0 4px 20px #0006;z-index:100;display:flex;flex-direction:column;gap:4px}.settings-popup-item{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;border:none;background:transparent;color:#fffc;font-size:14px;border-radius:8px;cursor:pointer;transition:all .2s;white-space:nowrap}.settings-popup-item:hover{background:#ffffff14;color:#fff}.settings-popup-item.text-danger{color:#ef4444}.settings-popup-item.text-danger:hover{background:#ef444426;color:#f87171}.settings-popup-item svg{width:16px;height:16px}.settings-popup-divider{height:1px;background:#ffffff1a;margin:4px 0}.settings-popup-footer{padding:8px 12px;font-size:11px;color:#ffffff80;line-height:1.5;white-space:normal;width:200px}.settings-popup-footer a{color:#ffffff80;text-decoration:none;transition:color .2s}.settings-popup-footer a:hover{color:#fffc}.prompt-footer-left{display:flex;align-items:center;gap:6px;min-width:0;overflow:visible}.type-switcher{position:relative;flex-shrink:0}.type-switcher-btn{display:inline-flex;align-items:center;gap:5px;height:36px;padding:0 6px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:#ffffffd9;font-size:14px;cursor:pointer;transition:background .15s,border-color .15s,color .15s;white-space:nowrap;font-family:inherit;line-height:1;box-sizing:border-box}.type-switcher-btn:hover{background:#ffffff1a;border-color:#ffffff2e;color:#ffffffe6}.type-switcher-icon{width:16px;height:16px;flex-shrink:0}.type-switcher-chevron{width:8px;height:8px;opacity:.6;flex-shrink:0}.type-switcher-dropdown{position:absolute;bottom:calc(100% + 6px);left:0;min-width:160px;background:#1a1a24;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:4px;z-index:100;box-shadow:0 8px 24px #00000080}.type-switcher-option{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:none;border-radius:8px;background:transparent;color:#ffffffb3;font-size:13px;cursor:pointer;transition:all .15s ease;font-family:inherit}.type-switcher-option:hover{background:#ffffff14;color:#fff}.type-switcher-option.active{color:#fff}.type-switcher-option-icon{width:18px;height:18px;flex-shrink:0}.type-switcher-check{margin-left:auto;color:#3b82f6;flex-shrink:0}.image-gen-result{margin-top:16px}.image-gen-result-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.image-gen-result-item{position:relative;border-radius:12px;overflow:hidden;background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}.image-gen-result-item img{width:100%;display:block}.image-gen-download{position:absolute;bottom:8px;right:8px;width:32px;height:32px;border-radius:8px;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;color:#fff;opacity:0;transition:opacity .15s ease;text-decoration:none}.image-gen-result-item:hover .image-gen-download{opacity:1}.image-gen-download:hover{background:#000c}.admin-login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f0f2f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.admin-login-card{width:400px;background:#fff;border-radius:12px;box-shadow:0 2px 12px #00000014;padding:48px 40px 40px}.admin-login-header{text-align:center;margin-bottom:32px}.admin-login-badge{display:inline-block;background:#1677ff;color:#fff;font-size:12px;padding:2px 10px;border-radius:10px;margin-bottom:16px;letter-spacing:1px}.admin-login-header h1{font-size:22px;font-weight:600;color:#1a1a1a;margin:0 0 8px}.admin-login-header p{font-size:14px;color:#999;margin:0}.admin-login-form{display:flex;flex-direction:column;gap:14px}.admin-input-group{display:flex;align-items:center;border:1px solid #d9d9d9;border-radius:8px;height:44px;padding:0 14px;transition:border-color .2s;background:#fff}.admin-input-group:focus-within{border-color:#1677ff;box-shadow:0 0 0 2px #1677ff1a}.admin-input-prefix{color:#999;font-size:14px;margin-right:8px;padding-right:8px;border-right:1px solid #e8e8e8;-webkit-user-select:none;user-select:none}.admin-input-group input{flex:1;border:none;outline:none;font-size:14px;color:#1a1a1a;background:transparent;height:100%}.admin-input-group input::placeholder{color:#bbb}.admin-input-group input:disabled{color:#999}.admin-input-clear{background:none;border:none;color:#bbb;font-size:16px;cursor:pointer;padding:0 0 0 8px}.admin-input-clear:hover{color:#999}.admin-input-suffix{color:#999;font-size:13px;white-space:nowrap;padding-left:8px;-webkit-user-select:none;user-select:none}.admin-input-resend{background:none;border:none;color:#1677ff;font-size:13px;cursor:pointer;white-space:nowrap;padding:0 0 0 8px}.admin-input-resend:hover{color:#4096ff}.admin-input-resend:disabled{color:#bbb;cursor:not-allowed}.admin-login-error{color:#ff4d4f;font-size:13px;margin:0}.admin-login-btn{width:100%;height:44px;margin-top:8px;border:none;border-radius:8px;background:#1677ff;color:#fff;font-size:15px;font-weight:500;cursor:pointer;transition:background .2s}.admin-login-btn:hover{background:#4096ff}.admin-login-btn:disabled{background:#bbb;cursor:not-allowed}.ap-container{width:100%}.ap-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:12px}.ap-search{display:flex;gap:8px}.ap-search input{width:300px;height:36px;padding:0 12px;border:1px solid #d9d9d9;border-radius:6px;font-size:13px;outline:none;transition:border-color .2s}.ap-search input:focus{border-color:#1677ff;box-shadow:0 0 0 2px #1677ff1a}.ap-search button{height:36px;padding:0 20px;background:#1677ff;color:#fff;border:none;border-radius:6px;font-size:13px;cursor:pointer;transition:background .2s}.ap-search button:hover{background:#4096ff}.ap-search button:disabled{background:#bbb;cursor:not-allowed}.ap-filters{display:flex;align-items:center;gap:16px}.ap-filter-check{display:flex;align-items:center;gap:6px;font-size:13px;color:#666;cursor:pointer;-webkit-user-select:none;user-select:none}.ap-filter-check input[type=checkbox]{width:16px;height:16px;accent-color:#1677ff;cursor:pointer}.ap-stats{font-size:13px;color:#999}.ap-stats strong{color:#1a1a1a}.ap-table-wrapper{background:#fff;border-radius:8px;box-shadow:0 1px 4px #0000000f;overflow-x:auto;-webkit-overflow-scrolling:touch}.ap-row-expanded{background:#f0f5ff}.ap-children-badge{display:inline-block;min-width:20px;text-align:center;padding:2px 8px;border-radius:10px;font-size:12px;font-weight:600;background:#f6ffed;color:#52c41a;border:1px solid #b7eb8f}.ap-children-none{color:#ccc;font-size:13px}.ap-actions{display:flex;gap:6px}.ap-btn-active{background:#e6f4ff!important;border-color:#1677ff!important;color:#1677ff!important}.ap-summary-panel{margin-top:16px;background:#fff;border-radius:8px;box-shadow:0 1px 4px #0000000f;overflow:hidden}.ap-summary-title{padding:14px 20px;font-size:14px;font-weight:600;color:#1a1a1a;background:#fafafa;border-bottom:1px solid #f0f0f0}.ap-summary-empty{text-align:center;color:#999;font-size:13px;padding:32px 0}.ap-summary-list{display:flex;flex-direction:column}.ap-summary-header{display:flex;align-items:center;padding:10px 20px;background:#fafafa;border-bottom:1px solid #f0f0f0;font-size:12px;color:#999;font-weight:500}.ap-summary-item{border-bottom:1px solid #f5f5f5}.ap-summary-item:last-child{border-bottom:none}.ap-summary-row{display:flex;align-items:center;padding:12px 20px;transition:background .15s}.ap-summary-row:hover{background:#fafafa}.ap-summary-row.expanded{background:#f0f5ff}.ap-scol-name{flex:1;min-width:0;display:flex;align-items:center;gap:8px;font-size:13px;color:#1a1a1a;font-weight:500}.ap-scol{width:100px;text-align:right;font-size:13px;font-variant-numeric:tabular-nums;font-weight:500;color:#666;flex-shrink:0}.ap-scol-net{color:#1a1a1a}.ap-scol-action{width:60px;text-align:right;flex-shrink:0}.ap-child-tag{font-size:11px;padding:1px 6px;border-radius:4px;background:#fff7e6;color:#fa8c16;font-weight:500;border:1px solid #ffd591;flex-shrink:0}.ap-detail-btn{padding:3px 10px;border:1px solid #d9d9d9;border-radius:4px;background:#fff;color:#1677ff;font-size:12px;cursor:pointer;transition:all .15s}.ap-detail-btn:hover{border-color:#1677ff;background:#f0f5ff}.ap-detail-panel{background:#f9f9f9;padding:0 20px 14px;border-top:1px solid #f0f0f0}.ap-detail-empty{text-align:center;color:#999;font-size:13px;padding:20px 0}.ap-detail-header{display:flex;align-items:center;padding:8px 0;font-size:11px;color:#999;border-bottom:1px solid #eee}.ap-detail-row{display:flex;align-items:center;padding:8px 0;font-size:13px;border-bottom:1px solid #f5f5f5}.ap-detail-row:last-of-type{border-bottom:none}.ap-dcol-time{width:120px;color:#999;font-variant-numeric:tabular-nums;font-size:12px;flex-shrink:0}.ap-dcol-type{width:60px;font-size:12px;font-weight:500;flex-shrink:0}.ap-dcol-type.deduct{color:#ff4d4f}.ap-dcol-type.refund{color:#52c41a}.ap-dcol-model{flex:1;color:#999;font-size:12px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ap-dcol-amount{width:90px;text-align:right;font-variant-numeric:tabular-nums;font-weight:500;flex-shrink:0}.ap-dcol-amount.deduct{color:#ff4d4f}.ap-dcol-amount.refund{color:#52c41a}.ap-detail-pagination{display:flex;align-items:center;justify-content:center;gap:12px;padding-top:10px;margin-top:4px;border-top:1px solid #eee}.ap-page-btn{padding:3px 12px;border:1px solid #d9d9d9;border-radius:4px;background:#fff;color:#666;font-size:12px;cursor:pointer;transition:all .15s}.ap-page-btn:hover:not(:disabled){color:#1677ff;border-color:#1677ff}.ap-page-btn:disabled{opacity:.4;cursor:not-allowed}.ap-page-info{font-size:12px;color:#999;font-variant-numeric:tabular-nums}@media(max-width:768px){.ap-toolbar{flex-direction:column;align-items:stretch}.ap-search{width:100%}.ap-search input{width:0;flex:1;min-width:0}.ap-search button{flex-shrink:0}.ap-filters{justify-content:space-between}.ap-table-wrapper .admin-table{min-width:720px}.ap-summary-panel{margin-top:12px}.ap-summary-header,.ap-summary-row{padding-left:12px;padding-right:12px}.ap-detail-panel{padding:0 12px 10px}}.ai-container{width:100%}.ai-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px;flex-wrap:wrap}.ai-search{display:flex;gap:8px}.ai-search input{padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:13px;width:320px}.ai-search button{padding:8px 16px;border:1px solid #ddd;border-radius:6px;background:#fff;font-size:13px;cursor:pointer}.ai-search button:hover{background:#f5f5f5}.ai-stats{font-size:13px;color:#666}.ai-table-wrapper{overflow-x:auto}.ai-code-badge{font-family:SF Mono,Menlo,Monaco,monospace;font-size:13px;font-weight:600;color:#6366f1;background:#eef2ff;padding:2px 8px;border-radius:4px;letter-spacing:2px}.ai-invitee-badge{background:#dcfce7;color:#16a34a;font-size:12px;font-weight:600;padding:2px 10px;border-radius:10px}.ai-invitee-none{color:#999;font-size:13px}.ai-row-expanded{background:#f0f9ff}.ai-btn-active{background:#6366f1!important;color:#fff!important;border-color:#6366f1!important}.ai-monthly-panel{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px;margin-top:12px}.ai-monthly-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.ai-monthly-title{font-size:14px;font-weight:600;color:#333}.ai-month-picker{padding:6px 10px;border:1px solid #ddd;border-radius:6px;font-size:13px;color:#333;cursor:pointer}.ai-monthly-empty{text-align:center;color:#999;font-size:13px;padding:24px 0}.ai-monthly-list-header{display:flex;align-items:center;padding:8px 0;border-bottom:1px solid #eee;font-size:12px;color:#888;font-weight:500}.ai-monthly-row{display:flex;align-items:center;padding:10px 0;border-bottom:1px solid #f5f5f5;font-size:13px}.ai-monthly-row:last-child{border-bottom:none}.ai-mcol-name{flex:2;min-width:0;display:flex;flex-direction:column;gap:2px}.ai-mcol-phone{font-size:11px;color:#999}.ai-mcol{flex:1;min-width:0}.ai-mcol-time{font-size:12px;color:#888}.ai-mcol-num{flex:0 0 80px;text-align:right;font-variant-numeric:tabular-nums}.ai-deduct{color:#dc2626}.ai-refund{color:#16a34a}.ai-net{font-weight:600;color:#333}.ai-role-tag{font-size:11px;padding:1px 6px;border-radius:4px;background:#f3f4f6;color:#666}.ai-role-parent{background:#eef2ff;color:#6366f1}.ai-monthly-summary{margin-top:12px;padding-top:12px;border-top:1px solid #eee;font-size:13px;color:#666;text-align:right}.ai-monthly-summary strong{color:#333;font-size:14px}@media(max-width:768px){.ai-toolbar{flex-direction:column;align-items:stretch}.ai-search{width:100%}.ai-search input{width:0;flex:1;min-width:0}.ai-search button{flex-shrink:0}.ai-stats{text-align:right}.ai-table-wrapper .admin-table{min-width:600px}.ai-monthly-panel{padding:12px}.ai-monthly-header{flex-direction:column;align-items:flex-start;gap:8px}.ai-monthly-list-header,.ai-monthly-row{font-size:12px;gap:4px}.ai-mcol-num{flex:0 0 56px;font-size:12px}.ai-mcol{font-size:12px}}.admin-user-assets-tab{display:flex;flex-direction:column;gap:16px}.admin-user-assets-toolbar{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fff;border:1px solid #e5e7eb;border-radius:8px}.admin-user-assets-toolbar label{font-size:13px;color:#374151;font-weight:500}.admin-user-assets-toolbar input{flex:0 0 200px;padding:6px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;outline:none}.admin-user-assets-toolbar input:focus{border-color:#3b82f6}.admin-assets-confirm-btn{padding:6px 16px;background:#2563eb;color:#fff;border:none;border-radius:6px;font-size:13px;cursor:pointer}.admin-assets-confirm-btn:hover{background:#1d4ed8}.admin-user-assets-hint{margin:0;padding:24px;text-align:center;color:#6b7280;font-size:13px;background:#f9fafb;border:1px dashed #d1d5db;border-radius:8px}.admin-user-assets-wrap{display:flex;justify-content:center}.admin-assets-panel{width:100%;max-width:100%;max-height:none;animation:none}.admin-assets-card-readonly{cursor:default}.admin-assets-card-readonly:hover{border-color:#ffffff14}.admin-dashboard{height:100%;min-height:100%;overflow-y:auto;box-sizing:border-box;background:#f0f2f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-overflow-scrolling:touch}.admin-header{background:#fff;padding:0 32px;height:56px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 1px 4px #0000000f;position:sticky;top:0;z-index:10}.admin-header-left{display:flex;align-items:center;gap:12px}.admin-header-badge{background:#1677ff;color:#fff;font-size:11px;padding:2px 8px;border-radius:8px;letter-spacing:1px}.admin-header-left h1{font-size:16px;font-weight:600;color:#1a1a1a;margin:0}.admin-header-right{display:flex;align-items:center;gap:16px}.admin-header-user{font-size:13px;color:#666}.admin-logout-btn{background:none;border:1px solid #d9d9d9;border-radius:6px;padding:4px 14px;font-size:13px;color:#666;cursor:pointer;transition:all .2s}.admin-logout-btn:hover{color:#ff4d4f;border-color:#ff4d4f}.admin-layout{display:flex;min-height:calc(100vh - 56px)}.admin-sidebar{width:200px;background:#fff;border-right:1px solid #e8e8e8;padding:16px 0}.admin-nav{display:flex;flex-direction:column}.admin-nav-item{padding:12px 24px;text-align:left;background:none;border:none;font-size:14px;color:#333;cursor:pointer;transition:all .2s;border-right:3px solid transparent}.admin-nav-item:hover{background:#f5f5f5;color:#1677ff}.admin-nav-item.active{background:#e6f4ff;color:#1677ff;font-weight:500;border-right-color:#1677ff}.admin-main{flex:1;max-width:1200px;margin:0;padding:24px}.admin-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.admin-search{display:flex;gap:8px}.admin-search input{width:300px;height:36px;padding:0 12px;border:1px solid #d9d9d9;border-radius:6px;font-size:13px;outline:none;transition:border-color .2s}.admin-search input:focus{border-color:#1677ff;box-shadow:0 0 0 2px #1677ff1a}.admin-search button{height:36px;padding:0 20px;background:#1677ff;color:#fff;border:none;border-radius:6px;font-size:13px;cursor:pointer;transition:background .2s}.admin-search button:hover{background:#4096ff}.admin-search button:disabled{background:#bbb;cursor:not-allowed}.admin-stats{font-size:13px;color:#999}.admin-stats strong{color:#1a1a1a}.admin-table-wrapper{background:#fff;border-radius:8px;box-shadow:0 1px 4px #0000000f;overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-table th{background:#fafafa;padding:12px 16px;text-align:left;font-weight:600;color:#666;border-bottom:1px solid #f0f0f0;white-space:nowrap}.admin-table td{padding:12px 16px;border-bottom:1px solid #f5f5f5;color:#1a1a1a}.admin-table-empty{text-align:center;padding:48px 16px!important;color:#999}.admin-td-time{color:#999;font-size:12px}.admin-action-btn{background:none;border:1px solid #d9d9d9;border-radius:4px;padding:3px 12px;font-size:12px;color:#1677ff;cursor:pointer;transition:all .2s}.admin-action-btn:hover{border-color:#1677ff;background:#f0f5ff}.admin-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:20px;padding:12px 0}@media(max-width:768px){.admin-header{padding:0 12px;height:48px}.admin-header-left h1{font-size:14px}.admin-header-user{display:none}.admin-layout{flex-direction:column;min-height:auto}.admin-sidebar{width:100%;border-right:none;border-bottom:1px solid #e8e8e8;padding:0;overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-nav{flex-direction:row;min-width:max-content}.admin-nav-item{padding:10px 16px;white-space:nowrap;border-right:none;border-bottom:2px solid transparent;font-size:13px}.admin-nav-item.active{border-right-color:transparent;border-bottom-color:#1677ff}.admin-main{padding:12px;max-width:100%}.admin-toolbar{flex-direction:column;align-items:stretch;gap:8px}.admin-search{width:100%}.admin-search input{width:0;flex:1;min-width:0}.admin-search button{flex-shrink:0}.admin-stats{text-align:right}.admin-table{min-width:600px}.admin-table th,.admin-table td{padding:10px}}.admin-user-history-tab{display:flex;flex-direction:column;flex:1;min-height:0}.admin-user-history-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.admin-user-history-toolbar-media input{width:auto;min-width:200px;max-width:520px;flex:1}.admin-user-history-toolbar label{font-size:14px;color:#333;font-weight:500}.admin-user-history-toolbar input{width:160px;padding:6px 10px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px}.admin-history-confirm-btn{padding:6px 16px;font-size:14px;border-radius:6px;border:none;background:#1677ff;color:#fff;cursor:pointer}.admin-history-confirm-btn:hover{background:#4096ff}.admin-user-history-hint{margin:24px 0 0;font-size:14px;color:#888;line-height:1.6}.admin-user-history-wrap{flex:1;min-height:400px;background:#0f1419;border-radius:8px;overflow:auto;border:1px solid #e8e8e8}.admin-detail{height:100%;min-height:100%;overflow-y:auto;box-sizing:border-box;background:#f0f2f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-overflow-scrolling:touch}.admin-detail-loading{min-height:100%;display:flex;align-items:center;justify-content:center;color:#999;font-size:15px}.admin-back-btn{background:none;border:none;color:#1677ff;font-size:14px;cursor:pointer;padding:4px 8px;margin-right:8px;border-radius:4px;transition:background .2s}.admin-back-btn:hover{background:#f0f5ff}.admin-detail-main{max-width:1200px;margin:24px auto;padding:0 24px;display:flex;flex-direction:column;gap:20px}.admin-detail-card{background:#fff;border-radius:8px;box-shadow:0 1px 4px #0000000f;padding:24px}.admin-detail-card h2{font-size:16px;font-weight:600;color:#1a1a1a;margin:0 0 20px;display:flex;align-items:center;gap:12px}.admin-detail-count{font-size:13px;font-weight:400;color:#999}.admin-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.admin-detail-item{display:flex;flex-direction:column;gap:4px}.admin-detail-item label{font-size:12px;color:#999}.admin-detail-item span{font-size:14px;color:#1a1a1a}.admin-detail-credit{font-size:20px!important;font-weight:600;color:#1677ff!important}.admin-link-btn{background:none;border:none;color:#1677ff;cursor:pointer;font-size:14px;padding:0;text-decoration:underline}.admin-link-btn:hover{color:#4096ff}.admin-role-tag{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px}.admin-role-independent{background:#f0f5ff;color:#1677ff}.admin-role-parent{background:#f6ffed;color:#52c41a}.admin-role-child{background:#fff7e6;color:#fa8c16}.admin-recharge-form{display:flex;flex-direction:column;gap:12px}.admin-recharge-row{display:flex;gap:10px;align-items:center}.admin-recharge-row input[type=number]{width:160px;height:36px;padding:0 12px;border:1px solid #d9d9d9;border-radius:6px;font-size:13px;outline:none}.admin-recharge-row input[type=text]{flex:1;height:36px;padding:0 12px;border:1px solid #d9d9d9;border-radius:6px;font-size:13px;outline:none}.admin-recharge-row input:focus{border-color:#1677ff;box-shadow:0 0 0 2px #1677ff1a}.admin-recharge-btn{height:36px;padding:0 24px;background:#52c41a;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s;white-space:nowrap}.admin-recharge-btn:hover{background:#73d13d}.admin-recharge-btn:disabled{background:#bbb;cursor:not-allowed}.admin-recharge-success{color:#52c41a;font-size:13px;margin:0}.admin-recharge-error{color:#ff4d4f;font-size:13px;margin:0}.admin-pricing-form{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}.admin-pricing-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.admin-pricing-row select,.admin-pricing-row input[type=number]{height:36px;padding:0 12px;border:1px solid #d9d9d9;border-radius:6px;font-size:13px;background:#fff;outline:none}.admin-pricing-row input[type=number]{width:180px}.admin-pricing-row select:focus,.admin-pricing-row input:focus{border-color:#1677ff;box-shadow:0 0 0 2px #1677ff1a}.admin-pricing-check{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#333;cursor:pointer;-webkit-user-select:none;user-select:none}.admin-pricing-check.disabled{color:#bbb;cursor:not-allowed}.admin-pricing-delete{color:#ff4d4f}.admin-pricing-default-hint{margin:6px 0 0;font-size:12px;color:#666}.admin-credit-type{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px}.credit-type-deduct{background:#fff1f0;color:#ff4d4f}.credit-type-refund{background:#fff7e6;color:#fa8c16}.credit-type-recharge{background:#f6ffed;color:#52c41a}.credit-type-gift{background:#f0f5ff;color:#1677ff}.admin-table-wrapper{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th{background:#fafafa;padding:10px 14px;text-align:left;font-weight:600;color:#666;border-bottom:1px solid #f0f0f0;white-space:nowrap}.admin-table td{padding:10px 14px;border-bottom:1px solid #f5f5f5;color:#1a1a1a}.admin-table tbody tr:hover{background:#fafafa}.admin-table-empty{text-align:center;padding:40px 14px!important;color:#999}.admin-td-credit{font-variant-numeric:tabular-nums;font-weight:500}.admin-td-time{color:#999;font-size:12px;white-space:nowrap}.admin-td-desc{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:16px;padding:12px 0}.admin-pagination button{height:32px;padding:0 16px;border:1px solid #d9d9d9;border-radius:6px;background:#fff;font-size:13px;cursor:pointer;transition:all .2s;color:#1a1a1a}.admin-pagination button:hover:not(:disabled){border-color:#1677ff;color:#1677ff}.admin-pagination button:disabled{color:#bbb;cursor:not-allowed}.admin-pagination span{font-size:13px;color:#666}@media(max-width:768px){.admin-detail .admin-header{padding:0 12px;height:48px}.admin-detail .admin-header-left h1{font-size:14px}.admin-detail .admin-header-user{display:none}.admin-detail-main{padding:0 12px;margin:12px auto;gap:12px}.admin-detail-card{padding:16px}.admin-detail-grid{grid-template-columns:repeat(2,1fr);gap:12px}.admin-recharge-row{flex-direction:column;gap:8px}.admin-recharge-row input[type=number],.admin-recharge-row input[type=text]{width:100%;box-sizing:border-box}.admin-recharge-btn{width:100%}.admin-detail .admin-table{min-width:560px}.admin-detail .admin-table th,.admin-detail .admin-table td{padding:8px}}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}.canvas-linear-loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:110;display:flex;align-items:center;justify-content:center;background:#09090b;pointer-events:all}.canvas-linear-loading__inner{width:min(360px,74vw);padding:24px 28px;background:#18181be0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:14px;border:1px solid rgba(255,255,255,.08);box-shadow:0 8px 32px #00000073,0 0 0 1px #b6ee3f0d inset}.canvas-linear-loading__icon-wrap{display:flex;justify-content:center;margin-bottom:18px;filter:drop-shadow(0 0 10px rgba(182,238,63,.35)) drop-shadow(0 0 22px rgba(182,238,63,.18))}.canvas-linear-loading__icon{display:block}.canvas-linear-loading__track{position:relative;height:14px;border-radius:999px;background:#0e0f11;overflow:hidden;padding:3px;box-sizing:border-box;border:1px solid rgba(255,255,255,.06)}.canvas-linear-loading__bar{display:block;height:100%;width:0%;border-radius:999px;background:linear-gradient(90deg,#b6ee3f,#c6f25a);box-shadow:0 0 8px #b6ee3f73;will-change:width}.canvas-linear-loading__label{margin:14px 0 0;text-align:center;font-size:12px;font-weight:500;letter-spacing:.02em;color:#ffffff73}.canvas-page{width:100vw;height:100vh;position:relative;background:#09090b;overflow:hidden;color:#e0e0e0}.canvas-topbar{position:absolute;top:12px;left:12px;display:flex;align-items:center;gap:6px;padding:6px 10px;background:#18181bd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:10px;border:1px solid rgba(255,255,255,.08);z-index:20}.canvas-topbar-back{width:28px;height:28px;border:none;background:transparent;color:#fff9;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:background .15s,color .15s}.canvas-topbar-back:hover{background:#ffffff14;color:#fff}.canvas-topbar-name{display:flex;align-items:center;gap:4px;font-size:13px;font-weight:600;color:#fff;cursor:pointer;padding:4px 8px;border-radius:6px;transition:background .15s}.canvas-topbar-name:hover{background:#ffffff14}.canvas-topbar-name svg{color:#fff6}.canvas-topbar-name-input{font-size:13px;font-weight:600;color:#fff;border:1px solid rgba(255,255,255,.15);border-radius:6px;padding:3px 8px;outline:none;background:#ffffff0f}.canvas-topbar-name-input:focus{border-color:#4caf50;box-shadow:0 0 0 2px #4caf5033}.canvas-topbar-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;min-width:0}.canvas-topbar-saved-at{font-size:11px;font-weight:500;color:#ffffff59;white-space:nowrap}.canvas-debug-json-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.canvas-topbar-debug-json-btn{font-size:11px;font-weight:600;padding:4px 8px;border-radius:6px;border:1px dashed rgba(255,180,80,.45);background:#ff8c001f;color:#ffb347;cursor:pointer;white-space:nowrap}.canvas-topbar-debug-json-btn:hover{background:#ff8c0038}.canvas-toolbar{position:absolute;top:50%;left:16px;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px;background:#18181be6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.06);border-radius:16px;box-shadow:0 4px 20px #0000004d;z-index:15}.canvas-toolbar-btn{width:40px;height:40px;border:none;background:transparent;color:#ffffffb3;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:10px;transition:all .15s}.canvas-toolbar-btn:hover:not(:disabled){color:#fff;background:#ffffff14}.canvas-toolbar-btn:disabled{color:#ffffff26;cursor:default}.canvas-toolbar-add{width:40px;height:40px;background:#4caf50;color:#fff;border-radius:10px;box-shadow:0 2px 10px #4caf5059}.canvas-toolbar-add:hover:not(:disabled){background:#43a047;color:#fff}.canvas-toolbar-group{position:relative}.canvas-toolbar-submenu{position:absolute;left:100%;top:50%;transform:translateY(-50%);padding-left:10px;pointer-events:none;opacity:0;transition:opacity .15s;z-index:30}.canvas-toolbar-submenu-inner{background:#27272af7;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.08);border-radius:12px;box-shadow:0 8px 32px #0006;padding:8px 6px;min-width:130px}.canvas-toolbar-group:not(.canvas-toolbar-group--shortcuts):hover .canvas-toolbar-submenu{pointer-events:auto;opacity:1}.canvas-toolbar-group--shortcuts .canvas-toolbar-submenu *{pointer-events:inherit}.canvas-toolbar-group--shortcuts .canvas-toolbar-btn:hover+.canvas-toolbar-submenu,.canvas-toolbar-group--shortcuts .canvas-toolbar-submenu:hover{pointer-events:auto;opacity:1}.canvas-toolbar-submenu-title{font-size:12px;font-weight:500;color:#ffffff59;padding:4px 12px 8px}.canvas-toolbar-submenu-item{display:block;width:100%;padding:8px 12px;border:none;background:transparent;color:#ffffffd9;font-size:14px;font-weight:500;cursor:pointer;border-radius:8px;text-align:left;transition:background .12s}.canvas-toolbar-submenu-item:hover{background:#ffffff14}.canvas-toolbar-divider{width:28px;height:1px;background:#ffffff14;margin:4px 0}.canvas-toolbar-submenu-inner--shortcuts{min-width:252px;max-width:min(290px,calc(100vw - 72px));padding:10px 12px}.canvas-shortcuts-hint{font-size:12px;line-height:1.35;color:#ffffffe0;pointer-events:inherit;-webkit-user-select:text;user-select:text}.canvas-shortcuts-hint-title{font-size:11px;font-weight:600;color:#fff6;margin-bottom:8px;letter-spacing:.04em}.canvas-shortcuts-hint-list{margin:0;display:flex;flex-direction:column;gap:6px}.canvas-shortcuts-hint-row{display:grid;grid-template-columns:minmax(0,1fr) auto;margin-top:8px;align-items:baseline}.canvas-shortcuts-hint-row dt{font-size:14px;margin:0;font-weight:500}.canvas-shortcuts-hint-row dd{margin:0;text-align:right;color:#ffffff7a;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:2px}.canvas-shortcuts-hint-dd-kbd{gap:4px!important}.canvas-shortcuts-chord{display:inline-flex;align-items:center;gap:2px}.canvas-shortcuts-plus{margin:0 1px;color:#ffffff59;font-size:11px}.canvas-shortcuts-or{margin:0 4px;color:#ffffff47;font-size:11px}.canvas-shortcuts-redo-win{display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:2px}.canvas-shortcuts-kbd{display:inline-flex;align-items:center;justify-content:center;min-width:1.35em;padding:2px 6px;font-size:10px;font-family:ui-monospace,Cascadia Code,Segoe UI Mono,monospace;background:#00000059;border:1px solid rgba(255,255,255,.12);border-radius:4px;color:#ffffffb8}.canvas-flow-wrapper{position:absolute;top:0;left:0;right:0;bottom:0}.canvas-flow-wrapper .react-flow{background:#09090b}.canvas-flow-wrapper .react-flow__controls{bottom:16px;right:16px;left:auto;box-shadow:0 4px 16px #00000059;border-radius:10px;border:1px solid rgba(255,255,255,.06);overflow:hidden;background:#18181be6}.canvas-flow-wrapper .react-flow__controls button{border:none;border-bottom:1px solid rgba(255,255,255,.06);width:32px;height:32px;background:transparent;color:#fff9;fill:#fff9}.canvas-flow-wrapper .react-flow__controls button:hover{background:#ffffff14}.canvas-flow-wrapper .react-flow__controls button:last-child{border-bottom:none}.canvas-flow-wrapper .react-flow__controls button.canvas-controls-hand--active{background:#3b82f638;color:#93c5fdf2}.canvas-flow-wrapper .react-flow__controls button.canvas-controls-hand--active:hover{background:#3b82f64d}.canvas-flow-wrapper .react-flow__controls button svg{fill:#fff9}.canvas-flow-wrapper .react-flow__controls button .canvas-controls-hand-svg{fill:none;transform:scale(1.08);transform-origin:center}.canvas-flow-wrapper .react-flow__controls button .canvas-controls-hand-svg *{fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}.canvas-flow-wrapper .canvas-reactflow-hand-pan .react-flow__pane{cursor:grab}.canvas-flow-wrapper .canvas-reactflow-hand-pan .react-flow__pane:active{cursor:grabbing}.canvas-minimap.react-flow__minimap{bottom:16px;left:16px;width:180px;height:120px;background:#18181be6;border:1px solid rgba(255,255,255,.08);border-radius:10px;box-shadow:0 4px 16px #00000059;overflow:hidden}.canvas-node{background:#1e1e226b;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.22);border-radius:14px;min-width:240px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;transition:border-color .15s,box-shadow .15s}.react-flow__node.selected .canvas-node{border-color:#3b82f6}.react-flow__node.selected .canvas-node-outside-label,.react-flow__node.selected .canvas-node-label,.react-flow__node.selected .canvas-video-label{color:#3b82f6}.canvas-node-header{display:flex;align-items:center;justify-content:space-between;padding:2px 10px;border-bottom:1px solid rgba(255,255,255,.06)}.canvas-node-label{font-size:12px;font-weight:500;color:#ffffff73;letter-spacing:.5px}.canvas-node-delete{opacity:0;transition:opacity .15s}.canvas-node:hover .canvas-node-delete{opacity:1}.canvas-node-text-wrapper{position:relative}.canvas-node-text-wrapper .canvas-node-outside-label{position:absolute;top:-26px;left:4px}.canvas-node-text{min-width:280px;max-width:360px;padding:12px;position:relative;transition:min-width .25s ease,max-width .25s ease}.canvas-node-text-expanded{min-width:480px;max-width:600px}.canvas-node-text-expanded .canvas-node-textarea{min-height:240px}.canvas-text-toolbar-row{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:0;z-index:10;animation:canvas-toolbar-in .18s ease-out}.canvas-text-toolbar{display:flex;align-items:center;gap:2px;padding:6px 8px;width:max-content;background:#27272af7;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.1);border-radius:10px;box-shadow:0 4px 20px #00000059}.canvas-text-toolbar-drag{display:flex;align-items:center;justify-content:center;width:28px;align-self:stretch;background:#27272af7;border:1px solid rgba(255,255,255,.1);border-left:none;border-radius:0 10px 10px 0;color:#ffffff4d;cursor:grab;transition:color .12s,background .12s}.canvas-text-toolbar-drag:hover{color:#ffffffb3;background:#ffffff0f}.canvas-text-toolbar-drag:active{cursor:grabbing;color:#fff}@keyframes canvas-toolbar-in{0%{opacity:0;transform:translate(-50%) translateY(6px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.canvas-text-toolbar-btn{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border:none;border-radius:6px;background:transparent;color:#ffffffb3;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .12s,color .12s}.canvas-text-toolbar-btn:hover{background:#ffffff14;color:#fff}.canvas-text-toolbar-btn svg{flex-shrink:0;color:#ffffff80}.canvas-text-toolbar-btn:hover svg{color:#fffc}.canvas-text-toolbar-icon-only{padding:5px 6px}.canvas-text-toolbar-delete svg{position:relative;top:-1px}.canvas-text-toolbar-delete:hover{color:#ef4444!important;background:#ef444414!important}.canvas-text-toolbar-divider{width:1px;height:16px;background:#ffffff1f;margin:0 4px;flex-shrink:0}.canvas-connect-menu-edge-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:11}.canvas-connect-menu-edge{stroke:#ffffff8c;stroke-width:2}.canvas-connect-menu{position:absolute;z-index:12;min-width:144px;padding:8px 5px 5px;background:#202024fa;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.08);border-radius:10px;box-shadow:0 12px 30px #00000080,0 2px 6px #0000004d;animation:canvas-connect-menu-in .12s ease-out}@keyframes canvas-connect-menu-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.canvas-connect-menu-title{padding:2px 7px 5px;font-size:14px;font-weight:400;color:#ffffff80;letter-spacing:.2px;-webkit-user-select:none;user-select:none}.canvas-connect-menu-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}.canvas-connect-menu-item{display:flex;align-items:center;gap:7px;width:100%;padding:4px 7px;border:none;border-radius:5px;background:transparent;color:#ffffffd9;font-size:16px;font-weight:300;letter-spacing:.2px;cursor:pointer;text-align:left;transition:background .12s,color .12s}.canvas-connect-menu-item:hover,.canvas-connect-menu-item:focus-visible{background:#ffffff12;color:#fff;outline:none}.canvas-connect-menu-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:5px;background:#ffffff0f;color:#ffffffd1;flex-shrink:0;transition:background .12s,color .12s}.canvas-connect-menu-item:hover .canvas-connect-menu-icon{background:#ffffff1a;color:#fff}.canvas-connect-menu-label{flex:1;min-width:0}.canvas-node-outside-label{position:absolute;top:-30px;left:4px;font-size:14px;font-weight:400;color:#ffffff73;letter-spacing:.5px}.canvas-video-floating-prompt{margin-top:10px;position:absolute;left:50%;transform:translate(-50%);width:480px;padding:10px;border-radius:10px;background:#18181bf2;border:1px solid rgba(148,163,184,.25);box-shadow:0 8px 22px #00000047}.canvas-video-floating-prompt-expanded{position:fixed;top:60px;right:80px;bottom:80px;left:80px;width:auto;transform:none;margin-top:0;z-index:1000;display:flex;flex-direction:column;border-radius:14px;box-shadow:0 16px 64px #00000080}.canvas-video-floating-prompt-expanded .canvas-video-prompt-editor-wrap{flex:1;min-height:0}.canvas-video-floating-prompt-expanded .canvas-video-floating-textarea{height:100%;max-height:none;min-height:0}.canvas-video-floating-prompt-slot{position:relative;display:inline-flex;align-items:center;gap:8px}.canvas-video-camera-preset-panel{position:absolute;left:0;bottom:calc(100% + 8px);width:320px;max-width:min(86vw,420px);padding:10px;border-radius:10px;background:#18181bf7;border:1px solid rgba(148,163,184,.25);box-shadow:0 12px 30px #0006;z-index:25}.canvas-video-camera-preset-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.canvas-video-camera-preset-item{border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#27272ae6;color:#ffffffeb;font-size:11px;font-weight:500;line-height:1.35;padding:10px 6px;min-height:48px;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.canvas-video-camera-preset-item:hover{border-color:#ffffff80;background:#3f3f46f2;color:#fff}.canvas-video-quick-btn{border:1px solid rgba(148,163,184,.35);background:#1e293bcc;color:#e2e8f0eb;border-radius:999px;font-size:11px;line-height:1;padding:5px 9px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.canvas-video-quick-btn:hover{background:#334155f2;border-color:#94a3b88c}.canvas-video-quick-btn-card{width:48px;height:48px;border-radius:9px;border:1px solid rgba(255,255,255,.32);background:transparent;color:#ffffffd9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;line-height:1;box-shadow:none;justify-self:center}.canvas-video-quick-btn-card svg{width:14px;height:14px;color:#ffffffb8}.canvas-video-quick-btn-card span{font-size:10px;font-weight:300;letter-spacing:0}.canvas-video-quick-btn-card:hover{background:transparent;border-color:#ffffff73}.canvas-video-quick-btn-card.active{background:#ffffff1f;border-color:#ffffff8f}.canvas-video-floating-textarea{display:block;width:100%;min-height:92px;margin-top:10px;height:120px;max-height:min(80vh,420px);border:none;resize:none;outline:none;border-radius:8px;background:#18181bf2;color:#ffffffd9;font-size:14px;line-height:1.6;padding:8px 10px;font-family:inherit;box-sizing:border-box;overflow-x:hidden;overflow-y:auto}.canvas-video-floating-textarea::placeholder{color:#ffffff40}.canvas-video-floating-prompt-editable{font-size:14px;line-height:1.6;color:#ffffffd9;white-space:pre-wrap;word-break:break-word;overflow-wrap:break-word;cursor:text;-webkit-user-select:text;user-select:text;box-sizing:border-box;min-height:100%}.canvas-video-floating-textarea,.canvas-video-floating-prompt-editable{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.75) rgba(255,255,255,.06)}.canvas-video-floating-textarea::-webkit-scrollbar,.canvas-video-floating-prompt-editable::-webkit-scrollbar{width:6px;height:6px}.canvas-video-floating-textarea::-webkit-scrollbar-track,.canvas-video-floating-prompt-editable::-webkit-scrollbar-track{background:#ffffff0d;border-radius:999px}.canvas-video-floating-textarea::-webkit-scrollbar-thumb,.canvas-video-floating-prompt-editable::-webkit-scrollbar-thumb{background:#ffffffc7;border-radius:999px;border:1px solid rgba(255,255,255,.18);background-clip:content-box}.canvas-video-floating-textarea::-webkit-scrollbar-thumb:hover,.canvas-video-floating-prompt-editable::-webkit-scrollbar-thumb:hover{background:#ffffffe6;background-clip:content-box}.canvas-video-floating-prompt-editable:empty:before{content:attr(data-placeholder);color:#ffffff40;pointer-events:none}.canvas-video-prompt-editor-wrap{position:relative}.canvas-video-prompt-chip{display:inline-flex;align-items:center;gap:3px;padding:2px 6px 2px 2px;margin:0 2px;vertical-align:middle;line-height:1.4;background:#4b3a8e;border-radius:5px;cursor:default;-webkit-user-select:none;user-select:none}.canvas-video-prompt-chip-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0;color:#fffffff2}.canvas-video-prompt-chip-icon svg{display:block;width:12px;height:12px}.canvas-video-prompt-chip-text{font-size:10px;font-weight:300;color:#fffffffa}.canvas-node-editor-wrap{position:relative}.canvas-node-textarea{display:block;width:100%;border:none;outline:none;resize:none;padding:0;font-size:14px;line-height:1.6;color:#ffffffd9;background:transparent;font-family:inherit;min-height:120px}.canvas-node-textarea::placeholder{color:#ffffff40}.canvas-node-editable:empty:before{content:attr(data-placeholder);color:#ffffff40;pointer-events:none}.canvas-node-editable{white-space:pre-wrap;word-break:break-word;overflow-wrap:break-word;cursor:grab;-webkit-user-select:none;user-select:none}.canvas-node-editable[contenteditable=true]{cursor:text;-webkit-user-select:text;user-select:text}.canvas-mention-chip{display:inline-flex;align-items:center;gap:3px;padding:2px 6px 2px 2px;margin:0 2px;background:#4caf5026;border:1px solid rgba(76,175,80,.3);border-radius:5px;vertical-align:middle;cursor:default;-webkit-user-select:none;user-select:none;line-height:1.4}.canvas-mention-chip-thumb{width:16px;height:16px;border-radius:3px;object-fit:cover;vertical-align:middle}.canvas-mention-chip-audio{display:inline-flex;align-items:center;justify-content:center;background:#a855f726;color:#a855f7}.canvas-mention-chip-label{margin-left:4px;font-size:11px;font-weight:600;color:#4caf50}.canvas-mention-dropdown{position:absolute;left:0;top:100%;margin-top:4px;background:#27272af7;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.1);border-radius:10px;box-shadow:0 8px 32px #00000073;padding:6px;min-width:160px;z-index:60}.canvas-mention-dropdown-global{position:fixed;margin-top:0;z-index:99999}.canvas-mention-dd-header{display:flex;align-items:center;gap:4px;padding:4px 8px 6px;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:4px}.canvas-mention-dd-at{font-size:13px;font-weight:700;color:#4caf50}.canvas-mention-dd-hint{font-size:11px;color:#ffffff59}.canvas-mention-dd-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;cursor:pointer;transition:background .1s}.canvas-mention-dd-item:hover,.canvas-mention-dd-item.active{background:#ffffff0f}.canvas-mention-dd-thumb{width:28px;height:28px;border-radius:4px;object-fit:cover;flex-shrink:0;border:1px solid rgba(255,255,255,.1)}.canvas-mention-dd-empty{background:#ffffff0f}.canvas-mention-dd-audio{background:#a855f726;display:flex;align-items:center;justify-content:center;color:#a855f7}.canvas-mention-dd-label{font-size:12px;font-weight:500;color:#ffffffd9}.canvas-node-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px;margin-top:0}.canvas-node-action-btn{width:28px;height:28px;border:none;background:transparent;color:#ffffff59;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .12s}.canvas-node-action-btn:hover{color:#ffffffb3;background:#ffffff0f}.canvas-image-ref-wrapper{position:relative;min-width:220px;max-width:300px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.canvas-image-ref-label{display:flex;align-items:center;justify-content:space-between;padding:0 4px 6px;font-size:13px;font-weight:400;color:#ffffff73;letter-spacing:.3px}.canvas-image-ref-title-row{display:inline-flex;align-items:center;gap:6px;min-height:18px}.canvas-image-ref-shield-icon{flex-shrink:0;color:#4ade80;filter:drop-shadow(0 0 4px rgba(74,222,128,.35))}.canvas-image-ref-type-icon{flex-shrink:0;color:currentColor;opacity:.75}.canvas-image-ref-delete{width:20px;height:20px;border:none;background:transparent;color:#ffffff40;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;opacity:0;transition:opacity .15s,color .15s,background .15s}.canvas-image-ref-wrapper:hover .canvas-image-ref-delete{opacity:1}.canvas-image-ref-delete:hover{color:#ef4444;background:#ef44441a}.canvas-image-ref-body{position:relative;border-radius:10px;border:1px solid transparent;transition:border-color .18s}.canvas-image-ref-wrapper:hover .canvas-image-ref-body,.react-flow__node.selected .canvas-image-ref-body{border-color:#3b82f6}.react-flow__node.selected .canvas-image-ref-label{color:#3b82f6}.canvas-image-ref-preview{position:relative;overflow:hidden;border-radius:9px}.canvas-image-ref-preview img{display:block;width:100%;max-height:220px;object-fit:cover}.canvas-image-ref-upload{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:32px 20px;cursor:pointer;color:#ffffff40;background:#27272a99;border-radius:9px;transition:color .15s,background .15s}.canvas-image-ref-upload:hover{color:#ffffff80;background:#27272acc}.canvas-image-ref-upload span{font-size:12px}.canvas-node-size-error{font-size:11px;color:#ff6b6b;text-align:center;line-height:1.4}.canvas-node-image-ready-badge{position:absolute;bottom:6px;right:6px;display:flex;align-items:center;gap:3px;padding:2px 6px;background:#4caf50d9;border-radius:4px;font-size:10px;font-weight:600;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.canvas-node-image-upload-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:6px;background:#0000008c;border-radius:8px;font-size:11px;color:#ffffffd9}.canvas-node-image-compliance-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;display:flex;align-items:center;justify-content:center;border-radius:9px;overflow:hidden;background:#080a12c7;pointer-events:none}.canvas-node-image-compliance-sweep{position:absolute;width:160%;height:160%;left:-30%;top:-30%;background:conic-gradient(from 0deg at 50% 50%,transparent 0deg,rgba(99,102,241,.06) 40deg,rgba(56,189,248,.22) 100deg,rgba(250,250,250,.12) 140deg,transparent 200deg,transparent 360deg);animation:canvas-compliance-light-sweep 2.4s linear infinite}@keyframes canvas-compliance-light-sweep{to{transform:rotate(360deg)}}.canvas-node-image-compliance-overlay-text{position:relative;z-index:1;font-size:13px;font-weight:600;letter-spacing:.12em;color:#ffffffeb;text-shadow:0 0 12px rgba(56,189,248,.45)}.canvas-media-ref-wrapper{position:relative;min-width:220px;max-width:300px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.canvas-media-ref-label{display:flex;align-items:center;justify-content:space-between;padding:0 4px 6px;font-size:13px;font-weight:500;color:#ffffff73;letter-spacing:.3px}.canvas-media-ref-delete{width:20px;height:20px;border:none;background:transparent;color:#ffffff40;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;opacity:0;transition:opacity .15s,color .15s,background .15s}.canvas-media-ref-wrapper:hover .canvas-media-ref-delete{opacity:1}.canvas-media-ref-delete:hover{color:#ef4444;background:#ef44441a}.canvas-media-ref-body{position:relative;border-radius:10px;border:1px solid transparent;transition:border-color .18s}.canvas-media-ref-wrapper:hover .canvas-media-ref-body,.react-flow__node.selected .canvas-media-ref-body{border-color:#3b82f6}.react-flow__node.selected .canvas-media-ref-label{color:#3b82f6}.canvas-media-ref-preview{position:relative;overflow:hidden;border-radius:9px}.canvas-video-ref-player-wrap{cursor:pointer}.canvas-video-ref-controls{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;gap:6px;padding:6px 8px;background:linear-gradient(transparent,#000000b3);border-radius:0 0 9px 9px}.canvas-video-ref-play-btn{width:24px;height:24px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:#fff;cursor:pointer;padding:0;border-radius:50%;transition:background .15s}.canvas-video-ref-play-btn:hover{background:#ffffff26}.canvas-video-ref-time{font-size:10px;color:#fffc;white-space:nowrap;flex-shrink:0;font-variant-numeric:tabular-nums}.canvas-video-ref-progress{flex:1;height:4px;background:#fff3;border-radius:2px;cursor:pointer;position:relative;touch-action:none}.canvas-video-ref-progress:before{content:"";position:absolute;left:0;right:0;top:-8px;bottom:-8px}.canvas-video-ref-progress-fill{height:100%;background:#3b82f6;border-radius:2px;transition:width .1s linear;pointer-events:none}.canvas-video-ref-progress-thumb{position:absolute;top:50%;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:#fff;box-shadow:0 0 0 1px #00000040,0 1px 3px #0006;transform:translateY(-50%) scale(0);transition:transform .12s ease;pointer-events:none}.canvas-video-ref-progress:hover .canvas-video-ref-progress-thumb,.canvas-video-ref-progress.is-seeking .canvas-video-ref-progress-thumb{transform:translateY(-50%) scale(1)}.canvas-video-ref-progress.is-seeking .canvas-video-ref-progress-fill{transition:none}.canvas-media-ref-upload{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:32px 20px;cursor:pointer;color:#ffffff40;background:#27272a99;border-radius:9px;transition:color .15s,background .15s}.canvas-media-ref-upload:hover{color:#ffffff80;background:#27272acc}.canvas-media-ref-upload span{font-size:12px}.canvas-gen-wrapper{position:relative}.canvas-node-gen{min-width:220px;max-width:280px;padding:2px 0}.canvas-node-gen-row{display:flex;align-items:center;justify-content:space-between;padding:6px 14px;position:relative}.canvas-node-gen-label{font-size:12px;color:#fff6;white-space:nowrap}.canvas-node-gen-value{display:flex;align-items:center;gap:4px;border:none;background:transparent;color:#fffc;font-size:12px;font-weight:500;cursor:pointer;padding:4px 8px;border-radius:6px;transition:background .12s;max-width:160px;text-align:right}.canvas-node-gen-value:hover{background:#ffffff0f}.canvas-node-gen-value>svg{color:#ffffff4d;flex-shrink:0}.canvas-node-gen-value .canvas-gen-model-icon{width:14px;height:14px;background:transparent;border-radius:0;margin-right:-2px}.canvas-node-gen-value .canvas-gen-model-icon svg{width:100%;height:100%}.canvas-node-toggle{position:relative;width:36px;height:20px;border-radius:10px;border:none;background:#ffffff1f;cursor:pointer;transition:background .2s;padding:0}.canvas-node-toggle.on{background:#4caf50}.canvas-node-toggle-knob{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px #0000004d}.canvas-node-toggle.on .canvas-node-toggle-knob{transform:translate(16px)}.canvas-node-gen-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:calc(100% - 24px);margin:8px 12px 12px;padding:8px 0;border:none;border-radius:8px;background:#4caf50;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.canvas-node-gen-btn:hover:not(:disabled){background:#43a047}.canvas-node-gen-btn:disabled{opacity:.6;cursor:not-allowed}.canvas-node-gen-btn svg{color:#fff}.canvas-image-floating-prompt{position:absolute;left:50%;transform:translate(-50%);margin-top:10px;width:480px;padding:10px;border-radius:10px;background:#18181bf2;border:1px solid rgba(148,163,184,.25);box-shadow:0 8px 22px #00000047}.canvas-image-floating-prompt-expanded{position:fixed;top:60px;right:80px;bottom:80px;left:80px;width:auto;transform:none;margin-top:0;z-index:1000;display:flex;flex-direction:column;border-radius:14px;box-shadow:0 16px 64px #00000080}.canvas-image-floating-prompt-expanded .canvas-image-floating-prompt-input-wrap{flex:1;min-height:0}.canvas-image-floating-prompt-expanded .canvas-image-floating-textarea{height:100%;max-height:none;min-height:0}.canvas-image-prompt-expand-btn{position:absolute;top:10px;right:10px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:#fff6;cursor:pointer;border-radius:6px;transition:color .15s,background .15s;z-index:2}.canvas-image-prompt-expand-btn:hover{color:#ffffffd9;background:#ffffff14}.canvas-image-floating-prompt-slot{position:relative;display:inline-flex;align-items:center;gap:8px}.canvas-image-prompt-thumb{position:relative;width:48px;height:48px;border-radius:9px;overflow:hidden;flex-shrink:0;border:1px solid rgba(255,255,255,.15)}.canvas-image-prompt-thumb img,.canvas-image-prompt-thumb video{width:100%;height:100%;object-fit:cover;display:block}.canvas-image-prompt-thumb svg{display:block;color:#fff9;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.canvas-image-prompt-thumb-badge{position:absolute;top:1px;right:1px;width:16px;height:16px;border-radius:50%;background:#000000b3;color:#fff;font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center;line-height:1}.canvas-image-prompt-thumb-remove{position:absolute;top:1px;right:1px;width:16px;height:16px;border-radius:50%;background:#dc2626eb;color:#fff;border:1px solid rgba(255,255,255,.55);padding:0;display:none;align-items:center;justify-content:center;cursor:pointer;z-index:2;line-height:0;transition:background .15s ease,transform .1s ease}.canvas-image-prompt-thumb-remove:hover{background:#ef4444;transform:scale(1.08)}.canvas-image-prompt-thumb:hover .canvas-image-prompt-thumb-remove{display:flex}.canvas-image-prompt-thumb:hover .canvas-image-prompt-thumb-badge{opacity:0}.canvas-image-prompt-thumb-wrap{position:relative;display:inline-flex;flex-shrink:0}.canvas-image-prompt-thumb-preview{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%) scale(.92);transform-origin:bottom center;padding:6px;border-radius:12px;background:#0f172af2;border:1px solid rgba(148,163,184,.35);box-shadow:0 12px 32px #0000008c;opacity:0;pointer-events:none;visibility:hidden;transition:opacity .12s ease,transform .12s ease,visibility .12s;z-index:1000}.canvas-image-prompt-thumb-preview img,.canvas-image-prompt-thumb-preview video{display:block;max-width:268px;max-height:348px;width:auto;height:auto;border-radius:8px;object-fit:contain;background:#000}.canvas-image-prompt-thumb-wrap:hover .canvas-image-prompt-thumb-preview{opacity:1;visibility:visible;transform:translate(-50%) scale(1)}.canvas-audio-prompt-name-tip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%) scale(.92);transform-origin:bottom center;padding:6px 10px;border-radius:8px;background:#0f172af2;border:1px solid rgba(148,163,184,.35);box-shadow:0 8px 22px #00000080;color:#e2e8f0f2;font-size:12px;line-height:1.2;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;pointer-events:none;visibility:hidden;transition:opacity .12s ease,transform .12s ease,visibility .12s;z-index:1000}.canvas-image-prompt-thumb-wrap:hover .canvas-audio-prompt-name-tip{opacity:1;visibility:visible;transform:translate(-50%) scale(1)}.canvas-image-quick-btn{border:1px solid rgba(148,163,184,.35);background:#1e293bcc;color:#e2e8f0eb;border-radius:999px;font-size:11px;line-height:1;padding:5px 9px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.canvas-image-quick-btn:hover{background:#334155f2;border-color:#94a3b88c}.canvas-image-quick-btn-card{width:48px;height:48px;border-radius:9px;border:1px solid rgba(255,255,255,.32);background:transparent;color:#ffffffd9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;line-height:1;box-shadow:none;justify-self:center}.canvas-image-quick-btn-card svg{width:14px;height:14px;color:#ffffffb8}.canvas-image-quick-btn-card span{font-size:10px;font-weight:300;letter-spacing:0}.canvas-image-quick-btn-card:hover{background:transparent;border-color:#ffffff73}.canvas-image-quick-btn-card.active{background:#ffffff1f;border-color:#ffffff8f}.canvas-image-at-icon{font-size:16px;font-weight:700;line-height:1;color:#ffffffc7}.canvas-image-at-panel{position:absolute;left:0;bottom:calc(100% + 8px);min-width:200px;max-width:280px;padding:4px;border-radius:10px;background:#18181bf7;border:1px solid rgba(148,163,184,.25);box-shadow:0 12px 30px #0006;z-index:25}.canvas-image-at-panel .canvas-mention-dd-item{border-radius:6px}.canvas-image-at-panel-empty{padding:10px 12px;font-size:11px;color:#ffffff59}.canvas-image-style-preset-panel{position:absolute;left:0;bottom:calc(100% + 8px);width:320px;max-width:min(86vw,420px);padding:10px;border-radius:10px;background:#18181bf7;border:1px solid rgba(148,163,184,.25);box-shadow:0 12px 30px #0006;z-index:25}.canvas-image-style-preset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.canvas-image-style-preset-item{border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#27272ae6;color:#ffffffeb;font-size:11px;font-weight:500;line-height:1.35;text-align:left;padding:10px 8px;min-height:56px;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.canvas-image-style-preset-item:hover{border-color:#ffffff80;background:#3f3f46f2;color:#fff}.canvas-image-floating-prompt-input-wrap{position:relative;display:flex;align-items:flex-start}.canvas-image-floating-textarea{display:block;width:100%;min-height:92px;margin-top:10px;height:120px;max-height:min(80vh,420px);border:none;outline:none;resize:none;border-radius:8px;background:#18181bf2;color:#ffffffd9;font-size:14px;line-height:1.6;font-family:inherit;box-sizing:border-box;overflow-x:hidden;overflow-y:auto}.canvas-image-floating-textarea::placeholder{color:#ffffff40}.canvas-image-floating-prompt-editable{color:#ffffffd9;white-space:pre-wrap;word-break:break-word;overflow-wrap:break-word;cursor:text;-webkit-user-select:text;user-select:text;box-sizing:border-box;min-height:100%}.canvas-image-floating-textarea,.canvas-image-floating-prompt-editable{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.75) rgba(255,255,255,.06)}.canvas-image-floating-textarea::-webkit-scrollbar,.canvas-image-floating-prompt-editable::-webkit-scrollbar{width:6px;height:6px}.canvas-image-floating-textarea::-webkit-scrollbar-track,.canvas-image-floating-prompt-editable::-webkit-scrollbar-track{background:#ffffff0d;border-radius:999px}.canvas-image-floating-textarea::-webkit-scrollbar-thumb,.canvas-image-floating-prompt-editable::-webkit-scrollbar-thumb{background:#ffffffc7;border-radius:999px;border:1px solid rgba(255,255,255,.18);background-clip:content-box}.canvas-image-floating-textarea::-webkit-scrollbar-thumb:hover,.canvas-image-floating-prompt-editable::-webkit-scrollbar-thumb:hover{background:#ffffffe6;background-clip:content-box}.canvas-image-floating-prompt-editable:empty:before{content:attr(data-placeholder);color:#ffffff40;pointer-events:none}.canvas-node-gen-error{background:#1e1e226b;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);font-size:11px;border:2px solid rgba(255,255,255,.15);color:#ef4444;padding:0 14px 8px;border-radius:10px;line-height:1.4}.canvas-node-dropdown{position:absolute;right:14px;top:calc(100% + 4px);background:#27272af7;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.08);border-radius:10px;box-shadow:0 8px 32px #0006;padding:4px;min-width:140px;z-index:50}.canvas-node-dropdown-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;background:transparent;color:#ffffffbf;font-size:13px;cursor:pointer;border-radius:6px;transition:background .1s}.canvas-node-dropdown-item:hover{background:#ffffff0f}.canvas-node-dropdown-item.active{color:#4caf50;font-weight:600}.canvas-node-badge{font-size:10px;background:#4caf50;color:#fff;padding:1px 5px;border-radius:4px;font-weight:600}.canvas-node-dropdown-params{min-width:200px;padding:8px}.canvas-node-dropdown-section{margin-bottom:10px}.canvas-node-dropdown-section:last-child{margin-bottom:0}.canvas-node-dropdown-section-label{font-size:11px;color:#ffffff59;margin-bottom:6px;display:block;padding-left:4px}.canvas-node-dropdown-grid{display:flex;flex-wrap:wrap;gap:4px}.canvas-node-dropdown-chip{padding:4px 10px;border:1px solid rgba(255,255,255,.1);border-radius:6px;background:transparent;color:#fff9;font-size:12px;cursor:pointer;transition:all .1s}.canvas-node-dropdown-chip:hover{border-color:#fff3;background:#ffffff0a}.canvas-node-dropdown-chip.active{border-color:#4caf50;background:#4caf501f;color:#4caf50;font-weight:500}.canvas-gen-right-panel{position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%);background:#27272af7;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.08);border-radius:12px;box-shadow:0 8px 32px #0006;padding:8px 6px;width:max-content;min-width:180px;display:flex;flex-direction:column;gap:4px;z-index:50}.canvas-gen-right-panel-item{display:flex;align-items:center;justify-content:flex-start;text-align:left;width:100%;padding:6px 10px;border:none;background:transparent;color:#ffffffd9;font-size:12px;font-weight:500;cursor:pointer;border-radius:8px;transition:background .12s,color .12s}.canvas-gen-right-panel-item:hover{background:#ffffff0f}.canvas-gen-right-panel-item.active{color:#fff;background:#ffffff1f}.canvas-gen-right-panel-item.active:hover{background:#ffffff29}.canvas-gen-right-panel-item-label{flex:1;text-align:left}.canvas-gen-right-panel-params{min-width:260px;padding:0}.canvas-gen-model-icon{width:18px;height:18px;border-radius:5px;background:#374151;color:#f3f4f6;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;margin-right:8px}.canvas-gen-model-icon svg{width:62%;height:62%;display:block}.canvas-params-panel{display:flex;flex-direction:column;gap:10px;padding:10px 12px;color:#fff}.canvas-params-section{display:flex;flex-direction:column;gap:4px}.canvas-params-title{font-size:11px;color:#ffffff80;margin-bottom:0}.canvas-params-ratio-grid{display:flex;flex-wrap:nowrap;gap:2px;background:#ffffff0a;padding:3px;border-radius:8px;overflow-x:auto}.canvas-params-ratio-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:5px 2px;border:none;background:transparent;color:#fff9;border-radius:6px;cursor:pointer;transition:all .2s ease;flex:1;min-width:32px}.canvas-params-ratio-btn:hover{background:#ffffff14;color:#fff}.canvas-params-ratio-btn.active{background:#ffffff1f;color:#fff}.canvas-params-ratio-icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center}.canvas-params-ratio-label{font-size:10px;font-weight:500}.canvas-params-res-container{background:#ffffff08;border-radius:8px;padding:3px}.canvas-params-res-row{display:flex;gap:2px}.canvas-params-res-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:4px;padding:6px;border-radius:6px;border:none;background:transparent;color:#ffffff8c;cursor:pointer;transition:background .12s,color .12s;font-size:11px;font-weight:500}.canvas-params-res-btn:hover{background:#ffffff0a;color:#ffffffd9}.canvas-params-res-btn.active{background:#ffffff1a;color:#fff;font-weight:600}.canvas-params-sparkle{width:14px;height:14px;color:#38bdf8}.canvas-params-count-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.react-flow__handle.canvas-handle{pointer-events:all}.canvas-handle{--hx-scale: 1;--hx-offset: 8px;width:10px;height:10px;z-index:2;transform-origin:center;background:#18181bf2;border:2px solid rgba(255,255,255,.25);border-radius:50%;transition:transform .22s cubic-bezier(.34,1.35,.64,1),border-color .15s ease,background .15s ease,box-shadow .2s ease}.react-flow__handle.canvas-handle[data-handlepos=left]{transform:translate(calc(-50% - var(--hx-offset)),-50%) scale(var(--hx-scale))}.react-flow__handle.canvas-handle[data-handlepos=right]{transform:translate(calc(50% + var(--hx-offset)),-50%) scale(var(--hx-scale))}.react-flow__handle.canvas-handle[data-handlepos=top]{transform:translate(-50%,calc(-50% - var(--hx-offset))) scale(var(--hx-scale))}.react-flow__handle.canvas-handle[data-handlepos=bottom]{transform:translate(-50%,calc(50% + var(--hx-offset))) scale(var(--hx-scale))}.canvas-handle:before{content:"";position:absolute;left:50%;top:50%;width:36px;height:36px;transform:translate(-50%,-50%);border-radius:50%;background:transparent}.canvas-handle:hover,.canvas-handle:focus-visible,.react-flow__node:hover .canvas-handle,.react-flow__handle.canvas-handle.connectingto{--hx-scale: 3;--hx-offset: 18px;border:2px solid rgba(255,255,255,.9);background:#141418f2;box-shadow:0 0 0 2px #ffffff40,0 0 12px 2px #ffffff4d,0 0 24px 4px #ffffff1a}.react-flow__handle.canvas-handle.connectingto.valid{border-color:#38bdf8bf;box-shadow:0 0 0 3px #38bdf838}.react-flow__edge-path{stroke:#ffffff26!important;stroke-width:2!important}.react-flow__edge.selected .react-flow__edge-path{stroke:#ff9800!important;stroke-width:3!important}.react-flow__edge:hover .react-flow__edge-path{stroke:#4caf50!important}.canvas-video-gen-wrapper{min-width:260px;position:relative}.canvas-video-node-body{position:relative}.canvas-video-label{display:flex;align-items:center;gap:4px}.cvn-duration-panel{padding:8px;min-width:200px}.cvn-duration-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:3px}.cvn-duration-btn{padding:5px 4px;border-radius:6px;border:none;background:transparent;color:#ffffff8c;font-size:12px;font-weight:500;cursor:pointer;transition:background .12s,color .12s;text-align:center}.cvn-duration-btn:hover{background:#ffffff0f;color:#ffffffd9}.cvn-duration-btn.active{background:#ffffff1f;color:#fff;font-weight:600}.canvas-video-frames-row{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.06)}.canvas-video-frames-arrow{flex-shrink:0;color:#ffffff4d;display:flex;align-items:center}.canvas-video-frame-slot{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px}.canvas-video-frame-label{font-size:10px;color:#ffffff73;font-weight:500}.canvas-video-frame-preview{width:80px;height:60px;border-radius:6px;overflow:hidden;position:relative;border:1px solid rgba(255,255,255,.1)}.canvas-video-frame-preview img{width:100%;height:100%;object-fit:cover}.canvas-video-frame-clear{position:absolute;top:2px;right:2px;width:18px;height:18px;border-radius:50%;background:#0009;border:none;color:#ffffffb3;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s}.canvas-video-frame-preview:hover .canvas-video-frame-clear{opacity:1}.canvas-video-frame-upload{width:80px;height:60px;border-radius:6px;border:1.5px dashed rgba(255,255,255,.15);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;color:#ffffff4d;transition:border-color .15s,color .15s}.canvas-video-frame-upload:hover{border-color:#6366f166;color:#6366f1b3}.canvas-video-ref-grid{display:flex;flex-wrap:wrap;gap:6px;padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.06)}.canvas-video-ref-thumb{width:52px;height:52px;border-radius:6px;overflow:hidden;position:relative;border:1px solid rgba(255,255,255,.1)}.canvas-video-ref-thumb img{width:100%;height:100%;object-fit:cover}.canvas-video-ref-remove{position:absolute;top:1px;right:1px;width:16px;height:16px;border-radius:50%;background:#000000a6;border:none;color:#ffffffb3;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s}.canvas-video-ref-thumb:hover .canvas-video-ref-remove{opacity:1}.canvas-video-ref-add{width:52px;height:52px;border-radius:6px;border:1.5px dashed rgba(255,255,255,.15);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;color:#ffffff4d;font-size:9px;transition:border-color .15s,color .15s}.canvas-video-ref-add:hover{border-color:#6366f166;color:#6366f1b3}.canvas-image-output-wrapper{position:relative;min-width:300px;max-width:400px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.canvas-image-output-label{display:flex;align-items:center;padding:0 4px 6px;font-size:13px;font-weight:500;color:#ffffff73;letter-spacing:.3px}.canvas-image-output-title-row{display:inline-flex;align-items:center;gap:6px;min-height:18px}.canvas-node-saving-indicator{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:#ffffffb3;line-height:1;flex-shrink:0}.canvas-node-saving-indicator .canvas-image-output-spinner{width:12px;height:12px;border-width:2px}.canvas-node-saving-indicator-text{letter-spacing:.2px}.canvas-image-output-body{position:relative;border-radius:10px;border:1px solid transparent;transition:border-color .18s}.canvas-image-output-wrapper:hover .canvas-image-output-body,.react-flow__node.selected .canvas-image-output-body{border-color:#3b82f6}.react-flow__node.selected .canvas-image-output-label{color:#3b82f6}.canvas-video-output-wrapper{position:relative;min-width:260px;max-width:360px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.canvas-video-output-label{display:flex;align-items:center;padding:0 4px 6px;font-size:16px;font-weight:500;color:#ffffff73;letter-spacing:.3px;min-width:0}.canvas-video-output-label .canvas-image-ref-title-row{width:100%}.canvas-video-output-label .canvas-video-output-name{min-width:0}.canvas-video-output-body{position:relative;border-radius:10px;border:1px solid transparent;transition:border-color .18s}.canvas-video-output-wrapper:hover .canvas-video-output-body,.react-flow__node.selected .canvas-video-output-body{border-color:#3b82f6}.react-flow__node.selected .canvas-video-output-label{color:#3b82f6}.canvas-video-output-name{cursor:text;padding:1px 4px;border-radius:4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:none;user-select:none}.canvas-video-output-name:hover{background:#ffffff0f}.canvas-video-output-name-input{flex:1;min-width:0;background:#ffffff14;border:1px solid rgba(59,130,246,.6);border-radius:4px;color:#fff;font-size:16px;font-weight:500;letter-spacing:.3px;padding:2px 6px;outline:none;font-family:inherit}.canvas-video-output-name-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.canvas-video-output-player{overflow:hidden;border-radius:9px}.canvas-video-output-video{display:block;width:100%;border-radius:9px}.canvas-image-output-loading{padding:8px;display:flex;flex-direction:column;gap:8px;background:#27272a99;border-radius:9px}.canvas-image-output-placeholder{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:8px;overflow:hidden;background:#ffffff0a}.canvas-image-output-placeholder img{display:block;width:100%;height:100%;object-fit:cover;opacity:.4}.canvas-image-output-shimmer{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.06) 40%,rgba(255,255,255,.12) 50%,rgba(255,255,255,.06) 60%,transparent 100%);animation:canvas-shimmer 1.8s ease-in-out infinite}@keyframes canvas-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.canvas-image-output-loading-text{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;color:#ffffff80;padding:4px 0}.canvas-gen-estimate-box{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;pointer-events:none;min-width:156px;padding:7px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.24);background:#121214c7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 22px #00000061;color:#fffffff2;font-size:12px;font-weight:600;line-height:1.2;letter-spacing:.2px;text-align:center;white-space:nowrap}.canvas-image-output-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.15);border-top-color:#4caf50;border-radius:50%;animation:canvas-spin .8s linear infinite}@keyframes canvas-spin{to{transform:rotate(360deg)}}.canvas-image-output-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;padding:0;border-radius:9px;overflow:hidden}.canvas-image-output-grid:has(>:only-child){grid-template-columns:1fr}.canvas-image-output-item{position:relative;overflow:hidden}.canvas-image-output-asset-badge{position:absolute;top:6px;left:6px;display:inline-flex;align-items:center;justify-content:center;color:#4ade80;filter:drop-shadow(0 0 4px rgba(74,222,128,.35));pointer-events:none}.canvas-image-output-item img{border:2px solid rgba(255,255,255,.15);display:block;width:100%;max-height:400px;height:auto;object-fit:cover}.canvas-image-output-empty{display:flex;align-items:center;justify-content:center;padding:28px 20px;font-size:12px;color:#ffffff40;background:#27272a99;border-radius:9px}.canvas-image-fullscreen-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9999;display:flex;align-items:center;justify-content:center;cursor:zoom-out;animation:canvas-fade-in .2s ease-out}.canvas-image-fullscreen-img{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:8px;box-shadow:0 8px 32px #00000080;-webkit-user-select:none;user-select:none}.canvas-image-fullscreen-close{position:absolute;top:24px;right:24px;width:44px;height:44px;border-radius:50%;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.canvas-image-fullscreen-close:hover{background:#fff3;transform:scale(1.05)}@keyframes canvas-fade-in{0%{opacity:0}to{opacity:1}}.canvas-video-frame-capture{position:absolute;right:6px;top:6px;z-index:5}.canvas-video-frame-capture-trigger{width:22px;height:22px;border-radius:50%;border:none;background:#0000008c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fffc;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background .15s,color .15s,transform .15s}.canvas-video-frame-capture-trigger:hover{background:#000000bf;color:#fff;transform:scale(1.08)}.canvas-video-frame-capture-menu{position:absolute;top:calc(100% + 4px);right:0;min-width:100px;background:#18181bf2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.12);border-radius:6px;box-shadow:0 4px 16px #00000080;padding:3px;animation:canvas-toolbar-in .15s ease-out}.canvas-video-frame-capture-item{display:flex;align-items:center;gap:4px;width:100%;padding:3px 8px;border:none;background:transparent;color:#ffffffd9;font-size:10px;font-weight:500;cursor:pointer;border-radius:4px;transition:background .12s;white-space:nowrap}.canvas-video-frame-capture-item:hover{background:#ffffff14}.canvas-video-frame-capture-item svg{flex-shrink:0;color:#ffffff80}.canvas-video-frame-capture-item:hover svg{color:#fffc}.canvas-video-frame-capture-divider{height:1px;background:#ffffff14;margin:1px 4px}.canvas-video-frame-capture-current{display:flex;align-items:center;justify-content:center;gap:3px;width:100%;padding:3px 8px;border:none;background:transparent;color:#ffffffd9;font-size:10px;font-weight:500;cursor:pointer;border-radius:4px;transition:background .12s;white-space:nowrap}.canvas-video-frame-capture-current:hover{background:#ffffff14}.canvas-video-frame-capture-current svg{flex-shrink:0;color:#ffffff80}.canvas-video-frame-capture-current:hover svg{color:#fffc}.canvas-node-audio-preview{padding:8px;position:relative;background:#27272a99;border-radius:9px}.canvas-node-audio-player{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#ffffff0a;border-radius:8px}.canvas-node-audio-play-btn{width:32px;height:32px;border-radius:50%;border:none;background:#a855f733;color:#a855f7;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s}.canvas-node-audio-play-btn:hover{background:#a855f759}.canvas-node-audio-center{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.canvas-node-audio-filename{font-size:11px;font-weight:500;color:#ffffffbf;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.canvas-node-audio-progress-row{display:flex;align-items:center;gap:6px}.canvas-node-audio-time{font-size:10px;color:#fff6;font-variant-numeric:tabular-nums;flex-shrink:0;-webkit-user-select:none;user-select:none}.canvas-node-audio-progress{flex:1;height:4px;background:#ffffff1f;border-radius:2px;cursor:pointer;position:relative;overflow:hidden}.canvas-node-audio-progress:hover{height:6px}.canvas-node-audio-progress-fill{position:absolute;top:0;left:0;height:100%;background:#a855f7;border-radius:2px;transition:width .08s linear}.canvas-node-audio-progress:hover .canvas-node-audio-progress-fill:after{content:"";position:absolute;right:-4px;top:50%;transform:translateY(-50%);width:10px;height:10px;background:#fff;border-radius:50%;box-shadow:0 1px 4px #0006}.canvas-node-audio-status{display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 0 2px;font-size:11px;color:#ffffff80}.canvas-edge-label{font-size:11px;color:#ffffff8c;background:#18181bbf;padding:1px 6px;border-radius:4px;white-space:nowrap;-webkit-user-select:none;user-select:none}.canvas-edge-flow{stroke:#7dd3fc;stroke-width:3;stroke-linecap:round;filter:drop-shadow(0 0 4px rgba(125,211,252,.95)) drop-shadow(0 0 8px rgba(56,189,248,.7));stroke-dasharray:25 220;stroke-dashoffset:0;animation:canvas-edge-flow-move 1.6s linear infinite;pointer-events:none}@keyframes canvas-edge-flow-move{0%{stroke-dashoffset:245}to{stroke-dashoffset:0}}.react-flow__nodesselection-rect{background:#3b82f61a!important;border:1.5px solid rgba(59,130,246,.35)!important;border-radius:8px!important}.canvas-multi-selected .canvas-text-toolbar-row{display:none!important}.canvas-selection-toolbar{position:absolute;transform:translate(-50%);z-index:10;pointer-events:auto;animation:canvas-toolbar-in .18s ease-out}.canvas-sel-group-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border:none;border-radius:8px;background:#27272af7;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:#ffffffd9;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 20px #00000059;transition:background .15s,color .15s,border-color .15s}.canvas-sel-group-btn:hover{background:#37373cf7;color:#fff;border-color:#4caf5066}.canvas-sel-group-btn svg{color:#4caf50cc;flex-shrink:0}.canvas-sel-arrange-toolbar{gap:2px;padding:6px 8px}.canvas-sel-arrange-btn{gap:6px;font-weight:500}.canvas-sel-arrange-color-wrap .canvas-sel-arrange-btn{padding-right:10px}.canvas-sel-arrange-color-wrap{position:relative}.canvas-sel-arrange-color-dot{width:12px;height:12px;border-radius:999px;border:1px solid rgba(255,255,255,.45)}.canvas-sel-arrange-color-panel{position:absolute;left:0;top:calc(100% + 8px);display:flex;align-items:center;gap:8px;background:#27272af7;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:8px;box-shadow:0 8px 24px #00000073;z-index:20}.canvas-sel-arrange-color-item{width:20px;height:20px;border-radius:999px;border:1px solid transparent;cursor:pointer;padding:0}.canvas-sel-arrange-color-item:hover{transform:scale(1.08)}.canvas-sel-batch-anchor{position:absolute;transform:translate(-50%,-50%) scale(var(--hx-scale, 1));z-index:11;cursor:crosshair;pointer-events:auto}.canvas-sel-batch-anchor:hover,.canvas-sel-batch-anchor.canvas-sel-batch-anchor--dragging{--hx-scale: 2.4;border:2px solid rgba(255,255,255,.9);background:#141418f2;box-shadow:0 0 0 2px #ffffff40,0 0 12px 2px #ffffff4d,0 0 24px 4px #ffffff1a}.canvas-sel-batch-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:12}.canvas-sel-batch-edge{stroke:#ffffff73;stroke-width:2}.canvas-sel-batch-edge.canvas-sel-batch-edge--valid{stroke:#ff9800;stroke-width:3}.react-flow__node-group{background:var(--group-bg, rgba(255, 255, 255, .12));border:1px solid var(--group-border, rgba(255, 255, 255, .28));border-radius:10px;box-shadow:inset 0 0 0 1px #ffffff14}.react-flow__node-group.selected{border-color:var(--group-border, rgba(255, 255, 255, .45));box-shadow:inset 0 0 0 1px #ffffff29,0 0 0 1px #ffffff42}.react-flow__node-group:before{content:attr(aria-label);position:absolute;left:2px;top:-20px;color:#e6e6e6cc;font-size:12px;font-weight:400;letter-spacing:.2px;white-space:nowrap;pointer-events:none}.canvas-node-context-menu{position:fixed;z-index:1000;display:flex;flex-direction:column;box-sizing:border-box;font-family:system-ui,-apple-system,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}.canvas-node-context-menu--video{min-width:140px;padding:6px;gap:2px;background:#27272af7;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.08);border-radius:10px;box-shadow:0 8px 32px #00000073}.canvas-node-context-menu--image{min-width:228px;max-width:280px;padding:6px 0;background:#2c2c2c;border:1px solid rgba(255,255,255,.06);border-radius:14px;box-shadow:0 12px 40px #0000008c}.canvas-node-context-menu-section{display:flex;flex-direction:column;padding:2px 0}.canvas-node-context-menu-divider{height:1px;margin:4px 0;background:#444;border:none;flex-shrink:0}.canvas-node-context-menu-row{display:flex;flex-direction:row;align-items:center;width:100%;gap:8px;padding:9px 16px;margin:0;border:none;background:transparent;color:#ffffffeb;font-size:14px;font-weight:400;line-height:1.35;text-align:left;cursor:pointer;border-radius:0;transition:background .12s ease}.canvas-node-context-menu-row:hover:not(:disabled){background:#ffffff14}.canvas-node-context-menu-row:disabled{color:#ffffff61;cursor:default}.canvas-node-context-menu-row:disabled .canvas-node-context-menu-kbd,.canvas-node-context-menu-row:disabled .canvas-node-context-menu-help{opacity:.55}.canvas-node-context-menu-row-label{flex:1 1 auto;min-width:0}.canvas-node-context-menu-row-trail{flex:0 0 auto;display:inline-flex;flex-direction:row;align-items:center;gap:10px;margin-left:12px}.canvas-node-context-menu-help{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:1px solid rgba(255,255,255,.32);border-radius:999px;font-size:10px;font-weight:600;line-height:1;color:#ffffff8c}.canvas-node-context-menu-kbd{font-size:12px;font-weight:400;letter-spacing:.02em;color:#ffffff73;white-space:nowrap}.canvas-node-context-menu-item{display:block;width:100%;padding:8px 12px;border:none;background:transparent;color:#ffffffe0;font-size:13px;font-weight:500;text-align:left;cursor:pointer;border-radius:6px;transition:background .12s}.canvas-node-context-menu-item:hover{background:#ffffff14}.canvas-pane-context-menu{position:fixed;z-index:1000;min-width:220px;max-width:280px;padding:6px 0;background:#2c2c2c;border:1px solid rgba(255,255,255,.06);border-radius:14px;box-shadow:0 12px 40px #0000008c;display:flex;flex-direction:column;box-sizing:border-box;font-family:system-ui,-apple-system,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;animation:canvas-pane-ctx-in .12s ease-out}@keyframes canvas-pane-ctx-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.canvas-pane-context-menu-section{display:flex;flex-direction:column;padding:2px 0}.canvas-pane-context-menu-divider{height:1px;margin:4px 0;background:#444;border:none;flex-shrink:0}.canvas-pane-context-menu-row{display:flex;flex-direction:row;align-items:center;width:100%;gap:8px;padding:9px 16px;margin:0;border:none;background:transparent;color:#ffffffeb;font-size:14px;font-weight:400;line-height:1.35;text-align:left;cursor:pointer;border-radius:0;transition:background .12s ease}.canvas-pane-context-menu-row:hover:not(:disabled){background:#ffffff14}.canvas-pane-context-menu-row:disabled{color:#ffffff61;cursor:default}.canvas-pane-context-menu-row:disabled .canvas-pane-context-menu-kbd{opacity:.55}.canvas-pane-context-menu-row-label{flex:1 1 auto;min-width:0}.canvas-pane-context-menu-row-trail{flex:0 0 auto;display:inline-flex;flex-direction:row;align-items:center;gap:10px;margin-left:12px}.canvas-pane-context-menu-kbd{font-size:12px;font-weight:400;letter-spacing:.02em;color:#ffffff73;white-space:nowrap}.canvas-pane-ctx-submenu-trigger{position:relative}.canvas-pane-ctx-submenu-row{cursor:default}.canvas-pane-ctx-submenu-row svg{color:#ffffff59;flex-shrink:0}.canvas-pane-ctx-submenu{position:absolute;left:100%;top:0;pointer-events:none;opacity:0;transition:opacity .12s ease;z-index:10}.canvas-pane-ctx-submenu--left{left:auto;right:100%}.canvas-pane-ctx-submenu-trigger:hover>.canvas-pane-ctx-submenu{pointer-events:auto;opacity:1}.canvas-pane-ctx-submenu-trigger:hover>.canvas-pane-ctx-submenu-row{background:#ffffff14}.canvas-pane-ctx-submenu-inner{min-width:140px;padding:6px 0;background:#2c2c2c;border:1px solid rgba(255,255,255,.06);border-radius:12px;box-shadow:0 12px 40px #0000008c;display:flex;flex-direction:column}.canvas-pane-ctx-submenu-item{display:block;width:100%;padding:9px 16px;border:none;background:transparent;color:#ffffffeb;font-size:14px;font-weight:400;line-height:1.35;text-align:left;cursor:pointer;border-radius:0;transition:background .12s ease}.canvas-pane-ctx-submenu-item:hover{background:#ffffff14}:root{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.9) rgba(255,255,255,.08)}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:#ffffff14;border-radius:999px}*::-webkit-scrollbar-thumb{background:#ffffffe6;border-radius:999px;border:2px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:#fffffffa;background-clip:content-box}*::-webkit-scrollbar-corner{background:transparent}
