:root{--border:var(--border-strong);--accent:var(--orange);font:14px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);color-scheme:dark}
@media(max-width:760px){.chart-panel.panel{padding-inline:12px}}
*{box-sizing:border-box}body{margin:0}h1,h2,h3,p{margin:0}button,input,select{font:inherit;color:var(--ink)}button,input,select{border:1px solid #475161;border-radius:6px;background:#1b202a}button{padding:7px 11px;cursor:pointer}button:hover{background:#29313d;border-color:#97a4b5}button:disabled{opacity:.45;cursor:not-allowed}input,select{padding:6px 9px;max-width:100%;min-width:0}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--blue);outline-offset:3px}input[type=number]{font-variant-numeric:tabular-nums}label{font-size:11px;color:var(--muted);display:flex;flex-direction:column;gap:5px}p,small{color:var(--muted)}strong{font-weight:550}a{color:var(--muted)}h1{font-size:21px;letter-spacing:-.4px}h2{font-size:23px;letter-spacing:-.4px;font-weight:550}h3{font-size:15px;font-weight:600}.accent{color:var(--accent)}.review-banner{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1px;color:var(--muted);padding:5px 28px;border-bottom:1px solid var(--border)}.review-banner>span{letter-spacing:0}header{height:57px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding:0 28px}.title,.utilities{display:flex;align-items:center;gap:18px}.title>span{padding-right:18px;border-right:1px solid var(--border);color:var(--muted);font-size:17px;font-weight:600}.utilities{gap:6px}.utilities button{height:32px;min-width:34px}main{max-width:1460px;margin:auto;padding:17px 28px}.intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:16px}.intro p{font-size:13px;margin-top:3px}.modeled{font-size:10px;letter-spacing:1px;white-space:nowrap;color:var(--muted)}.panel{border:1px solid var(--border);border-radius:12px;background:var(--panel)}.identity{display:grid;grid-template-columns:1.1fr .65fr 1.15fr auto;gap:24px;align-items:center;padding:11px 18px;margin-bottom:14px}.identity select{font-size:14px}.number-unit{display:flex;align-items:center;gap:8px}.number-unit input{width:100px;font-size:15px}.string-details{display:flex;flex-direction:column;gap:3px}.string-details strong{font-size:16px}.string-details small{font-size:12px;margin-left:10px}.string-details>span{font-size:11px;color:var(--muted)}#reset{font-size:12px}.workbench{padding:15px 18px 0;margin-bottom:14px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.section-heading p{font-size:12px;margin-top:3px}.direction-key{font-size:12px;color:var(--muted);display:flex;gap:22px}.bench-stage{position:relative;height:376px;margin-top:12px}.attached-height{position:absolute;top:0;width:240px;z-index:1}.nut-height{left:0}.relief-height{left:36%;transform:translateX(-45%)}.saddle-height{right:0}.control-label{display:flex;align-items:center;justify-content:space-between;gap:10px}.control-label label{font-size:13px;color:var(--ink)}.control-value{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--muted)}.control-value input{width:77px;text-align:right;font-size:14px;padding:4px 6px}.control-value button{padding:3px 4px;border:0;background:none;color:var(--muted);font-size:14px}.control.active .control-label label,.control.active .control-value input{color:var(--accent)}.control-note{font-size:10px;margin-top:4px;color:var(--muted)}.side-view{position:absolute;left:0;right:0;top:52px;height:202px}#side-drawing{width:100%;height:100%;display:block;overflow:visible}.handle{outline:none;touch-action:none;cursor:ns-resize}.handle.horizontal{cursor:ew-resize}.handle .hit-area{fill:transparent}.handle .handle-ring{fill:var(--panel);stroke:#aab8c9;stroke-width:1.6}.handle .handle-core{fill:#b9c5d5}.handle.active .handle-ring{stroke:var(--accent)}.handle.active .handle-core{fill:var(--accent)}.handle:hover .handle-ring,.handle:focus .handle-ring{stroke:var(--blue);stroke-width:3}.handle-arrow{stroke:#a8b6c8;fill:none;stroke-width:1.3}.handle.active .handle-arrow{stroke:var(--accent)}.attached-contact{position:absolute;bottom:0;width:270px}.nut-contact{left:0}.saddle-contact{right:0}.attached-contact>p{display:flex;justify-content:space-between;font-size:10px;margin-top:-4px}.contact-drawing{display:block;width:100%;height:60px;overflow:visible}.bench-note{position:absolute;left:33%;right:28%;bottom:12px;color:var(--muted);font-size:11px;text-align:center}.bench-note p+p{margin-top:4px}.bench-note p:last-child{margin-top:13px;font-size:10px}.bench-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--border);margin-top:12px;padding:9px 0;font-size:11px;color:var(--muted)}.text-button{padding:0;border:0;background:none;text-decoration:underline;text-underline-offset:3px;font-size:11px;color:var(--muted)}.phone-selection{display:none}.chart-panel{padding:15px 18px 5px;margin-bottom:14px;overflow:hidden}.graph-tools{display:flex;gap:5px}.graph-tools button{height:28px;padding:3px 7px;min-width:28px;font-size:12px;background:transparent}.legend{display:flex;gap:20px;margin:10px 0 0;font-size:11px;color:var(--muted)}.legend>span{display:flex;align-items:center;gap:6px}.legend i{width:24px;border-top:2px solid var(--accent)}.legend i.reference{border-top-style:dashed;border-top-color:#b3c0d0}.legend .stable-axis{margin-left:auto;font-size:10px}#error-plot{height:218px}#clipping-notice{font-size:11px;color:#eec268}.report{padding:14px 18px;margin-bottom:14px}.report-heading{display:flex;justify-content:space-between;align-items:center}.report-heading label{flex-direction:row;align-items:center;gap:8px}.report-heading select{padding-block:3px;width:74px;font-size:12px}.report-grid{display:grid;grid-template-columns:minmax(250px,2fr) 1fr 1fr 1fr 1.3fr;gap:24px;margin-top:12px;align-items:start}.report-explanation{max-width:420px}.report-explanation strong{font-size:13px}.report-explanation p{font-size:11px;margin-top:4px}.report-metric{display:flex;flex-direction:column;gap:3px;font-variant-numeric:tabular-nums}.report-metric>span{font-size:11px;color:var(--muted)}.report-metric strong{font-size:22px;font-weight:500}.report-metric small{font-size:10px}.action-metric{padding-left:18px;border-left:1px solid var(--border)}.listen{padding:0 18px;margin-bottom:14px}.listen summary,.assumptions summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:13px 0;font-size:14px}.listen summary::-webkit-details-marker,.assumptions summary::-webkit-details-marker{display:none}.listen summary>span{font-size:11px;color:var(--muted)}.listen summary b{font-weight:400;font-size:20px;margin-left:15px;display:inline-block}.listen[open] summary b{transform:rotate(45deg)}.listen-body{border-top:1px solid var(--border);padding:13px 0;display:grid;grid-template-columns:240px 1fr;gap:24px}.listen-body>div:first-child{display:grid;grid-template-columns:1fr 90px;gap:10px;align-items:center;border-right:1px solid var(--border);padding-right:18px}.listen-body select{font-size:12px}.listen-body svg{width:90px}.listen-body p{font-size:12px;margin-top:6px}.listen-body small{font-size:11px}.audio-buttons{display:flex;gap:8px;margin:12px 0}.audio-buttons button{font-size:12px}#play-current{color:var(--accent);border-color:#9e721b}#audio-status:empty{display:none}.assumptions{background:transparent;padding:0 18px}.assumptions summary{font-size:12px;color:var(--muted)}.assumptions>div{font-size:13px;max-width:900px;padding-bottom:12px}.assumptions p{margin:10px 0}footer{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;padding:13px 0 0}[hidden]{display:none!important}
@media(max-width:1000px){main{padding-inline:18px}.identity{grid-template-columns:1fr .7fr auto;gap:16px}.string-details{grid-column:1/3;grid-row:2;flex-direction:row;align-items:center;gap:15px}.identity #reset{grid-column:3;grid-row:1/3}.attached-height{width:210px}.attached-contact{width:235px}.relief-height{left:45%}.bench-note{left:32%;right:32%;bottom:5px;font-size:10px}.bench-stage{height:376px}.report-grid{grid-template-columns:repeat(4,1fr);gap:18px}.report-explanation{grid-column:1/-1;max-width:none}.legend .stable-axis{display:none}.listen-body{grid-template-columns:205px 1fr}.listen-body>div:first-child{display:flex;flex-direction:column;align-items:stretch}.listen-body svg{height:66px;width:116px;margin:auto}.direction-key{font-size:10px;gap:10px}}
@media(max-width:760px){header{padding:0 14px;height:54px}.review-banner{padding-inline:14px;font-size:9px}.review-banner>span{display:none}.title>span{display:none}h1{font-size:19px}.utilities{gap:5px}.utilities button{padding:4px 6px;min-width:29px;height:30px}main{padding:13px 12px}h2{font-size:21px}.intro{display:block;margin-bottom:12px}.intro p{font-size:12px}.modeled{display:none}.identity{padding:10px 12px;grid-template-columns:1.2fr .75fr;gap:10px}.identity label{font-size:10px}.identity select{font-size:12px;padding:6px}.identity .number-unit input{width:78px;font-size:13px}.number-unit{gap:5px}.string-details{grid-column:1/-1;grid-row:2;gap:6px;flex-wrap:wrap}.string-details strong{font-size:13px}.string-details small{font-size:11px;margin-left:6px}.string-details>span{font-size:9px}.identity #reset{grid-column:1/-1;grid-row:3;justify-self:end;padding:0;border:0;background:none;color:var(--muted);font-size:10px;text-decoration:underline}.workbench{padding:11px 12px 0;margin-bottom:12px}.section-heading h3{font-size:13px}.section-heading p{font-size:10px}.direction-key{display:none}.bench-stage{height:auto;display:flex;flex-direction:column;margin-top:5px}.side-view{position:relative;top:auto;left:auto;right:auto;order:1;height:202px}.attached-height,.attached-contact{position:relative;top:auto;left:auto;right:auto;bottom:auto;transform:none;width:100%;display:none}.workbench[data-part=nut] [data-part=nut],.workbench[data-part=relief] [data-part=relief],.workbench[data-part=saddle] [data-part=saddle]{display:block}.attached-height{order:3;padding-top:10px}.attached-contact{order:4;padding-top:14px}.control-label label{font-size:13px}.control-note{font-size:10px}.control-value input{font-size:14px;width:77px;padding:7px 6px;min-height:34px}.control-value button{padding:6px}.control-value{font-size:11px}.contact-drawing{height:58px}.phone-selection{display:flex;order:2;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);padding:2px 0 9px;font-size:10px;color:var(--muted)}#selected-part{color:var(--ink);font-size:12px}.bench-note{display:none}.bench-footer{font-size:9px;display:block;margin-top:10px;padding:8px 0}.bench-footer .text-button{display:block;margin-top:5px;font-size:10px}.chart-panel{padding:12px 10px 3px;margin-bottom:12px}.chart-panel .section-heading{gap:7px}.graph-tools{gap:3px}.graph-tools button{height:27px;min-width:26px;padding:2px 4px;font-size:11px}.legend{font-size:10px;gap:16px;margin-top:10px}#error-plot{height:205px}.report{padding:12px;margin-bottom:12px}.report-heading h3{font-size:13px}.report-grid{grid-template-columns:repeat(3,1fr);gap:13px 8px}.report-explanation{grid-column:1/-1}.report-explanation strong{font-size:12px}.report-explanation p{font-size:10px}.report-metric>span{font-size:10px}.report-metric strong{font-size:21px}.action-metric{grid-column:1/-1;display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:8px;border-left:0;padding:10px 0 0;border-top:1px solid var(--border)}.action-metric strong{font-size:16px}.action-metric small{width:100%}.listen{padding:0 12px}.listen summary{font-size:13px}.listen summary>span{font-size:0}.listen summary b{font-size:20px}.listen-body{display:block}.listen-body>div:first-child{display:flex;flex-direction:row;border:0;padding:0;margin-bottom:10px;align-items:center}.listen-body label{flex:1}.listen-body svg{width:90px;height:65px;margin:0}.listen-body p{font-size:11px}.audio-buttons{gap:5px}.audio-buttons button{font-size:10px;padding:7px 5px}.assumptions{padding:0 12px}.assumptions summary{font-size:11px}.assumptions p{font-size:12px}footer{display:block;font-size:9px}footer a{display:block;margin-top:4px}}
