:root{color-scheme:light;--foreground:#15273b;--background:#f5f7fb;--border:#dce3ed;--accent:#dbe9fa;--popover:#fff;--popover-foreground:#15273b;--viz-series-1:#2676bf;--red:#cf3b3b;--yellow:#e8bd3e;--green:#16865c;--muted-foreground:#52657b;--muted:#edf2f8;font-family:Inter,"Noto Sans CJK SC","Microsoft YaHei",system-ui,sans-serif;font-size:16px;line-height:1.5;color:var(--foreground);background:var(--background)}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}a{color:#1963a6;text-underline-offset:3px}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #77b4ec;outline-offset:3px}[hidden]{display:none!important}
.topbar{min-height:64px;padding:14px 28px;border-bottom:1px solid var(--border);background:#142b46;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{font-weight:650;letter-spacing:.09em;font-size:17px}.brand-sub{font-size:14px;margin-left:22px;color:#c9d9eb}.private-label{font-size:12px;letter-spacing:.08em;color:#c9d9eb;white-space:nowrap}.workspace{max-width:1600px;margin:auto;position:relative;display:grid;grid-template-columns:306px minmax(0,1fr);min-height:calc(100vh - 64px)}
.settings{padding:26px 22px;background:#fff;border-right:1px solid var(--border)}.eyebrow{font-size:12px;color:#57708b;letter-spacing:.14em}h1{font-size:24px;font-weight:600;line-height:1.3;margin:7px 0 12px}.intro{font-size:14px;color:var(--muted-foreground);margin:0 0 20px}.dataset{border-left:3px solid #2676bf;padding-left:12px;margin:20px 0 25px;display:grid;gap:4px}.dataset strong{font-size:14px;font-weight:600}.dataset span{font-size:12px;color:var(--muted-foreground)}
.viz-controls{display:grid;gap:15px}.form-label{font-size:14px;display:grid;gap:6px;min-width:0}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-control,.form-select{width:100%;min-width:0;border:1px solid #c9d4e1;background:#fff;color:var(--foreground);border-radius:6px;min-height:40px;padding:7px 9px;font-size:14px}.form-control[type=time]{padding:7px 4px;font-size:13px}.field-note{font-size:12px;color:var(--muted-foreground);margin:0}.actions{display:flex;gap:9px;margin:22px 0 12px}.btn{border:1px solid #c9d4e1;background:#fff;padding:9px 15px;border-radius:6px;font-size:14px;min-height:40px;color:var(--foreground)}.btn-primary{background:#185c9a;color:#fff;border-color:#185c9a;flex:1}.btn:hover{filter:brightness(.96)}#ed-error{color:#a62525;font-size:14px;overflow-wrap:anywhere}.settings details{font-size:13px;border-top:1px solid var(--border);margin-top:25px;padding-top:17px}.settings summary{font-size:14px;cursor:pointer}.settings details p{color:var(--muted-foreground)}.download-link{display:inline-block;margin-top:22px;font-size:13px}
.plots{min-width:0;padding:25px 28px;background:#fff;margin:20px;border:1px solid var(--border);border-radius:9px;align-self:start}.plot-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.plot-heading>div{display:flex;align-items:center;gap:10px}.plot-number{font-size:12px;color:#587795;letter-spacing:.08em}h2{font-size:19px;font-weight:600;margin:0}.hint{font-size:12px;color:var(--muted-foreground)}.text-small{font-size:12px}.text-muted{color:var(--muted-foreground)}#ed-n{margin:8px 0 5px}.second{border-top:1px solid var(--border);padding-top:21px;margin-top:5px}.ed-svg{display:block;width:100%}.ed-svg text,#ed-legend text{fill:var(--foreground);font-size:12px;font-weight:400}.ed-svg .domain,.ed-svg .tick line{stroke:var(--border)}.ed-svg .selection{fill:var(--accent);stroke:#185c9a;fill-opacity:.5}#ed-legend{width:100%;height:52px;display:block}.cell-detail{font-size:13px;font-variant-numeric:tabular-nums;min-height:44px;background:#f0f5fb;border-left:3px solid #91b1d1;padding:9px 12px;margin:10px 0;overflow-wrap:anywhere}.footnote{font-size:12px;color:var(--muted-foreground);margin:12px 0 0}.tooltip{position:absolute;pointer-events:none;max-width:280px;padding:10px 12px;background:var(--popover);color:var(--popover-foreground);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 18px #15273b18;font-size:12px;z-index:5}
@media(min-width:1500px){.plots{padding:28px 36px}}@media(max-width:950px){.workspace{grid-template-columns:265px minmax(0,1fr)}.settings{padding:22px 16px}.plots{padding:20px 12px;margin:14px}.field-pair{grid-template-columns:1fr}.form-control[type=time]{font-size:14px}.brand-sub{margin-left:12px}}@media(max-width:700px){.topbar{padding:13px 16px}.brand-sub{display:block;margin:4px 0 0;font-size:12px}.workspace{display:block}.settings{border-right:0;border-bottom:1px solid var(--border);padding:20px 18px}.intro{margin-bottom:12px}.dataset{margin:14px 0}.viz-controls{grid-template-columns:1fr 1fr;gap:12px}.field-pair{display:contents}.viz-controls>.field-note{grid-column:1/-1}.form-control,.form-select{font-size:16px;min-height:44px}.form-control[type=time]{font-size:15px}.settings details,.download-link{margin-top:14px}.plots{margin:12px;padding:16px 8px}.actions{margin-top:16px}.plot-heading{padding:0 8px}#ed-n{padding:0 8px}.hint{display:none}.private-label{font-size:11px}}

.range-status{font-size:13px;color:#304f70;background:#f0f5fb;padding:8px 10px;margin:8px 0;font-variant-numeric:tabular-nums}.settings .range-settings{margin:0;padding:10px 0;border-top:0;border-bottom:1px solid var(--border)}.range-fields{display:grid;gap:12px;margin-top:12px}@media(max-width:700px){.range-settings{grid-column:1/-1}.range-fields{grid-template-columns:1fr 1fr}.range-fields>.field-note{grid-column:1/-1}}

/* Exploration layout: use available desktop space and keep recovery controls visible. */
.workspace{width:100%;max-width:1600px;margin:0 auto;grid-template-columns:300px minmax(0,1fr)}
.header-actions,.toolbar-actions{display:flex;align-items:center;gap:8px}.header-actions .btn{background:transparent;color:#fff;border-color:#56718d;min-height:34px;padding:5px 12px}
.plot-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;border-bottom:1px solid var(--border);padding-bottom:10px}.plot-toolbar>span{font-size:13px;color:#185c9a;font-weight:600}.toolbar-actions{flex-wrap:wrap}.toolbar-actions .btn{min-height:36px;padding:6px 12px}.btn:disabled{cursor:default;opacity:.45}
.settings .range-settings{border:0;padding:0;margin:0}.range-title{font-size:14px;margin:0 0 4px}.range-fields{margin-top:9px}.range-fields .field-pair{grid-template-columns:1fr 1fr}.range-fields input{font-variant-numeric:tabular-nums}.range-fields .field-note{font-size:11px}.settings .actions{margin:12px 0 8px}#ed-selection-note{min-height:36px;color:#185c9a}
.plots{padding:14px 18px;margin:12px}.range-status{margin:6px 0;padding:6px 9px}.second{padding-top:10px;margin-top:0}.cell-detail{margin:5px 0;min-height:36px;padding:6px 9px}.footnote{margin:5px 0 0}.settings{padding:18px}.dataset{margin:14px 0 18px}.intro{margin-bottom:12px}.viz-controls{gap:12px}#ed-n{margin:4px 0}.settings details{margin-top:16px;padding-top:12px}.download-link{margin-top:14px}
[data-chart-hit]:focus-visible{outline:2px solid #185c9a;outline-offset:2px}#ed-trajectories .overlay{cursor:crosshair}
@media(min-width:1001px){body{height:100dvh;overflow:hidden}.workspace{height:calc(100dvh - 64px);min-height:0}.settings{overflow:auto}.plots{max-height:calc(100dvh - 88px);height:calc(100dvh - 88px);overflow:auto}.plot-toolbar{position:sticky;top:-14px;z-index:2;background:white}}
@media(max-width:1000px){.workspace{grid-template-columns:260px minmax(0,1fr)}.plot-toolbar{align-items:flex-start;flex-direction:column}.range-fields .field-pair{grid-template-columns:1fr}}
@media(max-width:700px){.workspace{display:block}.range-settings{grid-column:1/-1}.range-fields .field-pair{display:contents}.range-title{font-size:15px}.plots{padding:12px 8px;margin:8px}.plot-toolbar{padding:0 8px 10px}.private-label{display:none}.header-actions .btn{white-space:nowrap}.range-status{font-size:12px}.toolbar-actions .btn{min-height:44px}.form-control[type=text]{font-size:16px}}

.lane-filter{display:grid;gap:5px}.lane-filter .field-note{font-size:11px;line-height:1.5}.form-select:disabled{background:#f1f4f8;color:#65778a}@media(max-width:700px){.lane-filter{grid-column:2}.lane-filter .field-note{font-size:12px}}

@media(max-width:700px){.viz-controls{align-items:start}}

@media(min-width:1600px){.topbar{padding-left:calc((100vw - 1600px)/2 + 18px);padding-right:calc((100vw - 1600px)/2 + 18px)}}

.is-panning,.is-panning *{cursor:grabbing!important;user-select:none!important}

.language-select{font:inherit;font-size:14px;min-height:36px;border:1px solid #56718d;border-radius:6px;background:#142b46;color:#fff;padding:5px 8px;cursor:pointer}.language-select option{background:#fff;color:#15273b}
html[lang=en] .hint{font-size:11px}html[lang=en] .brand-sub{margin-left:14px}
@media(max-width:700px){.topbar{flex-wrap:wrap;gap:8px}.header-actions{margin-left:auto}.topbar .brand{font-size:15px}.header-actions .btn{padding:5px 8px}.language-select{max-width:100px}html[lang=en] h2{font-size:17px}}

.credits{border-top:1px solid var(--border);margin-top:12px;padding-top:10px;font-size:13px;color:var(--muted-foreground)}.credits summary{cursor:pointer;color:#185c9a;font-weight:600}.credits h3{font-size:14px;color:var(--foreground);margin:16px 0 6px}.credits p{margin:8px 0}.credits .citation-text{line-height:1.6}.citation-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.credits pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.5;background:var(--background);border:1px solid var(--border);padding:12px;border-radius:6px}.credits #ed-copy-status{color:#185c9a;min-height:0}

/* Readable plots and breathing room across laptop, tablet and phone viewports. */
.settings{padding:24px 22px}.intro{margin-bottom:20px}.dataset{margin:22px 0 26px;gap:7px}
.viz-controls{gap:22px}.form-label{gap:9px}.field-pair{gap:14px}
.range-title{margin-bottom:8px}.range-fields{margin-top:16px;gap:16px}
#ed-selection-note{min-height:0}.settings .actions{margin:24px 0 14px}
.settings details{margin-top:24px;padding-top:20px}.download-link{margin-top:20px}
.plots{margin:16px;padding:22px 24px;scroll-padding-top:90px;scrollbar-gutter:stable}
.plot-toolbar{margin-bottom:22px;padding-bottom:16px;gap:16px}
.plot-heading{row-gap:8px;margin-bottom:12px}.plot-heading.second{margin-top:26px;padding-top:24px}
#ed-n{margin:0 0 12px;line-height:1.7}.range-status{margin:0 0 16px;padding:10px 12px;line-height:1.7}
#ed-legend{margin-top:16px}.cell-detail{margin:16px 0 14px;padding:12px;line-height:1.7}
.footnote{margin:14px 0 0;line-height:1.8}.credits{margin-top:22px;padding-top:18px;padding-bottom:4px}
@media(min-width:1001px){
 body{display:flex;flex-direction:column}.topbar{flex-shrink:0}
 .workspace{height:auto;flex:1;min-height:0}
 .plots{align-self:stretch;height:auto;max-height:none;min-height:0}
 .plot-toolbar{top:-22px;padding-top:12px}
}
@media(min-width:701px) and (max-width:1200px){
 .workspace{grid-template-columns:260px minmax(0,1fr)}.settings{padding:24px 18px}
 .plots{padding:22px 18px;margin:16px 12px}
}
@media(max-width:700px){
 .settings{padding:26px 20px}.viz-controls{gap:24px 16px}
 .range-fields{gap:18px 14px}.dataset{margin:24px 0 28px}
 .plots{padding:22px 12px;margin:16px 8px;scrollbar-gutter:auto}
 .plot-toolbar{gap:14px;padding:0 4px 18px;margin-bottom:24px}
 .toolbar-actions{gap:10px}.plot-heading{padding:0 4px}
 .plot-heading.second{margin-top:28px;padding-top:24px}
 #ed-n{padding:0 4px}.range-status{padding:10px;line-height:1.8}
 .footnote{line-height:1.9}
}

.plot-toolbar{flex-wrap:wrap}.plot-navigation{display:flex;align-items:center;flex-wrap:wrap;gap:16px}
#ed-view-state{font-size:13px;color:#185c9a;font-weight:600}
.plot-navigation nav{display:flex;gap:4px}.plot-jump{display:inline-flex;align-items:center;min-height:36px;padding:6px 10px;border-radius:5px;font-size:13px;text-decoration:none;background:#f0f5fb}
.plot-jump:hover{background:#dbe9fa}.plot-heading{scroll-margin-top:14px}
@media(max-width:700px){.plot-jump{min-height:44px}.plot-heading{scroll-margin-top:20px}}

/* Domain registration footer: stays visible outside the scrollable workspace. */
.registration-footer{flex-shrink:0;display:flex;justify-content:center;align-items:center;min-height:44px;padding:10px 16px;border-top:1px solid var(--border);background:var(--background);font-size:13px;line-height:1.6;text-align:center}
.registration-footer a{color:var(--muted-foreground);white-space:nowrap}
