:root{color-scheme:light;font:16px/1.5 system-ui,sans-serif;color:#001d3d;background:#f4f1ed;--ink: #001d3d;--muted: #596879;--indigo: #4357ad;--indigo-hover: #3d4f9d;--gold: #d4b483;--sage: #8eaf95;--coral: #c1666b;--teal: #48a9a6;--border: #e4dfda;--surface: #ffffff;--chart: #fcfbf9;--negative: #9c454e;--shadow: 0 4px 18px rgb(0 29 61 / 3%)}*{box-sizing:border-box}body{margin:0}main{max-width:1480px;margin:auto;padding:0 40px 32px}h1{font-size:clamp(1.9rem,3vw,2.65rem);line-height:1.16;margin:8px 0 12px;font-weight:650;letter-spacing:-.045em}h2{font-size:.96rem;margin:0 0 10px;font-weight:650;letter-spacing:-.015em}p{margin:0 0 12px;color:var(--muted)}.brand-bar{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;border-bottom:1px solid var(--border)}.brand-lockup{display:flex;align-items:center;gap:26px;min-width:0}.wordmark{display:block;width:218px;height:auto}.app-name{color:var(--muted);border-left:1px solid #d1cac2;padding-left:26px;font-size:.82rem}.brand-bar>button{flex-shrink:0}.page-heading{padding:30px 0 26px}.eyebrow{font-size:.67rem;font-weight:700;letter-spacing:.16em;color:var(--indigo);margin:0}.intro{margin:0;font-size:.95rem}.load-panel,aside section,.exports{border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}.load-panel{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;padding:22px 24px}.load-panel h2{margin-bottom:5px}.load-panel p{margin:0;font-size:.84rem}.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}button,select{font:inherit;color:var(--ink);background:var(--surface);border:1px solid #a8afb8;border-radius:8px;padding:10px 14px}button{cursor:pointer;font-size:.82rem;font-weight:600;min-height:42px;transition:background-color .15s ease,border-color .15s ease}button:hover:not(:disabled){background:#f0f2fa;border-color:var(--indigo)}button:disabled{color:#74808d;background:#f4f3f1;border-color:var(--border);cursor:default}button.primary{color:#fff;background:var(--indigo);border-color:var(--indigo);box-shadow:0 2px 5px #4357ad1f}button.primary:hover:not(:disabled){background:var(--indigo-hover);border-color:var(--indigo-hover)}button.primary:disabled{background:#dce0ef;border-color:#dce0ef;color:#596879;box-shadow:none}a{color:var(--indigo);font-size:.8rem;text-underline-offset:3px}a:hover{color:var(--indigo-hover)}:focus-visible{outline:3px solid var(--indigo);outline-offset:4px}.login-page{min-height:100svh;display:grid;place-items:center;padding:24px}.login-card{width:100%;max-width:400px;padding:40px 32px;border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:var(--shadow)}.login-wordmark{display:block;width:min(100%,250px);height:auto;margin:0 auto 32px}.login-card h1{text-align:center;font-size:1.8rem;margin:0 0 24px}.login-card form{display:grid;gap:14px}.login-card input{width:100%;min-width:0;font:inherit;color:var(--ink);background:var(--surface);border:1px solid #a8afb8;border-radius:8px;padding:12px 14px}.login-card input::placeholder{color:var(--muted)}.login-card input[aria-invalid=true]{border-color:var(--negative)}.login-error{margin:0;color:var(--negative);font-size:.84rem}.dataset-heading{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px;margin:28px 0 14px}.dataset-heading h2{margin:0}.dataset-heading span{font-size:.75rem;color:var(--muted)}.counts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0 0 14px}.counts div{display:flex;flex-direction:column;gap:2px;padding:15px 20px;background:var(--surface);border:1px solid var(--border);border-radius:10px}.counts div:nth-child(2){background:#eef0f8;border-color:#cdd3e9}.counts strong{font-size:1.7rem;font-weight:600;line-height:1.25;letter-spacing:-.035em;font-variant-numeric:tabular-nums}.counts div:nth-child(2) strong{color:var(--indigo)}.counts span{color:var(--muted);font-size:.72rem;text-transform:capitalize}.active-filters{font-size:.75rem;margin-bottom:20px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}.chart-panel{border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--chart);box-shadow:var(--shadow)}.chart-heading{padding:20px 22px 16px;background:var(--surface);border-bottom:1px solid var(--border)}.chart-heading h2{margin-bottom:4px}.chart-heading p{margin:0;font-size:.8rem}.domain-legend{display:flex;flex-wrap:wrap;gap:8px 18px;list-style:none;padding:0;margin:14px 0 0}.domain-legend li{display:flex;align-items:center;gap:7px;font-size:.72rem;color:var(--muted)}.legend-dot{width:9px;height:9px;border-radius:3px;flex-shrink:0}.zoom-controls{display:flex;align-items:center;gap:10px;padding:12px 18px;border-bottom:1px solid var(--border);background:#f7f6f3;flex-wrap:wrap}.zoom-controls label{flex-direction:row;min-width:90px;align-items:baseline}.zoom-controls output{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}.zoom-controls input[type=range]{flex:1;width:auto;min-width:75px}.zoom-controls button{flex-shrink:0;min-height:36px;padding:6px 12px;font-size:.76rem}.chart-scroll{overflow:auto;aspect-ratio:1140 / 1000;min-height:0;scrollbar-color:#b6bfcf var(--chart)}.chart-scroll path[role=button]{cursor:pointer}.chart-scroll path[role=button]:focus{stroke:var(--ink);stroke-width:3px}aside{display:grid;gap:16px}aside section{padding:22px;font-size:.86rem}.details{min-height:180px}.details h2{margin-bottom:14px}.details p:last-child{margin-bottom:0}.connection{font-size:1.12rem;line-height:1.4;font-weight:600;color:var(--ink)}.connection span{color:var(--indigo)}.relationship-summary{margin-bottom:14px}.relationship-summary p{margin-bottom:6px}.relationship-summary strong{color:var(--ink)}.relationship-summary strong.negative{color:var(--negative)}.relationship-description{border-top:1px solid var(--border);padding-top:14px;line-height:1.65}.relationship-description .definition-label{margin-bottom:6px;color:var(--ink)}.negative{color:var(--negative)}.filters{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:end}.filters h2,.filters button{grid-column:1 / -1}.filters h2{margin-bottom:0}.filters button{background:#f7f6f3}label{display:flex;flex-direction:column;gap:7px;font-size:.77rem;color:var(--muted)}select{width:100%;font-size:.84rem;min-height:42px}input[type=range]{accent-color:var(--indigo);min-height:38px;width:100%;margin:0;cursor:pointer}.score-range{border:0;padding:0;margin:0;min-width:0}.score-range legend{padding:0;margin-bottom:8px;font-size:.77rem;color:var(--muted)}.score-range-values{display:flex;justify-content:space-between;gap:12px}.score-range-values label{gap:2px}.score-range-values label:last-child{text-align:right}.score-range-values output{color:var(--ink);font-size:.88rem;font-weight:600;font-variant-numeric:tabular-nums}.score-range-slider{position:relative;height:44px}.score-range-track{position:absolute;left:10px;right:10px;top:20px;height:4px;border-radius:2px;background:var(--border)}.score-range-track span{position:absolute;left:var(--score-min);width:calc(var(--score-max) - var(--score-min));height:100%;border-radius:inherit;background:var(--indigo)}.score-range-slider input[type=range]{appearance:none;position:absolute;inset:0;height:44px;background:transparent;pointer-events:none;z-index:2;touch-action:none}.score-range-slider.is-collapsed input:first-of-type{clip-path:inset(0 calc(100% - var(--score-split)) 0 0)}.score-range-slider.is-collapsed input:last-of-type{clip-path:inset(0 0 0 var(--score-split))}.score-range-slider input::-webkit-slider-runnable-track{height:4px;background:transparent}.score-range-slider input::-moz-range-track{height:4px;background:transparent}.score-range-slider input::-moz-range-progress{background:transparent}.score-range-slider input::-webkit-slider-thumb{appearance:none;width:20px;height:20px;margin-top:-8px;border:2px solid var(--indigo);border-radius:50%;background:var(--surface);box-shadow:0 1px 3px #001d3d26;pointer-events:auto;cursor:grab}.score-range-slider input::-moz-range-thumb{width:16px;height:16px;border:2px solid var(--indigo);border-radius:50%;background:var(--surface);box-shadow:0 1px 3px #001d3d26;pointer-events:auto;cursor:grab}.score-range-slider input:active::-webkit-slider-thumb{cursor:grabbing}.score-range-slider input:active::-moz-range-thumb{cursor:grabbing}.score-range-slider input:focus-visible{outline:none}.score-range-slider input:focus-visible::-webkit-slider-thumb{outline:3px solid var(--indigo);outline-offset:3px}.score-range-slider input:focus-visible::-moz-range-thumb{outline:3px solid var(--indigo);outline-offset:3px}.score-range-limits{display:flex;justify-content:space-between;color:var(--muted);font-size:.7rem;font-variant-numeric:tabular-nums}.exports{margin-top:20px;padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.export-description{flex:1 1 360px}.exports h2{margin-bottom:5px}.exports p{margin:0;font-size:.81rem}.export-actions{display:flex;gap:10px;flex-wrap:wrap}footer{margin-top:25px;padding-top:20px;border-top:1px solid #d6d0c9;color:var(--muted);font-size:.73rem;line-height:1.7}footer strong{color:var(--ink)}.error{margin-top:18px;padding:18px 22px;border:1px solid var(--coral);border-left:4px solid var(--negative);background:#fcf3f2;border-radius:10px}.error h2{color:var(--negative)}.error ul{max-height:230px;overflow-y:auto;font-size:.85rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1000px){main{padding-right:28px;padding-left:28px}.workspace{grid-template-columns:1fr}aside{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}}@media(max-width:600px){main{padding:0 14px 24px}.brand-bar{padding:18px 0;gap:12px}.wordmark{width:180px}.app-name{display:none}.page-heading{padding:26px 0 22px}.intro{font-size:.87rem}.load-panel{padding:18px;gap:16px}.actions{width:100%;gap:10px}.actions button{flex:1 1 100%}.actions a{padding:4px 0}.dataset-heading{margin-top:24px}.counts{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.counts div{grid-column:span 2;padding:12px}.counts div:nth-child(-n+2){grid-column:span 3}.counts strong{font-size:1.5rem}.active-filters{line-height:1.65}.chart-heading{padding:18px}.domain-legend{gap:8px 14px}.zoom-controls{padding:10px 12px;gap:8px}aside{grid-template-columns:1fr}aside section{padding:20px}.filters{gap:14px}.exports{padding:20px}.export-actions{width:100%}.exports button{flex:1 1 100%}}@media(prefers-reduced-motion:reduce){button{transition:none}}
