:root{color-scheme:light;--navy:#02216e;--red:#c91235;--ink:#122340;--line:#d9e0ed}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:#f3f5fa;font-family:Arial,sans-serif;font-size:16px}header{background:var(--navy);color:white;padding:20px 32px;display:flex;align-items:center;gap:40px;border-bottom:5px solid var(--red)}.brand{font-family:Georgia,serif;font-size:25px;letter-spacing:2px}.brand span{display:block;font-family:Arial,sans-serif;font-size:12px;letter-spacing:7px;margin-top:3px}h1{font-size:24px;margin:0;font-weight:700}main{max-width:1600px;margin:0 auto;display:grid;grid-template-columns:340px minmax(0,1fr);gap:22px;padding:24px}aside{background:white;padding:24px;border:1px solid var(--line);border-radius:12px;align-self:start}label{display:block;font-weight:700;font-size:14px;margin-bottom:9px}input,select,button{font:inherit}input,select{width:100%;min-height:48px;border:1px solid #a1aec8;border-radius:6px;background:white;color:var(--ink);padding:10px}button{border:1px solid var(--line);background:white;color:var(--navy);border-radius:6px;min-height:44px;padding:8px 13px;cursor:pointer;font-weight:700}button:hover{background:#eaf0ff}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #177fc0;outline-offset:3px}.separator{font-size:14px;color:#52617b;display:flex;align-items:center;gap:12px;margin:23px 0}.separator:before,.separator:after{content:'';height:1px;background:var(--line);flex:1}.search-row{display:flex;gap:6px}.search-row input{min-width:0}.search-row button{font-size:23px}.secondary{font-size:14px;color:#53627a;line-height:1.5}#results{max-height:260px;overflow:auto}#results button{display:block;text-align:left;width:100%;margin:0 0 6px;line-height:1.4;font-size:15px}#results small{display:block;color:#52617b;font-size:13px;font-weight:400;margin-top:3px}#details{border-top:3px solid var(--red);margin-top:20px;padding-top:18px}h2{font-size:21px;line-height:1.25;margin:10px 0}#address{line-height:1.5}.category{text-transform:uppercase;font-size:12px;letter-spacing:1px;color:#56627a;font-weight:700}.notice{font-size:14px;line-height:1.5;background:#fff3d8;padding:10px;border-radius:6px}#show,#download{background:var(--navy);color:white;width:100%}.map-section{min-width:0;background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden}.map-toolbar{padding:12px 16px;display:flex;justify-content:space-between;align-items:center;gap:10px}.map-toolbar>div{display:flex;gap:6px}.map-toolbar span{font-weight:700;font-size:14px}#viewport{height:calc(100dvh - 230px);min-height:450px;overflow:auto;background:#dce6d1;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom}#canvas{position:relative;margin:auto;width:100%;line-height:0}#map{width:100%;height:auto;display:block;user-select:none}#marker{position:absolute;transform:translate(-50%,-100%);z-index:3;display:flex;flex-direction:column;align-items:center;pointer-events:none;line-height:1.3}#marker[hidden]{display:none}.pin{display:block;position:relative;width:32px;height:32px;background:var(--red);border:3px solid white;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 3px 9px #0008}.pin:after{content:'';position:absolute;inset:7px;background:white;border-radius:50%}#pin-label{order:-1;display:block;width:max-content;max-width:230px;padding:7px 10px;margin-bottom:12px;border-radius:6px;background:var(--navy);color:white;font-size:14px;font-weight:700;box-shadow:0 2px 8px #0005;text-align:center}.map-note{padding:0 16px;font-size:14px;color:#52617b;line-height:1.5}.edit-panel{border-top:1px solid var(--line);margin-top:20px;padding-top:12px}.edit-panel p{line-height:1.5;font-size:14px}.import{margin-top:12px}.import input{margin-top:8px;font-size:14px}.editing #canvas{cursor:crosshair}@media(max-width:760px){header{padding:16px 18px;gap:24px}.brand{font-size:21px}h1{font-size:21px}main{display:flex;flex-direction:column;padding:12px;gap:12px}aside{padding:18px;width:100%}.separator{margin:16px 0}#results{max-height:180px}#details{padding-top:12px;margin-top:14px}#viewport{height:62dvh;min-height:370px}.map-toolbar{padding:10px}.map-toolbar span{max-width:40%;font-size:13px}.map-toolbar button{font-size:14px;padding:8px 10px}.map-section{width:100%}#pin-label{max-width:200px}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s}} 

.editor-intro{border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:18px}.editor-intro p{font-size:14px;line-height:1.5}.editor-intro strong{font-size:20px}.editor-intro button{width:100%;background:var(--navy);color:white}#save-status{font-size:14px;color:#53627a}[hidden]{display:none!important}

header{padding:24px 32px;gap:36px;align-items:center}.brand{flex:0 0 auto;padding:12px 8px;line-height:0}.college-logo{display:block;width:245px;max-width:100%;height:auto}.map-introduction{max-width:820px}.map-introduction h1{font-family:"new-frank",Arial,sans-serif;font-size:clamp(1.35rem,2.4vw,1.85rem);font-weight:700;line-height:1.35}.good{font-family:"new-frank",Arial,sans-serif;font-weight:800;font-style:normal}.map-introduction p{margin:10px 0 0;font-size:1rem;line-height:1.5;color:white}#viewport{height:calc(100dvh - 290px)}@media(max-width:760px){header{flex-direction:column;align-items:flex-start;gap:12px;padding:20px}.brand{padding:8px 0;margin-bottom:4px}.college-logo{width:220px}.map-introduction h1{font-size:1.4rem}.map-introduction p{margin-top:8px}#viewport{height:62dvh}}

.map-introduction h1{font-family:"adelle",Georgia,serif;font-weight:700;line-height:1.4}.headline-first{display:block;font-family:"new-frank",Arial,sans-serif;font-weight:800;margin-bottom:6px}.headline-second{display:block;font-family:"adelle",Georgia,serif;font-weight:700}.headline-emphasis{font-family:"new-frank",Arial,sans-serif;font-weight:800;font-style:normal}.map-introduction p{font-family:"adelle",Georgia,serif;font-weight:400}

body{font-family:"adelle",Georgia,serif;font-weight:400}main,main input,main select,main option,main optgroup,main button,main label,main h2,main p,main span,main small,main strong,main .category,main .secondary,main .map-toolbar span,main #pin-label{font-family:"adelle",Georgia,serif;font-weight:400}

.map-introduction h1{font-family:"adelle",Georgia,serif;font-weight:500}.headline-opening{white-space:nowrap}.headline-first{display:inline;font-family:"adelle",Georgia,serif;font-weight:700;margin:0}.headline-emphasis{font-family:"new-frank",Arial,sans-serif;font-weight:800}main label[for="building"],main label[for="search"]{font-weight:700}

.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#clear,#zoomin,#zoomout{background:#c91235;color:#fff;border-color:#c91235}#clear:hover,#zoomin:hover,#zoomout:hover{background:#a80f2c;border-color:#a80f2c}

#clear,#zoomin,#zoomout{background:#02216e;color:#fff;border-color:#02216e}#clear:hover,#zoomin:hover,#zoomout:hover{background:#01174e;border-color:#01174e}.address{line-height:1.5}#address,#address:visited{color:var(--ink);text-decoration:underline;text-underline-offset:3px;font-family:"adelle",Georgia,serif;font-weight:400}

main #clear,main #zoomin,main #zoomout{font-family:Arial,sans-serif;font-size:30px;font-weight:800;line-height:1;min-width:46px;min-height:46px;padding:6px 10px}
