:root{--bg:#171d20;--panel:#1c2428;--text:#f5f4f0;--muted:#a4b0b5;--line:#ffffff12;--accent:#ffb45c;--input:#11191d;--shadow:0 12px 50px #0003;color-scheme:dark;font-family:Inter,"Segoe UI",Arial,sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);overflow:hidden}button,a,input{font:inherit}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,#scene:focus-visible{outline:3px solid var(--accent);outline-offset:4px}button{border:0}header{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 30px;border-bottom:1px solid var(--line);position:relative;z-index:30;background:var(--bg)}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:var(--text);letter-spacing:1.8px;font-size:20px;font-weight:400}.brand b{font-weight:800}.brand svg{width:37px;height:40px;stroke:var(--accent);fill:none;stroke-width:1.6}.brand small{display:block;letter-spacing:2.4px;font-size:9px;color:var(--muted);margin-top:5px}.header-middle{display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:1.4px;color:var(--muted)}.header-middle>span:last-child{letter-spacing:0;font-size:13px}.live-dot{width:6px;height:6px;background:var(--accent);border-radius:50%}.sep{padding:0 15px;color:#576168}.header-actions{display:flex;gap:9px}.icon-btn{display:grid;place-items:center;background:transparent;border:1px solid var(--line);border-radius:50%;width:38px;height:38px;font-size:20px}.icon-btn:hover{background:var(--line)}main{display:flex;height:calc(100dvh - 86px)}aside{width:294px;flex-shrink:0;display:flex;flex-direction:column;background:var(--panel);z-index:25;border-right:1px solid var(--line)}.nav-heading{padding:32px 24px 24px;display:flex;justify-content:space-between}.eyebrow{font-size:10px;font-weight:650;letter-spacing:2.1px;color:var(--muted)}h1{font-size:24px;letter-spacing:-.7px;font-weight:500;margin:12px 0 0}.count{font-size:11px;display:inline-flex;vertical-align:middle;margin-left:12px;border:1px solid #ffffff24;padding:3px 6px;border-radius:4px;color:var(--muted);letter-spacing:0}#rooms{overflow-y:auto;flex:1;padding:0 14px 20px;scrollbar-width:thin}.room-card{margin-bottom:4px;border:1px solid transparent;border-radius:10px;overflow:hidden}.room-card.active{background:#ffffff06;border-color:#ffffff12}.room-button{display:flex;text-align:left;width:100%;gap:12px;align-items:center;background:none;padding:15px 10px;border-radius:9px}.room-button:hover{background:var(--line)}.room-number{font-size:11px;color:var(--muted);align-self:flex-start;margin-top:4px}.room-label{flex:1;font-weight:550;font-size:14px}.room-label small{display:block;color:var(--muted);font-size:12px;font-weight:400;margin-top:6px}.room-arrow{font-size:17px;color:var(--muted)}.active .room-number,.active .room-label,.active .room-arrow{color:var(--accent)}.room-activities{display:none;padding:0 14px 13px 33px;gap:7px;flex-wrap:wrap}.active .room-activities{display:flex}.activity-chip{border:1px solid #ffffff18;background:transparent;padding:6px 9px;border-radius:5px;font-size:12px;color:var(--text)}.activity-chip:hover{background:var(--accent);border-color:var(--accent);color:#171d20}.sidebar-footer{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding:20px 24px;font-size:11px;line-height:1.6;color:var(--text)}.sidebar-footer small{display:block;font-size:11px;color:var(--muted)}.tiny-building{font-size:11px;font-weight:700;letter-spacing:1px;padding:9px 4px;border:1px solid #ffffff22;border-radius:4px;color:var(--muted)}#viewport{position:relative;flex:1;min-width:0;overflow:hidden;background:#b6c8cc}#scene,#scene canvas,.scene-vignette,#markers{position:absolute;inset:0;width:100%;height:100%}#scene{touch-action:none}#scene canvas{display:block}.scene-vignette{pointer-events:none;background:linear-gradient(0deg,#081316bc 0%,transparent 40%,transparent 85%,#0e171d25 100%);z-index:2}.scene-top{position:absolute;z-index:7;top:25px;left:28px;right:28px;display:flex;justify-content:space-between;gap:10px}.glass{display:flex;align-items:center;gap:10px;background:#1b252bcc;color:#fff;backdrop-filter:blur(14px);border:1px solid #ffffff27;padding:12px 16px;border-radius:7px;font-size:12px;box-shadow:0 4px 20px #0001}.glass svg{width:16px;fill:none;stroke:currentColor;stroke-width:1.5}.room-dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}.crumb-sep{color:#9aa4ab}.crumb>span:last-child{color:#c1c7cb}.scene-caption{position:absolute;pointer-events:none;z-index:5;bottom:161px;left:38px;color:#fff}.scene-caption .eyebrow{color:#ffd39f;font-size:10px}.scene-caption h2{font-size:clamp(30px,3vw,48px);font-weight:450;letter-spacing:-1.7px;line-height:1.1;margin:12px 0}.scene-caption p{color:#dfded6;font-size:14px;margin:0}.controls{position:absolute;z-index:9;bottom:59px;left:38px;display:flex;gap:17px;align-items:center;background:#1b252de8;backdrop-filter:blur(18px);border:1px solid #ffffff24;border-radius:12px;padding:12px 16px;color:#fff;box-shadow:var(--shadow)}.walk-pad{display:grid;grid-template-columns:repeat(3,33px);grid-template-rows:repeat(2,27px);gap:3px;touch-action:none}.walk-pad button{border-radius:4px;background:#ffffff15;border:1px solid #ffffff10;user-select:none;touch-action:none;font-size:18px}.walk-pad button:nth-child(1){grid-row:1/3}.walk-pad button:nth-child(3){grid-column:3;grid-row:1/3}.walk-pad button:nth-child(4){grid-column:2}.walk-pad button:active,.walk-pad button.pressed{background:#ffb45c;color:#171d20}.control-help{display:flex;flex-direction:column;gap:7px}.control-help strong{font-size:13px;font-weight:500}.control-help span{font-size:11px;color:#b6bfc6}.control-reset{width:34px;height:38px;font-size:24px;border-radius:5px;background:none;color:#eee}.control-reset:hover{background:#ffffff15}.control-divider{height:30px;border-left:1px solid #ffffff20}.scene-bottom{position:absolute;bottom:20px;left:38px;right:28px;display:flex;justify-content:space-between;color:#ffffffad;font-size:9px;letter-spacing:1.3px;z-index:5;pointer-events:none}.scene-bottom b{margin-left:8px;font-size:10px;border:1px solid #ffffff55;padding:2px 5px;border-radius:3px}#markers{pointer-events:none;z-index:4}.marker{position:absolute;display:flex;align-items:center;gap:8px;transform:translate(-50%,-100%);white-space:nowrap;border-radius:6px;background:#202d31ed;color:#fff;padding:9px 12px 9px 9px;box-shadow:0 5px 25px #0004;border:1px solid #ffffff40;pointer-events:auto;font-size:12px;transition:background .15s}.marker:after{content:"";position:absolute;left:50%;bottom:-25px;height:24px;width:1px;background:#ffffff9c}.marker i{font-style:normal;display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#ffb45c;color:#1b252b;font-size:17px}.marker:hover{background:#ffb45c;color:#151d20}.marker.door{background:#eef1eee8;color:#25353b}.marker.door i{background:#293a40;color:#fff}.marker .marker-arrow{color:#b8c0c4;margin-left:8px}.marker.door .marker-arrow{color:#65767c}#crosshair{position:absolute;left:50%;top:50%;width:5px;height:5px;background:#ffffffa0;border-radius:50%;pointer-events:none;z-index:3;box-shadow:0 0 4px #0005}#toast{position:absolute;bottom:170px;left:50%;transform:translateX(-50%);z-index:20;border-radius:8px;background:#101c24ed;color:white;font-size:14px;max-width:85%;padding:14px 20px;display:none;text-align:center}#loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#233036;z-index:6;color:#eee;font-size:14px}.loader{width:30px;height:30px;border:2px solid #ffffff25;border-top-color:#ffb45c;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}dialog{background:var(--panel);color:var(--text);border:1px solid #ffffff22;border-radius:16px;padding:40px;box-shadow:0 25px 100px #0008;max-height:85dvh;width:min(580px,92vw);overflow:auto}dialog::backdrop{background:#0b141aa6;backdrop-filter:blur(6px)}dialog h2{font-size:34px;letter-spacing:-1px;font-weight:500;margin:15px 0 10px}dialog h3{font-size:16px;margin:0 0 8px;font-weight:550}dialog p{font-size:15px;line-height:1.7;color:var(--muted)}.dialog-close{position:absolute;right:15px;top:15px}.detail-icon{font-size:35px;color:var(--accent);width:70px;height:70px;display:grid;place-items:center;border:1px solid #ffb45c44;border-radius:15px;margin:25px 0}.detail-topics{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}.detail-topics span{padding:8px 12px;background:var(--line);font-size:13px;border-radius:5px}.primary{display:inline-flex;align-items:center;justify-content:center;gap:14px;border-radius:7px;padding:13px 18px;background:var(--accent);color:#172025;text-decoration:none;font-weight:600;font-size:14px}.secondary{display:inline-flex;border-radius:7px;padding:12px 16px;background:var(--line);color:var(--text);font-size:14px;align-items:center;gap:10px}.detail-actions{display:flex;flex-wrap:wrap;gap:10px}.link-note{font-size:13px!important;line-height:1.6!important;padding:14px;border:1px dashed #ffffff26;border-radius:7px}.link-config{border-top:1px solid var(--line);margin-top:25px;padding-top:20px}.link-config summary{cursor:pointer;color:var(--muted);font-size:13px}.link-config label{display:block;font-size:13px;margin:16px 0 8px}.link-config input{width:100%;background:var(--input);border:1px solid #53636b;border-radius:6px;padding:12px;color:var(--text);font-size:14px}.link-config .secondary{margin-top:12px}.link-config small{display:block;font-size:12px;color:var(--muted);line-height:1.5;margin-top:12px}.help-row{display:flex;gap:20px;margin-top:24px}.help-row>b{color:var(--accent);font-size:14px;padding-top:3px}.help-row p{margin:0;font-size:14px}.muted{font-size:12px!important;border-top:1px solid var(--line);padding-top:20px}#map-dialog{width:min(850px,94vw)}#map-canvas{width:100%;height:auto;background:#121d23;border-radius:8px;cursor:pointer;margin:10px 0}#map-list{display:flex;gap:8px;flex-wrap:wrap}#map-list button{font-size:13px;padding:9px 12px;border-radius:6px;background:var(--line);color:var(--text)}#spaces-toggle,#mobile-close{display:none}.no-js{position:fixed;z-index:100;top:50%;left:30%;background:#fff;color:#000;padding:30px}body.light{--bg:#f4f5f4;--panel:#fff;--text:#1b292f;--muted:#5d6c73;--line:#172e3912;--accent:#bb6012;--input:#f0f4f5;color-scheme:light}body.light .room-card.active{background:#f8f0e6;border-color:#e8cfb7}body.light .activity-chip{border-color:#243d3927}body.light .active .activity-chip:hover{color:#fff}body.light .room-label small{color:var(--muted)}body.light .primary{color:#fff}body.light .detail-icon{border-color:#ad6d3d66}body.light .link-note{border-color:#23384844}body.light .count{border-color:#23384822}.error-note{max-width:330px;line-height:1.6;text-align:center;padding:20px}.error-note button{margin-top:12px}
@media(min-width:1600px){aside{width:320px}.room-button{padding:20px 12px}.room-label{font-size:16px}.activity-chip{font-size:14px}.header-middle{font-size:12px}}@media(max-width:1100px){aside{width:260px}.header-middle{display:none}.scene-caption{left:25px}.controls{left:25px;gap:10px}.control-help span{max-width:165px;line-height:1.5}.scene-bottom{left:25px}.scene-top{left:20px;right:20px}.crumb{padding:11px}.crumb-sep,.crumb>span:last-child{display:none}.glass{font-size:12px;padding:11px}.control-help{max-width:170px}}
@media(max-width:760px){header{height:70px;padding:0 18px}.brand{font-size:17px;gap:9px}.brand svg{width:30px}.brand small{font-size:8px;letter-spacing:1.8px}.header-actions{gap:5px}.header-actions .icon-btn{width:33px;height:33px}main{height:calc(100dvh - 70px)}aside{position:absolute;left:0;top:70px;bottom:0;width:min(320px,88vw);transform:translateX(-100%);transition:transform .2s;box-shadow:15px 0 40px #0004}body.nav-open aside{transform:translateX(0)}#mobile-close{display:grid}#spaces-toggle{display:flex}.scene-top{top:15px;left:14px;right:14px;gap:7px}.crumb{display:none}#map-button{margin-left:auto}.scene-caption{left:22px;bottom:177px}.scene-caption h2{font-size:36px}.scene-caption p{font-size:13px;max-width:290px}.scene-caption .eyebrow{font-size:9px;letter-spacing:1.5px}.controls{left:16px;right:16px;bottom:53px;padding:10px 12px;justify-content:space-between;gap:8px}.walk-pad{grid-template-columns:repeat(3,38px);grid-template-rows:repeat(2,30px)}.control-help{flex:1}.control-help strong{font-size:12px}.control-help span{font-size:10px;max-width:145px}.control-divider{display:none}.control-reset{width:30px;font-size:23px}.scene-bottom{left:18px;right:18px;bottom:19px;font-size:8px;letter-spacing:.6px}.marker{font-size:11px;padding:7px 9px;gap:5px}.marker i{width:21px;height:21px}.marker-arrow{display:none}dialog{padding:30px 23px}.scene-caption{max-width:85%}#visit-mode{font-size:8px}.room-button{min-height:62px}.activity-chip{font-size:14px}.room-label{font-size:16px}}
@media(max-width:380px){.control-help{display:none}.controls{justify-content:center;gap:20px}.scene-caption h2{font-size:30px}}@media(max-height:580px){.scene-caption{bottom:127px}.scene-caption p{display:none}.scene-caption h2{font-size:28px}.controls{bottom:35px;padding:7px 12px}.scene-bottom{bottom:9px}.scene-top{top:12px}.nav-heading{padding:15px 24px}.sidebar-footer{display:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.loader{animation:none}}@media print{header,aside,#viewport,.dialog-close{display:none!important}dialog[open]{position:static;display:block;max-height:none;width:100%;border:0;color:#111;background:#fff;box-shadow:none}dialog p{color:#333}.link-config,.detail-actions{display:none}}

.activity-chip{font-size:14px}.marker{font-size:14px}.control-help strong{font-size:14px}@media(max-width:760px){.marker{font-size:12px}.control-help strong{font-size:12px}}
/* Visit 2 — clear activity labels and Street View-style floor navigation. */
:root{--accent:#ffc16d;--bg:#131c22;--panel:#1a252c}
header{height:76px;background:var(--bg)}main{height:calc(100dvh - 76px)}.brand{letter-spacing:2.1px}.brand svg{stroke-width:1.8}.header-middle{color:#b8c5cc}aside{width:280px}.nav-heading{padding-top:26px}.room-button{padding-top:14px;padding-bottom:14px}.active .room-label{color:#ffe0ac}.room-card.active{background:linear-gradient(110deg,#ffc16d12,#ffc16d04);border-color:#ffc16d3b}.room-activities .activity-chip{background:#ffffff0a;border-color:#ffffff26}.activity-chip:hover{box-shadow:0 2px 12px #0002}.sidebar-footer{color:#dce7e9}.scene-top{top:20px;left:26px;right:26px}.glass{background:#152831e8;box-shadow:0 4px 18px #09161c24;border-color:#ffffff46;font-size:13px}.scene-vignette{background:linear-gradient(0deg,#06131dc7,transparent 42%,transparent 77%,#15242b20)}
.activity-dock{position:absolute;z-index:8;top:80px;left:26px;right:26px;display:flex;align-items:center;gap:12px;pointer-events:none}.activity-dock>span{font-size:9px;letter-spacing:1.6px;font-weight:700;color:#fff;text-shadow:0 1px 6px #12242f;padding:8px 0}#quick-activities{display:flex;gap:7px;flex-wrap:wrap;pointer-events:auto}#quick-activities button{display:flex;align-items:center;gap:8px;min-height:40px;padding:8px 12px;background:#fffaf0f5;border:1px solid #fff;color:#193240;border-radius:7px;font-size:14px;font-weight:650;box-shadow:0 3px 15px #0a22352e;transition:transform .15s,background .15s}#quick-activities button>span:first-child{color:#ad591e;font-size:18px}#quick-activities .quick-arrow{margin-left:3px;font-size:14px;color:#557078}#quick-activities button:hover{background:#ffd391;transform:translateY(-2px)}
.marker{padding:10px 12px 10px 9px;background:#fff7e8;color:#18313f;border:2px solid #fff;border-radius:11px;box-shadow:0 5px 24px #0b233254,0 0 0 4px #ffba5b38;gap:10px;min-height:58px;font-size:15px}.marker i{width:35px;height:35px;flex-shrink:0;border-radius:9px;background:#ffc06c;color:#283c44;font-size:23px}.marker-copy{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.marker-copy strong{font-weight:750;font-size:15px}.marker-copy small{font-size:10px;letter-spacing:.7px;text-transform:uppercase;font-weight:600;color:#755333}.marker .marker-arrow{margin-left:3px;color:#345160;font-size:18px}.marker:after{height:22px;bottom:-24px;width:2px;background:#fff;box-shadow:0 1px 4px #142a3755}.marker:before{content:"";position:absolute;left:calc(50% - 5px);bottom:-31px;width:10px;height:10px;border:2px solid white;background:#ffc06c;border-radius:50%;box-shadow:0 0 0 4px #ffffff33}.marker:hover,.marker:focus-visible{background:#ffd294;box-shadow:0 5px 28px #0b23326b,0 0 0 5px #ffce9170;z-index:12}.marker.door{background:#1a3546eb;color:#fff;border:1px solid #ffffff80;box-shadow:0 4px 18px #071c3933;min-height:47px;padding:8px 10px;gap:8px}.marker.door i{width:28px;height:28px;background:#ffffff20;color:white;font-size:19px}.marker.door .marker-copy strong{font-size:13px;font-weight:600}.marker.door .marker-copy small{font-size:9px;color:#d4e1e6}.marker.door .marker-arrow{color:#d4e1e6}.marker.door:before{background:#e5eff4}.marker.door:hover{background:#294c61}
.floor-route{position:absolute;z-index:3;transform:translate(-50%,-100%);pointer-events:auto;display:flex;align-items:center;gap:7px;padding:7px 11px 7px 7px;border:1px solid #ffffff95;background:#16364bec;color:white;border-radius:30px;box-shadow:0 3px 15px #08212d55;white-space:nowrap;min-height:39px;backdrop-filter:blur(6px)}.floor-route>span{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:white;color:#204252;font-size:21px;font-weight:600}.floor-route strong{font-size:12px;font-weight:650}.floor-route small{font-size:9px;color:#d7e9f1;padding-left:4px;border-left:1px solid #ffffff44}.floor-route:hover,.floor-route:focus-visible{background:#2e708c;box-shadow:0 3px 20px #08212d66,0 0 0 4px #ffffff4f}.floor-route:after{content:"";width:1px;height:15px;position:absolute;bottom:-16px;left:50%;background:#ffffffa0}.scene-caption{bottom:151px;max-width:310px}.scene-caption h2{font-size:clamp(28px,2.6vw,40px);text-shadow:0 2px 18px #14273455}.scene-caption p{line-height:1.5;font-size:13px;max-width:270px}.scene-caption .eyebrow{letter-spacing:1.4px}.controls{padding:10px 13px;border-color:#ffffff46;background:#142630ed;gap:12px}.control-help span{max-width:210px;line-height:1.45}.scene-bottom{font-size:9px;letter-spacing:.6px}.control-help strong{font-size:13px}#toast{bottom:155px}.room-arrow{transition:transform .15s}.room-button:hover .room-arrow{transform:translate(2px,-2px)}body.light .active .room-label{color:#9b4e15}body.light .room-card.active{border-color:#b76a333b}body.light .header-middle{color:var(--muted)}body.light .sidebar-footer{color:var(--text)}
@media(max-width:1100px){aside{width:250px}.activity-dock>span{display:none}.activity-dock{left:20px;right:20px;top:78px}#quick-activities{gap:6px}#quick-activities button{font-size:13px;padding:7px 9px;min-height:37px}.marker-copy strong{font-size:14px}.marker{min-height:54px}.scene-caption{max-width:270px}.control-help span{max-width:170px}}
@media(max-width:760px){header{height:70px}main{height:calc(100dvh - 70px)}aside{top:70px;width:min(320px,88vw)}.scene-top{top:14px;left:14px;right:14px}.activity-dock{left:14px;right:14px;top:69px}#quick-activities{flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding:3px 2px 9px;scrollbar-width:none}#quick-activities button{flex-shrink:0;font-size:14px;min-height:40px;padding:8px 11px}#quick-activities .quick-arrow{display:none}.marker{padding:7px 9px;min-height:47px;gap:7px;border-radius:9px;box-shadow:0 4px 18px #0b233260,0 0 0 3px #ffba5b40}.marker i{width:29px;height:29px;font-size:20px}.marker-copy strong{font-size:13px}.marker-copy small{font-size:9px}.marker.door .marker-copy small{display:none}.marker.door .marker-copy strong{font-size:12px}.marker.door{min-height:39px}.floor-route small{display:none}.floor-route strong{font-size:12px}.floor-route{max-width:230px;white-space:normal}.scene-caption{left:20px;bottom:160px;max-width:225px}.scene-caption h2{font-size:29px;letter-spacing:-.7px}.scene-caption p{font-size:12px}.scene-caption .eyebrow{font-size:8px;letter-spacing:1px}.controls{left:14px;right:14px;gap:8px}.control-help strong{font-size:12px}.control-help span{font-size:10px;max-width:125px}.scene-bottom>span:first-child{max-width:220px;font-size:8px;line-height:1.5}.scene-bottom{bottom:15px}.room-label{font-size:16px}}
@media(max-height:580px){.scene-caption{bottom:120px}.scene-caption h2{font-size:25px}.activity-dock{top:64px}.controls{bottom:32px}.scene-bottom{bottom:6px}}
/* Activities are the primary entry point; left navigation and campus plan are unchanged. */
.activity-dock{top:77px;display:flex;flex-direction:column;align-items:stretch;gap:13px;padding:17px 19px 18px;background:linear-gradient(115deg,#fff7e7f7,#f4efe5f5);border:1px solid #ffffff;border-left:4px solid #e5a04d;border-radius:12px;box-shadow:0 8px 35px #142d3d38;backdrop-filter:blur(14px);color:#183541;pointer-events:auto}.activity-dock-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.activity-eyebrow{display:block;font-size:9px;font-weight:750;letter-spacing:1.5px;color:#80603d}.activity-dock h2{margin:5px 0 0;font-size:23px;line-height:1.12;font-weight:650;letter-spacing:-.55px}#activity-count{color:#6a6050;font-size:12px;white-space:nowrap;padding:6px 9px;border-radius:20px;background:#b8813320}#quick-activities{display:flex;flex-wrap:wrap;gap:9px;overflow:visible;max-width:none;padding:0}#quick-activities button{flex:1 1 auto;justify-content:flex-start;min-height:49px;padding:11px 15px;font-size:16px;letter-spacing:-.2px;font-weight:650;background:#254754;color:#fff;border:1px solid #315768;border-radius:8px;box-shadow:0 3px 8px #253e5315}#quick-activities button>span:first-child{font-size:22px;color:#ffd49a;min-width:22px}#quick-activities .quick-arrow{display:inline-block;color:#d5e6ec;margin-left:auto;padding-left:12px}#quick-activities button:hover,#quick-activities button:focus-visible{background:#be7e35;color:#fff;transform:translateY(-1px);border-color:#a56529}#quick-activities button:hover>span:first-child{color:#fff}.scene-caption{pointer-events:none}.floor-route{background:#234856eb}.scene-caption p{color:#f0e4d0}
@media(max-width:1100px){.activity-dock{top:75px;left:20px;right:20px;padding:14px 15px;gap:11px}.activity-dock h2{font-size:21px}#quick-activities{gap:7px}#quick-activities button{font-size:14px;min-height:44px;padding:9px 11px}#quick-activities .quick-arrow{padding-left:5px}}
@media(max-width:760px){.activity-dock{top:67px;left:14px;right:14px;padding:12px 13px;gap:10px;border-left-width:3px;border-radius:10px}.activity-dock-heading{gap:7px}.activity-dock h2{font-size:19px;max-width:245px}.activity-eyebrow{font-size:8px;letter-spacing:1px}#activity-count{font-size:10px;padding:5px 7px}#quick-activities{display:flex;flex-wrap:wrap;overflow:visible;gap:6px}#quick-activities button{flex:1 1 calc(50% - 6px);min-height:43px;padding:8px 10px;font-size:14px;gap:6px}#quick-activities button>span:first-child{font-size:18px;min-width:18px}#quick-activities .quick-arrow{font-size:13px;padding-left:0;display:inline-block}.scene-caption{bottom:151px}.scene-caption p{display:none}}
@media(max-height:580px) and (min-width:761px){.activity-dock{top:64px;padding:9px 12px;gap:7px}.activity-dock h2{font-size:17px}.activity-eyebrow{display:none}#quick-activities button{min-height:36px;padding:6px 10px;font-size:13px}.scene-caption{bottom:115px}}
/* A single activity menu, separated direction labels and press-to-walk feedback. */
.floor-route:after{top:100%;bottom:auto;height:var(--leader-length,16px);transform-origin:top center;transform:rotate(var(--leader-angle,0rad));pointer-events:none}.floor-route{transition:background .15s,box-shadow .15s;max-width:min(250px,calc(100vw - 60px))}#scene{cursor:grab}#scene.mouse-advancing{cursor:grabbing}#scene.mouse-advancing~#crosshair{width:10px;height:10px;margin:-3px 0 0 -3px;background:#ffc16d;border:2px solid #fff;box-shadow:0 0 0 5px #ffc16d35}
/* Deliberate first-person walking, separate from room exploration. */
.navigation-switch{display:flex;flex-direction:column;gap:4px;padding-right:12px;border-right:1px solid #ffffff25}.navigation-switch button{border:1px solid transparent;border-radius:5px;padding:7px 10px;min-height:30px;background:transparent;color:#c6d6dc;font-size:12px;font-weight:600}.navigation-switch button[aria-pressed="true"]{background:#ffd197;color:#233b46;border-color:#ffe4be}.navigation-switch button:hover{border-color:#ffffff66}.controls{max-width:calc(100% - 54px)}.control-help{min-width:0}.control-help span{max-width:225px}.walking-mode .controls{border-color:#edc089}.walking-mode #crosshair{width:7px;height:7px;background:#ffd197;border:1px solid #fff}.walking-mode #scene{cursor:crosshair}
@media(max-width:1100px){.controls{gap:9px}.navigation-switch{padding-right:8px}.control-help span{font-size:10px;max-width:180px}.control-help strong{font-size:12px}}
@media(max-width:760px){.controls{flex-wrap:wrap;max-width:none;gap:8px;padding:10px;bottom:50px}.navigation-switch{flex-direction:row;border-right:0;padding-right:0;flex:1 0 100%;border-bottom:1px solid #ffffff20;padding-bottom:8px}.navigation-switch button{flex:1;min-height:35px;font-size:14px}.control-help{display:block;flex:1}.control-help strong{font-size:11px}.control-help span{display:block;font-size:10px;max-width:150px;margin-top:4px}.scene-caption{bottom:204px}.scene-caption h2{font-size:26px}.walk-pad{grid-template-columns:repeat(3,31px);grid-template-rows:repeat(2,26px)}}
@media(max-width:380px){.control-help{display:none}.controls{justify-content:space-between}}
/* One navigation system: pad + keyboard, six direct rooms around the gym. */
#scene{cursor:default;touch-action:none}.controls{gap:13px;max-width:calc(100% - 48px);padding:12px 15px}.walk-pad{grid-template-columns:repeat(3,42px);grid-template-rows:repeat(2,32px);gap:4px}.walk-pad button{font-size:22px}.control-help strong{font-size:14px}.control-help span{font-size:11px;line-height:1.6;max-width:210px}.back-gym{background:#ffcd8b;color:#213945;font-weight:650;font-size:13px;padding:12px 14px;border-radius:7px;min-height:44px;white-space:nowrap}.back-gym:disabled{background:#ffffff10;color:#c5d1d8;cursor:default}.back-gym:not(:disabled):hover{background:#ffe2b6}.scene-caption{bottom:163px}.scene-caption p{max-width:300px}.floor-route small{display:none}
@media(max-width:1100px){.controls{gap:9px}.control-help{display:none}.back-gym{font-size:12px;padding:11px}.walk-pad{grid-template-columns:repeat(3,40px)}}
@media(max-width:760px){.controls{flex-wrap:wrap;justify-content:center;left:14px;right:14px;bottom:51px;max-width:none;gap:10px;padding:11px}.walk-pad{grid-template-columns:repeat(3,46px);grid-template-rows:repeat(2,35px)}.back-gym{flex:1;white-space:normal;min-width:110px;font-size:13px}.control-reset{width:32px}.control-divider{display:none}.scene-caption{bottom:205px}.scene-caption p{display:none}.scene-bottom{font-size:8px}.scene-bottom>span:first-child{max-width:210px}}
@media(max-width:390px){.controls{gap:7px}.walk-pad{grid-template-columns:repeat(3,40px)}.back-gym{min-width:100px}.control-reset{width:28px}.scene-caption{bottom:208px}}

/* Persistent destinations and activity labels stay readable regardless of camera direction. */
#markers{inset:84px 24px auto auto;width:310px;height:auto;display:flex;flex-direction:column;gap:12px;z-index:8}
.route-dock,.campus-activity-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;pointer-events:none}
#markers .marker,#markers .floor-route{position:static!important;transform:none!important;white-space:normal;min-width:0;width:100%;min-height:47px;margin:0;padding:10px;gap:7px;font-size:13px;pointer-events:auto;visibility:visible!important;text-align:left;border-radius:8px}
#markers .marker:after,#markers .floor-route:after,#markers .floor-route:before{display:none!important}
#markers .marker strong,#markers .floor-route strong{font-size:13px;line-height:1.25}#markers small,#markers .marker-arrow{display:none!important}
#markers .floor-route{background:#f4f1e9f5;color:#152c35;border:1px solid #fff8;box-shadow:0 3px 12px #0002}#markers .floor-route>span{font-size:18px;width:auto;height:auto;background:none;color:#985000}
#markers .marker{background:#17282ff2;border:1px solid #ffc37c80;color:#fff}#markers button:hover{outline:2px solid #ffb45c;background:#344650}
.position-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#ef4444;border:1px solid white;flex-shrink:0}#map-button{margin-left:auto;flex-shrink:0}
@media(max-width:760px){#markers{top:74px;right:14px;width:min(310px,calc(100% - 28px));gap:9px}#markers .marker,#markers .floor-route{min-height:42px;padding:8px}.scene-caption{bottom:190px}.scene-caption p{display:none}}
@media(max-height:650px){#markers{width:min(470px,calc(100% - 32px));top:72px}.route-dock,.campus-activity-list{grid-template-columns:repeat(3,minmax(0,1fr))}.scene-caption{display:none}#markers .marker,#markers .floor-route{min-height:36px;padding:6px}}

#markers-toggle,.control-divider{display:none}

#markers>.route-dock,#markers>.campus-activity-list{position:static;inset:auto;flex:none;min-width:0;width:100%;align-items:stretch}
#markers>.campus-activity-list{padding-top:12px;border-top:1px solid #ffffff70}
#markers .marker:before{display:none!important}
#markers .marker-copy{min-width:0;overflow-wrap:anywhere}
