.ils-shell{font:inherit;color:inherit;margin-block:1.25rem;padding:1rem;border:1px solid var(--ils-border, #65717c);border-radius:8px;min-width:0}.ils-shell .ils-question{margin:0 0 .75rem;font-weight:600}.ils-provenance{display:flex;flex-wrap:wrap;gap:.6rem;align-items:start}.ils-details{flex:1 1 250px;min-width:0;border:1px solid var(--ils-border, #65717c);border-radius:6px}.ils-details>summary{padding:.65rem .8rem;min-height:44px;box-sizing:border-box;cursor:pointer;font-weight:500}.ils-details-body{padding:0 .8rem .8rem;overflow-wrap:anywhere}.ils-details-body h3{font:inherit;font-weight:600;margin-block:1rem .5rem}.ils-details-body p{font:inherit;line-height:1.6;margin-block:.65rem}.ils-badge{display:inline-block;font-size:.8rem;border:1px solid currentColor;border-radius:4px;padding:.25rem .45rem;line-height:1.5}.ils-shell a,.ils-context a{color:inherit;text-decoration:underline;text-underline-offset:.2em;overflow-wrap:anywhere}.ils-related{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin-top:.75rem}.ils-related a,.ils-context a{display:inline-flex;align-items:center;gap:.3rem;min-height:44px}.ils-shell .ils-policy{font-size:.8rem;line-height:1.5;margin:.75rem 0 0}.ils-context{font:inherit;color:inherit;padding:.65rem 1rem;margin-block:.75rem;border-inline-start:3px solid var(--ils-accent, currentColor);background:var(--ils-context-bg, transparent);overflow-wrap:anywhere}.ils-context p{margin:0;font:inherit;line-height:1.5}.ils-shell :focus-visible,.ils-context :focus-visible,.ils-control:focus-visible{outline:2px solid currentColor;outline-offset:3px}.ils-control{min-width:44px;min-height:44px}@media(prefers-reduced-motion:reduce){.ils-shell *,.ils-context *,.ils-control{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(max-width:480px){.ils-shell{padding:.75rem}.ils-provenance{flex-direction:column}.ils-details{flex:auto;width:100%}}.ils-details-body,.ils-details>summary{font-size:max(.875rem,1em)}:root{font-family:Arial,Helvetica,sans-serif;color:#222521;background:#f7f9f8;font-synthesis:none;font-weight:400;--paper: #f7f9f8;--ink: #222521;--muted: #58635f;--line: #cbd3cf;--accent: #176555}*{box-sizing:border-box;letter-spacing:0}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;font-size:13px;cursor:pointer;color:inherit;background:transparent;border:1px solid var(--line);border-radius:3px;transition:background .15s,color .15s}button:hover{background:#e5ece8}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}svg{flex-shrink:0}.app{max-width:1740px;margin:0 auto;padding:0 36px}header{min-height:47px;gap:12px;padding:10px 0;flex-wrap:wrap;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #898d80;font-size:13px}header a{display:flex;gap:9px;align-items:center}.title{padding:14px 0 19px;display:flex;justify-content:space-between;align-items:flex-end;border-bottom:1px solid #898d80}.title h1{font-family:Georgia,Times New Roman,serif;font-weight:400;font-size:48px;line-height:.91;letter-spacing:0;margin:0}.title h1 span{display:block;font-family:Arial,Helvetica,sans-serif;font-size:24px;margin-top:9px;letter-spacing:0;line-height:1.13}.title p{font-size:12px;color:var(--muted);margin:0 0 6px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px;padding-top:14px}.exhibit{min-width:0}.view-tabs{display:flex;position:relative;z-index:11;width:max-content;max-width:100%;border-bottom:1px solid var(--line)}.view-tabs button{min-height:40px;padding:0 23px;border:0;border-bottom:2px solid transparent;border-radius:0}.view-tabs button.active{border-color:var(--accent);color:var(--accent);font-weight:600}.viewport{height:465px;position:relative;touch-action:pan-y;isolation:isolate;overflow:hidden}.viewport>div:first-child{height:100%}.view-caption{position:absolute;bottom:8px;left:2px;font-size:10px;color:var(--muted);pointer-events:none;letter-spacing:0}.toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;min-height:65px;padding-bottom:14px;border-bottom:1px solid #a9ad9f}.actions{display:flex;gap:9px}.actions button{display:flex;align-items:center;gap:8px;padding:0;width:44px;height:44px;justify-content:center}.actions .primary{background:var(--accent);color:#fff;border-color:var(--accent)}.actions .selected{border-color:var(--accent);color:var(--accent)}.toolbar>span{font-size:10px;color:#56594f;text-align:right}.conditions{display:flex;margin:12px 0;border:1px solid var(--line);border-radius:3px;overflow:hidden}.conditions button{flex:1;border:0;border-right:1px solid var(--line);border-radius:0;min-height:38px;padding:7px 6px;white-space:normal;font-size:12px}.conditions button:last-child{border-right:0}.conditions .active{color:#fff;background:var(--accent)}.signals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:15px 0 9px;border-top:1px solid #a9ad9f;gap:18px}.signal-context{grid-column:1 / -1;margin:0;color:var(--muted);font-size:11px;line-height:1.5}.signal{border-left:1px solid var(--line);padding-left:13px}.signal-name{font-size:12px}.signal svg{width:100%;height:54px;margin-top:7px}.signal>span{font-size:10px;color:var(--muted)}.inspector{border-left:1px solid var(--line);padding:9px 0 0 22px}.inspector h2,.lesson h2{font-family:Georgia,Times New Roman,serif;font-size:27px;letter-spacing:0;line-height:1.1;font-weight:400;margin:0 0 17px}.intro{font-size:14px;line-height:1.5;margin:0 0 21px}.component-list{padding:0;margin:0;list-style:none;display:grid;gap:5px}.component-list button{width:100%;border:0;display:flex;text-align:left;align-items:flex-start;gap:17px;padding:8px 5px;border-radius:0}.component-list button[aria-pressed=true]{background:#e1ede7}.number{flex:0 0 28px;height:28px;border:1px solid #6c7165;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px}.component-list strong{display:block;font-size:13px;font-weight:600;margin:3px 0 5px}.component-list small{font-size:12px;line-height:1.4;display:block;color:#54594f}.detail{position:relative;background:#edf2ef;border-left:2px solid var(--accent);padding:16px 44px 16px 14px;margin-bottom:16px}.detail h3{font-family:Georgia,serif;font-weight:400;font-size:22px;margin:8px 0}.detail p{font-size:13px;line-height:1.55;margin:0}.detail code,.detail-unit{font-size:10px;color:var(--accent)}.detail-unit{display:block;margin-top:10px}.close{position:absolute;right:5px;top:5px;border:0;width:36px;height:36px;display:grid;place-items:center}.sensor-marker{width:27px;height:27px;border-radius:50%;background:var(--paper);border:1.5px solid var(--accent);color:var(--accent);font-size:11px;font-weight:700;box-shadow:0 2px 6px #0002}.sensor-marker.active{background:var(--accent);color:#fff}.lesson{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:36px;border-top:1px solid #898d80;margin-top:27px;padding:27px 0 35px}.section-number{font-family:monospace;font-size:10px;letter-spacing:0;color:var(--muted)}.lesson h2{font-size:29px;margin:13px 0 18px;max-width:260px}.lesson h3{font-size:12px;margin:0 0 12px;font-weight:600}.lesson p{font-size:12px;line-height:1.65;margin:0;color:#555a50}.focus-button{display:flex;gap:8px;align-items:center;padding:9px 12px;border-color:var(--accent);color:var(--accent)}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 0 25px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}footer div{display:flex;gap:23px}footer a{display:flex;gap:6px;align-items:center}footer p{margin:0}.loading{position:absolute;inset:45% 0 auto;text-align:center;color:var(--muted);font-size:13px;white-space:nowrap}.fallback{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.fallback img{width:100%;min-height:0;max-height:65%;object-fit:contain}.fallback p{font-size:12px;padding:0 15px}.fallback button{display:flex;gap:8px;align-items:center;min-height:44px;padding:8px 12px}.skip{position:absolute;top:-100px}.skip:focus{top:10px;background:var(--paper);padding:10px;z-index:99}@media(min-width:1450px){.viewport{height:505px}.workspace{grid-template-columns:minmax(0,1fr) 355px}.component-list{gap:10px}.component-list strong{font-size:14px}.component-list small{font-size:13px}}@media(max-width:1100px){.app{padding:0 24px}.workspace{grid-template-columns:minmax(0,1fr) 285px;gap:15px}.inspector{padding-left:17px}.inspector h2{font-size:29px}.viewport{height:420px}.title p{display:none}.toolbar{flex-wrap:wrap}.toolbar>span{text-align:left}.actions button{padding:8px 10px}.conditions button{font-size:10px}.component-list button{gap:10px}.lesson{gap:20px}}@media(max-width:780px){.app{padding:0 19px}header{font-size:11px}.title{padding:21px 0}.title h1{font-size:40px;letter-spacing:0}.title h1 span{font-size:22px;letter-spacing:0}.workspace{display:flex;flex-direction:column;gap:25px;padding-top:8px}.viewport{height:320px}.view-tabs{width:100%}.view-tabs button{flex:1;padding:0 8px}.toolbar{gap:9px;padding-top:7px}.toolbar>span{font-size:9px}.actions{width:auto;gap:7px}.actions button{flex:0 0 44px;justify-content:center;font-size:11px}.conditions{flex-wrap:wrap}.conditions button{flex:1 1 30%;border-bottom:1px solid var(--line);font-size:11px;min-height:39px}.signals{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:20px}.inspector{padding:22px 0 0;border-left:0;border-top:1px solid var(--line)}.inspector h2{font-size:27px}.component-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.component-list button{gap:10px}.component-list small{font-size:11px}.component-list strong{font-size:12px}.lesson{grid-template-columns:1fr;gap:23px;margin-top:22px}.lesson h2{max-width:none;margin-bottom:10px}.lesson p{font-size:13px}footer{flex-direction:column;align-items:flex-start;line-height:1.6}footer div{gap:16px;flex-wrap:wrap}.view-caption{font-size:9px}.sensor-marker{width:24px;height:24px;font-size:10px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}.flow-legend{position:absolute;bottom:29px;left:2px;font-size:10px;letter-spacing:0;color:#176e7a;pointer-events:none;background:#f7f9f8e8;padding:4px 7px}.viewport canvas{display:block}.view-caption{background:#f7f9f8e0;padding:3px 5px}@media(max-width:360px){.component-list{grid-template-columns:1fr}}.exhibit-intro{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;margin:15px 0 0;font-size:13px;line-height:1.6;color:#54594f}.exhibit-intro span{color:var(--accent)}.signal-study{border-top:1px solid #a9ad9f;padding-top:15px}.signal-heading{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;align-items:baseline}.signal-heading h2{margin:0;font-size:14px;font-weight:600}.signal-heading>span,.signal-note,.signal-key{font-size:11px;color:#54594f;line-height:1.6}.signal-study .signals{border-top:0}.signal-note{margin:9px 0 0;max-width:75ch}.signal-key{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0 0}.baseline-key,.scenario-key{display:inline-block;width:20px;border-top:2px dashed #686b63}.scenario-key{border-top:2px solid #a44927;margin-left:8px}.sensor-callout{position:relative;width:0;height:0}.sensor-leader{position:absolute;width:1px;height:1px;overflow:visible;pointer-events:none}.sensor-leader line{stroke:var(--accent);stroke-width:1}.sensor-marker{position:absolute;left:var(--marker-x);top:var(--marker-y);transform:translate(-50%,-50%);width:30px;height:30px}.sensor-marker:hover{background:#e5dfd1}.sensor-marker.active:hover{background:var(--accent)}.viewport{overflow:hidden}.viewport canvas:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.return-model{margin-top:14px;padding:9px 10px;font-size:12px}.close{min-width:32px;min-height:32px}.fallback p{line-height:1.6}.fallback button{padding:7px 10px;margin-top:4px}@media(max-width:780px){.exhibit-intro{font-size:12px}.actions button,.view-tabs button,.conditions button{min-height:44px}.signal-heading{display:block}.signal-heading>span{display:block;margin-top:5px}.detail{scroll-margin-top:20px}}@media(max-width:360px){.actions button{padding:8px 5px;gap:5px}.component-list{grid-template-columns:1fr}header{font-size:10px}.view-caption{max-width:calc(100% - 4px);line-height:1.5}}
