:root{--bg-primary: #0D0D0D;--bg-secondary: #1A1A1A;--bg-tertiary: #262626;--bg-hover: #333333;--text-primary: #FFFFFF;--text-secondary: #888888;--text-tertiary: #666666;--accent: #FF2D55;--accent-hover: #FF4D6F;--accent-dim: rgba(255, 45, 85, .15);--border: #333333;--success: #4ECDC4;--info: #45B7D1;--warning: #FECA57;--danger: #FF6B6B;--purple: #A66CFF;--sidebar-width: 240px;--header-height: 64px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--shadow: 0 4px 24px rgba(0, 0, 0, .3);--transition: all .2s ease}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{width:100%;height:100%}a{color:var(--accent);text-decoration:none}button{cursor:pointer;border:none;outline:none;font-family:inherit;font-size:inherit;transition:var(--transition)}input,textarea,select{font-family:inherit;font-size:inherit;outline:none;border:none}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--bg-hover)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:var(--radius-xl);font-weight:500;font-size:15px;transition:var(--transition)}.btn-primary{background:var(--accent);color:var(--text-primary)}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px)}.btn-primary:disabled{background:var(--bg-tertiary);color:var(--text-tertiary);cursor:not-allowed;transform:none}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary)}.btn-secondary:hover{background:var(--bg-hover)}.btn-outline{background:transparent;color:var(--text-primary);border:1px solid var(--border)}.btn-outline:hover{background:var(--bg-tertiary)}.input-field{width:100%;height:44px;padding:0 16px;background:var(--bg-tertiary);color:var(--text-primary);border-radius:var(--radius-sm);font-size:14px;transition:var(--transition)}.input-field::placeholder{color:var(--text-tertiary)}.input-field:focus{background:var(--bg-hover);box-shadow:0 0 0 2px var(--accent-dim)}.textarea-field{width:100%;padding:12px 16px;background:var(--bg-tertiary);color:var(--text-primary);border-radius:var(--radius-sm);font-size:14px;resize:vertical;min-height:80px;transition:var(--transition)}.textarea-field::placeholder{color:var(--text-tertiary)}.textarea-field:focus{background:var(--bg-hover);box-shadow:0 0 0 2px var(--accent-dim)}.card{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:20px}.section-title{font-size:28px;font-weight:700;color:var(--text-primary)}.section-subtitle{font-size:14px;color:var(--text-secondary);margin-top:4px}.loading-spinner{width:20px;height:20px;border:2px solid var(--bg-tertiary);border-top-color:var(--text-primary);border-radius:50%;animation:spin .8s linear infinite}.toast{position:fixed;top:24px;left:50%;transform:translate(-50%) translateY(-100px);padding:12px 24px;background:var(--bg-secondary);color:var(--text-primary);border-radius:var(--radius-md);box-shadow:var(--shadow);z-index:10000;font-size:14px;transition:transform .3s ease;border:1px solid var(--border)}.toast.show{transform:translate(-50%) translateY(0)}.fade-in{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.tag{display:inline-flex;align-items:center;padding:6px 14px;background:var(--bg-tertiary);color:var(--text-primary);border-radius:20px;font-size:13px;cursor:pointer;transition:var(--transition);white-space:nowrap}.tag:hover{background:var(--bg-hover)}.tag.active{background:var(--accent);color:var(--text-primary)}.param-card{background:var(--bg-tertiary);border-radius:var(--radius-md);padding:16px;text-align:center;border:1px solid rgba(78,205,196,.18)}.param-card .label{font-size:11px;color:var(--text-secondary);margin-bottom:6px}.param-card .value{font-size:18px;font-weight:700;color:var(--text-primary)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-tertiary)}.empty-state .icon{font-size:48px;margin-bottom:16px}.empty-state .text{font-size:14px}.content-header{margin-bottom:24px}.form-group{margin-bottom:0}.form-group label{display:block;font-size:13px;color:var(--text-secondary);margin-bottom:6px}.login-page{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);position:relative;overflow:hidden}.login-bg{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse at 30% 20%,rgba(255,45,85,.08) 0%,transparent 50%),radial-gradient(ellipse at 70% 80%,rgba(78,205,196,.06) 0%,transparent 50%);pointer-events:none}.login-container{width:420px;max-width:90vw;position:relative;z-index:1}.login-logo{text-align:center;margin-bottom:40px}.login-logo .logo-icon{font-size:56px;margin-bottom:12px}.login-logo .logo-title{font-size:32px;font-weight:700;color:var(--text-primary);letter-spacing:2px}.login-logo .logo-subtitle{font-size:14px;color:var(--text-secondary);margin-top:8px}.login-card{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:32px;border:1px solid var(--border)}.login-tabs{display:flex;gap:0;margin-bottom:28px;background:var(--bg-tertiary);border-radius:var(--radius-sm);padding:4px}.login-tab{flex:1;padding:10px;text-align:center;font-size:14px;font-weight:500;color:var(--text-secondary);border-radius:6px;cursor:pointer;transition:var(--transition);background:transparent}.login-tab.active{background:var(--accent);color:var(--text-primary)}.login-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:13px;color:var(--text-secondary);font-weight:500}.input-row{display:flex;gap:10px}.input-row .input-field{flex:1}.verify-code-btn{padding:0 16px;height:44px;background:var(--bg-tertiary);color:var(--accent);border-radius:var(--radius-sm);font-size:13px;white-space:nowrap;cursor:pointer;border:1px solid var(--border);transition:var(--transition)}.verify-code-btn:hover:not(:disabled){background:var(--bg-hover)}.verify-code-btn:disabled{color:var(--text-tertiary);cursor:not-allowed}.login-submit-btn{width:100%;height:48px;background:var(--accent);color:var(--text-primary);border-radius:var(--radius-xl);font-size:16px;font-weight:600;margin-top:8px;cursor:pointer;transition:var(--transition)}.login-submit-btn:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.login-submit-btn:disabled{background:var(--bg-tertiary);color:var(--text-tertiary);cursor:not-allowed;transform:none}.login-footer{text-align:center;margin-top:20px;font-size:13px;color:var(--text-secondary)}.login-footer a{color:var(--accent);cursor:pointer}.login-footer a:hover{text-decoration:underline}.login-icp-footer{text-align:center;padding:20px 0 24px;font-size:12px}.login-icp-footer a{color:var(--text-tertiary);text-decoration:none;transition:color .2s}.login-icp-footer a:hover{color:var(--accent)}.login-mode-toggle{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:16px;font-size:13px;color:var(--text-secondary)}.login-mode-toggle a{color:var(--accent);cursor:pointer}.terms-check{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary)}.terms-check input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px}.terms-check a{color:var(--accent);cursor:pointer}.register-steps{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:24px}.register-step{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-tertiary)}.register-step.active{color:var(--accent)}.register-step.completed{color:var(--success)}.register-step-line{width:30px;height:2px;background:var(--bg-tertiary)}.register-step-line.completed{background:var(--success)}.loading-inline{display:inline-flex;align-items:center;gap:8px}.loading-inline .loading-spinner{width:16px;height:16px}.agreement-popup{width:560px;max-width:92vw;max-height:80vh}.popup-close{width:28px;height:28px;border-radius:8px;background:#ffffff0f;color:var(--text-tertiary);border:1px solid rgba(255,255,255,.08);cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .25s cubic-bezier(.4,0,.2,1);line-height:1;padding:0}.popup-close:hover{background:linear-gradient(135deg,#ff6b6b26,#ff47571a);color:#ff6b6b;border-color:#ff6b6b4d;transform:scale(1.05) rotate(90deg);box-shadow:0 2px 12px #ff475726}.agreement-content{padding:20px 24px;overflow-y:auto;max-height:calc(80vh - 60px);line-height:1.8;font-size:13.5px;color:var(--text-secondary)}.agreement-content p:last-of-type,.agreement-content p:nth-last-of-type(2){text-align:right!important;color:var(--text-tertiary)!important;font-size:13px;margin-top:24px;margin-bottom:0}.agreement-content p{margin-bottom:6px;text-indent:0}.agreement-section{font-size:15px;font-weight:600;color:var(--text-primary);margin-top:18px;margin-bottom:8px}.agreement-item{padding-left:12px}.main-layout{display:flex;width:100%;height:100%;background:var(--bg-primary)}.sidebar{width:var(--sidebar-width);height:100%;background:var(--bg-secondary);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0}.sidebar-header{padding:20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.sidebar-logo{display:flex;align-items:center;gap:12px}.sidebar-logo .logo-icon{font-size:28px}.sidebar-logo .logo-text{font-size:20px;font-weight:700;color:var(--text-primary);letter-spacing:1px}.sidebar-nav{flex:1;padding:12px;overflow-y:auto}.nav-section-title{font-size:11px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:1px;padding:12px 12px 8px;font-weight:600}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--radius-md);color:var(--text-secondary);font-size:14px;cursor:pointer;transition:var(--transition);margin-bottom:2px;width:100%;background:transparent;text-align:left}.nav-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.nav-item.active{background:var(--accent-dim);color:var(--accent);font-weight:500}.nav-item .nav-icon{font-size:18px;width:24px;text-align:center;flex-shrink:0}.nav-item .nav-label{flex:1}.sidebar-footer{padding:16px;border-top:1px solid var(--border)}.user-info{display:flex;align-items:center;gap:12px;padding:8px;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition)}.user-info:hover{background:var(--bg-tertiary)}.user-avatar{width:36px;height:36px;border-radius:50%;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;font-size:16px;overflow:hidden;flex-shrink:0}.user-avatar img{width:100%;height:100%;object-fit:cover}.user-name{font-size:14px;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-status{font-size:11px;color:var(--text-tertiary)}.main-content{flex:1;height:100%;overflow-y:auto;padding:32px}.content-header{margin-bottom:28px}.content-header .section-title{margin-bottom:4px}.logout-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background:transparent;color:var(--text-secondary);border-radius:var(--radius-sm);font-size:13px;cursor:pointer;transition:var(--transition);width:100%;margin-top:8px}.logout-btn:hover{background:#ff6b6b1a;color:var(--danger)}.user-info{cursor:pointer;transition:opacity .2s;border-radius:var(--radius-sm);padding:6px;margin:-6px}.user-info:hover{background:#ffffff0d}.popup-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000a6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9999;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all .25s ease}.popup-overlay.visible{opacity:1;visibility:visible}.popup-container{width:420px;max-width:90vw;max-height:85vh;background:linear-gradient(165deg,#1a1a2e,#16162a);border-radius:20px;border:1px solid rgba(255,107,107,.15);box-shadow:0 25px 60px #00000080,0 0 40px #ff6b6b0f;overflow:hidden;transform:scale(.92) translateY(20px);transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.popup-overlay.visible .popup-container{transform:scale(1) translateY(0)}.popup-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid rgba(255,255,255,.06);background:#ff6b6b08}.popup-title{font-size:17px;font-weight:700;color:#fff;letter-spacing:.3px}.popup-close,.popup-close-btn{width:28px;height:28px;border-radius:8px;background:#ffffff0f;color:var(--text-tertiary);border:1px solid rgba(255,255,255,.08);cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .25s cubic-bezier(.4,0,.2,1);line-height:1}.popup-close:hover,.popup-close-btn:hover{background:linear-gradient(135deg,#ff6b6b26,#ff47571a);color:#ff6b6b;border-color:#ff6b6b4d;transform:scale(1.05) rotate(90deg);box-shadow:0 2px 12px #ff475726}.popup-body{padding:24px 22px;overflow-y:auto;max-height:calc(85vh - 64px)}.profile-avatar-section,.edit-avatar-section{display:flex;justify-content:center;margin-bottom:24px}.profile-avatar-large{width:96px;height:96px;border-radius:50%;overflow:hidden;border:3px solid rgba(255,107,107,.25);box-shadow:0 4px 20px #ff6b6b1f;background:#ffffff0a;display:flex;align-items:center;justify-content:center}.profile-avatar-large img{width:100%;height:100%;object-fit:cover}.avatar-fallback{font-size:42px;line-height:1}.avatar-fallback.large{font-size:48px}.profile-info-grid{margin-bottom:24px}.info-row{display:flex;align-items:baseline;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.04)}.info-row:last-child{border-bottom:none}.info-label{width:72px;flex-shrink:0;font-size:13px;color:var(--text-tertiary);font-weight:500}.info-value{font-size:14px;color:var(--text-primary);word-break:break-all}.info-value.yinyu-id{font-family:Courier New,monospace;color:var(--accent);font-size:13px;letter-spacing:.5px}.bio-text{color:var(--text-secondary);font-size:13px;line-height:1.6}.info-row-full{flex-direction:column;gap:6px}.btn-edit-profile{width:100%;padding:11px;background:linear-gradient(135deg,#ff6b6b1f,#ff6b6b0f);color:var(--accent);border:1px dashed var(--accent);border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:all .25s}.btn-edit-profile:hover{background:var(--accent);color:#fff;border-style:solid;box-shadow:0 4px 16px #ff6b6b40}.edit-avatar-wrapper{text-align:center}.edit-avatar-img{width:80px;height:80px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,107,107,.2);margin-bottom:10px}.avatar-upload-btn{display:inline-block;padding:6px 16px;background:#ff6b6b14;color:var(--accent);border:1px solid rgba(255,107,107,.2);border-radius:20px;font-size:12px;cursor:pointer;transition:all .2s}.avatar-upload-btn:hover{background:var(--accent);color:#fff}.edit-form{margin-bottom:20px}.form-group{margin-bottom:16px}.form-group.flex-1{flex:1}.form-row{display:flex;gap:14px}.form-label{display:block;font-size:12px;color:var(--text-secondary);font-weight:600;margin-bottom:6px;letter-spacing:.3px}.required{color:var(--danger)}.form-input,.form-select,.form-textarea{width:100%;padding:10px 14px;background:#ffffff0a;color:var(--text-primary);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-sm);font-family:inherit;font-size:14px;outline:none;transition:all .2s;box-sizing:border-box}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--accent);background:#ff6b6b0a;box-shadow:0 0 0 3px #ff6b6b14}.form-input[readonly]{opacity:.55;cursor:not-allowed}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23888' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.form-select option{background:#1e1e38;color:#e8e8f0;padding:8px 12px}.form-textarea{resize:vertical;min-height:72px;line-height:1.55}.form-hint{display:block;margin-top:4px;font-size:11px;color:var(--text-tertiary)}.char-count{text-align:right;font-size:11px;color:var(--text-tertiary);margin-top:4px}.edit-actions{display:flex;gap:12px}.btn-cancel-edit,.btn-save-profile{flex:1;padding:11px;border-radius:var(--radius-sm);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;border:none}.btn-cancel-edit{background:#ffffff0f;color:var(--text-secondary);border:1px solid rgba(255,255,255,.1)}.btn-cancel-edit:hover{background:#ffffff1a;color:var(--text-primary)}.btn-save-profile{background:linear-gradient(135deg,#ff6b6b,#ff4757);color:#fff;box-shadow:0 4px 14px #ff47574d}.btn-save-profile:hover{transform:translateY(-1px);box-shadow:0 6px 20px #ff475766}.btn-save-profile:active{transform:translateY(0)}.popup-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px;color:var(--text-secondary);font-size:14px}.loading-spinner-lg{width:36px;height:36px;border:3px solid rgba(255,107,107,.15);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.menu-wrapper{position:relative}.more-menu-btn{width:32px;height:32px;border-radius:8px;background:transparent;border:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:6px;transition:all .2s}.more-menu-btn:hover{background:var(--bg-tertiary)}.more-menu-btn span{display:block;width:16px;height:2px;background:var(--text-tertiary);border-radius:1px;transition:all .2s}.more-menu-btn:hover span{background:var(--text-primary)}.more-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:160px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 8px 24px #0000004d;opacity:0;visibility:hidden;transform:translateY(-8px);transition:all .2s ease;z-index:100;overflow:hidden}.more-menu-dropdown.show{opacity:1;visibility:visible;transform:translateY(0)}.menu-item{padding:10px 16px;font-size:13px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.menu-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.menu-divider{height:1px;background:var(--border);margin:4px 0}.assistant-view{max-width:960px}.assistant-tabs{display:flex;gap:0;margin-bottom:28px;background:var(--bg-secondary);border-radius:var(--radius-md);padding:4px}.assistant-tab{flex:1;padding:12px;text-align:center;font-size:15px;font-weight:500;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);background:transparent}.assistant-tab.active{background:var(--accent);color:var(--text-primary)}.assistant-tab:hover:not(.active){color:var(--text-primary)}.scene-section,.camera-section{margin-bottom:24px}.section-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.section-label .label-text{font-size:16px;font-weight:500;color:var(--text-primary)}.section-label .label-value{font-size:14px;color:var(--accent)}.scene-grid{display:flex;gap:10px;flex-wrap:wrap}.scene-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:80px;height:85px;background:var(--bg-secondary);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);border:2px solid transparent}.scene-card:hover{background:var(--bg-tertiary)}.scene-card.active{background:var(--accent);border-color:var(--accent)}.scene-card .scene-icon{font-size:28px}.scene-card .scene-name{font-size:12px;color:var(--text-secondary)}.scene-card.active .scene-name{color:var(--text-primary)}.custom-scene-input{margin-top:12px;display:flex;gap:10px;align-items:center}.custom-scene-input .input-field{flex:1}.camera-brands{display:flex;flex-direction:column;gap:8px}.brand-section{background:var(--bg-secondary);border-radius:var(--radius-md);overflow:hidden}.brand-header{display:flex;align-items:center;padding:14px 16px;cursor:pointer;transition:var(--transition)}.brand-header:hover{background:var(--bg-tertiary)}.brand-name{flex:1;font-size:15px;font-weight:500;color:var(--text-primary)}.brand-arrow{font-size:12px;color:var(--text-secondary);transition:transform .2s}.brand-arrow.expanded{transform:rotate(90deg)}.brand-series{padding:0 16px 12px}.series-name{font-size:13px;color:var(--text-secondary);margin-bottom:8px;margin-top:8px}.model-chips{display:flex;flex-wrap:wrap;gap:8px}.model-chip{padding:6px 14px;background:var(--bg-tertiary);color:var(--text-primary);border-radius:20px;font-size:13px;cursor:pointer;transition:var(--transition)}.model-chip:hover{background:var(--bg-hover)}.model-chip.active{background:var(--accent)}.generate-btn{width:100%;height:52px;background:var(--accent);color:var(--text-primary);border-radius:var(--radius-xl);font-size:16px;font-weight:600;margin-top:8px;cursor:pointer;transition:var(--transition)}.generate-btn:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.generate-btn:disabled{background:var(--bg-tertiary);color:var(--text-tertiary);cursor:not-allowed}.params-result{margin-top:24px;animation:fadeIn .3s ease}.params-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.params-header .icon{font-size:24px}.params-header .title{font-size:16px;font-weight:500;color:var(--text-primary)}.params-header .subtitle{font-size:12px;color:var(--text-secondary)}.params-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}.params-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.composition-section{margin-top:20px;padding:16px;background:var(--bg-secondary);border-radius:var(--radius-lg)}.composition-text{font-size:14px;color:var(--text-primary);line-height:22px}.guidance-upload{margin-bottom:24px}.upload-area{border:2px dashed var(--border);border-radius:var(--radius-lg);padding:40px;text-align:center;cursor:pointer;transition:var(--transition)}.upload-area:hover{border-color:var(--accent);background:var(--accent-dim)}.upload-area .upload-icon{font-size:48px;margin-bottom:12px}.upload-area .upload-text{font-size:14px;color:var(--text-secondary)}.upload-area .upload-hint{font-size:12px;color:var(--text-tertiary);margin-top:8px}.upload-preview{position:relative;border-radius:var(--radius-lg);overflow:hidden}.upload-preview img{width:100%;max-height:300px;object-fit:cover;border-radius:var(--radius-lg)}.upload-preview .change-btn{position:absolute;bottom:12px;right:12px;padding:8px 16px;background:#000000b3;color:var(--text-primary);border-radius:var(--radius-sm);font-size:13px;cursor:pointer}.portrait-toggle{display:flex;align-items:center;gap:12px;margin-bottom:20px;font-size:14px;color:var(--text-secondary)}.portrait-toggle input[type=checkbox]{accent-color:var(--accent);width:18px;height:18px}.plans-list{display:flex;flex-direction:column;gap:16px;margin-top:20px}.plan-card{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:20px;border:1px solid var(--border)}.plan-card .plan-name{font-size:16px;font-weight:600;color:var(--accent);margin-bottom:12px}.plan-detail{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.plan-detail-item{display:flex;gap:8px;font-size:13px}.plan-detail-item .detail-label{color:var(--text-secondary);min-width:60px}.plan-detail-item .detail-value{color:var(--text-primary)}.plan-description{margin-top:12px;font-size:14px;color:var(--text-secondary);line-height:22px}.icp-footer{text-align:center;padding:24px 0 16px;font-size:12px}.icp-footer a{color:var(--text-tertiary);text-decoration:none;transition:color .2s}.icp-footer a:hover{color:var(--accent)}.optimization-view{max-width:960px}.opt-steps{display:flex;align-items:center;gap:8px;margin-bottom:28px}.opt-step{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-tertiary);padding:8px 16px;background:var(--bg-secondary);border-radius:var(--radius-xl)}.opt-step.active{color:var(--accent);background:var(--accent-dim)}.opt-step.completed{color:var(--success)}.opt-step-arrow{color:var(--text-tertiary);font-size:12px}.opt-upload-area{border:2px dashed var(--border);border-radius:var(--radius-lg);padding:60px 40px;text-align:center;cursor:pointer;transition:var(--transition);margin-bottom:24px}.opt-upload-area:hover{border-color:var(--accent);background:var(--accent-dim)}.opt-upload-area .upload-icon{font-size:56px;margin-bottom:16px}.opt-upload-area .upload-text{font-size:16px;color:var(--text-secondary);margin-bottom:8px}.opt-upload-area .upload-hint{font-size:13px;color:var(--text-tertiary)}.opt-preview{position:relative;border-radius:var(--radius-lg);overflow:hidden;margin-bottom:24px}.opt-preview img{width:100%;max-height:400px;object-fit:contain;background:var(--bg-tertiary);border-radius:var(--radius-lg)}.opt-preview .change-btn{position:absolute;bottom:12px;right:12px;padding:8px 16px;background:#000000b3;color:var(--text-primary);border-radius:var(--radius-sm);font-size:13px;cursor:pointer}.style-section{margin-bottom:24px}.style-section .section-label{margin-bottom:12px}.style-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.style-card{display:flex;flex-direction:column;align-items:center;padding:16px 8px;background:var(--bg-secondary);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);border:2px solid transparent}.style-card:hover{background:var(--bg-tertiary)}.style-card.active{border-color:var(--accent);background:var(--accent-dim)}.style-card .style-icon{font-size:28px;margin-bottom:8px}.style-card .style-name{font-size:13px;font-weight:500;color:var(--text-primary);margin-bottom:4px}.style-card .style-desc{font-size:11px;color:var(--text-secondary);text-align:center}.custom-style-input{margin-top:12px;display:flex;gap:10px}.custom-style-input .input-field{flex:1}.color-match-section{margin-bottom:24px;padding:16px;background:var(--bg-secondary);border-radius:var(--radius-md)}.color-match-toggle{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--text-secondary)}.color-match-toggle input[type=checkbox]{accent-color:var(--accent);width:18px;height:18px}.target-upload{margin-top:12px;border:2px dashed var(--border);border-radius:var(--radius-md);padding:20px;text-align:center;cursor:pointer}.target-upload:hover{border-color:var(--accent)}.target-preview{margin-top:12px;position:relative}.target-preview img{width:100%;max-height:200px;object-fit:cover;border-radius:var(--radius-md)}.software-section{margin-bottom:24px}.software-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.software-tab{padding:8px 16px;background:var(--bg-secondary);color:var(--text-secondary);border-radius:20px;font-size:13px;cursor:pointer;transition:var(--transition)}.software-tab:hover{background:var(--bg-tertiary);color:var(--text-primary)}.software-tab.active{background:var(--accent);color:var(--text-primary)}.opt-result{animation:fadeIn .3s ease}.opt-result-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.opt-result-header .icon{font-size:24px}.opt-result-header .title{font-size:18px;font-weight:600;color:var(--text-primary)}.analysis-text{padding:16px;background:var(--bg-tertiary);border-radius:var(--radius-md);font-size:14px;color:var(--text-primary);line-height:22px;margin-bottom:20px}.edit-params-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}.edit-param-card{background:var(--bg-tertiary);border-radius:var(--radius-md);padding:14px;text-align:center}.edit-param-card .param-label{font-size:12px;color:var(--text-secondary);margin-bottom:6px}.edit-param-card .param-value{font-size:16px;font-weight:700;color:var(--text-primary)}.edit-param-card .param-bar{height:4px;background:var(--bg-secondary);border-radius:2px;margin-top:8px;overflow:hidden}.edit-param-card .param-bar-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .3s ease}.filter-name{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:var(--accent-dim);color:var(--accent);border-radius:var(--radius-sm);font-size:14px;font-weight:500;margin-bottom:16px}.opt-actions{display:flex;gap:12px;margin-top:20px}.script-view{max-width:960px}.script-create-card{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:24px;margin-bottom:24px;border:1px solid var(--border)}.script-create-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.script-create-header .icon{font-size:24px}.script-create-header .title{font-size:16px;font-weight:500;color:var(--text-primary)}.script-create-header .subtitle{font-size:12px;color:var(--text-secondary)}.script-form{display:flex;flex-direction:column;gap:14px}.script-form-row{display:flex;gap:12px}.script-form-row .form-group{flex:1}.script-list-section{margin-top:24px}.script-list-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.script-list-header .icon{font-size:24px}.script-list-header .title{font-size:16px;font-weight:500;color:var(--text-primary)}.script-list{display:flex;flex-direction:column;gap:12px}.script-item{background:var(--bg-secondary);border-radius:var(--radius-md);padding:20px;border:1px solid var(--border);cursor:pointer;transition:var(--transition)}.script-item:hover{border-color:var(--accent);background:var(--accent-dim)}.script-item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.script-item-title{font-size:16px;font-weight:600;color:var(--text-primary)}.script-item-meta{display:flex;gap:12px;font-size:12px;color:var(--text-tertiary)}.script-item-style{padding:2px 8px;background:var(--accent-dim);color:var(--accent);border-radius:4px;font-size:12px}.script-item-content{font-size:13px;color:var(--text-secondary);line-height:20px;max-height:60px;overflow:hidden;text-overflow:ellipsis}.script-detail-view{animation:fadeIn .3s ease}.script-detail-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.script-detail-header .back-btn{padding:8px 16px;background:var(--bg-secondary);color:var(--text-primary);border-radius:var(--radius-sm);font-size:14px;cursor:pointer}.script-detail-title{font-size:22px;font-weight:700;color:var(--text-primary);flex:1}.script-detail-meta{display:flex;gap:16px;margin-bottom:20px;font-size:13px;color:var(--text-secondary)}.script-detail-content{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:24px;font-size:14px;color:var(--text-primary);line-height:1.8}.script-detail-content h1,.script-detail-content h2,.script-detail-content h3{color:var(--text-primary);margin:16px 0 8px}.script-detail-content h1{font-size:20px;font-weight:700}.script-detail-content h2{font-size:17px;font-weight:600;border-bottom:1px solid var(--border);padding-bottom:6px}.script-detail-content h3{font-size:15px;font-weight:600}.script-detail-content p{margin:8px 0}.script-detail-content ul,.script-detail-content ol{margin:10px 0;padding-left:20px}.script-detail-content ul{list-style-type:disc}.script-detail-content ol{list-style-type:decimal}.script-detail-content li{margin:4px 0;line-height:1.7}.script-detail-content strong{color:var(--accent);font-weight:600}.script-detail-content em{color:#f0c674;font-style:italic}.script-detail-content code{background:var(--bg-tertiary);padding:2px 6px;border-radius:4px;font-size:13px;color:#c678dd}.script-detail-content del{color:var(--text-tertiary);text-decoration:line-through}.script-detail-content blockquote{border-left:3px solid var(--accent);margin:12px 0;padding:8px 16px;background:#ff6b6b0d;color:var(--text-secondary);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.script-detail-content hr{border:none;height:1px;background:var(--border);margin:16px 0}.script-detail-content .md-table{width:100%;border-collapse:collapse;margin:12px 0;font-size:13px}.script-detail-content .md-table th,.script-detail-content .md-table td{border:1px solid var(--border);padding:8px 12px;text-align:left}.script-detail-content .md-table th{background:var(--bg-tertiary);font-weight:600;color:var(--accent)}.script-detail-content .md-table tr:hover td{background:var(--accent-dim)}.script-modify-section{margin-top:24px;background:var(--bg-secondary);border-radius:var(--radius-lg);padding:20px}.script-modify-input{display:flex;gap:10px;margin-top:12px}.script-modify-input .textarea-field{flex:1;min-height:60px}.script-empty{text-align:center;padding:40px;color:var(--text-tertiary)}.script-empty .icon{font-size:48px;margin-bottom:12px}.btn-edit{padding:8px 16px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);font-size:13px;font-weight:500;cursor:pointer;transition:var(--transition)}.btn-edit:hover{opacity:.85;transform:translateY(-1px)}.saving-badge{padding:4px 12px;background:#f0c674;color:#1a1a2e;border-radius:12px;font-size:12px;font-weight:600;animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.edit-section{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:24px;border:1px solid var(--border)}.edit-section-title{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--border)}.edit-grid-3{display:grid;grid-template-columns:1.2fr 1fr .8fr;gap:14px}.edit-field{display:flex;flex-direction:column;gap:6px}.edit-label{font-size:12px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.scene-table-card{overflow-x:auto}.editable-table-wrapper{max-height:55vh;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-md);background:#1a1a2e99}.editable-table{width:100%;border-collapse:collapse;font-size:13px}.editable-table thead{position:sticky;top:0;z-index:2}.editable-table th{background:linear-gradient(180deg,#2a2a4a,#222240);color:var(--accent);font-weight:600;font-size:12px;padding:12px 10px;text-align:center;white-space:nowrap;border-bottom:2px solid var(--accent);letter-spacing:.3px}.editable-table td{padding:6px 8px;vertical-align:middle;border-bottom:1px solid rgba(255,255,255,.06);background:transparent;transition:background .15s}.editable-table tbody tr:hover td{background:#ff6b6b0a}.editable-table tbody tr:hover .btn-del-row{opacity:1}.td-seq{text-align:center;font-weight:700;color:var(--accent);font-size:14px;min-width:40px;width:40px}.td-desc{min-width:280px;max-width:400px}.cell-input.cell-desc{width:100%;min-height:44px;max-height:80px;padding:8px 10px;background:#ffffff08;color:var(--text-primary);border:1px solid transparent;border-radius:6px;font-family:inherit;font-size:13px;line-height:1.5;resize:vertical;outline:none;transition:all .2s}.cell-input.cell-desc:focus{background:#ff6b6b0d;border-color:var(--accent);box-shadow:0 0 0 2px #ff6b6b1f}.cell-input.cell-desc::placeholder{color:var(--text-tertiary)}.td-shot,.td-camera,.td-dialogue,.td-duration{min-width:90px}.cell-input:not(.cell-desc){width:100%;height:34px;padding:4px 8px;background:#ffffff08;color:var(--text-primary);border:1px solid transparent;border-radius:5px;font-family:inherit;font-size:13px;outline:none;transition:all .2s;text-align:center}.cell-input:not(.cell-desc):focus{background:#ff6b6b0d;border-color:var(--accent);box-shadow:0 0 0 2px #ff6b6b1f}.cell-input:not(.cell-desc)::placeholder{color:var(--text-tertiary);font-size:11px}.cell-dialogue{text-align:left!important}.td-action{text-align:center;min-width:50px;width:50px}.btn-del-row{width:28px;height:28px;border-radius:50%;background:#ff464614;color:#f66;border:1px solid rgba(255,70,70,.15);cursor:pointer;font-size:14px;opacity:0;transition:all .2s;display:inline-flex;align-items:center;justify-content:center}.btn-del-row:hover{background:#ff464633;border-color:#ff464666;transform:scale(1.15)}.table-empty-state{text-align:center;padding:48px 20px;color:var(--text-tertiary)}.table-empty-state .empty-icon{font-size:42px;margin-bottom:10px}.table-toolbar{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding-top:12px;border-top:1px dashed var(--border)}.btn-add-scene{padding:9px 20px;background:#ff6b6b1a;color:var(--accent);border:1px dashed var(--accent);border-radius:var(--radius-sm);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.btn-add-scene:hover{background:var(--accent);color:#fff;border-style:solid}.scene-count-info{font-size:12px;color:var(--text-tertiary)}.scene-count-info strong{color:var(--accent)}.edit-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.btn-lg{padding:10px 28px;font-size:15px}.btn-secondary{padding:9px 20px;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;cursor:pointer;transition:var(--transition)}.btn-secondary:hover{background:var(--border);border-color:var(--text-tertiary)}.btn-primary{padding:9px 20px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);font-size:13px;font-weight:500;cursor:pointer;transition:var(--transition)}.btn-primary:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.photo-assistant-view{max-width:960px}.pa-tabs{display:flex;gap:0;margin-bottom:28px;background:var(--bg-secondary);border-radius:var(--radius-md);padding:4px}.pa-tab{flex:1;padding:12px;text-align:center;font-size:15px;font-weight:500;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);background:transparent}.pa-tab.active{background:var(--accent);color:var(--text-primary)}.pa-tab:hover:not(.active){color:var(--text-primary)}.review-upload{margin-bottom:24px}.review-upload-area{border:2px dashed var(--border);border-radius:var(--radius-lg);padding:50px 40px;text-align:center;cursor:pointer;transition:var(--transition)}.review-upload-area:hover{border-color:var(--accent);background:var(--accent-dim)}.review-upload-area .upload-icon{font-size:48px;margin-bottom:12px}.review-upload-area .upload-text{font-size:15px;color:var(--text-secondary)}.review-upload-area .upload-hint{font-size:12px;color:var(--text-tertiary);margin-top:8px}.review-preview{position:relative;border-radius:var(--radius-lg);overflow:hidden;margin-bottom:16px}.review-preview img{width:100%;max-height:400px;object-fit:contain;background:var(--bg-tertiary);border-radius:var(--radius-lg)}.review-preview .change-btn{position:absolute;bottom:12px;right:12px;padding:8px 16px;background:#000000b3;color:var(--text-primary);border-radius:var(--radius-sm);font-size:13px;cursor:pointer}.review-result{animation:fadeIn .3s ease}.review-score-section{display:flex;align-items:center;gap:20px;margin-bottom:24px;padding:24px;background:var(--bg-secondary);border-radius:var(--radius-lg)}.review-score-circle{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;flex-shrink:0}.review-score-circle.high{background:#4ecdc433;color:#4ecdc4;border:3px solid #4ECDC4}.review-score-circle.medium{background:#feca5733;color:#feca57;border:3px solid #FECA57}.review-score-circle.low{background:#ff6b6b33;color:#ff6b6b;border:3px solid #FF6B6B}.review-score-text .score-label{font-size:18px;font-weight:600;color:var(--text-primary)}.review-score-text .score-desc{font-size:13px;color:var(--text-secondary);margin-top:4px}.review-aspects{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px}.review-aspect-card{background:var(--bg-secondary);border-radius:var(--radius-md);padding:16px}.review-aspect-card .aspect-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:8px}.review-aspect-card .aspect-content{font-size:13px;color:var(--text-secondary);line-height:20px}.review-suggestions{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:20px}.review-suggestions .suggestions-title{font-size:15px;font-weight:500;color:var(--text-primary);margin-bottom:12px;display:flex;align-items:center;gap:8px}.review-suggestions .suggestion-text{font-size:14px;color:var(--text-secondary);line-height:22px}.qa-section{display:flex;flex-direction:column;gap:16px}.qa-input-area{display:flex;gap:10px}.qa-input-area .input-field{flex:1}.qa-history{display:flex;flex-direction:column;gap:16px;margin-top:8px}.qa-item{background:var(--bg-secondary);border-radius:var(--radius-lg);overflow:hidden}.qa-question{padding:16px 20px;background:var(--accent-dim);font-size:14px;color:var(--text-primary);display:flex;align-items:flex-start;gap:10px}.qa-question .qa-icon{font-size:16px;flex-shrink:0;margin-top:2px}.qa-answer{padding:16px 20px;font-size:14px;color:var(--text-secondary);line-height:22px;display:flex;align-items:flex-start;gap:10px}.qa-answer .qa-icon{font-size:16px;flex-shrink:0;margin-top:2px}.qa-empty{text-align:center;padding:40px;color:var(--text-tertiary)}.qa-empty .icon{font-size:48px;margin-bottom:12px}.qa-suggestions{margin-top:16px}.qa-suggestions .title{font-size:13px;color:var(--text-tertiary);margin-bottom:8px}.qa-suggestion-chips{display:flex;flex-wrap:wrap;gap:8px}.qa-suggestion-chip{padding:6px 14px;background:var(--bg-secondary);color:var(--text-secondary);border-radius:20px;font-size:13px;cursor:pointer;transition:var(--transition)}.qa-suggestion-chip:hover{background:var(--accent-dim);color:var(--accent)}
