@font-face{font-family:SystemUI;src:local('PingFang SC')}*{box-sizing:border-box;letter-spacing:0}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{font-family:SystemUI,'PingFang SC','Microsoft YaHei',sans-serif;color:#153e3e;background:#d4e2de}button,input,select,textarea{font:inherit}button{cursor:pointer}button{border:0}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #4dbbaa;outline-offset:5px}button:disabled{opacity:.45;cursor:wait}button svg{width:20px;height:20px;flex-shrink:0}button{display:inline-flex;align-items:center;justify-content:center;gap:12px}button,input,textarea,select{-webkit-tap-highlight-color:transparent}.hidden,[hidden]{display:none!important}#world,#glass-world{position:fixed;inset:0}#world{z-index:0}#world canvas{display:block;outline:none}#glass-world{pointer-events:none;z-index:2}#glass-world>div{pointer-events:none}.film-grain{position:fixed;inset:0;pointer-events:none;z-index:5;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.83' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.8' filter='url(%23n)'/%3E%3C/svg%3E")}.topbar{position:fixed;left:32px;right:32px;top:24px;z-index:30;height:48px;display:flex;align-items:center;justify-content:space-between;gap:18px;pointer-events:none}.topbar>*{pointer-events:auto}.wordmark{color:inherit;background:transparent;font-size:22px;font-weight:650;white-space:nowrap;gap:5px}.wordmark>span{color:#a97550}.wordmark small{font-size:13px;font-weight:500;margin-left:16px;padding-left:16px;border-left:1px solid #153e3e40}.tools{display:flex;gap:6px}.icon{width:42px;height:42px;border-radius:50%;color:inherit;background:#edf5f2c4;backdrop-filter:blur(16px);border:1px solid #ffffff85}.icon:hover{background:#fff}.icon svg{width:18px;height:18px}#levels{display:flex;gap:4px;padding:5px;border-radius:40px;background:#f1f7f2b5;backdrop-filter:blur(16px);border:1px solid #ffffff70}#levels button{border-radius:30px;padding:9px 15px;background:none;color:#466461;font-size:12px;gap:7px;white-space:nowrap}#levels button span{font-size:10px;opacity:.6}#levels button.active{background:#174947;color:#fff}#levels button:hover{background:#ffffffaa}#levels button.active:hover{background:#174947}.screen{position:fixed;inset:0;z-index:10}.eyebrow{font-size:11px;font-weight:550;letter-spacing:0;margin:0 0 24px}.cover-heading{position:absolute;left:7%;top:20%;color:#fff;text-shadow:0 2px 22px #092e3b55}#cover-art{width:100%;height:100%;object-fit:cover;object-position:center}.cover-shade{position:absolute;inset:0;background:linear-gradient(90deg,#143c4399 0%,#1d414135 44%,transparent 70%),linear-gradient(0deg,#123f4666,transparent 23%)}h1{font-size:90px;line-height:1.07;font-weight:550;margin:0}h1 span{display:block;font-size:54px;line-height:1.4;font-weight:500;margin-top:16px}.cover-deck{font-size:19px;line-height:1.8;margin:24px 0}.primary{background:#184e4a;color:#fff;border:1px solid #a4d0bd5c;padding:16px 23px;border-radius:4px;min-height:54px;line-height:1.5;font-size:15px;box-shadow:0 6px 22px #102e2b17}.primary:hover{background:#24665e}.cover-heading .primary{background:#fcffed;color:#204b44;border-color:#fff}.cover-bottom{position:absolute;left:7%;right:5%;bottom:28px;display:flex;align-items:center;justify-content:space-between;color:#fff;font-size:11px}.cover-bottom button{background:none;color:#fff;font-size:14px}.cover-bottom span:first-child{letter-spacing:0}body[data-mode=cover] .wordmark{color:#fff}body[data-mode=cover] #levels{visibility:hidden}body[data-mode=cover] .tools .icon{background:#ffffff20;color:#fff;border-color:#ffffff50}#outcomes{padding:120px 7% 50px;background:#eef4efed;overflow:auto;backdrop-filter:blur(24px)}.section-heading{display:flex;gap:35px;justify-content:space-between;align-items:flex-start}.section-heading h2{font-size:46px;line-height:1.3;font-weight:500;margin:0}.section-heading .eyebrow{margin-top:10px;max-width:170px;line-height:1.8}.outcome-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 40px;margin:36px 0}.outcome-grid article{border-top:1px solid #9eb2a6;padding-top:20px}.outcome-grid article>span{font-size:11px;color:#6a8376}.outcome-grid h3{font-size:29px;font-weight:500;margin:12px 0}.outcome-grid p{font-size:18px;line-height:1.5;margin:0;color:#516e61}#atlas-ui,#room-ui,#lift-ui{position:fixed;inset:0;z-index:9;pointer-events:none}#atlas-ui button,#room-ui button,#lift-ui button{pointer-events:auto}.atlas-heading{position:absolute;left:4%;top:120px}.atlas-heading h2{font-size:30px;font-weight:500;line-height:1.4;margin:0}.atlas-heading .eyebrow{font-size:9px}.atlas-footer{position:absolute;left:4%;right:4%;bottom:26px;display:flex;justify-content:space-between;align-items:center}.atlas-footer>span{font-size:12px}.map-tools{display:flex;gap:8px}.atlas-node{position:absolute;white-space:nowrap;transform:translate(-50%,-50%);color:#17463f;background:#f3fbf1df;border:1px solid #ffffffb0;border-radius:4px;backdrop-filter:blur(14px);padding:9px 13px;gap:10px;box-shadow:0 6px 32px #23494115}.atlas-node:hover{background:#fff}.atlas-node b{font-size:11px;color:#7a937e}.atlas-node span{font-size:13px;font-weight:550}.atlas-node small{font-size:9px;opacity:.6}.atlas-node.visited:after{content:'';width:5px;height:5px;border-radius:50%;background:#62a676}.location{position:absolute;top:103px;left:32px;max-width:240px;text-shadow:0 1px 12px #fff}.location>span{font-size:10px;text-transform:uppercase;letter-spacing:0}.location h2{font-size:17px;font-weight:500;margin:9px 0}.wall-compass{position:absolute;right:32px;top:106px;display:flex;gap:5px}.wall-compass button{width:30px;height:30px;border-radius:50%;font-size:10px;background:#f1f8f2b9;color:#436663;border:1px solid #ffffff99}.wall-compass button.active{color:#fff;background:#245d53}.room-footer{position:absolute;left:32px;right:32px;bottom:25px;display:flex;justify-content:space-between;align-items:flex-end;gap:20px}#room-tabs{display:flex;gap:8px}#room-tabs button{padding:10px 14px;font-size:12px;color:#35554b;background:#f5f9f1c4;backdrop-filter:blur(16px);border-radius:4px;border:1px solid #ffffff66}#room-tabs button.active{background:#21574c;color:#fff}#room-tabs button b{font-size:10px;font-weight:500}.lift-button{padding:14px 18px;background:#f2f9eeed;backdrop-filter:blur(16px);border:1px solid #ffffffbf;box-shadow:0 8px 30px #27473c20;color:#2b554c;border-radius:4px;font-size:13px;white-space:nowrap}.lift-button small{border-left:1px solid #71928255;padding-left:12px;color:#829585}.lift-display{position:absolute;top:22%;left:8%;text-shadow:0 2px 20px #edf5e3}.lift-display>span{font-size:11px;letter-spacing:0}.lift-display strong{display:block;font-size:112px;font-weight:400;margin-top:24px}.lift-display p{font-size:18px}.lift-track{width:160px;background:#31534433;height:1px;margin-top:30px}.lift-track b{display:block;width:0;height:1px;background:#1b5c4b}#skip-lift{position:absolute;bottom:34px;right:32px}.quiet{padding:10px 18px;background:#fafff0b5;color:#2f594a;font-size:12px;border-radius:4px}#arrival{position:fixed;inset:0;z-index:8;display:flex;align-items:center;justify-content:center;flex-direction:column;pointer-events:none;opacity:0;transition:opacity .45s;background:#eef8eb0a;text-shadow:0 3px 25px #fff}#arrival.show{opacity:1}#arrival small{font-size:12px;letter-spacing:0}#arrival strong{font-size:48px;font-weight:450;margin-top:16px}#toast{position:fixed;z-index:80;bottom:100px;left:50%;transform:translateX(-50%);padding:11px 20px;background:#143f38ed;color:#fff;font-size:13px;border-radius:4px;opacity:0;pointer-events:none;transition:opacity .3s}#toast.show{opacity:1}#loading{position:fixed;inset:0;background:#e8f0e9;z-index:100;display:flex;justify-content:center;align-items:center;flex-direction:column;color:#315d50;transition:opacity .6s}#loading span{font-size:38px}#loading p{font-size:13px;margin:24px 0}#loading progress{width:100px;height:2px;border:0;accent-color:#315d50}dialog{border:1px solid #ffffffcc;border-radius:8px;background:#f3f7f0f5;color:#264c40;max-width:720px;width:calc(100% - 40px);padding:30px;box-shadow:0 30px 100px #0a332955;max-height:calc(100% - 60px);overflow:auto;backdrop-filter:blur(30px)}dialog::backdrop{background:#0a30264f;backdrop-filter:blur(9px)}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:25px}.dialog-head .eyebrow{font-size:10px;margin-bottom:10px}.dialog-head h2{font-size:27px;font-weight:500;margin:0}.dialog-head .icon{flex-shrink:0}dialog label{font-size:12px;display:block;line-height:1.6}dialog textarea,dialog input:not([type=checkbox]):not([type=range]){width:100%;padding:14px;border:1px solid #b0c2b5;border-radius:3px;color:#254a3e;background:#ffffff99;margin:9px 0;font-size:14px;line-height:1.6;resize:vertical}dialog textarea{min-height:140px}.metric-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.dialog-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:25px}.dialog-foot>span,#metric-result{font-size:11px;color:#7a8c7b}.note-tabs{display:flex;gap:8px;margin-bottom:22px;flex-wrap:wrap}.note-tabs button{width:38px;height:32px;border-bottom:1px solid #a7bdac;background:none;color:#486550;font-size:12px}.note-tabs button.active{background:#2e6955;color:#fff;border:0}.setting-row{display:flex!important;justify-content:space-between;align-items:center;border-bottom:1px solid #b6c7b65e;padding:15px 0;font-size:14px!important}.setting-row select{border:0;background:transparent;color:#28513f;font-size:13px;padding:7px}.setting-row input{accent-color:#35755a}.plain-button{color:#2e5b47;background:#e1ecdff0;border:1px solid #b8c9b7;padding:12px 18px;border-radius:3px}.settings-help{font-size:12px;line-height:1.8;color:#667e69;margin:20px 0}.setting-row+.plain-button{margin-top:25px}.touch-joystick{display:none;position:absolute;bottom:95px;left:20px;grid-template-columns:repeat(3,36px);grid-template-rows:repeat(2,36px);gap:4px;opacity:.6}.touch-joystick button{color:#fff;background:#25564ac9;border-radius:50%;border:1px solid #cbe3d355}.touch-joystick button:first-child{grid-column:2}.touch-joystick button:nth-child(2){grid-column:1;grid-row:2}.touch-joystick button:nth-child(3){grid-column:2;grid-row:2}.touch-joystick button:nth-child(4){grid-column:3;grid-row:2}#error{position:fixed;inset:0;padding:15%;background:#edf4ec;z-index:110}#error button{padding:15px;background:#255e49;color:#fff;border-radius:4px}body[data-mode=lift] .topbar #levels{opacity:.35;pointer-events:none}body[data-mode=lift] .topbar #map{display:none}@media(max-width:900px){.topbar{left:20px;right:20px;top:18px}.wordmark small{display:none}#levels button{padding:9px 10px}#levels button span{display:none}h1{font-size:68px}h1 span{font-size:44px}.cover-heading{top:22%;left:6%}.cover-deck{font-size:17px}.outcome-grid{gap:22px}.outcome-grid h3{font-size:25px}.outcome-grid p{font-size:16px}.atlas-heading{top:108px}.atlas-heading h2{font-size:22px}.room-footer{left:20px;right:20px}.location{left:20px}.wall-compass{right:20px}}
@media(max-width:600px){.topbar{top:15px;left:14px;right:14px;height:40px}.wordmark{font-size:20px}.tools{gap:4px}.tools .icon{width:34px;height:34px}.tools .icon svg{width:16px;height:16px}#levels{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:15;display:none}.topbar .tools{margin-left:auto}body[data-mode=room] #levels{display:none}h1{font-size:56px}h1 span{font-size:37px;line-height:1.5}.cover-heading{top:22%;left:8%}.cover-heading .eyebrow{font-size:9px;letter-spacing:0}.cover-deck{font-size:16px;margin:20px 0 26px}.cover-shade{background:linear-gradient(90deg,#163a467d,#15444810),linear-gradient(0deg,#173f4599,transparent 40%)}#cover-art{object-position:58% center}.cover-bottom{left:8%;right:8%;bottom:25px}.cover-bottom>span:first-child{font-size:8px;letter-spacing:0}.cover-bottom>span:last-child{display:none}#outcomes{padding:90px 7% 32px}.section-heading{display:block}.section-heading .eyebrow{max-width:none;font-size:9px;margin-bottom:16px}.section-heading h2{font-size:32px}.outcome-grid{grid-template-columns:1fr 1fr;gap:22px 20px;margin:28px 0}.outcome-grid h3{font-size:22px}.outcome-grid p{font-size:14px}.outcome-grid article{padding-top:12px}.outcome-grid article>span{font-size:9px}.atlas-heading{top:93px;left:6%}.atlas-heading h2{font-size:23px}.atlas-heading .eyebrow{margin-bottom:10px;font-size:8px}.atlas-footer{left:6%;right:6%;bottom:25px;flex-wrap:wrap;gap:20px}.atlas-footer>span{width:100%;font-size:10px}.atlas-footer .primary{font-size:12px;padding:10px 16px;min-height:42px}.map-tools .icon{width:33px;height:33px}.atlas-node{padding:7px 8px;gap:6px}.atlas-node span{font-size:11px}.atlas-node b{font-size:9px}.atlas-node small{display:none}.location{top:80px;left:18px;max-width:200px}.location>span{font-size:9px}.location h2{font-size:14px}.wall-compass{top:81px;right:16px;gap:3px}.wall-compass button{width:24px;height:24px;font-size:8px}.room-footer{left:16px;right:16px;bottom:20px;align-items:flex-end;gap:10px}#room-tabs{flex-direction:column;gap:5px}#room-tabs button{font-size:10px;padding:7px 9px;gap:6px}.lift-button{padding:10px 12px;font-size:11px;gap:7px}.lift-button svg{width:15px;height:15px}.lift-button small{font-size:9px;padding-left:7px}#arrival strong{font-size:31px}#arrival small{font-size:10px}.lift-display{top:24%;left:9%}.lift-display strong{font-size:85px}.lift-display p{font-size:14px}.touch-joystick{display:grid;left:auto;right:20px;bottom:85px}dialog{padding:23px}.dialog-foot{gap:10px}.dialog-foot .primary{font-size:12px;padding:12px}.dialog-foot>span{font-size:10px}.settings-help{font-size:11px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
body[data-reduced=true] .glass-wall *{animation:none!important;transition:none!important}

/* The architecture stays visible; warm light, not a bright city, leads the reading view. */
#cover-art{filter:brightness(.78) saturate(.9)}
.cover-heading h1 span{font-size:34px;line-height:1.55;margin-top:22px}
body:is([data-mode=atlas],[data-mode=room]){color:#f5eddc}
body:is([data-mode=atlas],[data-mode=room]) .wordmark small{border-color:#f3dca04d}
body:is([data-mode=atlas],[data-mode=room]) .icon{background:#1b2928cf;color:#f6dfaf;border-color:#ecd3a54d}
body:is([data-mode=atlas],[data-mode=room]) .icon:hover{background:#374440}
body:is([data-mode=atlas],[data-mode=room]) #levels{background:#152321d9;border-color:#ecd3a533}
body:is([data-mode=atlas],[data-mode=room]) #levels button{color:#e7e7dc}
body:is([data-mode=atlas],[data-mode=room]) #levels button.active{background:#e4c997;color:#1c2825}
body:is([data-mode=atlas],[data-mode=room]) #levels button:hover{background:#57615880}
.atlas-heading{text-shadow:0 2px 12px #06100e;max-width:300px}
.atlas-heading .eyebrow{color:#e6cb96}
.atlas-node{background:#152722e8;color:#fff4dd;border:1px solid #d7bd874f;border-bottom:2px solid #d5b674;border-radius:2px;box-shadow:0 3px 12px #0003;backdrop-filter:blur(12px);padding:8px 12px}
.atlas-node:hover{background:#365047;border-color:#f2d494}
.atlas-node b{color:#e5c993}.atlas-node small{color:#e9dec9;opacity:1}
.atlas-node[data-campus-level="3"]{border-bottom-color:#f1d5a2}
.atlas-node[data-campus-level="4"]{background:#dfca9deb;color:#17261f}
.atlas-node[data-campus-level="4"] :is(b,small){color:#344c3d}
.atlas-node.visited:after{background:#f2cf8c}
.atlas-footer{color:#eee4cf;text-shadow:0 1px 6px #0009}
.atlas-footer .primary{background:#e8d09f;color:#1c3229;border-color:#f2ddb0;text-shadow:none}
.location{color:#f1e9d6;text-shadow:0 2px 6px #000b}
.location>span{color:#e5c993}
.wall-compass button{background:#182b24c9;color:#f3e5c4;border-color:#d7bc8155}
.wall-compass button.active{background:#e6c791;color:#22322a}
#room-tabs button{background:#1b2926dc;color:#e9e4d7;border-color:#d7bc8145}
#room-tabs button.active{background:#ebd3a5;color:#24322b}
.lift-button{background:#e9d5afee;color:#253a30;border-color:#f0deb5}
.lift-button small{color:#455349;border-color:#57614e66}
#arrival{color:#fff1d0;text-shadow:0 2px 12px #111}
#room-ui::before{content:'';position:absolute;inset:0 0 auto;height:165px;background:linear-gradient(#0b1619b3,transparent);pointer-events:none}
.wb-heading h2{color:#fff2d5}
.wb-wall [style*="--wb-accent"]{text-shadow:inherit}
@media(max-width:900px){.cover-heading h1 span{font-size:29px}.atlas-heading{max-width:260px}}
@media(max-width:600px){
 .cover-heading h1{font-size:46px}.cover-heading h1 span{font-size:23px}
 .atlas-heading h2{font-size:23px}.atlas-heading{top:88px}
 .atlas-node{padding:6px 7px;gap:4px}.atlas-node span{font-size:10px}
 .atlas-node b{font-size:9px}
}
