._container_1cg4y_3{display:flex;justify-content:center;align-items:center;min-height:100vh;background:#f0f2f5;padding:20px}._titleWrap_1cg4y_5{text-align:center;margin-bottom:24px}._captchaRow_1cg4y_7{display:flex;gap:12px;align-items:center;margin-bottom:16px}._captchaBox_1cg4y_9{width:120px;display:flex;flex-direction:column;align-items:center}._captchaPlaceholder_1cg4y_11{width:120px;height:40px;background:#f5f5f5;display:flex;align-items:center;justify-content:center;border:1px solid #d9d9d9;border-radius:4px}._captchaLoading_1cg4y_31{color:#999;font-size:12px}._captchaError_1cg4y_39{color:#ff4d4f;font-size:12px}._captchaRefresh_1cg4y_47{margin-top:4px;transition:opacity .3s}._captchaRefresh_1cg4y_47._loading_1cg4y_55{opacity:.5;pointer-events:none}._captchaImg_1cg4y_63{width:120px;height:40px;cursor:pointer;border:1px solid #d9d9d9;border-radius:4px}.file-rows{margin-top:8px}.file-row{display:grid;grid-template-columns:420px 200px 200px;gap:8px;align-items:center;padding:6px 8px;border-radius:6px}.file-rows .file-row:nth-child(odd){background:#fafafa}.file-rows .file-row:nth-child(2n){background:#fff}.file-row .file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-row .file-select{width:100%}@media (max-width: 768px){.file-row{grid-template-columns:1fr;gap:6px}}.test-point-editor{display:flex;flex-direction:column;height:100vh;background:#f5f5f5}.editor-toolbar{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#fff;border-bottom:1px solid #d9d9d9;box-shadow:0 2px 4px #0000001a;flex-wrap:wrap;gap:8px}.svg-container{flex:1;padding:16px;overflow:auto;background:#fff;margin:8px;border-radius:4px;box-shadow:0 2px 8px #0000001a}.svg-container svg{width:100%;height:auto;cursor:crosshair;border:1px solid #d9d9d9;border-radius:4px}.svg-container svg.adding-point{cursor:crosshair}.svg-container svg circle[id^=testpoint_]{cursor:pointer;transition:all .2s ease}.svg-container svg circle[id^=testpoint_]:hover{stroke-width:1.5;filter:brightness(1.2)}.svg-container svg .candidate-window{animation:pulse 2s infinite;cursor:pointer}@keyframes pulse{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.svg-container svg .candidate-window:hover{transform:scale(1.2)}.svg-container svg .new-test-point{animation:fadeIn .5s ease}.delete-mode .test-point{cursor:pointer}.delete-mode .test-point:hover{fill:#ff4d4f!important;stroke:#fff!important;stroke-width:2!important}@keyframes fadeIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.add-point-tip{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:#000c;color:#fff;padding:8px 16px;border-radius:4px;font-size:14px;z-index:1000;animation:slideUp .3s ease}.delete-point-tip{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:#ff4d4fcc;color:#fff;padding:8px 16px;border-radius:4px;font-size:14px;z-index:1000;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media (max-width: 1200px){.editor-toolbar{flex-direction:column;align-items:stretch;gap:12px}.editor-toolbar>div:first-child{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.editor-toolbar>div:last-child{display:flex;justify-content:center;gap:8px}}.editor-sidebar{width:300px;background:#fff;border-left:1px solid #d9d9d9;padding:16px;overflow-y:auto}.test-point-list{margin-top:16px}.test-point-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;margin-bottom:8px;transition:all .2s ease}.test-point-item:hover{background:#f0f0f0;border-color:#1890ff}.test-point-item.deleted{opacity:.5;text-decoration:line-through}.test-point-item.new{border-color:#52c41a;background:#f6ffed}.status-indicator{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px}.status-indicator.top{background:#ff4d4f}.status-indicator.bottom{background:#1890ff}.status-indicator.both{background:linear-gradient(45deg,#ff4d4f 50%,#1890ff 50%)}.needle-selector{min-width:120px}.loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#fffc;display:flex;justify-content:center;align-items:center;z-index:1000}.operation-history{max-height:200px;overflow-y:auto;border:1px solid #d9d9d9;border-radius:4px;background:#fff}.operation-item{padding:4px 8px;border-bottom:1px solid #f0f0f0;font-size:12px;color:#666}.operation-item:last-child{border-bottom:none}.operation-item.add{border-left:3px solid #52c41a}.operation-item.delete{border-left:3px solid #ff4d4f}.operation-item.update{border-left:3px solid #1890ff}.svg-container{background:#fff;border:1px solid #e0e0e0;border-radius:4px;color:#333}.pcb-element{transition:opacity .2s ease,stroke-width .2s ease}.pcb-element--copper{fill-opacity:.35;stroke-width:0}.pcb-element--copper[data-side=Top]{color:#fc0}.pcb-element--copper[data-side=Bottom]{color:#0cf}.pcb-element--copper[data-side=Both],.pcb-element--copper[data-side=Either]{color:#ccc}.pcb-element--copper[data-side=Internal]{color:#999}.pcb-element--copper[data-side=Unknown]{color:#ddd}.pcb-element--drill{color:#d62728;fill-opacity:.45;stroke-width:0}.pcb-element--skeleton{color:#000;fill:none!important;stroke-width:.8;fill-opacity:.2;stroke-dasharray:2,1}.test-point{stroke-width:.5;transition:all .2s ease;cursor:pointer}.test-point--isolated{color:#ff7f0e}.test-point--terminal{color:#1f77b4}.test-point--hole{color:#d62728}.test-point--vcut{color:#9467bd}.test-point--loop{color:#2ca02c}.test-point:hover{stroke-width:3;filter:brightness(1.2)}.test-point:active{transform:scale(1.1);transform-origin:center center}.test-point--deleted{opacity:.3!important;filter:grayscale(100%)!important}.test-point--new{color:#52c41a!important;stroke:#fff!important;stroke-width:1.5!important;animation:pulse 2s infinite}@keyframes pulse{0%{opacity:1}50%{opacity:.7}to{opacity:1}}.candidate-window-highlight{fill:#ff4d4f!important;stroke:#fff!important;stroke-width:2!important;animation:glow 1.5s ease-in-out infinite alternate}@keyframes glow{0%{filter:brightness(1)}to{filter:brightness(1.3) drop-shadow(0 0 3px currentColor)}}.candidate-window{color:#1f77b4}.candidate-window:hover{fill-opacity:.4;stroke-width:1}.svg-container.filter-top [data-side=Bottom]:not([data-side*=Both]):not([data-side*=Either]){display:none!important}.svg-container.filter-bottom [data-side=Top]:not([data-side*=Both]):not([data-side*=Either]){display:none!important}.svg-container.hide-copper .pcb-element--copper,.svg-container.hide-drill .pcb-element--drill,.svg-container.hide-skeleton .pcb-element--skeleton,.svg-container.hide-test-points .test-point,.svg-container.hide-windows .candidate-window{display:none!important}.svg-container.highlight-terminals .test-point:not(.test-point--terminal){opacity:.3}.svg-container.highlight-holes .test-point:not(.test-point--hole){opacity:.3}.svg-container.highlight-top [data-side]:not([data-side=Top]):not([data-side*=Both]):not([data-side*=Either]){opacity:.3}.svg-container.highlight-bottom [data-side]:not([data-side=Bottom]):not([data-side*=Both]):not([data-side*=Either]){opacity:.3}.svg-container.theme-dark{background:#1a1a1a;border-color:#404040}.theme-dark .pcb-element--copper[data-side=Top]{color:gold}.theme-dark .pcb-element--copper[data-side=Bottom]{color:#40e0d0}.theme-dark .test-point{filter:brightness(1.3)}.svg-container.theme-high-contrast{background:#000;border-color:#fff}.theme-high-contrast .pcb-element--copper{color:#fff!important;fill-opacity:.8}.theme-high-contrast .test-point{color:#ff0!important;stroke-width:2}@media print{.svg-container{border:none;background:#fff}.pcb-element--copper{fill-opacity:1}.test-point{stroke-width:1}.candidate-window{display:none}}@media (max-width: 768px){.test-point{stroke-width:1}.pcb-element--skeleton{stroke-width:1.2}}.svg-container *{transition:opacity .3s ease,display .3s ease}@keyframes pcb-load{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.svg-container.loading{animation:pcb-load .5s ease-out}.pcb-element--skeleton{opacity:.6}.test-point:focus{outline:2px solid #007acc;outline-offset:2px}.candidate-window:focus{outline:2px solid #007acc;outline-offset:2px}.stage-label{font-size:12px}.stage-connector{width:40px;height:2px;background:#f0f0f0;margin:8px auto}.netviewer-container{border:1px solid #f0f0f0;height:520px;overflow:hidden;position:relative;background:#fff;width:100%;min-height:200px}.netviewer-image{position:absolute;left:50%;top:50%;transform-origin:center center;-webkit-user-select:none;user-select:none;pointer-events:none;max-width:unset;max-height:unset;--pan-x: 0px;--pan-y: 0px;--zoom: 1;transform:translate(calc(-50% + var(--pan-x)),calc(-50% + var(--pan-y))) scale(var(--zoom)) scaleY(-1)}.netviewer-loading{padding:16px}.netviewer-loading-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#fff9}.netviewer-status{margin-top:8px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}.netviewer-hint{color:#888}.pcb-style-control-panel{margin-bottom:12px;padding:8px;background-color:#f5f5f5;border-radius:4px;border:1px solid #e8e8e8}.control-label{font-weight:500;color:#333;font-size:12px}.netviewer-svg-inline{position:absolute;left:50%;top:50%;transform-origin:center center;-webkit-user-select:none;user-select:none;pointer-events:auto;--pan-x: 0px;--pan-y: 0px;--zoom: 1;transform:translate(calc(-50% + var(--pan-x)),calc(-50% + var(--pan-y))) scale(var(--zoom)) scaleY(-1)}.netviewer-svg-inline svg{display:block;width:100%;height:100%}.legend-section{margin-top:8px}.legend-chip{display:inline-block;width:12px;height:12px;margin-right:6px;border:1px solid #999;vertical-align:-2px}.legend-fill-window{background:#1f77b4;opacity:.25}.legend-fill-copper-top{background:#fc0;opacity:.35}.legend-fill-copper-bottom{background:#0cf;opacity:.35}.legend-fill-copper-both{background:#ccc;opacity:.35}.legend-fill-copper-internal{background:#999;opacity:.35}.legend-fill-copper-unknown{background:#ddd;opacity:.35}.legend-palette{margin-left:8px}.legend-p1{background:#1f77b4;opacity:.35}.legend-p2{background:#ff7f0e;opacity:.35}.legend-p3{background:#2ca02c;opacity:.35}.legend-p4{background:#d62728;opacity:.35}.legend-p5{background:#9467bd;opacity:.35}.legend-p6{background:#17becf;opacity:.35}.legend-p7{background:#8c564b;opacity:.35}.legend-p8{background:#e377c2;opacity:.35}.legend-p9{background:#7f7f7f;opacity:.35}.legend-p10{background:#bcbd22;opacity:.35}.legend-fill-drill{background:#d62728;opacity:.45}.legend-fill-tp-isolated{background:#ff7f0e}.legend-fill-tp-terminal{background:#1f77b4}.legend-fill-tp-hole{background:#d62728}.legend-fill-tp-vcut{background:#9467bd}.legend-fill-tp-loop{background:#2ca02c}._selected-file-name_3qywt_1{margin-left:8px;color:#555;font-size:12px}._svg-preview-container_3qywt_13{width:100%;max-height:600px;overflow:auto;border:1px solid #eee;background:#fafafa;padding:8px}._no-svg_3qywt_31{color:#999;font-size:12px}html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#feffe6}.encoding-indicator{border-left:4px solid #1890ff;background-color:#f6ffed;margin-bottom:16px}.encoding-indicator .ant-alert-message{font-weight:500;color:#0050b3}.encoding-indicator .ant-alert-description{color:#0050b3}.encoding-test-text{font-family:Microsoft YaHei,PingFang SC,Helvetica Neue,Arial,sans-serif;line-height:1.6;font-size:14px}.encoding-test-text.monospace{font-family:Consolas,Monaco,Courier New,monospace;background-color:#f5f5f5;padding:2px 4px;border-radius:3px}.encoding-status{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:#666}.encoding-status.success{color:#52c41a}.encoding-status.warning{color:#faad14}.encoding-status.error{color:#ff4d4f}.encoding-details{background:#fafafa;border:1px solid #d9d9d9;border-radius:6px;padding:12px;margin:8px 0}.encoding-details-item{display:flex;justify-content:space-between;align-items:center;padding:4px 0;border-bottom:1px dotted #d9d9d9}.encoding-details-item:last-child{border-bottom:none}.encoding-details-label{font-weight:500;color:#333}.encoding-details-value{color:#666;font-family:monospace}.encoding-test-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin:16px 0}.encoding-test-item{padding:12px;border:1px solid #e8e8e8;border-radius:6px;background:#fff}.encoding-test-category{font-weight:500;color:#1890ff;margin-bottom:8px;font-size:13px}.encoding-test-content{font-size:14px;line-height:1.5;word-break:break-all}.dev-encoding-info{position:fixed;top:10px;right:10px;z-index:9999;max-width:300px;opacity:.9;transition:opacity .3s}.dev-encoding-info:hover{opacity:1}@media (max-width: 768px){.encoding-test-grid{grid-template-columns:1fr}.dev-encoding-info{position:relative;top:auto;right:auto;max-width:none;margin-bottom:16px}}.chinese-text{font-family:PingFang SC,Microsoft YaHei,Hiragino Sans GB,WenQuanYi Zen Hei,WenQuanYi Micro Hei,Noto Sans CJK SC,Source Han Sans SC,sans-serif}.utf8-text{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
