.bl-head,.bl-opts{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:12px}.bl-bar{flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0 8px;display:flex}.bl-bar .btn{cursor:pointer;white-space:nowrap;padding:7px 12px}.bl-menu{margin-left:-1px;position:relative}.bl-menu summary{font-family:var(--mono);background:var(--panel-2);color:var(--paper);border:1px solid var(--line);cursor:pointer;white-space:nowrap;user-select:none;padding:7px 9px;font-size:13px;list-style:none}.bl-menu summary::-webkit-details-marker{display:none}.bl-menu summary:after{content:" ▾"}.bl-menu summary:hover,.bl-menu[open] summary{color:var(--brass)}.bl-menu-list{z-index:30;background:var(--panel);border:1px solid var(--line);flex-direction:column;min-width:15em;margin-top:2px;display:flex;position:absolute;top:100%;right:0;box-shadow:0 6px 18px #0000002e}.bl-group .bl-menu-list button{border:none;border-top:1px solid var(--line);text-align:left;background:0 0;margin:0;padding:9px 12px}.bl-group .bl-menu-list button:first-child{border-top:none}.bl-bar select{background:var(--bg);color:var(--paper);border:1px solid var(--line);font-family:var(--mono);padding:7px 8px}.bl-group{display:inline-flex}.bl-group button{font-family:var(--mono);background:var(--panel-2);color:var(--paper);border:1px solid var(--line);cursor:pointer;white-space:nowrap;margin-left:-1px;padding:7px 9px;font-size:13px}.bl-group button:hover{color:var(--brass)}.bl-group button[aria-pressed=true]{background:var(--brass);color:var(--on-brass);border-color:var(--brass)}@media (width>=1100px){.article.wide>.bl~.calc-method{columns:2;column-gap:48px}.article.wide>.bl~.calc-method>*{max-width:none}.article.wide>.bl~.calc-method>h2{break-after:avoid}.article.wide>.bl~.calc-method>h2:first-child{margin-top:0}.article.wide>.bl~.calc-method li,.article.wide>.bl~.calc-method tr,.article.wide>.bl~.calc-method p{break-inside:avoid}}.bl-work{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}@media (width>=1100px){.bl-work{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}}.bl-stage.full{z-index:1100;box-sizing:border-box;background:var(--bg);flex-direction:column;padding:10px 14px;display:flex;position:fixed;inset:0;overflow:auto}.bl-stage.full #bl-hint{text-align:left;max-width:none;margin:0 0 8px}.bl-stage.full .bl-view{height:62vh}.bl-stage.full .bl-table-wrap{max-height:none}@media (width>=1100px){.bl-stage.full{overflow:hidden}.bl-stage.full .bl-work{flex:1;grid-template-rows:minmax(0,1fr);min-height:0}.bl-stage.full .bl-view{height:100%}.bl-stage.full .bl-side{flex-direction:column;min-height:0;display:flex}.bl-stage.full .bl-table-wrap{flex:1;min-height:0}}.bl-view{background:var(--panel);border:1px solid var(--line);touch-action:none;height:min(72vh,1000px);min-height:320px;position:relative;overflow:hidden}.bl-view.drop{border-color:var(--brass)}#bl-svg{user-select:none;width:100%;height:100%;display:block}.bl-view[data-mode=place] #bl-svg{cursor:crosshair}.bl-view[data-mode=move] #bl-svg,.bl-view[data-mode=frame] #bl-svg{cursor:grab}.bl-empty[hidden]{display:none}.bl-empty{text-align:center;color:var(--paper-dim);pointer-events:none;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0;margin:0!important}.bl-b circle.ring{fill:#fff;stroke:#c0392b;cursor:move}.bl-b text{fill:#c0392b;text-anchor:middle;dominant-baseline:central;pointer-events:none;font-family:IBM Plex Mono,monospace;font-weight:700}.bl-b line{stroke:#c0392b}.bl-b circle.tip{fill:#c0392b;cursor:crosshair}.bl-b.sel circle.ring{fill:#fff3c4;stroke:#1d6fd6}.bl-b.sel text,.bl-b.sel circle.tip{fill:#1d6fd6}.bl-b.sel line{stroke:#1d6fd6}#bl-frame rect{fill:none;stroke:#1d6fd6;stroke-dasharray:8 6}#bl-frame rect.bl-handle{fill:#fff;stroke:#1d6fd6;stroke-dasharray:none;pointer-events:all;cursor:move}#bl-frame .h-n,#bl-frame .h-s{cursor:ns-resize}#bl-frame .h-e,#bl-frame .h-w{cursor:ew-resize}#bl-frame .h-nw,#bl-frame .h-se{cursor:nwse-resize}#bl-frame .h-ne,#bl-frame .h-sw{cursor:nesw-resize}#bl-frame line{stroke:#1d6fd6;stroke-opacity:.35}#bl-frame text{fill:#1d6fd6;text-anchor:middle;dominant-baseline:central;font-family:IBM Plex Mono,monospace}.bl-table tr.bl-inst td{border-top-style:dashed}.bl-table .bl-sub{font-family:var(--mono);color:var(--paper-dim);white-space:nowrap;padding-left:10px}.bl-table .bl-instances{font-family:var(--mono);color:var(--paper-dim);text-align:center;font-size:12px}.bl-paste{background:var(--panel);width:min(860px,100vw - 32px);max-height:calc(100vh - 48px);color:var(--paper);border:1px solid var(--line);padding:20px 22px}.bl-paste::backdrop{background:#00000080}.bl-paste h2{margin:0 0 8px;font-size:18px}.bl-paste textarea{box-sizing:border-box;background:var(--bg);width:100%;color:var(--paper);border:1px solid var(--line);font-family:var(--mono);padding:8px;font-size:13px}.bl-paste-cols{align-items:center;margin:12px 0 8px}.bl-check{color:var(--paper-dim);align-items:center;gap:6px;font-size:13px;display:flex}.bl-paste-preview{border:1px solid var(--line);max-height:220px;overflow:auto}.bl-paste-preview table{border-collapse:collapse;font-family:var(--mono);width:100%;font-size:12px}.bl-paste-preview th,.bl-paste-preview td{border:1px solid var(--line);white-space:nowrap;padding:3px 6px}.bl-paste-preview .id{background:color-mix(in srgb, var(--teal) 22%, transparent)}.bl-paste-preview .val{background:color-mix(in srgb, var(--brass) 22%, transparent)}.bl-paste-btns{gap:10px;margin-top:10px;display:flex}.bl-paste-btns .btn{cursor:pointer}.bl-filebtn{font-family:var(--mono);background:var(--panel-2);color:var(--paper);border:1px solid var(--line);cursor:pointer;white-space:nowrap;margin-left:-1px;padding:7px 9px;font-size:13px}.bl-filebtn:hover{color:var(--brass)}#bl-sheet image.bl-old{opacity:.7;filter:url(#bl-old-tint);pointer-events:none}#bl-sheet .bl-oldg{mix-blend-mode:multiply}.bl-pbox{fill:#1d6fd614;stroke:#1d6fd6;stroke-dasharray:10 6;pointer-events:none}.bl-b.grp circle.ring{stroke:#1d6fd6;fill:#e3efff}.bl-b.grp text{fill:#1d6fd6}.bl-view[data-mode=piece] #bl-svg{cursor:crosshair}.bl-b .delta{fill:#c0392b;pointer-events:none}.bl-b .strike{stroke:#7f8c8d;pointer-events:none}.bl-b.st-deleted circle.ring{stroke:#7f8c8d;stroke-dasharray:4 3}.bl-b.st-deleted text,.bl-b.st-deleted circle.tip{fill:#7f8c8d}.bl-b.st-deleted line{stroke:#7f8c8d}.bl-b.st-check circle.ring{stroke-dasharray:6 3}.bl-table tr.st-changed td,.bl-table tr.st-new td{background:color-mix(in srgb, var(--warn) 12%, transparent)}.bl-table tr.st-changed td:last-child,.bl-table tr.st-new td:last-child{background:color-mix(in srgb, var(--warn) 12%, var(--panel))}.bl-table tr.st-deleted td{opacity:.55}.bl-table tr.st-deleted .bl-req{text-decoration:line-through}.bl-table tr.st-check .bl-status{border-color:var(--warn)}.bl-table select.bl-status{min-width:8em}.bl-places{border:1px solid var(--line);flex-wrap:wrap;grid-column:1/-1;gap:8px 12px;margin:0;padding:8px 12px 10px;display:flex}.bl-places legend{font-family:var(--mono);color:var(--paper-dim);padding:0 4px;font-size:12px}.bl-places label{font-family:var(--mono);align-items:center;gap:6px;font-size:13px;display:flex}.bl-places input{background:var(--bg);width:6em;color:var(--paper);border:1px solid var(--line);font-family:var(--mono);padding:6px 8px}.bl-places[hidden]{display:none}.bl-side{min-width:0}.bl-symbols{flex-wrap:wrap;gap:4px;margin-bottom:6px;display:flex}.bl-symbols button{background:var(--panel-2);min-width:30px;height:30px;color:var(--paper);border:1px solid var(--line);cursor:pointer;padding:0 6px;font-family:DejaVu Sans,Segoe UI Symbol,"Noto Sans Symbols 2",Noto Sans Math,sans-serif;font-size:16px;line-height:1}.bl-symbols button:hover{color:var(--brass);border-color:var(--brass-dim)}.bl-table-wrap{border:1px solid var(--line);max-height:min(72vh,1000px);overflow:auto}.bl-table{border-collapse:collapse;width:100%;font-size:13px}.bl-table th{background:var(--panel-2);font-family:var(--mono);color:var(--paper-dim);text-align:left;white-space:nowrap;z-index:1;padding:6px;font-size:12px;font-weight:500;position:sticky;top:0}.bl-table td{border-top:1px solid var(--line);vertical-align:middle;padding:3px}.bl-table tr.sel td{background:color-mix(in srgb, var(--brass) 14%, transparent)}.bl-table input,.bl-table select{box-sizing:border-box;background:var(--bg);width:100%;min-width:4.5em;color:var(--paper);border:1px solid var(--line);font-family:var(--mono);padding:5px 6px;font-size:13px}.bl-table input:focus,.bl-table select:focus{border-color:var(--brass);outline:none}.bl-table input.bl-req{min-width:15em}.bl-table th:last-child,.bl-table td:last-child{background:var(--panel);position:sticky;right:0}.bl-table th:last-child{background:var(--panel-2);z-index:2}.bl-table tr.sel td:last-child{background:color-mix(in srgb, var(--brass) 14%, var(--panel))}.bl-table input.bl-n{width:3.6em;min-width:3.2em}.bl-table input::placeholder{color:var(--paper-dim);opacity:.8}.bl-table input.dup{border-color:var(--danger)}.bl-table .bl-zone{font-family:var(--mono);text-align:center;color:var(--paper-dim)}.bl-v{font-family:var(--mono);text-align:center;white-space:nowrap;font-weight:700}.bl-v.ok{color:var(--teal)}.bl-v.ng{color:var(--danger)}.bl-v.q{color:var(--warn);cursor:help}.bl-bar{scroll-margin-top:8px}#bl-count{padding:0 6px;position:sticky;left:0}.bl-table input.ng{border-color:var(--danger);color:var(--danger)}.bl-table button.bl-del{color:var(--paper-dim);cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:16px}.bl-table button.bl-del:hover{color:var(--danger)}.bl-report{color:#000;background:#fff;font-family:Sarabun,sans-serif}.bl-report img{page-break-after:always;width:100%}.bl-report table{border-collapse:collapse;width:100%;margin-bottom:12pt;font-size:10pt}.bl-report th,.bl-report td{text-align:left;border:1px solid #000;padding:3pt 5pt}@media print{body.bl-printing>:not(#bl-printout){display:none!important}body.bl-printing #bl-printout{display:block!important}}@media screen{#bl-printout{display:none!important}}
