/* planex2d.org/calculator: the tool in the sheet, beyond the shared style */
.tool{scroll-margin-top:calc(var(--header-h) + 12px)}
.p2d .sheet{background:var(--sheet)}
.p2d .tool-body{background:none;height:640px}
.p2d .app-bar{gap:12px;min-width:0;flex-wrap:wrap}
.p2d .tool-status{flex:1 1 160px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-transform:none;letter-spacing:.04em}
.tool-actions{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin-left:auto}
.tool-actions .bar-gap{width:10px}
.p2d .btn:disabled{opacity:.45;cursor:default}
/* the file tabs, as on the viewer */
.file-tabs{display:flex;flex:0 1 auto;gap:6px;min-width:0;max-width:50%;overflow-x:auto;scrollbar-width:thin}
.file-tabs:empty{display:none}
.file-tab{display:inline-flex;align-items:center;flex:none;max-width:200px;border:1px solid var(--hair);border-radius:4px;background:var(--sheet-2)}
.file-tab.is-active{border-color:var(--accent);background:var(--accent-wash)}
.file-tab.is-error .file-tab-name{color:var(--accent-ink);text-decoration:line-through}
.p2d .file-tab button{border:0;background:none;color:var(--ink);cursor:pointer;font:500 12.5px/1 var(--font-mono)}
.file-tab-name{padding:7px 4px 7px 9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.p2d .file-tab-close{padding:6px 8px 6px 4px;color:var(--ink-muted);font-size:15px}
/* the drawing above the results on the left, the choices on the right */
.calc-stage{display:grid;grid-template-columns:minmax(0,1fr) 300px;min-height:0}
.calc-main{display:grid;grid-template-rows:minmax(0,1fr) 230px;min-height:0;border-right:1px solid var(--hair)}
.calc-view{position:relative;min-height:0}
.calc-results{min-height:0;overflow:auto;padding:12px 16px 14px;border-top:1px solid var(--hair);background:var(--sheet)}
.result-table{width:100%;border-collapse:collapse;font:400 12.5px/1.45 var(--font-mono)}
.p2d .result-table th{padding:8px 0 3px;border:0;background:none;text-align:left;font:500 11px/1.2 var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-label)}
.result-table tr:first-child th{padding-top:0}
.result-table td{padding:2px 0;border-bottom:1px solid var(--hair);color:var(--ink)}
.result-table td+td{text-align:right;white-space:nowrap}
.calc-note{margin:10px 0 0;font-size:12.5px;color:var(--ink-muted)}
.calc-note:empty{display:none}
.calc-panel{display:flex;flex-direction:column;gap:18px;min-height:0;margin:0;padding:16px;overflow-x:hidden;overflow-y:auto}
.calc-panel section{display:grid;gap:9px}
.calc-panel section[hidden]{display:none}
.calc-panel h3{font:500 11.5px/1.2 var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-label);margin:0 0 2px}
.p2d .panel-rule{width:100%;height:0;margin:0;border:0;border-top:1px solid var(--hair)}
.check-line{position:relative;display:flex;align-items:center;gap:6px;font-size:13.5px;color:var(--ink)}
.calc-panel .check{display:flex;align-items:center;gap:9px;cursor:pointer}
.calc-panel .check input{width:15px;height:15px;margin:0;accent-color:var(--accent)}
.field-row{display:grid;grid-template-columns:minmax(0,1fr) 92px auto;align-items:center;gap:8px;font-size:13px;color:var(--ink-label)}
.p2d .field-row input,.p2d .field-row select,.p2d .unit-row select{width:100%;min-width:0;height:26px;padding:0 6px;border:1px solid var(--hair-strong);border-radius:3px;background:var(--sheet);color:var(--ink);font:400 12px/1 var(--font-mono)}
.p2d .field-row input{text-align:right}
.p2d .field-row input:focus,.p2d .field-row select:focus,.p2d .unit-row select:focus{outline:none;border-color:var(--accent)}
.field-row .field-unit{min-width:34px;font:400 11.5px/1 var(--font-mono);color:var(--ink-muted)}
.field-row.is-wide{grid-template-columns:minmax(0,1fr) 150px}
.unit-row{display:grid;grid-template-columns:minmax(0,1fr) 150px;align-items:center;gap:8px;font-size:13px;color:var(--ink-label)}
.fit-options{display:grid;gap:9px;margin:-2px 0 4px 24px;padding-left:10px;border-left:1px solid var(--hair)}
.fit-options[hidden]{display:none}
.layer-row{display:grid !important;grid-template-columns:auto minmax(0,1fr) auto;font-size:13px}
.layer-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono)}
.layer-info{font:400 11.5px/1 var(--font-mono);color:var(--ink-muted)}
/* (i) with its explanation on hover or focus (a tap focuses it on a phone), under its row and as wide as the row */
.info{display:inline-grid;place-items:center;flex:none;width:14px;height:14px;border:1px solid var(--hair-strong);border-radius:50%;font:italic 600 9.5px/1 var(--font-display);color:var(--ink-muted);cursor:help}
.info:hover,.info:focus{border-color:var(--accent);color:var(--accent-ink);outline:none}
.info .tip{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:10;display:none;padding:8px 10px;border:1px solid var(--hair);border-radius:4px;background:var(--sheet);box-shadow:var(--lift-2,0 6px 20px rgb(0 0 0 / .15));font:400 12.5px/1.45 var(--font-sans);font-style:normal;color:var(--ink);text-align:left}
.info:hover .tip,.info:focus .tip{display:block}
.calc-problem{font-size:13px;color:var(--accent-ink)}
.calc-problem[hidden]{display:none}
.tool-frame{position:absolute;inset:0;width:100%;height:100%;border:0;background:transparent;visibility:hidden}
.tool-frame.is-visible{visibility:visible}
.calc-empty{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:14px;padding:24px;text-align:center;color:var(--ink-muted);font-size:14.5px}
.calc-empty[hidden],.drop-overlay[hidden]{display:none}
.calc-empty:not(.is-waiting) .loading-mark{display:none}
.drop-overlay{position:absolute;inset:0;z-index:5;display:grid;place-items:center;border:1.5px dashed var(--accent);background:color-mix(in srgb,var(--accent-wash) 88%,transparent);font:450 26px/1.1 var(--font-display);color:var(--ink)}
.sheet-area{position:relative}
.sheet-area:fullscreen{background:var(--sheet)}
.sheet-area:fullscreen .tool-body{height:100vh}
.example-figure .geo{fill:none}
.example-figure .node circle{fill:var(--sheet-2);stroke:var(--accent);stroke-width:1.3}
.p2d .example-actions a{text-decoration:none}
@container (max-width:860px){
  .p2d .tool-body{height:auto}
  .calc-stage{grid-template-columns:1fr}
  .calc-main{grid-template-rows:420px auto;border-right:0;border-bottom:1px solid var(--hair)}
  .calc-results{overflow:visible}
  .calc-panel{overflow:visible}
  .file-tabs{max-width:100%;flex-basis:100%;order:-1}
  .p2d .tool-status{flex-basis:100%}
  .tool-actions{margin-left:0}
}
