.campus-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}.campus-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0}.campus-tools label{display:flex;align-items:center;gap:8px;font-size:.85rem}.campus-tools input[type=range]{width:130px;min-height:24px}.campus-viewport{overflow:auto;max-height:75vh;border:1px solid var(--border);border-radius:12px;background:#fff;overscroll-behavior:contain}.campus-canvas{position:relative;width:100%;min-width:640px}.campus-canvas>img{display:block;width:100%;height:auto}.campus-pin{position:absolute;transform:translate(-50%,-50%);width:30px;height:30px;min-height:30px;padding:0;border:2px solid #fff;border-radius:50%;background:var(--pin-color,#70214a);color:#fff;font-size:11px;font-weight:750;box-shadow:0 1px 4px #0005;cursor:pointer;z-index:1}.campus-pin:hover,.campus-pin[aria-pressed=true]{outline:3px solid #223248;outline-offset:2px;z-index:3}.campus-pin.shared-first{margin-left:-16px}.campus-pin.shared-last{margin-left:16px}.campus-sidebar{min-width:0}.campus-detail{background:#f7f9fc;border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:16px}.campus-detail img{width:100%;border-radius:8px;margin:12px 0 6px}.campus-detail h3{margin:8px 0}.campus-key{max-height:50vh;overflow:auto;display:grid;gap:5px;padding:3px}.campus-key h3{margin:14px 0 6px;font-size:.9rem}.campus-key button{display:flex;align-items:center;gap:9px;background:#fff;text-align:left;border:1px solid var(--border);border-radius:8px;padding:9px;font-size:.82rem;cursor:pointer;color:var(--text)}.campus-key button[aria-pressed=true]{border-color:var(--deep);background:#fbf3f7}.campus-number{display:inline-grid;place-items:center;flex:0 0 27px;height:27px;border-radius:50%;background:var(--pin-color);color:#fff;font-size:.75rem;font-weight:700}.campus-settings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}.campus-setting{display:flex;gap:10px;align-items:center;padding:11px;border:1px solid var(--border);border-radius:9px;font-size:.85rem}.campus-setting input{flex:0 0 auto}.campus-setting span{min-width:0}.campus-attribution{font-size:.76rem;color:var(--muted);margin:12px 0 0}.campus-setting-category{font-size:.72rem;display:block;color:var(--muted)}
@media(max-width:1000px){.campus-layout{grid-template-columns:1fr}.campus-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:14px}.campus-key{max-height:330px}.campus-settings{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.campus-sidebar{display:block}.campus-settings{grid-template-columns:1fr}.campus-viewport{max-height:60vh}.campus-tools{gap:8px}}

/* A personal house highlight uses the existing campus location number. */
.campus-own-house{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px 18px;margin:0 0 20px;background:#f8f1f5;border:1px solid #e3ccd9;border-radius:12px;color:#233249}.campus-own-house[hidden]{display:none}.campus-own-house span{display:block;margin-top:5px;font-size:.85rem;color:#647185}
.campus-pin.campus-pin-own{background:#92235e;color:white;box-shadow:0 0 0 5px #fff,0 0 0 8px #92235e;border-color:#fff;z-index:8;overflow:visible}
.campus-own-tag{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translateX(-50%);padding:5px 9px;background:#79214e;color:#fff;border-radius:6px;font-size:11px;line-height:1.3;white-space:nowrap;pointer-events:none}
.campus-own-key{display:block;color:#92235e;font-size:.75rem}.campus-own-detail{font-weight:750;color:#92235e}
