.lab-tools{margin:24px 0 48px;color:var(--ink,#17382c)}
.lab-tool-nav{margin:0 0 24px;padding:0 0 20px;border-bottom:1px solid #bdc9b7}
.lab-tool-nav p{margin:0 0 10px;font-size:15px;font-weight:650}
.lab-tool-nav ul{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
.lab-tool-nav li{margin:0;padding:0}
.lab-tool-nav a{display:flex;align-items:center;min-height:44px;padding:10px 16px;border:1px solid #718568;border-radius:8px;background:#fff;font-size:14px;line-height:1.5;color:#17382c;text-decoration:none}
.lab-tool-nav a:hover{background:#e7eddd}
.lab-tool-nav a:focus-visible,.lab-guide-link a:focus-visible,.lab-guide-return a:focus-visible{outline:3px solid #526f22;outline-offset:3px}
.lab-guide-link{margin:16px 0 0;font-size:14px;line-height:1.6}
.lab-guide-link a,.lab-guide-return a{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;color:#245b36;text-underline-offset:4px}
.prose:has(.lab-tools) section[id]{scroll-margin-top:100px}
.lab-tools form{padding:24px;border:1px solid #bdc9b7;border-radius:16px;background:#f5f7ef;margin:0 0 24px}
.lab-tools fieldset{margin:0;padding:0;border:0;min-width:0}
.lab-tools legend{font-size:21px;font-weight:650;padding:0;margin-bottom:20px;line-height:1.4}
.lab-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}
.lab-field{min-width:0;margin:0 0 16px}
.lab-field label{display:block;font-size:15px;font-weight:650;margin:0 0 8px;line-height:1.5}
.lab-field input,.lab-field select,.lab-field textarea{width:100%;min-height:48px;box-sizing:border-box;border:1px solid #718568;border-radius:8px;background:#fff;color:#183c2d;font:inherit;font-size:16px;padding:12px}
.lab-field textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;resize:vertical}
.lab-tools .lab-hint{display:block;font-size:13px;line-height:1.6;color:#485b47;margin:8px 0 0;overflow-wrap:anywhere}
.lab-tools>.lab-hint{margin:0 0 18px}
.lab-content-option{padding:12px 0 20px;border-top:1px solid #d0d9c8}
.lab-content-option summary{min-height:44px;cursor:pointer;font-size:14px;font-weight:600;line-height:1.6;padding:8px 0}
.lab-content-option .lab-field{margin-top:16px}
.lab-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.lab-actions .button{min-height:46px;padding:12px 18px;font-size:14px}
.lab-actions .button:not(.button-primary){background:#fff;color:#17382c;border:1px solid #718568}
.lab-tools :is(input,select,textarea,button,summary):focus-visible{outline:3px solid #526f22;outline-offset:3px}
.lab-tools .lab-error{border-left:3px solid #a13325;background:#fff1ed;padding:12px;color:#74281d;font-size:15px;line-height:1.6;margin:20px 0 0}
.lab-result{border-top:1px solid #bdc9b7;padding-top:18px;margin-top:22px}
.lab-output{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #dde3d5;font-size:14px;line-height:1.5}
.lab-output span{max-width:55%}.lab-output strong{text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;min-width:0}
.lab-output:first-child strong{font-size:21px;color:#193e2b}
.lab-tools .lab-scope{font-size:13px;line-height:1.7;margin:18px 0;color:#485b47}
.lab-tools [hidden]{display:none!important}
.lab-tools form[id]{scroll-margin-top:100px}
.lab-table-scroll{max-width:100%;overflow-x:auto;margin:18px 0;border:1px solid #bdc9b7;border-radius:8px}
.lab-table-scroll:focus-visible{outline:3px solid #526f22;outline-offset:3px}
.lab-table-scroll table{width:100%;min-width:680px;border-collapse:collapse;font-size:14px;line-height:1.5;font-variant-numeric:tabular-nums}
.lab-table-scroll caption{text-align:left;padding:14px;background:#e7eddd;font-weight:650;color:#17382c}
.lab-table-scroll th,.lab-table-scroll td{padding:12px;border-bottom:1px solid #d0d9c8;text-align:right;white-space:normal}
.lab-table-scroll th:first-child{text-align:left}
.lab-table-scroll thead{background:#edf1e5}
.lab-export-text{width:100%;box-sizing:border-box;margin-top:14px;font:13px/1.6 ui-monospace,monospace;min-height:120px}
@media(max-width:520px){.lab-tools form{padding:18px 14px}.lab-grid{grid-template-columns:minmax(0,1fr)}.lab-output{flex-direction:column;gap:4px}.lab-output span{max-width:none}.lab-output strong{text-align:left}.lab-actions .button{flex:1 1 auto}.lab-tools legend{font-size:19px}}
@media print{.lab-tools form{break-inside:avoid;background:white}.lab-actions{display:none}.lab-result{display:block}.lab-field input,.lab-field select{border-color:#777}}
