:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:14px;color-scheme:light;--page:#f4f5f3;--panel:#fff;--subtle:#f0f2ef;--text:#272e29;--muted:#69726b;--line:#dce1db;--accent:#334e3c;--canvas:#f8faf7;--blue:#287fc4;--green:#299a62;--purple:#8061b2;--amber:#9c6828;--warn:#fff7e7}
:root[data-theme=dark]{color-scheme:dark;--page:#161a17;--panel:#1e2420;--subtle:#29312b;--text:#e5eae5;--muted:#a8b4aa;--line:#39453b;--accent:#b4d4bc;--canvas:#1b231e;--blue:#65b1ee;--green:#66c994;--purple:#b7a1e2;--amber:#e5b069;--warn:#342c1d}
*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--page);color:var(--text)}button,input,select{font:inherit;color:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer;border:1px solid var(--line);border-radius:5px;padding:9px 12px;background:var(--panel)}button:hover{background:var(--subtle);border-color:var(--muted)}button:disabled{opacity:.45;cursor:not-allowed}input,select{min-width:0;width:100%;padding:10px 11px;border:1px solid var(--line);border-radius:5px;background:var(--panel)}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.primary{background:var(--text);color:var(--panel);font-weight:600;border-color:var(--text)}.primary:hover{background:var(--accent);color:var(--panel)}.muted,.caption{color:var(--muted)}.header{height:82px;background:var(--panel);border-bottom:1px solid var(--line);padding:0 max(28px,calc((100vw - 1280px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:14px;font-weight:700;letter-spacing:2px;white-space:nowrap}.brand small{display:block;font-weight:400;font-size:10px;color:var(--muted);letter-spacing:.2px;margin-top:5px}.brand-mark{font-size:37px;letter-spacing:-3px;position:relative;font-weight:650;padding-right:7px}.brand-mark span{font-size:20px;position:absolute;top:-3px;right:-4px;color:var(--green);font-weight:500}.header nav{display:flex;gap:23px;align-items:center;font-size:12px}.header button{border:0;background:none;font-size:12px}.version{border-left:1px solid var(--line);padding-left:22px;color:var(--muted);font-size:11px}#app{max-width:1280px;margin:0 auto;padding:0 28px;min-height:calc(100vh - 159px)}.hero{padding:65px 0 48px;display:flex;align-items:center;justify-content:space-between;gap:55px}.eyebrow{font-size:10px;letter-spacing:1.8px;text-transform:uppercase;color:var(--muted);font-weight:600}.eyebrow span:not(.status-dot){letter-spacing:.3px}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);margin-right:7px}.hero h1{font-size:46px;font-weight:550;line-height:1.14;letter-spacing:-2px;margin:22px 0}.hero h1 span{color:#738778}.hero p:not(.eyebrow){color:var(--muted);line-height:1.8;font-size:14px}.hero-drawing{width:360px;flex-shrink:0;padding:20px;border:1px solid var(--line);border-radius:8px;background:var(--canvas);transform:rotate(-2deg)}.hero-drawing svg{width:100%;display:block}.hero-drawing span{display:block;font-size:10px;letter-spacing:.8px;text-align:center;margin-top:12px;color:var(--muted)}.catalog{border-top:1px solid var(--line);padding-top:32px}.catalog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.catalog-heading .eyebrow{margin:0 0 9px}.catalog h2{font-size:24px;letter-spacing:-.6px;font-weight:550;margin:0}.catalog h2 span{font-size:12px;color:var(--muted);vertical-align:top;margin-left:8px;letter-spacing:0}.search{position:relative;width:340px}.search>span{position:absolute;left:12px;top:5px;font-size:25px;color:var(--muted)}.search input{padding:12px 12px 12px 40px;font-size:12px}.filters{display:flex;flex-wrap:wrap;gap:7px;margin:24px 0 16px}.filters button{font-size:12px;padding:8px 14px;background:transparent}.filters button[aria-pressed=true]{background:var(--text);color:var(--panel);border-color:var(--text)}.search-count{font-size:11px;color:var(--muted);margin:14px 0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.tool-card{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--panel);transition:transform .16s,border-color .16s}.tool-card:hover{border-color:#94a999;transform:translateY(-3px)}.card-art{height:180px;background:var(--canvas);border-bottom:1px solid var(--line);position:relative;padding:14px}.card-art img{width:100%;height:100%;object-fit:contain}.card-number{position:absolute;top:17px;left:19px;font-size:10px;color:var(--muted)}.card-body{padding:23px 22px 0}.tags{display:flex;gap:5px}.tags span,.badge{font-size:10px;letter-spacing:.3px;background:var(--subtle);border:1px solid var(--line);border-radius:4px;padding:4px 7px;color:var(--muted)}.card-body h3{font-size:19px;letter-spacing:-.5px;font-weight:550;margin:15px 0 10px}.card-body p{font-size:12px;color:var(--muted);line-height:1.7;min-height:62px;margin:0}.card-foot{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;margin-top:22px;padding:15px 0}.card-foot small{font-size:10px;color:var(--muted)}.card-foot>span{font-size:20px;color:var(--accent)}.home-note{display:flex;gap:17px;padding:23px 25px;background:var(--subtle);border:1px solid var(--line);border-radius:6px;margin-top:32px}.note-icon{border:1px solid var(--muted);border-radius:50%;min-width:20px;height:20px;text-align:center;font-family:serif;font-size:13px;color:var(--muted)}.home-note h3{margin:0 0 8px;font-size:12px;font-weight:600}.home-note p{font-size:11px;line-height:1.8;color:var(--muted);margin:0}.bottom-notes{display:flex;gap:26px;justify-content:space-between;padding:25px 0 35px;font-size:10px;color:var(--muted)}.footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted);padding:20px max(28px,calc((100vw - 1224px)/2));background:var(--panel)}.footer button{font-size:11px;border:0;padding:6px;background:none}.footer>span:first-child{letter-spacing:1px}.empty{grid-column:1/-1;padding:50px;text-align:center;background:var(--panel);border:1px dashed var(--line);border-radius:6px}.empty p{color:var(--muted)}.empty a{color:var(--blue)}.loading{padding:50px}.tool-head{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:30px 0}.back{display:block;color:var(--muted);font-size:11px;margin-bottom:22px}.tool-head h1{font-size:28px;font-weight:550;letter-spacing:-1px;margin:12px 0}.tool-head p.muted{font-size:12px;line-height:1.6;max-width:700px;margin-bottom:0}.tool-head .primary{font-size:12px;white-space:nowrap}.tool-layout{display:grid;grid-template-columns:320px minmax(0,1fr);border:1px solid var(--line);border-radius:7px;overflow:hidden;background:var(--panel);align-items:start}.input-panel{border-right:1px solid var(--line);min-height:100%;background:var(--panel)}.panel-caption{font-size:10px;letter-spacing:1px;color:var(--muted);text-transform:uppercase;padding:16px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;min-height:54px}.panel-caption button{padding:3px;border:0;font-size:10px;letter-spacing:0;background:none}.live{font-size:9px;color:var(--green);letter-spacing:.3px;text-transform:none}#inputs{padding:0 22px 22px}.field-heading{font-size:11px;letter-spacing:.7px;text-transform:uppercase;margin:26px 0 17px;font-weight:600}.field{margin-bottom:16px}.field label{display:block;font-size:11px;color:var(--muted);margin-bottom:7px;line-height:1.4}.field small{display:block;font-size:10px;color:var(--muted);line-height:1.6;margin-top:7px}.input-unit{display:flex}.input-unit input{border-radius:4px 0 0 4px;font-variant-numeric:tabular-nums;font-size:13px}.input-unit select{font-size:12px}.input-unit .unit-select{width:78px;flex-shrink:0;border-left:0;border-radius:0 4px 4px 0;background:var(--subtle);padding:9px 4px;font-size:11px}.output-panel{min-width:0}#output{padding:0 26px 28px}#output>.diagram{margin:0 -26px;width:calc(100% + 52px);border-bottom:1px solid var(--line)}.diagram{display:block;background:var(--canvas);height:auto;max-height:340px;color:var(--muted)}.diagram .void{fill:var(--canvas)}.result-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:24px 0 16px}.result-heading .eyebrow{font-size:9px;letter-spacing:1px}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px}.metric{background:var(--subtle);border:1px solid var(--line);border-radius:6px;padding:18px}.metric>span{display:block;font-size:11px;color:var(--muted);line-height:1.5}.metric strong{font-size:31px;display:block;letter-spacing:-1px;font-weight:550;margin-top:10px;font-variant-numeric:tabular-nums}.metric strong small{font-size:12px;margin-left:8px;letter-spacing:0;font-weight:400;color:var(--muted)}.metric p{font-size:10px;color:var(--muted);line-height:1.5;margin:8px 0 0}#output h2{font-size:16px;font-weight:600;margin:28px 0 15px;letter-spacing:-.2px}#output p.muted,.caption{font-size:11px;line-height:1.7}.notice{font-size:12px;line-height:1.8;border-left:3px solid var(--amber);padding:14px 17px;background:var(--warn);color:var(--text);margin:18px 0}.calc-step{border-top:1px solid var(--line);padding:14px 0}.calc-step h3{font-size:12px;font-weight:550;margin:0 0 12px}.calc-step p{font-size:12px;line-height:1.8;margin:10px 0}.calc-step .equation{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;background:var(--subtle);padding:12px 14px;border-radius:4px;font-size:11px;line-height:1.9;overflow-wrap:anywhere}.calc-step small{font-size:10px;line-height:1.7;color:var(--muted);display:block}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:10px 9px;vertical-align:top}th{font-size:10px;font-weight:600;color:var(--muted);background:var(--subtle)}td:nth-child(2){text-align:right;font-variant-numeric:tabular-nums}td:last-child{color:var(--muted);white-space:nowrap}.limits{font-size:11px;line-height:1.85;color:var(--muted);padding-left:18px}.limits li{margin:8px 0}.proposals{display:grid;grid-template-columns:1fr 1fr;gap:12px}.proposal{border:1px solid var(--line);border-radius:5px;padding:16px}.proposal strong{display:block;font-size:23px;color:var(--blue);font-weight:550;letter-spacing:-.7px}.proposal strong small{display:inline;font-size:11px;margin-left:6px;font-weight:400;letter-spacing:0}.proposal>span{display:block;font-size:12px;margin-top:8px}.proposal>small{display:block;font-size:10px;color:var(--muted);margin-top:8px;line-height:1.7}.tool-disclaimer{font-size:10px;line-height:1.8;color:var(--muted);padding:24px 0 35px}#errors:not(:empty){background:var(--warn);color:var(--amber);padding:22px;font-size:13px;line-height:1.7}#print-report{display:none}dialog{border:1px solid var(--line);border-radius:8px;max-width:640px;width:calc(100% - 32px);background:var(--panel);color:var(--text);padding:30px}dialog::backdrop{background:#0007}dialog h2{font-size:21px}dialog p{font-size:13px;line-height:1.8;color:var(--muted)}dialog form{text-align:right}
@media(max-width:1000px){.hero{gap:25px}.hero h1{font-size:40px}.hero-drawing{width:300px}.header nav{gap:8px}.version{padding-left:12px}.tool-layout{grid-template-columns:285px minmax(0,1fr)}.metric strong{font-size:25px}.card-body{padding:18px 17px 0}.card-body h3{font-size:17px}.card-art{height:155px}}
@media(max-width:760px){.header{height:70px;padding:0 18px}.header nav .home-link,.version{display:none}.header nav button span{display:none}.brand{font-size:12px}.brand small{font-size:9px}.brand-mark{font-size:32px}#app{padding:0 18px}.hero{padding:36px 0 30px}.hero h1{font-size:36px}.hero-drawing{display:none}.hero p:not(.eyebrow){font-size:12px}.catalog-heading{align-items:start;flex-direction:column}.search{width:100%}.catalog h2{font-size:22px}.cards{grid-template-columns:1fr}.card-art{height:180px}.card-body p{min-height:0}.card-body h3{font-size:21px}.card-body{padding:22px 22px 0}.bottom-notes{flex-direction:column;gap:12px}.footer{padding:16px 18px;flex-wrap:wrap;gap:12px}.footer>span:last-child{display:none}.tool-head{align-items:start;flex-direction:column;padding:22px 0}.tool-head h1{font-size:26px}.tool-layout{display:block}.input-panel{border-right:0;border-bottom:1px solid var(--line)}#inputs{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.field-heading{grid-column:1/-1}.field{min-width:0}.input-unit select{font-size:11px}#output{padding:0 18px 22px}#output>.diagram{margin:0 -18px;width:calc(100% + 36px)}.metric{padding:14px}.metric strong{font-size:26px}.result-heading{align-items:start}.metrics,.proposals{gap:8px}.metric strong small{display:block;margin:3px 0 0}.calc-step .equation{font-size:10px}.proposal{padding:12px}.proposal strong{font-size:22px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
@page{size:A4;margin:15mm 14mm 17mm}
@media print{:root,:root[data-theme=dark]{color-scheme:light;--page:#fff;--panel:#fff;--subtle:#f4f5f3;--text:#111;--muted:#444;--line:#ccc;--canvas:#fff;--warn:#fff8eb;--blue:#23699e}body{background:#fff;color:#111;font-size:10pt}.header,.footer,.tool-head,.tool-layout,.tool-disclaimer,dialog,.hero,.catalog,.home-note,.bottom-notes{display:none!important}#app{max-width:none;padding:0;margin:0;min-height:0}#print-report{display:block}.report-header{display:flex;justify-content:space-between;border-bottom:1px solid #555;padding:0 0 8px;font-size:9pt}#print-report h1{font-size:20pt;margin:18px 0 8px}#print-report h2{font-size:13pt;margin:20px 0 10px;break-after:avoid}#print-report p{font-size:9pt;line-height:1.6}#print-report table{font-size:9pt}#print-report td,#print-report th{padding:6px 7px}#print-report th{font-size:8pt}#print-report tr{break-inside:avoid}thead{display:table-header-group}.diagram{max-height:65mm;width:100%;break-inside:avoid;margin:15px 0}.metrics,.proposals,.calc-step,.notice{break-inside:avoid}.metric{padding:12px}.metric strong{font-size:23pt}.metric strong small{font-size:10pt}.metric p{font-size:8pt!important}.metric>span{font-size:9pt}.calc-step{padding:12px 0}.calc-step .equation{font-size:8pt!important}.calc-step h3{font-size:10pt;break-after:avoid}.calc-step small,.caption,.limits{font-size:8pt;line-height:1.6}.tool-disclaimer{display:none}.table-wrap{overflow:visible}.proposal strong{font-size:18pt}.proposal small{font-size:8pt}.result-heading{margin:15px 0 10px}a{color:inherit;text-decoration:none}svg{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
