.visibility-tool{--vis-panel: rgba(21, 24, 19, .94);--vis-panel-soft: rgba(17, 18, 14, .92);--vis-panel-quiet: rgba(29, 33, 27, .72);--vis-line: rgba(75, 85, 71, .82);display:grid;gap:18px;min-width:0;margin-bottom:40px}.visibility-workbench{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,360px);gap:18px;align-items:start}.visibility-main-panel,.visibility-control-panel,.visibility-panel,.visibility-report{border:1px solid var(--vis-line);border-radius:8px;background:var(--vis-panel);box-shadow:var(--soft-shadow)}.visibility-main-panel{display:grid;gap:16px;min-width:0;padding:16px}.visibility-command-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end;border:1px solid var(--line);border-radius:8px;padding:12px;background:var(--vis-panel-soft)}.visibility-field,.visibility-checkbox{min-width:0}.visibility-field{display:grid;gap:7px}.visibility-field span,.visibility-coverage__meta strong{color:var(--muted);font-size:.76rem;font-weight:820;line-height:1.2;text-transform:uppercase}.visibility-field input[type=date]{box-sizing:border-box;width:100%;height:42px;min-height:42px;border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:var(--surface);color:var(--ink);font:inherit;font-weight:760;line-height:1}.visibility-field input[type=date]:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.visibility-field input[type=date]::-webkit-datetime-edit{padding:0}.visibility-native-select{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.visibility-select{position:relative;min-width:0;font:inherit}.visibility-select__button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;min-height:42px;border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:linear-gradient(180deg,#f4f1e80f,#f4f1e803),var(--surface);color:var(--ink);font:inherit;font-weight:760;text-align:left;cursor:pointer}.visibility-select__button:focus-visible,.visibility-select[data-open=true] .visibility-select__button{outline:2px solid var(--teal);outline-offset:3px}.visibility-select__value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.visibility-select__chevrons{display:grid;gap:2px;width:12px;color:var(--ink)}.visibility-select__chevrons:before,.visibility-select__chevrons:after{content:"";display:block;width:0;height:0;border-right:5px solid transparent;border-left:5px solid transparent}.visibility-select__chevrons:before{border-bottom:7px solid currentColor}.visibility-select__chevrons:after{border-top:7px solid currentColor}.visibility-select__menu{position:absolute;top:calc(100% + 8px);left:0;z-index:40;display:grid;width:max-content;min-width:100%;max-width:min(620px,calc(100vw - 48px));max-height:min(360px,70vh);overflow:auto;border:1px solid var(--line-strong);border-radius:8px;padding:6px;background:#1d211bfa;box-shadow:var(--shadow)}.visibility-field:nth-child(3) .visibility-select__menu{right:0;left:auto}.visibility-select__menu[hidden]{display:none}.visibility-select__option{display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px;align-items:center;width:100%;min-height:40px;border:0;border-radius:6px;padding:7px 10px;background:transparent;color:var(--ink);font:inherit;font-size:.95rem;font-weight:720;line-height:1.22;text-align:left;white-space:nowrap;cursor:pointer}.visibility-select__option:before{content:"";color:var(--teal);font-weight:860}.visibility-select__option[data-selected=true]:before{content:"✓"}.visibility-select__option-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.visibility-select__option:hover,.visibility-select__option:focus-visible{outline:0;background:#73d9bc1f;color:var(--ink)}.visibility-select__option[data-selected=true]{background:#73d9bc14}.visibility-checkbox{position:relative;display:grid!important;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;min-height:42px;border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:var(--surface);cursor:pointer}.visibility-command-bar .visibility-checkbox{grid-column:1 / -1}.visibility-checkbox input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.visibility-checkbox__track{position:relative;display:inline-block;width:38px;height:22px;border:1px solid var(--chip-line);border-radius:999px;background:var(--paper-warm);transition:background .16s ease,border-color .16s ease}.visibility-checkbox__track:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:999px;background:var(--muted);transition:background .16s ease,transform .16s ease}.visibility-checkbox input:checked+.visibility-checkbox__track{border-color:#73d9bcad;background:#73d9bc2e}.visibility-checkbox input:checked+.visibility-checkbox__track:after{transform:translate(16px);background:var(--teal)}.visibility-checkbox input:focus-visible+.visibility-checkbox__track{outline:2px solid var(--teal);outline-offset:3px}.visibility-checkbox span:last-child{color:var(--body)!important;font-size:.88rem!important;font-weight:760!important;line-height:1.25;text-transform:none!important}.visibility-chart-wrap{display:grid;gap:10px;min-width:0;max-width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:8px;padding:12px;background:linear-gradient(180deg,rgba(244,241,232,.025),transparent),var(--paper-warm)}.visibility-chart-head{display:flex;align-items:end;justify-content:space-between;gap:14px;min-width:720px}.visibility-chart-head .eyebrow{margin-bottom:6px}.visibility-chart-head h3{margin-bottom:0}.visibility-chart-legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 12px;color:var(--muted);font-size:.78rem;font-weight:740}.visibility-chart-legend span{display:inline-flex;align-items:center;gap:7px}.visibility-swatch{display:inline-block;width:17px;height:8px;border-radius:999px}.visibility-swatch--line{height:3px;background:var(--teal)}.visibility-swatch--range{background:#7e92d694}.visibility-swatch--human,.visibility-swatch--context{width:10px;height:10px}.visibility-swatch--human{background:var(--amber)}.visibility-swatch--context{background:var(--coral)}.visibility-chart{width:100%;min-width:720px;height:auto}.visibility-chart__grid{stroke:#f4f1e81f;stroke-width:1}.visibility-chart__grid--minor{stroke:#f4f1e80d}.visibility-chart__axis,.visibility-chart__label{fill:var(--muted);font-size:13px;font-weight:760}.visibility-chart__axis--date{font-size:16px;font-weight:800}.visibility-chart__label{font-size:16px;font-weight:820}.visibility-chart__line{fill:none;stroke:var(--teal);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;shape-rendering:geometricPrecision}.visibility-chart__range{fill:#7e92d642;stroke:#7e92d675;stroke-width:1.5;stroke-linejoin:round;shape-rendering:geometricPrecision}.visibility-chart__observation{fill:var(--amber);stroke:var(--paper);stroke-width:2}.visibility-chart__observation--context{fill:var(--coral);opacity:.84}.visibility-chart__evidence-line{stroke:#ff8b7a5c;stroke-width:2;stroke-dasharray:5 6}.visibility-driver-panel{display:grid;gap:14px;min-width:0;max-width:100%;border:1px solid var(--line);border-radius:8px;padding:14px;background:var(--paper-warm)}.visibility-driver-panel__header{display:flex;align-items:end;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:12px}.visibility-driver-panel__header .eyebrow,.visibility-driver-panel__header h3{margin:0}.visibility-driver-panel__header h3{color:var(--ink);font-size:clamp(1.05rem,2vw,1.35rem);line-height:1}.visibility-driver-panel__header span{color:var(--muted);font-size:.78rem;font-weight:760;text-align:right;text-transform:uppercase}.visibility-driver-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.visibility-driver{display:grid;grid-template-columns:8px minmax(0,1fr) auto;gap:12px;align-items:stretch;min-height:106px;border:1px solid var(--line);border-radius:8px;padding:11px;background:#0b0d0b52}.visibility-driver__meter{position:relative;overflow:hidden;border-radius:999px;background:#f4f1e814}.visibility-driver__meter span{position:absolute;inset:auto 0 0;height:var(--driver-strength);border-radius:inherit;background:var(--muted)}.visibility-driver[data-effect=lower] .visibility-driver__meter span{background:linear-gradient(180deg,var(--coral),var(--amber))}.visibility-driver[data-effect=higher] .visibility-driver__meter span{background:linear-gradient(180deg,var(--teal),var(--mint))}.visibility-driver__body{display:grid;gap:8px;align-content:start;min-width:0}.visibility-driver__topline{display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-width:0}.visibility-driver__topline strong{color:var(--ink);font-size:.93rem;line-height:1.1}.visibility-driver__topline span{flex:0 0 auto;color:var(--muted);font-size:.78rem;font-weight:760}.visibility-driver__body p{margin:0;color:var(--body);font-size:.82rem;line-height:1.35}.visibility-driver__effect{display:grid;align-content:space-between;justify-items:end;gap:8px;min-width:88px;text-align:right}.visibility-driver__effect span{color:var(--muted);font-size:.72rem;font-weight:760;text-transform:uppercase}.visibility-driver__effect b{border:1px solid var(--line);border-radius:999px;padding:5px 8px;color:var(--ink);font-size:.74rem;line-height:1;white-space:nowrap}.visibility-driver[data-effect=lower] .visibility-driver__effect b{border-color:#ff8b7a61;background:#ff8b7a1a}.visibility-driver[data-effect=higher] .visibility-driver__effect b{border-color:#70dcbf61;background:#70dcbf1a}.visibility-report__table-wrap,.visibility-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:8px;background:var(--paper-warm)}.visibility-table,.visibility-report-table{width:100%;border-collapse:separate;border-spacing:0}.visibility-table{min-width:700px}.visibility-report-table{min-width:780px}.visibility-table th,.visibility-table td,.visibility-report-table th,.visibility-report-table td{border-bottom:1px solid var(--line);padding:10px 11px;text-align:left;vertical-align:middle}.visibility-table th,.visibility-report-table th{background:#0b0d0b47;color:var(--muted);font-size:.74rem;font-weight:820;text-transform:uppercase}.visibility-table tbody tr:last-child td,.visibility-report-table tbody tr:last-child td{border-bottom:0}.visibility-table td,.visibility-report-table td{color:var(--body);font-size:.9rem;line-height:1.35}.visibility-control-panel{position:sticky;top:94px;display:grid;gap:16px;padding:16px}.visibility-control-panel__header{display:grid;gap:6px;border-bottom:1px solid var(--line);padding-bottom:14px}.visibility-control-panel__header .eyebrow,.visibility-control-panel__header h3,.visibility-control-panel__header p{margin:0}.visibility-control-panel__header p{color:var(--muted);font-size:.88rem;line-height:1.5}.visibility-model-context{display:grid;gap:12px;border:0;padding:0}.visibility-model-context div{display:grid;gap:4px}.visibility-model-context>div{border-left:3px solid var(--teal);padding-left:10px}.visibility-model-context>div:nth-child(2){border-left-color:var(--blue)}.visibility-model-context>div:nth-child(3){border-left-color:var(--amber)}.visibility-model-context strong,.visibility-model-context dt{color:var(--ink);font-size:.88rem;line-height:1.3}.visibility-model-context span,.visibility-model-context dd{margin:0;color:var(--muted);font-size:.84rem;line-height:1.45}.visibility-model-context dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.visibility-model-context dl div{border:1px solid var(--line);border-radius:8px;padding:9px;background:var(--paper-warm)}.visibility-model-context dl dd{color:var(--body);font-weight:820}.visibility-coverage{display:grid;gap:10px;min-width:0;max-width:100%;border:1px solid var(--line);border-radius:8px;padding:12px;background:var(--paper-warm)}.visibility-coverage__meta{display:flex;align-items:baseline;justify-content:space-between;gap:4px;flex-wrap:wrap}.visibility-coverage__meta span{color:var(--muted);font-size:.84rem;line-height:1.35}.visibility-coverage__strip{display:grid;grid-template-columns:repeat(140,minmax(1px,1fr));gap:clamp(0px,.24vw,2px);min-height:24px}.visibility-coverage__cell{min-width:0;min-height:10px;border:0;border-radius:2px;padding:0;background:var(--surface-soft);cursor:pointer}.visibility-coverage__cell[data-count="1"]{background:#2f5f55}.visibility-coverage__cell[data-count="2"]{background:#4f8a72}.visibility-coverage__cell[data-count="3"]{background:#d7a54b}.visibility-coverage__cell[data-count="4"]{background:var(--coral)}.visibility-coverage__cell[data-selected=true]{outline:2px solid var(--ink);outline-offset:1px}.visibility-detail-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start}.visibility-panel{display:grid;gap:14px;min-width:0;padding:16px}.visibility-panel__header,.visibility-report__header{display:flex;align-items:end;justify-content:space-between;gap:14px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:12px}.visibility-panel__header h3,.visibility-report__header h3{margin-bottom:0}.visibility-panel__header span{color:var(--muted);font-size:.84rem;font-weight:760}.visibility-empty{margin:0;color:var(--muted);font-weight:720}.visibility-report{display:grid;gap:16px;padding:18px}.visibility-report__header .eyebrow{margin-bottom:6px}.visibility-report__header h3{font-size:1.35rem}.visibility-report__header span{border:1px solid var(--chip-line);border-radius:8px;padding:6px 10px;background:var(--chip);color:var(--body);font-size:.82rem;font-weight:740}.visibility-report__summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.visibility-report__summary p{margin:0;border:1px solid var(--line);border-radius:8px;padding:12px;background:var(--paper-warm);color:var(--body);font-size:.9rem;line-height:1.56}.visibility-report__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.visibility-report__cards div{display:grid;gap:4px;border:1px solid var(--line);border-top:3px solid var(--teal);border-radius:8px;padding:12px;background:var(--paper-warm)}.visibility-report__cards div:nth-child(2){border-top-color:var(--blue)}.visibility-report__cards div:nth-child(3){border-top-color:var(--amber)}.visibility-report__cards span,.visibility-report__cards small{color:var(--muted);font-size:.84rem;line-height:1.42}.visibility-report__cards b{font-size:clamp(1.65rem,3vw,2.25rem);line-height:1}@media(max-width:1180px){.visibility-workbench,.visibility-detail-grid{grid-template-columns:minmax(0,1fr)}.visibility-control-panel{position:static}.visibility-command-bar,.visibility-report__summary,.visibility-report__cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.visibility-command-bar,.visibility-model-context dl,.visibility-report__summary,.visibility-report__cards{grid-template-columns:1fr}.visibility-main-panel,.visibility-control-panel,.visibility-panel,.visibility-report{box-sizing:border-box;width:100%;max-width:100%;padding:12px}.visibility-chart-head{display:grid;align-items:start;min-width:0}.visibility-chart-legend{justify-content:flex-start}.visibility-chart,.visibility-table,.visibility-report-table{min-width:0}.visibility-table thead,.visibility-report-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.visibility-table,.visibility-table tbody,.visibility-table tr,.visibility-table td,.visibility-report-table,.visibility-report-table tbody,.visibility-report-table tr,.visibility-report-table td{display:block;width:100%}.visibility-table tr,.visibility-report-table tr{border-bottom:1px solid var(--line);padding:8px 10px}.visibility-table tbody tr:last-child,.visibility-report-table tbody tr:last-child{border-bottom:0}.visibility-table td,.visibility-report-table td{display:grid;grid-template-columns:112px minmax(0,1fr);gap:8px;border-bottom:0;padding:5px 0}.visibility-table td:before,.visibility-report-table td:before{content:attr(data-label);color:var(--muted);font-size:.74rem;font-weight:820;text-transform:uppercase}.visibility-driver-panel__header,.visibility-driver__topline{display:grid;align-items:start;text-align:left}.visibility-driver-panel__header span{text-align:left}.visibility-driver-list{grid-template-columns:minmax(0,1fr)}.visibility-driver{grid-template-columns:7px minmax(0,1fr)}.visibility-driver__effect{grid-column:2;display:flex;align-items:center;justify-content:space-between;min-width:0;text-align:left}}
