@font-face{font-family:Commit Mono;font-weight:400 700;font-style:normal;font-display:swap;src:url(/tubesheet-generator-react-app/fonts/CommitMono-VariableFont.woff2)format("woff2")}@font-face{font-family:Inter;font-weight:100 900;font-style:normal;font-display:swap;src:url(/tubesheet-generator-react-app/fonts/InterVariable.woff2)format("woff2")}:root{--font-ui:"Inter", Arial, "Segoe UI", -apple-system, BlinkMacSystemFont, "Noto Sans", Helvetica, sans-serif;--font-mono:"Commit Mono", "SFMono-Regular", Consolas, Menlo, monospace;--font-monochrome-emoji:"Segoe UI Symbol", "Apple Symbols", "Noto Sans Symbols", monospace;--radius-sm:3px;--radius-md:5px;--transition:.15s ease;--tooltip-transition:cubic-bezier(0, 0, .2, 1);--options-btn-font-size:12.5px;--viewport-cluster-btn-width:42px;--page-slide-duration:.32s;--page-slide-easing:cubic-bezier(.22, 1, .36, 1);--paper-light:#f9f8f6;--panel-light:#fff;--ink-light:#1a222e;--muted-light:#5e6978;--dm-light:#5e6978;--line-light:#d0d5dd;--grid-minor-light:#e4eaf1;--grid-major-light:#d6dde6;--input-bg-light:#fbfbf9;--input-readonly-bg-light:#edeff3;--input-readonly-text-light:#788391;--viewport-bg-light:#f2f5f8;--blue-light:#21508c;--blue-bright-light:#2261b4;--blue-tint-light:#eaf1fa;--blue-glow-light:#2261b438;--redline-light:#ba1c1c;--redline-glow-light:#ba1c1c33;--greenline-light:#1cba43;--greenline-glow-light:#1cba4333;--preferred-light:#2261b4;--preferred-badge-light:#9f6104;--preferred-badge-tint-light:#d17f05;--box-shadow-light-1:#0000004d;--box-shadow-light-2:#0000001a;--paper-dark:#10161e;--panel-dark:#161e27;--ink-dark:#eaf0f6;--muted-dark:#8f9dae;--dm-dark:var(--panel-dark);--line-dark:#3e4e60;--grid-minor-dark:#131920;--grid-major-dark:#1a232d;--input-bg-dark:#121921;--input-readonly-bg-dark:#212b36;--input-readonly-text-dark:#7e8b9a;--viewport-bg-dark:#0c1118;--blue-dark:#6ea9ed;--blue-bright-dark:#8ebef5;--blue-tint-dark:#172c45;--blue-glow-dark:#69a9f238;--redline-dark:#f15f5f;--redline-glow-dark:#f15f5f33;--greenline-dark:#5ff184;--greenline-glow-dark:#5ff18433;--preferred-dark:#8ebef5;--preferred-badge-dark:#f6bd5a;--preferred-badge-tint-dark:#fbe4bb;--box-shadow-dark-1:#000000b3;--box-shadow-dark-2:#00000080;--paper:var(--paper-light);--panel:var(--panel-light);--ink:var(--ink-light);--muted:var(--muted-light);--dm:var(--dm-light);--line:var(--line-light);--grid-minor:var(--grid-minor-light);--grid-major:var(--grid-major-light);--input-background:var(--input-bg-light);--input-readonly-background:var(--input-readonly-bg-light);--input-readonly-text:var(--input-readonly-text-light);--viewport-bg:var(--viewport-bg-light);--blue:var(--blue-light);--blue-bright:var(--blue-bright-light);--blue-tint:var(--blue-tint-light);--blue-glow:var(--blue-glow-light);--redline:var(--redline-light);--redline-glow:var(--redline-glow-light);--greenline:var(--greenline-light);--greenline-glow:var(--greenline-glow-light);--preferred:var(--preferred-light);--preferred-badge:var(--preferred-badge-light);--preferred-badge-tint:var(--preferred-badge-tint-light);--box-shadow-1:var(--box-shadow-light-1);--box-shadow-2:var(--box-shadow-light-2);--elevation-low:0 1px 2px var(--box-shadow-2);--elevation-mid:0 4px 12px var(--box-shadow-2), 0 1px 3px var(--box-shadow-1);--elevation-high:0 10px 24px var(--box-shadow-2), 0 2px 6px var(--box-shadow-1);margin:0}[data-theme=dark]{--paper:var(--paper-dark);--panel:var(--panel-dark);--ink:var(--ink-dark);--muted:var(--muted-dark);--dm:var(--dm-dark);--line:var(--line-dark);--grid-minor:var(--grid-minor-dark);--grid-major:var(--grid-major-dark);--input-background:var(--input-bg-dark);--input-readonly-background:var(--input-readonly-bg-dark);--input-readonly-text:var(--input-readonly-text-dark);--viewport-bg:var(--viewport-bg-dark);--blue:var(--blue-dark);--blue-bright:var(--blue-bright-dark);--blue-tint:var(--blue-tint-dark);--blue-glow:var(--blue-glow-dark);--redline:var(--redline-dark);--redline-glow:var(--redline-glow-dark);--greenline:var(--greenline-dark);--greenline-glow:var(--greenline-glow-dark);--preferred:var(--preferred-dark);--preferred-badge:var(--preferred-badge-dark);--preferred-badge-tint:var(--preferred-badge-tint-dark);--box-shadow-1:var(--box-shadow-dark-1);--box-shadow-2:var(--box-shadow-dark-2)}*{z-index:1;box-sizing:border-box;font-family:var(--font-ui);font-optical-sizing:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-style:normal;position:relative}html,body{margin:0;padding:0}html{width:100%;height:100%;color:var(--ink);background-color:var(--paper);transition:color var(--transition), background-color var(--transition), border-color var(--transition), filter var(--transition)}body{width:100%;height:100%}.hidden{white-space:nowrap;clip-path:inset(25%);clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}input{color:var(--ink);background-color:var(--input-background)}a,:visited,:link{font-family:inherit;font-size:inherit;font-weight:inherit;color:var(--blue)}.version-text{padding-left:10px;display:inline}.row-pane{grid-template:"form viewport"1fr"footer viewport"/24rem 1fr;height:100vh;display:grid}.route-hidden{display:none}.app-busy,.app-busy *{cursor:wait!important}.column-pane{flex-direction:column;min-width:0;height:100vh;padding:0;display:flex}.left{border-right:1px solid var(--line);background-color:var(--panel);flex-direction:column;grid-area:form;align-items:normal;height:100%;min-height:0;position:relative}form.column-pane.left{padding:0}.right{grid-area:viewport;height:100%;padding:0;position:relative}.title-block{border-bottom:1px solid var(--line);background-color:var(--panel);flex:none;justify-content:space-between;align-items:flex-start;gap:12px;padding:1.375rem 1.5rem 1rem;display:flex}.title-block .eyebrow{font-family:var(--font-mono);color:var(--blue);text-transform:uppercase;letter-spacing:.14em;margin:0 0 6px;font-size:11px;font-weight:400;display:block}h1{color:var(--ink);letter-spacing:-.01em;margin:0;padding:0;font-size:20px;font-weight:700;line-height:1.25}h1 small{font-family:var(--font-mono);color:var(--muted);letter-spacing:.02em;margin-top:4px;font-size:11px;font-weight:400;display:block}h2{font-family:var(--font-mono);color:var(--muted);text-transform:uppercase;letter-spacing:.14em;margin:0 0 14px;padding:0;font-size:11px;font-weight:700}hr{width:100%;height:1px;color:var(--line);background-color:var(--line);border:none;margin:0}.divider{background-color:var(--line);border:none;height:1px;margin:20px 0}.form-scroll{scrollbar-color:var(--line) transparent;scrollbar-width:thin;scrollbar-gutter:stable;flex:1;padding:20px 24px 24px;overflow-y:auto}.form-scroll::-webkit-scrollbar{width:8px}.form-scroll::-webkit-scrollbar-track{background:0 0}.form-scroll::-webkit-scrollbar-thumb{background-color:var(--line);background-clip:padding-box;border:2px solid #0000;border-radius:999px}.form-scroll::-webkit-scrollbar-thumb:hover{background-color:var(--muted)}.section{margin-bottom:12px}.field{margin-bottom:1rem;position:relative}.field:last-child{margin-bottom:0}.field-group-stack{flex-direction:column;gap:12px;display:flex}.field-group-card{border:1px solid var(--line);border-radius:var(--radius-md);background-color:var(--panel);padding:14px 16px}.field-group-card .field:last-child{margin-bottom:0}.field-group-title{font-family:var(--font-ui);color:var(--ink);align-items:baseline;gap:4px;margin:0 0 12px;padding:0;font-size:12.5px;font-weight:700;display:flex}.field-row-group{margin-bottom:1rem}.field-row-group:last-child{margin-bottom:0}.field-row{grid-template-columns:1fr auto 1fr;align-items:start;gap:10px;display:grid}.field-row .field{margin-bottom:0}.field-divider-or{font-family:var(--font-ui);color:var(--muted);letter-spacing:.04em;align-self:center;margin-top:20px;font-size:11px;font-weight:600}.field-row-hint{font-family:var(--font-ui);color:var(--muted);letter-spacing:.01em;margin:6px 0 1rem;font-size:11px;font-weight:400}.field-row-group .field-row-hint{margin-bottom:0}.field-label{color:var(--ink);align-items:baseline;gap:4px;margin-bottom:6px;font-size:12.5px;font-weight:700;display:flex}.required-asterisk{color:var(--redline);font-size:12px;display:inline-block}.input-group{align-items:center;display:flex;position:relative}input[type=text]{border:1.5px solid var(--line);border-radius:var(--radius-sm);width:100%;min-width:30px;font-family:var(--font-mono);color:var(--ink);letter-spacing:.01em;background-color:var(--input-background);transition:border-color var(--transition), box-shadow var(--transition), background-color var(--transition), color var(--transition);outline:none;margin:0;padding:9px 40px 9px 10px;font-size:13px;font-weight:400;display:block}input[type=text]::placeholder{color:var(--muted);opacity:.7}input[type=text]:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-glow)}[data-theme=dark] input[type=text]{border-color:#4e647e}[data-theme=dark] input[type=text]:focus{border-color:var(--blue)}input.calculated-field[type=text]:read-only{color:var(--input-readonly-text);background-color:var(--input-readonly-background)}input[type=text]:read-only:not(.calculated-field){color:var(--input-readonly-text);background-color:var(--input-readonly-background);transition:border-color var(--transition), box-shadow var(--transition), background-color .15s ease .15s, color .15s ease .15s}input[type=text].field-invalid{border-color:var(--redline)}input[type=text].field-invalid:focus{border-color:var(--redline);box-shadow:0 0 0 3px var(--redline-glow)}input[type=text].field-valid{border-color:var(--greenline)}input[type=text].field-valid:focus,input[type=text].field-valid:read-only{border-color:var(--greenline);box-shadow:0 0 0 3px var(--greenline-glow)}input[type=text].field-preview{color:var(--muted)}input[type=text].field-preview:focus{color:var(--ink)}.field-error{font-family:var(--font-ui);color:var(--redline);letter-spacing:.01em;margin:6px 0 0;font-size:11.5px;font-weight:500}.input-group>.units{pointer-events:none;font-family:var(--font-mono);color:var(--muted);font-size:11px;font-weight:400;position:absolute;right:10px}.layout-list-header{grid-template-columns:16px 52px 1fr auto;align-items:end;gap:12px;margin-bottom:3px;padding:0 10px;display:grid}.layout-list-header .header-stats{color:var(--muted);text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;align-items:baseline;gap:12px;font-size:9.5px;font-weight:700;display:flex}.layout-list-header .header-minid{text-align:center;min-width:54px}.layout-list-header .header-tubes{text-align:center;min-width:44px}.layout-list{flex-direction:column;gap:0;display:flex}.layout-row{cursor:pointer;z-index:0;border:1.5px solid var(--line);background-color:var(--input-background);transition:border-color var(--transition), background-color var(--transition), opacity var(--transition);border-radius:0;grid-template-columns:16px 52px 1fr auto;align-items:center;gap:12px;margin-top:-1.5px;padding:8px 10px;display:grid;position:relative}.layout-row:first-of-type{border-top-left-radius:var(--radius-sm);border-top-right-radius:var(--radius-sm);margin-top:0}.layout-row:last-of-type{border-bottom-right-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm)}.layout-row:has(input:checked){z-index:1}.layout-row:hover:not(:has(input:disabled)){background-color:var(--input-readonly-background)}.layout-row:hover .row-badge{color:var(--preferred-badge-tint)}.layout-row .row-badge{color:var(--preferred-badge);opacity:1;transition:color var(--transition);margin-left:4px;display:inline-flex}.layout-row .row-badge svg{display:block}.layout-row:hover .row-badge{opacity:.9}.layout-row:has(input:disabled){cursor:default}.layout-row:has(input:disabled)>*{color:var(--muted)}.layout-row:has(input:checked){border-color:var(--blue);background-color:var(--blue-tint)}.layout-row:has(input:focus-visible){box-shadow:0 0 0 3px var(--blue-glow)}.layout-row input{width:13px;height:13px;accent-color:var(--blue);margin:0;position:static}.layout-row .row-angle{color:var(--ink);white-space:nowrap;align-items:center;font-size:13px;font-weight:700;display:flex}.layout-row .row-bar-track{background-color:var(--line);border-radius:3px;height:6px;position:relative;overflow:hidden}.layout-row .row-bar-fill{background-color:var(--muted);height:100%;transition:width var(--transition);border-radius:3px;position:absolute;inset:0 auto 0 0}.layout-row.preferred .row-bar-fill{background-color:var(--preferred)}.layout-row .row-stats{font-family:var(--font-mono);white-space:nowrap;align-items:baseline;gap:12px;display:flex}.layout-row .row-stats .row-minid{min-width:54px;font-family:var(--font-mono);color:var(--ink);text-align:center;font-size:14px;font-weight:700}.layout-row .row-stats .row-tubes{min-width:44px;font-family:var(--font-mono);color:var(--ink);text-align:center;font-size:14px;font-weight:700}.layout-row .row-stats .empty{color:var(--line);line-height:1}.sweep-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.sweep-button{border:1.5px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);transition:background-color var(--transition), border-color var(--transition);background-color:#0000;flex:none;padding:8px 14px;font-size:12.5px}.sweep-button:hover:not(:disabled){background-color:var(--input-readonly-background)}.sweep-button:disabled{cursor:not-allowed;color:var(--muted)}.sweep-status{color:var(--muted);font-size:12px}.sweep-status.error{color:var(--redline)}.sweep-header .header-minid,.sweep-header .header-tubes{color:var(--muted);text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;font-size:9.5px;font-weight:700}.sweep-header .header-minid,.sweep-row .row-angle{justify-content:center}button{cursor:pointer;border-radius:var(--radius-sm);font-family:var(--font-ui);transition:background-color var(--transition), color var(--transition), box-shadow var(--transition), opacity var(--transition);border:none;font-size:13px;font-weight:600}button:disabled{cursor:auto}.focus-ring:focus-visible{box-shadow:0 0 0 3px var(--blue-glow);outline:none}.generate-button{width:100%;color:var(--panel);letter-spacing:.02em;background-color:var(--blue);margin:0;padding:12px 16px;font-size:13.5px;display:block}.generate-button:hover:not(:disabled){background-color:var(--blue-bright)}.generate-button:disabled{color:var(--muted);background-color:var(--line)}.form-footer{border-top:1px solid var(--line);border-right:1px solid var(--line);background-color:var(--panel);grid-area:footer;padding:18px 16px}footer{width:100%;height:fit-content;font-family:var(--font-mono);color:var(--muted);align-items:center;gap:10px;font-size:10.5px;font-weight:400;line-height:1.7;display:flex}footer a{color:var(--blue);align-items:center;gap:6px;text-decoration:none;display:inline-flex}footer a:hover,footer a:focus-visible{text-decoration:underline}.footer-link-btn{cursor:pointer;border:1.5px solid var(--line);border-radius:var(--radius-sm);font-family:var(--font-ui);color:var(--ink);letter-spacing:.03em;background-color:var(--input-background);box-shadow:var(--elevation-low);transition:border-color var(--transition), color var(--transition), background-color var(--transition);padding:6px 10px;font-size:10.5px;font-weight:600}.footer-link-btn:hover,.footer-link-btn:focus-visible{border-color:var(--blue);color:var(--blue);text-decoration:none}.footer-link-btn-icon{width:13px;height:13px}.viewport{touch-action:none;overscroll-behavior:none;height:100vh;padding-top:48px;padding-right:48px;padding-bottom:var(--viewport-footer-reserve,48px);background-color:var(--viewport-bg);background-image:linear-gradient(var(--grid-major) 1px, transparent 1px), linear-gradient(90deg, var(--grid-major) 1px, transparent 1px), linear-gradient(var(--grid-minor) 1px, transparent 1px), linear-gradient(90deg, var(--grid-minor) 1px, transparent 1px);-webkit-tap-highlight-color:transparent;background-position:-1px -1px;background-size:5rem 5rem,5rem 5rem,1rem 1rem,1rem 1rem;justify-content:center;align-items:center;padding-left:48px;display:flex;position:relative;overflow:hidden}.viewport:before,.viewport:after,.reg-tl,.reg-tr,.reg-bl,.reg-br{content:"";z-index:1;border:1.5px solid var(--muted);opacity:.55;width:22px;height:22px;position:absolute}.reg-tl{border-bottom:none;border-right:none;top:18px;left:18px}.reg-tr{border-bottom:none;border-left:none;top:18px;right:18px}.reg-bl{border-top:none;border-right:none;bottom:18px;left:18px}.reg-br{border-top:none;border-left:none;bottom:18px;right:18px}.viewport:before,.viewport:after{display:none}.viewport.grid-hidden{background-image:none}.viewport-options{z-index:3;flex-direction:column;align-items:flex-end;display:flex;position:absolute;top:28px;right:28px}.floating-card{border:1.5px solid var(--line);border-radius:var(--radius-md);background-color:var(--panel);box-shadow:var(--elevation-low);flex-direction:column;gap:3px;padding:4px;display:flex}.icon-btn-vertical{cursor:pointer;width:var(--viewport-cluster-btn-width);border:1.5px solid var(--line);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--options-btn-font-size);color:var(--muted);letter-spacing:.08em;opacity:.8;transition:color var(--transition), border-color var(--transition), background-color var(--transition), opacity var(--transition);background-color:#0000;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:6px 4px;font-weight:400;display:flex;position:relative}.btn-label{pointer-events:none;z-index:5;transform-origin:100%;font-family:var(--font-ui);color:#f1f5f9;letter-spacing:.01em;white-space:nowrap;opacity:0;box-shadow:var(--elevation-low);transition:opacity .15s var(--tooltip-transition), transform .15s var(--tooltip-transition);background-color:#1b2532;border-radius:4px;padding:5px 9px;font-size:11px;font-weight:400;position:absolute;top:50%;right:calc(100% + 10px);transform:translateY(-50%)scale(.94)}.btn-label:after{content:"";background-color:inherit;border-radius:1px;width:8px;height:8px;position:absolute;top:50%;right:-4px;transform:translateY(-50%)rotate(45deg)}.btn-icon{width:23px;height:23px}.btn-micro-label{font-family:var(--font-mono);color:inherit;text-transform:uppercase;letter-spacing:.02em;font-size:10px;font-weight:600;line-height:1}.grid-toggle:hover .btn-label,.table-toggle:hover .btn-label,.tube-labels-toggle:hover .btn-label,.help-button:hover .btn-label,.export-btn:hover .btn-label,.copy-button:hover .btn-label{opacity:1;transition-delay:.5s;transform:translateY(-50%)scale(1)}.grid-toggle:focus-visible .btn-label,.table-toggle:focus-visible .btn-label,.tube-labels-toggle:focus-visible .btn-label,.help-button:focus-visible .btn-label,.export-btn:focus-visible .btn-label,.copy-button:focus-visible .btn-label{opacity:1;transform:translateY(-50%)scale(1)}.grid-toggle:hover,.table-toggle:hover,.tube-labels-toggle:hover{border-color:var(--blue);color:var(--blue);opacity:1}.grid-toggle.active:hover,.table-toggle.active:hover,.tube-labels-toggle.active:hover{border-color:hsl(from var(--blue) h calc(s + 30) calc(l + 20));color:hsl(from var(--blue) h calc(s + 30) calc(l + 20));opacity:1}.grid-toggle.active,.table-toggle.active,.tube-labels-toggle.active{border-color:var(--blue);color:var(--blue);opacity:1;background-color:var(--blue-tint)}.grid-toggle svg,.table-toggle svg,.tube-labels-toggle svg{fill:none;stroke:currentColor;stroke-width:1.3px}.viewport-help{z-index:3;flex-direction:column;align-items:flex-start;display:flex;position:absolute;top:28px;left:28px}.help-button{cursor:pointer;width:var(--viewport-cluster-btn-width);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--options-btn-font-size);color:var(--panel);letter-spacing:.08em;background-color:var(--ink);transition:color var(--transition), border-color var(--transition), background-color var(--transition);border:1.5px solid #0000;flex-direction:column;align-items:center;gap:0;padding:6px 4px;font-weight:400;text-decoration:none;display:flex;position:relative}.help-button .btn-label{transform-origin:0;left:calc(100% + 10px);right:auto}.help-button .btn-label:after{left:-4px;right:auto}.help-button:hover,.help-button:focus-visible{border-color:var(--blue);background-color:var(--blue)}.viewport-label{z-index:1;font-family:var(--font-mono);color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-size:10.5px;font-weight:400;position:absolute;top:20px;left:50%;transform:translate(-50%)}.loading-overlay{pointer-events:none;z-index:4;border:1.5px solid var(--blue);border-radius:var(--radius-sm);font-family:var(--font-mono);color:var(--blue);text-transform:uppercase;letter-spacing:.12em;opacity:0;background-color:var(--blue-tint);padding:6px 14px;font-size:10.5px;font-weight:400;transition:opacity .2s;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.loading-overlay.visible{opacity:1}.loading-overlay.error{border-color:var(--redline);color:var(--redline)}.loading-dots{vertical-align:middle;gap:3px;margin-left:6px;display:inline-flex}.loading-dots span{background-color:currentColor;border-radius:50%;width:3px;height:3px;animation:1.2s ease-in-out infinite loading-dots-pulse}.loading-dots span:nth-child(2){animation-delay:.15s}.loading-dots span:nth-child(3){animation-delay:.3s}@keyframes loading-dots-pulse{0%,80%,to{opacity:.25;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.noselect{-webkit-user-select:none;user-select:none;-khtml-user-select:none;-webkit-touch-callout:none}.tubesheet-svg{z-index:2;max-width:100%;max-height:calc(100vh - 48px - var(--viewport-footer-reserve,48px));position:relative}.tubesheet-svg>*{stroke:var(--ink);transition:stroke var(--transition)}.tubesheet-svg text{-webkit-user-select:none;user-select:none;fill:var(--ink);stroke:none;transition:fill var(--transition)}.tubesheet-svg circle:not([id]){transition:stroke var(--transition), stroke-width var(--transition), stroke-opacity var(--transition)}.tubesheet-svg circle:not([id]).region-hovered{stroke:var(--blue);stroke-opacity:1;stroke-width:var(--region-hover-stroke-width,3)}.region-tooltip{pointer-events:none;z-index:20;border:1.5px solid var(--blue);border-radius:var(--radius-sm);font-family:var(--font-mono);color:var(--blue);white-space:nowrap;opacity:0;background-color:var(--panel);box-shadow:var(--elevation-low);align-items:baseline;gap:6px;padding:5px 10px;font-size:10.5px;font-weight:400;transition:opacity .12s,transform .12s;display:flex;position:fixed;top:0;left:0;transform:translateY(2px)}.region-tooltip.visible{opacity:1;transform:translateY(0)}.region-tooltip-label{text-transform:uppercase;letter-spacing:.08em;opacity:.75}.region-tooltip-value{font-family:var(--font-mono);font-weight:400}.viewport-overlay-footer{--footer-row-gap:16px;z-index:3;gap:var(--footer-row-gap);flex-flow:wrap;justify-content:flex-start;align-items:flex-end;display:flex;position:absolute;bottom:28px;left:28px;right:28px}.viewport-actions{flex-direction:column;align-items:flex-end;min-width:0;margin-left:auto;display:flex}.tubesheet-data-table{border-collapse:collapse;border:1.5px solid var(--line);border-radius:var(--radius-md);max-width:100%;font-family:var(--font-mono);background-color:color-mix(in srgb, var(--panel), transparent 12%);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:var(--elevation-mid);flex-shrink:0;font-size:11px;overflow:hidden}.tubesheet-data-table[hidden]{display:none}.tubesheet-data-table tr+tr th,.tubesheet-data-table tr+tr td{border-top:1px solid var(--line)}.tubesheet-data-table th,.tubesheet-data-table td{text-align:left;white-space:nowrap;padding:6px 14px}.tubesheet-data-table th{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-weight:400}.tubesheet-data-table td{font-family:var(--font-mono);color:var(--ink);text-align:right;font-weight:400}.export-btn{cursor:pointer;border-radius:var(--radius-sm);transition:padding var(--transition), border var(--transition), color var(--transition), background-color var(--transition);color:var(--panel);background-color:var(--ink);justify-content:center;align-items:center;gap:2px;padding:6px 4px;display:flex;position:relative}.export-btn:hover{background-color:var(--blue)}.export-btn:disabled{cursor:default;opacity:.6}.export-btn:disabled:hover{background-color:var(--ink)}.export-btn.error,.export-btn.error:hover{background-color:var(--redline)}.save-buttons-group{border-radius:var(--radius-sm);background-color:var(--ink);flex-direction:column;gap:0;padding:0;display:flex}.save-buttons-group .export-btn{color:var(--panel);background-color:var(--ink);margin:0;padding:9.5px 6px}.save-buttons-group .export-btn:has(+.export-btn){border-bottom-right-radius:0;border-bottom-left-radius:0}.save-buttons-group .export-btn+.export-btn{border-top-left-radius:0;border-top-right-radius:0}.save-buttons-group .export-btn+.export-btn:before{content:"";background-color:var(--line);height:1px;position:absolute;top:0;left:6px;right:6px}.save-buttons-group .export-btn:hover{background-color:var(--blue)}.save-buttons-group .export-btn:disabled{cursor:not-allowed;opacity:.6}.save-buttons-group .export-btn:disabled:hover{color:var(--ink);background-color:var(--panel)}.save-buttons-group .export-btn.error{color:var(--panel);background-color:var(--redline)}.save-buttons-group .export-btn.error:hover{background-color:var(--redline)}.copy-button{border:1.5px solid var(--line);color:var(--ink);box-shadow:none;background-color:#0000}.copy-button:hover{border-color:var(--blue);color:var(--blue)}.copy-button:disabled{cursor:default;opacity:.6}.copy-button:disabled:hover{border-color:var(--line);color:var(--ink)}.copy-btn-wrap{justify-content:flex-end;display:flex;position:relative}.copy-status-badge{pointer-events:none;z-index:4;border:1.5px solid var(--blue);border-radius:var(--radius-sm);font-family:var(--font-mono);color:var(--blue);text-transform:uppercase;letter-spacing:.12em;white-space:nowrap;opacity:0;background-color:var(--blue-tint);padding:6px 14px;font-size:10.5px;font-weight:400;transition:opacity .2s;position:absolute;bottom:calc(100% + 8px);right:0}.copy-status-badge.visible{opacity:1}.copy-status-badge.error{border-color:var(--redline);color:var(--redline)}.copy-status-badge.success{border-color:var(--greenline);color:var(--greenline)}.context-menu{touch-action:none;z-index:50;overscroll-behavior:none;border:1.5px solid var(--line);border-radius:var(--radius-md);min-width:150px;color:var(--ink);letter-spacing:.02em;background-color:var(--panel);box-shadow:var(--elevation-high);-webkit-tap-highlight-color:transparent;outline:none;margin:0;padding:0;font-size:12.5px;list-style:none;position:absolute}.context-menu:focus,.context-menu:focus-visible{outline:none}.context-menu>li{cursor:pointer;align-items:center;margin:4px;padding:5px;display:flex}.context-menu-divider{border:0;border-top:1.5px solid var(--line)}.context-menu-item{transition:background-color var(--transition), color var(--transition);border-radius:4px}.context-menu-item>.icon{color:currentColor;justify-content:center;align-items:center;width:15px;height:15px;margin-right:10px;display:inline-flex}.context-menu-item.danger{color:var(--redline)}.context-menu-item.disabled{cursor:not-allowed;color:var(--muted);opacity:.5}.context-menu-item.disabled.focus{color:var(--muted);background-color:#0000}.context-menu-item.focus{color:var(--panel);background-color:var(--blue)}.context-menu-item.danger.focus{color:var(--panel);background-color:var(--redline)}.context-menu-item:first-child{border-top-left-radius:var(--radius-md);border-top-right-radius:var(--radius-md)}.context-menu-item:last-child{border-bottom-right-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}@media screen and (width<=56.25rem){.title-block{z-index:99;width:100%;position:sticky;top:0}.row-pane{grid-template:"form""viewport""footer"/1fr;height:auto;display:grid}.left{border-right:none;border-bottom:1px solid var(--line);height:auto}.right{height:auto}.form-scroll{overflow-y:visible}.viewport{height:auto;padding:28px;overflow:visible}.tubesheet-svg{height:auto;max-height:none}.loading-overlay{top:52px;bottom:auto}.viewport.has-table{flex-direction:column;gap:16px}.viewport.has-table .viewport-overlay-footer{z-index:auto;width:100%;max-width:100%;position:static}.viewport.has-table .tubesheet-data-table{max-width:100%;overflow-x:auto}}@media screen and (width<=30rem){.layout-row,.layout-list-header{grid-template-columns:16px 44px 1fr auto;gap:8px}.layout-row{padding:8px}.viewport,.viewport.has-table{min-height:420px;padding:16px 84px 16px 16px}.viewport-options{top:16px;right:16px}.viewport-help{top:16px;left:16px}.viewport-label{font-size:9.5px;top:14px}.viewport-overlay-footer{bottom:16px;right:16px}.reg-tl,.reg-tr,.reg-bl,.reg-br{width:16px;height:16px}.reg-tl{top:10px;left:10px}.reg-tr{top:10px;right:10px}.reg-bl{bottom:10px;left:10px}.reg-br{bottom:10px;right:10px}.loading-overlay{top:40px}.btn-label{font-size:calc(var(--options-btn-font-size) *.92)}.btn-icon{width:20px;height:20px}.tubesheet-data-table{font-size:10px}.tubesheet-data-table th,.tubesheet-data-table td{padding:5px 9px}}.row-pane,.docs-page{view-transition-name:page-content}::view-transition-group(page-content){animation:none}::view-transition-old(page-content){mix-blend-mode:normal;height:100%;animation-duration:var(--page-slide-duration);animation-timing-function:var(--page-slide-easing);animation-fill-mode:both}::view-transition-new(page-content){mix-blend-mode:normal;height:100%;animation-duration:var(--page-slide-duration);animation-timing-function:var(--page-slide-easing);animation-fill-mode:both}:root[data-view-transition-direction=forward]::view-transition-old(page-content){animation-name:docs-slide-out-to-left}:root[data-view-transition-direction=forward]::view-transition-new(page-content){animation-name:docs-slide-in-from-right}:root[data-view-transition-direction=back]::view-transition-old(page-content){animation-name:docs-slide-out-to-right}:root[data-view-transition-direction=back]::view-transition-new(page-content){animation-name:docs-slide-in-from-left}@keyframes docs-slide-out-to-left{to{opacity:0;transform:translate(-6%)}}@keyframes docs-slide-in-from-right{0%{opacity:0;transform:translate(6%)}}@keyframes docs-slide-out-to-right{to{opacity:0;transform:translate(6%)}}@keyframes docs-slide-in-from-left{0%{opacity:0;transform:translate(-6%)}}:root[data-page-transition=fade] .row-pane,:root[data-page-transition=fade] .docs-page{animation:page-fade-in var(--page-slide-duration) var(--page-slide-easing) both}@keyframes page-fade-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}:root{--toggle-scale:.4}.toggle-wrapper{width:calc(130px * var(--toggle-scale));margin:0;display:block}.toggle{cursor:pointer;width:calc(130px * var(--toggle-scale));height:calc(65px * var(--toggle-scale));padding:calc(12px * var(--toggle-scale));border-radius:calc(32.5px * var(--toggle-scale));background:var(--line);transition:background-color var(--transition), filter var(--transition);position:relative}.toggle:before{content:"";z-index:2;width:calc(41px * var(--toggle-scale));height:calc(41px * var(--toggle-scale));border-radius:calc(20.5px * var(--toggle-scale));background:var(--panel);transition:transform var(--transition);display:block;position:absolute;transform:translate(0);box-shadow:0 1px 3px #0003}.toggle.enabled{background:var(--blue)}.toggle.enabled:before{transform:translateX(calc(65px * var(--toggle-scale)))}.toggle input{opacity:0;position:absolute;top:0}.toggle .icons{height:100%;margin:0 calc(5px * var(--toggle-scale));justify-content:space-between;align-items:center;display:flex}.toggle .icons svg{z-index:0;width:calc(32px * var(--toggle-scale));height:calc(32px * var(--toggle-scale));fill:var(--dm)}.toggle:has(input:focus-visible){outline:1px solid var(--blue);outline-offset:2px;box-shadow:0 0 0 5px var(--blue-glow)}
