:root{--ink:#172d49;--blue:#165fce;--line:#d5dfe9;--muted:#65778d;--bg:#f2f5f9}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit;color:inherit}button{cursor:pointer;border:1px solid #bdcbdc;background:white;border-radius:7px;padding:8px 11px;min-height:39px;font-size:13px}button:hover{background:#eef5ff}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,svg:focus-visible{outline:3px solid #80b4ff;outline-offset:3px}button[aria-pressed=true]{color:var(--blue);border-color:var(--blue);background:#eef5ff}[hidden]{display:none!important}header{background:white;border-bottom:1px solid var(--line)}.header-inner{max-width:1540px;margin:auto;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:15px}.brand{font-size:21px;font-weight:650;color:var(--ink);display:flex;gap:12px;align-items:center}.brand span{font:32px Georgia;color:var(--blue)}.header-inner>a:last-child{font-size:13px}main{max-width:1540px;margin:auto;padding:26px 22px 35px}.heading{position:relative;padding-right:90px;margin-bottom:24px}h1{font-size:28px;line-height:1.25;font-weight:650;margin:0;letter-spacing:-.025em}h2{font-size:16px;font-weight:650;margin:0}h3{font-size:14px;margin:20px 0 10px}h3:first-child{margin-top:0}.eyebrow{font-size:13px;color:var(--blue);margin:0 0 5px;font-weight:600}.subtitle,.hint{color:var(--muted);font-size:13px;margin:10px 0}.badge{position:absolute;right:0;top:12px;border:1px solid #c9dcf6;color:var(--blue);background:#eef5ff;border-radius:7px;padding:6px 10px;font-size:12px}.workbench{display:grid;grid-template-columns:245px minmax(280px,1fr) 265px;gap:14px;align-items:start}.pane{background:white;border:1px solid var(--line);border-radius:11px;overflow:hidden;min-width:0}.pane-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 17px;border-bottom:1px solid var(--line)}.pane-head button{min-height:31px;padding:4px 9px;font-size:12px}.pane-body{padding:17px}.unit-row{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:13px}select{border:1px solid #b9c9dc;border-radius:6px;background:#fbfcfe;padding:5px}#fields label{display:block;font-size:13px;margin-top:13px}input[type=text]{width:100%;padding:9px 10px;border:1px solid #b9c9dc;border-radius:7px;background:#fbfcfe;margin-top:5px;min-width:0}input[aria-invalid=true]{border-color:#ad2e28;background:#fff1f0}.field-row{display:flex;align-items:center;gap:7px}.field-row span{min-width:29px;color:var(--muted);font-size:12px}.fixed{display:block;color:var(--blue);padding:8px;background:#f5f8fc;border-radius:7px;margin-top:5px}.actions{display:grid;gap:7px;margin-top:18px}.choices{display:grid;grid-template-columns:1fr 1fr;gap:8px}.choices button{display:flex;flex-direction:column;gap:2px;padding:12px 6px}.choices b{font-size:20px}.choices span{font-size:11px}.shape-list{display:grid;gap:7px}.shape-list button{text-align:left;display:flex;gap:10px;align-items:center}.shape-icon{font-size:23px;line-height:1;width:25px;text-align:center;color:var(--blue)}#scene{display:block;width:100%;height:480px;touch-action:none;user-select:none}#scene text{font:15px system-ui,sans-serif;fill:var(--ink);paint-order:stroke;stroke:white;stroke-width:5;stroke-linejoin:round}#scene .angle-label{fill:var(--blue);font-size:14px}.scene-footer{padding:12px 15px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px;color:var(--muted)}.scene-footer label{white-space:nowrap;display:flex;align-items:center;gap:5px}.calc-bar{padding:16px;border-top:1px solid var(--line)}.calc-bar h3{margin:0 0 9px}#calc-types{display:flex;gap:7px;flex-wrap:wrap}.calc-chip{border:1px solid #d5e2f4;color:var(--blue);background:#f5f8fc;padding:5px 10px;border-radius:6px;font-size:12px}.solution-pane{margin-top:20px}#status{font-size:12px;color:var(--muted)}#status[data-state=solved]{color:#247447}#status[data-state=invalid]{color:#ad2e28}.message{padding:13px 16px;border-radius:7px;background:#f5f8fc;margin:0}.message.error{color:#ad2e28;background:#fff4f2}.message.warning{color:#8e651e;background:#fff8e8}.given{font-size:14px;margin:0 0 15px}.steps{display:grid;gap:12px}.step{border-left:3px solid #d5e2f4;padding:1px 0 1px 13px}.step p{margin:0 0 5px}.step .numbers{font-size:14px;color:var(--blue)}.answer{margin-top:18px;background:#eef5ff;border:1px solid #c9dcf6;border-radius:8px;padding:16px}.answer h3{margin:0 0 12px}.results{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}.result{background:white;border-radius:6px;padding:10px}.result small{display:block;color:var(--muted)}.result strong{font-size:17px;font-weight:600}.result.known{background:transparent;border:1px solid #d8e5f7}.footnote{font-size:12px;color:var(--muted);margin-top:18px}.fig-info{font-size:13px;color:var(--muted);margin:12px 0 0}@media(max-width:1100px){.workbench{grid-template-columns:220px minmax(250px,1fr) 220px;gap:10px}.pane-body,.pane-head{padding:13px}main{padding:22px 14px}.scene-footer{flex-wrap:wrap}}@media(max-width:850px){.workbench{grid-template-columns:1fr 1fr}.canvas-pane{grid-column:1/-1;grid-row:1}.toolbox{grid-column:2}.inspector{grid-column:1}#scene{height:390px}}@media(max-width:480px){.workbench{grid-template-columns:1fr}.canvas-pane,.inspector,.toolbox{grid-column:1}.toolbox{grid-row:2}.inspector{grid-row:3}main{padding:18px 10px}.heading{padding-right:0}.badge{display:none}h1{font-size:24px}.header-inner{padding:14px 12px}.brand{font-size:19px}#scene{height:320px}.pane-head{flex-wrap:wrap}.scene-footer label{white-space:normal}}@media print{header,.inspector,.toolbox,.calc-bar,.scene-footer,.footnote{display:none}.workbench{display:block}.pane{break-inside:avoid}main{padding:0}.heading{margin:12px 0}body{background:white}}
.extra-fields{margin-top:18px;border-top:1px solid var(--line);padding-top:12px}.extra-fields summary{cursor:pointer;color:var(--blue);font-size:13px;font-weight:600}.construction-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:13px;margin:0 0 15px}.construction-row select{max-width:100%}
#fields select{display:block;width:100%;padding:9px;margin-top:5px}.primary{background:var(--blue);color:white;border-color:var(--blue)}.primary:hover{background:#1255b8}#scene{height:380px}.toolbar{display:flex;gap:7px;flex-wrap:wrap}.table-scroll{overflow:auto;max-width:100%}table{border-collapse:collapse;width:100%;font-size:13px}th,td{border:1px solid #c9d4e2;padding:9px 10px;vertical-align:middle}thead th{background:#f1f6fd;font-weight:600;white-space:pre-line;min-width:90px}td:nth-last-child(2),td:nth-last-child(3){white-space:nowrap}.section-row th{background:#f5f8fc;text-align:left}.total{font-weight:600;background:#eef5ff}.scope{display:block;margin:0 0 18px;font-size:13px}.scope select{margin-left:10px}.file-button{border:1px solid #bdcbdc;border-radius:7px;padding:8px 11px;font-size:13px;cursor:pointer}.standards{margin-top:20px;font-size:13px}.standards summary{padding:15px;cursor:pointer;font-weight:600}#feedback{font-size:13px;color:var(--blue)}td button{padding:4px 7px;min-height:30px;font-size:11px;margin:2px}button:disabled{opacity:.5;cursor:default}@media print{.no-print,.toolbar,.standards,.solution-pane:not(.report-pane),.canvas-pane,.scope{display:none!important}.report-pane{border:0}.pane-head{border:0;padding:0}.report-pane .pane-body{padding:0}.table-scroll{overflow:visible}thead{display:table-header-group}tr{break-inside:avoid}.pane{break-inside:auto}h1{font-size:22px}table{font-size:10px}th,td{padding:5px}.badge{display:none}.hint{font-size:10px}}
.product-icon{width:32px;height:34px;flex:0 0 32px}.quantity-help{line-height:1.45;font-size:12px}#products button{min-height:47px}
.product-icon>g{stroke-width:6;fill:#bbd3f7}
.lap-toggle{display:flex!important;align-items:center;gap:8px;margin-top:18px!important}.lap-toggle input{width:17px;height:17px;accent-color:var(--blue)}
.designation-fraction{display:inline-flex;flex-direction:column;text-align:center;vertical-align:middle;margin:0 5px;font-size:12px}.designation-top{border-bottom:1px solid var(--ink);padding:0 3px}.designation-bottom{padding:0 3px}.spec-name{min-width:320px;text-align:center}.mark-name{text-decoration:underline;text-align:center}.section-row{background:#f5f8fc}
.assembly-count{width:64px!important;text-align:center;margin:0!important;padding:5px!important;min-height:30px}.assembly-row{font-weight:600}.assembly-row td{text-align:center}.assembly-row input[aria-invalid=true]{border-color:#ad2e28}.assembly-row .mark-name{font-weight:600}
