:root{font-family:Arial,Helvetica,sans-serif;color:#283b46;background:#d5e0e7;font-synthesis:none;--ink:#283b46;--teal:#31576b;--muted:#657780;--paper:#f7faf3;--line:#91aca64d}*{box-sizing:border-box}body{margin:0;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;border:0}button:focus-visible{outline:3px solid #cb658d;outline-offset:5px}button:hover{filter:brightness(.96)}#experience{height:100svh;min-height:500px;position:relative;overflow:hidden}#scene{position:absolute;inset:0}canvas{display:block;width:100%;height:100%;touch-action:none}header{position:absolute;top:34px;left:40px;right:40px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.identity{display:flex;gap:17px;align-items:center}.crest{display:grid;place-items:center;width:57px;height:61px;border:1px solid #50716c55;border-radius:20px 20px 5px 5px;font-size:20px;color:#355364;background:#f5f8fa66}.eyebrow{font-size:10px;letter-spacing:2.5px;font-weight:700;margin:0 0 8px}h1{font-family:Georgia,'Times New Roman',serif;font-size:33px;font-weight:400;letter-spacing:-1.2px;margin:0}h1 span{color:#9f7947}.school-name{font-size:11px;margin:8px 0 0;letter-spacing:.35px;color:var(--muted)}.about-button{pointer-events:auto;font-size:10px;font-weight:700;letter-spacing:1.5px;background:none;padding:15px 0}.about-button span{margin-left:16px;font-size:19px}.edition{position:absolute;top:145px;left:114px;display:flex;align-items:center;gap:10px;font-size:9px;letter-spacing:1.6px;color:var(--muted)}.dot{height:5px;width:5px;border-radius:50%;background:#9f7947}.line{height:1px;width:23px;background:#63817a66}.view-panel{position:absolute;left:40px;top:43%;width:160px}.panel-label{font-size:8px;letter-spacing:2px;color:var(--muted);display:block;margin-bottom:15px}.view-panel button{display:flex;align-items:center;width:100%;padding:13px 0;text-align:left;font-size:11px;background:none;border-bottom:1px solid var(--line)}.view-panel button span{font-size:8px;opacity:.55;width:24px}.view-panel i{font-style:normal;margin-left:auto;opacity:0}.view-panel .active{font-weight:700}.view-panel .active i{opacity:1}.view-panel .active span{color:#9f7947;opacity:1}.scene-caption{position:absolute;right:40px;bottom:160px;text-align:right;font-family:Georgia,serif;font-style:italic;font-size:16px;pointer-events:none}.scene-caption span{display:block}.scene-caption span+span{font-family:Arial,sans-serif;font-size:9px;letter-spacing:.4px;font-style:normal;margin-top:9px;color:var(--muted)}footer{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);text-align:center}.hint{font-size:11px;margin:0 0 15px;white-space:nowrap;color:#4d6d6d}.hint span{color:#9f7947;margin-right:7px}.hint b{font-weight:400;padding:0 5px}.toolbar{display:flex;align-items:center;gap:3px;padding:8px 11px;background:#f6f8faed;border:1px solid #fff8;border-radius:17px;box-shadow:0 9px 30px #3e6c6512;backdrop-filter:blur(12px);white-space:nowrap}.toolbar button{height:42px;min-width:39px;padding:0 13px;background:transparent;border-radius:11px;display:flex;gap:8px;align-items:center;justify-content:center;font-size:20px}.toolbar em{font-style:normal;font-size:11px}.toolbar .selected{background:var(--teal);color:#fff}.separator{height:21px;width:1px;background:#9db5aa55;margin:0 4px}.footer-note{font-size:8px;letter-spacing:2px;margin:16px 0 0;opacity:.75}.footer-note span{font-size:10px;color:#9f7947;margin:0 11px}#loading{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#d5e0e7;z-index:5;transition:opacity .6s}#loading.done{opacity:0;pointer-events:none}.loading-flower{font-size:44px;color:#ad6e88;animation:turn 9s linear infinite}#loading p{font-family:Georgia,serif;font-size:23px}#loading small{font-size:10px;letter-spacing:1px}#error{position:absolute;inset:35% 15%;padding:25px;border-radius:15px;background:#faf6ef;z-index:8;text-align:center}#error[hidden]{display:none}#error button,#back-campus{padding:12px 20px;background:var(--teal);color:white;border-radius:9px}dialog{max-width:470px;border:1px solid white;background:#f5f7ef;color:var(--ink);padding:43px;border-radius:22px;box-shadow:0 30px 100px #183c4833}dialog::backdrop{background:#28464f55;backdrop-filter:blur(8px)}dialog h2{font:34px/1.2 Georgia,serif;margin:22px 0}dialog p:not(.eyebrow){font-size:13px;line-height:1.8;color:#5b7470}#close-about{position:absolute;right:15px;top:12px;font-size:25px;background:none}.dialog-tip{border-top:1px solid #b5c7bd77;padding-top:15px}#back-campus{font-size:12px;margin-top:15px}@keyframes turn{to{transform:rotate(360deg)}}@media(min-width:1600px){header{top:45px;left:55px;right:55px}.view-panel{left:55px}.edition{left:129px;top:160px}}@media(max-width:800px){header{top:24px;left:23px;right:23px}.crest{width:43px;height:49px;font-size:25px}.identity{gap:11px}.eyebrow{font-size:8px;letter-spacing:1.7px}h1{font-size:26px}.school-name{font-size:9px}.about-button{font-size:0}.about-button span{font-size:23px}.edition{left:77px;top:124px;font-size:8px}.view-panel{top:auto;bottom:155px;left:50%;transform:translateX(-50%);width:auto;display:flex;gap:18px}.view-panel .panel-label{display:none}.view-panel button{width:auto;white-space:nowrap;font-size:10px;gap:5px;padding:10px 0}.view-panel button span{width:auto}.view-panel i{display:none}.scene-caption{display:none}footer{bottom:20px}.toolbar{gap:1px;padding:7px}.toolbar button{padding:0 9px;min-width:34px;height:39px;font-size:18px}.toolbar em{font-size:10px}.separator{margin:0 2px}.hint{font-size:10px}.footer-note{font-size:7px}.optional{display:none}}@media(max-width:470px){.toolbar{border-radius:14px}.toolbar button{padding:0 8px}.toolbar em{display:none}.toolbar #reset em{display:inline}.view-panel{gap:14px}dialog{padding:30px;margin:15px}}@media(prefers-reduced-motion:reduce){.loading-flower{animation:none}#loading{transition:none}}

.crest{font-family:Georgia,serif;font-size:20px;letter-spacing:-1px}.loading-flower{animation:none}.scene-caption{font-style:normal}.footer-note{color:#506575}.toolbar #light{min-width:110px}@media(max-width:470px){.view-panel{gap:10px}.view-panel button{font-size:9px}.toolbar #light{min-width:34px}}

#scene{touch-action:none;user-select:none;-webkit-user-select:none}dialog{max-height:calc(100svh - 32px);overflow-y:auto;overscroll-behavior:contain}#campus-history p{font-size:13px;line-height:1.7}.hint{white-space:normal}@media(max-width:470px){.hint{font-size:9px;min-width:310px}}
