:root{color-scheme:dark;--bg:#09111a;--panel:#101d29;--line:#253544;--ink:#e8f1f7;--muted:#95aabb;--accent:#63e0be;--blue:#6eafff;--warm:#ffc18b;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 60% -15%,#193c41 0,transparent 48%),var(--bg);color:var(--ink);font-size:14px}button,input,select{font:inherit}button,select,input{border:1px solid #344958;border-radius:7px;background:#132533;color:var(--ink)}button{padding:9px 13px;cursor:pointer;transition:background .15s}button:hover{background:#234352}button:disabled{opacity:.5;cursor:wait}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}input,select{padding:9px;min-width:0}input[type=checkbox]{accent-color:var(--accent);width:15px;height:15px;vertical-align:middle}input[type=range]{accent-color:var(--accent);padding:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,p{margin:0}h2{font-size:18px;font-weight:650}small,.fine-print{color:var(--muted);font-size:12px;line-height:1.7}.fine-print{margin-top:12px}button.primary{background:var(--accent);border-color:var(--accent);color:#08271f;font-weight:700}.primary:hover{background:#95f0d5}[hidden]{display:none!important}.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}
.lab-nav{height:70px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;background:#09151dcc;gap:20px}.brand{font-size:17px;font-weight:650;color:var(--ink);display:flex;align-items:center;gap:10px;white-space:nowrap}.brand span:last-child{font-weight:400;color:var(--muted)}.brand-mark{color:var(--accent);font-size:30px}.brand-divider{color:#415a6c;padding:0 8px}.lab-nav>div{display:flex;gap:25px}.lab-nav>div a{color:var(--muted);font-size:13px}.lab-nav a[aria-current]{color:var(--accent)}main{max-width:1740px;margin:auto;padding:36px 30px 0}.lab-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--accent);margin-bottom:8px}h1{font-size:clamp(25px,2.5vw,39px);font-weight:650;letter-spacing:1px}.intro{color:var(--muted);margin-top:12px;font-size:13px;line-height:1.8}.simulation-badge{white-space:nowrap;font-size:11px;background:#183630;color:#a1e7d4;border:1px solid #31564c;border-radius:50px;padding:9px 13px}.simulation-badge span{display:inline-block;width:6px;height:6px;background:var(--accent);border-radius:50%;margin-right:6px}
.timeline-card,.station-panel,.diagnostics-card,.profile-card,.section-card,.experiment-card,.method-card{background:linear-gradient(135deg,#122230,#101c27);border:1px solid var(--line);border-radius:12px}.timeline-card{padding:20px 22px;margin-bottom:22px}.timeline-top{display:flex;align-items:center;gap:28px}.clock-block{display:flex;flex-direction:column;min-width:180px}.clock-block strong{font-size:23px;font-weight:550;font-variant-numeric:tabular-nums;letter-spacing:1px}.clock-block>span:last-child{color:var(--muted);font-size:11px;margin-top:7px}.phase-block{border-left:1px solid var(--line);padding-left:24px;flex:1}.phase-block>span{color:var(--accent);font-size:10px;letter-spacing:2px}.phase-block h2{margin:5px 0}.phase-block p{font-size:12px;color:var(--muted);line-height:1.5}.playback{display:flex;align-items:center;gap:7px;flex-wrap:wrap;max-width:330px}.playback label{font-size:11px;color:var(--muted);display:flex;gap:7px;align-items:center}.playback select{font-size:12px;padding:7px}#timeline{width:100%;margin:22px 0 8px;height:6px}.chapter-buttons{display:flex;justify-content:space-between;gap:5px;flex-wrap:wrap}.chapter-buttons button{background:none;border:0;color:var(--muted);font-size:11px;padding:7px 4px}.chapter-buttons button:hover{color:var(--accent)}.progress-row{display:flex;gap:12px;align-items:center;margin-top:9px;min-height:18px;font-size:11px;color:var(--muted)}.progress-row progress{height:5px;width:90px;accent-color:var(--accent)}#cell-count{margin-left:auto}
.workspace{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px;align-items:start}.maps-section{min-width:0}.map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.segmented{display:flex;border:1px solid var(--line);border-radius:8px;padding:3px;background:#0c1722}.segmented button{border:0;background:none;font-size:12px;padding:7px 12px;white-space:nowrap}.segmented button[aria-pressed=true]{background:#27433f;color:var(--accent)}.map-actions{display:flex;gap:5px;flex-wrap:wrap}.map-actions button{font-size:12px;padding:8px 10px}.map-overlays{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:8px 0 12px;font-size:11px;color:var(--muted)}.map-overlays label{white-space:nowrap}.map-overlays>span{margin-left:auto;font-size:10px;color:#738c9e}.map-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.map-grid.layout-1{grid-template-columns:1fr}.map-card{border:1px solid #2d4454;border-radius:10px;overflow:hidden;background:#08151f;min-width:0}.map-card header{display:flex;gap:8px;align-items:center;padding:11px 12px;background:#132533;justify-content:space-between}.map-card select{width:min(75%,240px);font-size:12px;background:#162b39;padding:6px}.map-time{font-size:10px;color:var(--muted);white-space:nowrap}.map-card canvas{display:block;width:100%;height:360px;cursor:grab;touch-action:none}.layout-1 .map-card canvas{height:520px}.layout-4 .map-card canvas{height:300px}.map-card canvas:active{cursor:grabbing}.map-card canvas.picking{cursor:crosshair}.legend{height:47px;display:flex;flex-direction:column;padding:7px 12px;gap:5px;font-size:10px;color:var(--muted);border-top:1px solid #1d3544}.legend-bar{height:7px;border-radius:3px;width:100%;background:linear-gradient(90deg,#3050bb,#33c9ef,#37cd87,#e4de4d,#f18b46,#d84663,#d578ee)}.legend-text{display:flex;justify-content:space-between;gap:5px}.radar-settings{margin-top:12px;padding:10px 0;display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:11px;color:var(--muted)}.radar-settings select{font-size:11px;padding:5px}.radar-settings>span:last-child{font-size:10px}.radar-icon{color:var(--accent);font-size:19px}.map-readout{font-size:11px;color:var(--muted);min-height:32px;line-height:1.6;margin-bottom:12px}
.diagnostics-card{padding:20px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.section-title>span{color:var(--muted);font-size:11px}.impact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.impact-grid>div{display:flex;flex-direction:column;gap:6px}.impact-grid span{font-size:11px;color:var(--muted)}.impact-grid strong{font-size:26px;font-weight:500;color:var(--warm);font-variant-numeric:tabular-nums}.impact-grid>div:last-child strong{color:var(--blue)}.impact-grid meter{width:100%;height:5px}.impact-grid small{font-size:10px}#mechanism-text{margin-top:17px;font-size:13px;line-height:1.9;color:#c8d9e4}
.station-panel{padding:20px;min-width:0}.station-panel .section-title{margin-bottom:14px}.live-pill{font-size:10px;border:1px solid #36534d;color:var(--accent)!important;padding:4px 7px;border-radius:4px}#station-search,#station-select{width:100%}#station-search{font-size:11px;margin-bottom:7px}#station-select{height:90px;font-size:11px;background:#0c1b27;border-color:#243b4c;padding:3px}#station-select option{padding:3px 6px}#station-select option:checked{background:#245549}.station-heading{margin:18px 0 15px;position:relative}.station-heading h3{font-size:24px;display:inline-block;margin-right:8px}.station-heading>span{font-size:10px;color:var(--accent)}.station-heading p{font-size:11px;color:var(--muted);margin-top:6px}.station-heading time{display:block;margin-top:6px;font-size:10px;color:#7191a5}.observations{display:grid;grid-template-columns:1fr 1fr;gap:16px 8px}.observations>div{min-width:0}.observations span{display:block;font-size:10px;color:var(--muted);margin-bottom:4px}.observations strong{font-size:23px;font-weight:500;font-variant-numeric:tabular-nums}.observations small{font-size:10px;margin-left:4px}.observations .temperature strong{color:var(--warm)}#obs-direction{font-size:18px}.chart-label{margin-top:22px;display:flex;align-items:center;gap:10px;font-size:10px;color:var(--muted)}.chart-label span:last-child{margin-left:auto;font-size:9px}.chart-label i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:3px}.temp-dot{background:var(--warm)}.rain-dot{background:var(--blue)}#station-chart{width:100%;height:125px;display:block}.station-buttons{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:12px}.station-buttons button{font-size:10px;padding:8px 4px}.custom-station{border-top:1px solid var(--line);margin-top:17px;padding-top:15px}.custom-station summary{cursor:pointer;color:var(--accent);font-size:12px}.custom-station form{margin-top:12px}.custom-station label{font-size:11px;color:var(--muted);display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.custom-station input{width:100%}.coordinate-inputs{display:flex;gap:10px}.coordinate-inputs label{min-width:0}.custom-station button{width:100%;font-size:12px}
.environment-section{display:grid;grid-template-columns:1fr 1.2fr;gap:20px;margin-top:22px}.profile-card,.section-card{padding:20px;min-width:0}.environment-section canvas{display:block;width:100%;height:250px}.environment-section .section-title{margin-bottom:8px}.experiment-card{margin-top:22px;padding:24px}.experiment-card>.fine-print{margin:0 0 20px}.parameter-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px 26px}.parameter{display:flex;flex-direction:column;gap:10px;min-width:0}.parameter>div{display:flex;justify-content:space-between;gap:8px}.parameter label{font-size:12px}.parameter output{color:var(--accent);font-size:12px;font-variant-numeric:tabular-nums}.parameter small{font-size:10px;line-height:1.5}.parameter input{width:100%}.experiment-actions{border-top:1px solid var(--line);margin-top:25px;padding-top:20px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.experiment-actions label{font-size:11px;color:var(--muted)}.experiment-actions input{width:120px;margin-left:8px}.experiment-actions button{font-size:12px}#parameter-status{font-size:12px;color:var(--accent);margin-top:14px}.method-card{padding:20px 24px;margin-top:22px}.method-card summary{cursor:pointer;color:#cbdde6}.method-card p{font-size:12px;color:var(--muted);line-height:1.9;margin-top:14px}footer{display:flex;justify-content:space-between;gap:15px;padding:28px 0;color:#698293;font-size:11px}footer span{font-size:10px}
@media(min-width:1500px){.map-card canvas{height:420px}.layout-4 .map-card canvas{height:340px}}
@media(max-width:1150px){main{padding:25px 18px 0}.workspace{grid-template-columns:minmax(0,1fr) 280px;gap:14px}.station-panel{padding:15px}.timeline-top{gap:15px}.phase-block{padding-left:15px}.playback{max-width:180px}.map-card canvas{height:310px}.map-toolbar{align-items:flex-start}.map-actions button{padding:7px;font-size:10px}.map-overlays>span{display:none}.map-time{display:none}.parameter-grid{grid-template-columns:repeat(3,1fr)}.impact-grid{gap:10px}.impact-grid small{font-size:9px}.lab-nav{padding:0 20px}}
@media(max-width:850px){.lab-nav{height:auto;min-height:64px;flex-wrap:wrap;padding:15px 18px;gap:12px}.lab-nav>div{gap:18px;flex-wrap:wrap}.brand{font-size:15px}.lab-heading{align-items:flex-start;flex-direction:column;gap:14px}.simulation-badge{font-size:10px}.workspace{grid-template-columns:1fr}.station-panel{display:block}.station-heading{margin-top:12px}.observations{grid-template-columns:repeat(4,1fr)}#station-select{height:70px}.station-buttons{grid-template-columns:repeat(4,1fr)}.timeline-top{flex-wrap:wrap}.phase-block{flex:1;min-width:150px}.playback{max-width:none;width:100%}.environment-section{grid-template-columns:1fr 1fr;gap:12px}.parameter-grid{grid-template-columns:repeat(2,1fr)}.map-card canvas{height:330px}.layout-1 .map-card canvas{height:420px}#station-chart{height:150px}.station-panel>.fine-print{font-size:11px}}
@media(max-width:520px){main{padding:23px 12px 0}.lab-nav>div{gap:14px}.lab-nav>div a{font-size:11px}.intro{font-size:12px}.timeline-card{padding:16px 12px}.clock-block{min-width:140px}.clock-block strong{font-size:20px}.phase-block h2{font-size:14px}.phase-block p{font-size:10px}.phase-block{padding-left:12px}.chapter-buttons{justify-content:flex-start;gap:4px 12px}.map-grid{grid-template-columns:1fr}.map-card canvas,.layout-4 .map-card canvas{height:300px}.map-time{display:inline}.map-toolbar{flex-wrap:wrap}.map-actions{flex:1;justify-content:flex-end}.map-actions button{padding:7px 6px}.map-overlays{gap:6px 9px}.map-overlays label{font-size:10px}.radar-settings{font-size:10px;gap:8px}.diagnostics-card{padding:16px}.section-title h2{font-size:16px}.impact-grid strong{font-size:23px}.impact-grid span{font-size:10px}.impact-grid small{font-size:9px}.observations{grid-template-columns:repeat(3,1fr);gap:17px 8px}.observations strong{font-size:22px}.station-buttons{grid-template-columns:1fr 1fr}.environment-section{grid-template-columns:1fr}.experiment-card{padding:18px 15px}.parameter-grid{gap:20px 16px}.parameter label{font-size:11px}.experiment-actions button{padding:9px;font-size:11px}.method-card{padding:17px}footer{flex-direction:column;font-size:10px}h1{font-size:25px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto;transition:none!important}}
