html,body,#root{height:100%;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif}.ant-layout{min-height:100vh}.ant-layout-header{background:#001529;padding:0 24px;display:flex;align-items:center;justify-content:space-between}.ant-layout-content{padding:24px;background:#f0f2f5}.ant-layout-sider{background:#fff;box-shadow:2px 0 8px #00000026}.upload-area{border:2px dashed #d9d9d9;border-radius:8px;padding:40px;text-align:center;background:#fafafa;transition:all .3s ease}.upload-area:hover{border-color:#1890ff;background:#f0f8ff}.upload-area.dragover{border-color:#1890ff;background:#e6f7ff}.parameter-panel{background:#fff;border-radius:8px;padding:24px;box-shadow:0 2px 8px #0000001a}.viewer-container{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.export-panel{background:#fff;border-radius:8px;padding:24px;box-shadow:0 2px 8px #0000001a}@media (max-width: 768px){.ant-layout-content,.parameter-panel,.export-panel{padding:16px}}@media (max-width: 576px){.ant-layout-header{padding:0 16px}.ant-layout-content{padding:12px}}.text-center{text-align:center}.mb-4{margin-bottom:16px}.mt-4{margin-top:16px}.p-4{padding:16px}.rounded{border-radius:8px}.shadow{box-shadow:0 2px 8px #0000001a}.bg-white{background-color:#fff}.bg-gray-50{background-color:#f9fafb}.border{border:1px solid #d9d9d9}.border-dashed{border-style:dashed}.transition-all{transition:all .3s ease}.hover\:border-blue-500:hover{border-color:#1890ff}.hover\:bg-blue-50:hover{background-color:#f0f8ff}.loading-spinner{display:inline-block;width:20px;height:20px;border:3px solid #f3f3f3;border-top:3px solid #1890ff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.progress-container{width:100%;background-color:#f0f0f0;border-radius:4px;overflow:hidden}.progress-bar{height:8px;background-color:#1890ff;transition:width .3s ease}.viewer-3d{width:100%;height:400px;border-radius:8px;overflow:hidden;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.image-preview{max-width:100%;max-height:300px;-o-object-fit:contain;object-fit:contain;border-radius:8px;box-shadow:0 4px 12px #00000026}.parameter-input{margin-bottom:16px}.parameter-input .ant-form-item-label{font-weight:500}.export-button{margin-right:8px;margin-bottom:8px}.report-section{margin-bottom:24px;padding:16px;background:#fff;border-radius:8px;border:1px solid #e8e8e8}.report-title{font-size:18px;font-weight:600;margin-bottom:12px;color:#262626}.report-content{color:#595959;line-height:1.6}.chart-container{width:100%;height:300px;margin:16px 0}.error-message{color:#ff4d4f;background:#fff2f0;border:1px solid #ffccc7;border-radius:6px;padding:12px;margin:8px 0}.success-message{color:#52c41a;background:#f6ffed;border:1px solid #b7eb8f;border-radius:6px;padding:12px;margin:8px 0}*{box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ant-tabs-tab{border-radius:8px 8px 0 0!important;margin-right:4px!important;transition:all .3s ease!important}.ant-tabs-tab:hover{background:rgba(102,126,234,.1)!important;color:#667eea!important}.ant-tabs-tab-active{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)!important;color:#fff!important;font-weight:500!important}.ant-tabs-tab-active .ant-tabs-tab-btn{color:#fff!important}.ant-card{transition:all .3s ease!important}.ant-card:hover{transform:translateY(-2px)!important;box-shadow:0 12px 40px #00000026!important}.ant-btn-primary{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)!important;border:none!important;border-radius:8px!important;font-weight:500!important;transition:all .3s ease!important}.ant-btn-primary:hover{background:linear-gradient(135deg,#5a6fd8 0%,#6a4190 100%)!important;transform:translateY(-1px)!important;box-shadow:0 6px 20px #667eea66!important}.ant-input-number{border-radius:6px!important;border:1px solid #e8e8e8!important;transition:all .3s ease!important}.ant-input-number:hover{border-color:#667eea!important;box-shadow:0 0 0 2px #667eea1a!important}.ant-input-number:focus{border-color:#667eea!important;box-shadow:0 0 0 2px #667eea33!important}.ant-slider-track{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)!important}.ant-slider-handle{border:2px solid #667eea!important;background:#fff!important}.ant-slider-handle:hover{border-color:#5a6fd8!important;box-shadow:0 0 0 4px #667eea33!important}.ant-select{border-radius:6px!important}.ant-select-selector{border-radius:6px!important;border:1px solid #e8e8e8!important;transition:all .3s ease!important}.ant-select:hover .ant-select-selector{border-color:#667eea!important;box-shadow:0 0 0 2px #667eea1a!important}.ant-select-focused .ant-select-selector{border-color:#667eea!important;box-shadow:0 0 0 2px #667eea33!important}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#5a6fd8 0%,#6a4190 100%)}.ant-spin-dot-item{background-color:#667eea!important}.ant-message{top:80px!important}.ant-message-notice{border-radius:8px!important;box-shadow:0 4px 20px #00000026!important}.ant-modal{border-radius:12px!important}.ant-modal-content{border-radius:12px!important;overflow:hidden!important}.ant-modal-header{background:linear-gradient(135deg,rgba(102,126,234,.05) 0%,rgba(118,75,162,.05) 100%)!important;border-bottom:1px solid #f0f0f0!important}@media (max-width: 768px){.ant-layout-sider{width:100%!important;max-width:100%!important;min-width:100%!important}.ant-layout-content{padding:12px!important}}.glass-effect{background:rgba(255,255,255,.25)!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;border:1px solid rgba(255,255,255,.18)!important;box-shadow:0 8px 32px #1f26875e!important}.gradient-text{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:600}.hover-lift{transition:all .3s ease}.hover-lift:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026}
