@charset "UTF-8";
.viewer-controls,.angle-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 20px;border-bottom:1px solid #2c4656;font-size:.875rem}.viewer-controls select{max-width:100%;background:#102735;color:#d9eaf2;border:1px solid #446072;border-radius:6px;padding:7px 10px}.zoom-controls{display:flex;align-items:center;gap:7px;margin-left:auto}.zoom-controls button{min-width:40px}.zoom-controls output{min-width:42px;text-align:center;color:#b8d4dd}.angle-controls>input[type=range]{flex:1;min-width:100px;accent-color:#73dabb}.angle-number{display:flex;align-items:center;gap:5px}.angle-number input{width:85px;min-width:0;background:#112735;border:1px solid #456070;color:#deedf3;border-radius:5px;padding:7px;font-variant-numeric:tabular-nums}.angle-controls p{flex-basis:100%;font-size:.8125rem;color:#aac8d3}.viewer-help{padding:0 20px 10px;color:#9fbfce;font-size:.8125rem;line-height:1.8}.viewer-help:first-of-type{padding-top:10px}#motor-canvas{touch-action:none;cursor:crosshair}#motor-canvas.panning{cursor:grabbing}.canvas-wrap{overflow:hidden}.diagram-caption,.field-scale{pointer-events:none}.warning-details{border:1px solid #70552d;border-radius:8px;margin:18px 0;background:#241e17}.warning-details>summary{padding:12px 16px;font-size:.875rem;color:#edd6a4;cursor:pointer}.warning-details .warnings{margin:0;border:0}.derived-dimensions{margin-top:22px;padding-top:16px;border-top:1px solid #35505e}.derived-dimensions h3{font-size:.875rem}.derived-dimensions dl{margin:10px 0}.derived-dimensions dl>div{display:flex;gap:10px;justify-content:space-between;margin:9px 0;font-size:.8125rem}.derived-dimensions dt{color:#a6c1ce}.derived-dimensions dd{margin:0;color:#b3e6d2;text-align:right;font-variant-numeric:tabular-nums}.reference-note{font-size:.8125rem;color:#e0c586;margin-top:12px}.report-exports{padding:18px 0;border-bottom:1px solid #304b5b}.report-exports>div{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.report-exports p{font-size:.875rem;color:#a6c2d0;line-height:1.8}
@media(max-width:600px){.viewer-controls,.angle-controls{padding:10px 12px}.zoom-controls{margin-left:0;flex-basis:100%}.viewer-controls label{flex-shrink:0}.viewer-help{padding-inline:12px}.angle-controls>label:first-child{flex-basis:100%}.result-heading{flex-wrap:wrap}.result-heading button{white-space:normal;flex:1 1 42%;font-size:.8125rem}}
.angle-number select{width:112px;min-width:0;background:#112735;border:1px solid #456070;color:#deedf3;border-radius:5px;padding:7px;font:inherit;font-variant-numeric:tabular-nums}
:root{color-scheme:light;--ink:#132d39;--muted:#5a6f78;--line:#dce5e8;--cyan:#18ad92;--navy:#081c27;--paper:#f1f5f5;--radius:10px;font-family:Inter,"Segoe UI","Noto Sans JP","Noto Sans SC",Meiryo,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;font-size:16px;line-height:1.6}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}a{color:inherit;text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #14bfa1;outline-offset:3px}button{border:0;background:none;color:inherit}button,select,input{min-height:42px}h1,h2,h3,p{margin:0}h2{font-size:18px;line-height:1.5}h3{font-size:16px}.skip{position:fixed;top:-100px;left:15px;z-index:100;background:white;padding:12px}.skip:focus{top:10px}[hidden]{display:none!important}
.app-header{min-height:92px;padding:15px 28px;display:flex;gap:32px;align-items:center;justify-content:space-between;background:var(--navy);color:#fff}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0;font-size:14px;font-weight:700;letter-spacing:.06em}.brand img{width:46px;height:46px;border-radius:50%;background:#faf5e9}.brand small{display:block;font-size:10px;color:#b6c5cb;letter-spacing:.12em}.app-title{margin-right:auto}.app-title h1{font-size:22px;font-weight:600;letter-spacing:.02em}.version{font-size:11px;font-weight:600;color:#8aa8b6;letter-spacing:.14em}.version b{margin-left:6px;color:#59ddbf;font-size:10px;font-weight:500;letter-spacing:.08em}.header-actions{display:flex;align-items:center;gap:18px}.quiet{font-size:14px;padding:7px 10px}.header-actions .quiet{color:#c5d3d9}.languages{display:flex;border:1px solid #39505a;border-radius:50px;padding:3px}.languages button{min-width:37px;min-height:34px;font-size:12px;font-weight:700;border-radius:50px;padding:5px 8px}.languages button[aria-pressed=true]{background:#66dfc6;color:var(--navy)}.privacy-strip{display:flex;align-items:center;gap:10px;padding:10px 28px;background:#dff2ee;color:#28574d;font-size:13px}.local-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#18b293;flex-shrink:0}.scope-label{margin-left:auto;font-size:12px;white-space:nowrap;color:#61776f}.workspace{display:grid;grid-template-columns:340px minmax(0,1fr);gap:26px;max-width:1700px;margin:auto;padding:26px 28px 48px;align-items:start}.parameters{position:sticky;top:16px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 8px 25px #16333e05}.panel-title{padding:19px 20px 8px;display:flex;justify-content:space-between;align-items:center}.section-number{font-size:12px;color:#8a9ba3}.preset-row{padding:8px 20px 20px}.preset-row label{display:block;font-size:12px;color:var(--muted);margin-bottom:7px}.preset-row select{width:100%;font-size:13px;padding:8px 10px;border:1px solid var(--line);border-radius:5px;background:#f7f9f9}.parameter-tabs{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.parameter-tabs button{min-height:49px;font-size:14px;color:var(--muted);border-bottom:2px solid transparent;position:relative}.parameter-tabs button[aria-selected=true]{border-bottom-color:var(--cyan);color:#0c7b69;background:#f1faf7;font-weight:700}.parameter-scroll{max-height:calc(100vh - 445px);min-height:300px;overflow:auto;scrollbar-width:thin;scrollbar-color:#c5d3d8 transparent;padding:20px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.field{min-width:0;position:relative}.field.wide{grid-column:1/-1}.field label{display:block;font-size:13px;font-weight:600;line-height:1.5;margin-bottom:7px}.input-wrap{position:relative}.input-wrap input,.input-wrap select,.field textarea{width:100%;background:#fff;border:1px solid #cbd8de;border-radius:5px;color:var(--ink);padding:8px 40px 8px 10px;line-height:1.3;font-size:15px;font-variant-numeric:tabular-nums}.input-wrap select{padding-right:20px;font-size:14px}.input-wrap input:focus,.input-wrap select:focus,.field textarea:focus{border-color:var(--cyan)}.input-unit{position:absolute;right:10px;top:12px;pointer-events:none;color:#71878f;font-size:12px}.input-wrap input[type=number]{appearance:textfield;-moz-appearance:textfield}.input-wrap input::-webkit-inner-spin-button{appearance:none}.field-help{font-size:12px;color:var(--muted);line-height:1.65;margin:7px 0 0}.group-intro{font-size:13px;line-height:1.75;color:var(--muted);border-left:2px solid #78cdbb;padding-left:10px;margin-bottom:20px}.field textarea{padding:10px;font-family:ui-monospace,Consolas,monospace;font-size:12px;resize:vertical;min-height:125px}.bh-buttons{display:flex;justify-content:space-between;align-items:center;margin-top:9px;gap:10px}.bh-buttons button{min-height:32px;font-size:12px;color:#087f6a;text-decoration:underline}.run-controls{padding:15px 20px 17px;border-top:1px solid var(--line);background:#fbfdfc}.run-buttons{display:flex;gap:8px}.primary{display:flex;gap:14px;justify-content:space-between;align-items:center;background:var(--ink);color:white;border-radius:6px;padding:12px 17px;font-size:15px;font-weight:600;min-height:49px;flex:1}.primary:hover{background:#135448}.secondary{border:1px solid #ccdadd;border-radius:5px;font-size:13px;white-space:nowrap;padding:9px 13px;background:white}.resource-note{font-size:11px;line-height:1.7;color:#72868f;margin-top:10px}#validation:not(:empty){font-size:13px;margin-bottom:12px;color:#a94f21;line-height:1.6}.file-actions{display:flex;justify-content:center;border-top:1px solid var(--line);gap:5px}.file-actions button{font-size:12px;color:var(--muted);width:50%}.file-actions button+button{border-left:1px solid var(--line)}
.work-area{min-width:0}.run-status{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:4px 0 20px;position:relative;flex-wrap:wrap}.eyebrow{font-size:10px;letter-spacing:.15em;color:#82959f;margin-bottom:7px;font-weight:600}.run-status h2{font-size:22px;letter-spacing:.015em}.run-status p:not(.eyebrow){font-size:13px;color:var(--muted);margin-top:6px}.compute-badge{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:30px;background:#fff;padding:8px 12px;font-size:11px;white-space:nowrap;color:#5c717c}.run-status progress{width:100%;height:5px;border:0;border-radius:10px;appearance:none;overflow:hidden}.run-status progress::-webkit-progress-bar{background:#dfeae7}.run-status progress::-webkit-progress-value{background:#1aa989}.visual-panel{border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow:hidden}.visual-toolbar{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;border-bottom:1px solid var(--line);gap:15px}.visual-toolbar h2{font-size:15px}.visual-toolbar>div>span{font-size:11px;color:var(--muted)}.view-options{display:flex;align-items:center;gap:12px;font-size:12px;flex-wrap:wrap}.view-options button{min-height:33px;border-radius:5px;padding:6px 10px;background:#f1f5f5;font-size:12px}.view-options button[aria-pressed=true]{background:#deeee9;color:#006c59}.view-options label{display:flex;align-items:center;gap:4px;white-space:nowrap;cursor:pointer}.view-options input{min-height:0;accent-color:#099e81}.canvas-wrap{position:relative;background:radial-gradient(ellipse at 50% 48%,#14313d 0%,#0a202b 60%,#071b25 100%);height:480px}.canvas-wrap canvas{display:block;width:100%;height:100%;object-fit:contain}.diagram-caption{position:absolute;left:22px;right:22px;top:18px;display:flex;justify-content:space-between;gap:10px;pointer-events:none;color:#8ba7b4;font-size:11px;letter-spacing:.03em}.field-scale{position:absolute;bottom:24px;right:24px;width:130px;font-size:11px;color:#bfd3d9}.field-scale i{display:block;height:8px;margin:6px 0;background:linear-gradient(90deg,#112b80,#147ca6,#37c59c,#e9df4e,#e06929,#ac163d)}.field-scale>div{display:flex;justify-content:space-between}.model-strip{display:flex;align-items:center;flex-wrap:wrap;padding:12px 20px;gap:20px;font-size:12px;color:var(--muted);border-top:1px solid var(--line)}.model-strip>span{display:flex;gap:7px;align-items:center}.model-strip i{height:8px;width:8px;border-radius:2px}.steel{background:#71909d}.copper{background:#c88951}.north{background:#fa8966}.south{background:#59acd1}.mesh-stat{margin-left:auto;font-size:11px}.design-checks{display:grid;grid-template-columns:repeat(4,1fr);margin:17px 0 30px;border:1px solid var(--line);border-radius:8px;background:#fff}.design-checks>div{padding:14px 18px;border-right:1px solid var(--line)}.design-checks>div:last-child{border:0}.design-checks span{display:block;font-size:12px;color:var(--muted)}.design-checks strong{display:block;font-size:18px;font-weight:600;font-variant-numeric:tabular-nums;margin-top:2px}.result-heading{display:flex;align-items:center;gap:10px;margin-bottom:18px}.result-heading>div{margin-right:auto}.result-heading .eyebrow{margin-bottom:3px}.key-results{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.key-results article{border:1px solid var(--line);padding:20px 16px;border-radius:8px;background:#fff}.key-results h3{font-size:13px;line-height:1.5;color:#405965;font-weight:500}.key-results strong{display:block;font-size:clamp(20px,2.5vw,31px);line-height:1.7;font-weight:600;letter-spacing:-.025em;font-variant-numeric:tabular-nums}.key-results strong small{font-size:13px;letter-spacing:0;font-weight:500;margin-left:4px;color:var(--muted)}.key-results p{font-size:11px;color:var(--muted);line-height:1.6;margin-top:5px}.key-results article:nth-child(3){background:#e1f1eb;border-color:#c9e3d8}.empty-results{display:flex;align-items:center;justify-content:center;gap:20px;border:1px dashed #bacdd1;border-radius:8px;padding:50px 30px;margin-top:18px;color:#687f8a}.empty-results span{font-size:30px}.empty-results p{font-size:14px;max-width:500px}.result-note{font-size:12px;line-height:1.85;color:#68818c;margin-top:18px;border-left:2px solid #b9cbc9;padding-left:12px}.status-banner{padding:12px 15px;background:#fff0d9;border:1px solid #e7c995;border-radius:6px;font-size:13px;margin-bottom:16px}.warnings{margin-top:18px;display:grid;gap:7px}.warnings p{font-size:12px;line-height:1.75;border-left:2px solid #d4a165;background:#fff7ec;padding:9px 13px;border-radius:0 5px 5px 0}.charts{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px}.charts article,.data-columns article,.winding-details{background:#fff;border:1px solid var(--line);border-radius:8px;padding:20px;min-width:0}.charts h3{font-size:15px}.charts p{font-size:11px;color:var(--muted);margin:4px 0 12px}.charts canvas{display:block;width:100%;height:auto;aspect-ratio:2.4}.chart-legend{display:flex;justify-content:center;gap:23px;font-size:11px}.chart-legend span:before{content:"";display:inline-block;width:13px;height:3px;vertical-align:middle;margin-right:6px;background:#149a81}.chart-legend span:nth-child(2):before{background:#d08443}.chart-legend span:nth-child(3):before{background:#697fcc}.data-columns{display:grid;grid-template-columns:1.1fr 1fr;gap:16px;margin-top:16px}.data-columns dl{font-size:13px;margin:12px 0 0}.data-columns dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:10px 0;border-bottom:1px solid #edf1f2}.data-columns dl>div:last-child{border-bottom:0}dt{color:var(--muted)}dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.loss-bar{margin:18px 0;font-size:12px;display:grid;grid-template-columns:1fr auto;gap:5px}.loss-bar label{color:var(--muted)}.loss-bar>div{grid-column:1/-1;height:7px;border-radius:10px;background:#edf2f3;overflow:hidden}.loss-bar i{display:block;background:#2aa78d;height:100%;border-radius:10px}.winding-details{margin-top:16px;font-size:13px}.winding-details summary{cursor:pointer;font-weight:600;font-size:14px}.winding-details p{color:var(--muted);margin:12px 0}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:9px 12px;white-space:nowrap}th{background:#f5f8f8;color:var(--muted);font-weight:500}.phase-badge{padding:3px 8px;background:#e6f5ed;border-radius:3px;color:#167956}.phase-1{background:#fff0e1;color:#a96422}.phase-2{background:#eaeffc;color:#4d68ad}.solver-report{font-size:11px;line-height:1.8;color:#748b96;margin-top:16px;font-variant-numeric:tabular-nums}.app-footer{display:flex;justify-content:space-between;gap:25px;padding:25px 28px;border-top:1px solid var(--line);color:#6d8591;font-size:12px}.app-footer a{text-decoration:none}.app-footer a:hover{text-decoration:underline}dialog{border:1px solid #adc6c9;border-radius:12px;max-width:690px;width:calc(100% - 32px);padding:30px;box-shadow:0 20px 100px #001b3f38;color:var(--ink)}dialog::backdrop{background:#031d29a6;backdrop-filter:blur(4px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.dialog-heading button{font-size:28px;min-width:44px}.dialog-heading h2{font-size:22px}#method-content p{font-size:14px;line-height:1.9;margin-bottom:16px}dialog>a{font-size:14px;color:#098670}.document{max-width:920px;margin:auto;padding:60px 28px}.document h1{font-size:30px;margin-bottom:16px}.document h2{font-size:23px;margin:36px 0 12px}.document p,.document ul,.document ol{font-size:15px;line-height:1.9;margin-bottom:18px}.document table{font-size:14px}.document td,.document th{white-space:normal;vertical-align:top}.document code{background:#e1eaea;padding:3px 6px;font-size:13px}.document .source{font-size:13px;color:var(--muted)}
@media(min-width:1550px){.workspace{grid-template-columns:375px minmax(0,1fr);gap:32px}.canvas-wrap{height:550px}.parameter-scroll{max-height:calc(100vh - 445px)}}
@media(max-width:1200px){.app-header{gap:22px;padding-inline:20px}.brand>span{display:none}.workspace{padding:22px 20px 40px;grid-template-columns:310px minmax(0,1fr);gap:20px}.compute-badge{font-size:10px}.run-status{gap:10px}.run-status h2{font-size:20px}.visual-toolbar{align-items:flex-start;flex-direction:column;gap:10px}.canvas-wrap{height:430px}.key-results{grid-template-columns:repeat(2,minmax(0,1fr))}.key-results strong{font-size:29px}.design-checks{grid-template-columns:1fr 1fr}.design-checks>div:nth-child(2){border-right:0}.design-checks>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.charts,.data-columns{grid-template-columns:1fr}.mesh-stat{margin-left:0}.parameter-scroll{min-height:300px}.header-actions{gap:10px}}
@media(max-width:850px){.workspace{grid-template-columns:1fr;padding:18px 20px 36px;gap:24px}.parameters{position:static}.parameter-scroll{max-height:480px;min-height:0}.field-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.field.wide{grid-column:1/-1}.run-controls{display:grid;grid-template-columns:1fr auto;align-items:center;gap:0 20px}.run-controls #validation{grid-column:1/-1}.run-buttons{min-width:300px}.resource-note{max-width:280px;margin:0}.app-title h1{font-size:20px}.privacy-strip{padding:10px 20px}.scope-label{display:none}.visual-toolbar{flex-direction:row;align-items:center}.canvas-wrap{height:460px}.design-checks{grid-template-columns:repeat(4,1fr)}.design-checks>div:nth-child(2){border-right:1px solid var(--line)}.design-checks>div:nth-child(-n+2){border-bottom:0}.charts,.data-columns{grid-template-columns:1fr 1fr}.app-footer{flex-wrap:wrap}.key-results{grid-template-columns:repeat(4,minmax(0,1fr))}.key-results article{padding:17px 12px}.key-results strong{font-size:25px}.parameter-tabs button{min-height:48px}}
@media(max-width:600px){.app-header{gap:12px;padding:13px 16px;flex-wrap:wrap;min-height:110px}.brand img{width:39px;height:39px}.app-title{flex:1;margin:0}.app-title h1{font-size:18px}.version{font-size:10px}.header-actions{flex-basis:100%;justify-content:space-between;flex-direction:row-reverse}.header-actions .quiet{padding:0;min-height:34px;font-size:12px}.languages button{min-height:30px;min-width:36px}.privacy-strip{font-size:11px;line-height:1.65;padding:10px 16px;align-items:flex-start}.privacy-strip .local-dot{margin-top:6px}.workspace{padding:16px 12px 28px;gap:24px}.panel-title{padding-inline:16px}.preset-row{padding:7px 16px 14px}.parameter-scroll{padding:18px 16px;max-height:400px}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 14px}.run-controls{display:block;padding:14px 16px}.run-buttons{min-width:0}.resource-note{margin-top:9px;max-width:none;font-size:11px}.primary{min-height:48px}.run-status h2{font-size:18px}.run-status p:not(.eyebrow){font-size:12px}.compute-badge{padding:6px 10px}.run-status{gap:14px}.visual-toolbar{padding:14px 16px;flex-direction:column;align-items:stretch}.view-options{gap:9px;font-size:11px}.view-options button{font-size:11px;min-height:32px}.canvas-wrap{height:350px}.diagram-caption{left:15px;right:15px;top:13px;font-size:10px;flex-wrap:wrap;max-width:90%}.model-strip{padding:11px 15px;gap:13px;font-size:11px}.mesh-stat{flex-basis:100%;font-size:10px}.design-checks{margin:14px 0 24px;grid-template-columns:1fr 1fr}.design-checks>div{padding:12px 16px}.design-checks>div:nth-child(2){border-right:0}.design-checks>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.design-checks strong{font-size:18px}.design-checks span{font-size:12px}.key-results{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.key-results article{padding:17px 14px}.key-results strong{font-size:27px}.key-results h3{font-size:12px}.key-results p{font-size:10px}.charts,.data-columns{grid-template-columns:1fr}.charts article,.data-columns article{padding:18px 16px}.result-heading{flex-wrap:wrap;gap:8px}.result-heading h2{font-size:19px}.result-heading .secondary{font-size:12px}.result-heading .quiet{font-size:12px;padding:6px}.result-note{font-size:11px;line-height:1.9}.empty-results{padding:30px 18px;gap:15px}.empty-results p{font-size:13px}.app-footer{padding:22px 16px;gap:14px;font-size:11px}.app-footer>span{order:3;width:100%;font-size:10px}.field-scale{width:95px;font-size:10px;bottom:18px;right:18px}.document{padding:32px 20px}.document h1{font-size:26px}.document h2{font-size:21px}}
@media(prefers-reduced-motion:no-preference){button,a{transition:background-color .15s,color .15s,border-color .15s}.primary:active{transform:translateY(1px)}}
@media print{.parameters,.header-actions,.privacy-strip,.file-actions,.result-heading button,.app-footer,dialog{display:none!important}.workspace{display:block;padding:0}.app-header{color:black;background:white}.brand{display:none}.canvas-wrap{height:360px;print-color-adjust:exact}.charts,.data-columns{break-inside:avoid}.key-results{break-inside:avoid}.results{margin-top:20px}}

/* Engineering labels stay readable at narrow widths and enlarged text sizes. */
.field label,.preset-row select,.parameter-tabs button,.view-options,.view-options button,.secondary,.file-actions button,.key-results h3,.data-columns dl,.winding-details,table{font-size:.875rem}
.brand small,.version,.version b,.eyebrow,.languages button,.scope-label,.resource-note,.compute-badge,.visual-toolbar>div>span,.diagram-caption,.field-scale,.mesh-stat,.key-results p,.charts p,.chart-legend,.solver-report,.app-footer,.app-footer>span{font-size:.75rem}
.field-help,.group-intro,.privacy-strip,.run-status p:not(.eyebrow),.warnings p,.result-note,.model-strip,.design-checks span{font-size:.8125rem}
.input-unit{font-size:.75rem}.document p,.document ul,.document ol{font-size:1rem}.input-wrap input:disabled{background:#f1f5f5;color:#667d87}.field .input-unit{max-width:58%;white-space:nowrap}
@media(max-width:600px){.parameter-scroll{max-height:min(360px,calc(100svh - 480px));min-height:150px}}
.export-dialog{max-width:850px}.export-dialog h2{font-size:18px;overflow-wrap:anywhere}.export-dialog p{font-size:14px;margin:10px 0;line-height:1.75}.export-dialog textarea{width:100%;min-height:260px;max-height:45vh;resize:vertical;padding:15px;font:13px/1.6 ui-monospace,Consolas,monospace;border:1px solid var(--line);border-radius:5px;white-space:pre;color:var(--ink);background:#f7faf9}.export-actions{display:flex;gap:12px;margin-top:14px}.export-actions .primary{flex:0 1 auto}.export-dialog #export-status{color:#087e67;min-height:24px}

/* Motor Lab: a dark, instrument-like working surface shared by all analysis routes. */
:root{color-scheme:dark;--paper:#09121b;--navy:#09121b;--ink:#e4edf1;--muted:#9bb0bd;--line:#293c49;--cyan:#56d9ba;--surface:#101f2b;--surface-raised:#152836;--radius:12px;--plot-bg:#101f2b;--plot-grid:#293d4b;--plot-text:#a3bac8}
body{background:var(--paper)}
.app-header{background:#0c1721;border-bottom:1px solid var(--line);gap:25px;min-height:88px}.app-title h1{font-size:21px;letter-spacing:.01em}.brand img{background:#f4f1e8}.header-actions a{text-decoration:none;display:inline-flex;align-items:center;min-height:42px}.header-actions .quiet{color:#b1c7d3}.header-actions .quiet:hover{color:#76e5c9}.version{color:#8ba4b4}.version b{color:#6ce2c3}.languages{border-color:#355061;background:#0a151f}.languages button{color:#b8c9d3}.languages button[aria-pressed=true]{background:#71ddc1;color:#09221f}
.privacy-strip{background:#102921;color:#a1ccbd;border-bottom:1px solid #244b3f;font-size:.8125rem}.scope-label{color:#a8bfb7}.local-dot{background:#62dfb7;box-shadow:0 0 10px #52d9b62e}
.workspace{gap:24px;padding-top:24px;grid-template-columns:355px minmax(0,1fr)}.parameters{background:var(--surface);border-color:var(--line);box-shadow:0 18px 50px #0002}.panel-title{padding-top:18px}.panel-title h2{font-size:17px}.section-number{color:#839cab}.preset-row label{font-size:.875rem;color:var(--muted)}.preset-row select{background:#0c1924;color:var(--ink);border-color:#36505f;font-size:.875rem}.parameter-tabs button{color:#9fb2bf;min-height:48px;background:#0e1b26}.parameter-tabs button[aria-selected=true]{background:#183830;color:#85e4cb;border-bottom-color:#6ce1c1}.parameter-scroll{padding:18px;scrollbar-color:#365160 transparent;max-height:calc(100vh - 438px);min-height:280px}
.field-grid{gap:18px 13px}.field label{font-size:.875rem;color:#c6d7df;font-weight:500}.input-wrap input,.input-wrap select,.field textarea,.save-form input{background:#091822;border:1px solid #395465;color:#edf6fa;border-radius:6px;font-size:15px;min-height:44px}.input-wrap input:focus,.input-wrap select:focus,.field textarea:focus,.save-form input:focus{outline:1px solid #61dabe;outline-offset:1px;background:#102934}.input-unit{color:#9db5c4}.input-wrap input:disabled,.input-wrap select:disabled{background:#10202a;color:#6f8795;opacity:.65}.field-help,.group-intro{color:#9bb1bf;font-size:.8125rem;line-height:1.8}.group-intro{border-left-color:#468f80}.field-help a,a.field-help{color:#79c9b8}.run-controls{background:#122632;border-color:#35515e}.primary{background:#6adfc0;color:#092820;border:1px solid #7be9cd;font-weight:700;justify-content:center;gap:13px}.primary:hover{background:#9cebd5;color:#092820}.primary:disabled{background:#396757;color:#c5d9d2;border-color:#476f60}.secondary{background:#142d3b;color:#cbe0e9;border:1px solid #41606e;font-size:.875rem;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-height:42px}.secondary:hover{background:#1f4050;border-color:#5f8591}.quiet:hover{color:#8ce9cf}.resource-note{color:#9bb2bf;font-size:.75rem}#validation:not(:empty){color:#f1b384}.file-actions{background:#0d1b26}.file-actions button{color:#b0c4cf}.file-actions button:hover{background:#18303f;color:#8de4ce}
.run-status{padding-bottom:20px}.run-status h2{font-size:22px;font-weight:600;color:#e2eef4}.run-status p:not(.eyebrow){color:#a3bac8}.eyebrow{color:#7aa294;font-size:.75rem;letter-spacing:.14em}.compute-badge{background:#10231e;color:#96ceb8;border-color:#305343;font-size:.75rem}.run-status progress::-webkit-progress-bar{background:#25404b}.run-status progress::-webkit-progress-value{background:#6ae0bf}
.visual-panel{background:var(--surface);border-color:#345160}.visual-toolbar{background:#142633;border-bottom-color:#344e5c}.visual-toolbar h2{font-size:16px}.visual-toolbar>div>span{color:#9bb8c5;font-size:.8125rem}.view-options{font-size:.875rem;color:#adbecb}.view-options button{background:#243b4b;color:#abc1ce;font-size:.875rem}.view-options button[aria-pressed=true]{background:#315748;color:#c3f4e1}.view-options input{accent-color:#64dfb9}.canvas-wrap{height:455px;background:radial-gradient(ellipse at 50% 45%,#173743 0%,#0c212d 60%,#0a1823 100%)}.diagram-caption{color:#b2cad6;letter-spacing:0}.model-strip{background:#11222f;color:#b0c3ce;border-color:#2e4654;gap:18px}.clearance-note{padding:0 20px 13px;background:#11222f;color:#9ab3c2;font-size:.8125rem;line-height:1.8}.design-checks{background:var(--surface);border-color:#2c4857;margin:16px 0 28px}.design-checks>div{border-color:#2c4857}.design-checks strong{color:#d2ecef;font-size:19px}.design-checks span{color:#9db7c5;font-size:.8125rem}.design-checks>div:first-child strong{color:#88e3c8}
.result-heading h2{font-size:23px}.key-results article{background:var(--surface);border-color:#2d4655;padding:19px 17px}.key-results h3{color:#aac1ce;font-size:.875rem}.key-results strong{color:#eff7fa;letter-spacing:-.025em}.key-results strong small{color:#a9c0cc}.key-results p{color:#92adbb;font-size:.75rem}.key-results article:nth-child(3){background:#153d32;border-color:#397462}.key-results article:nth-child(3) strong{color:#a8f1d7}.empty-results{background:#0f1d29;border-color:#39505d;color:#a4bac7}.status-banner{color:#f1cc98;background:#3a2b1c;border-color:#6f5537}.warnings p{background:#30271c;border-left-color:#cd9e60;color:#d9c5a7;font-size:.8125rem}.result-note{color:#9cb4c2;border-left-color:#3b655a;font-size:.8125rem}.charts article,.data-columns article,.winding-details{background:var(--surface);border-color:#2d4655}.charts h3{font-size:16px}.charts p{color:#a4b9c6;font-size:.8125rem}.chart-legend{color:#b4c6d0}.data-columns dl{font-size:.875rem}.data-columns dl>div{border-bottom-color:#2a3d4a}dt{color:#a1b9c6}dd{color:#deedf4}.loss-bar label{color:#a5bdc9}.loss-bar>div{background:#293f4c}.loss-bar i{background:#5fd4b0}.winding-details summary{color:#cde3ec;font-size:.8755rem}.winding-details p{color:#a3bbc8}.solver-report{color:#97b3c3}.table-scroll{border:1px solid #304652;border-radius:7px}table{font-size:.875rem}th{background:#172c39;color:#b4cbd8}td{color:#d5e4eb}th,td{border-color:#2b4250;padding:11px 13px}.phase-badge{background:#214c3e;color:#a3ead2}.phase-1{background:#503926;color:#efd09e}.phase-2{background:#2d3558;color:#c0c9f3}.app-footer{color:#9cb6c6;border-color:#2b414f}.app-footer a{color:#a5c2d0}
dialog{background:#142733;border-color:#3e6873;color:#deedf4;box-shadow:0 20px 100px #0008}dialog>a{color:#88e4c8}.export-dialog textarea{color:#cbdee7;background:#091823;border-color:#3a5866}.export-dialog #export-status{color:#9ce8cd}.document p,.document ul,.document ol{color:#bacfdb}.document code{background:#264150;color:#bcf1df}.document a{color:#91dccc}.document .source{color:#94afbd}.skip{background:#163728;color:#d2fae8}
.combination-tools{padding:12px;background:#122d33;border:1px solid #2f575c;border-radius:8px;margin-bottom:20px}.combination-tools>div{display:flex;flex-wrap:wrap;gap:8px}.combination-tools button{font-size:.8125rem;padding:8px;flex:1;white-space:normal;line-height:1.6}.combination-tools #combination-status{font-size:.8125rem;line-height:1.8;color:#b4d6df;margin-top:10px;font-variant-numeric:tabular-nums}
.field-grid+.combination-tools{margin-top:20px;margin-bottom:0}.material-status{font-size:.8125rem;line-height:1.9;color:#b3cbbd;background:#152d26;border:1px solid #355348;padding:13px;border-radius:7px;margin-top:18px}.document table{margin-bottom:20px}.document .table-scroll{margin-bottom:18px}
.model-strip .air{background:#0a1b28;border:1px solid #8da8b6}
.chart-range{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center;padding:15px 18px;border:1px solid #34505f;background:#102431;border-radius:8px}.chart-range label{display:flex;gap:8px;align-items:center;font-size:.875rem;color:#b4cbd7;flex-wrap:wrap}.chart-range input{width:105px;background:#091822;border:1px solid #3c5969;color:#e8f4fa;border-radius:5px;padding:7px 10px;font-size:.875rem}.chart-range p{font-size:.8125rem;color:#9cb8c8;flex-basis:100%}
.result-save{margin-top:22px;padding:18px;border:1px solid #325447;background:#122b24;border-radius:10px}.save-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.save-form label{font-size:.875rem;color:#b6d3c6}.save-form input{padding:10px 12px;flex:1;min-width:180px}.save-form .primary{flex:0 1 auto}.result-save p{color:#a5c8b9;font-size:.8125rem;line-height:1.8;margin-top:10px}.result-save #save-status{color:#abefcf;min-height:0}.performance-section{margin-top:28px;min-width:0}.performance-section>h3,.performance-section>h2{font-size:21px;color:#daecf3}.map-summary{font-size:.875rem;color:#a1c9c2;line-height:1.9;margin:7px 0 13px;font-variant-numeric:tabular-nums}.performance-chart{background:var(--surface);padding:20px;border:1px solid #304d5d;border-radius:10px;margin-top:15px;min-width:0}.performance-chart h3{font-size:17px;color:#d8e9f1;line-height:1.7}.performance-chart>p{font-size:.875rem;color:#a3bdcc;line-height:1.85;margin:4px 0 14px}.performance-chart canvas{width:100%;height:370px;display:block}.efficiency-legend{display:flex;flex-wrap:wrap;gap:8px 13px;font-size:.75rem;margin:14px 0 3px;color:#b2c9d5}.efficiency-legend>span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.efficiency-legend i{display:inline-block;width:14px;height:9px;border-radius:2px}.performance-section .result-note{margin-top:17px}
.comparison-workspace{max-width:1580px;margin:auto;padding:32px 28px 60px;min-width:0}.saved-panel,.comparison-numbers{background:var(--surface);border:1px solid #2d4857;padding:24px;border-radius:12px}.section-heading{display:flex;gap:20px;align-items:center;justify-content:space-between}.section-heading .primary{flex:none}.section-intro{margin:12px 0 17px;font-size:.9375rem;color:#a8c0cd;line-height:1.9}#compare-status{font-size:.875rem;color:#d7cc9d;line-height:1.8;margin:14px 0}.saved-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.saved-list>.empty-results{grid-column:1/-1}.saved-card{border:1px solid #314d5b;background:#10202b;border-radius:9px;overflow:hidden;min-width:0}.saved-card.selected{background:#13312c;border-color:#68baa1}.saved-select{display:flex;gap:12px;padding:16px 14px;cursor:pointer;align-items:flex-start}.saved-select input{min-height:18px;min-width:18px;margin-top:4px;accent-color:#70d7b3}.saved-select strong{display:block;font-size:15px;font-weight:600;line-height:1.6;overflow-wrap:anywhere}.saved-select small{display:block;color:#a1bac5;font-size:.8125rem;line-height:1.9;margin-top:6px}.saved-actions{display:flex;flex-wrap:wrap;gap:0 5px;border-top:1px solid #2b4750;padding:4px 8px}.saved-actions .quiet{font-size:.8125rem;text-decoration:none;display:inline-flex;align-items:center;padding:6px;min-height:36px;color:#a5c9c1}.saved-actions .danger{color:#d9a294;margin-left:auto}.comparison-numbers{margin-top:24px}.comparison-numbers table{min-width:640px;table-layout:fixed}.comparison-numbers thead th{border-top:3px solid var(--series-color,#314753);font-weight:600;color:#d3e6ee;white-space:normal;overflow-wrap:anywhere;width:21%}.comparison-numbers thead th:first-child{width:220px}.comparison-numbers tbody th{font-weight:400;font-size:.8125rem;white-space:normal}.comparison-numbers td{white-space:normal;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.comparison-numbers .different td{background:#193b38;color:#b7ead7}.table-section th{font-weight:700!important;color:#92dec6;padding-top:18px}.comparison-legend{display:flex;flex-wrap:wrap;gap:10px 24px;margin:16px 0;color:#cbdee9;font-size:.875rem}.comparison-legend span::before{content:'';display:inline-block;vertical-align:middle;width:21px;height:4px;background:var(--series-color);margin-right:8px}.comparison-contours{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.comparison-contours .performance-chart{margin-top:0}.comparison-contours canvas{height:330px}.contour-heading{margin:30px 0 16px}
@media(min-width:1550px){.workspace{grid-template-columns:375px minmax(0,1fr)}.canvas-wrap{height:505px}}
@media(max-width:1200px){.workspace{grid-template-columns:330px minmax(0,1fr);gap:19px}.saved-list{grid-template-columns:repeat(2,minmax(0,1fr))}.save-form input{flex-basis:70%}.save-form .primary,.save-form .secondary{flex:1}.header-actions{gap:8px}.header-actions .quiet{font-size:.8125rem}.performance-chart{padding:16px}.performance-chart canvas{height:350px}}
@media(max-width:850px){.workspace{grid-template-columns:1fr}.parameter-scroll{max-height:430px;min-height:0}.canvas-wrap{height:440px}.comparison-workspace{padding:22px 20px 40px}.comparison-contours{grid-template-columns:1fr}.section-heading{flex-wrap:wrap}.app-header{gap:14px}.brand>span{display:none}}
@media(max-width:600px){.app-title h1{font-size:18px}.header-actions{flex-direction:row;justify-content:space-between;gap:6px}.header-actions .quiet{font-size:.8125rem}.app-header{padding:13px}.workspace{padding:16px 12px 32px}.parameter-scroll{max-height:min(360px,calc(100svh - 465px));min-height:190px;padding:16px}.canvas-wrap{height:350px}.clearance-note{padding-inline:15px;font-size:.75rem}.result-save{padding:15px}.save-form input{min-width:0;flex-basis:100%;width:100%}.save-form .primary,.save-form .secondary{min-width:100%;font-size:.875rem}.performance-chart{padding:12px}.performance-chart canvas{height:305px}.performance-chart>p{font-size:.8125rem}.map-summary{font-size:.8125rem}.saved-list{grid-template-columns:1fr}.comparison-workspace{padding:20px 12px 38px}.saved-panel,.comparison-numbers{padding:17px 14px}.section-heading .primary{width:100%}.section-heading h2{font-size:18px}.comparison-numbers thead th:first-child{width:185px}.comparison-numbers table{min-width:540px}.efficiency-legend{gap:8px;font-size:.75rem}}
@media print{:root{color-scheme:light;--ink:#172d36;--muted:#47616e;--paper:#fff;--plot-bg:#fff;--plot-grid:#dae3e8;--plot-text:#446270}body,.app-header{background:white;color:black}.result-save,.saved-panel,.combination-tools{display:none!important}.performance-chart,.comparison-numbers,.key-results article,.charts article,.data-columns article{background:white;color:black;print-color-adjust:exact}.performance-chart{break-inside:avoid}}
/* The two current pickers share one selected, already-computed result. */
.current-selector{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;padding:14px 20px;border-bottom:1px solid var(--line);background:var(--surface-raised);min-width:0}
.current-selector label{font-size:.875rem;color:var(--ink);font-weight:500}
.current-selector select{max-width:100%;min-width:180px;min-height:44px;padding:8px 12px;border:1px solid #41606e;border-radius:6px;background:#091822;color:#e4edf1;font:inherit;font-size:.9375rem}
.current-selector select:disabled{opacity:.65}
.current-selector p{font-size:.875rem;line-height:1.75;color:var(--muted);margin:0;overflow-wrap:anywhere}
.current-selector p[data-t]{flex-basis:100%}
.result-current-selector{border:1px solid var(--line);border-radius:8px;margin:14px 0 20px}
@media(max-width:600px){.current-selector{padding:14px 15px;gap:8px 12px}.current-selector select{min-width:0;flex:1}.current-selector p{flex-basis:100%}}
