/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:"IBM Plex Sans", "Avenir Next", "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--ease-out:cubic-bezier(0, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.static{position:static}.block{display:block}.hidden{display:none}.shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{font-family:var(--font-sans);color:#173b43;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ink:#173b43;--ink-soft:#4e686e;--ink-faint:#71888c;--surface:#f2f6f2;--surface-raised:#fafbf8;--surface-cool:#e8f0ec;--line:#d2dfda;--line-strong:#b9ccc5;--estuary:#173a42;--current:#237b77;--data:#4c7183;--silt:#8e603b;--marsh:#626e4f;--success:#236d58;--danger:#963f34;--ease-out:cubic-bezier(.23, 1, .32, 1);background:#f2f6f2}*{box-sizing:border-box}html{background:var(--surface);min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #58aaa0}::selection{color:#153941;background:#c8e2d9}.app-shell{background:linear-gradient(#f2f6f2 0%,#f7f9f6 54%,#f1f5f1 100%);min-height:100vh}.topbar{z-index:32;color:#edf5f0;background:var(--estuary);justify-content:space-between;align-items:center;gap:18px;min-height:72px;padding:10px clamp(18px,4.4vw,72px);display:flex;position:sticky;top:0}.brand-lockup{color:inherit;align-items:center;gap:13px;text-decoration:none;display:inline-flex}.brand-mark{flex:none;place-items:center;width:33px;height:33px;display:inline-grid}.brand-mark svg{width:100%;height:100%}.brand-mark path,.brand-mark circle:first-of-type{stroke:#9fc7ba;stroke-width:1px}.brand-mark circle:last-of-type{fill:#d2a16b;stroke:#d2a16b}.brand-copy{gap:2px;line-height:1.18;display:grid}.brand-copy strong{color:#f1f6f1;letter-spacing:.005em;font-size:13px;font-weight:600}.brand-copy>span{color:#b7d0c8;font-size:12px}.topbar-meta{align-items:center;gap:19px;display:flex}.theme-toggle{color:#d3ded9;cursor:pointer;background:0 0;border:1px solid #d3ded940;border-radius:4px;flex:none;place-items:center;width:34px;height:34px;display:inline-grid}.theme-toggle:hover{color:#fff;background:#ffffff14;border-color:#d3ded980}.workspace{max-width:1680px;margin:0 auto;padding:37px clamp(18px,4.4vw,72px) 18px}.intro-row{justify-content:space-between;align-items:end;gap:28px;padding:4px 0 24px;display:flex}.intro-row h1{max-width:27ch;color:var(--estuary);letter-spacing:-.045em;margin:0;font-size:clamp(30px,3.8vw,46px);font-weight:500;line-height:1.08}.intro-copy{max-width:62ch;color:var(--ink-soft);margin:10px 0 0;font-size:14px;line-height:1.5}.hero-index{color:#71868a;flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px;font-size:10.5px;display:flex}.hero-index b{color:#315c64;font-family:var(--font-mono);margin-right:3px;font-size:11px;font-weight:500}.hero-index i{background:#a7b9b2;border-radius:50%;width:3px;height:3px}.button{cursor:pointer;min-height:41px;transition:background-color .15s ease, border-color .15s ease, transform .13s var(--ease-out);border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;gap:8px;padding:0 15px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.button:active{transform:scale(.98)}.button-primary{color:#f6faf6;background:#226e70;border-color:#226e70}.button-primary:hover{background:#185c60;border-color:#185c60}.button-primary:disabled{cursor:wait;opacity:.62}.button-quiet{color:#45656c;background:0 0;border-color:#c4d4ce}.button-quiet:hover{background:#e8f0ec;border-color:#a8c0b7}.suggest-button{min-height:43px;margin-bottom:2px;padding-inline:17px}.control-row{border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:12px 0;display:flex}.search-field{color:#688187;background:var(--surface-raised);border:1px solid #cad9d3;border-radius:4px;align-items:center;gap:9px;width:min(390px,42vw);height:39px;padding:0 11px;display:flex}.search-field:focus-within{border-color:#65a29b;box-shadow:0 0 0 3px #237b771a}.search-field input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;padding:0;font-size:12px}.search-field input::placeholder{color:#87999b}.search-field input:focus-visible{outline:0}.clear-search,.icon-button{color:#5d787e;cursor:pointer;background:0 0;border:0;border-radius:3px;place-items:center;padding:5px;display:inline-grid}.clear-search:hover,.icon-button:hover{color:var(--estuary);background:#e5eeea}.view-switch{background:#e4ece8;border:1px solid #d4e0db;border-radius:4px;gap:2px;padding:3px;display:inline-flex}.view-switch button{color:#597278;cursor:pointer;background:0 0;border:0;border-radius:2px;justify-content:center;align-items:center;gap:7px;min-height:30px;padding:0 11px;font-size:11px;transition:color .15s,background-color .15s;display:inline-flex}.view-switch button[aria-pressed=true]{color:#153f48;background:#fbfcf9;box-shadow:0 1px 3px #163a4121}.result-count{color:#74898c;margin-left:auto;font-size:10.5px}.result-count strong{color:#244e57;font-family:var(--font-mono);font-size:12px;font-weight:500}.content-grid{border-bottom:1px solid var(--line);min-height:0}.visual-column{min-width:0;padding:21px 0 18px}.panel-heading{justify-content:space-between;align-items:start;gap:16px;min-height:47px;display:flex}.panel-heading h2{color:#234b54;letter-spacing:-.015em;margin:0;font-size:15px;font-weight:600}.panel-heading p{color:#73898d;margin:4px 0 0;font-size:11px}.filter-toggle{color:#617b80;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:4px 0;font-size:10.5px;display:inline-flex}.filter-toggle:hover{color:#1d6d70}.filter-row,.quadrant-strip{flex-wrap:wrap;align-items:center;gap:7px;min-height:39px;display:flex}.filter-label{color:#72898c;margin-right:4px;font-size:10px;font-weight:600}.filter-chip{color:#587177;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;align-items:center;gap:6px;min-height:27px;padding:0 8px;font-size:10.5px;display:inline-flex}.filter-chip:hover{background:#e6efeb}.filter-chip.active{color:#174c54;background:#deebe6;border-color:#ccddd6}.filter-chip i,.quadrant-choice i{background:var(--chip-color);border-radius:50%;width:7px;height:7px;display:inline-block}.viz-frame{background-color:#f4f7f2;background-image:repeating-radial-gradient(at 15% 47%,#0000 0 31px,#2867670b 32px 33px,#0000 34px 48px),radial-gradient(#49777724 .75px,#0000 .75px);background-size:auto,18px 18px;border:1px solid #cbdcd4;border-radius:3px;height:clamp(560px,70vh,900px);position:relative;overflow:hidden}.viz-frame.is-immersive{z-index:50;border:0;border-radius:0;width:100vw;height:100dvh;min-height:100dvh;position:fixed;inset:0}.visualization-expand{z-index:2;color:#35585f;cursor:pointer;background:#fafcf9f0;border:1px solid #cad8d2;border-radius:4px;place-items:center;width:38px;height:38px;display:grid;position:absolute;top:12px;right:12px}.visualization-expand:hover{color:#173a42;background:#fff;border-color:#9cb7ad}.visualization{width:100%;height:100%}.visualization svg{width:100%;height:100%;display:block;overflow:visible}.radar-ring{fill:#edf5f08c;stroke:#aebfba;stroke-width:1px}.radar-layer .radar-ring:nth-of-type(2n){fill:#d9eae26e}.radar-axis{stroke:#aebfba;stroke-width:1px}.radar-ring-label{fill:#607a7d;font-family:var(--font-mono);text-anchor:middle;font-size:9px;font-weight:500}.radar-quadrant-label{letter-spacing:.005em;font-size:10px;font-weight:650}.blip,.map-node{cursor:pointer;outline:none;transition:opacity .12s}.blip:hover,.map-node:hover{opacity:1!important}.blip.is-muted,.map-node.is-muted{opacity:.16}.blip-shape,.map-node circle{stroke:#f6f9f5;stroke-width:2px}.blip-number{fill:#fff;font-family:var(--font-mono);text-anchor:middle;pointer-events:none;font-size:8px;font-weight:600}.blip-halo{fill:#0000;stroke:#173d45;stroke-width:1.35px;opacity:0}.blip.is-selected .blip-halo,.blip:focus-visible .blip-halo{opacity:.83}.blip:focus-visible .blip-shape,.map-node:focus-visible circle{stroke:#173d45;stroke-width:3px}.map-link{stroke:#577a7d;stroke-opacity:.34;stroke-width:1.15px}.map-node circle{stroke:#f6f9f5;stroke-width:2.2px}.map-node text{fill:#284d55;text-anchor:middle;paint-order:stroke;stroke:#f4f7f2;stroke-width:3px;stroke-linejoin:round;pointer-events:none;font-size:10px;font-weight:600}.map-project-node rect{fill:#fdfefc;stroke:#173a42;stroke-width:1.5px}.map-node .map-project-mark{fill:#173a42;stroke:none;font-size:10px;font-weight:700}.map-project-node:focus-visible rect,.map-project-node.is-selected rect{stroke:#173a42;stroke-width:3px}.map-link.project-link{stroke:#626e4f;stroke-opacity:.62;stroke-width:1.8px;stroke-dasharray:5 4}.map-node.is-selected circle{stroke:#173d45;stroke-width:3px}.empty-chart{color:#536f74;background:#f4f7f2e6;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex;position:absolute;inset:0}.text-button{color:#1f6f71;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:4px;font-size:12px;text-decoration:underline}.quadrant-strip{gap:5px;padding:8px 0 4px}.quadrant-choice{color:#587177;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;align-items:center;gap:6px;min-height:26px;padding:0 6px;font-size:10.5px;display:inline-flex}.quadrant-choice:hover{background:#e6efeb}.quadrant-choice.selected{color:#174a53;background:#deebe6;border-color:#ccddd6}.quadrant-choice i{background:var(--quad-color)}.ring-key{border-top:1px solid #d5e1dc;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;padding:12px 0 2px;display:grid}.ring-key>div{min-width:0}.ring-key-label{min-height:20px;color:var(--ring-color);align-items:center;gap:6px;font-size:10.5px;font-weight:650;line-height:1.2;display:flex}.ring-key-label svg{flex:none}.ring-key p{color:#647d80;margin:4px 0 0;font-size:9.5px;line-height:1.45}.map-key{color:#647d80;flex-wrap:wrap;align-items:center;gap:20px;min-height:40px;padding:7px 0;font-size:10.5px;display:flex}.map-key>span{align-items:center;gap:7px;display:inline-flex}.map-key-project{color:#173a42;background:#fff;border:1px solid #173a42;border-radius:3px;place-items:center;width:17px;height:17px;font-size:9px;font-style:normal;font-weight:700;display:inline-grid}.map-key-tool{background:#4c7183;border:1px solid #f7faf6;border-radius:50%;width:10px;height:10px;display:inline-block;box-shadow:0 0 0 1px #4c7183}.map-key-link{border-top:2px dashed #626e4f;width:23px;display:inline-block}.map-empty-note{color:#71868a;font-size:10px}.catalogue-column{z-index:31;width:min(440px,100vw - 24px);min-width:0;transition:transform .26s var(--ease-out);background:#f7faf6;border-left:1px solid #cbdad3;flex-direction:column;padding:0 22px 18px;display:flex;position:fixed;top:72px;bottom:0;right:0;overflow:hidden;transform:translate(103%);box-shadow:-18px 0 50px #16363c24}.catalogue-column.is-open{transform:translate(0)}.app-shell[data-immersive=true] .catalogue-column.is-open{z-index:60}.app-shell[data-immersive=true] .drawer-backdrop{z-index:55}.drawer-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:78px;display:flex}.drawer-heading h2{color:var(--estuary);letter-spacing:-.025em;margin:3px 0 0;font-size:19px;font-weight:600}.drawer-kicker{color:#6e8587;font-size:10px}.count-bubble{color:#345e65;min-width:29px;height:29px;font-family:var(--font-mono);background:#e0ebe6;border-radius:50%;place-items:center;font-size:10px;display:inline-grid}.catalogue-list{scrollbar-color:#b8ccc3 transparent;scrollbar-width:thin;flex:1;min-height:0;padding:0 0 18px;overflow:auto}.drawer-backdrop{z-index:30;appearance:none;background:#132f3447;border:0;padding:0;animation:.18s both drawer-fade;display:block;position:fixed;inset:72px 0 0}@keyframes drawer-fade{0%{opacity:0}to{opacity:1}}.browse-button{white-space:nowrap;min-height:36px}.tool-group{border-top:1px solid #d9e3de;padding:13px 0 8px}.project-row-mark{color:#173a42;background:#e3ebe6;border:1px solid #c4d4cc;border-radius:3px;place-items:center;width:21px;height:21px;font-size:10px;font-weight:700;display:inline-grid}.project-detail-mark{color:#173a42;background:#e3ebe6;border:1px solid #c4d4cc;border-radius:4px;place-items:center;width:34px;height:34px;margin:19px 0 10px;font-size:15px;font-weight:700;display:grid}.tool-group h3{color:#365961;align-items:center;gap:8px;margin:0 0 7px;font-size:11px;font-weight:650;display:flex}.tool-group h3 i{background:var(--quad-color);border-radius:50%;width:7px;height:7px}.tool-group h3 span{color:#748b8d;font-family:var(--font-mono);margin-left:auto;font-size:9.5px;font-weight:400}.tool-row{color:#284b54;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:2px;grid-template-columns:17px 28px minmax(0,1fr) auto;align-items:center;gap:7px;width:100%;min-height:35px;padding:4px 8px 4px 3px;display:grid}.tool-row.project-row{grid-template-columns:28px minmax(0,1fr) auto}.tool-row:hover{background:#eaf1ed}.tool-row.selected{background:#e0ece6;box-shadow:inset 2px 0 #2d817b}.tool-row-name{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.tool-number{color:#73898d;font-family:var(--font-mono);font-size:9px}.tool-icon-slot,.tool-brand-icon{flex:none;justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex}.detail-title-row .tool-icon-slot,.detail-title-row .tool-brand-icon{width:20px;height:20px}.map-brand-icon{pointer-events:none}.tool-row-name em{color:#1b756d;margin-left:7px;font-size:9.5px;font-style:normal;font-weight:650}.ring-tag{width:fit-content;color:var(--ring-color);background:var(--ring-color);padding:3px 6px}@supports (color:color-mix(in lab, red, red)){.ring-tag{background:color-mix(in srgb, var(--ring-color) 8%, #f8faf7)}}.ring-tag{border:1px solid var(--ring-color)}@supports (color:color-mix(in lab, red, red)){.ring-tag{border:1px solid color-mix(in srgb, var(--ring-color) 19%, #e7ece8)}}.ring-tag{white-space:nowrap;border-radius:2px;font-size:9.5px;font-weight:600}.empty-list{color:#647c80;padding:20px 0;font-size:12px}.tool-details{flex:1;min-height:0;padding:15px 0 18px;overflow-y:auto}.back-to-catalogue{color:#557279;cursor:pointer;background:0 0;border:0;margin:0 0 11px;padding:3px 0;font-size:11px}.back-to-catalogue:hover{color:#1b6b70;text-underline-offset:3px;text-decoration:underline}.detail-title-row{align-items:start;gap:10px;margin:8px 0 10px;display:flex}.detail-title-row h2{color:#173f48;letter-spacing:-.025em;margin:0;font-size:20px;font-weight:600;line-height:1.17}.detail-index{color:var(--quad-color);font-family:var(--font-mono);font-size:11px;font-weight:500}.detail-tags{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.detail-quadrant{color:var(--quad-color);background:var(--quad-color);padding:3px 6px}@supports (color:color-mix(in lab, red, red)){.detail-quadrant{background:color-mix(in srgb, var(--quad-color) 8%, white)}}.detail-quadrant{border:1px solid var(--quad-color)}@supports (color:color-mix(in lab, red, red)){.detail-quadrant{border:1px solid color-mix(in srgb, var(--quad-color) 18%, white)}}.detail-quadrant{border-radius:2px;font-size:9.5px;font-weight:600}.new-tag{color:#1a7168;font-size:9.5px;font-weight:650}.detail-summary{color:#405e65;margin:12px 0;font-size:12.5px;line-height:1.55}.detail-section{margin-top:13px}.detail-section h3{color:#6a8286;margin:0 0 7px;font-size:10px;font-weight:650}.detail-section ul{color:#4b666c;margin:0;padding-left:16px;font-size:11.5px;line-height:1.52}.detail-section li+li{margin-top:4px}.detail-link{color:#1b6b70;align-items:center;gap:5px;font-size:11px;font-weight:600;text-decoration:none;display:inline-flex}.detail-link:hover{text-underline-offset:3px;text-decoration:underline}.related-tools{flex-wrap:wrap;gap:5px;display:flex}.related-tools button{color:#3e626a;cursor:pointer;background:#eaf1ed;border:1px solid #d5e1dc;border-radius:2px;padding:5px 7px;font-size:10.5px}.related-tools button:hover{color:#155c63;background:#dfece6}.page-footer{color:#71878b;justify-content:space-between;gap:16px;padding:12px 0 2px;font-size:10px;display:flex}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#112c338a;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.suggest-dialog{width:min(550px,100%);max-height:min(92vh,790px);animation:dialog-in .18s var(--ease-out) both;background:#f7f9f5;border:1px solid #d4e1db;border-radius:5px;overflow:auto;box-shadow:0 18px 70px #0e272f42}@keyframes dialog-in{0%{opacity:0;transform:translateY(5px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}.dialog-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:20px 22px 15px;display:flex}.dialog-head h2{color:var(--estuary);letter-spacing:-.03em;margin:0;font-size:22px;font-weight:600}.dialog-intro{color:#5e777c;margin:0 0 2px;font-size:12px;line-height:1.5}.suggest-form{gap:14px;padding:16px 22px 21px;display:grid}.entry-type-switch{background:#e7eeea;border:1px solid #d1ddd7;border-radius:4px;grid-template-columns:1fr 1fr;gap:3px;padding:3px;display:grid}.entry-type-switch button{color:#587177;cursor:pointer;background:0 0;border:0;border-radius:2px;min-height:32px;font-size:11px}.entry-type-switch button[aria-pressed=true]{color:#173f48;background:#fff;font-weight:600;box-shadow:0 1px 2px #163a411f}.form-field{color:#375a63;grid-template-columns:1fr auto;gap:5px 8px;font-size:11px;font-weight:600;display:grid}.form-field input,.form-field textarea,.form-field select{color:#24434d;background:#fff;border:1px solid #cfddd7;border-radius:3px;grid-column:1/-1;width:100%;padding:9px 10px;font-size:12px;font-weight:400}.form-field textarea{resize:vertical;line-height:1.45}.form-field input::placeholder,.form-field textarea::placeholder{color:#8b9da0}.form-pair{grid-template-columns:1fr 1fr;gap:12px;display:grid}.project-tools-fieldset{border:1px solid #cfddd7;border-radius:3px;gap:8px;min-width:0;margin:0;padding:11px;display:grid}.project-tools-fieldset legend{color:#375a63;padding:0 4px;font-size:11px;font-weight:600}.project-tools-fieldset>p{color:#6d8588;margin:0;font-size:10px;line-height:1.4}.project-tool-search{color:#71878b;background:#fff;border:1px solid #cfddd7;border-radius:3px;align-items:center;gap:7px;height:34px;padding:0 8px;display:flex}.project-tool-search input{color:#24434d;background:0 0;border:0;outline:0;width:100%;min-width:0;padding:0;font-size:11px}.project-tool-options{border:1px solid #e0e7e3;border-radius:3px;max-height:180px;overflow:auto}.project-tool-option{color:#35565d;cursor:pointer;background:#fff;border-bottom:1px solid #edf1ee;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:34px;padding:5px 8px;font-size:10.5px;display:grid}.project-tool-option:last-child{border-bottom:0}.project-tool-option:hover{background:#f1f5f2}.project-tool-option input{accent-color:#237b77;width:14px;height:14px;margin:0}.project-tool-option span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-tool-option small{color:#74898c;font-size:9px}.project-tool-count{color:#385c63;font-size:10px;font-weight:600}.project-tools-fieldset .project-tool-help{color:#71868a;font-size:9.5px}.project-no-tools{color:#71868a;padding:10px;font-size:10px;display:block}.optional-label{color:#768d8f;font-size:10px;font-weight:400}.dialog-actions{align-items:center;gap:8px;padding-top:3px;display:flex}.submitter-note{color:#6d8588;margin-right:auto;font-size:10px}.form-error{color:#843d36;background:#f8eae5;border:1px solid #e9d0c8;border-radius:3px;margin:0;padding:10px;font-size:11px}.submit-success{flex-direction:column;align-items:start;gap:8px;padding:27px 22px 25px;display:flex}.success-mark{color:#17644f;background:#deeee6;border-radius:50%;place-items:center;width:29px;height:29px;font-size:15px;font-weight:700;display:grid}.submit-success h3{color:#1b4550;margin:4px 0 0;font-size:19px}.submit-success p{color:#5d777d;margin:0 0 7px;font-size:12px}.boot-screen{color:#47646b;background:#edf4f0;align-content:center;justify-items:center;gap:12px;min-height:100vh;font-size:12px;display:grid}.boot-screen p{margin:0}.boot-mark{border:2px solid #cbdcd6;border-top-color:#247780;border-radius:50%;width:24px;height:24px;animation:.75s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.boot-error{text-align:center;padding:24px}.boot-error h1{color:#173f4b;margin:2px 0 0;font-size:20px}.boot-error small{color:#71868a}.app-shell[data-theme=dark]{--ink:#ededed;--ink-soft:#a3a3a3;--ink-faint:#737373;--surface:#090909;--surface-raised:#111;--surface-cool:#171717;--line:#292929;--line-strong:#404040;--estuary:#f5f5f5;--success:#7dd3a9;--danger:#fca5a5;color:#ededed;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#090909}.app-shell[data-theme=dark] .topbar{color:#ededed;background:#050505;border-bottom:1px solid #242424}.app-shell[data-theme=dark] .brand-copy strong{color:#f5f5f5}.app-shell[data-theme=dark] .brand-copy>span,.app-shell[data-theme=dark] .brand-mark path,.app-shell[data-theme=dark] .brand-mark circle:first-of-type{stroke:#d4d4d4}.app-shell[data-theme=dark] .brand-mark circle:last-of-type{fill:#fff;stroke:#fff}.app-shell[data-theme=dark] .theme-toggle{color:#ededed;border-color:#404040}.app-shell[data-theme=dark] .theme-toggle:hover{background:#1b1b1b;border-color:#737373}.app-shell[data-theme=dark] .intro-row h1,.app-shell[data-theme=dark] .panel-heading h2,.app-shell[data-theme=dark] .detail-title-row h2{color:#f5f5f5}.app-shell[data-theme=dark] .intro-copy,.app-shell[data-theme=dark] .panel-heading p,.app-shell[data-theme=dark] .ring-key p,.app-shell[data-theme=dark] .page-footer{color:#a3a3a3}.app-shell[data-theme=dark] .hero-index{color:#888}.app-shell[data-theme=dark] .hero-index b,.app-shell[data-theme=dark] .result-count strong{color:#e5e5e5}.app-shell[data-theme=dark] .hero-index i{background:#525252}.app-shell[data-theme=dark] .button-primary{color:#111;background:#ededed;border-color:#ededed}.app-shell[data-theme=dark] .button-primary:hover{color:#000;background:#fff;border-color:#fff}.app-shell[data-theme=dark] .button-quiet{color:#d4d4d4;border-color:#3f3f46}.app-shell[data-theme=dark] .button-quiet:hover{color:#fff;background:#1c1c1c;border-color:#626262}.app-shell[data-theme=dark] .control-row{border-color:#292929}.app-shell[data-theme=dark] .search-field{color:#a3a3a3;background:#111;border-color:#373737}.app-shell[data-theme=dark] .search-field:focus-within{border-color:#a3a3a3;box-shadow:0 0 0 3px #ffffff14}.app-shell[data-theme=dark] .search-field input{color:#f5f5f5}.app-shell[data-theme=dark] .search-field input::placeholder{color:#737373}.app-shell[data-theme=dark] .clear-search,.app-shell[data-theme=dark] .icon-button{color:#a3a3a3}.app-shell[data-theme=dark] .clear-search:hover,.app-shell[data-theme=dark] .icon-button:hover{color:#fff;background:#262626}.app-shell[data-theme=dark] .view-switch{background:#151515;border-color:#303030}.app-shell[data-theme=dark] .view-switch button{color:#a3a3a3}.app-shell[data-theme=dark] .view-switch button[aria-pressed=true]{color:#fff;box-shadow:none;background:#303030}.app-shell[data-theme=dark] .result-count,.app-shell[data-theme=dark] .filter-label,.app-shell[data-theme=dark] .filter-toggle{color:#a3a3a3}.app-shell[data-theme=dark] .filter-toggle:hover{color:#fff}.app-shell[data-theme=dark] .filter-chip,.app-shell[data-theme=dark] .quadrant-choice{color:#b3b3b3}.app-shell[data-theme=dark] .filter-chip:hover,.app-shell[data-theme=dark] .quadrant-choice:hover{background:#1e1e1e}.app-shell[data-theme=dark] .filter-chip.active,.app-shell[data-theme=dark] .quadrant-choice.selected{color:#f5f5f5;background:#262626;border-color:#404040}.app-shell[data-theme=dark] .viz-frame{background-color:#101111;background-image:repeating-radial-gradient(at 15% 47%,#0000 0 31px,#bfd2cc0a 32px 33px,#0000 34px 48px),radial-gradient(#b9cac41f .75px,#0000 .75px);border-color:#343838}.app-shell[data-theme=dark] .visualization-expand{color:#ededed;background:#181818f0;border-color:#484848}.app-shell[data-theme=dark] .visualization-expand:hover{color:#fff;background:#292929;border-color:#737373}.app-shell[data-theme=dark] .radar-ring{fill:#1f26258c;stroke:#454c4a}.app-shell[data-theme=dark] .radar-layer .radar-ring:nth-of-type(2n){fill:#3039367a}.app-shell[data-theme=dark] .radar-axis{stroke:#464e4b}.app-shell[data-theme=dark] .radar-ring-label{fill:#b0b8b4}.app-shell[data-theme=dark] .blip-shape,.app-shell[data-theme=dark] .map-node circle{stroke:#111}.app-shell[data-theme=dark] .blip-halo,.app-shell[data-theme=dark] .blip:focus-visible .blip-shape,.app-shell[data-theme=dark] .map-node:focus-visible circle,.app-shell[data-theme=dark] .map-node.is-selected circle{stroke:#fff}.app-shell[data-theme=dark] .map-link{stroke:#c4c4c4;stroke-opacity:.3}.app-shell[data-theme=dark] .map-node text{fill:#f5f5f5;stroke:#101111}.app-shell[data-theme=dark] .empty-chart{color:#d4d4d4;background:#101111eb}.app-shell[data-theme=dark] .text-button,.app-shell[data-theme=dark] .detail-link{color:#e5e5e5}.app-shell[data-theme=dark] .ring-key{border-color:#303030}.app-shell[data-theme=dark] .ring-key-label,.app-shell[data-theme=dark] .ring-tag,.app-shell[data-theme=dark] .detail-quadrant{color:var(--ring-color,var(--quad-color))}@supports (color:color-mix(in lab, red, red)){.app-shell[data-theme=dark] .ring-key-label,.app-shell[data-theme=dark] .ring-tag,.app-shell[data-theme=dark] .detail-quadrant{color:color-mix(in srgb, var(--ring-color,var(--quad-color)) 58%, white)}}.app-shell[data-theme=dark] .ring-key-label{color:#f5f5f5}.app-shell[data-theme=dark] .ring-key-label svg{color:var(--ring-color)}@supports (color:color-mix(in lab, red, red)){.app-shell[data-theme=dark] .ring-key-label svg{color:color-mix(in srgb, var(--ring-color) 48%, white)}}.app-shell[data-theme=dark] .ring-key p{color:#c4c4c4}.app-shell[data-theme=dark] .radar-quadrant-label{filter:brightness(1.35)}.app-shell[data-theme=dark] .map-project-node rect{fill:#ededed;stroke:#0b0b0b}.app-shell[data-theme=dark] .map-node .map-project-mark{fill:#111;stroke:none}.app-shell[data-theme=dark] .map-project-node:focus-visible rect,.app-shell[data-theme=dark] .map-project-node.is-selected rect{stroke:#fff}.app-shell[data-theme=dark] .map-link.project-link{stroke:#d4d4d4}.app-shell[data-theme=dark] .map-key{color:#b3b3b3}.app-shell[data-theme=dark] .map-key-project{color:#111;background:#ededed;border-color:#ededed}.app-shell[data-theme=dark] .map-key-tool{border-color:#111}.app-shell[data-theme=dark] .map-key-link{border-color:#b3b3b3}.app-shell[data-theme=dark] .catalogue-column{color:#ededed;background:#111;border-color:#303030;box-shadow:-18px 0 50px #0000008c}.app-shell[data-theme=dark] .drawer-heading,.app-shell[data-theme=dark] .tool-details{border-color:#303030}.app-shell[data-theme=dark] .drawer-heading h2{color:#f5f5f5}.app-shell[data-theme=dark] .drawer-kicker,.app-shell[data-theme=dark] .tool-number{color:#8c8c8c}.app-shell[data-theme=dark] .tool-brand-icon{filter:grayscale()brightness(0)invert()}.app-shell[data-theme=dark] .tool-group{border-color:#292929}.app-shell[data-theme=dark] .tool-group h3,.app-shell[data-theme=dark] .tool-row{color:#e5e5e5}.app-shell[data-theme=dark] .tool-group h3 span{color:#8c8c8c}.app-shell[data-theme=dark] .tool-row:hover{background:#1d1d1d}.app-shell[data-theme=dark] .tool-row.selected{background:#252525;box-shadow:inset 2px 0 #e5e5e5}.app-shell[data-theme=dark] .ring-tag,.app-shell[data-theme=dark] .detail-quadrant{background:#1c1c1c;border-color:#3b3b3b}.app-shell[data-theme=dark] .detail-index{color:#ededed}.app-shell[data-theme=dark] .detail-summary,.app-shell[data-theme=dark] .detail-section ul{color:#c4c4c4}.app-shell[data-theme=dark] .detail-section h3{color:#a3a3a3}.app-shell[data-theme=dark] .back-to-catalogue{color:#b3b3b3}.app-shell[data-theme=dark] .back-to-catalogue:hover{color:#fff}.app-shell[data-theme=dark] .related-tools button{color:#dedede;background:#1a1a1a;border-color:#363636}.app-shell[data-theme=dark] .related-tools button:hover{color:#fff;background:#272727}.app-shell[data-theme=dark] .drawer-backdrop{background:#0000008c}.app-shell[data-theme=dark] .modal-backdrop{background:#000000b8}.app-shell[data-theme=dark] .suggest-dialog{color:#ededed;background:#111;border-color:#303030;box-shadow:0 18px 70px #0009}.app-shell[data-theme=dark] .dialog-head{border-color:#303030}.app-shell[data-theme=dark] .dialog-head h2,.app-shell[data-theme=dark] .submit-success h3{color:#f5f5f5}.app-shell[data-theme=dark] .dialog-intro,.app-shell[data-theme=dark] .submit-success p,.app-shell[data-theme=dark] .submitter-note{color:#a3a3a3}.app-shell[data-theme=dark] .form-field{color:#d4d4d4}.app-shell[data-theme=dark] .form-field input,.app-shell[data-theme=dark] .form-field textarea,.app-shell[data-theme=dark] .form-field select{color:#f5f5f5;background:#171717;border-color:#3a3a3a}.app-shell[data-theme=dark] .form-field input::placeholder,.app-shell[data-theme=dark] .form-field textarea::placeholder,.app-shell[data-theme=dark] .optional-label{color:#777}.app-shell[data-theme=dark] .form-error{color:#fecaca;background:#2a1717;border-color:#5c2929}.app-shell[data-theme=dark] .success-mark{color:#b9f3d4;background:#17372b}.app-shell[data-theme=dark] .count-bubble{color:#ededed;background:#262626}.app-shell[data-theme=dark] .entry-type-switch{background:#171717;border-color:#363636}.app-shell[data-theme=dark] .entry-type-switch button{color:#a3a3a3}.app-shell[data-theme=dark] .entry-type-switch button[aria-pressed=true]{color:#111;box-shadow:none;background:#ededed}.app-shell[data-theme=dark] .project-tools-fieldset{border-color:#393939}.app-shell[data-theme=dark] .project-tools-fieldset legend{color:#e5e5e5}.app-shell[data-theme=dark] .project-tools-fieldset>p,.app-shell[data-theme=dark] .project-tool-help{color:#a3a3a3}.app-shell[data-theme=dark] .project-tool-search,.app-shell[data-theme=dark] .project-tool-option{color:#dedede;background:#171717;border-color:#343434}.app-shell[data-theme=dark] .project-tool-search input{color:#f5f5f5}.app-shell[data-theme=dark] .project-tool-option:hover{background:#242424}.app-shell[data-theme=dark] .project-tool-option small,.app-shell[data-theme=dark] .project-no-tools{color:#a3a3a3}.app-shell[data-theme=dark] .project-tool-count{color:#e5e5e5}.app-shell[data-theme=dark] .project-row-mark,.app-shell[data-theme=dark] .project-detail-mark{color:#111;background:#ededed;border-color:#ededed}.app-shell[data-theme=dark] .map-empty-note{color:#b3b3b3}@media (width<=980px){.workspace{padding-inline:24px}.ring-key{gap:8px}.ring-key p{font-size:9px}}@media (width<=720px){.topbar{min-height:62px;padding-inline:15px}.brand-mark{width:28px;height:28px}.brand-copy strong{font-size:11.5px}.brand-copy>span{font-size:10px}.topbar-meta{gap:8px}.workspace{padding:23px 15px 18px}.intro-row{align-items:start;gap:11px;padding:1px 0 17px}.intro-row h1{max-width:22ch;font-size:clamp(28px,7.4vw,36px)}.intro-copy{max-width:38ch;font-size:12px;line-height:1.48}.hero-index{gap:8px;margin-top:13px;font-size:9px}.hero-index b{font-size:10px}.suggest-button{flex:none;gap:20px;width:41px;min-width:41px;min-height:41px;padding:0 11px;font-size:0;overflow:hidden}.suggest-button svg{flex:none}.control-row{flex-wrap:wrap;gap:7px;padding:9px 0}.search-field{width:100%;height:38px}.view-switch,.view-switch button{flex:1}.result-count{padding-right:2px}.browse-button{flex:1}.content-grid{height:auto;min-height:initial;border:0}.visual-column{padding:16px 0 14px}.panel-heading{min-height:42px}.panel-heading h2{font-size:14px}.filter-toggle span{display:none}.filter-row{gap:4px;min-height:36px}.filter-chip{padding-inline:6px;font-size:9.5px}.viz-frame{height:min(128vw,640px);min-height:450px}.radar-quadrant-label{font-size:9px}.radar-ring-label{font-size:8px}.quadrant-strip{gap:3px}.quadrant-choice{padding-inline:4px;font-size:9px}.ring-key{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;padding-top:11px}.ring-key-label{min-height:22px;font-size:10px}.ring-key p{font-size:9.5px}.catalogue-column{width:min(440px,100vw - 16px);padding-inline:17px;top:62px}.drawer-heading{min-height:70px}.drawer-backdrop{top:62px}.tool-group{padding-block:13px 8px}.tool-row{grid-template-columns:17px 30px minmax(0,1fr) auto;min-height:42px}.tool-row.project-row{grid-template-columns:30px minmax(0,1fr) auto}.tool-row-name{font-size:12.5px}.ring-tag{font-size:9.5px}.tool-details{padding-top:13px}.detail-title-row h2{font-size:21px}.detail-summary{font-size:13px}.detail-section ul{font-size:12px}.page-footer{flex-direction:column;gap:4px;padding-top:10px;display:flex}.suggest-dialog{max-height:calc(100dvh - 24px)}.dialog-head{padding-inline:17px}.suggest-form{gap:11px;padding:14px 17px 18px}.dialog-actions{flex-wrap:wrap}.submitter-note{width:100%;margin-bottom:2px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
