body{background:#eef6fb}.run-head .rh-section button{cursor:default}.studio{grid-template-columns:minmax(0,1.18fr) minmax(410px,.82fr)}.studio-title .method{max-width:760px}.studio-title .scope-line{font-size:12.5px;color:#617887;margin:7px 0 0;line-height:1.45}.viewbar{display:flex;align-items:center;gap:7px;margin:0 0 8px;padding:7px;background:#edf6fc;border:1px solid #d6e5ef;border-radius:10px}.viewbar button{border:0;background:transparent;color:#5b7281;font:650 11.5px var(--font-text);letter-spacing:.045em;text-transform:uppercase;padding:8px 12px;border-radius:7px;cursor:pointer}.viewbar button:hover{background:#fff;color:#0b609e}.viewbar button.active{color:#fff;background:linear-gradient(145deg,#0d8bea,#0872c6);box-shadow:0 5px 14px rgba(8,114,198,.20)}.viewbar .spacer{flex:1}.viewbar .view-hint{font:11px var(--font-mono);color:#738793;padding-right:4px}.diagram-pane{display:none}.diagram-pane.active{display:block}.studio-readout .ro-val.muted{color:#7f919c}.input-section{margin-bottom:18px}.input-title{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:#607784;font-weight:750;margin:0 0 9px;padding-bottom:6px;border-bottom:1px solid #e1ebf1}.gc-input-grid{display:grid;grid-template-columns:1fr;gap:4px}.gc-input-row{display:grid;grid-template-columns:70px minmax(0,1fr) 112px 62px;align-items:center;gap:10px;padding:5px 0}.gc-input-row .sym{font-family:var(--font-math);font-size:15px;color:#173447}.gc-input-row .desc{font-size:13px;color:#4f6674}.gc-input-row input{width:100%;height:36px;text-align:right;font:14px var(--font-mono);font-variant-numeric:tabular-nums;color:#17262b;background:#fff;border:1px solid #d5e1e8;border-radius:6px;padding:0 9px}.gc-input-row input:focus{border-color:#1685de;outline:none;box-shadow:0 0 0 3px rgba(20,135,232,.12)}.gc-input-row .unit{font-size:12px;color:#718591}.ui-note{margin-top:12px;padding:10px 12px;border:1px solid #d8e7f0;border-radius:9px;background:#f8fcff;color:#5e7482;font-size:12.5px;line-height:1.5}.ui-note b{color:#34596f}.placeholder-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.placeholder-card{position:relative;padding:12px 14px;border:1px solid #d8e5ed;border-radius:10px;background:linear-gradient(180deg,#fff,#fbfdff);box-shadow:0 4px 13px rgba(23,63,91,.055)}.placeholder-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:10px 0 0 10px;background:#8cc9ee}.placeholder-card .lab{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:#6b8190;font-weight:750}.placeholder-card .val{margin-top:5px;font:600 20px var(--font-mono);color:#80919a}.placeholder-card .unit{font-size:11px;color:#80919a;margin-left:4px}.calc-placeholder{padding:14px;border:1px dashed #bed5e4;border-radius:10px;background:#f8fcff;color:#5f7583;font-size:13px;line-height:1.55}.theory-copy{font-size:14px;line-height:1.65;color:#516875}.theory-copy h3{font-size:15px;color:#173447;margin:20px 0 8px}.theory-copy p{margin:0 0 10px}.theory-copy .eq{font-family:var(--font-math);font-size:17px;text-align:center;color:#173447;padding:10px;background:#f7fbfe;border:1px solid #dceaf3;border-radius:8px}.three-d-mono{fill:#223b4b;font-size:12px;font-family:Consolas,'SF Mono',monospace}@media(max-width:980px){.studio{grid-template-columns:1fr}.gc-input-row{grid-template-columns:58px minmax(0,1fr) 100px 56px}}@media(max-width:560px){.gc-input-row{grid-template-columns:54px 1fr}.gc-input-row input,.gc-input-row .unit{grid-column:2}.placeholder-grid{grid-template-columns:1fr}.viewbar .view-hint{display:none}}

/* --- Point Load UI refinement: 2026-09-15 --- */
/* View selector and readout are intentionally separate rows to prevent overlap. */
.viewbar{position:relative!important;z-index:3;margin-bottom:8px!important;flex-wrap:wrap;min-height:48px}
.readoutbar,.studio-readout.readoutbar{
  position:static!important; inset:auto!important; transform:none!important;
  display:flex!important; align-items:center; flex-wrap:wrap; gap:7px 8px;
  width:100%!important; margin:0 0 10px!important; padding:7px 9px!important;
  background:#f7fbfe!important; border:1px solid #d9e7ef!important; border-radius:9px!important;
  box-shadow:none!important; pointer-events:auto!important;
}
.readoutbar .ro{position:static!important;display:inline-flex!important;align-items:center;gap:5px;min-width:0;padding:4px 8px!important;border:1px solid #d8e6ef;border-radius:999px;background:#fff;box-shadow:none!important}
.readoutbar .ro-sym{font:600 11px var(--font-math);color:#718591}
.readoutbar .ro-val{font:600 11.5px var(--font-mono);color:#0872c6;white-space:nowrap}
#studioFig{position:relative;clear:both}
.input-section:first-child{margin-top:2px}
/* Remove the development handoff notice from the production-facing model panel. */
.ui-note{display:none!important}

/* Theory page */
.theory-rich{color:#4f6674;line-height:1.68;padding:0 2px 8px}
.theory-rich .theory-kicker{font:700 10.5px/1.2 var(--font-text);letter-spacing:.11em;color:#0b6fca;margin:2px 0 8px;text-transform:uppercase}
.theory-rich h3{font-size:15.5px;color:#173447;margin:20px 0 8px;font-weight:700}
.theory-rich h3:first-of-type{font-size:18px;margin-top:0}
.theory-rich p{margin:0 0 11px}
.theory-figure{margin:14px 0 18px;padding:10px;border:1px solid #d9e6ee;border-radius:11px;background:linear-gradient(180deg,#fff,#fbfdff);box-shadow:0 4px 14px rgba(23,63,91,.055)}
.theory-figure svg{display:block;width:100%;height:auto;max-height:355px;background:#fff;border-radius:8px}
.theory-caption{font-size:11.5px;color:#617887;line-height:1.5;padding:7px 4px 1px;border-top:1px solid #edf2f5}
.theory-caption .mono{font-family:var(--font-mono);color:#36586b}
.theory-eq{margin:8px 0 12px!important;background:#f3f9fd!important;border-color:#d6e7f2!important;color:#0a5f9d!important;font-weight:600}
.theory-callout{margin:12px 0 16px;padding:10px 12px;border-left:3px solid #1487e8;background:#f5faff;border-radius:0 8px 8px 0;color:#4c6676;font-size:12.5px}
.theory-callout b{color:#173447}
.theory-vars{display:grid;grid-template-columns:1fr 1fr;gap:7px 10px;margin-top:8px}
.theory-vars>div{display:grid;grid-template-columns:58px 1fr;align-items:start;gap:8px;padding:8px 9px;border:1px solid #e0ebf1;border-radius:8px;background:#fff}
.theory-vars span{font:700 12px var(--font-math);color:#0b6fca}
.theory-vars b{font-size:11.5px;font-weight:500;color:#5d7482;line-height:1.4}
@media(max-width:560px){
  .readoutbar{gap:5px!important;padding:6px!important}
  .readoutbar .ro{padding:3px 6px!important}
  .theory-vars{grid-template-columns:1fr}
}


/* Extended educational theory manual */
.theory-manual{max-width:980px}
.theory-source-figure{margin:14px 0 20px;padding:12px;border:1px solid #d6e4ec;border-radius:11px;background:#fff;box-shadow:0 4px 14px rgba(23,63,91,.055)}
.theory-source-figure img{display:block;width:min(100%,680px);height:auto;margin:0 auto 10px;border:1px solid #e1e8ed;background:#fff}
.formula-box{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0 14px;padding:11px 13px;border:1px solid #d6e7f2;border-radius:9px;background:#f3f9fd}
.formula-box.single{grid-template-columns:1fr}.formula-line{display:grid;grid-template-columns:auto 22px 1fr;align-items:center;gap:7px;font:600 16px/1.55 var(--font-math);color:#0a5f9d}.formula-line.wide{font-size:17px}
.theory-case-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:10px 0 14px}.theory-case{border:1px solid #d7e5ee;border-radius:10px;background:#fff;overflow:hidden}
.case-head{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:9px 11px;background:#f5faff;border-bottom:1px solid #dfeaf1;color:#173447}.case-head b{font-size:12.5px}.case-head em{font:700 12px var(--font-math);font-style:normal;color:#0b6fca}.case-tag{font:700 9.5px/1 var(--font-text);letter-spacing:.08em;color:#fff;background:#0b6fca;border-radius:4px;padding:5px 6px}
.formula-display{padding:16px 12px 13px;text-align:center;font:600 17px/1.8 var(--font-math);color:#173447}.frac{display:inline-grid;grid-template-rows:auto auto;vertical-align:middle;text-align:center;line-height:1.15;margin:0 3px}.frac>span:first-child{border-bottom:1px solid #486273;padding:0 4px 2px}.frac>span:last-child{padding:2px 4px 0}
.formula-subgrid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #e5eef3}.formula-subgrid>div{padding:9px 10px}.formula-subgrid>div+div{border-left:1px solid #e5eef3}.formula-subgrid span{display:block;font-size:9.5px;letter-spacing:.07em;text-transform:uppercase;color:#758b98;margin-bottom:3px}.formula-subgrid b{font:600 12.5px/1.4 var(--font-math);color:#0b6fca}
.resultant-sketch{margin:8px 0 16px;padding:8px;border:1px solid #dce8ef;border-radius:10px;background:#fff}.resultant-sketch svg{display:block;width:100%;height:auto;max-height:265px}
.manual-steps{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px;margin:9px 0 17px}.manual-step{display:grid;grid-template-columns:34px 1fr;gap:9px;padding:9px 10px;border:1px solid #e0eaf0;border-radius:8px;background:#fff}.manual-step>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#eaf5ff;color:#0b6fca;font:700 10px var(--font-mono)}.manual-step b{font-size:12.5px;color:#173447}.manual-step p{font-size:11.5px;line-height:1.45;margin:2px 0 0;color:#667c89}
.worked-data{display:flex;flex-wrap:wrap;gap:7px;margin:9px 0 10px}.worked-data span{padding:6px 9px;border:1px solid #d8e7f0;border-radius:7px;background:#f7fbfe;font:12px var(--font-mono);color:#4c6878}
.worked-example{border:1px solid #d8e6ee;border-radius:10px;background:#fff;overflow:hidden;margin-bottom:18px}.worked-row{display:grid;grid-template-columns:38px 1fr;gap:10px;padding:11px 12px}
/* the content column must be allowed to shrink: a grid item defaults to min-width:auto, so a wide
   force-ledger table pushed the row past the card, whose overflow:hidden then cut the last column off
   with no way to scroll to it. With min-width:0 the table stays inside the card and .th-table's own
   overflow-x:auto reaches anything that still does not fit. */
.worked-row>div{min-width:0}.worked-row .th-table{max-width:100%;overflow-x:auto}.worked-row+.worked-row{border-top:1px solid #e5edf2}.worked-no{display:grid;place-items:center;width:30px;height:30px;border-radius:6px;background:#0b6fca;color:#fff;font:700 11px var(--font-mono)}.worked-row b{font-size:12.5px;color:#173447}.worked-row p{font-size:11.5px;margin:3px 0;color:#6a7f8c}.worked-eq{margin:5px 0;padding:6px 8px;border-left:3px solid #1487e8;background:#f6fbff;font:12.5px/1.5 var(--font-mono);color:#31576c}.worked-eq strong{color:#0b6fca}
@media(max-width:760px){.theory-case-grid,.manual-steps{grid-template-columns:1fr}.formula-box{grid-template-columns:1fr}}



/* Strip-load specific UI refinements */
.strip-drag-note{font-size:11px;color:#6b8290;margin-top:6px}
.theory-manual .theory-source-figure img{max-width:520px}

/* Ramp load */
.theory-manual .theory-source-figure img{max-width:430px}

/* Line load */
.theory-manual .theory-source-figure img{max-width:400px}



/* ============================================================
   GeoTerva Cantilever Retaining Wall — UI-only module
   ============================================================ */
.studio{grid-template-columns:minmax(0,1.16fr) minmax(430px,.84fr)}
.studio-stage{min-width:0}
.studio-panel{min-width:0}

.diagram-pane svg{width:100%;height:auto;display:block}
.gc-section-note{margin:-2px 0 10px;font-size:10.5px;line-height:1.45;color:#718795}
.gc-subhead{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:11px 0 7px}
.gc-subhead b{font-size:10.5px;letter-spacing:.065em;text-transform:uppercase;color:#425f71}
.gc-subhead small{font-size:9.5px;color:#81939e}
.gc-toggle{display:inline-flex;align-items:center;gap:7px;cursor:pointer;user-select:none}
.gc-toggle input{position:absolute;opacity:0;pointer-events:none}
.gc-switch{width:32px;height:18px;border-radius:999px;background:#c8d6df;position:relative;transition:.2s}
.gc-switch:after{content:"";position:absolute;width:14px;height:14px;border-radius:50%;background:#fff;left:2px;top:2px;box-shadow:0 1px 4px rgba(0,0,0,.18);transition:.2s}
.gc-toggle input:checked + .gc-switch{background:#0b7ed5}
.gc-toggle input:checked + .gc-switch:after{transform:translateX(14px)}
.gc-toggle .toggle-label{font-size:10.5px;color:#506b7a;font-weight:650}
.gc-input-row input,.gc-input-row select{
  width:100%;min-width:0;border:1px solid #cfdee8;border-radius:7px;
  padding:7px 8px;background:#fff;color:#183a4e;font:600 11px var(--font-mono);
}
.gc-input-row input:disabled,.gc-input-row select:disabled{background:#f1f4f6;color:#98a8b1;cursor:not-allowed}
.gc-input-row.is-disabled{opacity:.55}
.gc-input-row.wide-desc .desc{max-width:none}
.gc-method-row{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.gc-method-btn{border:1px solid #cddde7;background:#fff;color:#56707f;padding:7px 8px;border-radius:7px;font-size:10.5px;font-weight:700;cursor:pointer}
.gc-method-btn.active{background:#0b7ed5;color:#fff;border-color:#0b7ed5;box-shadow:0 4px 10px rgba(11,126,213,.16)}
.gc-inline-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.gc-mini-field{border:1px solid #dce8ef;border-radius:8px;padding:7px;background:#fbfdff}
.gc-mini-field span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:#7a8e9a;margin-bottom:4px}
.gc-mini-field b{font:700 11px var(--font-mono);color:#0b6fca}

.result-group{margin-bottom:14px}
.result-group-title{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#5e7685;margin-bottom:7px}
.result-matrix{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.result-card-pro{border:1px solid #dbe7ee;border-radius:9px;padding:9px 10px;background:#fff}
.result-card-pro .lab{font-size:9.5px;color:#728794;margin-bottom:4px}
.result-card-pro .val{font:700 15px var(--font-mono);color:#0b6fca}
.result-card-pro .sub{font-size:9px;color:#8698a2;margin-top:3px}
.result-card-pro.status .val{font-size:12px}
.result-card-pro.status.pass .val{color:#218a4f}
.result-card-pro.status.warn .val{color:#b27313}

.calc-outline{display:grid;gap:8px}
.calc-step{border:1px solid #dce8ef;border-radius:9px;background:#fff;padding:10px 11px}
.calc-step-head{display:flex;align-items:center;gap:8px;margin-bottom:5px}
.calc-step-no{width:22px;height:22px;border-radius:6px;background:#eaf5ff;color:#0b6fca;display:grid;place-items:center;font:700 9px var(--font-mono)}
.calc-step b{font-size:11.5px;color:#24485d}
.calc-step p{margin:3px 0 0;font-size:10.5px;line-height:1.45;color:#6b818e}

.wall-theory-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0 15px}
.wall-theory-card{border:1px solid #dbe8f0;border-radius:10px;background:#fff;padding:11px}
.wall-theory-card h4{margin:0 0 6px;font-size:12px;color:#0b5f9b}
.wall-theory-card p{font-size:11px;line-height:1.48;margin:0;color:#627987}
.wall-eq{margin:8px 0;padding:8px 10px;border-left:3px solid #1487e8;background:#f5fbff;font:600 12.5px/1.55 var(--font-mono);color:#2f566c}
.wall-theory-figure{border:1px solid #dbe7ee;border-radius:11px;background:#fff;padding:8px;margin:10px 0 15px}
.wall-theory-figure svg{display:block;width:100%;height:auto}
.wall-variable-table{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px}
.wall-variable-table div{display:grid;grid-template-columns:52px 1fr;gap:7px;padding:7px 8px;border:1px solid #e1ebf1;border-radius:7px;background:#fbfdff}
.wall-variable-table span{font:700 11px var(--font-mono);color:#0b6fca}
.wall-variable-table b{font-size:10.5px;font-weight:600;color:#526d7d}

#wallCrossSvg .soil{fill:#f2ead6}
#wallCrossSvg .soil-front{fill:#eee4ca}
#wallCrossSvg .soil-dot{fill:#cdbb8d;opacity:.42}
#wallCrossSvg .concrete{fill:#d9e1e6;stroke:#314a58;stroke-width:2}
#wallCrossSvg .shelf,#wallCrossSvg .key{fill:#d9e1e6;stroke:#314a58;stroke-width:2} /* N4: shelf and key are the same concrete as the wall */
#wallCrossSvg .water-fill{fill:#8ed2ef;opacity:.23}
#wallCrossSvg .water-line{stroke:#1682c4;stroke-width:2;stroke-dasharray:8 5}
#wallCrossSvg .ground{stroke:#607784;stroke-width:1.7}
#wallCrossSvg .dim{stroke:#6f8693;stroke-width:1.1}
#wallCrossSvg .dim-label{fill:#5a7180;font:11px var(--font-mono)}
#wallCrossSvg .load-arrow{stroke:#0b6fca;stroke-width:2}
#wallCrossSvg .earth-arrow{stroke:#d48223;stroke-width:1.4}
#wallCrossSvg .water-arrow{stroke:#1682c4;stroke-width:1.4}
#wallCrossSvg .seismic-arrow{stroke:#c94848;stroke-width:1.6}
#wallCrossSvg .label{fill:#25485d;font:11px var(--font-text);font-weight:650}
#wallCrossSvg .small{fill:#667d8b;font:9.5px var(--font-text)}
#wallCrossSvg .handle{fill:#fff;stroke:#0b7ed5;stroke-width:2}

#pressureSvg .axis{stroke:#637c8b;stroke-width:1.3}
#pressureSvg .earth-fill{fill:#f2b05e;opacity:.28}
#pressureSvg .earth-line{stroke:#d48223;stroke-width:2}
#pressureSvg .water-fill{fill:#63bfe7;opacity:.25}
#pressureSvg .water-line{stroke:#1682c4;stroke-width:2}
#pressureSvg .surcharge-fill{fill:#88a9f7;opacity:.22}
#pressureSvg .surcharge-line{stroke:#557fd9;stroke-width:2}
#pressureSvg .seismic-fill{fill:#e67e7e;opacity:.20}
#pressureSvg .seismic-line{stroke:#c94848;stroke-width:2;stroke-dasharray:6 4}
#pressureSvg text{font-family:var(--font-text)}

.wall-3d-concrete{fill:#d9e1e6;stroke:#283d49;stroke-width:2}
.wall-3d-ground{fill:#f3ead5;stroke:#d2b66e;stroke-width:1.5}
.wall-3d-shelf,.wall-3d-key{fill:#c7d5dd;stroke:#283d49;stroke-width:1.6}
.wall-3d-water{fill:#77c8eb;opacity:.18;stroke:#1682c4;stroke-width:1}
.wall-3d-load{stroke:#0b6fca;stroke-width:1.8}

@media(max-width:1050px){.studio{grid-template-columns:1fr}.studio-panel{min-height:520px}}
@media(max-width:720px){
  .gc-inline-grid,.wall-theory-grid,.wall-variable-table,.result-matrix{grid-template-columns:1fr}
  .studio-readout{flex-wrap:wrap}
}



/* Model-section accordions */
.tool-tabpage[data-tabpage="model"] .input-section{
  position:relative;
  padding-top:0;
  overflow:hidden;
}
.tool-tabpage[data-tabpage="model"] .input-section > .input-title{
  margin:0 -1px 0;
  padding:11px 34px 11px 13px;
  border-bottom:1px solid #dce7ee;
  background:linear-gradient(180deg,#fbfdff,#f3f9fd);
  cursor:pointer;
  user-select:none;
  position:relative;
  color:#244b63;
}
.tool-tabpage[data-tabpage="model"] .input-section > .input-title::after{
  content:"⌄";
  position:absolute;
  right:13px;
  top:50%;
  transform:translateY(-52%) rotate(0deg);
  font-size:15px;
  font-weight:800;
  color:#0b6fca;
  transition:transform .18s ease;
}
.tool-tabpage[data-tabpage="model"] .input-section.is-collapsed > .input-title{
  border-bottom-color:transparent;
}
.tool-tabpage[data-tabpage="model"] .input-section.is-collapsed > .input-title::after{
  transform:translateY(-52%) rotate(-90deg);
}
.tool-tabpage[data-tabpage="model"] .input-section > :not(.input-title){
  margin-left:12px;
  margin-right:12px;
}
.tool-tabpage[data-tabpage="model"] .input-section > :last-child{
  margin-bottom:12px;
}
.tool-tabpage[data-tabpage="model"] .input-section.is-collapsed > :not(.input-title){
  display:none !important;
}
.tool-tabpage[data-tabpage="model"] .input-section + .input-section{
  margin-top:8px;
}




/* Keep tool tabs and content to the right of the drawing on desktop */
.studio{
  display:grid !important;
  grid-template-columns:minmax(0,1.12fr) minmax(430px,.88fr) !important;
  align-items:start;
  gap:14px;
}
.studio-stage{grid-column:1;grid-row:1}
.studio-panel{
  grid-column:2;grid-row:1;
  align-self:start;
}
@media(max-width:760px){
  .studio{grid-template-columns:1fr !important}
  .studio-stage,.studio-panel{grid-column:1}
  .studio-stage{grid-row:1}
  .studio-panel{grid-row:2}
}



/* Continuous wall outline + CAD-style dimensions */
#wallCrossSvg #wallOutline{
  fill:#d9e1e6;
  stroke:#263e4c;
  stroke-width:2.4;
  stroke-linejoin:round;
  stroke-linecap:round;
}
#wallCrossSvg .dim-ext{
  stroke:#586fff;
  stroke-width:.90;
}
#wallCrossSvg .dim-main{
  stroke:#586fff;
  stroke-width:.95;
}
#wallCrossSvg .dim-tick{
  stroke:#586fff;
  stroke-width:.95;
}
#wallCrossSvg .dim-text{
  fill:#586fff;
  font:11.5px var(--font-mono);
  paint-order:stroke;
  stroke:#fff;
  stroke-width:4px;
  stroke-linejoin:round;
}
#wallCrossSvg .dim-note{
  fill:#718795;
  font:10px var(--font-text);
}
#wallCrossSvg .dim-text.accent{
  fill:#586fff;
  font-weight:700;
}



/* ===== Readability + unified soil fill refinements ===== */
.input-title{font-size:13.5px !important; letter-spacing:.06em}
.gc-section-note{font-size:11.5px !important; line-height:1.52}
.gc-subhead b{font-size:11.5px !important}
.gc-subhead small{font-size:10.5px !important}
.gc-toggle .toggle-label{font-size:11.5px !important}
.gc-input-row{font-size:12px !important}
.gc-input-row .sym{font-size:12.5px !important}
.gc-input-row .desc{font-size:11.8px !important; line-height:1.35}
.gc-input-row input,
.gc-input-row select{
  font:700 12.6px var(--font-mono) !important;
  padding:8px 9px !important;
}
.gc-mini-field span{font-size:10px !important}
.gc-mini-field b{font:700 12px var(--font-mono) !important}
.studio-tabs button{font-size:13px !important}
/* Five tabs share this row (Report is added by the tool), so the equal-share flex basis gave each one
   114 px while "CALCULATIONS" needs 127 and came out as "CALCULA…". A min-content floor lets that one
   tab keep its label and the remaining width is still shared equally by the other four; the ellipsis
   of geocalc.css stays as the fallback, and below the single-column breakpoint the floor is dropped so
   the row can never grow wider than its card. */
@media(min-width:700px){.studio-tabs.tool-tabs button{min-width:min-content}}
.viewbar button{font-size:12px !important}
.result-group-title{font-size:10.8px !important}
.result-card-pro .lab{font-size:10.5px !important}
.result-card-pro .val{font:700 16px var(--font-mono) !important}
.result-card-pro .sub{font-size:9.8px !important}
.calc-step b{font-size:12px !important}
.calc-step p{font-size:11.2px !important}
.theory-copy p,
.wall-theory-card p{font-size:11.5px !important; line-height:1.6}
.wall-theory-card h4{font-size:13px !important}
.wall-eq{font:700 13px/1.58 var(--font-mono) !important}
.wall-variable-table b{font-size:11px !important}
.wall-variable-table span{font:700 11.5px var(--font-mono) !important}

/* Drawing readability */
#wallCrossSvg .label{font:13px var(--font-text) !important;font-weight:700 !important}
#wallCrossSvg .small{font:11px var(--font-text) !important}
#wallCrossSvg .dim-text{font:12px var(--font-mono) !important;stroke-width:5px !important}
#wallCrossSvg .dim-text.accent{font-size:12.5px !important}
#pressureSvg text{font-size:12px !important}
#pressureSvg .axis{stroke-width:1.4}
.readoutbar .ro-sym{font-size:11px !important}
.readoutbar .ro-val{font-size:13px !important}

/* Single-color soil fill across the module */
#wallCrossSvg .soil,
#wallCrossSvg .soil-front{
  fill:#efe4c7 !important;
}
#wallCrossSvg .soil-dot{
  fill:#c7b186 !important;
  opacity:.32 !important;
}
.wall-3d-ground{
  fill:#efe4c7 !important;
  stroke:#d2b66e !important;
  stroke-width:1.5 !important;
}



/* ===== v6: clean unified soil material ===== */
#wallCrossSvg .soil-mass{
  fill:#F1E7CE !important;
  stroke:none !important;
}
#wallCrossSvg .soil-mass-pattern{
  opacity:.40 !important;
  pointer-events:none;
}
#wallCrossSvg #soilPattern circle,
#wallCrossSvg .soil-dot{
  fill:#B9A77B !important;
  opacity:.38 !important;
}
#wallCrossSvg .water-fill{display:none !important}
#wallCrossSvg .water-line{
  stroke:#1687C7 !important;
  stroke-width:2 !important;
  stroke-dasharray:8 6 !important;
}
#wallCrossSvg .ground{
  stroke:#566F7D !important;
  stroke-width:1.8 !important;
}



/* Backfill surface selector */
#backfillModeButtons .gc-method-btn{
  min-height:34px;
  font-size:11.5px;
}
#backfillSlopeInputs.is-disabled{
  opacity:.5;
}



/* v2 refinements requested by user */
#wallCrossSvg #earthArrows,
#wallCrossSvg #waterArrows,
#wallCrossSvg #seismicArrowGroup{
  display:none !important;
}

/* Larger, cleaner dimension typography */
#wallCrossSvg .dim-text{
  fill:#556dff !important;
  font:600 13.5px/1.0 "Inter","Segoe UI",Arial,sans-serif !important;
  letter-spacing:.01em;
  paint-order:stroke;
  stroke:#fff;
  stroke-width:4px;
  stroke-linejoin:round;
}
#wallCrossSvg .dim-text.accent{
  font:700 13.8px/1.0 "Inter","Segoe UI",Arial,sans-serif !important;
}
#wallCrossSvg .dim-note{
  fill:#718795;
  font:12px/1.0 "Inter","Segoe UI",Arial,sans-serif !important;
}
#wallCrossSvg .small{
  font:10.5px/1.0 "Inter","Segoe UI",Arial,sans-serif !important;
}

/* Backfill angle graphic */
#wallCrossSvg .beta-base,
#wallCrossSvg .beta-ray,
#wallCrossSvg .beta-arc{
  stroke:#556dff;
  stroke-width:1.1;
  fill:none;
}
#wallCrossSvg .beta-label{
  fill:#556dff;
  font:700 13px/1 "Inter","Segoe UI",Arial,sans-serif;
  paint-order:stroke;
  stroke:#fff;
  stroke-width:4px;
}
/* the ringed overturning pivot, in the ink of the drawing rather than the blue of the dimensions */
#wallCrossSvg .pivot-label{
  fill:#1f2d35;
  font:700 12.5px/1 "Inter","Segoe UI",Arial,sans-serif;
  paint-order:stroke;
  stroke:#fff;
  stroke-width:4.5px;
  stroke-linejoin:round;
}



/* Stem geometry mode */
#stemModeButtons .gc-method-btn,
#stemDirectionButtons .gc-method-btn{
  min-height:34px;
  font-size:11.5px;
}
#stemDirectionNote{
  padding:7px 9px;
  border:1px solid #e1ebf1;
  border-radius:7px;
  background:#fbfdff;
  color:#607987;
}



/* Passive-side fill label */
#wallCrossSvg #frontFillLabel{
  fill:#607784;
  font:600 11.5px/1 "Inter","Segoe UI",Arial,sans-serif;
  paint-order:stroke;
  stroke:#fff;
  stroke-width:4px;
}



#wallCrossSvg #soilInfoGroup text{
  fill:#5d7481;
  font:600 11.8px/1.0 "Inter","Segoe UI",Arial,sans-serif;
  paint-order:stroke;
  stroke:#fff;
  stroke-width:4px;
}
#wallCrossSvg #soilInfoGroup text:first-child{
  fill:#304d5d;
  font-weight:700;
}



/* Requested cleanup */
#wallCrossSvg #frontFillLabel{
  display:none !important;
}
#wallCrossSvg #soilInfoGroup rect{
  stroke:#8fa4b0;
  stroke-width:1;
}
#wallCrossSvg #gwtLabel{
  font-weight:700;
  letter-spacing:.02em;
}



#wallCrossSvg .beta-label{
  fill:#556dff;
  font:700 12.6px/1 "Inter","Segoe UI",Arial,sans-serif;
  paint-order:stroke;
  stroke:#fff;
  stroke-width:4px;
}



/* ===== MODEL panel subsection emphasis ===== */
.tool-tabpage[data-tabpage="model"] .input-section{
  margin-bottom:16px !important;
  border:2.5px solid #2586e6 !important;
  border-radius:12px !important;
  background:linear-gradient(180deg,#ffffff 0%, #f9fcfe 100%) !important;
  box-shadow:0 4px 14px rgba(25,87,126,.06) !important;
  overflow:hidden !important;
}

.tool-tabpage[data-tabpage="model"] .input-section > .input-title{
  margin:0 !important;
  padding:12px 38px 12px 14px !important;
  border-bottom:1px solid #dbe8f0 !important;
  background:linear-gradient(180deg,#f3f9fe 0%, #eaf4fb 100%) !important;
  color:#114c7b !important;
  font-weight:800 !important;
  position:relative;
}

.tool-tabpage[data-tabpage="model"] .input-section > .input-title::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:5px;
  background:linear-gradient(180deg,#2b8be6 0%, #126fca 100%);
}

.tool-tabpage[data-tabpage="model"] .input-section > .input-title::after{
  right:14px !important;
  color:#126fca !important;
  font-size:15px !important;
}

.tool-tabpage[data-tabpage="model"] .input-section > :not(.input-title){
  margin-left:14px !important;
  margin-right:14px !important;
}

.tool-tabpage[data-tabpage="model"] .input-section > :last-child{
  margin-bottom:14px !important;
}

.tool-tabpage[data-tabpage="model"] .input-section.is-collapsed{
  background:linear-gradient(180deg,#ffffff 0%, #fbfdff 100%) !important;
  box-shadow:0 2px 8px rgba(25,87,126,.04) !important;
  border-color:#2586e6 !important;
}

.tool-tabpage[data-tabpage="model"] .input-section.is-collapsed > .input-title{
  border-bottom-color:transparent !important;
}

.tool-tabpage[data-tabpage="model"] .input-section .gc-subhead{
  margin-top:10px;
  padding:8px 10px;
  border:1px solid #e3edf4;
  border-radius:8px;
  background:#f8fbfd;
}

.tool-tabpage[data-tabpage="model"] .input-section .gc-inline-grid .gc-mini-field{
  border:1px solid #d9e7ef;
  background:#fbfdff;
  border-radius:9px;
}

.tool-tabpage[data-tabpage="model"] .input-section .gc-section-note{
  color:#587181;
}



/* Passive-side pressure state */
#passiveStateSelect{
  width:100%;
  min-width:0;
  border:1px solid #c9dce8;
  border-radius:8px;
  background:#fff;
  color:#183a4e;
  padding:8px 9px;
  font:700 11.5px/1.2 "Inter","Segoe UI",Arial,sans-serif;
}
#passiveStateSelect:focus{
  outline:none;
  border-color:#1685de;
  box-shadow:0 0 0 3px rgba(20,135,232,.12);
}
.passive-state-note{
  border-left:3px solid #1487e8;
  padding-left:10px;
}



/* Optional No / Yes selectors */
#surchargePresenceButtons .gc-method-btn,
#earthquakePresenceButtons .gc-method-btn{
  min-height:35px;
  font-size:11.5px;
}
#surchargeInputs.is-disabled,
#seismicInputs.is-disabled{
  opacity:.55;
}



/* ===== Rotatable 3D wall view ===== */
.wall3d-wrap{
  height:100%;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.wall3d-topbar{
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 10px 0 10px;
  color:#44606f;
  flex-wrap:wrap;
}
.wall3d-title{
  font:800 13px/1 "Inter","Segoe UI",Arial,sans-serif;
  color:#124a78;
}
.wall3d-badge{
  padding:4px 8px;
  border:1px solid #cfe0eb;
  border-radius:999px;
  background:#f4f9fd;
  color:#31586f;
  font:700 11px/1 "Inter","Segoe UI",Arial,sans-serif;
}
.wall3d-hint{
  margin-left:auto;
  font:600 11px/1 "Inter","Segoe UI",Arial,sans-serif;
  color:#708896;
}
#wall3dSvg{
  width:100%;
  height:100%;
  min-height:420px;
  border-top:1px solid #e4edf3;
  cursor:grab;
  touch-action:none;
}
#wall3dSvg.is-dragging{ cursor:grabbing; }
#wall3dScene .wall3d-face-front{
  fill:url(#wall3dFrontGrad);
  stroke:#4b606c;
  stroke-width:1.15;
  opacity:1;
}
#wall3dScene .wall3d-face-back{
  fill:url(#wall3dBackGrad);
  stroke:#607784;
  stroke-width:1.0;
  opacity:1;
}
#wall3dScene .wall3d-face-side{
  fill:url(#wall3dSideGrad);
  stroke:#435964;
  stroke-width:1.0;
  opacity:1;
}
#wall3dScene .wall3d-edge{
  fill:none;
  stroke:#2f434e;
  stroke-width:1.35;
  stroke-linejoin:round;
  stroke-linecap:round;
}
#wall3dScene .wall3d-ghost{
  display:none;
}
#wall3dScene .wall3d-caption{
  fill:#69808d;
  font:700 12px/1 "Inter","Segoe UI",Arial,sans-serif;
}
#wall3dScene .wall3d-axis{
  stroke:#8fa4b0;
  stroke-width:1;
}



.wall3d-topbar{
  padding:8px 10px 0 10px;
}
.wall3d-title{
  font-size:13px;
}



/* Analysis Settings method groups */
.dynamic-method-row{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px !important;
}
.dynamic-method-row .gc-method-btn{
  min-height:42px;
  padding:7px 8px;
  white-space:normal;
  line-height:1.25;
}
.analysis-warning{
  margin-top:9px;
  padding:9px 11px;
  border:1px solid #e6a2a2;
  border-left:4px solid #c94848;
  border-radius:8px;
  background:#fff6f6;
  color:#9a2f2f;
  font:700 11.5px/1.45 "Inter","Segoe UI",Arial,sans-serif;
}
.analysis-warning.warning-flash{
  animation:gcWarningFlash .55s ease;
}
@keyframes gcWarningFlash{
  0%,100%{box-shadow:none}
  50%{box-shadow:0 0 0 4px rgba(201,72,72,.16)}
}
#frontWaterLine{
  stroke:#1682c4;
  stroke-width:1.6;
  stroke-dasharray:7 5;
}
#frontGwtLabel{
  font-weight:700;
}
@media(max-width:560px){
  .dynamic-method-row{grid-template-columns:1fr !important}
}



/* Relief-shelf pressure-distribution method */
.relief-shelf-method-row{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px !important;
}
.relief-shelf-method-row .gc-method-btn{
  min-height:40px;
  padding:7px 8px;
  white-space:normal;
  line-height:1.25;
}
#reliefShelfMethodGroup.is-analysis-disabled{
  opacity:.48;
}
#reliefShelfMethodGroup.is-analysis-disabled .gc-method-btn{
  cursor:not-allowed;
}
@media(max-width:560px){
  .relief-shelf-method-row{grid-template-columns:1fr !important}
}



/* ===== Context help buttons + illustrated explanations ===== */
.gc-help-btn{
  width:20px;
  height:20px;
  min-width:20px;
  padding:0;
  margin-left:5px;
  display:inline-grid;
  place-items:center;
  border:1.6px solid #2586e6;
  border-radius:50%;
  background:#fff;
  color:#0b6fca;
  font:800 12px/1 "Inter","Segoe UI",Arial,sans-serif;
  cursor:pointer;
  vertical-align:middle;
  box-shadow:0 1px 4px rgba(11,111,202,.10);
}
.gc-help-btn:hover{background:#eaf5ff;border-color:#0b6fca}
.gc-help-btn:focus{outline:none;box-shadow:0 0 0 3px rgba(20,135,232,.16)}
.gc-input-row .sym .gc-help-btn{transform:translateY(-1px)}
.gc-help-open{overflow:hidden}

.gc-help-modal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  padding:24px;
}
.gc-help-modal[hidden]{display:none!important}
.gc-help-backdrop{
  position:absolute;
  inset:0;
  background:rgba(9,32,48,.46);
  backdrop-filter:blur(2px);
}
.gc-help-card{
  position:relative;
  z-index:1;
  width:min(820px,calc(100vw - 36px));
  max-height:min(82vh,760px);
  overflow:auto;
  padding:22px 24px 24px;
  border:1px solid #c9dae5;
  border-radius:16px;
  background:#fff;
  box-shadow:0 24px 70px rgba(13,54,79,.28);
}
.gc-help-close{
  position:absolute;
  top:12px;
  right:14px;
  width:32px;
  height:32px;
  border:1px solid #cedde7;
  border-radius:9px;
  background:#f8fbfd;
  color:#35566a;
  font:500 23px/1 "Segoe UI",Arial,sans-serif;
  cursor:pointer;
}
.gc-help-close:hover{background:#eef6fb}
.gc-help-kicker{
  color:#0b6fca;
  font:800 10px/1.2 "Inter","Segoe UI",Arial,sans-serif;
  letter-spacing:.12em;
}
.gc-help-card h3{
  margin:6px 42px 10px 0;
  color:#173f59;
  font:800 20px/1.25 "Inter","Segoe UI",Arial,sans-serif;
}
.gc-help-lead{
  margin:0 0 14px;
  color:#526b79;
  font-size:13px;
  line-height:1.55;
}
.gc-help-diagram-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.gc-help-diagram-card,
.gc-help-single-diagram{
  border:1px solid #d7e5ee;
  border-radius:12px;
  background:#fbfdff;
  overflow:hidden;
}
.gc-help-diagram-card{padding:12px 12px 11px}
.gc-help-diagram-card p{
  margin:7px 3px 0;
  color:#607784;
  font-size:11.5px;
  line-height:1.5;
}
.gc-help-diagram-title{
  margin:0 0 4px;
  color:#144d77;
  font-size:12.5px;
  font-weight:800;
}
.gc-help-single-diagram{padding:10px}
.gc-help-svg{width:100%;height:auto;display:block}
.gc-help-svg.large{max-height:330px}
.gc-help-svg .help-concrete{
  fill:#d4dde2;
  stroke:#2c4654;
  stroke-width:2;
  stroke-linejoin:round;
}
.gc-help-svg .help-guide{stroke:#78909c;stroke-width:1.2;stroke-dasharray:5 4}
.gc-help-svg .help-accent{fill:none;stroke:#1487e8;stroke-width:2.6}
.gc-help-svg .help-arrow{fill:none;stroke:#1487e8;stroke-width:2}
.gc-help-svg .help-text{fill:#59717f;font:11px "Inter","Segoe UI",Arial,sans-serif}
.gc-help-svg .help-text.strong{fill:#164b6d;font-weight:800}
.gc-help-svg .help-side-label{fill:#8496a0;font:800 9.5px "Inter","Segoe UI",Arial,sans-serif;letter-spacing:.05em}
.gc-help-svg .help-ground{stroke:#536d7a;stroke-width:1.8}
.gc-help-svg .help-dim,.gc-help-svg .help-dim-water{stroke:#586fff;stroke-width:1.35}
.gc-help-svg .help-dim-water{stroke:#1682c4}
.gc-help-svg .help-dim-text{fill:#586fff;font:800 15px "Inter","Segoe UI",Arial,sans-serif}
.gc-help-svg .help-dim-water-text{fill:#1682c4;font:800 15px "Inter","Segoe UI",Arial,sans-serif}
.gc-help-svg .help-label{fill:#667e8b;font:11.5px "Inter","Segoe UI",Arial,sans-serif}
.gc-help-svg .help-label.strong{fill:#244b63;font-weight:800}
.gc-help-svg .help-water{stroke:#1682c4;stroke-width:2;stroke-dasharray:7 5}
.gc-help-svg .help-water-text{fill:#1682c4;font:800 11.5px "Inter","Segoe UI",Arial,sans-serif}
.gc-help-rule{
  margin-top:12px;
  padding:10px 12px;
  border-left:3px solid #1487e8;
  border-radius:0 8px 8px 0;
  background:#f4f9fd;
  color:#557080;
  font-size:12px;
  line-height:1.5;
}
.gc-help-rule b{color:#173f59}

@media(max-width:680px){
  .gc-help-modal{padding:12px}
  .gc-help-card{width:calc(100vw - 20px);padding:18px 16px 20px}
  .gc-help-diagram-grid{grid-template-columns:1fr}
}

/* --- calculation engine additions (2026-09-15) --- */
.rw-alerts{margin:0 0 12px}
/* the warnings of the analysis at the top of Results, Calculations and Report: one bar in the look of the
   Analyze bar (the number, the kinds, the load cases) with the button that opens the full list */
.rw-wbar{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:linear-gradient(135deg,#c2410c 0%,#f08a12 100%);color:#fff;box-shadow:0 6px 16px rgba(194,65,12,.22)}
.rw-wbar.is-stop{background:linear-gradient(135deg,#a3261b 0%,#d64545 100%);box-shadow:0 6px 16px rgba(163,38,27,.24)}
.rw-wbar-ic{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.2);box-shadow:inset 0 0 0 2px rgba(255,255,255,.55);font:800 16px/1 var(--font-text)}
.rw-wbar-txt{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}
.rw-wbar-txt b{font:800 13px/1.2 var(--font-text);letter-spacing:.06em;text-transform:uppercase}
.rw-wbar-txt span{font-size:12px;line-height:1.35;color:rgba(255,255,255,.92);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rw-wbar-btn{flex:0 0 auto;border:0;border-radius:8px;padding:8px 14px;background:#fff;color:#b3410e;font:700 12.5px/1 var(--font-text);cursor:pointer;white-space:nowrap}
.rw-wbar.is-stop .rw-wbar-btn{color:#a3261b}
.rw-wbar-btn:hover{background:#fff4ea}
.rw-wbar-btn:focus-visible{outline:2px solid #fff;outline-offset:2px}
@media (max-width:520px){.rw-wbar{flex-wrap:wrap}.rw-wbar-btn{margin-left:44px}}
.rw-alerts .warn{margin:6px 0}
.result-card-pro .val.ok{color:#15803d}
.result-card-pro .val.ng{color:#b42318}
.result-card-pro .sub .pill-ok{color:#15803d;font-weight:700}
.result-card-pro .sub .pill-ng{color:#b42318;font-weight:700}
.rw-case-note{font-size:11.5px;color:#607784;margin:4px 0 0}
#pressureSvg text{font-family:Arial,Helvetica,sans-serif}

/* --- detailed results, pressure buttons, report tab (2026-09-16) --- */
.relief-shelf-method-row{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:560px){.relief-shelf-method-row{grid-template-columns:1fr !important}}
.rw-opt-row .gc-method-btn{min-height:38px;white-space:normal;line-height:1.25}
.rw-opt-group.rw-opt-dim{opacity:.5}
.rw-block{border:1px solid #dbe7ee;border-radius:10px;background:#fff;padding:10px 11px;margin:0 0 14px}
.rw-block-h{font-size:10.8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#5e7685;margin:0 0 8px}
.rw-sub-h{font-size:12px;font-weight:700;color:#24485d;margin:10px 0 5px}
.rw-btnrow{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 7px}
.rw-chip{border:1px solid #cddde7;background:#fff;color:#4f6a79;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:700;cursor:pointer;line-height:1.2}
.rw-chip:hover{background:#eef6fb}
.rw-chip[aria-pressed="true"]{background:#0b7ed5;border-color:#0b7ed5;color:#fff}
.rw-chip.rw-case[aria-pressed="true"]{background:#083a63;border-color:#083a63}
.rw-scroll{overflow-x:auto;margin:4px 0 8px}
table.gc.rw-table{font-size:11.5px;width:100%;border-collapse:collapse}
table.gc.rw-table th{text-transform:none;letter-spacing:0;font-size:10.5px;white-space:nowrap}
table.gc.rw-table td{white-space:nowrap}
table.gc.rw-table td.txt{font-family:var(--font-text);white-space:normal;text-align:left;min-width:130px}
table.gc.rw-table td small{color:#7a8e9a}
table.gc.rw-table tr.sum td{font-weight:700;border-top:1px solid #c9d6de}
table.gc.rw-table tr.sel td{background:#eef6ff}
.rw-pill{display:inline-block;padding:1px 7px;border-radius:999px;font:700 10px/1.5 "Inter","Segoe UI",Arial,sans-serif;margin-left:5px}
.rw-pill.ok{background:#e7f6ec;color:#15803d}
.rw-pill.ng{background:#fdecea;color:#b42318}
.rw-comp-svg{width:100%;height:auto;display:block;border:1px solid #e1eaf0;border-radius:8px;margin:4px 0 8px}
.rw-formula{font-size:11.5px;color:#46606e;background:#f6f9fb;border-left:3px solid #9fc3de;padding:6px 9px;margin:6px 0;border-radius:0 6px 6px 0;line-height:1.5}
.rw-note{font-size:11px;color:#6b7f8b;margin:4px 0;line-height:1.45}
.rw-kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:6px;margin:6px 0}
.rw-kv div{border:1px solid #e1eaf0;border-radius:7px;padding:5px 7px;background:#fbfdff}
.rw-kv span{display:block;font-size:9.5px;color:#7a8e9a;letter-spacing:.03em;margin-bottom:2px}
.rw-kv b{font:700 12px var(--font-mono);color:#0b6fca}
.rw-pchips{display:flex;flex-wrap:wrap;gap:5px;padding:6px 8px 2px}
.rw-pchips .rw-chip{font-size:10.5px;padding:4px 8px}
.rw-pchips .rw-chip i{display:inline-block;width:14px;height:3px;margin-right:5px;vertical-align:middle;border-radius:2px}
.rw-pchips .rw-chip[aria-pressed="false"]{opacity:.6}
.rw-calc-toggle{margin:0 0 10px}
.rw-report-intro{font-size:12px;color:#46606e;line-height:1.55;margin:0 0 10px}
.rw-report-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 12px}
.rw-report-msg{font-size:11px;color:#6b7f8b}
.rw-report-preview{border:1px solid #dbe7ee;border-radius:10px;background:#fff;padding:14px 16px;overflow:auto}
.rw-report-preview .rep-h1{font-size:15px;letter-spacing:0;text-transform:none;color:#17262b;margin:20px 0 6px}
.rw-report-preview .rep-p{font-size:12.5px;line-height:1.55;margin:4px 0 8px}
.rw-report-preview figure{margin:8px 0 12px}
.rw-report-preview figure svg{width:100%;height:auto}
.rw-report-preview figcaption{font-size:11px;color:#607784;margin-top:4px}
.rw-report-preview table.gc{font-size:11.5px}
.rw-report-preview .rail-n,.rw-report-preview .rail-i{display:none}

/* ---------------------------------------------------------------- review fixes (2026-09-16)
   Wide tables: a scroll shadow appears only while the table really overflows its wrapper, so a
   cut-off column can be seen and reached. Checks table: value / limit / verdict stack, which is
   what lets the third seismic column fit. Non-evaluable checks get a neutral badge, never a red
   NOT OK. Narrow screens drop the in-diagram ordinate labels (the same numbers sit in the table
   right below the figure), and the Calculations sheet now carries figures of its own. */
.rw-scroll{background:
  linear-gradient(90deg,#fff 32%,rgba(255,255,255,0)) 0 0,
  linear-gradient(90deg,rgba(255,255,255,0),#fff 68%) 100% 0,
  radial-gradient(farthest-side at 0 50%,rgba(36,72,93,.22),rgba(36,72,93,0)) 0 0,
  radial-gradient(farthest-side at 100% 50%,rgba(36,72,93,.22),rgba(36,72,93,0)) 100% 0;
  background-repeat:no-repeat;background-size:34px 100%,34px 100%,15px 100%,15px 100%;
  background-attachment:local,local,scroll,scroll}
table.gc.rw-table.rw-checks td{white-space:normal;vertical-align:top;min-width:78px}
table.gc.rw-table.rw-checks td .rw-cval{display:block;font-weight:600}
table.gc.rw-table.rw-checks td .rw-clim{display:block;color:#7a8e9a}
table.gc.rw-table.rw-checks td .rw-pill{margin:3px 0 0}
.rw-pill.na{background:#eef2f6;color:#5e7685}
.rw-why{display:block;margin-top:3px;color:#7a8e9a;font-size:10px;line-height:1.35;white-space:normal;max-width:160px}
.rw-calc-fig{margin:4px 0 12px}
.rw-calc-fig .figure{border:1px solid #e1eaf0;border-radius:8px;padding:6px;background:#fff}
.rw-calc-fig svg{width:100%;height:auto;display:block}
.rw-calc-fig figcaption{margin:5px 2px 0;font-size:11.5px;line-height:1.45;color:#5e7685}
@media (max-width:760px){
  .rw-comp-svg .rw-svg-lab{display:none}
  table.gc.rw-table td{white-space:normal}
}
/* The component diagrams are drawn in a 560-unit viewBox; on a phone that renders about 345 px
   wide, so a 10.5-unit label comes out at 6.5 px. The ordinate labels are hidden there (the same
   numbers stand in the table right below), and what stays is enlarged in viewBox units. */
@media (max-width:760px){.rw-comp-svg text{font-size:16.5px}}
/* wide tables: a wrapping header costs a line and saves a column falling outside the wrapper */
table.gc.rw-table th{white-space:normal}

/* ---------------------------------------------------------------- model data (2026-09-16)
   Saving and reopening a wall: the panel sits at the top of the Model sheet, right under the
   warnings, because it is the first thing wanted when the page is opened again. */
.rw-store-note{font-size:11.5px;line-height:1.5;color:#607784;margin:0 0 10px}
.rw-store-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 8px}
.rw-store-row .btn{font-size:12px;padding:6px 12px}
.rw-store-quiet{color:#7d5a4a}
.rw-store-sel{flex:1 1 180px;min-width:0;font:inherit;font-size:12px;padding:6px 8px;
  border:1px solid #dbe7ee;border-radius:8px;background:#fff;color:#17262b}
.rw-store-msg{font-size:11.5px;line-height:1.5;color:#3d7a63;margin:2px 0 0;min-height:1em}
/* the model name: names the saved file and the browser slot */
.rw-store-name{flex-wrap:nowrap}
.rw-store-name label{flex:0 0 auto;font-size:12px;font-weight:600;color:#35556b}
.rw-store-name input{flex:1 1 auto;min-width:0;height:34px;box-sizing:border-box;font:inherit;font-size:13px;padding:0 10px;border:1px solid #dbe7ee;border-radius:8px;background:#fff;color:#17262b}
.rw-store-name input:focus{outline:none;border-color:#1685de;box-shadow:0 0 0 3px rgba(20,135,232,.12)}
.rw-store-name input::placeholder{color:#9aabb6}
/* Quick Save and its (?) side by side */
.rw-qs{display:inline-flex;align-items:center;gap:5px}
/* the Quick Save explanation: a sample list of versions and the steps */
.gc-help-qs{margin:12px 0 10px;border:1px solid #dbe7ee;border-radius:10px;overflow:hidden;background:#fff}
.gc-help-qs-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border-top:1px solid #edf2f6;font-size:13px;color:#17262b}
.gc-help-qs-row:first-child{border-top:0}
.gc-help-qs-row span{font-size:11.5px;color:#7a8b97;font-variant-numeric:tabular-nums}
.gc-help-qs-row.is-on{background:#eaf4fd;box-shadow:inset 3px 0 0 #1487e8}
.gc-help-steps{margin:0 0 10px 20px;padding:0;font-size:13.5px;line-height:1.6;color:#2e4453}
.gc-help-steps li{margin:2px 0}
.rw-store-msg.is-bad{color:#a3402f}
@media (max-width:520px){.rw-store-row .btn{flex:1 1 auto}}

/* ---- Analyze workflow: the bar on the Model tab, the locked sections, the progress overlay and the modal */
.rw-analyze{position:sticky;bottom:0;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 0;padding:10px 12px;border:1px solid #cfe0ec;border-radius:10px;background:linear-gradient(180deg,#f7fbfe,#eef6fc);box-shadow:0 4px 14px rgba(23,63,91,.08)}
.rw-analyze-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.rw-analyze-txt b{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:#425f71}
.rw-analyze-txt b.is-ok{color:#1f7a45}.rw-analyze-txt b.is-warn{color:#a05a0c}
.rw-analyze-txt span{font-size:11.5px;color:#607784;line-height:1.35}
.rw-analyze-btns{display:flex;gap:6px;flex-shrink:0}
.rw-analyze .btn-primary{padding:8px 18px;font-weight:750}
.input-section.rw-locked{opacity:.62;position:relative}
.input-section.rw-locked .input-title:after{content:"locked";float:right;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#7a8e9a;border:1px solid #d5e1e8;border-radius:999px;padding:1px 6px}
.rw-empty{padding:26px 14px;text-align:center;font-size:13.5px}
.rw-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:rgba(14,32,45,.42);padding:20px}
.rw-overlay[hidden]{display:none}
.rw-progress-card{width:min(460px,100%);background:#fff;border-radius:14px;padding:22px 24px;box-shadow:0 18px 50px rgba(8,30,50,.35)}
.rw-progress-title{font:750 15px var(--font-text);color:#173447;margin-bottom:12px}
.rw-progress-bar{height:12px;border-radius:999px;background:#e3edf4;overflow:hidden}
.rw-progress-bar i{display:block;height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,#0d8bea,#0872c6);transition:width .18s ease-out}
.rw-progress-row{display:flex;justify-content:space-between;gap:10px;margin-top:9px;font-size:12px;color:#607784}
.rw-progress-row b{font:700 12px var(--font-mono);color:#0b6fca}
.rw-modal-card{width:min(640px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#fff;border-radius:14px;padding:20px 22px;box-shadow:0 18px 50px rgba(8,30,50,.35);border-top:6px solid #0b7ed5}
.rw-modal-card.is-ok{border-top-color:#2f9e62}.rw-modal-card.is-warn{border-top-color:#e39a2c}.rw-modal-card.is-error{border-top-color:#c94848}
.rw-modal-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.rw-modal-head h3{margin:0;font:750 17px var(--font-text);color:#173447}
.rw-modal-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;font:800 18px var(--font-text);color:#fff;background:#0b7ed5;flex-shrink:0}
.is-ok .rw-modal-icon{background:#2f9e62}.is-warn .rw-modal-icon{background:#e39a2c}.is-error .rw-modal-icon{background:#c94848}
.rw-modal-body{font-size:13.5px;line-height:1.5;color:#33576c}
.rw-modal-lead{margin:0 0 10px;color:#607784}
.rw-modal-list{margin:0;padding-left:20px}.rw-modal-list li{margin:0 0 6px}
.rw-modal-warns .warn{margin:0 0 8px}
.rw-modal-btns{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
.rw-analyze [hidden],.rw-overlay[hidden]{display:none!important}
/* the panel clips its rounded corners with overflow:hidden in the shared skin, which makes it a scroll container and kills position:sticky inside it; clip keeps the clipping without that */
.studio-panel.tool-panel{overflow:clip}
/* ---- Report tab: the Summary | Detailed choice, and the summary report's look in the preview (the
   report window and the Word file take theirs from the exporter's 'summary' template) */
.rw-report-kind{margin:0 0 10px}
.rw-report-summary .rws-summary{font-family:Calibri,"Segoe UI",Arial,sans-serif;font-size:14px;line-height:1.45;color:#1f2a33}
.rw-report-summary .sec-h{font-size:17px;font-weight:700;color:#1B4B8F;text-transform:none;letter-spacing:0;margin:22px 0 8px}
.rw-report-summary .step-h{font-size:14.5px;font-weight:700;color:#2E4E7E;margin:14px 0 6px}
.rw-report-summary .rep-p{text-align:justify;margin:0 0 8px;font-size:14px;max-width:none}
.rw-report-summary table.gc{width:100%;border-collapse:collapse;font-size:13px;margin:6px 0 12px}
.rw-report-summary table.gc th{background:#DCE3EF;color:#1f2a33;font-weight:700;text-align:center;text-transform:none;padding:6px 8px;border:1px solid #D5DBE5}
.rw-report-summary table.gc td{text-align:center;padding:5px 8px;border:1px solid #E1E5EC}
.rw-report-summary table.gc td:first-child,.rw-report-summary table.gc td.txt{text-align:left}
.rw-report-summary table.gc tr.sum td{background:#F0F3F8;font-weight:700}
.rws-ok{color:#1F7A45;font-weight:700}
.rws-ng{color:#B42318;font-weight:700}
.rws-warn{color:#A15C00;font-weight:700}
.rw-report-summary .eq{text-align:center;margin:8px 0 12px}
.rw-report-summary figure{text-align:center;margin:10px 0}
.rw-report-summary figcaption{font-style:italic;color:#555;font-size:12.5px}
.rw-report-summary ul.rep-list{margin:0 0 10px 22px;padding:0}
.rw-report-summary ul.rep-list li{margin:0 0 4px}

/* ------------------------------------------------------------ one-screen layout (desktop)
   The page itself does not scroll: the drawing always fits the window and only the right
   panel scrolls inside itself (tabs stay on top, the Analyze bar stays at the bottom). */
@media screen and (min-width:761px) and (min-height:560px){
  html,body{height:100%;overflow:hidden}
  /* the gaps under the page header, between the drawing and the cards and under the cards are 6 px
     each (were 24, 12 and 16): the drawing takes the difference */
  .studio{height:calc(100vh - var(--head-h));height:calc(100dvh - var(--head-h));box-sizing:border-box;padding-top:6px !important;padding-bottom:6px !important;align-items:stretch !important;grid-template-rows:minmax(0,1fr)}
  .studio-stage{position:relative;top:auto;height:100%;min-height:0;gap:6px}
  /* the page fills a window up to 1920 px wide (it stopped at 1540 px, centred): the drawing is limited by
     its width, so the extra width goes straight into it; a wider window keeps 1920 px, centred */
  .studio{max-width:1920px}
  .studio-canvas{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}
  .studio-canvas>.viewbar,.studio-canvas>.studio-readout{flex:0 0 auto}
  #studioFig{flex:1 1 auto;min-height:0}
  #studioFig>.diagram-pane.active{height:100%;display:flex;flex-direction:column}
  #studioFig>.diagram-pane.active>svg{flex:1 1 auto;min-height:0;height:100%}
  .studio-panel.tool-panel{height:100%;min-height:0;display:flex;flex-direction:column;align-self:stretch}
  .studio-panel.tool-panel>.studio-tabs{flex:0 0 auto}
  .studio-panel.tool-panel>.studio-tabpage{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}
}

/* ------------------------------------------------------------ Analyze bar: state colours */
.rw-analyze{border:0;color:#fff;box-shadow:0 8px 22px rgba(10,60,110,.28)}
.rw-analyze.is-idle{background:linear-gradient(135deg,#0b63c4 0%,#1487e8 100%)}
.rw-analyze.is-ok{background:linear-gradient(135deg,#127a43 0%,#22a35c 100%);box-shadow:0 8px 22px rgba(18,110,60,.30)}
.rw-analyze.is-warn{background:linear-gradient(135deg,#c2410c 0%,#f08a12 100%);box-shadow:0 8px 22px rgba(194,65,12,.32)}
.rw-analyze-txt{padding-left:44px;position:relative}
.rw-analyze-txt::before{content:"";position:absolute;left:0;top:50%;width:32px;height:32px;margin-top:-16px;border-radius:50%;background:rgba(255,255,255,.2) center/18px 18px no-repeat;box-shadow:inset 0 0 0 2px rgba(255,255,255,.55)}
.rw-analyze.is-idle .rw-analyze-txt::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 5v14l11-7z' fill='%23fff'/%3E%3C/svg%3E")}
.rw-analyze.is-ok .rw-analyze-txt::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12.5l5 5L20 6.5' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.rw-analyze.is-warn .rw-analyze-txt::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5v9' stroke='%23fff' stroke-width='3' stroke-linecap='round'/%3E%3Ccircle cx='12' cy='19' r='1.9' fill='%23fff'/%3E%3C/svg%3E")}
.rw-analyze .rw-analyze-txt b,.rw-analyze .rw-analyze-txt b.is-ok,.rw-analyze .rw-analyze-txt b.is-warn{color:#fff;font-size:13px;letter-spacing:.05em}
.rw-analyze .rw-analyze-txt span{color:rgba(255,255,255,.9)}
.rw-analyze .rw-analyze-btns .btn{background:#fff;color:#123e5c;border:0;font-weight:750;box-shadow:0 2px 6px rgba(0,0,0,.12)}
.rw-analyze .rw-analyze-btns .btn:hover{background:#f1f7fc}
.rw-analyze.is-idle #rwAnalyze{color:#0b63c4;padding:9px 22px;font-size:14px}
.rw-analyze.is-ok #rwEditInputs{color:#127a43}
.rw-analyze.is-warn #rwWarnings{color:#b93d0a}
.rw-analyze.is-warn #rwEditInputs{background:rgba(255,255,255,.16);color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.75)}
.rw-analyze.is-warn #rwEditInputs:hover{background:rgba(255,255,255,.26)}
.rw-analyze .btn:focus-visible{outline:3px solid #fff;outline-offset:2px}

/* ---------------------------------------------------------------- relief shelf visibility (2026-09-17)
   Pressure view: with a relief shelf the chips row opens with a plane selector (Virtual back x = B /
   Stem back face); the curve switches follow it on the virtual back only. The selector keeps full
   opacity when not pressed (the curve switches fade instead). Results: the shelf comparison figure
   is the report figure, and a pointer note under the virtual-back components. */
.rw-pchips .rw-pplane{display:inline-flex;flex-wrap:wrap;gap:5px}
.rw-pchips .rw-chip.rw-plane{font-size:11px;padding:4px 10px}
.rw-pchips .rw-chip.rw-plane[aria-pressed="false"]{opacity:1}
.rw-pchips .rw-psep{align-self:stretch;width:1px;background:#d7e5ef;margin:1px 3px}
.rw-pchips .rw-pnote{align-self:center;font-size:10.5px;color:#607784}
.rw-shelf-ptr{background:#fff8ec;border:1px solid #efd9b5;border-radius:7px;padding:5px 8px;color:#8a4a0c}
.rw-shelf-ptr b{color:#6f3c09}
.rw-shelf-fig{margin:4px 0 8px}


/* ================================================================ stability cards, Design checks, Pressure view (2026-09-18)
   The checks strip beside the drawing is gone: the drawing takes the whole width of the stage and the
   four checks stand in one row of cards under it (two by two under 1100 px, one column on a phone).
   Each card is the design of the reference images in "Retaining Walls Stability Images/": a soft panel
   with the check's drawing, the title and subtitle, and a Static | Dynamic pair of results. Grey
   before Analyze; the frame, the soil and the action graphics turn red when any column fails, and each
   column's label and value follow its own result; a click opens the Results tab at that check. The
   Design checks of the Results tab keep their icons, one row per check and one cell per load case. */
.rw-ico{width:20px;height:20px;display:block}
.studio-stage{flex-direction:column}
.studio-stage>.studio-canvas{flex:1 1 auto;min-width:0;min-height:0}
.rw-scards{flex:0 0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;min-width:0}
@media screen and (max-width:1180px){.rw-scards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media screen and (max-width:560px){.rw-scards{grid-template-columns:minmax(0,1fr)}}
/* the card: the button is the size container, .sc-in draws the frame */
.sc{container:sc/inline-size;display:block;width:100%;min-width:0;margin:0;padding:0;border:0;background:none;font:inherit;text-align:left;color:inherit;cursor:pointer;border-radius:14px}
.sc.is-idle{cursor:default}
.sc:focus-visible{outline:3px solid rgba(20,135,232,.4);outline-offset:2px}
.sc-in{--sc-font:"Segoe UI",-apple-system,"Helvetica Neue",Arial,sans-serif;
  display:grid;grid-template-columns:min(31%,60px) minmax(0,1fr);grid-template-areas:"vis head" "res res";gap:5px 8px;align-items:center;
  box-sizing:border-box;height:100%;padding:5px 7px;border:2px solid var(--sc-frame);border-radius:12px;background:var(--sc-card);
  box-shadow:0 6px 18px rgba(16,57,56,.08);font-family:var(--sc-font);transition:box-shadow .15s}
.sc:not(.is-idle):hover .sc-in{box-shadow:0 9px 24px rgba(16,57,56,.15)}
.sc.is-idle .sc-in{box-shadow:none}
.sc-txt{display:contents}
.sc-vis{grid-area:vis;display:block;align-self:stretch;aspect-ratio:767/681;border-radius:8px;background:var(--sc-panel);overflow:hidden}
.sc-svg{display:block;width:100%;height:100%;overflow:visible}
.sc-svglab{display:none}
.sc-head{grid-area:head;display:flex;flex-direction:column;justify-content:center;gap:1px;min-width:0}
.sc-title{font-weight:900;font-size:calc(clamp(10px,6.2cqw,13px) * var(--sc-ts,1));line-height:1.02;letter-spacing:-.02em;color:#0b1d35;overflow-wrap:normal;word-break:keep-all;hyphens:none}
.sc-sub{font-weight:500;font-size:clamp(8.5px,4.5cqw,10px);line-height:1.15;color:#74838f}
.sc-note{font-weight:600;font-size:clamp(8px,4.2cqw,9.5px);line-height:1.15;color:#8795a0}
.sc-res{grid-area:res;display:grid;grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr);gap:0 8px;align-items:stretch;min-width:0}
.sc-sep{background:#dfe6e8;border-radius:1px}
.sc-col{display:flex;flex-direction:column;min-width:0;white-space:nowrap}
.sc-lab{font-weight:700;font-size:clamp(10px,5.9cqw,12px);line-height:1.1}
.sc-req{font-weight:500;font-size:clamp(8px,4.4cqw,9.5px);line-height:1.15;color:#7a8995}
.sc-req sub{font-size:.75em;line-height:0}
.sc-val{font-weight:900;font-size:calc(clamp(15px,9.8cqw,20.5px) * var(--sc-rs,1));line-height:1.02;letter-spacing:-.01em;font-variant-numeric:tabular-nums;margin-top:1px}
.sc-lim{font-weight:500;font-size:calc(clamp(8.5px,4.9cqw,10.5px) * var(--sc-rs,1));line-height:1.15;color:#7a8995;overflow:hidden;text-overflow:ellipsis}
/* the value and its limit on one line (1.64 / 1.10), on the baseline of the value; a row too long for its
   column is set smaller by fitCardRows (--sc-rs) instead of cutting the limit */
.sc-vrow{display:flex;align-items:baseline;gap:.3em;min-width:0;white-space:nowrap;margin-top:1px}
.sc-vrow .sc-val,.sc-vrow .sc-lim{flex:0 0 auto;margin-top:0;overflow:visible}
.sc-col.is-ok .sc-lab,.sc-col.is-ok .sc-val{color:#0f8a45}
.sc-col.is-ng .sc-lab,.sc-col.is-ng .sc-val{color:#c94d4d}
.sc-col.is-na .sc-lab,.sc-col.is-na .sc-val{color:#9aa7b0}
.sc-val.is-dash{font-weight:400}
/* a short window: the cards keep their content and give up a little padding */
@media screen and (max-height:720px){.sc-in{padding:4px 6px;gap:4px 7px}.rw-scards{gap:8px}}
/* a middle-width card (two by two on a small window): the drawing beside both the title and the results,
   so the two rows of cards stay low and the drawing above keeps its height */
/* (only two by two, a window up to 1180 px: four cards in a row keep their layout however wide they are) */
@media screen and (max-width:1180px){
@container sc (min-width:240px) and (max-width:329.98px){
  .sc-in{grid-template-columns:min(27%,78px) minmax(0,1fr);grid-template-areas:"vis head" "vis res";gap:3px 10px}
  .sc-vis{align-self:center}
  .sc-head{align-self:end}
  .sc-res{align-self:start}
}
}
/* a wide card (two by two, a phone): the layout of the reference images, sized on the card's width
   (the proportions measured on the images: panel 45 % of the width, title, subtitle, Static | Dynamic) */
@container sc (min-width:330px){
  .sc-in{grid-template-columns:34cqw minmax(0,1fr);grid-template-areas:"vis txt";gap:0 3cqw;align-items:stretch;
    aspect-ratio:1689/582;height:100%;padding:2.13cqw 2.5cqw;border-width:max(2px,.5cqw);border-radius:2.4cqw}
  .sc-vis{aspect-ratio:auto;border-radius:1.9cqw}
  .sc-txt{grid-area:txt;display:flex;flex-direction:column;justify-content:flex-start;min-width:0}
  .sc-head{gap:0;justify-content:flex-start}
  .sc-title{font-size:calc(5.6cqw * var(--sc-tw,1));line-height:1.02;white-space:nowrap}
  .sc-sub{font-size:calc(2.7cqw * var(--sc-sw,1));line-height:1.2;margin-top:0;white-space:nowrap}
  .sc-note{font-size:max(8.5px,1.8cqw);line-height:1.1;margin-top:.25cqw}
  .sc-head:has(.sc-note)+.sc-res{margin-top:.35cqw}   /* the pivot line of the overturning card takes the space above the results */
  .sc-res{margin-top:1.95cqw;gap:0 3.3cqw;grid-template-columns:minmax(0,1fr) max(1px,.25cqw) minmax(0,1fr)}
  .sc-lab{font-size:3.25cqw;line-height:1.15}
  .sc-req{font-size:2.3cqw;line-height:1.25;margin-top:.1cqw}
  .sc-val{font-size:calc(7.35cqw * var(--sc-vs,1) * var(--sc-rs,1));line-height:1;margin-top:calc(.28cqw + 7.35cqw * (1 - var(--sc-vs,1)))}
  .sc-lim{font-size:calc(3.4cqw * var(--sc-rs,1));line-height:1.2;margin-top:.45cqw}
  .sc-lim.is-off{font-size:calc(2.35cqw * var(--sc-rs,1));margin-top:1cqw}
  .sc-vrow{margin-top:.28cqw}
}
@container sc (min-width:520px){.sc-svglab{display:inline}}

/* Results tab — Design checks */
.rw-dc-sum{display:flex;align-items:center;gap:10px;margin:0 0 10px;padding:9px 11px;border:1px solid;border-radius:10px}
.rw-dc-sum.is-ok{background:#effaf3;border-color:#bfe5cd;color:#146c3b}
.rw-dc-sum.is-ng{background:#fdf1f0;border-color:#f3c5bf;color:#a3261b}
.rw-dc-sum-ic{flex:0 0 auto;display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;border-radius:50%;color:#fff;font:800 13px/1 var(--font-text)}
.rw-dc-sum.is-ok .rw-dc-sum-ic{background:#22a35c}
.rw-dc-sum.is-ng .rw-dc-sum-ic{background:#d64545}
.rw-dc-sum b{font-size:13px}
.rw-dc-sum small{margin-left:auto;text-align:right;font-size:10.5px;opacity:.85}
.rw-dc{display:flex;flex-direction:column;gap:7px}
.rw-dc-row{display:grid;grid-template-columns:minmax(138px,1.2fr) repeat(var(--rw-nc,1),minmax(0,1fr));gap:6px;align-items:stretch;
  padding:6px;border:1px solid #dde8ef;border-left:4px solid #b9c7cf;border-radius:10px;background:#fff}
.rw-dc-row.is-ok{border-left-color:#22a35c}
.rw-dc-row.is-ng{border-left-color:#d64545}
.rw-dc-row.is-info{background:#f7f9fa}
.rw-dc-head{border:0;background:transparent;padding:0 6px 0 10px}
.rw-dc-head>div{align-self:end;font:800 9.5px/1.2 var(--font-text);letter-spacing:.07em;text-transform:uppercase;color:#6b8190}
.rw-dc-hc{text-align:center}
.rw-dc-name{display:flex;align-items:center;gap:9px;min-width:0}
.rw-dc-name b{display:block;font-size:12.5px;color:#173447}
.rw-dc-name small{display:block;font-size:10px;line-height:1.3;color:#7a8e9a}
.rw-dc-piv{font-size:9.5px;color:#8095a3}           /* the overturning pivot, named as in the report */
.rw-dc-ic{flex:0 0 auto;display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;border-radius:11px;background:#eef3f6;color:#6f8591}
.rw-dc-ic .rw-ico{width:32px;height:32px}
.rw-dc-row.is-ok .rw-dc-ic{background:#dff3e7;color:#15803d}
.rw-dc-row.is-ng .rw-dc-ic{background:#fbe1de;color:#b42318}
.rw-dc-cell{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;
  padding:8px 5px 6px;border:1px solid transparent;border-radius:8px;background:#f7fafc;text-align:center}
.rw-dc-cell.is-ok{background:#f3fbf6}
.rw-dc-cell.is-ng{background:#fdf3f2}
.rw-dc-cell.is-na{background:#f1f4f7}
.rw-dc-cell.is-none{color:#98a8b1;background:transparent}
.rw-dc-cell.is-gov{box-shadow:inset 0 0 0 1.5px #b9c7cf}
.rw-dc-cell.is-ok.is-gov{box-shadow:inset 0 0 0 1.5px #22a35c}
.rw-dc-cell.is-ng.is-gov{box-shadow:inset 0 0 0 1.5px #d64545}
.rw-dc-gov{position:absolute;top:-7px;left:50%;transform:translateX(-50%);padding:0 6px;border-radius:999px;background:#173447;color:#fff;
  font:800 8.5px/1.55 var(--font-text);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.rw-dc-val{font:700 17px/1.15 var(--font-mono);font-variant-numeric:tabular-nums;color:#173447;white-space:nowrap}
.rw-dc-val small{font:600 10px var(--font-text);color:#7a8e9a}
.rw-dc-cell.is-ng .rw-dc-val{color:#b42318}
.rw-dc-lim{font-size:10px;color:#6f8591;white-space:nowrap}
.rw-dc-bar{position:relative;display:block;width:88%;max-width:118px;height:5px;margin:3px 0 2px;border-radius:999px;background:#e3eaef}
.rw-dc-bar i{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:#22a35c}
.rw-dc-cell.is-ng .rw-dc-bar i{background:#d64545}
.rw-dc-bar em{position:absolute;left:66.67%;top:-3px;bottom:-3px;width:2px;margin-left:-1px;border-radius:1px;background:#48606e}
.rw-dc-chip{display:inline-block;padding:1px 8px;border-radius:999px;font:800 9.5px/1.6 var(--font-text);letter-spacing:.04em;white-space:normal}
.rw-dc-chip.ok{background:#dff3e7;color:#15803d}
.rw-dc-chip.ng{background:#fbe1de;color:#b42318}
.rw-dc-chip.na{background:#e9eef2;color:#5e7685}
.rw-dc-why{font-size:9.5px;line-height:1.3;color:#7a8e9a}
.rw-dc-row.is-info .rw-dc-cell{background:#eff3f5}
.rw-dc-row.is-info .rw-dc-val{font-size:14px;color:#5e7685}
.rw-dc-row.is-flash{animation:rwChkFlash 1.4s ease-out}
@keyframes rwChkFlash{0%{box-shadow:0 0 0 3px rgba(20,135,232,.55)}100%{box-shadow:0 0 0 3px rgba(20,135,232,0)}}
@media (max-width:560px){.rw-dc-val{font-size:14px}.rw-dc-ic{display:none}.rw-dc-row{grid-template-columns:minmax(86px,1fr) repeat(var(--rw-nc,1),minmax(0,1fr))}}

/* Pressure view chips: view · load case · components (the swatch shows how the component is drawn) */
.rw-pchips .rw-chip.rw-lcase{font-size:10.5px}
.rw-pchips .rw-chip i{width:15px;height:9px;border:1.5px solid;border-radius:2px;box-sizing:border-box;background-clip:padding-box}
.rw-pchips .rw-chip i.is-dash{height:0;border:0;border-top:2px dashed;border-radius:0}

/* ================================================================ CALCULATIONS TAB (draw/retaining_cantilever_calcview.js)
   Set like the Theory tab: numbered chapters that open and close, a compact contents list, formulas as
   MathML in a math face. ONE text face (the tab body face, var(--font-text)) and one small type scale:
     13px  chapter and step titles        12px  text, lead-ins, table cells
     11px  notes, captions, table heads   math  14px, Cambria Math
   The calc-tab rules of geocalc.skin.css set every descendant to the text face with !important; the
   formulas win back their math face here, and the old .blk / .eq look does not reach this markup. */
#rwCalc .rwc{font:400 12px/1.6 var(--font-text);color:#4f6674}
#rwCalc .rwc math,#rwCalc .rwc math *{font-family:"Cambria Math","STIX Two Math","Latin Modern Math","Times New Roman",serif !important}
#rwCalc .rwc math{font-size:14px;color:#0a5f9d}
#rwCalc .rwc math mtext.pr{font-family:var(--font-text) !important;font-size:12px;color:#5f7784}
#rwCalc .rwc math mtext.pr.ok{color:#15803d;font-weight:700}
#rwCalc .rwc math mtext.pr.ng{color:#b42318;font-weight:700}
#rwCalc .rwc math mtext.gid,#rwCalc .rwc code.gc-id{font-family:Consolas,"Courier New",monospace !important;font-size:12px;color:#2c3e47;background:#eef3f6;border-radius:3px;padding:0 3px}
#rwCalc .rwc sub{font-size:78%;line-height:0}
/* contents */
#rwCalc .rwc-toc{margin:0 0 12px;padding:9px 11px 10px;border:1px solid #d6e7f2;border-radius:10px;background:#f7fbfe}
#rwCalc .rwc-toc-h{display:flex;align-items:baseline;gap:8px;margin:0 0 7px}
#rwCalc .rwc-toc-h b{font:700 11px var(--font-text);letter-spacing:.1em;text-transform:uppercase;color:#0b6fca}
#rwCalc .rwc-toc-h span{font-size:11px;color:#708997}
#rwCalc .rwc-toc-h .sp{flex:1}
#rwCalc .rwc-all{border:1px solid #cfe2f0;background:#fff;border-radius:6px;padding:2px 7px;font:600 11px var(--font-text);color:#0b6fca;cursor:pointer}
#rwCalc .rwc-all:hover{background:#eaf4fd}
#rwCalc .rwc-toc-list{display:grid;grid-template-columns:1fr 1fr;grid-auto-flow:column;gap:1px 10px;margin:0;padding:0;list-style:none}
#rwCalc .rwc-toc-list li{margin:0}
#rwCalc .rwc-toc-list button{display:grid;grid-template-columns:20px minmax(0,1fr);gap:7px;align-items:baseline;width:100%;padding:3px 5px;border:0;border-radius:6px;background:transparent;text-align:left;cursor:pointer;font:inherit}
#rwCalc .rwc-toc-list button:hover{background:#e9f4fd}
#rwCalc .rwc-toc-list button:focus-visible,#rwCalc .rwc-all:focus-visible{outline:2px solid #1487e8;outline-offset:1px}
#rwCalc .rwc-toc-list .n{font:600 11px var(--font-text);font-variant-numeric:tabular-nums;color:#8ba2b0;text-align:right}
#rwCalc .rwc-toc-list .t{font-size:12px;line-height:1.35;color:#3c5d70}
#rwCalc .rwc-toc-list .is-open .n,#rwCalc .rwc-toc-list .is-open .t{color:#0b6fca}
#rwCalc .rwc-toc-list .is-open .t{font-weight:700}
#rwCalc .rwc-toc-list [aria-current="true"]{background:#e3f1fc;box-shadow:inset 2px 0 0 #0b6fca}
/* chapters */
#rwCalc .rwc-ch{margin:0 0 7px;border:1px solid #dbe8f0;border-radius:10px;background:#fff}
#rwCalc .rwc-ch.open{border-color:#c2dcef;box-shadow:0 4px 14px rgba(23,63,91,.055)}
#rwCalc .rwc-ch-h{margin:0;padding:0;font-size:inherit;font-weight:400}
#rwCalc .rwc-ch-btn{display:grid;grid-template-columns:26px minmax(0,1fr) 14px;align-items:center;gap:10px;width:100%;padding:8px 11px;border:0;border-radius:9px;background:#fbfdff;text-align:left;cursor:pointer;font:inherit;color:inherit}
#rwCalc .rwc-ch-btn:hover{background:#f1f8fd}
#rwCalc .rwc-ch-btn:focus-visible{outline:2px solid #1487e8;outline-offset:-2px}
#rwCalc .rwc-ch.open>.rwc-ch-h>.rwc-ch-btn{background:linear-gradient(180deg,#f3f9ff,#e9f4fd);border-radius:9px 9px 0 0;border-bottom:1px solid #dce9f2}
#rwCalc .rwc-ch-n{display:grid;place-items:center;width:26px;height:26px;border-radius:7px;background:#eaf5ff;color:#0b6fca;font:700 12px var(--font-text);font-variant-numeric:tabular-nums}
#rwCalc .rwc-ch.open .rwc-ch-n{background:#0b6fca;color:#fff}
#rwCalc .rwc-ch-t{font:700 13px/1.3 var(--font-text);color:#173447}
#rwCalc .rwc-ch-t em{display:block;margin-top:2px;font:400 11px/1.4 var(--font-text);color:#6f8794}
#rwCalc .rwc-ch-i{width:8px;height:8px;justify-self:center;border-right:2px solid #8ba2b0;border-bottom:2px solid #8ba2b0;transform:rotate(45deg);transition:transform .16s ease}
#rwCalc .rwc-ch.open .rwc-ch-i{transform:rotate(-135deg);border-color:#0b6fca}
#rwCalc .rwc-ch-body{padding:2px 12px 12px}
/* steps */
#rwCalc .rwc-step{padding:11px 0 10px}
#rwCalc .rwc-step+.rwc-step,#rwCalc .rwc-tbl+.rwc-step,#rwCalc .rwc-fig+.rwc-step{border-top:1px solid #edf2f5}
#rwCalc .rwc-step-h{display:flex;align-items:baseline;gap:8px;margin:0 0 5px}
#rwCalc .rwc-sn{flex:none;min-width:22px;padding:1px 5px;border-radius:6px;background:#eaf5ff;color:#0b6fca;font:700 11px/1.5 var(--font-text);font-variant-numeric:tabular-nums;text-align:center}
#rwCalc .rwc-st{margin:0;font:700 13px/1.4 var(--font-text);color:#173447}
#rwCalc .rwc-p{margin:4px 0 7px;font-size:12px;line-height:1.6;color:#4f6674}
/* formula panel: the symbolic form, the substitutions, the result */
#rwCalc .rwc-fx{margin:7px 0 8px;border:1px solid #d6e7f2;border-radius:9px;background:#f6fbfe;overflow:hidden}
#rwCalc .rwc-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;padding:5px 12px;min-width:0;overflow-x:auto;overflow-y:hidden;line-height:1.55}
#rwCalc .rwc-row+.rwc-row{border-top:1px solid #e3eef6}
#rwCalc .rwc-eq{background:#f3f9fe}
#rwCalc .rwc-sub{background:#fff}
#rwCalc .rwc-sub math{color:#1f3f52}
#rwCalc .rwc-row.rwc-val{background:#eef7ff;border-top:1px solid #cfe3f2}
#rwCalc .rwc-val math{color:#0b6fca;font-weight:700}
#rwCalc .rwc-lab{flex:0 1 auto;font-size:12px;color:#5f7784}
#rwCalc .rwc-m{display:flex;flex-wrap:wrap;align-items:baseline;min-width:0;max-width:100%;padding-left:1.5em}
#rwCalc .rwc-m>math{margin:0;white-space:nowrap}
#rwCalc .rwc-m>math:first-child{margin-left:-1.5em}
#rwCalc .rwc-aside{flex:1 1 180px;font-size:11px;line-height:1.45;color:#6f8794}
#rwCalc .rwc-prose,#rwCalc .rwc-fb{display:block;font-size:12px;color:#4f6674}
#rwCalc .rwc-im math{font-size:13px;color:#173447}
/* tables */
#rwCalc .rwc-tbl{margin:8px 0 12px}
#rwCalc .rwc-tbl-h{margin:0 0 5px;font:700 12px/1.4 var(--font-text);color:#24485d}
#rwCalc .rwc-tbl-s{overflow-x:auto;border:1px solid #dbe8f0;border-radius:9px;background:#fff}
#rwCalc table.rwc-table{width:100%;margin:0;border:0;border-radius:0;border-collapse:collapse;background:transparent;font-size:12px;line-height:1.45}
#rwCalc table.rwc-table th{padding:6px 9px;background:#f5f9fc;border-bottom:1px solid #dbe8f0;font:600 11px/1.35 var(--font-text);color:#426274;text-align:right;vertical-align:bottom;text-transform:none;letter-spacing:0}
#rwCalc table.rwc-table td{padding:5px 9px;border-bottom:1px solid #eef3f6;text-align:right;vertical-align:top;white-space:nowrap;color:#23404f;font-variant-numeric:tabular-nums;background:transparent}
#rwCalc table.rwc-table th.l,#rwCalc table.rwc-table td.l{text-align:left}
#rwCalc table.rwc-table td.txt{white-space:normal;min-width:80px}
#rwCalc table.rwc-table td.lab{white-space:normal;min-width:120px}
#rwCalc table.rwc-table td.st-ok{color:#15803d;font-weight:700}
#rwCalc table.rwc-table td.st-ng{color:#b42318;font-weight:700}
#rwCalc table.rwc-table th.r{min-width:64px}
#rwCalc table.rwc-table tbody tr:nth-child(even) td{background:#fbfdfe}
#rwCalc table.rwc-table tbody tr:last-child td{border-bottom:0}
#rwCalc table.rwc-table tr.sum td{font-weight:700;background:#f3f9fe;border-top:1px solid #cfe0ec}
/* figures and the notes at the end */
#rwCalc .rwc-fig{margin:8px 0 12px}
#rwCalc .rwc-fig .calc-fig{margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
#rwCalc .rwc-fig figcaption{margin:6px 2px 0;font:400 11px/1.5 var(--font-text);color:#617887}
#rwCalc .rwc-warns{padding-top:8px}
#rwCalc .rwc-warns .warn{margin:0 0 6px;font-size:12px;line-height:1.55}
#rwCalc .rwc-warns .warn .w-ico{font-size:11px}
#rwCalc .rwc-warns .warn .w-ref{font-size:11px}
@media(max-width:430px){#rwCalc .rwc-toc-list{grid-template-columns:1fr}}

/* ================================================================ Pressure view bar (2026-09-18)
   Three labelled panels in the look of the approved mock-up: Surface and Load case as segmented
   controls (the chosen one navy), Layers as tinted checkbox chips in the colours of the drawing; the
   (i) beside each label explains the group. The panels wrap onto a second row on a narrow pane. */
.rw-pchips.rw-pbar{gap:6px;padding:6px 8px;align-items:stretch;background:#f6f8fb;border-bottom:1px solid #e2e8ef}
.rw-pgrp{display:flex;flex-direction:column;gap:4px;min-width:0;padding:5px 7px 6px;background:#fff;border:1px solid #dce4ed;border-radius:9px;box-shadow:0 1px 2px rgba(16,42,67,.05)}
.rw-pgrp-h{display:flex;align-items:center;gap:5px;font:600 10.5px/12px var(--font-text);color:#1d2a39;white-space:nowrap}
.rw-pinfo{position:relative;display:inline-flex;width:12px;height:12px;color:#8998a7;cursor:help;border-radius:50%;outline:none}
.rw-pinfo svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;background:none}
.rw-pinfo svg .dot{fill:currentColor;stroke:none}
.rw-pinfo:hover,.rw-pinfo:focus-visible{color:#0b6fca}
.rw-pinfo:focus-visible{box-shadow:0 0 0 2px rgba(11,111,202,.35)}
.rw-ptip{position:absolute;z-index:40;top:calc(100% + 7px);left:-8px;width:max-content;max-width:250px;padding:7px 9px;border-radius:7px;background:#12263b;color:#fff;
  font:400 11px/1.45 var(--font-text);white-space:normal;box-shadow:0 6px 18px rgba(8,25,45,.24);opacity:0;visibility:hidden;transform:translateY(-2px);transition:opacity .12s,transform .12s;pointer-events:none}
.rw-pinfo:hover .rw-ptip,.rw-pinfo:focus .rw-ptip{opacity:1;visibility:visible;transform:none}
.rw-seg{display:inline-flex;align-self:flex-start;max-width:100%;border:1px solid #cdd7e2;border-radius:7px;background:#fff;overflow:hidden}
.rw-seg button{appearance:none;margin:0;border:0;border-left:1px solid #dfe6ee;background:transparent;color:#243548;font:500 11px/1 var(--font-text);
  height:24px;padding:0 9px;cursor:pointer;white-space:nowrap;transition:background .12s,color .12s}
.rw-seg button:first-child{border-left:0}
.rw-seg button:hover:not(:disabled):not([aria-pressed="true"]){background:#f0f4f8}
.rw-seg button[aria-pressed="true"]{background:#0f2c4c;color:#fff;font-weight:600}
.rw-seg button[aria-pressed="true"]+button{border-left-color:#0f2c4c}
.rw-seg button:disabled{color:#a9b4bf;cursor:not-allowed}
.rw-seg button:focus-visible{outline:2px solid #0b6fca;outline-offset:-2px}
.rw-layers{display:flex;flex-wrap:wrap;gap:5px}
.rw-lay{appearance:none;margin:0;display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 8px 0 6px;border:1px solid var(--lay-bd);border-radius:7px;
  background:var(--lay-bg);color:#243548;font:500 11px/1 var(--font-text);cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s,color .12s}
.rw-lay:hover{border-color:var(--lay-c)}
.rw-lay:focus-visible{outline:2px solid #0b6fca;outline-offset:1px}
.rw-cb{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:13px;height:13px;box-sizing:border-box;border-radius:3.5px;border:1.5px solid var(--lay-c);background:var(--lay-c)}
.rw-cb svg{width:9px;height:9px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;background:none}   /* not the white sheet of .studio-canvas svg */
.rw-lay-line{display:inline-block;flex:0 0 auto;width:13px;border-top:2px solid var(--lay-c)}
.rw-lay-line.is-dash{border-top-style:dashed}
.rw-lay[aria-pressed="false"]{background:#fff;border-color:#dfe6ee;color:#6e7f8f}
.rw-lay[aria-pressed="false"] .rw-cb{background:#fff;border-color:#b8c4d0}
.rw-lay[aria-pressed="false"] .rw-cb svg{visibility:hidden}
.rw-lay[aria-pressed="false"] .rw-lay-line{opacity:.45}
.rw-pbar .rw-pnote{display:flex;align-items:center;min-height:24px;font-size:11px;color:#5d7181;white-space:normal}
/* a phone: the segmented controls may wrap */
@media screen and (max-width:560px){.rw-seg{flex-wrap:wrap}.rw-seg button{border-top:1px solid #dfe6ee;margin-top:-1px}}

/* ---- the Report tab (the cantilever injects this at runtime; here it is part of the stylesheet) ---- */
.rw-rep-card{margin:0 0 14px;border:2.5px solid #2586e6;border-radius:12px;background:linear-gradient(180deg,#fff 0%,#f9fcfe 100%);box-shadow:0 4px 14px rgba(25,87,126,.06);overflow:hidden}.rw-rep-title{position:relative;margin:0;padding:11px 14px 11px 19px;border-bottom:1px solid #dbe8f0;background:linear-gradient(180deg,#f3f9fe 0%,#eaf4fb 100%);color:#114c7b;font-weight:800;font-size:13.5px;letter-spacing:.06em;text-transform:uppercase}.rw-rep-title:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,#2b8be6 0%,#126fca 100%)}.rw-rep-body{padding:10px 14px 14px}.rw-rep-note{margin:0 0 10px;font-size:11.5px;line-height:1.5;color:#587181}.rw-rep-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px 12px}.rw-rep-f{display:flex;flex-direction:column;gap:4px;min-width:0;margin:0}.rw-rep-wide{grid-column:1/-1}.rw-rep-f>span{font-size:11.5px;font-weight:650;color:#425f71}.rw-rep-f>span small{font-weight:400;color:#81939e;margin-left:6px}.rw-rep-f input,.rw-rep-f textarea{width:100%;min-width:0;box-sizing:border-box;border:1px solid #cfdee8;border-radius:7px;padding:7px 9px;background:#fff;color:#183a4e;font:500 12.5px var(--font-text,inherit)}.rw-rep-f textarea{resize:vertical;min-height:54px;line-height:1.45}.rw-rep-f input:focus,.rw-rep-f textarea:focus{outline:none;border-color:#2586e6;box-shadow:0 0 0 3px rgba(37,134,230,.15)}.rw-rep-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 10px}.rw-rep-btns{display:flex;gap:8px;flex:0 0 auto}.rw-rep-bar .btn{font-size:12px;padding:6px 12px}.rw-rep-bar-t{flex:1 1 160px;display:flex;flex-direction:column;gap:1px;min-width:0}.rw-rep-bar-t b{font-size:13px;color:#114c7b}.rw-rep-bar-t span{font-size:11px;color:#6b7f8b}.rw-rep-bar-t span.is-bad{color:#b42318}.rw-report-preview.rw-rep-paper{background:#e8eef2;padding:12px;border-radius:10px}.rw-rep-paper .report.rep-summary{margin:0 auto;padding:22px 24px;background:#fff;box-shadow:0 1px 6px rgba(20,50,70,.14);border-radius:2px}html .rw-rep-paper .report.rep-summary .rep-cover.rcs{min-height:0;padding-bottom:26px}html .report.rep-summary,html .report.rep-summary .rws-summary{font-family:Calibri,Carlito,"Segoe UI",Arial,sans-serif;font-size:10.5pt;line-height:1.3;color:#111}html .report.rep-summary{max-width:170mm}html .report.rep-summary .rep-p,html .report.rep-summary li,html .report.rep-summary td,html .report.rep-summary th{font-family:Calibri,Carlito,"Segoe UI",Arial,sans-serif}html .report.rep-summary .rep-p{font-size:10.5pt;line-height:1.3;text-align:justify;margin:4pt 0 6pt;max-width:none;color:#111}html .report.rep-summary .xbar{position:relative;display:inline-block}html .report.rep-summary .xbar::after{content:"";position:absolute;left:.04em;right:.02em;top:.2em;border-top:.075em solid currentColor}html .report.rep-summary .sec-h{font-family:Calibri,Carlito,"Segoe UI",Arial,sans-serif;font-size:13pt;line-height:1.25;font-weight:700;color:#1B4B8F;letter-spacing:0;text-transform:none;margin:18pt 0 8pt;padding:0;border:0;break-after:avoid}html .report.rep-summary .step-h{font-family:Calibri,Carlito,"Segoe UI",Arial,sans-serif;font-size:11pt;line-height:1.25;font-weight:700;color:#2E4E7E;letter-spacing:0;margin:12pt 0 6pt;break-after:avoid}html .report.rep-summary .sub-h{font-family:Calibri,Carlito,"Segoe UI",Arial,sans-serif;font-size:12pt;font-weight:400;color:#1F4D78;margin:10pt 0 4pt;break-after:avoid}html .report.rep-summary ul.rep-list,html .report.rep-summary ol.rep-list{margin:2pt 0 6pt;padding:0 0 0 36pt}html .report.rep-summary ul.rep-list{list-style:disc}html .report.rep-summary .rep-list li{font-size:10.5pt;line-height:1.26;text-align:justify;margin:2pt 0 3pt;padding-left:3pt}html .report.rep-summary .eq{text-align:center;font-family:Cambria,"Times New Roman",serif;font-size:11pt;line-height:1.5;margin:8pt 0 10pt;color:#111}html .report.rep-summary table.gc{width:100%;border-collapse:collapse;font-size:9.5pt;margin:4pt 0 10pt;border:.75pt solid #9AA3B0}html .report.rep-summary table.gc th,html .report.rep-summary table.gc td{font-family:Calibri,Carlito,"Segoe UI",Arial,sans-serif;font-size:9.5pt;font-variant-numeric:normal;line-height:1.25;letter-spacing:0;padding:3.5pt 5.5pt;border:.5pt solid #C6CBD4;text-align:center;vertical-align:middle;white-space:normal;color:#111}html .report.rep-summary table.gc thead th{background:#DCE3EF;font-weight:700;text-transform:none}html .report.rep-summary table.gc td:first-child,html .report.rep-summary table.gc td.txt,html .report.rep-summary table.gc td.lab{text-align:left}html .report.rep-summary table.gc tr.sum td{background:#F0F3F8;font-weight:700}html .report.rep-summary thead{display:table-header-group}html .report.rep-summary tr{break-inside:avoid}html .report.rep-summary .rep-step{break-inside:avoid}html .report.rep-summary .eq-val{break-inside:avoid;break-before:avoid}html .report.rep-summary .eq,html .report.rep-summary .eq-sub{break-inside:avoid}html .report.rep-summary .rep-p,html .report.rep-summary li{orphans:2;widows:2}html .report.rep-summary .rws-ok{color:#1F7A45;font-weight:700}html .report.rep-summary .rws-ng{color:#B42318;font-weight:700}html .report.rep-summary figure.rep-fig,html .report.rep-summary figure.calc-fig{display:block;margin:8pt 0 12pt;padding:0;border:0;background:none;text-align:center;break-inside:avoid}html .report.rep-summary .rep-fig .figure{border:0;padding:0;margin:0;background:none}html .report.rep-summary .rep-fig svg{display:block;margin:0 auto;max-width:100%;height:auto}html .report.rep-summary figure figcaption,html .report.rep-summary .rwr-tcap,html .report.rep-summary .rws-tcap{font-family:Calibri,Carlito,"Segoe UI",Arial,sans-serif;font-style:italic;font-weight:400;color:#555;font-size:9.5pt;line-height:1.3;text-align:center;max-width:none;margin:5pt 0 0;padding:0;border:0}html .report.rep-summary .rwr-tcap,html .report.rep-summary .rws-tcap{margin:8pt 0 3pt;break-after:avoid}html .report.rep-summary .rep-cover.rcs{display:block;min-height:240mm;padding:24pt 0 0;margin:0 0 40px;text-align:center;border-bottom:1px dashed #c9d3db;break-after:page}.rcs-logo{margin:0 0 15pt;line-height:0}.rcs-logo svg{width:70mm;height:auto}.rcs-logo img{max-width:70mm;max-height:30mm}.rcs-rule{border-bottom:1.5pt solid #1B4B8F;margin:0 0 22pt}.rcs-kind{font-size:20pt;line-height:1.2;font-weight:700;color:#1B4B8F}.rcs-wall{font-size:13.5pt;line-height:1.2;font-weight:700;color:#2E4E7E;margin-top:9pt}.rcs-sub{font-size:11.5pt;line-height:1.2;color:#444;margin-top:5.5pt}table.rcs-info{width:100%;border-collapse:collapse;border:.75pt solid #9AA3B0;margin:15pt 0 0;font-size:9.5pt;line-height:1.2}.rcs-info td{padding:2.5pt 5.5pt;border:.5pt solid #C6CBD4;text-align:center;vertical-align:middle;color:#111}.rcs-info td.rcs-l{width:31%;text-align:left}.rcs-concl{font-style:italic;color:#555;font-size:9.5pt;margin-top:15pt}.rcs-brand{font-weight:700;color:#1B4B8F;font-size:10pt;margin-top:10pt}@media print{html .report.rep-summary .rws-tw,html .report.rep-summary .rwr-tw{overflow:visible!important}html .report.rep-summary{max-width:none;padding:0;border:0;border-radius:0;box-shadow:none;background:#fff}html .report.rep-summary .rep-cover.rcs{min-height:0;border:0;margin:0}html .report.rep-summary .sec-h~.sec-h{page-break-before:always;break-before:page;margin-top:0}}
/* ---------- liquefaction mockup: additions to the GeoTerva studio styles ---------- */
html,body{background:#eef6fb}
.lq-mock-tag{margin-left:14px;padding:3px 10px;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.35);color:#fff;font:700 10.5px/1.4 var(--font-text);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
@media (max-width:760px){.lq-mock-tag{display:none}}

/* stage panes: the borehole and project drawings follow the pressure-view pattern (bar + drawing) */
/* the view bars on one line: each group name sits left of its buttons, so the drawing keeps the height */
.rw-pchips.rw-pbar.lq-bar{flex-wrap:wrap;align-items:center;gap:6px 8px;padding:5px 8px}
.lq-bar .rw-pgrp{flex-direction:row;align-items:center;gap:8px;padding:4px 6px 4px 9px}
.lq-bar .rw-seg{align-self:center}
.lq-bar .rw-layers{flex-wrap:wrap}   /* a bar with many chips wraps instead of running off the pane (2026-10-01: Mononobe has seven) */
#lqBhSvg,#lqProjSvg{background:#fff}
#lqBhSvg text,#lqProjSvg text{font-family:Arial,Helvetica,sans-serif}
.lq-t{font-size:12px;fill:#5a7180}
.lq-tb{font-size:13px;font-weight:700;fill:#25485d}
.lq-ts{font-size:11px;fill:#667d8b}
.lq-tm{font-size:11.5px;fill:#25485d;font-family:Consolas,'SF Mono',Menlo,monospace !important}
.lq-frame{fill:#fbfdfe;stroke:#cfdbe3;stroke-width:1}
.lq-grid-l{stroke:#e6edf2;stroke-width:1}
.lq-tick{stroke:#8ea2ae;stroke-width:1}
.lq-pt{cursor:pointer}
.lq-pt:hover{stroke:#0f2c4c;stroke-width:2}
.lq-empty{font-size:13px;fill:#8a9ba6;font-style:italic}

/* borehole chips in the Model tab */
.lq-bh-list{display:flex;flex-wrap:wrap;gap:6px}
.lq-bh-list button{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 12px;border:1px solid #cddde7;border-radius:7px;background:#fff;color:#35556a;font:700 12px var(--font-text);cursor:pointer}
.lq-bh-list button i{width:9px;height:9px;border-radius:50%;flex:0 0 auto}
.lq-bh-list button small{font-weight:500;color:#7a8e9a;font-size:10.5px}
.lq-bh-list button[aria-pressed="true"]{background:#0b7ed5;border-color:#0b7ed5;color:#fff;box-shadow:0 4px 10px rgba(11,126,213,.16)}
.lq-bh-list button[aria-pressed="true"] small{color:#d9ecfb}
.lq-bh-list button[aria-pressed="true"] i{box-shadow:0 0 0 2px #fff}
.lq-bh-list .lq-bh-add{border-style:dashed;color:#0b6fca;font-weight:600}
.gc-input-row input.lq-txt{text-align:left;font-family:var(--font-text)}

/* data grids (layers, tests) */
.lq-grid-wrap{overflow-x:auto;margin:4px 0 8px;border:1px solid #d6e5ee;border-radius:9px;background:#fff}
.lq-grid{width:100%;border-collapse:separate;border-spacing:0;font-size:12px}
.lq-grid th{position:sticky;top:0;background:#f1f7fb;color:#35556a;font:700 10.5px/1.25 var(--font-text);text-align:center;padding:6px 4px;border-bottom:1px solid #d6e5ee;white-space:nowrap}
.lq-grid th small{display:block;font-weight:500;color:#7a8e9a;font-size:9.5px;letter-spacing:0}
.lq-grid td{padding:3px 3px;border-bottom:1px solid #edf3f7;text-align:center;white-space:nowrap}
.lq-grid tr:last-child td{border-bottom:0}
.lq-grid td.n{color:#8a9ba6;font:11px var(--font-mono);width:22px}
.lq-grid input,.lq-grid select{width:100%;min-width:46px;height:28px;border:1px solid #dbe6ed;border-radius:5px;background:#fff;padding:0 6px;font:12.5px var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;color:#17262b}
.lq-grid input.t{text-align:left;font-family:var(--font-text);min-width:118px}
.lq-grid input.u{text-align:left;min-width:62px;font-weight:700}
.lq-grid input:focus{border-color:#1685de;outline:none;box-shadow:0 0 0 3px rgba(20,135,232,.12)}
.lq-grid input.ro{background:#f6f9fb;color:#7a8e9a;border-color:#eaf0f4}
.lq-grid input::placeholder{color:#b3c1ca}
.lq-grid .del{width:26px;height:26px;border:0;border-radius:6px;background:none;color:#a6b4bd;font-size:16px;line-height:1;cursor:pointer}
.lq-grid .del:hover:not(:disabled){background:#fbe9e7;color:#b42318}
.lq-grid .lay{display:inline-flex;align-items:center;gap:5px;font:11.5px var(--font-text);color:#4f6674}
.lq-grid .lay i{width:12px;height:12px;border-radius:3px;border:1px solid rgba(0,0,0,.12)}
.lq-grid .st{display:inline-block;min-width:54px;padding:1px 7px;border-radius:999px;font:800 9.5px/1.6 var(--font-text);letter-spacing:.03em}
.lq-add{margin-top:2px}
.gc-method-row.lq-3{grid-template-columns:repeat(3,1fr)}
.gc-method-row.lq-1{grid-template-columns:1fr}
.gc-inline-grid.lq-4{grid-template-columns:repeat(4,1fr)}
@media (max-width:560px){.gc-inline-grid.lq-4{grid-template-columns:1fr 1fr}.gc-method-row.lq-3{grid-template-columns:1fr}}

/* the Excel section */
.lq-xl-book{display:flex;align-items:center;gap:10px;margin:2px 0 10px;padding:8px 10px;border:1px solid #d7e9df;border-radius:9px;background:#f7fbf8}
.lq-xl-book svg{width:30px;height:30px;flex:0 0 auto}
.lq-xl-tabs{display:flex;flex-wrap:wrap;gap:0;min-width:0}
.lq-xl-tabs span{padding:3px 10px;border:1px solid #cfe0d6;border-left:0;background:#fff;font:600 11px var(--font-text);color:#35556a}
.lq-xl-tabs span:first-child{border-left:1px solid #cfe0d6;border-radius:5px 0 0 5px}
.lq-xl-tabs span:last-child{border-radius:0 5px 5px 0}
.lq-xl-tabs span.p{background:#e3f1e8;color:#1d7a47}

/* locked inputs after the analysis */
.lq-locked input:not([type=checkbox]):not(#lqModelName),.lq-locked select{background:#f1f4f6 !important;color:#98a8b1 !important;cursor:not-allowed}
.lq-locked .gc-method-btn:not(.active),.lq-locked [data-lock]{opacity:.55;pointer-events:none}
.lq-locked .gc-method-btn.active{opacity:.8;pointer-events:none}

/* results */
.lq-chip{display:inline-block;padding:1px 8px;border-radius:999px;font:800 9.5px/1.6 var(--font-text);letter-spacing:.04em;white-space:nowrap}
.lq-chip.liq{background:#fbe1de;color:#b42318}
.lq-chip.low{background:#fdefd3;color:#9a5b00}
.lq-chip.ok{background:#dff3e7;color:#15803d}
.lq-chip.na{background:#e9eef2;color:#5e7685}
.lq-sum{display:flex;align-items:center;gap:10px;margin:0 0 10px;padding:10px 12px;border-radius:9px;border:1px solid #f1c3be;background:#fdf1ef;color:#9f2a1d}
.lq-sum b{font-size:13.5px}
.lq-sum small{margin-left:auto;font-size:11px;color:#9a5b52;text-align:right}
.lq-sum .ic{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#d64545;color:#fff;font-weight:800;flex:0 0 auto}
.lq-sum.is-ok{border-color:#bfe5cd;background:#f0faf4;color:#15603a}
.lq-sum.is-ok .ic{background:#1ba968}
.lq-bhrows{display:grid;gap:8px}
.lq-bhrow{display:grid;grid-template-columns:minmax(120px,1.1fr) repeat(3,minmax(0,1fr));gap:8px;align-items:stretch;padding:8px;border:1px solid #dce8ef;border-left:4px solid var(--c);border-radius:9px;background:#fff;cursor:pointer}
.lq-bhrow:hover{background:#f8fbfd}
.lq-bhrow.is-sel{box-shadow:0 0 0 2px rgba(11,126,213,.25)}
.lq-bhrow .nm{display:flex;flex-direction:column;justify-content:center;gap:2px;padding-left:4px}
.lq-bhrow .nm b{font-size:14px;color:#173447;display:flex;align-items:center;gap:7px}
.lq-bhrow .nm b i{width:10px;height:10px;border-radius:50%}
.lq-bhrow .nm small{font-size:11px;color:#6d8290}
.lq-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 4px;border-radius:7px;background:#f6f9fb;text-align:center;min-width:0}
.lq-cell .v{font:800 16px var(--font-mono);color:#173447;font-variant-numeric:tabular-nums}
.lq-cell .l{font-size:10px;color:#6d8290;line-height:1.3;white-space:normal}
.lq-cell.liq{background:#fdf0ee}.lq-cell.liq .v{color:#c0392b}
.lq-cell.low{background:#fdf6e6}.lq-cell.low .v{color:#a86400}
.lq-cell.ok{background:#eef9f2}.lq-cell.ok .v{color:#15803d}
.lq-bhhead{display:grid;grid-template-columns:minmax(120px,1.1fr) repeat(3,minmax(0,1fr));gap:8px;padding:0 12px 2px;font:700 10px var(--font-text);letter-spacing:.07em;text-transform:uppercase;color:#6d8290;text-align:center}
.lq-bhhead span:first-child{text-align:left}
@media (max-width:640px){.lq-bhrow,.lq-bhhead{grid-template-columns:1fr 1fr}.lq-bhhead{display:none}}
.lq-tbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 8px}
.lq-tbar .rw-seg{align-self:center}
.lq-tbar label{display:inline-flex;align-items:center;gap:6px;margin-left:auto;font-size:12px;color:#4f6674;cursor:pointer}
table.lq-rt{min-width:100%;font-size:12px}
table.lq-rt th{white-space:nowrap;font-size:10.5px;text-align:right}
table.lq-rt th:first-child,table.lq-rt td:first-child{position:sticky;left:0;background:#fff;z-index:1}
table.lq-rt td{text-align:right;white-space:nowrap;padding:5px 7px}
table.lq-rt td.txt{text-align:left;font-family:var(--font-text)}
table.lq-rt td.c{text-align:center}
table.lq-rt tr.is-na td{color:#98a8b1}
table.lq-rt tr.is-na td.txt{color:#7f909b}
table.lq-rt tbody tr{cursor:pointer}
table.lq-rt tbody tr:hover td{background:#f4f9fd}
table.lq-rt td.fs{font-weight:800}
table.lq-rt td.fs.liq{color:#c0392b}table.lq-rt td.fs.low{color:#a86400}table.lq-rt td.fs.ok{color:#15803d}
.lq-why{display:block;font:10px var(--font-text);color:#8a9ba6}

/* calculations */
.lq-calc-pick{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:0 0 10px;padding:10px 12px;border:1px solid #d6e7f2;border-radius:10px;background:#f6fbfe}
.lq-calc-pick label{display:inline-flex;align-items:center;gap:7px;font:700 11px var(--font-text);letter-spacing:.05em;text-transform:uppercase;color:#425f71}
.lq-calc-pick select{height:32px;border:1px solid #cddde7;border-radius:7px;background:#fff;padding:0 8px;font:13px var(--font-text);color:#173447;text-transform:none;letter-spacing:0;font-weight:400}
.lq-calc-pick .res{margin-left:auto}
#rwCalc .rwc-m.lq-f{font-family:'Cambria Math','STIX Two Math','Times New Roman',serif;font-size:15.5px;color:#173447;padding-left:0;display:block;white-space:normal}
/* a formula set in MathML inside a studio calculation row starts at the left edge, never pulled past it (2026-09-24) */
#rwCalc .rwc-row.rwc-eq .rwc-m.lq-f{flex:1 1 auto;width:100%;overflow-x:auto;overflow-y:hidden}#rwCalc .rwc-m.lq-f>math,#rwCalc .rwc-m.lq-f>math:first-child{margin:2px 0}
#rwCalc .rwc-sub .rwc-m.lq-f{color:#1f3f52}
#rwCalc .rwc-val .rwc-m.lq-f{color:#0b6fca;font-weight:700}
#rwCalc .lq-f i{font-style:italic}
#rwCalc .lq-f .u{font-style:normal;font-size:.86em;color:#5a7180;font-family:Arial,Helvetica,sans-serif}
#rwCalc .lq-f .tx{font-style:normal;font-family:Arial,Helvetica,sans-serif;font-size:.84em;color:#4f6674}
#rwCalc .lq-f sub,#rwCalc .lq-f sup{font-size:.72em}
#rwCalc .lq-f .fr{display:inline-flex;flex-direction:column;vertical-align:middle;text-align:center;margin:0 2px}
#rwCalc .lq-f .fr>span:first-child{border-bottom:1px solid currentColor;padding:0 3px}
#rwCalc .lq-f .fr>span{padding:0 3px;line-height:1.2}

/* theory */
.lq-th-toc{margin:0 0 10px;padding:12px 14px;border:1px solid #d6e7f2;border-radius:10px;background:#fff}
.lq-th-toc b{font:800 11px var(--font-text);letter-spacing:.1em;text-transform:uppercase;color:#114c7b}
.lq-th-toc ol{margin:8px 0 0;padding-left:20px;columns:2;column-gap:20px;font-size:12.5px;line-height:1.75;color:#0b6fca}
.lq-th-toc li{break-inside:avoid;cursor:pointer}
.lq-th-toc li:hover{text-decoration:underline}
@media (max-width:560px){.lq-th-toc ol{columns:1}}
.lq-th{margin:0 0 8px;border:1px solid #d6e7f2;border-radius:10px;background:#fff;overflow:hidden}
.lq-th>button{display:flex;align-items:center;gap:10px;width:100%;padding:11px 14px;border:0;background:linear-gradient(180deg,#f7fbfe 0%,#eef6fc 100%);text-align:left;cursor:pointer;font:700 13.5px var(--font-text);color:#173447}
.lq-th>button .n{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;background:#0b6fca;color:#fff;font:700 12px var(--font-mono);flex:0 0 auto}
.lq-th>button .ch{margin-left:auto;color:#5a7180;transition:transform .15s}
.lq-th[data-open] >button .ch{transform:rotate(180deg)}
.lq-th .bd{padding:10px 16px 14px;font-size:12.8px;line-height:1.65;color:#2f4858}
.lq-th .bd p{margin:0 0 8px}
.lq-th .bd .eq{margin:8px 0 10px;padding:8px 12px;border:1px solid #d6e7f2;border-radius:8px;background:#f6fbfe;font-family:'Cambria Math','STIX Two Math','Times New Roman',serif;font-size:15.5px;color:#173447;overflow-x:auto;white-space:nowrap}
.lq-th .bd .eq sub,.lq-th .bd .eq sup{font-size:.72em}
.lq-th .bd table{border-collapse:collapse;font-size:12px;margin:6px 0 10px}
.lq-th .bd td,.lq-th .bd th{border:1px solid #dbe7ef;padding:4px 10px;text-align:left}
.lq-th .bd th{background:#f1f7fb;font-weight:700;color:#35556a}
.lq-th .bd ul{margin:0 0 8px;padding-left:20px}
.lq-th .bd .ref{font-size:12px;color:#4f6674}
@media (prefers-reduced-motion:reduce){.lq-th>button .ch{transition:none}}

/* report contents */
.lq-rep-list{display:grid;gap:7px}
.lq-rep-list label{display:flex;align-items:center;gap:9px;font-size:12.5px;color:#2f4858;cursor:pointer}

/* modal + Excel preview */
.lq-modal{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(15,44,76,.42)}
.lq-modal[hidden]{display:none}
.lq-dlg{display:flex;flex-direction:column;width:min(980px,100%);max-height:calc(100vh - 32px);border-radius:14px;background:#fff;box-shadow:0 24px 60px rgba(9,35,60,.35);overflow:hidden}
.lq-dlg.is-small{width:min(560px,100%)}
.lq-dlg-h{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid #dbe8f0;background:linear-gradient(180deg,#f3f9fe 0%,#eaf4fb 100%)}
.lq-dlg-h b{font:800 13.5px var(--font-text);letter-spacing:.06em;text-transform:uppercase;color:#114c7b}
.lq-dlg-h b.is-plain{text-transform:none;letter-spacing:.01em;font-size:14.5px}
.lq-dlg-x{margin-left:auto;width:32px;height:32px;border:0;border-radius:8px;background:none;font-size:22px;line-height:1;color:#5a7180;cursor:pointer}
.lq-dlg-x:hover{background:#e3eef6}
.lq-dlg-b{padding:14px 16px;overflow:auto;min-height:0}
.lq-dlg-b p{margin:0 0 10px;font-size:12.8px;line-height:1.55;color:#2f4858}
.lq-dlg-f{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:11px 16px;border-top:1px solid #e3edf3;background:#fafcfd}
.xl{border:1px solid #c9d3cc;border-radius:6px;overflow:hidden;background:#fff}
.xl-scroll{overflow:auto;max-height:52vh}
.xl table{border-collapse:collapse;font:12px Calibri,'Segoe UI',Arial,sans-serif;color:#1f2d35}
.xl th{position:sticky;top:0;background:#eef1ef;color:#4e5b53;font-weight:400;font-size:11px;border:1px solid #d5dbd7;padding:2px 6px;min-width:26px;z-index:1}
.xl td{border:1px solid #e3e7e4;padding:2px 7px;height:20px;white-space:nowrap;min-width:64px}
.xl td.rn{position:sticky;left:0;background:#eef1ef;color:#4e5b53;text-align:center;font-size:11px;min-width:30px;border-color:#d5dbd7}
.xl td.h1{font-weight:700;font-size:13.5px;color:#114c7b}
.xl td.hd{background:#dfeaf5;font-weight:700;color:#173447;text-align:center}
.xl td.in{background:#fff9e0}
.xl td.num{text-align:right;font-variant-numeric:tabular-nums}
.xl td.lbl{color:#35556a}
.xl td.sec{font-weight:700;color:#1d7a47;letter-spacing:.04em}
.xl td.note{color:#6d8290;font-style:italic}
.xl-tabs{display:flex;align-items:stretch;gap:0;border-top:1px solid #c9d3cc;background:#f3f5f4;overflow-x:auto}
.xl-tabs button{padding:6px 16px;border:0;border-right:1px solid #d5dbd7;background:none;font:12px Calibri,'Segoe UI',Arial,sans-serif;color:#35463c;cursor:pointer;white-space:nowrap}
.xl-tabs button[aria-pressed="true"]{background:#fff;color:#1d7a47;font-weight:700;box-shadow:inset 0 -3px 0 #1d7a47}
.xl-key{display:flex;flex-wrap:wrap;gap:14px;margin:10px 0 0;font-size:11.5px;color:#4f6674}
.xl-key span{display:inline-flex;align-items:center;gap:6px}
.xl-key i{width:14px;height:12px;border:1px solid #d5dbd7}
.lq-imp{width:100%;border-collapse:collapse;font-size:12.5px;margin:4px 0 10px}
.lq-imp th,.lq-imp td{padding:6px 8px;border-bottom:1px solid #e3edf3;text-align:left}
.lq-imp th{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:#6d8290}
.lq-warnlist{margin:0;padding-left:18px;font-size:12.8px;line-height:1.6;color:#2f4858}
.lq-warnlist li{margin:0 0 6px}

.lq-toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:60;max-width:calc(100% - 32px);padding:10px 16px;border-radius:10px;background:#0f2c4c;color:#fff;font-size:12.8px;box-shadow:0 10px 30px rgba(9,35,60,.3)}
.lq-toast[hidden]{display:none}

/* ---------- consolidation preview additions ---------- */
.gc-inline-grid.lq-3g{grid-template-columns:repeat(3,1fr)}
@media (max-width:560px){.gc-inline-grid.lq-3g{grid-template-columns:1fr}}
.lq-grid select{padding:0 4px;text-align:left;font-family:var(--font-text);min-width:84px}
.lq-grid td.lab{text-align:left;font:600 12px var(--font-text);color:#35556a;white-space:nowrap;padding-left:8px}
.lq-grid td.lab i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:-1px;border:1px solid rgba(0,0,0,.12)}
.lq-grid td.dim{color:#a6b4bd}
.cs-sum{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 10px}
.cs-sum .lq-cell{padding:10px 6px}
.cs-sum .lq-cell .v{font-size:22px}
.cs-sum .lq-cell .l{font-size:10.5px}
.lq-cell.heave{background:#eaf4fb}.lq-cell.heave .v{color:#1465a8}
.lq-cell.net{background:#f3f0fa}.lq-cell.net .v{color:#5b3b9a}
.cs-q{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0 0 10px;font-size:12px;color:#4f6674}
.cs-q b{font-family:var(--font-mono);color:#173447}
@media (max-width:560px){.cs-sum{grid-template-columns:1fr}}
.cs-reg{display:inline-block;padding:1px 7px;border-radius:999px;font:700 9.5px/1.6 var(--font-text);letter-spacing:.03em;white-space:nowrap;background:#e9eef2;color:#5e7685}
.cs-reg.rv{background:#fbe1de;color:#b42318}.cs-reg.r{background:#fdefd3;color:#9a5b00}.cs-reg.v{background:#fbe1de;color:#b42318}.cs-reg.u{background:#e3f0fb;color:#1465a8}
/* compressibility rows of layers that are not compressed (above the foundation level, below z_lim) */
.lq-grid td.cs-na{text-align:left;padding:8px 10px;font:italic 12px/1.4 var(--font-text);color:#7a8e9a;background:#f7f9fb}
#csDepthNote:empty{display:none}

.lq-grid input{min-width:54px}
.lq-grid input.t{min-width:150px}

/* --- Bearing capacity (Terzaghi, Meyerhof, Hansen, Vesic) — 2026-09-19: the studio interface of draw/bearing_ui.js.
   Everything above is the settlement modules' stylesheet (copied from tools/settlement/elastic.css); below, what only the
   bearing tools use. --- */
.bc-badge{display:inline-block;margin-left:8px;padding:2px 9px;border-radius:999px;font:700 10.5px var(--font-text);letter-spacing:.05em;vertical-align:middle}
.bc-badge.ok{background:#e6f6ec;color:#15803d;border:1px solid #b9e3c8}
.bc-badge.bad{background:#fdecea;color:#b42318;border:1px solid #f3c1bb}
.bc-badge.warn{background:#fff4e0;color:#a15c00;border:1px solid #f3d49c}
.cs-sum .lq-cell.bc-u{background:#e9f3fb}.cs-sum .lq-cell.bc-u .v{color:#0b5c99}
.bc-vt td{vertical-align:top}.bc-vt td:first-child{width:38%;color:#34596f;font-weight:600}
.bc-v{display:inline-block;margin:0 12px 2px 0;white-space:nowrap;font-variant-numeric:tabular-nums}.bc-v b{font-family:var(--font-mono);color:#173447}
#rwCalc .bc-txt{margin:2px 0 6px;font-size:12.5px;line-height:1.55;color:#4f6674}
#rwCalc .bc-notes{margin:8px 0 0;padding:7px 9px;border:1px solid #e0ebf2;border-radius:7px;background:#fafcfe;font-size:11.5px;color:#5c7280}
#rwCalc .bc-notes .note{margin:0 0 4px}#rwCalc .bc-notes .n-src{display:block;font-weight:700;color:#35607a;margin-bottom:3px}
#rwCalc .bc-notes table.gc{font-size:11px;border-collapse:collapse}#rwCalc .bc-notes table.gc td,#rwCalc .bc-notes table.gc th{padding:1px 6px;border:1px solid #e1eaf0;text-align:right}#rwCalc .bc-notes tr.hl td{background:#fff5d6;font-weight:700}
#rwCalc .bc-rows{margin:10px 0 0}#rwCalc .bc-rows-h{font:700 11px var(--font-text);letter-spacing:.06em;text-transform:uppercase;color:#607784;margin:0 0 5px}
#rwCalc .bc-given .gf-block,#rwCalc .bc-answer .gf-answer{margin:0;border:0;padding:0;background:none;box-shadow:none}
#rwCalc .bc-given .gf-lab{font:700 10.5px var(--font-text);letter-spacing:.08em;text-transform:uppercase;color:#0b6fca;margin:6px 0 3px}
#rwCalc .bc-given .gf-row{display:block;font-size:12.5px;line-height:1.7;color:#34596f;padding:1px 0}#rwCalc .bc-given .gf-row > span{display:inline-block;margin-right:14px}#rwCalc .bc-given sub,#rwCalc .bc-answer sub{line-height:1}
#rwCalc .bc-answer .gf-answer{font-size:13px;line-height:1.6;color:#173447}
#rwCalc .rwc-row.rwc-eq .rwc-m{color:#0a5f9d;font-size:13.5px}#rwCalc .rwc-row.rwc-sub .rwc-m{color:#4f6674}
#rwCalc .rwc-row.rwc-val .rwc-m{font-weight:700;color:#173447}#rwCalc .rwc-row.rwc-val .u{font-weight:400;color:#6d8290}
.bc-theory{font-size:13px}
.rw-note{font-size:12px;color:#5f7583;line-height:1.5;margin:8px 0 0}
.gc-method-row.bc-4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:560px){.gc-method-row.bc-4{grid-template-columns:1fr 1fr}}
/* an input row named by a stop of the analysis: red frame, value and symbol — on the locked (analysed) page as well, so the
   rule outranks the grey of .lq-locked inputs */
.gc-input-row.is-bad .sym{color:#b42318}
.gc-input-row.is-bad input,.lq-locked .gc-input-row.is-bad input:not([type=checkbox]):not(#lqModelName){border-color:#b42318 !important;background:#fdf1f0 !important;color:#7a1712 !important}
/* 2026-09-19 (user review): gross and net apart, the design check, and the bar states 'calculated — no applied pressure' (info) and FAIL */
.bc-gn{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 10px}
.bc-gn-h{font:700 10.5px var(--font-text);letter-spacing:.09em;text-transform:uppercase;color:#607784;padding:0 2px}
.bc-gn .lq-cell{padding:10px 8px}.bc-gn .lq-cell .v{font-size:21px}.bc-gn .lq-cell .l{font-size:10.5px}
.lq-cell.bc-g{background:#e9f3fb}.lq-cell.bc-g .v{color:#0b5c99}
.lq-cell.bc-n{background:#f3f0fa}.lq-cell.bc-n .v{color:#5b3b9a}
.bc-badge.info{background:#eef2f5;color:#46606f;border:1px solid #cfdae2}
.bc-nocheck{margin:4px 0 2px;font:700 13.5px var(--font-text);color:#173447}
.bc-ck td{vertical-align:middle}.bc-ck td:first-child{width:24%;font-weight:600;color:#34596f}.bc-ck td:last-child{width:70px;text-align:center}
.rw-analyze.is-info{background:linear-gradient(135deg,#34566f 0%,#557d99 100%);box-shadow:0 8px 22px rgba(38,72,96,.28)}
.rw-analyze.is-fail{background:linear-gradient(135deg,#9f1d14 0%,#d63b2c 100%);box-shadow:0 8px 22px rgba(160,30,20,.32)}
.rw-analyze.is-info .rw-analyze-txt::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='6.5' r='1.9' fill='%23fff'/%3E%3Cpath d='M12 11v8' stroke='%23fff' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E")}
.rw-analyze.is-fail .rw-analyze-txt::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 7l10 10M17 7L7 17' stroke='%23fff' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E")}
#bcAnMsg sub,#bcAnTitle sub{font-size:75%;line-height:0}
.gc-help-qs-row .bc-hq{flex:1 1 auto;min-width:0;line-height:1.45}.gc-help-qs-row > span{flex:0 1 auto;text-align:right;max-width:48%}

/* a set formula keeps its plain source beside it for the Word export; only the MathML is seen */
.eq .eq-src{display:none}
.eq math{font-size:1.06em}
.rwc-eq math{font-size:1.02em}

/* Analyze is off while the inputs are outside the domain of the method (the bar says which) */
.rw-analyze-btns .btn:disabled{background:#e6ecf1;border-color:#d3dde4;color:#9aa8b2;box-shadow:none;cursor:not-allowed;opacity:1}
.rw-analyze-btns .btn:disabled:hover{transform:none;background:#e6ecf1}

/* ===== A method option with its own (?), and the Add-layer stepper (2026-09-20) ===== */
.gc-mwrap{position:relative;display:block}
.gc-mwrap > .gc-method-btn{width:100%;padding-right:26px}
.gc-help-inline{
  position:absolute;
  right:6px;
  top:50%;
  transform:translateY(-50%);
  width:18px;
  height:18px;
  min-width:18px;
  margin:0;
  border:0;
  background:transparent;
  box-shadow:none;
  color:#2586e6;
  opacity:.75;
}
.gc-help-inline svg{width:14px;height:14px}
.gc-help-inline:hover{opacity:1;background:transparent}
.gc-method-btn.active + .gc-help-inline{color:#fff;opacity:.9;background:transparent}
.gc-method-btn.active + .gc-help-inline:hover{opacity:1}
.gc-layhead{
  display:flex;
  align-items:center;
  gap:9px;
  margin:12px 0 -2px;
}
.gc-layhead b{
  font-size:10.5px;
  letter-spacing:.075em;
  text-transform:uppercase;
  color:#2a6ea8;
  white-space:nowrap;
}
.gc-layhead i{flex:1;height:1px;background:#dbe6ee}
.gc-layadd{display:flex;align-items:center;gap:8px;margin-top:10px}
.gc-lay-btn{font-size:11.5px;padding:5px 11px}
.gc-lay-quiet{color:#6b7c88}
.gc-laycount{font-size:11px;color:#8496a2;margin-left:auto}
/* method names carry Greek letters (K–δ, α, λ, β): uppercasing them changes the symbol, so the help dialog keeps its own case */
#bcDlgTitle{text-transform:none;letter-spacing:.02em;font-size:14.5px}

/* ===== Dragging the water table, a layer base or the pile tip on the section (2026-09-20) =====
   Nothing is drawn for a handle: an invisible band lies over the line and the ↕ cursor is the whole
   affordance, as on the cantilever sheet-pile sections. */
.pf-grip{touch-action:none}
body.gc-dragging{cursor:ns-resize;user-select:none}
body.gc-dragging-x{cursor:ew-resize;user-select:none}
body.gc-dragging-ld{cursor:grabbing;user-select:none}
/* a table with many narrow columns (Vesic's N*σ against the rigidity index) */
.th-table table.th-wide{font-size:11.5px}
.th-table table.th-wide td,.th-table table.th-wide th{padding:3px 6px}
.th-table{max-width:100%;overflow-x:auto}

/* ===== One box per soil layer, with a name of its own (2026-09-20) ===== */
.gc-laybox{
  border:1px solid #dceaf3;
  border-radius:10px;
  background:#fbfdff;
  padding:8px 11px 11px;
  margin-top:10px;
}
.gc-laybox .gc-layhead{margin:2px 0 0}
/* the soil of the layer, chosen in the heading row beside its name */
.gc-layhead.has-ch{flex-wrap:wrap;row-gap:6px;margin-bottom:2px}
.gc-layhead.has-ch .gc-layname{max-width:150px}
.gc-layhead .gc-method-row{flex:1 1 180px;min-width:150px;gap:5px;margin:0}
.gc-layhead .gc-method-btn{padding:5px 10px;font-size:11.5px;min-height:0}
.gc-laybox .gc-layhead.has-ch + .gc-input-grid{margin-top:9px !important}
.gc-laybox .gc-input-grid{margin-top:6px !important}
.gc-layname{
  flex:1;
  min-width:90px;
  max-width:230px;
  font:600 12px "Inter","Segoe UI",Arial,sans-serif;
  color:#24506e;
  padding:3px 8px;
  border:1px solid #d7e4ee;
  border-radius:6px;
  background:#fff;
}
.gc-layname::placeholder{color:#9fb3c1;font-weight:500}
.gc-layname:focus{outline:none;border-color:#2586e6;box-shadow:0 0 0 3px rgba(20,135,232,.14)}
/* a value the module reads off a chart for you */
.gc-auto-chip{
  display:inline-block;
  margin-left:7px;
  padding:1px 7px;
  border-radius:999px;
  background:#eaf5ff;
  border:1px solid #cfe6fb;
  color:#2172b8;
  font:600 9.5px "Inter","Segoe UI",Arial,sans-serif;
  letter-spacing:.03em;
  vertical-align:1px;
}

/* ===== One type family across the pile modules (2026-09-20, user) =====
   The Theory tab reads in the page's text face and sets its formulas in a maths face. Results,
   Calculations and the report preview now do the same: everything textual is --font-text, and only
   the formulas — MathML and the plain-text formula rows — keep the maths face, exactly as in Theory. */
body[data-tool^="piles/"] .studio,
body[data-tool^="piles/"] .studio input,
body[data-tool^="piles/"] .studio select,
body[data-tool^="piles/"] .studio button,
body[data-tool^="piles/"] .studio table,
body[data-tool^="piles/"] .studio .mono,
body[data-tool^="piles/"] .studio .val,
body[data-tool^="piles/"] .studio .num,
body[data-tool^="piles/"] .studio td.num,
body[data-tool^="piles/"] .studio th.num,
body[data-tool^="piles/"] .studio .tz-eqn-no,
body[data-tool^="piles/"] .rws-summary,
body[data-tool^="piles/"] .rws-summary *,
body[data-tool^="piles/"] .lq-cell .v,
body[data-tool^="piles/"] .studio .v,
body[data-tool^="piles/"] .rw-report-summary .rws-summary,
body[data-tool^="piles/"] .lq-modal,
body[data-tool^="piles/"] .lq-modal button{
  font-family:var(--font-text) !important;
}
body[data-tool^="piles/"] .studio input[type=number],
body[data-tool^="piles/"] .studio .num,
body[data-tool^="piles/"] .studio td.num,
body[data-tool^="piles/"] .studio .rwc-val{font-variant-numeric:tabular-nums}
body[data-tool^="piles/"] .studio math,
body[data-tool^="piles/"] .rws-summary math,
body[data-tool^="piles/"] .rws-summary math *,
body[data-tool^="piles/"] .rw-report-summary math,
body[data-tool^="piles/"] .studio .rwc-m.lq-f,
body[data-tool^="piles/"] .studio .lq-f{
  font-family:"Cambria Math","STIX Two Math","Latin Modern Math","Times New Roman",serif !important;
}


/* --- a catalogue picked from a list, not from a wall of buttons: 2026-09-23 --- */
.gc-sel-row{display:grid;grid-template-columns:minmax(0,1fr) 190px auto;align-items:center;gap:10px;padding:5px 0}
.gc-sel-row .gc-sel-lab{font-size:13px;color:#4f6674}
.gc-sel{width:100%;height:36px;font:13.5px var(--font-mono);font-variant-numeric:tabular-nums;color:#17262b;background:#fff;border:1px solid #d5e1e8;border-radius:6px;padding:0 8px}
.gc-sel:focus{border-color:#1685de;outline:none;box-shadow:0 0 0 3px rgba(20,135,232,.12)}
.gc-sel:disabled{background:#f1f4f6;color:#98a8b1;cursor:not-allowed}
@media(max-width:560px){.gc-sel-row{grid-template-columns:1fr auto}.gc-sel-row .gc-sel-lab{grid-column:1/-1}}


/* --- zoom on the drawing: 2026-09-23 --- */
.diagram-pane{position:relative}
.gc-zoom{position:absolute;right:12px;bottom:12px;z-index:3;display:flex;align-items:center;gap:4px;padding:4px;border:1px solid #d6e2ea;border-radius:10px;background:rgba(255,255,255,.94);box-shadow:0 3px 12px rgba(23,63,91,.12);backdrop-filter:blur(2px)}
.gc-zoom button{width:27px;height:27px;padding:0;display:flex;align-items:center;justify-content:center;border:1px solid #d5e1e8;border-radius:7px;background:#fff;color:#2b4a5d;font:700 15px/1 var(--font-text);cursor:pointer}
.gc-zoom button:hover:not(:disabled){border-color:#1685de;color:#0b609e;background:#f4faff}
.gc-zoom button:disabled{opacity:.35;cursor:default}
.gc-zoom .gc-zoom-lvl{min-width:42px;text-align:center;font:600 11px var(--font-mono);color:#6b8190;font-variant-numeric:tabular-nums;user-select:none}
.diagram-pane.is-zoomed>svg{cursor:grab;touch-action:none}
body.gc-panning,body.gc-panning *{cursor:grabbing !important}
@media(max-width:560px){.gc-zoom{right:8px;bottom:8px;gap:3px;padding:3px}.gc-zoom button{width:25px;height:25px}.gc-zoom .gc-zoom-lvl{min-width:36px;font-size:10px}}


/* --- two drop-downs on one line: 2026-09-23 --- */
.gc-sel-pair{display:flex;gap:10px;align-items:flex-end;padding:5px 0}
.gc-sel-cell{display:flex;flex-direction:column;gap:4px;flex:1 1 0;min-width:0}
.gc-sel-cell .gc-sel-lab{display:flex;align-items:center;gap:5px;font-size:12px;color:#6b8190;letter-spacing:.02em}
.gc-sel-cell .gc-sel{width:100%}
@media(max-width:560px){.gc-sel-pair{flex-direction:column;align-items:stretch;gap:6px}}


/* --- a step's own figure, inside its card: 2026-09-23 --- */
.rwc .calc-fig{margin:12px 0 4px;padding:10px 10px 8px;border:1px solid #dfeaf2;border-radius:10px;background:#fbfdff}
.rwc .calc-fig svg{display:block;width:100%;height:auto}
.rwc .calc-fig figcaption{margin-top:8px;font-size:12.5px;line-height:1.5;color:#5e7482}
.rwc .calc-fig figcaption b{color:#34596f}

/* the summary drawings on the Results tab (braced cuts, 2026-09-23) */
.bc-sumfigs{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:12px;margin-top:6px}
.bc-sumfig{margin:0;padding:10px 10px 8px;border:1px solid #dfe9f0;border-radius:10px;background:#fff}
.bc-sumfig svg{display:block;width:100%;height:auto}
.bc-resfigs{display:grid;grid-template-columns:1fr;gap:12px}
.bc-sumfig figcaption{margin-top:6px;font-size:12px;line-height:1.45;color:#5f7686}

/* a subscript or a superscript is part of a symbol: a heading set in capitals leaves it as written (K_a stays K_a, not K_A) — 2026-09-23 */
sub,sup{text-transform:none}

/* options drawn as pictures, and loads switched on by their picture (2026-09-24, the sheet-pile terrain and surcharges) */
.gc-icon-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px}
.gc-icon-btn{display:flex;flex-direction:column;align-items:center;gap:3px;padding:7px 6px 6px;min-width:0;line-height:1.2}
.gc-icon-btn .gc-ico svg{width:74px;height:44px;display:block}
.gc-icon-btn .gc-ico-t{white-space:normal;text-align:center}
.gc-icon-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:4px 0 8px}
.gc-tog-cell{position:relative;display:flex;min-width:0}
.gc-tog-cell .gc-icon-btn{width:100%}
.gc-tog-cell .gc-help-inline{position:absolute;top:3px;right:3px}
.gc-tog:not(.active){background:#fff;color:#56707f}

/* a list filled by pressing the picture of what to add; each card removable (2026-09-24, the sheet-pile surcharges) */
.gc-icon-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.gc-adder{display:block}
.gc-adder .gc-laycount{display:block;text-align:right;font-size:10.5px;color:#56707f;margin-top:2px}
.gc-add-type:not(:disabled):hover{border-color:#0b7ed5}
.gc-lay-x{margin-left:auto;border:1px solid #cddde7;background:#fff;color:#56707f;width:24px;height:24px;border-radius:6px;font-size:15px;line-height:1;cursor:pointer;flex:none}
.gc-lay-x:hover{border-color:#c0392b;color:#c0392b}

/* a card of a list whose kind is picked in its heading: the heading holds the name, the picker and × (2026-09-24) */
.gc-layhead.has-ch{display:flex;align-items:center;gap:8px}
.gc-layhead.has-ch .gc-sel-row{flex:1;display:flex;align-items:center;margin:0;min-width:0}
.gc-layhead.has-ch .gc-sel-row .gc-sel-lab{display:none}
.gc-layhead.has-ch .gc-sel-row .gc-sel{flex:1;min-width:0}

/* ===== A compact list of anchors or loads (2026-09-24, user): one row per item, the item pressed opens beneath it ===== */
.gc-layrow{display:flex;align-items:center;gap:6px;margin-top:6px}
.gc-layrow-b{flex:1;min-width:0;display:flex;align-items:center;gap:10px;border:1px solid #dceaf3;border-radius:8px;background:#fff;padding:7px 10px;cursor:pointer;text-align:left;font:inherit;color:inherit}
.gc-layrow-b:hover{border-color:#9cc3de;background:#f7fbfe}
.gc-layrow-b:focus-visible{outline:2px solid #2a6ea8;outline-offset:1px}
.gc-layrow.is-open .gc-layrow-b{border-color:#2a6ea8;background:#f2f8fd}
.gc-layrow-n{font-size:10.5px;letter-spacing:.075em;text-transform:uppercase;color:#2a6ea8;font-weight:700;white-space:nowrap;flex:none}
.gc-layrow-t{flex:1;min-width:0;font-size:12px;line-height:1.35;color:#34495a;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.gc-layrow-t b{font-weight:600;color:#1f3444}
.gc-layrow-c{color:#7f95a4;font-size:11px;flex:none;transition:transform .15s}
.gc-layrow.is-open .gc-layrow-c{transform:rotate(180deg)}
/* the entry form over the table of a list (2026-09-25, user: the soil layers, the ground anchors) */
.gc-draft{border:1px solid #cfe0ec;border-radius:10px;background:#f6fafd;padding:9px 11px 11px;margin-top:8px}
.gc-draft-h{font-size:10.5px;letter-spacing:.075em;text-transform:uppercase;color:#2a6ea8;font-weight:700;margin:0 0 2px}
.gc-draft .gc-input-grid{margin-top:4px !important}
.gc-draft-row .sym:empty{display:none}
.gc-draft .gc-draftbar{margin-top:10px}
.gc-draft .gc-draftbar .gc-lay-btn{font-size:12px;padding:6px 14px}
.gc-dtable{margin-top:12px;overflow-x:auto}
.gc-dt-title{font-size:10.5px;letter-spacing:.075em;text-transform:uppercase;color:#56707f;font-weight:700;margin:0 0 4px}
.gc-dt-headrow{display:flex;align-items:flex-end;gap:6px;min-width:330px}
.gc-dt-head{flex:1;min-width:0;display:grid;gap:4px;padding:0 10px 3px;font-size:11px;color:#56707f;font-weight:600;white-space:nowrap}
.gc-dt-head small{font-weight:400;color:#8496a2;font-size:10px}
.gc-dt-xs{width:24px;flex:none}
.gc-dt-row{margin-top:4px;min-width:330px}
.gc-dt-row .gc-layrow-b{display:grid;gap:4px;padding:6px 10px;font-size:12px;font-variant-numeric:tabular-nums}
.gc-dt-n{font-weight:600;color:#1f3444;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gc-dt-c{color:#34495a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gc-layrow .gc-lay-x{margin-left:0;width:28px;height:30px}
/* the form edits the row pressed (2026-09-25, user): its state in its heading, the item's colour on its edge */
.gc-draft-h{display:flex;align-items:center;gap:7px;min-height:18px}
.gc-draft-sw,.gc-dt-sw{flex:none;display:inline-block;width:11px;height:11px;border-radius:3px;border:1px solid rgba(40,30,20,.2);font-style:normal}
.gc-draft-sw[hidden],.gc-dt-sw[hidden],.gc-draftbar [hidden]{display:none !important}
.gc-draft-nm{font-size:12px;letter-spacing:0;text-transform:none;font-weight:600;color:#35556b;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gc-draft.is-edit{border-color:#2a6ea8;background:#f2f8fd;box-shadow:inset 4px 0 0 var(--gc-tint,#2a6ea8)}
.gc-draft.is-edit .gc-draft-h{color:#114c7b}
.gc-draft .gc-draftbar .gc-draft-del{color:#a3402f}
.gc-draft .gc-draftbar .gc-draft-del:hover:not(:disabled){border-color:#c0392b;color:#c0392b}
.gc-draft-hint{font-size:11.5px;color:#56707f}
.gc-draft-note{margin:1px 0 3px;font-size:11.5px;line-height:1.45;color:#56707f}
.gc-draft-note[hidden]{display:none}
/* the bar of the form on a narrow screen: the buttons and the count on one line, the note under them */
.gc-draft .gc-draftbar{flex-wrap:wrap;row-gap:6px}
.gc-draft .gc-draftbar .gc-lay-btn,.gc-draft .gc-draftbar .gc-laycount{white-space:nowrap}
.gc-draft .gc-draftbar .gc-draft-hint{order:9;flex:1 0 100%}
/* the unit under its symbol in the head of the table: the columns stay narrow on a phone without running into each other */
.gc-dt-head span{white-space:normal;line-height:1.2}
.gc-dt-head small{display:block}
/* the kind of an item in its form, by its picture; a table of words (the surcharges, 2026-09-25) */
.gc-draft-kind{margin:2px 0 2px}
.gc-draft-sub{font-size:11px;font-weight:600;color:#56707f;margin:0 0 5px}
.gc-draft-kind .gc-icon-grid{margin:0 0 4px}
/* a kind of item coming in a later release: its picture and its name faded, its Soon badge green at full strength, not pressable (2026-09-25) */
.gc-soon{position:relative;cursor:default;pointer-events:none;user-select:none;border-style:dashed;border-color:#dbe4eb}
.gc-soon .gc-ico,.gc-soon .gc-ico-t{opacity:.45}
.gc-soon-tag{position:absolute;top:4px;right:4px;font-size:8.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;line-height:1;padding:2px 5px;border-radius:999px;background:#1f9d55;color:#fff}
.gc-dt-tx{white-space:normal;line-height:1.3;overflow-wrap:anywhere}
.gc-dt-head .gc-dt-hx{white-space:nowrap}
/* a table of words on a phone: each row two lines — its number and kind, then its magnitude and position — and no head */
@media (max-width:560px){
  .gc-dtable.is-words .gc-dt-headrow{display:none}
  .gc-dtable.is-words .gc-dt-row{min-width:0}
  .gc-dtable.is-words .gc-layrow-b{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr) !important;row-gap:3px}
}
.gc-dt-nw{display:flex;align-items:center;gap:7px;min-width:0}
.gc-dt-row.is-sel .gc-layrow-b{border-color:#2a6ea8;background:#f2f8fd;box-shadow:0 0 0 2px rgba(42,110,168,.16)}
.gc-dt-row.is-bad .gc-layrow-b{border-color:#d9534f}
.pf-pick{touch-action:manipulation}
/* brought into view under the page header when a row or the drawing opens an item in it */
.gc-draft{scroll-margin-top:76px;scroll-margin-bottom:16px}
.gc-laybox.is-compact{margin-top:4px;border-color:#b9d4e8;border-top-left-radius:4px;border-top-right-radius:4px}
.gc-laybox.is-compact .gc-layhead > b{display:none}
.gc-laybox.is-compact .gc-layhead:not(.has-ch){display:none}
.gc-laybox.is-compact .gc-layhead:not(.has-ch) + *{margin-top:0}
@media (prefers-reduced-motion: reduce){.gc-layrow-c{transition:none}}
/* a layer whose soil is chosen in its heading (the clay module, 2026-09-24): the choice takes the room of the rule */
.gc-layhead.has-ch > i{display:none}
.gc-layhead.has-ch .gc-layname{flex:0 1 120px;min-width:84px}
.gc-layhead.has-ch .gc-sel-row{flex:1 1 170px;min-width:150px}

/* the Analyze bar on a phone (2026-09-27, user): the text above, the buttons below it at full width — side by side
   the buttons, which do not shrink, left the text a column a few letters wide */
@media (max-width:640px){
  .rw-analyze{flex-wrap:wrap;align-items:stretch;gap:10px}
  .rw-analyze-txt{flex:1 1 100%}
  .rw-analyze-btns{flex:1 1 100%;flex-shrink:1}
  .rw-analyze-btns .btn{flex:1 1 0;justify-content:center;text-align:center}
}
body.gc-dragging-pt{cursor:grabbing;user-select:none}
.studio [data-ld]:hover{filter:drop-shadow(0 0 5px rgba(20,135,232,.7))}
