:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#183247;background:#edf2f6;font-size:16px;font-synthesis:none}*{box-sizing:border-box}body{margin:0}header{background:#13293b;color:white;display:flex;align-items:center;justify-content:space-between;padding:24px max(24px,calc((100vw - 1280px)/2));gap:20px}.brand{display:flex;align-items:center;gap:14px}.icon{font-size:40px;color:#39d9c4}h1{font-size:24px;margin:0;letter-spacing:-.6px}.brand p{margin:6px 0 0;color:#afc3d4;font-size:14px}.unit{font-size:14px;color:#c2d5e3}main{max-width:1280px;margin:32px auto;display:grid;grid-template-columns:340px minmax(0,1fr);gap:28px;padding:0 24px}h2{font-size:18px;margin:0 0 22px;letter-spacing:-.3px}.panel{background:white;border:1px solid #d7e0e8;border-radius:14px;padding:26px;box-shadow:0 3px 12px #17324605}aside{align-self:start}label{display:block;font-size:14px;font-weight:600;margin-bottom:20px}label>span{float:right;color:#64798a;font-weight:400}input,select{font:inherit;font-size:16px;width:100%;border:1px solid #bacad7;border-radius:7px;padding:12px;margin-top:9px;color:#173246;background:white;min-width:0}input:focus,select:focus{outline:3px solid #2dd4bf44;border-color:#0f8177}input:invalid:not(:focus){border-color:#b42318}.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.help{font-size:14px;line-height:1.6;color:#657989;margin:0 0 20px}.section{margin-top:28px;padding-top:24px;border-top:1px solid #e2e9ef}.reference{background:#f0f5f8;border-radius:8px;padding:16px;font-size:14px;line-height:1.6}.reference p{margin:6px 0}.reference small{font-size:12px;color:#627787}.result-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.result-heading h2{margin:0}.result-heading>span{font-size:14px;color:#5a7082}.badge{background:#dde9ee;padding:7px 12px;border-radius:6px}.summary{display:grid;grid-template-columns:1fr auto;gap:20px;background:#13293b;color:white;padding:30px;border-radius:14px}.eyebrow{font-size:12px;letter-spacing:1.5px;color:#91b1c6;margin:0 0 12px}.big{font-size:56px;font-weight:700;line-height:1.15;letter-spacing:-2px}.big>span:last-child:not(:first-child){font-size:22px;letter-spacing:0;font-weight:400;color:#a9c2d5}.summary .muted{color:#aec5d6;font-size:14px;margin:14px 0 0}.summary strong{color:#eaf1f6;font-weight:500}.quantity{border-left:1px solid #3b5366;padding-left:30px;min-width:155px}.quantity .big{color:#40dfc8}.notice{font-size:14px;line-height:1.6;border-radius:8px;padding:15px 18px;margin:18px 0;background:#e5f5ed;color:#22553b;border:1px solid #b8ddc9}.notice.warning{background:#fff6de;color:#7b5310;border-color:#eed59e}.notice.error{background:#fff0ef;color:#a0221b;border-color:#f2c4bd}.arrangement{margin-top:22px}.arrangement .result-heading{margin-bottom:14px}#diagram{padding:30px 0 18px;overflow-x:auto}.shaft{display:flex;align-items:center;border-bottom:3px solid #97aabb;min-height:76px;min-width:520px;gap:2px;padding-bottom:15px}.segment{height:44px;display:flex;align-items:center;justify-content:center;min-width:0;border-radius:4px;position:relative;font-size:12px;white-space:nowrap}.segment.object{background:#c2d0df;color:#32465a;border:1px solid #a9bdd0}.segment.spacer{background:#51d6c2;color:#164b43;border:1px solid #27af9b}.segment.end{background:#b3efe4;border:1px dashed #259d8b}.segment-label{overflow:hidden;text-overflow:ellipsis;padding:0 3px}.legend{display:flex;gap:24px;color:#5c7182;font-size:14px;flex-wrap:wrap}.legend>span{display:flex;align-items:center;gap:8px}.swatch{display:inline-block;width:12px;height:12px;border-radius:2px;background:#c2d0df}.swatch.spacer{background:#51d6c2}.swatch.end{background:#b3efe4;border:1px dashed #259d8b}.assembly-stats{display:flex;justify-content:space-between;gap:16px;border-top:1px solid #e2e9ef;padding-top:20px;margin-top:24px;font-size:14px}.assembly-stats span{display:block;color:#718493;margin-bottom:8px}.assembly-stats strong{font-weight:600}.export{margin-top:22px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.export h2{margin-bottom:8px}.export p{font-size:14px;color:#5b7082;margin:8px 0}.export .help{font-size:14px}button,.download{background:#087f73;color:white;border:0;padding:14px 22px;font:inherit;font-weight:600;font-size:14px;border-radius:8px;cursor:pointer;white-space:nowrap;text-decoration:none;display:inline-block}button:hover,.download:hover{background:#06675e}button:disabled{opacity:.55;cursor:wait}button:focus-visible,.download:focus-visible{outline:3px solid #3ad8c5;outline-offset:3px}#generation-status,#downloads{width:100%;font-size:14px}#downloads:empty,#generation-status:empty{display:none}.download{margin-top:10px}footer{max-width:1280px;margin:25px auto;padding:0 24px 30px;color:#788d9d;font-size:12px}[hidden]{display:none!important}@media(max-width:850px){main{grid-template-columns:1fr;max-width:680px}.two{grid-template-columns:1fr 1fr}.summary{padding:24px}.big{font-size:44px}.quantity{min-width:110px;padding-left:18px}header{padding:20px 24px}.unit{display:none}.assembly-stats{flex-wrap:wrap}.panel{padding:22px}}@media(max-width:420px){main{padding:0 14px;margin:20px auto;gap:20px}.summary{gap:12px;padding:20px}.big{font-size:38px}.quantity{min-width:88px;padding-left:14px}.badge{display:none}.legend{gap:15px}.export button{width:100%}}
:is(aside,.workspace,.arrangement,.export){min-width:0}main{grid-template-columns:340px minmax(0,1fr)}@media(max-width:850px){main{grid-template-columns:minmax(0,1fr)}}
:root .size-list{margin-top:18px}.size-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:15px 0}.size-row+ .size-row{border-top:1px solid #e2e9ef}.size-row p{font-size:14px;color:#657989;line-height:1.6;margin:8px 0 0}.size-row button{font-size:14px;padding:12px}.big.multiple{font-size:36px;letter-spacing:-1px;overflow-wrap:anywhere}#downloads{display:flex;flex-wrap:wrap;gap:12px}@media(max-width:600px){.size-row{flex-direction:column;align-items:stretch}.big.multiple{font-size:28px}}
input[readonly]{background:#edf2f6;color:#657989}.shaft-comparison{min-width:520px}.shaft-label{font-size:14px;font-weight:600;margin:0 0 8px}.shaft.aligned{position:relative;width:100%;min-width:0;height:70px;margin-bottom:22px}.shaft.aligned .segment{position:absolute;top:7px;border-radius:2px;height:40px}.reference-shaft .segment.spacer{background:#e3eaf0;border-color:#bdccd8;color:#657989}.reference-shaft .segment.object{background:#819bb3;color:white}.centre-tick{position:absolute;left:50%;bottom:-16px;height:12px;width:1px;background:#34576d}.shaft-comparison .shaft:last-child{margin-bottom:0}
.shaft-toolbar{max-width:1280px;margin:24px auto 0;padding:0 24px;display:flex;gap:16px;align-items:center;justify-content:space-between}#shaft-tabs{display:flex;gap:8px;flex-wrap:wrap}.shaft-tab{background:#dce6ee;color:#344f65;padding:12px 18px;white-space:normal;max-width:220px;overflow-wrap:anywhere}.shaft-tab[aria-pressed=true]{background:#13293b;color:white}.shaft-tab:hover{background:#30546b;color:white}.text-button{background:transparent;color:#aa3329;padding:4px;font-size:14px}.text-button:hover{background:#fff0ef;color:#aa3329}.overview{margin-top:0}.inline-label{display:flex;align-items:center;gap:8px;margin:0;font-weight:400}.inline-label select{margin:0;padding:9px;font-size:14px;width:auto;max-width:220px}.result-title{margin-top:28px}.export-buttons{display:flex;gap:10px;flex-wrap:wrap}.secondary{background:#13293b}.swatch.clearance{background:repeating-linear-gradient(135deg,#f2e8cd,#f2e8cd 3px,#ba9d53 3px,#ba9d53 4px)}#diagram-caption{margin:16px 0 0}.assembly-stats.panel{margin-top:22px;padding:22px;border-top:1px solid #d7e0e8}#diagram svg{display:block;max-width:none}.inline-label{font-size:14px}#count-title{font-weight:600}@media(max-width:600px){.shaft-toolbar{align-items:flex-start;padding:0 14px}.shaft-toolbar>button{padding:12px;white-space:nowrap}.overview .result-heading{align-items:flex-start;flex-direction:column}.inline-label select{max-width:210px}.export-buttons{width:100%}.export-buttons button{width:100%}.summary{grid-template-columns:minmax(0,1fr) auto}.big.multiple{font-size:26px}}
.all-spacers{margin-top:24px}.table-scroll{overflow-x:auto}.all-spacers table{width:100%;border-collapse:collapse;font-size:14px}.all-spacers th,.all-spacers td{padding:12px 14px;border-bottom:1px solid #e2e9ef;text-align:right;white-space:nowrap}.all-spacers th:first-child,.all-spacers td:nth-child(2){text-align:left}.all-spacers thead{background:#f0f5f8}.all-spacers thead th{white-space:normal;min-width:90px;overflow-wrap:anywhere}.all-spacers td:last-child{font-weight:700;color:#087f73}.all-spacers tfoot{background:#e5f5ed;font-weight:700}.all-spacers .help{margin-bottom:12px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}


.setup-buttons{display:flex;gap:8px;flex-wrap:wrap}.export-options{width:100%}.export-options label{margin-bottom:0}#batch-summary{width:100%;overflow-wrap:anywhere}.shaft-toolbar{flex-wrap:wrap}@media(max-width:600px){.setup-buttons{order:3;width:100%}.setup-buttons button{flex:1}}
.mode-toolbar{max-width:1280px;margin:24px auto 0;padding:0 24px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}.mode-toolbar p{font-size:14px;color:#657989;margin:0}.mode-switch{display:flex;gap:4px;background:#dce6ee;border-radius:10px;padding:4px}.mode-switch button{background:transparent;color:#344f65;padding:10px 18px}.mode-switch button[aria-pressed=true]{background:#13293b;color:white}.simple-mode [data-advanced]:not(option),.simple-mode .advanced-only{display:none!important}.simple-mode .size-row p{display:none}.simple-mode .two:has(>[data-advanced]){grid-template-columns:1fr}.simple-mode .shaft-toolbar{margin-top:16px}.simple-mode #diagram{padding-top:12px}.simple-mode .result-title{margin-top:22px}#retained-settings{max-width:1232px;margin:18px auto 0}@media(max-width:600px){.mode-toolbar{padding:0 14px;gap:10px}#retained-settings{margin:16px 14px 0}}

.back-to-tools{font-size:13px;color:#c2d5e3;text-decoration:none;margin-left:auto;white-space:nowrap}.back-to-tools:hover{color:white;text-decoration:underline}
