:root{font-family:system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;color:#18263a;background:#f3f6fa;font-size:16px;line-height:1.55;--blue:#146582;--line:#dce3eb;--cyan:#53d8ec}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:#146582;text-underline-offset:3px}:focus-visible{outline:3px solid #1788af;outline-offset:3px}.topbar{height:92px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1280px)/2));border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px}.brand svg{width:39px;height:39px;fill:none;stroke:#146582;stroke-width:1.6}.brand h1{font-size:22px;margin:0;font-weight:750;letter-spacing:1px}.brand span{font-size:13px;letter-spacing:2px;color:#6e7d91}.header-meta{font-size:14px;color:#657386}.header-meta span{border-left:1px solid #dce3eb;margin-left:15px;padding-left:15px}main{max-width:1280px;margin:auto;padding:28px 24px 40px}.intro{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:21px}.intro h2{font-size:22px;font-weight:600;margin:0}.intro p{font-size:14px;color:#647287;margin:0}.workspace{display:grid;grid-template-columns:310px minmax(0,1fr);gap:24px}.panel{background:#fff;border:1px solid var(--line);border-radius:12px}.controls{padding:24px;align-self:start}.section-title{display:flex;align-items:center;gap:10px;margin-bottom:20px}.section-title h3,h3{font-size:17px;margin:0;font-weight:650}.number{font:600 13px ui-monospace,monospace;letter-spacing:1px;color:#146582;border:1px solid #b4cdda;border-radius:5px;padding:3px 6px;flex-shrink:0}.divider{border-top:1px solid var(--line);padding-top:22px;margin-top:24px}label{font-size:14px;font-weight:550;display:block;margin-bottom:7px}select{width:100%;font-size:14px;height:48px;border:1px solid #c9d4e0;border-radius:7px;background:#fff;color:#1d2c3f;padding:0 9px}.field{margin-top:18px}.field label{display:flex;justify-content:space-between;align-items:center}.field label span{font-size:12px;font-weight:400;color:#6c7c90}.input-unit{display:flex;background:#f9fbfe;border:1px solid #cbd6e1;border-radius:7px;align-items:center;overflow:hidden}.input-unit:focus-within{border-color:#146582;box-shadow:0 0 0 2px #14658220}.input-unit input{width:100%;min-width:0;border:0;background:transparent;font:600 21px ui-monospace,monospace;padding:10px 12px;color:#17283d;outline:none}.input-unit input:disabled{color:#627286;background:#eef2f7;opacity:1}.input-unit span{font-size:14px;color:#617287;padding-right:13px}.field p{font-size:13px;color:#69798e;margin:6px 0 0}fieldset{border:0;margin:0;padding:0;min-width:0}.radio-card{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:7px;padding:12px 10px;margin-bottom:9px;cursor:pointer}.radio-card:has(input:checked){border-color:#2e7c99;background:#eff9fc}.radio-card input{accent-color:#146582;width:16px;height:16px;margin:0}.radio-card strong{display:block;font-size:15px;font-weight:600}.radio-card small{font-size:12px;font-weight:400;color:#557587}.radio-card em{display:block;font-size:12px;font-weight:400;font-style:normal;color:#627286;margin-top:2px}fieldset:disabled{opacity:.5}.groove-note{font-size:13px;color:#63748a;border-left:2px solid #bdd2dc;padding-left:12px;margin:17px 0}.groove-note b{font-size:13px;font-weight:550}.quiet{border:0;border-bottom:1px solid #ccd9e3;background:none;color:#536981;font-size:13px;padding:0 0 2px}.reset-button{width:100%;min-height:46px;margin-top:14px;border:1px solid #146582;border-radius:7px;background:#eff9fc;color:#146582;font-size:14px;font-weight:650}.reset-button:hover{background:#dff3f8}.reset-button:active{background:#c8ebf3}.error{color:#943b26;background:#fff2ee;padding:10px;font-size:14px;margin:12px 0;border-radius:6px}.results{min-width:0}.stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:12px;background:#fff;margin-bottom:18px;overflow:hidden}.stats>div{padding:19px 20px;border-right:1px solid var(--line)}.stats>div:last-child{border:0}.stats span{font-size:14px;color:#607188;display:block}.stats strong{font:500 29px ui-monospace,monospace;display:block;margin:4px 0 7px;letter-spacing:-1px}.stats small{font-size:12px;color:#778497;display:block}.instrument{background:#0e1826;color:#eaf0f8;border-radius:12px;overflow:hidden}.instrument-head{display:flex;justify-content:space-between;align-items:center;padding:20px 23px 0;gap:12px}.instrument-head h3{font-size:16px}.instrument-head>span{font:13px ui-monospace,monospace;color:#93a8c2}.diagram{padding:0 12px}.diagram svg{display:block;width:100%;height:auto;max-height:335px}.diagram svg text{font-family:system-ui,sans-serif;fill:#a9b9ce;font-size:11px}.legend{display:flex;align-items:center;gap:20px;padding:0 24px 17px;font-size:12px;flex-wrap:wrap}.legend span{display:flex;align-items:center;gap:7px}.legend i{width:17px;height:2px;display:inline-block}.cyan{background:#53d8ec}.white{background:#eaf0f8}.orange{background:#ffaf6f}.muted{color:#859ab5}.radius-control{padding:18px 23px 13px;border-top:1px solid #2a3749}.radius-control label{font-size:14px;display:flex;justify-content:space-between}.radius-control strong{font:500 16px ui-monospace,monospace;color:#53d8ec}.radius-control input{width:100%;accent-color:#53d8ec;margin:9px 0;height:20px}.radius-bottom{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#8299b5;gap:10px}.radius-bottom>div{display:flex;gap:7px}.radius-bottom button{background:#172a3e;border:1px solid #2b4861;color:#b9d8eb;border-radius:5px;font-size:12px;padding:5px 9px}.error-readout{display:flex;align-items:center;gap:16px;padding:15px 24px 19px;border-top:1px solid #25354a;flex-wrap:wrap}.error-readout span{font-size:14px;color:#afbdd0}.error-readout strong{font:400 24px ui-monospace,monospace;color:#53d8ec}.error-readout p{font-size:12px;color:#8da1bb;margin:0 0 0 auto}.chart-panel{padding:17px 22px 8px;margin-top:18px}.chart-header{display:flex;justify-content:space-between;align-items:center;gap:10px}.chart-header h3{font-size:15px}.chart-header span{font-size:12px;color:#718298}#chart svg{width:100%;height:auto;display:block;max-height:146px}.result-note{font-size:14px;color:#65758a;margin:13px 4px 0}.print-panel{margin-top:25px;padding:25px}.print-intro{display:flex;align-items:flex-start;gap:14px}.print-intro p{font-size:14px;color:#627287;margin:5px 0 0}.print-settings{display:flex;gap:14px;align-items:end;margin:22px 0 13px}.print-settings>div{width:145px}.print-settings input{font-size:18px}.primary,.secondary{font-size:15px;min-height:49px;padding:10px 23px;border-radius:7px;font-weight:600}.primary{background:#146582;border:1px solid #146582;color:white}.primary:hover{background:#104f67}.secondary{background:#fff;border:1px solid #b7cbd6;color:#146582}.print-message{font-size:14px;color:#465f78;margin:0}details{font-size:14px;margin-top:15px;line-height:1.7}summary{cursor:pointer;color:#146582;font-weight:500}details p{color:#627287}details ul{padding-left:21px}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}.help-grid>.panel{padding:24px}.help-grid ol{font-size:14px;color:#5c6f84;padding-left:20px;line-height:1.8;margin-bottom:0}.help-grid li{margin:8px 0}.help-grid b{color:#273e56;font-weight:600}.definitions p{font-size:14px;color:#5c6f84;margin:12px 0}footer{border-top:1px solid #dce3eb;max-width:1232px;margin:auto;display:flex;justify-content:space-between;padding:22px 0;color:#7c899a;font-size:13px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}@media(max-width:1100px){.stats>div{padding:15px 12px}.stats strong{font-size:25px}.intro{display:block}.intro p{margin-top:7px}.error-readout p{margin:0}.workspace{grid-template-columns:285px minmax(0,1fr);gap:18px}.legend{gap:12px}.radius-bottom>span{display:none}}@media(max-width:780px){.topbar{height:79px;padding:0 18px}.brand h1{font-size:20px}.header-meta{font-size:12px}.header-meta span{display:none}main{padding:23px 16px}.intro h2{font-size:20px}.workspace{grid-template-columns:1fr;gap:18px}.controls{padding:20px}.field{display:inline-block;width:calc(50% - 7px);vertical-align:top}.field:nth-of-type(3){margin-left:10px}#offset-field{margin-left:0;width:100%}.section-title{margin-bottom:15px}.divider{margin-top:18px;padding-top:18px}.radio-card{padding:10px}#geometries{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.radio-card{align-items:start;margin:0;gap:7px}.radio-card input{margin-top:4px}.radio-card strong{font-size:13px}.radio-card small{display:block;font-size:12px}.radio-card em{display:none}.groove-note{font-size:12px;display:inline-block;margin:16px 10px 0 0}.groove-note br{display:none}.quiet{font-size:12px}.stats>div{padding:13px 9px}.stats span{font-size:13px}.stats strong{font-size:23px}.stats small{display:none}.instrument-head{padding:17px 17px 0}.instrument-head>span{font-size:11px}.diagram{padding:0}.legend{padding:0 17px 13px}.legend .muted{width:100%;font-size:12px}.radius-control{padding:16px}.error-readout{padding:15px 16px;gap:10px}.error-readout p{width:100%}.chart-panel{padding:16px 14px 8px}.chart-header{display:block}.chart-header span{display:block;margin-top:3px}.print-panel{padding:20px}.print-settings{display:grid;grid-template-columns:1fr 1fr;gap:10px}.print-settings>div{width:100%}.print-settings button{padding:10px}.help-grid{grid-template-columns:1fr;gap:18px}.help-grid>.panel{padding:20px}footer{margin:0 16px;font-size:12px}.radius-bottom{justify-content:center}#chart svg{max-height:none}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s}}@media(min-width:781px){.diagram svg{min-height:300px}}@media print{body:before{content:'请使用「下载 1:1 PDF」取得模板，再以实际尺寸打印。';display:block;padding:30px;font-size:20px}header,main,footer{display:none}}
:root{}@media(max-width:480px){.stats{grid-template-columns:repeat(2,1fr)}.stats>div:nth-child(2){border-right:0}.stats>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.stats>div{padding:13px 16px}.radio-card strong{font-size:14px}.header-meta{display:none}}
.advanced{border-top:1px solid var(--line);padding-top:17px;margin-top:20px}.advanced>summary{font-size:14px;line-height:1.6}.advanced-fields{padding-top:17px}.advanced-note{font-size:13px;color:#65758a}.template-label{margin-top:20px}.custom-grooves{margin-top:17px}.custom-grooves input{width:100%;font:600 18px ui-monospace,monospace;border:1px solid #cbd6e1;padding:10px 12px;border-radius:7px;margin-bottom:12px}.stats.universal{grid-template-columns:repeat(2,1fr)}.stats.universal>div:nth-child(2){border-right:0}.preview-instruction{font-size:14px;color:#aebed2;margin:12px 23px 8px}.diagram svg{max-height:400px}#mode{font-size:13px}#template-type{font-size:14px}@media(max-width:780px){.advanced-fields .field{display:block;width:100%;margin-left:0}.preview-instruction{margin:12px 17px;font-size:14px}.stats.universal>div{border-bottom:0}.custom-grooves input{font-size:18px}} 

@media(max-width:780px){.diagram.universal-preview svg text{font-size:8px!important}}

.curve-guide{margin:15px 0 0;border-left:2px solid #bdd2dc;padding-left:12px}.curve-guide p{font-size:14px;line-height:1.7;margin:0 0 10px;color:#405972}.curve-guide .curve-caveat{color:#65758a}.curve-guide details{margin-top:8px}.curve-guide details p{margin-top:9px}.chart-note{font-size:14px;line-height:1.7;color:#5c6f84;margin:8px 0 10px}.radio-card em{font-size:14px;line-height:1.5}@media(max-width:780px){#geometries{grid-template-columns:1fr}.radio-card{align-items:center;padding:12px}.radio-card strong{font-size:15px}.radio-card small{display:inline;font-size:13px}.radio-card em{display:block;font-size:14px}.radio-card input{margin-top:0}.curve-guide{margin-top:16px}}

.preset-fields{border-bottom:1px solid var(--line);padding-bottom:19px;margin-bottom:22px}.preset-note{font-size:14px;color:#5c6f84;line-height:1.7;margin:10px 0 0}
.topbar{height:auto;min-height:92px;gap:16px;flex-wrap:wrap;padding-top:16px;padding-bottom:16px}.header-actions{display:flex;align-items:center;gap:18px}.social-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;border:1px solid #b7cbd6;border-radius:7px;font-size:14px;font-weight:600;white-space:nowrap;text-decoration:none}.social-link:hover{background:#eff9fc;border-color:#2e7c99}@media(max-width:780px){.topbar{min-height:79px;gap:12px;padding-top:12px;padding-bottom:12px}.header-actions{gap:12px}}
footer{flex-direction:column;gap:12px}.footer-meta{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.usage-notice{margin:0;font-size:14px;line-height:1.8;color:#536981}.usage-notice strong{font-weight:600}
.preset-guide{margin-top:12px}.preset-guide p,.groove-hint{font-size:14px;line-height:1.7;color:#5c6f84}.preset-guide p{margin:10px 0 0}.preset-guide b{color:#273e56;font-weight:600}.groove-hint{margin:10px 0 0}
.groove-guide{margin-top:12px;font-size:14px;line-height:1.7}.groove-guide p{margin:12px 0 0;color:#5c6f84}.groove-guide dl{margin:14px 0 0}.groove-guide dl>div{padding:12px 0;border-top:1px solid var(--line)}.groove-guide dt,.groove-guide b{font-weight:600;color:#273e56}.groove-guide dd{margin:5px 0 0;color:#5c6f84}.groove-guide .groove-eq-note{padding:12px;border-radius:7px;background:#eff9fc}
