body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box}#root,body,html{height:100%}.App{text-align:center}.ant-layout{min-height:100vh}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.pdf-preview-container{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center}.ant-card-body{padding:20px}.ant-form-item-label>label{color:#262626;font-weight:600}.ant-space-vertical{width:100%}@media(max-width:1200px){.ant-layout-sider{max-width:350px!important;min-width:350px!important;width:350px!important}}@media(max-width:992px){.ant-layout-sider{max-width:300px!important;min-width:300px!important;width:300px!important}}@media(max-width:768px){.ant-layout{flex-direction:column}.ant-layout-sider{height:auto;margin:0 16px 16px!important;max-width:100%!important;min-width:100%!important;width:100%!important}.ant-layout-content{height:50vh;margin:16px 16px 0!important}}.pdf-download-link{display:block;text-decoration:none;width:100%}.ant-form-item{margin-bottom:20px}.ant-typography h4{color:#1890ff;margin-bottom:0}.ant-tooltip-inner{background-color:#001529}.ant-switch{background-color:#00000040}.ant-switch.ant-switch-checked{background-color:#1890ff}.ant-input{border-radius:6px}.ant-input.ant-input-focused,.ant-input:focus{border-color:#1890ff;box-shadow:0 0 0 2px #1890ff33}.ant-btn{border-radius:6px;font-weight:500}.ant-btn.ant-btn-primary{background-color:#1890ff;border-color:#1890ff}.ant-btn.ant-btn-primary:hover{background-color:#40a9ff;border-color:#40a9ff}.ant-btn.ant-btn-danger{background-color:#ff4d4f;border-color:#ff4d4f}.ant-btn.ant-btn-danger:hover{background-color:#ff7875;border-color:#ff7875}.html-preview-container{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100%}.html-preview-page{background:#fff;border:1px solid #e1e5e9;border-radius:8px;box-shadow:0 10px 40px #0003,0 4px 12px #00000026;cursor:text;overflow:hidden;transition:transform .3s cubic-bezier(.4,0,.2,1);-webkit-user-select:text;user-select:text}.preview-mode-toggle{align-items:center;display:flex;gap:8px}.preview-mode-toggle .ant-btn-group{display:flex}.preview-mode-toggle .ant-btn{font-size:12px;height:28px;padding:0 12px}.ant-radio-wrapper{align-items:flex-start;display:flex;margin-bottom:8px}.ant-radio{margin-top:2px}.font-loader-container{align-items:center;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);display:flex;flex-direction:column;height:100%;justify-content:center;overflow:hidden;position:relative;width:100%}.font-loader-background{background-image:url('data:image/svg+xml,%3Csvg width="100" height="100" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath d="M11 18c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm48 25c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm-43-7c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm63 31c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM34 90c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm56-76c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM12 86c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm28-65c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm23-11c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-6 60c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm29 22c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zM32 63c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm57-13c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-9-21c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM60 91c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM35 41c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM12 60c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2z" fill="%23bfcfe2" fill-opacity="0.2" fill-rule="evenodd"%3E%3C/svg%3E');bottom:0;left:0;opacity:.6;position:absolute;right:0;top:0;z-index:0}.font-loader-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:none;border-radius:12px;box-shadow:0 10px 30px #0000001a;max-width:90%;overflow:hidden;transition:all .3s ease;width:500px;z-index:1}.font-loader-header{border-bottom:1px solid #e1e5e9;margin-bottom:24px;padding-bottom:16px}.font-loader-logo{align-items:center;color:#1890ff;display:flex;font-size:20px;font-weight:600}.logo-icon{font-size:24px;margin-right:10px}.font-loader-content{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:16px 0}.stage-icon{font-size:64px;margin-bottom:24px;transition:all .5s ease}.stage-icon.preparing{animation:pulse 2s infinite;color:#faad14}.stage-icon.loading{animation:bounce 2s infinite;color:#1890ff}.stage-icon.complete{animation:zoomIn .5s ease;color:#52c41a}.stage-icon.error{animation:shake .5s ease;color:#ff4d4f}.font-loader-title{margin-bottom:24px!important;text-align:center;transition:all .3s ease}.font-loader-progress-container{margin-bottom:24px;width:100%}.font-loader-progress{margin-bottom:8px!important}.font-loader-progress-text{color:#8c8c8c;display:block;text-align:center}.font-loader-info{align-items:center;display:flex;margin-bottom:16px}.font-loader-current-font{color:#262626;font-size:14px;margin-left:12px}.custom-loader{aspect-ratio:1;display:grid;margin:0 auto 20px;width:50px}.custom-loader:after,.custom-loader:before{content:"";grid-area:1/1;--c:no-repeat radial-gradient(farthest-side,#25b09b 92%,#0000);animation:l12 1s infinite;background:var(--c) 50% 0,var(--c) 50% 100%,var(--c) 100% 50%,var(--c) 0 50%;background-size:12px 12px}.custom-loader:before{animation-timing-function:linear;background-size:8px 8px;filter:hue-rotate(45deg);margin:4px}.font-loader-tip{color:#8c8c8c;font-size:14px;margin-top:16px!important;text-align:center}.font-loader-tip.success{color:#52c41a}.font-loader-error{text-align:center;width:100%}.font-loader-error-message{color:#ff4d4f;font-size:14px;margin-bottom:16px!important}.font-loader-actions{display:flex;gap:12px;justify-content:center;margin-top:24px}.font-loader-complete{text-align:center;width:100%}.resource-stats{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin:16px 0;width:100%}.stat-card{background-color:#f0f2f5cc;border-radius:8px;box-shadow:0 2px 6px #0000000d;min-width:120px;padding:12px;text-align:center}.stat-value{color:#1890ff;font-size:18px;font-weight:600;margin-bottom:4px}.stat-label{color:#8c8c8c;font-size:12px}.network-speed{animation:pulse 1.5s infinite;color:#1890ff;font-weight:600}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@keyframes zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}@keyframes l12{to{transform:rotate(.5turn)}}.create-pdf-container{background:#fff;border-radius:6px;display:flex;flex-direction:column;margin:16px;overflow:hidden}.pdf-preview-wrapper{flex:1 1;overflow:hidden;padding:16px}.pdf-viewer-container{border:1px solid #d9d9d9;border-radius:6px;height:100%;overflow:hidden;width:100%}.pdf-viewer{border:none;height:100%;width:100%}.control-panel-sider{background:#fff;border-radius:6px;box-sizing:border-box;margin:16px 16px 16px 0;max-height:calc(100vh - 32px);min-width:0;overflow:hidden;overflow-x:hidden;overflow-y:auto;width:100%}.control-panel-sider::-webkit-scrollbar{width:6px}.control-panel-sider::-webkit-scrollbar-track{background:#0000}.control-panel-sider::-webkit-scrollbar-thumb{background:#d9d9d9;border-radius:3px}.control-panel-sider::-webkit-scrollbar-thumb:hover{background:#bfbfbf}.control-panel-sider:not(:hover)::-webkit-scrollbar-thumb{background:#0000}.SplitPane .Resizer{display:none!important}