:root{--ink:#142139;--blue:#2f5fdd;--edge:#dce5f3;--muted:#667892;--pale:#f2f6ff}*{box-sizing:border-box}body{margin:0;background:#f6f8fc;color:var(--ink);font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}.wrap{max-width:1180px;margin:auto;padding:0 20px}header{background:#fff;border-bottom:1px solid var(--edge);position:sticky;top:0;z-index:10}.nav{display:flex;min-height:72px;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;gap:10px;align-items:center;font-size:18px}.brand svg{width:38px;height:38px}.brand span,.back{color:var(--blue)}.back{text-decoration:none;font-weight:750}.nav small,.eyebrow{color:var(--blue);font-weight:800;letter-spacing:.09em;font-size:11px}.intro{padding:27px 0 16px}.intro h1{font-size:clamp(29px,4vw,44px);margin:4px 0}.intro p{color:var(--muted);margin:9px 0;max-width:840px}.toolbar{display:flex;align-items:center;justify-content:space-between;margin:13px 0 18px;gap:15px}.segment{display:flex;gap:8px;flex-wrap:wrap}button{cursor:pointer;font:inherit;font-weight:750}.segment button,.subtle{border:1px solid #bdcef1;background:white;color:#1d4080;border-radius:10px;padding:10px 14px}.segment button.selected,.primary{background:var(--blue);color:#fff;border:1px solid var(--blue)}.layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:18px;align-items:start}.panel{background:white;border:1px solid var(--edge);border-radius:17px;padding:23px;box-shadow:0 6px 22px #14213909}.paneltitle{display:flex;justify-content:space-between;align-items:center;gap:10px}.panel h2{margin:3px 0 13px;font-size:21px}.subtext{color:var(--muted);font-size:13px;margin:0 0 20px}.live{font-size:12px;font-weight:750;background:#ecfaf3;color:#137745;padding:6px 10px;border-radius:20px;white-space:nowrap}.live i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#25aa63;margin-right:5px}.slideritem{margin:19px 0 25px;border-top:1px solid #e9eef7;padding-top:16px}.sliderheader{display:flex;justify-content:space-between;gap:12px;align-items:center}.sliderheader strong{font-size:15px}.sliderval{white-space:nowrap;color:var(--blue);font-weight:850;font-size:20px}.scalewrap{position:relative;margin:22px 0 13px;padding-top:11px}.ruler{height:15px;border-radius:5px;background:repeating-linear-gradient(90deg,#b7c8e8 0px,#b7c8e8 1px,transparent 1px,transparent 15px),linear-gradient(to bottom,#f3f7ff 0,#f3f7ff 100%);border-bottom:2px solid #8ca8da}.slideritem input[type=range]{position:relative;display:block;margin:-21px 0 0;width:100%;height:32px;appearance:none;background:transparent;cursor:pointer}.slideritem input[type=range]::-webkit-slider-thumb{appearance:none;width:20px;height:31px;background:var(--blue);border:4px solid #fff;border-radius:7px;box-shadow:0 1px 8px #1b4dcc80}.slideritem input[type=range]::-moz-range-thumb{width:15px;height:25px;background:var(--blue);border:4px solid #fff;border-radius:7px}.scaleend{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.entry{display:flex;gap:12px;align-items:center;margin-top:12px}.entry input{max-width:180px;width:100%;padding:10px;border:1px solid #bfcfec;border-radius:9px;font:700 17px/1.2 inherit;color:var(--ink)}.entry span{color:var(--muted);font-size:12px}.tip{background:var(--pale);padding:13px;border-radius:10px;font-size:12px;color:#53708d}.resultbig{font-size:clamp(27px,3vw,37px);line-height:1.2;font-weight:850;color:var(--blue);margin:4px 0 10px;word-break:break-word}.resultcaption{font-size:13px;color:var(--muted);margin-bottom:18px}.group{background:#f7faff;border:1px solid var(--edge);border-radius:12px;padding:13px;margin:12px 0}.group h3{color:#4263af;letter-spacing:.09em;font-size:12px;margin:0 0 8px;text-transform:uppercase}.groupgrid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.kv{background:white;border:1px solid #e1e9f7;border-radius:9px;padding:9px}.kv small{display:block;color:var(--muted);font-size:12px}.kv strong{font-size:17px}.warning{background:#fff6e9;color:#745017;border:1px solid #f3dfbb;padding:11px;border-radius:10px;font-size:12px;margin:14px 0}.actions{margin-top:17px}.primary{padding:11px 17px;border-radius:9px}details{background:#f3f6fc;padding:15px;border-radius:12px;margin-top:17px}summary{font-weight:800;cursor:pointer}.helper{color:var(--muted);font-size:12px}.settings{display:grid;grid-template-columns:1fr 1fr;gap:12px}.settings label{display:grid;gap:5px;font-size:12px}.settings input,.settings select{width:100%;min-width:0;border:1px solid #bfd0ec;border-radius:8px;padding:10px;font-size:15px;background:#fff}.sketch{margin-top:18px}.schematic{background:var(--pale);color:var(--blue);font-size:11px;font-weight:850;letter-spacing:.08em;padding:7px 11px;border-radius:20px}.sketch #drawing{background:#f7faff;border-radius:12px;min-height:175px;display:grid;place-items:center;padding:12px}.sketch svg{width:min(100%,380px);max-height:205px}.sketch .subtext{margin:12px 0 0}.legal{background:white;border:1px solid var(--edge);margin:18px 0 45px}.legal p{color:var(--muted);font-size:13px}@media(max-width:870px){.layout{grid-template-columns:1fr}.nav small{display:none}.brand{font-size:15px}}@media(max-width:520px){.wrap{padding:0 12px}.panel{padding:17px}.nav{min-height:63px}.brand svg{width:30px}.brand{font-size:13px}.back{font-size:12px}.toolbar{align-items:flex-start;flex-direction:column}.groupgrid,.settings{grid-template-columns:1fr}.sliderheader{flex-wrap:wrap}}@media print{header,.toolbar,.intro,.scalewrap,.entry,.tip,details,.actions{display:none!important}.layout{display:block}.panel{break-inside:avoid;box-shadow:none;margin:10px 0}.slideritem{display:none}.result{margin:0}.sketch{margin-top:10px}}

/* V4: compact desk layout; calculation engine unchanged */
@media (min-width:871px){
  .layout{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:start}
  .layout .result{position:sticky;top:88px;max-height:calc(100vh - 104px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
}
.intro{padding:17px 0 8px}.intro h1{font-size:clamp(27px,3vw,37px)}.intro p{margin:5px 0}
.toolbar{margin:9px 0 12px}.panel{padding:18px}.panel h2{font-size:19px;margin:2px 0 8px}
.paneltitle{margin-bottom:3px}.main .subtext{margin:4px 0 7px}
.slideritem{margin:9px 0 10px;padding-top:9px}.sliderheader strong{font-size:14px}.sliderval{font-size:17px}
.scalewrap{margin:7px 0 5px;padding-top:6px}.ruler{height:12px}.slideritem input[type=range]{height:28px;margin:-19px 0 0}
.slideritem input[type=range]::-webkit-slider-thumb{height:26px;width:18px}
.scaleend{font-size:10px}.entry{margin-top:5px;gap:8px}.entry input{max-width:148px;padding:7px 9px;font-size:15px}.entry span{font-size:11px}
.tip{padding:10px;font-size:11px}.main details{margin-top:10px;padding:12px}
.resultbig{font-size:31px;margin:2px 0 6px}.resultcaption{margin-bottom:8px}
.groups{display:grid;grid-template-columns:1fr 1fr;gap:9px}.group{padding:10px;margin:0}.group:last-child:nth-child(odd){grid-column:1/-1}
.groupgrid{grid-template-columns:1fr;gap:6px}.kv{padding:7px 9px}.kv small{font-size:11px}.kv strong{font-size:15px}
.sketch{margin-top:13px;padding-top:12px;border-top:1px solid var(--edge)}
.sketch h2{font-size:16px;margin-bottom:7px}.sketch #drawing{min-height:125px;padding:6px}
.sketch svg{width:min(100%,250px);max-height:145px}.sketch .subtext{font-size:11px;margin:7px 0 0}
.schematic{font-size:9px;padding:4px 8px}
.actions{margin-top:11px}
@media (max-width:1080px) and (min-width:871px){.groups{grid-template-columns:1fr}.group:last-child:nth-child(odd){grid-column:auto}.groupgrid{grid-template-columns:1fr 1fr}}
@media (max-width:870px){.groups{grid-template-columns:1fr}.groupgrid{grid-template-columns:1fr 1fr}.result{position:static;overflow:visible}.sketch svg{max-height:170px;width:min(100%,290px)}}
@media(max-width:520px){.groupgrid{grid-template-columns:1fr 1fr}.panel{padding:15px}.entry input{max-width:136px}.intro{padding-top:14px}}
@media print{.layout .result{position:static;max-height:none;overflow:visible}.sketch{display:block!important;break-inside:avoid}.sketch #drawing{min-height:110px}.sketch svg{max-height:140px}.groups{grid-template-columns:1fr 1fr}.group:last-child:nth-child(odd){grid-column:1/-1}}

/* V5 — Wertfixierung */
.slideractions{display:flex;align-items:center;gap:10px}
.lockbtn{width:35px;height:35px;padding:3px;border:1px solid #d6e0ef;border-radius:9px;background:#f5f8ff;font-size:17px;line-height:1;flex:none;display:grid;place-items:center}
.lockbtn:hover,.lockbtn:focus-visible{border-color:#2f5fdd;outline:2px solid #e0e9ff}
.lockbtn.islocked{background:#e1eaff;border-color:#2f5fdd}
.locktip{padding:10px 12px;margin:9px 0 12px;border-radius:10px;background:#f1f6ff;border:1px solid #d9e4fb;color:#315184;font-size:12px}
@media(max-width:520px){.slideractions{gap:6px}.lockbtn{width:32px;height:32px}}
@media print{.lockbtn,.locktip{display:none!important}}

/* V5.1: explicit blue open / red closed lock states, desktop and iPhone */
.lockbtn, .lockbtn:not(.islocked){
 width:auto;min-width:91px;min-height:40px;padding:7px 10px;
 display:inline-flex;align-items:center;justify-content:center;gap:6px;
 background:#edf4ff;border:2px solid #1876ff;color:#1363df;
 border-radius:10px;font:800 12px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}
.lockbtn.islocked{
 background:#fff0f0;border:2px solid #d32f2f;color:#b91c1c;
}
.lock-icon{width:21px;height:21px;flex-shrink:0}
.lock-label{white-space:nowrap}
.lockbtn:focus-visible{outline:3px solid #98beff;outline-offset:3px}
.lockbtn.islocked:focus-visible{outline-color:#ff9f9f}
.slideritem:has(.lockbtn.islocked) .entry input{border-color:#d32f2f;background:#fff7f7}
@media(max-width:520px){.lockbtn,.lockbtn:not(.islocked){min-height:44px;min-width:92px;padding:8px 10px}.lock-icon{width:23px;height:23px}.slideractions{gap:8px}}

/* V5.2 — kompakter A4-Ergebnisbericht; Bildschirmansicht unverändert */
.printhead{display:none}
@page{size:A4 portrait;margin:12mm 13mm}
@media print{
  html,body{background:#fff!important;color:#142139!important;font-size:11px!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
  .wrap{max-width:none!important;padding:0!important;margin:0!important}
  header,.intro,.toolbar,.main,.legal,.actions{display:none!important}
  .printhead{display:flex!important;justify-content:space-between;align-items:flex-start;gap:16px;border-bottom:2px solid #2f5fdd;padding:0 0 11px;margin:0 0 13px}
  .printhead h1{font-size:21px;line-height:1.15;margin:4px 0}
  .printhead p{font-size:10px;color:#667892;margin:0}
  .print-brand{font-size:12px;font-weight:850;color:#2f5fdd}
  .print-date{display:grid;gap:5px;text-align:right;white-space:nowrap;font-size:10px;color:#667892}
  .print-date strong{color:#142139}
  .layout{display:block!important;margin:0!important}
  .panel.result{display:block!important;position:static!important;overflow:visible!important;max-height:none!important;height:auto!important;border:none!important;box-shadow:none!important;padding:0!important;margin:0!important}
  .result>.eyebrow{font-size:9px!important}
  .result h2#resTitle{font-size:14px!important;margin:3px 0!important}
  .resultbig{font-size:25px!important;margin:2px 0 4px!important;line-height:1.15!important}
  .resultcaption{font-size:11px!important;margin:0 0 10px!important}
  .groups{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
  .group{display:block!important;break-inside:avoid!important;border:1px solid #dce5f3!important;padding:10px!important;margin:0!important;background:#f7faff!important}
  .group:last-child:nth-child(odd){grid-column:1/-1!important}
  .group h3{font-size:10px!important;margin:0 0 6px!important}
  .groupgrid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
  .kv{padding:8px!important;min-height:auto!important;break-inside:avoid!important}
  .kv small{font-size:10px!important}
  .kv strong{font-size:13px!important}
  .warning{font-size:10px!important;padding:7px 9px!important;margin:8px 0!important}
  .sketch{break-inside:avoid!important;margin-top:11px!important;padding-top:10px!important}
  .sketch h2{font-size:13px!important;margin:0 0 6px!important}
  .schematic{font-size:8px!important}
  .sketch #drawing{min-height:0!important;height:153px!important;padding:4px!important}
  .sketch svg{width:285px!important;max-width:100%!important;max-height:145px!important;height:145px!important}
  .sketch .subtext{font-size:9px!important;margin:6px 0 0!important;line-height:1.4!important}
  body{overflow:visible!important}
}

/* Wickelfalzrohr: Nennweiten-Auswahl als zusätzliche Bedienhilfe */
.nominal-row{display:grid;gap:6px;margin:10px 0 2px;background:#f2f6ff;border:1px solid #dce5f3;border-radius:9px;padding:10px}
.nominal-row label{font-weight:750;font-size:12px;color:#142139}
.nominal-row select{width:100%;max-width:380px;background:white;border:1px solid #bfcfec;border-radius:8px;padding:8px;font:inherit;color:#142139}
.nominal-row small{color:#647892;font-size:11px}
@media print{.nominal-row{display:none!important}}
