:root{--reading-ink:#f2f4f8;--reading-muted:#cad4e1;--reading-accent:#b7d7f8;--reading-line:#40546e}
.exhibit-page{margin:0;background:#0b111a;color:var(--reading-ink);font:18px/1.7 system-ui,-apple-system,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased}.exhibit-page *{box-sizing:border-box}.exhibit-page h1,.exhibit-page h2,.exhibit-page h3,.exhibit-page h4,.exhibit-page p,.exhibit-page figure{margin:0}.exhibit-page a{color:inherit;text-underline-offset:5px}.exhibit-page button{font:inherit;cursor:pointer}.exhibit-page h1{font:400 clamp(48px,5.6vw,82px)/1.06 Georgia,serif;letter-spacing:-.045em}.exhibit-page h2,.r-section h2{font:400 clamp(35px,4vw,60px)/1.14 Georgia,serif;letter-spacing:-.045em}.exhibit-page h3{font-size:25px;line-height:1.3;font-weight:500;letter-spacing:-.025em}.exhibit-page h4{font-size:20px;font-weight:500}.exhibit-page em,.recent-city em,.philosophy-reading em{font-family:Georgia,serif;color:var(--reading-accent);font-weight:400}.r-wrap{width:min(1120px,calc(100% - 80px));margin-inline:auto}.r-header{height:80px;display:flex;justify-content:space-between;align-items:center;padding:0 max(40px,calc((100vw - 1120px)/2));border-bottom:1px solid #27374a;background:#0b111af5;backdrop-filter:blur(14px);position:sticky;top:0;z-index:50;gap:35px}.r-brand{font:italic 30px Georgia,serif;letter-spacing:-.1em;text-decoration:none}.r-header>nav{display:flex;gap:28px}.r-header>nav a{font-size:15px;text-decoration:none}.r-menu{display:none}.r-skip{position:fixed;top:-70px;left:20px;z-index:200;background:#edf3fb;color:#112033!important;padding:12px}.r-skip:focus{top:10px}.r-hero{padding:80px 0 70px}.r-kicker,.exhibit-page .r-kicker{font:500 12px/1.6 system-ui,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:var(--reading-accent);margin-bottom:24px}.r-intro{font:400 19px/1.7 system-ui,sans-serif;color:var(--reading-muted);max-width:680px;margin:28px 0!important}.r-hero .r-intro{margin-top:32px}.r-jumps{display:flex;flex-wrap:wrap;gap:14px 30px;margin-top:35px}.r-jumps a{font-size:15px;line-height:1.7}.r-section{padding:72px 0;border-top:1px solid #354961;scroll-margin-top:100px}.r-section h2{margin:20px 0 32px}.r-link{font:500 15px/1.7 system-ui,sans-serif;display:inline-flex;align-items:center;min-height:44px;margin:18px 22px 0 0;text-underline-offset:5px}.r-button,.exhibit-page button:not([data-bit]){display:inline-flex;align-items:center;justify-content:center;font:500 15px/1.5 system-ui,sans-serif;background:#dceafa;color:#101e2e;border:1px solid #dceafa;border-radius:99px;min-height:46px;padding:12px 22px;text-decoration:none}.r-button:hover,.exhibit-page button:not([data-bit]):hover{background:#b8d8f7;border-color:#b8d8f7}.r-caption,.exhibit-page .r-caption{font:400 14px/1.7 system-ui,sans-serif;color:#b7c6d9;margin:22px 0!important;max-width:75ch}.feature-copy{max-width:72ch}.feature-copy>p{font-size:18px;line-height:1.85;margin:22px 0}.feature-copy blockquote{font:italic clamp(26px,3vw,39px)/1.45 Georgia,serif;margin:38px 0;color:#e2edfa;max-width:35ch}.archive-panel{border-block:1px solid #3c526d;padding:35px 0;margin:40px 0 16px}.archive-panel>p{font-size:17px;color:var(--reading-muted);max-width:72ch;margin-top:16px}.archive-options{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:30px}.archive-options article{background:#162235;border:1px solid #405977;padding:25px}.archive-options article .r-kicker{display:block;font-size:11px;margin-bottom:8px}.archive-options button{margin:20px 0 15px}.archive-options a{display:block;font-size:15px}.external-view{margin-top:24px}.external-view iframe{border:1px solid #4c6380;border-radius:3px;width:100%;height:650px;display:block;background:white}.external-view[data-kind=video] iframe{aspect-ratio:16/9;height:auto;min-height:180px}.external-view .frame-close{margin-top:12px!important;background:transparent!important;color:#d9e8fa!important;border-color:#547395!important}.media-feature{margin:35px 0;padding:30px 0;border-bottom:1px solid #364c65}.media-feature p{margin:15px 0 22px;color:var(--reading-muted)}.social-features{display:grid;grid-template-columns:1fr 1fr;gap:35px}.social-features article>p{font-size:17px;color:var(--reading-muted);margin:20px 0}.social-features article>a{display:block;margin-top:15px;font-size:15px}.social-features iframe{height:560px}.peer-story{width:min(1120px,calc(100% - 80px));margin:35px auto 75px;padding:40px 0;border-block:1px solid #435b78}.exhibit-page .peer-story{width:100%;margin:0 auto 25px}.peer-story blockquote{font:400 clamp(24px,2.8vw,35px)/1.5 Georgia,serif;color:#edf2f9;margin:24px 0;max-width:60ch}.peer-story>p:not(.r-kicker){font:400 16px/1.7 system-ui,sans-serif;color:#dde7f4}.peer-story>p>span{display:block;font-size:14px;color:#b7c8dd;margin-top:5px}.peer-story>a{font:400 14px/1.7 system-ui,sans-serif;min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:4px;margin-top:8px}.r-footer{padding:35px 0 55px;border-top:1px solid #374d68}.r-footer p{font-size:15px;color:#bdcede}.r-footer nav{display:flex;flex-wrap:wrap;gap:15px 26px;margin-top:20px;font-size:14px}.recent-city{padding:24px 0 35px}.recent-city h3,.philosophy-reading h3{font:400 clamp(34px,3.4vw,48px)/1.15 Georgia,serif;letter-spacing:-.035em}.recent-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px 42px;margin-top:35px}.recent-grid article{border-top:1px solid #486078;padding-top:21px}.work-status{display:block;font:500 12px/1.6 system-ui,sans-serif;color:#aacbec;margin-bottom:12px}.recent-grid h4{font:500 22px/1.3 system-ui,sans-serif;letter-spacing:-.02em;margin:0 0 15px}.recent-grid p{font:400 17px/1.8 system-ui,sans-serif;color:#d0dcea;max-width:60ch}.philosophy-reading{grid-column:1/-1;padding-top:35px;margin-top:25px;border-top:1px solid #435b76}.principle-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:25px 0}.principle{border:1px solid #4a6381;background:#182437;align-self:start}.principle summary{display:flex;align-items:start;gap:14px;cursor:pointer;list-style:none;padding:24px}.principle summary::-webkit-details-marker{display:none}.principle-number{font:500 12px/1.6 system-ui,sans-serif;color:#accdec;padding-top:4px}.principle summary>span:nth-child(2){flex:1;min-width:0}.principle summary strong{display:block;font:500 21px/1.3 system-ui,sans-serif;color:#f0f4f8}.principle summary small{display:block;font:400 16px/1.65 system-ui,sans-serif;color:#cfdbeb;margin-top:10px}.principle summary b{font:400 25px/1 system-ui,sans-serif;transition:transform .2s}.principle[open] summary b{transform:rotate(45deg)}.principle>p{font:400 18px/1.85 system-ui,sans-serif!important;color:#e0e8f3!important;padding:0 25px 25px;margin:0!important;max-width:70ch!important}.award-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:35px;align-items:start}.award-grid figure{margin:0}.image-open{background:none;border:0;color:#e1eefb;padding:0;display:block;cursor:zoom-in;width:100%;text-align:left}.image-open img{width:100%;height:360px;object-fit:contain;background:#121b27;display:block;border:1px solid #4a5a6d}.image-open>span{display:block;font:400 14px/1.5 system-ui,sans-serif;margin:14px 0}.award-grid figcaption{font:400 16px/1.7 system-ui,sans-serif;color:#d8e4f1}.award-grid figcaption span{display:block;font-size:14px;color:#b8c9dd;margin-top:5px}.image-dialog{position:fixed;inset:0;margin:auto;border:1px solid #7795b5;padding:18px;background:#111d2a;color:#f3f5f8;width:min(95vw,1250px);max-width:95vw;max-height:95svh;border-radius:5px;transform:none;overflow:auto}.image-dialog::backdrop{background:#02060ee8}.image-dialog img{width:100%;max-height:78svh;object-fit:contain;display:block}.image-dialog>div{display:flex;align-items:center;justify-content:space-between;gap:20px;font:400 17px/1.5 system-ui,sans-serif;margin-bottom:15px}.image-dialog button{font-size:16px;min-height:44px;min-width:70px;cursor:pointer;color:#e6f0ff;background:#24384f;border:1px solid #6685a5;border-radius:4px}.learning-invite p{font:400 18px/1.8 system-ui,sans-serif;color:#cbd9e9;max-width:700px;margin:20px 0}.learning-invite .r-button{margin-top:15px}
/* Readable body text throughout the existing portfolio, without enlarging decorative indices. */
body:not(.exhibit-page){--muted:#c1cedf}.hero-intro,.hero-role,.about-copy p,.section-intro p,.teaching-heading>div>p,.research-layout>div>p,.chapter-description,.experience-row>p,.m-page .m-prose p,.m-page .m-original-prose p,.m-page .m-original-prose li,.m-page .m-fees-list p{font-size:17px!important;line-height:1.8!important;color:#d3deeb!important}.m-page .m-original-prose{max-width:85ch}.m-page .m-intro,.m-page .m-profile-grid p,.m-page .m-resources p,.m-page .m-fee-intro p{font-size:17px!important;line-height:1.75!important;color:#d2dfed!important}.m-page .m-note,.index-note,.course-heading>span,.teaching-extra.teaching-practice>div>p,.recommendations-section .recommendation-full blockquote p,.feedback-card figcaption,.migration-footer a,.m-footer p{font-size:15px!important;line-height:1.8!important}.course-description>p,.feedback-card blockquote{font-size:18px!important;line-height:1.8!important}.m-page .m-original-prose h3{font-size:25px!important;line-height:1.35!important;margin-block:30px 16px!important}.m-page .m-original-prose h4{font-size:21px!important}.chapter-description{font-size:15px!important}.story-texts{min-height:380px}.story-texts h2{font-size:clamp(36px,4vw,60px)!important;min-height:0}.m-page .m-experience-section summary p,.m-page .m-hero-note{font-size:15px!important;line-height:1.6!important}.m-page .m-fees-list summary{font-size:16px!important}.m-page .m-fees-list summary>span:nth-child(2){font-size:14px!important}.migration-footer{gap:28px!important}.migration-footer>div{flex-wrap:wrap!important}.r-section,.learning-experiment{scroll-margin-top:100px}
/* Learning interactions */
.byte-controls{display:grid;grid-template-columns:repeat(8,1fr);gap:12px;margin:38px 0 25px}.byte-controls button{background:#152338;border:1px solid #516b8b;border-radius:8px;padding:13px 5px 18px;color:#d6e5f4;font-family:inherit;cursor:pointer;min-height:100px;transition:transform .18s,background .18s}.byte-controls button span{display:block;font-size:14px}.byte-controls button strong{display:block;font:500 38px/1.2 ui-monospace,monospace;margin-top:12px}.byte-controls button[aria-pressed=true]{background:#c5e0fa;color:#102137;transform:translateY(-4px);border-color:#d4ecff;box-shadow:0 9px 30px #7aaffc16}.byte-result{display:flex;gap:80px;align-items:center;background:#122033;padding:25px}.byte-result span{font-size:14px;color:#adbfD4;display:block}.byte-result output{font:400 clamp(24px,3.6vw,48px)/1.3 ui-monospace,monospace;color:#edf5ff;display:block;margin-top:8px}.experiment-note{margin:18px 0!important;color:#d8e4f3;font-size:17px}.lab-task{display:flex;align-items:center;gap:14px;margin-top:25px;flex-wrap:wrap}.lab-task>p{margin-right:auto;font-size:20px}.lab-task>p strong{font-size:32px;color:#b5dafa}.lab-feedback{min-height:56px;margin:20px 0!important;padding:18px 20px;background:#1a2a3f;border-left:3px solid #8ab0d7;color:#e0ecf9;font-size:17px;line-height:1.75}.lab-feedback[data-success=true]{border-color:#acd9bc;background:#1a302a}.why-it-works{margin-top:28px;border-top:1px solid #476181;padding-top:10px;max-width:78ch}.why-it-works summary{font-size:18px;min-height:55px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;list-style:none;gap:15px}.why-it-works p{font-size:17px;line-height:1.85;color:#d6e1ee;margin:15px 0!important}.why-it-works a{font-size:15px}.route-map{width:100%;height:auto;max-height:420px;display:block;margin:20px 0 30px;background:#111f31;border:1px solid #344b65}.route-lines path{stroke:#526f91;stroke-width:3;fill:none;transition:stroke .2s}.route-lines path.selected{stroke:#c0e2ff;stroke-width:5}.route-dots circle{fill:#213751;stroke:#9bbddf;stroke-width:2}.route-names text{font:500 16px system-ui;fill:#e9f2fc;text-anchor:middle}.route-delays text{font:14px system-ui;fill:#c0d8f2;text-anchor:middle}.route-map #packet-dot{fill:#ffffff;stroke:#193754;stroke-width:2}.route-buttons{display:flex;flex-wrap:wrap;gap:14px;margin:20px 0}.route-buttons button[aria-pressed=true]{background:#a8cfee!important;border-color:#f0f7ff!important}.lab-check{font-size:17px;display:flex;align-items:center;gap:12px;min-height:46px}.lab-check input,.permission-table input{width:23px;height:23px;accent-color:#bfdcf9;flex-shrink:0}.permission-scroll{margin:30px 0;overflow-x:auto}.permission-table{border-collapse:collapse;width:100%;min-width:510px;font-size:16px;line-height:1.5}.permission-table caption{text-align:left;color:#c7d9ee;font-size:15px;margin:0 0 15px}.permission-table th,.permission-table td{border:1px solid #4a627e;padding:18px;text-align:left}.permission-table th{font-weight:500;background:#18283c}.permission-table td{background:#102032}.permission-table label{display:flex;gap:9px;align-items:center;cursor:pointer;min-height:44px}.lab-network{width:min(580px,100%);margin:35px auto!important}.lab-network .systems-stage{aspect-ratio:1;width:100%;position:relative;background:radial-gradient(circle,#324e7540,transparent 70%);isolation:isolate}.lab-network .systems-title{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;pointer-events:none}.lab-network .network-counter-label{font-size:16px;color:#b6cce5}.lab-network .network-score{font:400 74px/1.2 Georgia,serif;color:#edf5fc}.lab-network .network-score small{font-size:27px;color:#9eb9d8}.lab-network .network-session{font-size:14px;color:#becfe1;margin-top:8px}.lab-network .game-connections,.lab-network .game-nodes{position:absolute;inset:0;width:100%;height:100%}.lab-network .game-connections{pointer-events:none}.lab-network .game-link{stroke:#4d6884;stroke-width:.4}.lab-network .game-link.is-connected{stroke:#a8d5f9;stroke-width:.6}.exhibit-page .lab-network .game-node{position:absolute;transform:translate(-50%,-50%);background:#152a42;color:#edf5ff;min-width:44px;width:44px;height:44px;min-height:44px;padding:0;border-radius:50%;border:1px solid #668aaf;display:grid;place-items:center;font:500 15px system-ui}.exhibit-page .lab-network .game-node[data-connected=true]{background:#9bc5e9;color:#142033;border-color:#d4eeff}.exhibit-page .lab-network .game-node[aria-pressed=true]{outline:3px solid #ffffff;outline-offset:4px}.game-node-name{position:absolute;top:48px;left:50%;transform:translateX(-50%);background:#081320;color:#e7f3ff;font-size:12px;padding:4px 7px;white-space:nowrap;display:none}.game-node:hover .game-node-name,.game-node:focus-visible .game-node-name{display:block}.lab-network .network-status,.lab-network figcaption{font-size:15px;line-height:1.7;color:#c0d1e3;text-align:center;margin:17px 0}.lab-network .systems-controls{text-align:center}.lab-network .network-complete{background:radial-gradient(circle,#41746050,transparent 72%)}[hidden]{display:none!important}.exhibit-page :focus-visible,.principle summary:focus-visible,.image-open:focus-visible{outline:3px solid #c2dffe;outline-offset:5px}.exhibit-page html{scroll-behavior:smooth}
@media(max-width:800px){.r-wrap{width:calc(100% - 40px)}.r-header{height:68px;padding-inline:20px}.r-header>nav{display:none}.r-menu{display:block}.r-menu summary{font-size:15px;cursor:pointer;padding:13px}.r-menu nav{position:absolute;right:16px;top:62px;background:#142237;padding:15px 25px;border:1px solid #54708e;min-width:220px}.r-menu nav a{display:block;padding:10px 0;font-size:16px}.r-hero{padding:52px 0}.r-hero h1{font-size:clamp(43px,8.5vw,62px)}.r-intro{font-size:18px;line-height:1.75}.r-jumps{gap:12px 22px}.r-jumps a{font-size:15px}.r-section{padding:52px 0;scroll-margin-top:85px}.archive-options,.social-features,.recent-grid,.principle-grid,.award-grid{grid-template-columns:1fr;gap:22px}.feature-copy p{font-size:18px}.archive-options article{padding:22px}.external-view iframe{height:570px}.peer-story{width:calc(100% - 40px);padding:28px 0;margin-block:22px 45px}.peer-story blockquote{font-size:26px}.principle summary{padding:20px;gap:12px}.principle summary strong{font-size:21px}.principle summary small{font-size:16px}.principle>p{padding:0 20px 22px;font-size:18px!important}.image-open img{height:auto;max-height:420px}.recent-grid p{font-size:17px!important}.philosophy-reading h3,.recent-city h3{font-size:38px}.byte-controls{gap:7px;margin-top:25px}.byte-controls button{min-height:82px;padding:10px 2px}.byte-controls button span{font-size:12px}.byte-controls button strong{font-size:29px}.byte-result{gap:25px;justify-content:space-between;padding:20px 15px}.byte-result output{font-size:26px}.byte-result span{font-size:13px}.lab-task>p{width:100%;margin-right:0}.lab-feedback{font-size:16px;padding:15px}.route-buttons{gap:10px}.route-buttons button{font-size:14px!important;padding:12px 16px!important}.permission-table{font-size:15px;min-width:490px}.permission-table td,.permission-table th{padding:13px}.lab-network .network-counter-label{font-size:13px}.lab-network .network-score{font-size:62px}.lab-network .network-score small{font-size:23px}.lab-network .network-session{font-size:12px}.lab-network .game-node{width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important}.game-node-name{font-size:10px;top:44px}.story-texts{min-height:255px}.story-sticky{min-height:750px!important}.chapter-description{font-size:14px!important;line-height:1.65!important}.story-texts h2{font-size:30px!important;margin:12px 0!important}.story-layout{gap:12px!important}.identity-scene{min-height:180px!important;height:26svh!important}.r-caption{font-size:14px!important}.reading-progress{display:none}}
@media(prefers-reduced-motion:reduce){.byte-controls button,.route-lines path,.principle summary b{transition:none!important}.byte-controls button[aria-pressed=true]{transform:none}.exhibit-page *{scroll-behavior:auto!important}}
.r-skip{top:0;transform:translateY(-200%)}.r-skip:focus{top:0;transform:translateY(-200%)}.r-skip:focus-visible{top:10px;transform:none}
.exhibit-page button.image-open,.exhibit-page button.image-open:hover{display:block;padding:0;border:0;border-radius:0;background:transparent;color:#e1eefb;text-align:left;cursor:zoom-in;min-height:0}
.exhibit-page button.image-open img{border-radius:4px}.exhibit-page button.image-open>span{display:block;padding:13px 0;font-size:15px}
@media(max-width:760px){.permission-scroll::after{content:'Swipe sideways to see every resource column.';display:block;font-size:14px;color:#c1d1e4;padding:12px 0}}

.city-foundations{border-top:1px solid #506b8b;margin-top:20px}.city-foundations>summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font:500 18px/1.5 system-ui;cursor:pointer;list-style:none}.city-foundations>div{padding:5px 0 20px}
body button.image-open,body button.image-open:hover{display:block;border:0;border-radius:0;background:transparent;text-align:left;padding:0;min-height:0;cursor:zoom-in}
