:root{color-scheme:light;--ink:#172a35;--muted:#647782;--line:#dce4e5;--paper:#f5f7f6;--teal:#147d70;--gold:#c89030}*{box-sizing:border-box}body{margin:0;background:var(--paper);font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;color:var(--ink);font-size:14px}button,input,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:7px;background:white;padding:9px 12px;color:var(--ink)}button:hover{background:#eaf0ee}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #c89030;outline-offset:3px}button:disabled{opacity:.45;cursor:default}a{color:var(--teal)}.top{height:66px;padding:0 26px;display:flex;align-items:center;gap:32px;border-bottom:1px solid var(--line);background:#fff}.brand{text-decoration:none;color:var(--ink);font-size:21px;font-weight:750;letter-spacing:-1px}.brand span{font-weight:400;color:var(--muted)}.top-note{font-size:12px;letter-spacing:.03em;color:var(--muted)}.top button{margin-left:auto}.workspace{display:grid;grid-template-columns:230px minmax(440px,1fr) 310px;min-height:calc(100vh - 66px)}.library,.inspector{padding:26px 20px;background:#fff}.library{border-right:1px solid var(--line);display:flex;flex-direction:column;gap:14px}.inspector{border-left:1px solid var(--line);overflow-wrap:anywhere}.section-head{display:flex;justify-content:space-between;align-items:center;gap:10px}h1,h2,h3,p{margin-top:0}h1{font-size:20px;margin-bottom:8px}h2{font-size:23px;font-weight:600;letter-spacing:-.6px;margin-bottom:6px}h3{font-size:14px;margin-bottom:9px}.eyebrow{font-size:10px;letter-spacing:.14em;color:var(--muted);font-weight:750;margin-bottom:10px}.mini{background:#ecf2ef;color:var(--teal);font-size:11px;padding:6px;border-radius:6px}.primary{background:var(--ink);border-color:var(--ink);color:white;font-weight:600}.primary:hover{background:#284452}.quiet{background:transparent;font-size:12px}.small,.muted{color:var(--muted);font-size:12px;line-height:1.6}.snapshot-list{display:flex;flex-direction:column;gap:7px}.snapshot{padding:12px;text-align:left;background:#f7f9f8;overflow-wrap:anywhere}.snapshot.active{border-color:var(--teal);background:#eaf4ef}.snapshot strong{display:block;font-size:12px}.snapshot span{display:block;margin-top:5px;font-size:10px;color:var(--muted)}.library-foot{margin-top:auto;padding-top:25px;font-size:11px}.dot{width:6px;height:6px;background:var(--teal);display:inline-block;border-radius:50%;margin-right:6px}.main-view{padding:25px 26px;min-width:0}.view-header{display:flex;justify-content:space-between;gap:16px;align-items:center}.actions{display:flex;gap:8px;flex-wrap:wrap}.metrics{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:white;border-radius:9px;margin:16px 0 20px}.metrics>div{padding:15px;border-right:1px solid var(--line)}.metrics>div:last-child{border:0}.metrics span{font-size:9px;letter-spacing:.08em;color:var(--muted);display:block;margin-bottom:8px}.metrics strong{font-size:14px;font-weight:600}.graph-shell{position:relative;background:#101b25;color:#d7e4e8;border-radius:12px;overflow:hidden;border:1px solid #253743}.graph-toolbar{position:absolute;top:15px;left:16px;right:16px;display:flex;align-items:center;gap:16px;z-index:2;font-size:11px}.graph-toolbar select{margin-left:6px;background:#203440;color:#e0ecef;border:1px solid #3c505c;border-radius:5px;padding:6px}.graph-toolbar .quiet{color:#e0ecef;border-color:#3c505c;margin-left:auto;background:#162833}.focus{display:flex;align-items:center;gap:6px}#graph{height:440px}#graph canvas{display:block;touch-action:none}.graph-caption{position:absolute;bottom:45px;left:18px;right:18px;display:flex;justify-content:space-between;align-items:end;gap:20px;font-size:10px;color:#91a5b2;pointer-events:none}.graph-caption>span{max-width:70%;line-height:1.5}.camera{display:flex;gap:5px;pointer-events:auto}.camera button{padding:5px 11px;color:#e0ecef;background:#203440;border-color:#3c505c}.legend{display:flex;gap:16px;flex-wrap:wrap;padding:10px 18px;background:#142530;border-top:1px solid #253743;font-size:10px;color:#aebfc5}.legend i{width:6px;height:6px;display:inline-block;border-radius:50%;margin-right:5px}.teal{background:#67d2bc}.blue{background:#7da4bd}.red{background:#ff837b}.gold{background:#e6ba6f}.purple{background:#b6a6dc}.lower{margin-top:22px}.tablist{display:flex;gap:20px;border-bottom:1px solid var(--line);overflow-x:auto}.tablist button{border:0;background:transparent;border-radius:0;padding:10px 0;color:var(--muted);font-size:12px;white-space:nowrap}.tablist button[aria-selected=true]{border-bottom:2px solid var(--teal);color:var(--ink);font-weight:650}#detail-content{padding-top:15px;line-height:1.55}.finding-row{display:flex;gap:12px;text-align:left;width:100%;margin-bottom:8px;align-items:start;background:white;padding:14px}.finding-row strong{font-size:12px}.finding-row p{margin:4px 0 0;font-size:11px;color:var(--muted)}.badge{display:inline-block;font-size:9px;font-weight:700;letter-spacing:.04em;padding:4px 7px;border-radius:5px;background:#ecf2ef;color:#147d70;white-space:nowrap}.badge.FAIL{background:#fff0ed;color:#b3453a}.badge.UNSUPPORTED{background:#fff4df;color:#97680e}.badge.INCONCLUSIVE{background:#f0eafa;color:#71529a}.inspector h2{font-size:19px}.inspector p{font-size:12px;line-height:1.6}.inspector pre,.raw{font-family:ui-monospace,SFMono-Regular,monospace;font-size:10px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;background:#f3f6f5;padding:12px;border-radius:7px;max-height:300px;overflow:auto}.inspector section{border-top:1px solid var(--line);padding-top:15px;margin-top:15px}.data-label{font-size:9px!important;color:var(--muted);letter-spacing:.08em;font-weight:700;margin-bottom:6px}.object-directory{margin-top:25px;border-top:1px solid var(--line);padding-top:16px}.object-directory summary{font-weight:650;font-size:12px;cursor:pointer}.search-label{font-size:10px;color:var(--muted);display:block;margin:12px 0}input[type=search],input[type=password]{width:100%;margin-top:6px;padding:10px;border:1px solid var(--line);border-radius:6px;background:white;color:var(--ink)}.object-item{display:block;width:100%;border:0;border-bottom:1px solid #edf1ef;border-radius:0;text-align:left;padding:9px 4px;font-size:11px}.object-item span{display:block;font-size:9px;color:var(--muted);margin-top:3px}.object-item.selected{color:var(--teal);background:#eaf4ef}#objects{max-height:400px;overflow:auto}table{width:100%;border-collapse:collapse;font-size:11px;background:white}th,td{padding:10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;overflow-wrap:anywhere}th{color:var(--muted);font-weight:600}.warning{padding:12px;border-left:3px solid #c89030;background:#fff6e9;font-size:11px;color:#775726;margin:10px 0}.empty{padding:20px;background:white;border:1px dashed var(--line);border-radius:8px;color:var(--muted);font-size:12px}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);padding:12px 22px;background:#203440;color:white;border-radius:9px;z-index:10;max-width:90vw;box-shadow:0 6px 30px #0003}.toast.error{background:#853f36}dialog{width:min(440px,90vw);border:1px solid var(--line);border-radius:12px;padding:25px;color:var(--ink)}dialog::backdrop{background:#10232e88}dialog label{display:block;margin:16px 0;font-size:12px}dialog p{font-size:12px;line-height:1.6}.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.compare-grid pre{font-size:10px}.fallback{padding:100px 30px;color:#d7e4e8;font-size:13px}.qualification-list{padding-left:18px;color:var(--muted);font-size:11px;line-height:1.7}.state-reason{padding:12px;background:#ecf5f0;border-radius:7px}.evidence-item{padding:12px;background:white;border:1px solid var(--line);margin-bottom:8px;border-radius:6px;font-size:11px}.evidence-item p{margin:5px 0}.scope{padding:8px 0;margin-top:8px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}@media(min-width:1600px){#graph{height:540px}}@media(max-width:1200px){.workspace{grid-template-columns:190px minmax(360px,1fr)}.inspector{grid-column:2;border-top:1px solid var(--line);border-left:0}.library{grid-row:1/3}.inspector #objects{max-height:180px}.view-header{align-items:start;flex-direction:column}}@media(max-width:720px){.top{padding:0 16px}.top-note{display:none}.workspace{display:flex;flex-direction:column}.library{padding:16px;border-right:0;border-bottom:1px solid var(--line)}.library h1{font-size:17px}.library .small,.library-foot{display:none}.snapshot-list{flex-direction:row;overflow:auto}.snapshot{min-width:170px}.main-view{padding:18px 12px}.metrics{grid-template-columns:1fr 1fr}.metrics>div:nth-child(2){border-right:0}.metrics>div{padding:12px}.graph-toolbar{gap:8px;left:10px;right:10px}.graph-toolbar .focus{font-size:9px}.graph-toolbar .quiet{padding:6px}#graph{height:390px}.legend{gap:9px}.inspector{padding:20px}.compare-grid{grid-template-columns:1fr}.tablist{gap:18px}.graph-caption>span{max-width:75%}}

.environment-header{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:18px 0 10px;font-size:12px}.environment-header strong{text-transform:capitalize}.environment-header span{padding:6px 9px;border-radius:5px;background:#e7edeb;white-space:nowrap}.environment-header [data-condition="challenged"]{background:#fff0ed;color:#a43a32}.authority-preview{border-bottom:1px solid var(--line);margin-bottom:22px;padding-bottom:12px}.authority-preview section{margin:10px 0}.authority-preview pre{max-height:120px;overflow:auto}.authority-preview h3{text-transform:capitalize}@media(max-width:600px){.environment-header{align-items:flex-start;flex-direction:column}}

.tester-workflow{background:white;border:1px solid var(--line);border-radius:10px;padding:20px;margin-bottom:24px}.tester-workflow pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:260px;overflow:auto;background:var(--paper);padding:12px;border-radius:6px;font-size:12px;line-height:1.6}.tester-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tester-form label,#tester-response label,#tester-feedback-form label{display:flex;flex-direction:column;gap:6px;font-size:12px}.tester-form .wide{grid-column:1/-1}.tester-form .check{flex-direction:row;align-items:center}.tester-form input,.tester-form textarea,.tester-form select,#tester-response input,#tester-response textarea,#tester-feedback-form textarea,#tester-feedback-form select{width:100%;padding:9px;border:1px solid var(--line);border-radius:6px;font:inherit}.tester-form .check input{width:auto}.tester-form textarea{min-height:65px}#tester-response,#tester-feedback-form{display:grid;gap:12px;margin:15px 0}.tester-actions{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.tester-actions select{max-width:100%;padding:8px}.tester-workflow details{border-top:1px solid var(--line);padding:12px 0}.tester-workflow summary{cursor:pointer;font-weight:600}.tester-workflow #tester-status{margin:12px 0 0}.tester-workflow [hidden]{display:none!important}.feedback-card{background:var(--paper);padding:12px;margin:10px 0}.feedback-card p{white-space:pre-wrap;overflow-wrap:anywhere}#tester-registration{width:min(760px,95vw);max-height:90vh}#tester-registration [role="status"]{overflow-wrap:anywhere}@media(max-width:600px){.tester-form{grid-template-columns:1fr}.tester-workflow .section-head{align-items:flex-start;flex-direction:column}}
.lower pre{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;background:#edf2f0;padding:12px;border-radius:6px;font-size:12px}.main-view{min-width:0}@media(min-width:1800px){.main-view{display:grid;grid-template-columns:360px minmax(0,1fr);gap:0 20px;align-content:start}.main-view>.tester-workflow{grid-column:1;grid-row:1/span 6;align-self:start}.main-view>:not(.tester-workflow){grid-column:2}.main-view .view-header{flex-direction:column;align-items:flex-start;gap:8px}.main-view .metrics{grid-template-columns:1fr 1fr}.main-view .tester-form{grid-template-columns:1fr}}

/* GAIB visual grammar: shape identifies entity class; color identifies continuity status. */
.legend{display:grid;gap:8px;padding:10px 18px;background:#142530;border-top:1px solid #253743;font-size:10px;color:#aebfc5}
.legend-group{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.legend-group strong{color:#e0ecef;font-size:10px;min-width:112px}
.legend i{vertical-align:-1px}
.legend .neutral{background:#94ada6}
.shape{display:inline-block!important;margin-right:6px;background:transparent!important;border:1.5px solid #d7e4e8;width:9px!important;height:9px!important;border-radius:0!important}
.shape-ring{border-radius:50%!important;border-width:2px!important}
.shape-diamond{transform:rotate(45deg);width:8px!important;height:8px!important}
.shape-dot{border-radius:50%!important;background:#d7e4e8!important;width:7px!important;height:7px!important;border:0}
.shape-doc{width:10px!important;height:8px!important;border-radius:1px!important;box-shadow:inset -2px 2px 0 #142530}
.shape-square{width:8px!important;height:8px!important}
.shape-issue{border-radius:50%!important;border-width:2px!important;position:relative}
.shape-issue:after{content:"";display:block;width:3px;height:3px;background:#ff837b;border-radius:50%;position:absolute;right:-3px;top:-3px}
.shape-poly{clip-path:polygon(50% 0,100% 38%,82% 100%,18% 100%,0 38%);background:#d7e4e8!important;border:0}
.shape-line{width:14px!important;height:2px!important;background:#7898a1!important;border:0;position:relative}
.shape-line:after{content:"";position:absolute;right:-1px;top:-3px;border-left:5px solid #7898a1;border-top:4px solid transparent;border-bottom:4px solid transparent}

.scenario-panel{position:absolute;z-index:4;top:54px;left:16px;width:min(540px,calc(100% - 32px));max-height:calc(100% - 110px);overflow:auto;background:#162833f5;border:1px solid #3c505c;border-radius:8px;color:#d7e4e8;box-shadow:0 12px 34px #0006}
.scenario-panel[hidden]{display:none}
.scenario-panel summary{cursor:pointer;padding:9px 12px;font-size:11px;font-weight:700;color:#f1b653;list-style:none}
.scenario-panel summary::-webkit-details-marker{display:none}
.scenario-panel summary:after{content:" +";font-weight:400}
.scenario-panel[open] summary:after{content:" −"}
#scenario-content{padding:0 14px 14px;border-top:1px solid #304657}
#scenario-content h3{font-size:15px;line-height:1.4;margin:13px 0 8px;color:#fff}
.scenario-summary,.scenario-step p,.scenario-takeaway p,.scenario-scope{font-size:11px;line-height:1.6;color:#b9c8ce}
.scenario-step{padding:10px 0;border-top:1px solid #29404d}
.scenario-step-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.scenario-step-head strong{font-size:11px;color:#e8f0f2}
.scenario-focus{padding:5px 8px;background:#203440;border-color:#47606d;color:#e0ecef;font-size:10px;white-space:nowrap}
.scenario-focus:hover{background:#294554}
.scenario-takeaway{padding:10px;background:#203440;border-radius:6px;margin-top:10px}
.scenario-takeaway strong{font-size:11px;color:#67d2bc}
.scenario-scope{margin:10px 0 0;color:#8299a4}

@media(max-width:720px){
  .scenario-panel{top:58px;left:10px;width:calc(100% - 20px);max-height:70%}
  .legend-group strong{min-width:100%;margin-bottom:2px}
}

.time-rail{padding:12px 18px 14px;background:#12232e;border-top:1px solid #253743;color:#b9c8ce}
.time-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.time-head>div{display:flex;align-items:baseline;gap:10px;min-width:0}
.time-eyebrow{font-size:9px;letter-spacing:.12em;color:#8299a4;font-weight:700}
#time-label{font-size:11px;color:#e7eff1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#time-current{color:#d7e4e8;border-color:#3c505c;background:#182c38;padding:5px 8px}
#time-slider{width:100%;accent-color:#67d2bc;cursor:ew-resize}
.time-scale{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;font-size:9px;color:#718a96;margin-top:2px}
.time-scale span:nth-child(2){text-align:center}
#time-note{font-size:9px;line-height:1.45;color:#718a96;margin:6px 0 0}
@media(max-width:720px){
  .time-head{align-items:flex-start}
  .time-head>div{display:block}
  #time-label{display:block;margin-top:3px;max-width:240px}
  .time-scale span:nth-child(2){display:none}
  .time-scale{grid-template-columns:1fr 1fr}
  .time-scale span:last-child{text-align:right}
}

/* Time rail moves the lower controls below the WebGL canvas; keep the graph caption over the canvas. */
.graph-caption{bottom:150px}

/* Snap-to-change temporal navigation */
.time-actions{display:flex;gap:6px;flex-wrap:wrap}
.time-track{position:relative;height:38px;margin:8px 4px 4px;cursor:ew-resize;outline:none}
.time-track:focus-visible{outline:2px solid #c89030;outline-offset:4px}
.time-line{position:absolute;left:0;right:0;top:18px;height:2px;background:#385361}
.time-markers{position:absolute;inset:0}
.time-marker{position:absolute;top:10px;transform:translateX(-50%);width:18px;height:18px;padding:0;border:0;background:transparent;overflow:visible}
.time-marker span{display:block;width:8px;height:8px;border-radius:50%;background:#7da4bd;border:2px solid #12232e;margin:5px auto;box-shadow:0 0 0 1px #547180}
.time-marker:hover span,.time-marker:focus-visible span{transform:scale(1.2)}
.time-marker.active span{width:12px;height:12px;margin:3px auto;background:#f1b653;box-shadow:0 0 0 2px #f1b65355}
.time-marker.current span{background:#67d2bc}
.time-review-row{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(260px,1.6fr);gap:12px;margin-top:8px}
.time-change{background:#172b37;border:1px solid #2e4653;border-radius:7px;padding:10px;display:flex;flex-direction:column;gap:4px;min-height:86px}
.time-change strong{font-size:10px;color:#f1b653;text-transform:uppercase;letter-spacing:.08em}
.time-change span{font-size:10px;color:#b9c8ce;line-height:1.4}
.time-transcript{display:flex;gap:6px;overflow-x:auto;padding-bottom:3px;scrollbar-width:thin}
.time-transcript-row{min-width:150px;max-width:190px;text-align:left;background:#172b37;border-color:#2e4653;color:#d7e4e8;padding:8px}
.time-transcript-row.active{border-color:#f1b653;background:#213743}
.time-transcript-time{display:block;font-size:8px;letter-spacing:.07em;color:#7f98a3;margin-bottom:5px}
.time-transcript-body{display:flex;flex-direction:column;gap:3px}
.time-transcript-body strong{font-size:10px;color:#eef4f5}
.time-transcript-body span{font-size:9px;color:#9fb2ba;line-height:1.35}
@media(max-width:720px){
  .time-actions{width:100%}
  .time-actions button{flex:1}
  .time-review-row{grid-template-columns:1fr}
  .time-transcript-row{min-width:135px}
}

/* GAIB review readability and interactive legend */
.graph-zoom{display:flex;gap:5px;margin-left:auto;align-items:center}
.graph-zoom .quiet{margin-left:0!important;min-width:34px;padding:6px 10px;background:#203440;border-color:#4b6572;color:#f2f7f8;font-size:16px;line-height:1}
.graph-toolbar>#fit{margin-left:0!important;background:#162833}
.graph-caption{bottom:164px}
.time-actions button{background:#294552!important;border-color:#58717d!important;color:#f4f8f9!important;font-weight:650}
.time-actions button:hover{background:#345664!important}
#time-current{background:#173d38!important;border-color:#4b7a70!important;color:#dff6ef!important}
.time-review-row{margin-top:12px;align-items:stretch}
.time-change{padding:12px 13px;gap:6px;min-height:96px}
.time-change strong{font-size:10px;line-height:1.4}
.time-change span{font-size:10.5px;line-height:1.55}
.time-transcript-row{padding:10px;min-height:96px}
#time-note{font-size:10.5px;line-height:1.65;color:#91a7b1;margin:12px 0 2px;max-width:980px}
.legend-item{display:inline-flex;align-items:center;gap:1px;padding:5px 7px;border:1px solid transparent;border-radius:5px;background:transparent;color:#aebfc5;font-size:10px;line-height:1.2}
.legend-item:hover{background:#203440;color:#eef5f6;border-color:#38515e}
.legend-item.selected-from-graph{border-color:#dbe7ea;background:#203440;color:#fff;box-shadow:inset 0 0 0 1px #ffffff22}
.legend-item.active-filter{border-color:#f1b653;background:#2b3940;color:#fff;box-shadow:inset 0 0 0 1px #f1b65355}
.legend-item.active-filter.selected-from-graph{border-color:#fff0c8}
.legend-item i{flex:0 0 auto}
@media(max-width:720px){
  .graph-zoom{margin-left:0}
  .graph-toolbar{flex-wrap:wrap}
  .graph-toolbar>#fit{margin-left:auto!important}
  #time-note{font-size:10px}
}
