/* Only the eight working wooden calculators opt into this workspace. */
@media screen {
  #main.wood-workspace .calculator-shell { display:block; }
  #main.wood-workspace .calculator-content > .page-heading { max-width:none; }
  #main.wood-workspace .wood-heading-toolbar {
    display:flex; align-items:center; justify-content:space-between; gap:16px;
    margin-bottom:10px;
  }
  #main.wood-workspace .wood-heading-toolbar .eyebrow { margin:0; }
  #main.wood-workspace .wood-catalog-link {
    display:inline-flex; align-items:center; gap:14px; flex-shrink:0; margin-left:auto;
    padding:9px 13px; border:1px solid var(--theme-border,#52606e); border-radius:5px;
    color:var(--theme-text,#f0f2f5); background:var(--theme-input,#20272f);
    font:14px/1.4 Arial,sans-serif; text-decoration:none;
  }
  #main.wood-workspace .wood-catalog-link:hover { border-color:var(--theme-accent,#e9b35b); }
  #main.wood-workspace .wood-catalog-link:focus-visible { outline:2px solid #e9b35b; outline-offset:3px; }
  #main.wood-workspace #timber-app {
    grid-template-columns:clamp(380px,29vw,420px) minmax(0,1fr);
    grid-template-rows:auto auto auto auto; gap:20px; align-items:start;
  }
  #main.wood-workspace #timber-app > .wood-calculator-nav {
    display:flex; flex-wrap:wrap; grid-column:1 / -1; grid-row:1; margin:0;
  }
  #main.wood-workspace #timber-app :is(.tc-input-panel,.tr-input) { grid-column:1; grid-row:2 / 4; }
  #main.wood-workspace #timber-app > :is(.tc-scheme,.tr-scheme),
  #main.wood-workspace #timber-app .tc-workbench > .tc-scheme { grid-column:2; grid-row:2; align-self:start; }
  #main.wood-workspace #timber-app > .beam-right-column { grid-column:2; grid-row:3; gap:16px; }
  #main.wood-workspace #timber-app > .tc-report { grid-column:1 / -1; grid-row:4; }
  #main.wood-workspace #timber-app :is(.tc-input-panel,.tr-input) { padding:20px; min-width:0; }
  #main.wood-workspace #timber-app form > :is(.tc-panel-title,header) {
    display:flex; justify-content:space-between; align-items:center; gap:12px; padding:0; margin-bottom:14px;
  }
  #main.wood-workspace #timber-app form > :is(.tc-panel-title,header) > h2 {
    width:auto; margin:0; text-align:left; font-size:25px; line-height:1.2;
  }
  #main.wood-workspace #timber-app form > :is(.tc-panel-title,header) > button { flex-shrink:0; }
  #main.wood-workspace #timber-app form fieldset { margin:0; padding:10px 0 14px; }
  #main.wood-workspace #timber-app form legend { font-size:20px; line-height:1.35; }
  #main.wood-workspace #timber-app form:is(.tc-input-panel,.tr-input) .input-section-toggle {
    color:var(--theme-accent,#e8b25d);
  }
  #main.wood-workspace #timber-app form :is(.tc-fields,.tr-fields) { gap:10px; margin-top:4px; }
  #main.wood-workspace #timber-app form :is(.tc-field,.tr-field) {
    display:grid!important; grid-template-columns:minmax(0,1fr) 140px;
    align-items:center; gap:10px; min-width:0; margin:0;
  }
  #main.wood-workspace #timber-app form :is(.tc-field,.tr-field) > span:first-child {
    font:14px/1.4 Arial,sans-serif; margin:0; min-width:0;
  }
  #main.wood-workspace #timber-app form :is(.tc-field,.tr-field):has(> select) {
    grid-template-columns:minmax(0,1fr); gap:6px; grid-column:1 / -1;
  }
  #main.wood-workspace #timber-app form :is(.tc-field,.tr-field) :is(input,select) {
    font:15px/1.3 Arial,sans-serif; height:42px; min-height:42px; padding:9px 10px;
  }
  #main.wood-workspace #timber-app form :is(.tc-field,.tr-field) > select {
    width:100%!important; min-width:0!important; max-width:100%!important;
    height:42px!important; min-height:42px!important;
  }
  #main.wood-workspace #timber-app form :is(.tc-field,.tr-field):has(> select:is([name=limit],[name=snowRegion],[name=panels],[name=d])) {
    grid-template-columns:minmax(0,1fr) 140px; align-items:center; gap:10px;
  }
  #main.wood-workspace #timber-app form :is(.tc-field,.tr-field) > select:is([name=limit],[name=snowRegion],[name=panels],[name=d]) {
    width:140px!important; max-width:100%!important;
  }
  #main.wood-workspace #timber-app.diagonal-app form fieldset > .tc-field { margin:8px 0!important; }
  #main.wood-workspace #timber-app form :is(.tc-field,.tr-field) > div:has(> input[type=number]) {
    width:140px!important; min-width:0!important; max-width:100%!important;
    height:44px!important; min-height:44px!important; margin:0; box-sizing:border-box;
  }
  #main.wood-workspace #timber-app form :is(.tc-field,.tr-field) > div > input[type=number] {
    width:100%; min-width:0; height:100%!important; min-height:0!important;
  }
  #main.wood-workspace #timber-app form :is(.tc-field,.tr-field) small { font-size:12px; flex-shrink:0; padding-right:10px; }
  #main.wood-workspace #timber-app form :is(.section-dimension-pair,.tr-section-dimensions .tr-fields,.diag-dimensions,.wood-field-pair) {
    display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px!important; width:100%; container-type:normal; margin:8px 0 0;
  }
  #main.wood-workspace #timber-app form :is(.section-dimension-pair,.tr-section-dimensions .tr-fields,.diag-dimensions,.wood-field-pair) > label {
    display:grid!important; grid-template-columns:minmax(0,1fr)!important;
    width:100%!important; gap:6px!important; margin:0!important; min-width:0;
  }
  #main.wood-workspace #timber-app form :is(.section-dimension-pair,.tr-section-dimensions .tr-fields,.diag-dimensions,.wood-field-pair) > label > span:first-child {
    width:auto; white-space:normal;
  }
  #main.wood-workspace #timber-app form :is(.section-dimension-pair,.tr-section-dimensions .tr-fields,.diag-dimensions,.wood-field-pair) > label > div:has(> input[type=number]) {
    width:100%!important; min-width:0!important; max-width:100%!important; margin:0!important;
  }
  #main.wood-workspace #timber-app form :is(.tc-hint,.tr-note) { font-size:12px; line-height:1.5; }
  #main.wood-workspace #timber-app form :is(.tc-actions,.tr-actions) { padding:16px 0 0; }
  #main.wood-workspace #timber-app form .tr-advanced { padding:12px 0; }
  #main.wood-workspace #timber-app form .beam-load-heading { gap:10px; flex-wrap:wrap; }
  #main.wood-workspace #timber-app form .beam-load-heading > .input-section-toggle { flex:1; }
  #main.wood-workspace #timber-app form .tc-unit-switch span { padding:5px 8px; }
  #main.wood-workspace #timber-app form label[hidden],
  #main.wood-workspace #timber-app form [hidden][hidden][hidden],
  #main.wood-workspace #timber-app form fieldset.input-section-collapsed > :not(legend) { display:none!important; }
  #main.wood-workspace #timber-app .tc-scheme #tc-diagram > svg { max-height:400px; }
  #main.wood-workspace #timber-app.diagonal-app .tc-scheme #tc-diagram > svg { max-height:560px; }
  #main.wood-workspace #timber-app .tr-stage > svg { max-height:400px; }
  #main.wood-workspace #timber-app #dowel-diagram > svg { max-height:520px; }
  #main.wood-workspace #timber-app #frame-graphics .frame-effort svg { max-height:340px; }
  #main.wood-workspace #timber-app .tc-scheme > .frame-scheme-choices {
    grid-template-columns:repeat(auto-fit,minmax(120px,1fr));
  }
}
/* Restore the original desktop results rail. Its former width was 0.8/3
   of the workspace after the 184px sidebar and three 12px gaps. */
@media screen and (min-width:1201px) {
  #main.wood-workspace #timber-app {
    grid-template-columns:clamp(380px,29vw,420px) minmax(0,1fr) calc((100% - 220px) * .2666666667);
    grid-template-rows:auto auto auto; gap:12px;
  }
  #main.wood-workspace #timber-app :is(.tc-input-panel,.tr-input) { grid-row:2; }
  #main.wood-workspace #timber-app > .beam-right-column { grid-column:3; grid-row:2; }
  #main.wood-workspace #timber-app > .tc-report { grid-row:3; }
}
@media screen and (min-width:821px) and (max-width:1100px) {
  #main.wood-workspace #timber-app .tc-scheme > .frame-scheme-choices,
  #main.wood-workspace #timber-app .tr-type { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media screen and (max-width:1000px) {
  #main.wood-workspace #timber-app { grid-template-columns:360px minmax(0,1fr); gap:16px; }
  #main.wood-workspace #timber-app :is(.tc-input-panel,.tr-input) { padding:16px; }
}
@media screen and (max-width:820px) {
  #main.wood-workspace #timber-app { grid-template-columns:minmax(0,1fr); gap:16px; }
  #main.wood-workspace #timber-app > .wood-calculator-nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  #main.wood-workspace #timber-app :is(.tc-input-panel,.tr-input) { grid-column:1; grid-row:2; }
  #main.wood-workspace #timber-app > :is(.tc-scheme,.tr-scheme),
  #main.wood-workspace #timber-app .tc-workbench > .tc-scheme { grid-column:1; grid-row:3; }
  #main.wood-workspace #timber-app > .beam-right-column { grid-column:1; grid-row:4; }
  #main.wood-workspace #timber-app > .tc-report { grid-column:1; grid-row:5; }
  #main.wood-workspace .wood-heading-toolbar { flex-wrap:wrap; gap:10px; }
  #main.wood-workspace .wood-catalog-link { margin-left:0; }
  #main.wood-workspace .wood-heading-toolbar .eyebrow { display:none; }
  #main.wood-workspace #timber-app form :is(.tc-field,.tr-field) :is(input,select) { font-size:16px; height:44px; }
  #main.wood-workspace #timber-app form :is(.tc-field,.tr-field) > select { height:44px!important; min-height:44px!important; }
  #main.wood-workspace #timber-app .frame-scheme-choices,
  #main.wood-workspace #timber-app .tr-type { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #main.wood-workspace #timber-app .frame-scheme-choices span { overflow-wrap:normal; word-break:normal; }
  #main.wood-workspace #frame-graphics .snow-cases { min-width:0; max-width:100%; overflow-x:auto; }
}
@media screen and (max-width:380px) {
  #main.wood-workspace #timber-app form :is(.tc-field,.tr-field) { grid-template-columns:minmax(0,1fr) 122px; }
  #main.wood-workspace #timber-app form :is(.tc-field,.tr-field) > div:has(> input[type=number]) { width:122px!important; }
  #main.wood-workspace #timber-app form :is(.tc-field,.tr-field):has(> select) { grid-template-columns:minmax(0,1fr); }
  #main.wood-workspace #timber-app form :is(.tc-field,.tr-field):has(> select:is([name=limit],[name=snowRegion],[name=panels],[name=d])) { grid-template-columns:minmax(0,1fr) 122px; }
  #main.wood-workspace #timber-app form :is(.tc-field,.tr-field) > select:is([name=limit],[name=snowRegion],[name=panels],[name=d]) { width:122px!important; }
  #main.wood-workspace #timber-app form > :is(.tc-panel-title,header) > h2 { font-size:22px; }
}
@media print {
  #main.wood-workspace .wood-heading-toolbar { display:none; }
}
#main.wood-workspace #timber-app:not([data-calculator-ready="true"]){min-height:100vh}
#main.wood-workspace #timber-app:not([data-calculator-ready="true"]) > :not(p):not([role="alert"]){visibility:hidden}

.wood-heading-toolbar .wood-feedback-slot{margin-left:auto;min-width:0}
.wood-heading-toolbar .calculator-feedback{margin-top:0;min-width:0}
.wood-heading-toolbar .calculator-feedback>p:not(:empty){max-width:360px}
