:root{--tool-font-size:14px;--tool-heading-size:1.125rem;--tool-hint-size:.8125rem;--tool-control-height:36px;--tool-control-border:#b9c8d7;--tool-control-radius:5px;--tool-panel-padding:20px;--tool-card-shadow:0 8px 24px #182d460f;--tool-card-shadow-active:0 14px 32px #182d461f;--tool-section-gap:20px;--tool-field-gap:16px;--tool-accent-hover:#2d5e8c;--tool-upload-bg:#f8fbfe;--tool-upload-border:#b2c7db}@layer app-controls{.tool-page{min-width:0;font-size:var(--tool-font-size);padding-bottom:40px;line-height:1.5}.tool-page :where(h2){color:var(--ink);font-size:var(--tool-heading-size);margin:0 0 6px;font-weight:600;line-height:1.5}.tool-page :where(h3){color:var(--ink);margin:0 0 6px;font-size:1rem;font-weight:600;line-height:1.5}button:where(:not([class*=ant-])),.file-picker{min-height:var(--tool-control-height);border:1px solid var(--tool-control-border);border-radius:var(--tool-control-radius);color:var(--accent);background:var(--surface);font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:6px 12px;font-weight:500;line-height:1.5;display:inline-flex}button:where(:not([class*=ant-])):hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.file-picker{border-color:var(--accent);color:#fff;background:var(--accent)}.file-picker:hover{background:var(--tool-accent-hover)}button:where(:not([class*=ant-])):disabled{cursor:not-allowed;opacity:.5}:focus-visible,.file-picker:focus-within{outline:2px solid var(--accent);outline-offset:3px}input:where(:not([class*=ant-])),select:where(:not([class*=ant-])),textarea:where(:not([class*=ant-])){border:1px solid var(--tool-control-border);border-radius:var(--tool-control-radius);background:var(--surface);min-width:0;max-width:100%;color:var(--ink);font:inherit;padding:6px 9px;line-height:1.5}input:where(:not([class*=ant-])):not([type=checkbox]):not([type=radio]):not([type=file]),select:where(:not([class*=ant-])){min-height:var(--tool-control-height)}input:where(:not([class*=ant-])):not([type=checkbox]):not([type=radio]):not([type=file]),textarea:where(:not([class*=ant-])){width:100%}input:where(:not([class*=ant-])):is([type=checkbox],[type=radio]){width:16px;height:16px;accent-color:var(--accent);flex:none;margin:0;padding:0}input:where(:not([class*=ant-])):disabled,select:where(:not([class*=ant-])):disabled,textarea:where(:not([class*=ant-])):disabled{background:var(--surface-soft)}label{font-weight:500}fieldset{border:0;min-width:0;margin:0;padding:0}fieldset:disabled{opacity:.65}details{margin:12px 0 0}summary{color:var(--accent);cursor:pointer;font-weight:500}pre{border-radius:var(--tool-control-radius);background:var(--surface-soft);max-width:100%;margin:8px 0;padding:12px;font-size:.85rem;line-height:1.6;overflow:auto}code,textarea{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}figure{margin:18px 0}figcaption{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:10px;margin-bottom:7px;font-size:.9rem;display:flex}figcaption strong{color:var(--ink)}.table-wrap{border:1px solid var(--line);border-radius:var(--radius);max-width:100%;overflow:auto}table:where(:not(.ant-table *)){border-collapse:collapse;text-align:right;font-variant-numeric:tabular-nums;width:100%;font-size:.85rem}th:where(:not(.ant-table *)),td:where(:not(.ant-table *)){border-bottom:1px solid var(--line);white-space:nowrap;padding:7px 10px}th:where(:not(.ant-table *)){background:var(--surface-soft);color:var(--muted);font-weight:500}tbody tr:last-child td:where(:not(.ant-table *)){border-bottom:0}tbody tr:hover:where(:not(.ant-table *)){background:var(--accent-soft)}caption:where(:not(.ant-table *)){color:var(--muted);text-align:left;padding:10px}}.tool-panel{min-width:0;margin-top:var(--tool-section-gap);padding:var(--tool-panel-padding);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.tool-panel,.tool-card{box-shadow:var(--tool-card-shadow);transition:box-shadow .18s,border-color .18s,background-color .18s}.tool-panel:focus-within,.tool-card:focus-within{box-shadow:var(--tool-card-shadow-active)}@media (hover:hover) and (pointer:fine){.tool-panel:hover,.tool-card:hover{box-shadow:var(--tool-card-shadow-active)}}@media (prefers-reduced-motion:reduce){.tool-panel,.tool-card{transition:none}}.tool-panel--compact{margin-top:0;padding:16px}.tool-panel--flush,.tool-panel>p:first-of-type{margin-top:0}.tool-section-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;margin-bottom:12px;display:flex}.tool-section-heading>:is(h2,h3){margin:0}.tool-section-heading>:is(span,p),.tool-hint,.hint{color:var(--muted);font-size:var(--tool-hint-size)}.privacy{color:var(--accent);font-size:var(--tool-hint-size)}.tool-actions,.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin:16px 0;display:flex}.tool-actions--inline{margin:0}.toolbar label{align-items:center;gap:8px;display:flex}.tool-columns{align-items:start;gap:var(--tool-section-gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.tool-columns>*{min-width:0}.tool-form-grid{align-items:end;gap:var(--tool-field-gap);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.tool-form-grid--four{grid-template-columns:repeat(4,minmax(0,1fr))}.tool-form-grid>label,.tool-field,.tool-label{min-width:0;color:var(--muted);font-size:var(--tool-font-size);font-weight:500}.tool-field{align-content:start;gap:6px;display:grid}.tool-label{margin:12px 0 4px;display:block}.tool-field>span{color:var(--ink)}.tool-settings{border:1px solid var(--line);border-radius:var(--radius);margin:16px 0;padding:12px 16px}.tool-settings>legend{color:var(--ink);font-size:var(--tool-font-size);padding:0 6px;font-weight:500}.tool-disclosure{margin-top:16px}.tool-disclosure>summary{font-size:var(--tool-font-size);font-weight:600}.tool-form-grid>label>:is(input:not([type=checkbox]):not([type=radio]),select):where(:not([class*=ant-])),.tool-field :where(input:not([type=checkbox]):not([type=radio]),select):where(:not([class*=ant-])){width:100%;margin-top:4px;display:block}.tool-button--primary{border-color:var(--accent);color:#fff;background:var(--accent)}.tool-button--primary:hover:not(:disabled){border-color:var(--tool-accent-hover);color:#fff;background:var(--tool-accent-hover)}.tool-tabs{margin-top:var(--tool-section-gap);border-bottom:1px solid var(--line);gap:4px;display:flex;overflow-x:auto}.tool-tabs>button{color:var(--muted);font-size:var(--tool-font-size);white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;border-radius:0;flex-shrink:0;padding:10px 16px}.tool-tabs>button:is([aria-selected=true],[aria-current=page]){border-bottom-color:var(--accent);color:var(--accent);background:var(--accent-soft);font-weight:600}.tool-tabs>button:focus-visible{outline-offset:-3px}.tool-upload{min-width:0;padding:var(--tool-panel-padding);border:2px dashed var(--tool-upload-border);border-radius:var(--radius);color:var(--accent);background:var(--tool-upload-bg);flex-wrap:wrap;align-items:center;gap:12px 18px;margin:20px 0 16px;display:flex}.tool-upload:is(.is-dragging,.drag-over){border-color:var(--accent);background:var(--accent-soft)}.tool-upload .tool-file-input{width:100%;color:var(--muted);font-size:var(--tool-font-size);background:0 0;border:0;border-radius:0;margin:8px 0;padding:0;display:block}.tool-upload input::file-selector-button{min-height:var(--tool-control-height);border:1px solid var(--accent);border-radius:var(--tool-control-radius);color:#fff;background:var(--accent);cursor:pointer;font:inherit;margin-right:10px;padding:6px 12px}.tool-upload input:hover:not(:disabled)::file-selector-button{background:var(--tool-accent-hover)}.tool-upload input:disabled::file-selector-button{cursor:not-allowed;opacity:.5}.tool-file-list{max-height:160px;color:var(--muted);font-size:var(--tool-hint-size);overflow-wrap:anywhere;margin:10px 0 0;padding-left:18px;overflow:auto}.tool-progress{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 18px;display:flex}.tool-progress>div{overflow-wrap:anywhere;min-width:0}.tool-progress span{color:var(--muted)}.tool-imports ul{color:var(--muted);font-size:var(--tool-hint-size);overflow-wrap:anywhere;margin:8px 0 0;padding-left:20px}.tool-empty{color:var(--muted);font-size:var(--tool-font-size);margin:0;padding:22px 0}.tool-empty--panel{margin-top:var(--tool-section-gap);padding:var(--tool-panel-padding);border:1px dashed var(--line);border-radius:var(--radius)}.tool-empty--panel h2{color:var(--muted);margin:0;font-weight:500}.tool-notice,.error{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-soft);overflow-wrap:anywhere;padding:10px 12px}.tool-notice--error,.error{color:var(--danger);background:#fff6f7;border-color:#efc7cb}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:14px 0;display:grid}.metrics>div{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-soft);padding:10px 14px}.metrics span{font-size:var(--tool-hint-size);color:var(--muted);display:block}.metrics strong{color:var(--accent);font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:500}.metrics small{color:var(--muted);margin-left:6px}@media (width<=900px){.tool-columns{grid-template-columns:minmax(0,1fr);gap:12px}.tool-form-grid--four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){:root{--tool-panel-padding:16px;--tool-section-gap:16px}.tool-form-grid,.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics>div{padding:10px}}@media (width<=480px){.tool-form-grid{grid-template-columns:minmax(0,1fr);gap:12px}.tool-tabs>button{padding:9px 12px}}.home-page{gap:24px;padding-top:12px;padding-bottom:0;display:grid}.feature-group{grid-template-columns:196px minmax(0,1fr);align-items:start;gap:20px;display:grid}.feature-group>h2{color:var(--ink);align-items:center;gap:8px;margin:0;padding-top:18px;font-size:1.05rem;font-weight:600;line-height:1.4;display:flex}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.feature-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);grid-template-columns:42px minmax(0,1fr);align-items:flex-start;gap:12px;min-width:0;padding:18px;display:grid}.feature-card:hover{border-color:var(--accent);background:var(--accent-soft)}.feature-card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.feature-card__icon{width:42px;height:42px;color:var(--accent);background:var(--accent-soft);border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.feature-card h3{color:var(--ink);margin:0 0 6px;font-size:1.1rem;font-weight:600;line-height:1.3}.feature-card p{color:var(--muted);margin:0;font-size:.9rem;line-height:1.5}.feature-card__open{color:var(--accent);grid-column:2;align-self:end;align-items:center;gap:4px;font-size:.85rem;font-weight:500;display:inline-flex}@media (width>=761px) and (height<=800px){.home-page{gap:16px;padding-top:0}.feature-group>h2{padding-top:14px}.feature-card{grid-template-columns:36px minmax(0,1fr);gap:10px;padding:14px}.feature-card__icon{width:36px;height:36px}}@media (width<=1000px){.feature-group{grid-template-columns:minmax(0,1fr);gap:8px}.feature-group>h2{padding-top:0}}@media (width<=760px){.home-page{gap:18px;padding-top:0}.feature-group>h2{padding-top:0;font-size:1rem}.feature-grid{grid-template-columns:minmax(0,1fr);gap:6px}.feature-card{grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px}.feature-card__icon{width:32px;height:32px}.feature-card__icon .app-icon{width:20px;height:20px}.feature-card h3{margin-bottom:3px;font-size:.95rem}.feature-card p{font-size:.8rem;line-height:1.4}.feature-card__open{grid-column:auto;align-self:center;gap:0;font-size:0}}.site-footer{border-top:1px solid var(--line);color:var(--muted);text-align:center;margin-top:18px;padding-top:12px;font-size:.85rem}.site-footer p{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin:0;display:flex}.site-footer__brand{align-items:center;gap:8px;display:inline-flex}.site-footer__brand:hover{color:var(--accent)}.site-footer__logo{width:auto;height:32px;display:block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.feature-results-table{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden}.feature-column-filter{box-sizing:border-box;width:300px;max-width:calc(100vw - 32px);color:var(--feature-table-ink,var(--ink));background:var(--feature-table-surface,var(--surface));border:1px solid var(--feature-table-line,var(--line));border-radius:var(--feature-table-radius,var(--radius));font-family:var(--feature-table-ui-font,inherit);font-size:var(--feature-table-ui-font-size,inherit);line-height:var(--feature-table-ui-line-height,inherit);gap:12px;padding:16px;display:grid}.feature-column-filter label{min-width:0;color:var(--feature-table-muted,var(--muted));gap:4px;display:grid}.feature-column-filter .ant-input-number,.feature-column-filter .ant-select{width:100%;font-family:inherit;font-size:inherit}.feature-column-filter [role=alert]{color:var(--feature-table-danger,var(--danger))}.feature-filter-heading{font-weight:var(--feature-table-ui-heading-weight,600);line-height:var(--feature-table-control-height,24px)}.feature-filter-inputs{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:8px;display:grid}.feature-filter-bounds{gap:12px;display:grid}.feature-filter-separator{color:var(--feature-table-muted,var(--muted));line-height:var(--feature-table-control-height,24px)}.feature-range-filter .ant-slider{margin:4px 6px}.feature-filter-actions{border-top:1px solid var(--feature-table-line,var(--line));justify-content:flex-end;padding-top:8px;display:flex}.feature-column-filter .ant-input-number-input{font-family:inherit;font-size:inherit;font-variant-numeric:tabular-nums}.feature-column-filter .ant-input-number-input::placeholder{color:var(--feature-table-text-disabled,var(--muted))}.feature-table-toolbar,.feature-table-actions,.feature-table-annotation-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.feature-table-toolbar{margin:12px 0}.feature-table-annotation-controls{margin-left:auto}.feature-table-annotation-controls .ant-input-number{width:96px}.feature-table-row[aria-disabled=false]{cursor:pointer}.feature-table-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.feature-results-table .feature-table-selected-row>.ant-table-cell{background:var(--accent-soft)}.feature-table-sample-name{text-overflow:ellipsis;display:block;overflow:hidden}.feature-table-sample-unit{color:var(--muted);font-size:.82rem}@media (width<=760px){.feature-table-annotation-controls{margin-left:0}}
