*{box-sizing:border-box;margin:0;padding:0}:root{--primary:#4f46e5;--primary-light:#818cf8;--primary-bg:#eef2ff;--accent:#f43f5e;--bg:#fff;--bg-secondary:#f8fafc;--bg-card:#fff;--border:#e2e8f0;--border-light:#f1f5f9;--text:#1e293b;--text-secondary:#64748b;--text-light:#94a3b8;--gradient-hero:linear-gradient(135deg, #4f46e5 0%, #7c3aed 50%, #ec4899 100%);--shadow-sm:0 1px 3px #0000000f;--shadow:0 4px 16px #0000000f;--shadow-hover:0 8px 30px #4f46e51f;--radius:16px;--radius-sm:10px}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}input{outline:none;font-family:inherit;font-size:14px}button{cursor:pointer;border:none;outline:none;font-family:inherit}.btn{border-radius:var(--radius-sm);cursor:pointer;border:none;align-items:center;gap:8px;padding:9px 22px;font-size:14px;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}.btn-ghost{color:var(--text-secondary);border:1px solid var(--border);background:0 0}.btn-ghost:hover{color:var(--text);border-color:var(--text-light);background:var(--bg-secondary)}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 4px 12px #4f46e540}.btn-primary:hover{background:#4338ca;transform:translateY(-1px);box-shadow:0 6px 20px #4f46e559}.btn-large{border-radius:12px;padding:14px 36px;font-size:16px}.btn-block{justify-content:center;width:100%;padding:12px;font-size:15px}.btn-block:disabled{opacity:.6;cursor:not-allowed}.workspace{background:var(--bg-secondary);height:100vh;display:flex;overflow:hidden}.sidebar{background:var(--bg);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:220px;display:flex}.sidebar-header{border-bottom:1px solid var(--border-light);padding:20px}.sidebar-logo{align-items:center;gap:10px;text-decoration:none;display:flex}.sidebar-logo .logo-icon{background:var(--gradient-hero);color:#fff;border-radius:1px;justify-content:center;align-items:center;width:34px;height:34px;font-size:16px;font-weight:900;display:flex}.sidebar-logo .logo-text{color:var(--text);font-size:18px;font-weight:700}.sidebar-nav{flex:1;padding:12px;overflow-y:auto}.sidebar-section-title{color:var(--text-light);text-transform:uppercase;letter-spacing:.5px;margin-top:4px;padding:8px 12px 6px;font-size:11px;font-weight:600}.sidebar-item{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;align-items:center;gap:10px;margin-bottom:2px;padding:10px 12px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.sidebar-item:hover{background:var(--primary-bg);color:var(--primary)}.sidebar-item.active{background:var(--primary-bg);color:var(--primary);font-weight:600}.sidebar-item .icon{text-align:center;flex-shrink:0;width:24px;font-size:18px}.sidebar-footer{border-top:1px solid var(--border-light);padding:16px}.sidebar-user{align-items:center;gap:10px;margin-bottom:12px;display:flex}.sidebar-avatar{background:var(--primary-bg);width:36px;height:36px;color:var(--primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.sidebar-user-info .name{color:var(--text);font-size:14px;font-weight:600}.sidebar-user-info .role{color:var(--text-light);font-size:11px}.sidebar-logout{border-radius:var(--radius-sm);color:var(--text-light);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:8px 12px;font-size:13px;transition:all .2s;display:flex}.sidebar-logout:hover{color:var(--accent);background:#fff1f2}.main-area{flex-direction:column;flex:1;display:flex;overflow:hidden}.topbar{background:var(--bg);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;height:56px;padding:0 24px;display:flex}.topbar-title{color:var(--text);font-size:16px;font-weight:700}.topbar-back{color:var(--text-secondary);cursor:pointer;align-items:center;gap:6px;font-size:13px;text-decoration:none;transition:color .2s;display:flex}.topbar-back:hover{color:var(--primary)}.content{flex:1;padding:24px;overflow-y:auto}.feature-page{max-width:1100px;margin:0 auto}.feature-back-bar{border-bottom:1px solid var(--border-light);align-items:center;gap:16px;margin-bottom:20px;padding-bottom:16px;display:flex}.feature-back{color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;text-decoration:none;transition:color .2s;display:flex}.feature-back:hover{color:var(--primary)}.feature-back-title{color:var(--text);font-size:18px;font-weight:700}.feature-desc{color:var(--text-secondary);margin-bottom:24px;font-size:14px;line-height:1.6}.feature-layout{grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;display:grid}.feature-panel{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.feature-panel-title{color:var(--text);align-items:center;gap:8px;margin-bottom:16px;font-size:14px;font-weight:700;display:flex}.upload-zone{border:2px dashed var(--border);border-radius:var(--radius);text-align:center;cursor:pointer;background:var(--bg-secondary);padding:48px 24px;transition:all .3s}.upload-zone:hover{border-color:var(--primary-light);background:var(--primary-bg)}.upload-zone .upload-icon{margin-bottom:12px;font-size:40px}.upload-zone .upload-text{color:var(--text-secondary);margin-bottom:4px;font-size:14px}.upload-zone .upload-hint{color:var(--text-light);font-size:12px}.result-placeholder{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-secondary);min-height:300px;color:var(--text-light);flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:14px;display:flex}.result-placeholder .placeholder-icon{opacity:.5;font-size:48px}.feature-options{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:20px;padding:20px 24px}.feature-options-title{color:var(--text);margin-bottom:14px;font-size:13px;font-weight:700}.option-group{flex-wrap:wrap;gap:8px;display:flex}.option-item{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:var(--bg);border-radius:8px;padding:6px 16px;font-size:13px;transition:all .2s}.option-item:hover{border-color:var(--primary-light);color:var(--primary)}.option-item.active{border-color:var(--primary);background:var(--primary-bg);color:var(--primary);font-weight:600}.feature-actions{gap:12px;display:flex}.model-select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);height:38px;color:var(--text);cursor:pointer;outline:none;padding:0 12px;font-size:13px;transition:border-color .2s}.model-select:focus{border-color:var(--primary)}.text-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);width:100%;color:var(--text);resize:vertical;outline:none;min-height:100px;padding:10px 14px;font-family:inherit;font-size:14px;transition:border-color .2s}.text-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51a}.text-input::placeholder{color:var(--text-light)}@media (width<=768px){.sidebar{width:60px}.sidebar-header{padding:14px 10px}.sidebar-logo .logo-text,.sidebar-section-title,.sidebar-item span:last-child{display:none}.sidebar-item{justify-content:center;padding:10px}.sidebar-user-info,.sidebar-logout span{display:none}.feature-layout{grid-template-columns:1fr}.content{padding:16px}}.toast-container[data-v-be6a5972]{z-index:9999;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;top:24px;left:50%;transform:translate(-50%)}.toast[data-v-be6a5972]{pointer-events:auto;white-space:nowrap;border-radius:10px;align-items:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:500;display:flex;box-shadow:0 6px 20px #00000040}.toast-error[data-v-be6a5972],.toast-success[data-v-be6a5972],.toast-info[data-v-be6a5972]{color:#fff;background:#1e1e1ee6}.toast-icon[data-v-be6a5972]{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;font-weight:700;display:flex}.toast-error .toast-icon[data-v-be6a5972]{color:#fff;background:#e11d48}.toast-success .toast-icon[data-v-be6a5972]{color:#fff;background:#16a34a}.toast-info .toast-icon[data-v-be6a5972]{color:#fff;background:#4f46e5}.toast-enter-active[data-v-be6a5972],.toast-leave-active[data-v-be6a5972]{transition:all .3s}.toast-enter-from[data-v-be6a5972]{opacity:0;transform:translateY(-16px)}.toast-leave-to[data-v-be6a5972]{opacity:0;transform:translateY(-8px)}
