
:root{color-scheme:light;--ink:#18283b;--muted:#43566b;--rule:#b4c0ce;--gold:#8b5b15;font:16px/1.45 system-ui,Arial,sans-serif;color:var(--ink);background:white}
*{box-sizing:border-box}body{max-width:1480px;margin:auto;padding:0 24px 24px}header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--rule);gap:10px;padding:10px 0}
header strong{font-size:23px;font-weight:850;letter-spacing:-.02em}button,input,select{font:inherit;color:inherit}button,select{cursor:pointer}
button{background:white;border:1px solid var(--rule);border-radius:5px;padding:8px 13px;min-height:42px;font-weight:650}button:hover{border-color:#476585}button:disabled{opacity:.5;cursor:default}
:focus-visible{outline:3px solid #946417;outline-offset:3px}
h1{font-size:clamp(29px,4vw,43px);letter-spacing:-.035em;line-height:1.1;margin:20px 0 3px}.subtitle{color:var(--muted);margin:0 0 22px;font-size:clamp(16px,2vw,21px)}
.work{display:grid;grid-template-columns:minmax(310px,30.5%) minmax(0,1fr);gap:14px}.panel{border:1px solid var(--rule);border-radius:8px;padding:15px;min-width:0}
h2{font-size:23px;line-height:1.16;margin:0 0 14px}.inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
label{font-size:14px;font-weight:600;display:flex;flex-direction:column;justify-content:space-between;gap:4px;min-width:0}
input[type=number],input[type=text],select{width:100%;min-height:42px;border:1px solid #8396aa;border-radius:5px;background:#fff;padding:7px 8px;font-size:16px;font-variant-numeric:tabular-nums}
fieldset{padding:0;border:none;margin:0;min-width:0}.opening,.turn{border-top:1px solid #d0d9e3;margin-top:16px;padding-top:14px}.opening h2{margin:0 0 8px}.check{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;margin-bottom:10px;min-height:38px;gap:8px}.check input{width:19px;height:19px;accent-color:var(--ink)}
.note{color:var(--muted);font-size:13px;margin:8px 0}.demo{margin-top:12px;width:100%;color:var(--gold)}
.tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:13px}.tabs button{font-size:15px;padding-inline:4px}.tabs [aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}
#headline{font-size:clamp(20px,3vw,27px);margin:0 0 8px;font-variant-numeric:tabular-nums}
figure{margin:0 0 8px;break-inside:avoid}figcaption{font-weight:650;color:var(--muted);font-size:13px;margin:0 0 4px}.diagram svg{display:block;width:100%;height:auto}
.result-status{display:grid;border-left:3px solid #42705d;padding:5px 9px;background:#f2f8f5;margin-top:12px;font-size:15px}
.result-status.fail{background:#fff4f0;border-color:#a83e2c}.result-status.unknown{background:#fcf6e8;border-color:var(--gold)}
.issues{font-size:14px;color:#882e21;padding-left:21px}.facts{margin:10px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}
.facts div{border-top:1px solid #e2e8ef;padding:6px 0;break-inside:avoid}dt{font-size:13px;color:var(--muted)}dd{margin:0;font-size:14px;font-weight:650}
details{margin-top:12px;border-top:1px solid var(--rule);padding-top:9px}summary{cursor:pointer;font-weight:700}.variants{max-height:320px;overflow:auto;margin:5px 0}
.variants button{border:none;border-bottom:1px solid #e1e7ef;border-radius:0;width:100%;display:flex;justify-content:space-between;text-align:left;align-items:center;gap:8px;font-size:14px}.variants button[aria-pressed=true]{background:#eaf1f9}.variants small{text-align:right;color:var(--muted)}
#errors:not(:empty){border-left:3px solid #a83e2c;padding:8px;color:#882e21}.safety{border-top:1px solid var(--rule);padding-top:9px;margin:14px 0 0;color:var(--muted);font-size:13px}.print-only,[hidden]{display:none!important}
@media(max-width:760px){body{padding:0 12px 18px}.work{grid-template-columns:minmax(0,1fr);gap:10px}.panel{padding:11px}.tabs button{font-size:13px;line-height:1.15;min-height:46px}header strong{font-size:19px}h1{margin-top:14px}.subtitle{margin-bottom:12px}}
.mode{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.mode [aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}
h3{font-size:18px;margin:10px 0 5px}.muted{color:var(--muted);font-size:14px}.limits{padding-left:20px;font-size:14px;color:#754d13}.target-line{margin:5px 0;font-size:14px}
.explain{max-width:840px;margin:20px 0 0}.explain h2{margin-bottom:5px}.explain p{margin:4px 0 12px}
#shortlist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.pick{display:flex;justify-content:space-between;align-items:center;text-align:left;gap:7px;padding:7px 9px;font-size:14px;min-height:56px}
.pick>span,.pick small{display:block}.pick small{font-weight:500}.pick .state{font-size:12px;flex-shrink:0}.state.fit{color:#23563e}.state.fail{color:#882e21}.state.unknown{color:#754d13}
.pick[aria-pressed=true]{border-color:#456585;background:#edf3fa;box-shadow:inset 0 0 0 1px #456585}
.rejected{padding:5px 0;border-bottom:1px solid #e1e7ef}.rejected>small{display:block;text-align:left;padding:1px 9px 5px}
#splitsLabel{margin:12px 0;max-width:280px}#metrics{font-size:15px;color:var(--muted);margin:0 0 8px}
#result{margin-top:15px;border-top:1px solid var(--rule);padding-top:14px}.drawing-title{margin-top:13px}
table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;padding:5px;border-bottom:1px solid #e2e8ef;overflow-wrap:anywhere}
@media(max-width:760px){#shortlist{grid-template-columns:minmax(0,1fr)}.mode button{width:100%;text-align:left}.facts{gap:0 9px}.facts dd{overflow-wrap:anywhere}}
@page{size:A4 portrait;margin:13mm}
@media print{html{font-size:10pt;line-height:1.28;-webkit-print-color-adjust:exact;print-color-adjust:exact}body{padding:0;max-width:none}
.print-only:not([hidden]){display:block!important}.screen-only,#parameters,#downloadResult,#pdfStatus,#tabs,details,#selection,#splitsLabel{display:none!important}header{padding-top:0}
h1{font-size:24pt;margin:7px 0 2px}.subtitle{font-size:11pt;margin-bottom:6px}.work{display:block}.panel{border:none;padding:0}
#printInput,#printFormula{font-size:8.5pt;margin:4px 0}#metrics{margin:0 0 4px;font-size:10pt}
.diagram svg{max-height:171px}figure{margin-bottom:5px}.facts{margin:4px 0}.facts div{padding:3px 0}
#result{border:none;margin:0;padding:0}#headline{font-size:16pt;margin-bottom:4px}
h3{font-size:12pt;margin:6px 0 3px}.note{margin:4px 0}.target-line{font-size:9pt}
.safety{margin-top:7px;padding-top:5px;break-inside:avoid}.note,.safety,dt{font-size:8.5pt}dd,.result-status{font-size:9pt}}
.primary-fields{margin-top:14px;grid-template-columns:1fr}
.primary{margin:4px 0 8px;background:#183350;color:#fff;border-color:#183350;width:100%;min-height:46px}
.measure{margin-top:10px}.measure svg{display:block;width:100%;max-width:300px}
#exitFields .check{align-items:flex-start;min-height:44px}
#exitFields svg{display:block;width:230px;max-width:100%;height:auto}
.site-return{display:inline-flex;align-items:center;min-height:44px;padding:6px 11px;border:1px solid var(--rule);border-radius:5px;color:#174276;font-size:.95rem;font-weight:650}
.site-wordmark{font-size:1rem;font-weight:700;white-space:nowrap}
#advanced>.inputs{margin-top:10px}
.pick{display:grid;grid-template-columns:minmax(0,1fr) auto;width:100%;min-height:65px}
.pick .state{grid-column:2;grid-row:1}
.pick .open-drawing{grid-column:1/-1;color:#174276;text-decoration:underline}
.pick.fit{background:#eff8f1;border-color:#548263}
.pick.fail{background:#fff1ef;border-color:#b36b60}
.pick.unknown{background:#fff8e7;border-color:#a47a35}
.pick.fit[aria-pressed=true],.pick.fail[aria-pressed=true],.pick.unknown[aria-pressed=true]{box-shadow:inset 0 0 0 1px #456585}
.pick .reason{grid-column:1/-1;overflow-wrap:anywhere}
.advice:not(:empty){padding:12px;margin:8px 0;border:1px solid var(--rule);border-radius:6px}
.advice article+article{margin-top:12px;padding-top:10px;border-top:1px solid var(--rule)}
.advice article p{margin:4px 0}
.design-inputs{margin-top:8px}.primary-fields label{min-height:0}
#readyDimensions{margin-top:10px}.pick[disabled]{opacity:1;cursor:default}
.result-position{margin:8px 0}.alternatives-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
@media(max-width:760px){.alternatives-grid{grid-template-columns:1fr}}
#downloadResult{margin-top:12px}
#plan svg,#section svg{background:#f7fbff}
#errors:focus,#headline:focus,#selectionTitle:focus{outline-offset:3px}
.dimensions-inline{max-width:15em;margin:10px 0}
@media(max-width:760px){.tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}

