.publicBottomNav__wrap{position:fixed;z-index:35;inset:auto 0 16px;display:flex;justify-content:center;padding:0 16px env(safe-area-inset-bottom);pointer-events:none}.publicBottomNav{width:min(100%,680px);min-height:62px;border:1px solid #c8d6cd;border-radius:18px;padding:3px 8px;pointer-events:auto;background:#fffffff2!important;box-shadow:0 12px 34px #17352824;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.publicBottomNav .MuiBottomNavigationAction-root{min-width:0;min-height:54px;border-radius:13px;color:#708078}.publicBottomNav .MuiBottomNavigationAction-root.Mui-selected{color:var(--hm-brand-800);background:#e8f3ed}.publicBottomNav .MuiBottomNavigationAction-label{margin-top:1px;font-size:.74rem;font-weight:700}@media (max-width: 599px){.publicBottomNav__wrap{inset:auto 0 0;padding:0}.publicBottomNav{width:100%;min-height:60px;border-right:0;border-bottom:0;border-left:0;border-radius:16px 16px 0 0;padding:2px 6px env(safe-area-inset-bottom)}.publicBottomNav .MuiBottomNavigationAction-root{min-height:54px}.publicBottomNav .MuiBottomNavigationAction-label{font-size:.7rem}}.publicPageHeader{--public-header-height: calc(76px + env(safe-area-inset-top)) ;position:fixed;z-index:40;inset:0 0 auto;height:var(--public-header-height);color:#f5fff8;background:linear-gradient(105deg,#075c3a,#0e7a4f 54%,#189867);box-shadow:0 4px 18px #0b4f3424}.publicPageHeader__inner{display:flex;align-items:center;justify-content:space-between;gap:16px;width:min(100%,1200px);height:100%;margin:0 auto;padding:env(safe-area-inset-top) max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left))}.publicPageHeader__titleGroup{display:flex;align-items:center;min-width:0;gap:14px}.publicPageHeader__heading{min-width:0}.publicPageHeader__brand{display:block;width:fit-content;color:#d8f2e4;font-size:.72rem;font-weight:700;line-height:1;letter-spacing:.055em;text-decoration:none}.publicPageHeader__heading h1{margin:4px 0 0;color:#fff;font-size:clamp(1.08rem,2vw,1.35rem);font-weight:700;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.publicPageHeader__backLink{display:inline-flex;flex:0 0 auto;align-items:center;gap:3px;min-height:44px;border-right:1px solid #ffffff4d;padding-right:14px;color:#f7fffa;font-size:.88rem;font-weight:700;text-decoration:none}.publicPageHeader__backLink:hover,.publicPageHeader__brand:hover{color:#fff}.publicPageHeader__actions{display:flex;flex:0 0 auto;align-items:center;gap:8px}.publicPageHeader__menuButton{display:inline-flex;align-items:center;gap:6px;min-height:40px;border:1px solid #ffffff8c;border-radius:999px;padding:7px 14px;color:#fff;background:#ffffff12;font-size:.84rem;font-weight:700;cursor:pointer;transition:background-color .16s ease,border-color .16s ease}.publicPageHeader__menuButton:hover{border-color:#fff;background:#ffffff24}.publicPageHeader__menuButton:focus-visible{outline:3px solid #ffffff80;outline-offset:2px}.publicPageHeader__menuPaper{min-width:196px;border:1px solid var(--hm-border);border-radius:14px!important;box-shadow:0 14px 32px #1735281f!important}.publicPageHeader__menuItem{display:flex!important;align-items:center!important;gap:10px!important;min-height:44px!important;color:var(--hm-text)!important;font-size:.92rem!important}.publicPageHeader__menuItem svg{color:var(--hm-brand-700)}.publicPageHeader__spacer{height:calc(76px + env(safe-area-inset-top))}@media (max-width: 599px){.publicPageHeader{--public-header-height: calc(68px + env(safe-area-inset-top)) }.publicPageHeader__inner{gap:10px;padding-inline:max(12px,env(safe-area-inset-left)) max(12px,env(safe-area-inset-right))}.publicPageHeader__titleGroup{gap:9px}.publicPageHeader__brand{font-size:.64rem}.publicPageHeader__heading h1{margin-top:3px;font-size:1.05rem}.publicPageHeader__backLink{min-height:40px;padding-right:9px;font-size:.8rem}.publicPageHeader__menuButton{min-height:36px;padding:6px 10px;font-size:.76rem}.publicPageHeader__spacer{height:calc(68px + env(safe-area-inset-top))}}@media (min-width: 600px) and (max-width: 1023px){.publicPageHeader__inner{padding-inline:24px}}.buildingsPage{min-height:100dvh}.buildingsPage__content{width:min(100%,1200px);margin:0 auto;padding:0 clamp(12px,3vw,28px) calc(104px + env(safe-area-inset-bottom))}.buildingsPage__searchArea{position:fixed;z-index:35;top:var(--public-header-height);left:50%;width:min(100%,1200px);margin:0;border-bottom:1px solid var(--hm-border);padding:clamp(12px,2.5vw,20px) clamp(12px,3vw,28px) 14px;background:#f3f6f3f2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transform:translate(-50%)}.buildingsPage__searchAreaSpacer{width:100%;margin-bottom:18px}.buildingsPage__searchInput .MuiInputBase-root{min-height:56px;border-radius:14px;background:var(--hm-surface-card)}.buildingsPage__searchInput .MuiOutlinedInput-notchedOutline{border-color:#b9c9bf;border-width:1px}.buildingsPage__searchInput .MuiInputBase-root.Mui-focused .MuiOutlinedInput-notchedOutline{border-color:var(--hm-brand-700);border-width:2px}.buildingsPage__searchInput .MuiInputAdornment-root{color:var(--hm-brand-700)}.buildingsPage__searchInput .MuiInputBase-input{color:var(--hm-text);font-size:1rem}.buildingsPage__actionRow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.buildingsPage__pillButton{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;border:1px solid #b9c9bf;border-radius:12px;padding:8px 12px;color:#405c4d;background:var(--hm-surface-card);font-size:.9rem;font-weight:700;cursor:pointer;box-shadow:0 3px 12px #1735280a}.buildingsPage__pillButton:hover{border-color:var(--hm-brand-700);color:var(--hm-brand-800);background:#f7fbf8}.buildingsPage__pillButton.is-active{border-color:var(--hm-brand-700);color:var(--hm-brand-800);background:#e4f2ea}.buildingsPage__filterCount{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:999px;padding:0 6px;color:#fff;background:var(--hm-brand-700);font-size:.75rem;line-height:1}.buildingsPage__selectedTags{display:flex;grid-column:1 / -1;align-items:center;gap:7px;margin-top:10px;overflow-x:auto;scrollbar-width:thin}.buildingsPage__selectedTag.MuiChip-root{flex:0 0 auto;border:1px solid #b8d6c6;color:var(--hm-brand-800);background:#e7f2eb;font-weight:700}.buildingsPage__selectedTag .MuiChip-deleteIcon{color:#628271}.buildingsPage__clearTags{flex:0 0 auto;border:0;padding:7px 4px;color:var(--hm-brand-800);background:transparent;font-size:.8rem;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.buildingsPage__filterPopover.MuiPaper-root{width:min(560px,calc(100vw - 24px));max-height:min(680px,calc(100dvh - 96px));border:1px solid var(--hm-border);border-radius:18px;background:var(--hm-surface-card);box-shadow:0 20px 48px #17352829}.buildingsPage__filterPanel{display:flex;flex-direction:column;max-height:inherit}.buildingsPage__filterHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid var(--hm-border);padding:18px 20px 14px}.buildingsPage__filterHeader h2{margin:0;color:var(--hm-text);font-size:1.08rem}.buildingsPage__filterHeader p{margin:5px 0 0;color:var(--hm-text-muted);font-size:.76rem;line-height:1.5}.buildingsPage__filterHeader button{flex:0 0 auto;border:0;padding:4px 0;color:var(--hm-brand-800);background:transparent;font-size:.78rem;font-weight:700;cursor:pointer}.buildingsPage__tagSearch{border-bottom:1px solid var(--hm-border);padding:12px 20px}.buildingsPage__tagSearch .MuiOutlinedInput-root{border-radius:11px;background:#fbfcfb}.buildingsPage__tagSearch .MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline{border-color:var(--hm-brand-700)}.buildingsPage__tagSearch .MuiInputAdornment-root{color:var(--hm-brand-700)}.buildingsPage__filterGroups{overflow-y:auto;padding:4px 20px 12px}.buildingsPage__filterGroup{min-width:0;margin:0;border:0;border-bottom:1px solid #e3e9e5;padding:14px 0}.buildingsPage__filterGroup:last-child{border-bottom:0}.buildingsPage__filterGroup legend{margin-bottom:9px;color:var(--hm-text);font-size:.85rem;font-weight:800}.buildingsPage__filterOptions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.buildingsPage__filterOption{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;min-height:42px;border:1px solid #d8e2dc;border-radius:11px;padding:2px 9px 2px 3px;color:var(--hm-text);background:#fbfcfb;cursor:pointer}.buildingsPage__filterOption:hover,.buildingsPage__filterOption.is-selected{border-color:#9dc5b0;background:#edf6f1}.buildingsPage__filterOption .MuiCheckbox-root{color:#8ba093;padding:7px}.buildingsPage__filterOption .MuiCheckbox-root.Mui-checked{color:var(--hm-brand-700)}.buildingsPage__filterOptionLabels{min-width:0;padding:5px 0}.buildingsPage__filterOptionLabel,.buildingsPage__filterOptionTranslation{display:block}.buildingsPage__filterOptionLabel{font-size:.8rem;font-weight:700;line-height:1.3;overflow-wrap:anywhere}.buildingsPage__filterOptionTranslation{margin-top:2px;color:var(--hm-text-muted);font-size:.68rem;line-height:1.3;overflow-wrap:anywhere}.buildingsPage__filterOptionCount{min-width:24px;border-radius:999px;padding:2px 6px;color:#577064;background:#e7ede9;font-size:.7rem;font-weight:700;text-align:center}.buildingsPage__noTagResults{margin:0;padding:24px 8px;color:var(--hm-text-muted);font-size:.82rem;text-align:center}.buildingsPage__filterFooter{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--hm-border);padding:12px 20px;background:#fafcfb}.buildingsPage__filterFooter>span{color:var(--hm-text-muted);font-size:.78rem;font-weight:700}.buildingsPage__filterFooter .MuiButton-contained{min-width:92px;border-radius:10px;background:var(--hm-brand-700);font-weight:700;box-shadow:none}.buildingsPage__feedback,.buildingsPage__loadMoreFeedback{display:grid;justify-items:center;gap:10px;padding:28px 16px;text-align:center}.buildingsPage__feedback .MuiCircularProgress-root,.buildingsPage__loadMoreFeedback .MuiCircularProgress-root{color:var(--hm-brand-700)}.buildingsPage__feedback .MuiButton-contained{background:var(--hm-brand-700)}.buildingsPage__listSection{min-width:0}.buildingsPage__listHeader{display:flex;align-items:center;min-height:40px;margin-bottom:10px;color:var(--hm-text-muted)}.buildingsPage__listHeader p{margin:0;font-size:.9rem;font-weight:700}.buildingsPage__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.buildingsPage__facultyGroups{display:grid;gap:26px}.buildingsPage__facultyGroup{min-width:0}.buildingsPage__facultyGroupHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px;border-bottom:2px solid #b9d4c5;padding:0 2px 9px}.buildingsPage__facultyGroupHeader h2{margin:0;color:var(--hm-text);font-size:clamp(1.05rem,2vw,1.25rem);line-height:1.35}.buildingsPage__facultyGroupHeader span{flex:0 0 auto;border-radius:999px;padding:4px 9px;color:var(--hm-brand-800);background:#e4f1e9;font-size:.72rem;font-weight:800}.buildingsPage__otherSubgroups{display:grid;gap:22px}.buildingsPage__otherSubgroup{min-width:0}.buildingsPage__otherSubgroupHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px;border-bottom:1px solid #d7e3dc;padding:0 2px 7px}.buildingsPage__otherSubgroupHeader h3{margin:0;color:var(--hm-text);font-size:clamp(.94rem,1.8vw,1.08rem);line-height:1.35}.buildingsPage__otherSubgroupHeader span{flex:0 0 auto;color:var(--hm-text-muted);font-size:.7rem;font-weight:700}.buildingsPage__empty{border:1px solid var(--hm-border);border-radius:var(--hm-radius-card);padding:24px 16px;background:var(--hm-surface-card);text-align:center}.buildingsPage__rowLink{display:block;min-width:0;height:100%;color:inherit;text-decoration:none}.buildingsPage__row{display:grid;grid-template-columns:112px minmax(0,1fr) auto;gap:10px;align-items:center;height:100%;min-height:116px;border:1px solid var(--hm-border);border-radius:var(--hm-radius-card);padding:10px;background:var(--hm-surface-card);box-shadow:var(--hm-shadow-card);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.buildingsPage__thumbnail{display:grid;place-items:center;width:112px;height:92px;border-radius:calc(var(--hm-radius-card) - 5px);overflow:hidden;color:#718178;background:linear-gradient(135deg,#edf2ef,#dfe8e3);font-size:.68rem;font-weight:700;text-align:center}.buildingsPage__thumbnail img{display:block;width:100%;height:100%;object-fit:cover}.buildingsPage__rowLink:hover .buildingsPage__row{transform:translateY(-2px);border-color:#9fc2af;box-shadow:0 12px 28px #17352814}.buildingsPage__rowMain{min-width:0}.buildingsPage__rowMain h2{display:-webkit-box;margin:0;color:var(--hm-text);font-size:clamp(1.05rem,2vw,1.22rem);font-weight:700;line-height:1.35;overflow:hidden;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}.buildingsPage__rowMain p{margin:6px 0 0;color:var(--hm-text-muted);font-size:.82rem;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.buildingsPage__rowActions{display:flex;flex-direction:column;align-items:center;gap:6px}.buildingsPage__iconButton{display:inline-flex;align-items:center;justify-content:center;width:40px;height:44px;border:1px solid #d7dfda;border-radius:11px;color:#a2ada7;background:var(--hm-surface-muted)}.buildingsPage__iconButton--aed{flex-direction:column;gap:0;line-height:1}.buildingsPage__iconButton>.MuiSvgIcon-root{font-size:1.65rem}.buildingsPage__iconButton--aed>.MuiSvgIcon-root{font-size:1.35rem}.buildingsPage__iconButton--aed>span{margin-top:-1px;font-size:.58rem;font-weight:800;letter-spacing:.04em}.buildingsPage__iconButton.is-active{border-color:#9fc5b1;color:var(--hm-brand-700);background:#e3f1e9}.buildingsPage__loadMoreTrigger{width:100%;height:1px}.buildingsPage__infoSection{scroll-margin-top:calc(var(--public-header-height) + 20px);margin-top:20px;border:1px solid var(--hm-border);border-radius:var(--hm-radius-card);padding:clamp(16px,3vw,24px);background:var(--hm-surface-card);box-shadow:var(--hm-shadow-card)}.buildingsPage__infoSection h2{margin:0;color:var(--hm-text);font-size:1.15rem}.buildingsPage__infoSection p{margin:10px 0 0;color:var(--hm-text-muted);line-height:1.75}.buildingsPage__infoSection a{color:var(--hm-brand-800);font-weight:700}.buildingsPage__infoSection .MuiButton-root{margin-top:14px;border-color:var(--hm-brand-700);color:var(--hm-brand-800)}@media (max-width: 599px){.buildingsPage__content{padding-bottom:calc(88px + env(safe-area-inset-bottom))}.buildingsPage__searchAreaSpacer{margin-bottom:12px}.buildingsPage__searchInput .MuiInputBase-root{min-height:50px}.buildingsPage__pillButton{min-height:42px;padding-inline:8px;font-size:.8rem}.buildingsPage__filterPopover.MuiPaper-root{max-height:calc(100dvh - 72px);border-radius:16px}.buildingsPage__filterHeader{padding:15px 14px 12px}.buildingsPage__filterGroups{padding-inline:14px}.buildingsPage__tagSearch{padding:10px 14px}.buildingsPage__filterOptions{grid-template-columns:minmax(0,1fr)}.buildingsPage__filterFooter{padding:10px 14px}.buildingsPage__row{grid-template-columns:82px minmax(0,1fr) auto;min-height:96px;padding:8px}.buildingsPage__thumbnail{width:82px;height:76px;border-radius:10px}.buildingsPage__iconButton{width:34px;height:40px;border-radius:9px}}@media (min-width: 600px) and (max-width: 1023px){.buildingsPage__actionRow{width:min(100%,600px)}.buildingsPage__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}@media (min-width: 1024px){.buildingsPage__searchArea{display:grid;grid-template-columns:minmax(360px,1fr) minmax(360px,.8fr);gap:16px;align-items:center}.buildingsPage__actionRow{margin-top:0}.buildingsPage__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}}.buildingDetailPage{min-height:100dvh}.buildingDetailPage__content{width:min(100%,1200px);margin:0 auto;padding:clamp(12px,2.5vw,28px) clamp(12px,3vw,28px) calc(104px + env(safe-area-inset-bottom))}.buildingDetailPage__card,.buildingDetailPage__overviewGrid,.buildingDetailPage__infoColumn{display:grid;gap:16px}.buildingDetailPage__heading,.buildingDetailPage__section{min-width:0;border:1px solid var(--hm-border);border-radius:var(--hm-radius-card);padding:clamp(16px,2.3vw,24px);background:var(--hm-surface-card);box-shadow:var(--hm-shadow-card)}.buildingDetailPage__heading{border-color:#cfe0d6;background:linear-gradient(135deg,#f8fcfa,#e9f3ed)}.buildingDetailPage__photo{width:100%;height:clamp(220px,28vw,320px);margin:0;border:1px solid var(--hm-border);border-radius:var(--hm-radius-card);overflow:hidden;background:var(--hm-surface-muted);box-shadow:var(--hm-shadow-card)}.buildingDetailPage__photo img{display:block;width:100%;height:100%;object-fit:cover}.buildingDetailPage__title{margin:0;color:var(--hm-text);font-size:clamp(1.4rem,3vw,2.1rem);line-height:1.3;overflow-wrap:anywhere}.buildingDetailPage__subtitle{margin:7px 0 0;color:var(--hm-text-muted);font-size:clamp(.9rem,1.5vw,1.02rem);overflow-wrap:anywhere}.buildingDetailPage__section h2{display:inline-flex;align-items:center;gap:6px;margin:0;color:var(--hm-text);font-size:1.08rem;font-weight:800}.buildingDetailPage__section p{margin:10px 0 0;color:#42574c;line-height:1.75;overflow-wrap:anywhere}.buildingDetailPage__libraryHours{border-color:#b8d5c4;background:linear-gradient(135deg,#f9fcfa,#edf6f1)}.buildingDetailPage__libraryHoursLoading{display:flex;align-items:center;gap:10px;margin-top:14px;color:var(--hm-text-muted);line-height:1.5}.buildingDetailPage__libraryHoursLoading .MuiCircularProgress-root{flex:0 0 auto;color:var(--hm-brand-700)}.buildingDetailPage__libraryHoursValue{margin-top:12px!important;color:var(--hm-brand-800)!important;font-size:clamp(1.45rem,3vw,1.9rem);font-weight:800;letter-spacing:.01em;line-height:1.35!important}.buildingDetailPage__libraryHoursDate{margin-top:3px!important;color:var(--hm-text-muted)!important;font-size:.88rem;line-height:1.5!important}.buildingDetailPage__diningHoursList{display:grid;gap:12px;margin-top:14px}.buildingDetailPage__diningHoursItem{padding:14px;border:1px solid rgba(14,122,79,.16);border-radius:12px;background:#ffffffb8}.buildingDetailPage__diningHoursHeading{display:flex;align-items:center;justify-content:space-between;gap:12px}.buildingDetailPage__diningHoursHeading h3{margin:0;font-size:1rem}.buildingDetailPage__officialLink{display:inline-flex;align-items:center;gap:5px;min-height:44px;margin-top:8px;color:var(--hm-brand-800);font-weight:700;text-decoration:none}.buildingDetailPage__officialLink:hover{text-decoration:underline}.buildingDetailPage__busTimetable{border-color:#b9d1dc;background:linear-gradient(135deg,#f8fbfc,#eef5f8)}.buildingDetailPage__busStopName{margin-top:5px!important;color:var(--hm-text-muted)!important;font-weight:700}.buildingDetailPage__busDestinationList{display:grid;gap:12px;margin-top:14px}.buildingDetailPage__busDestination{padding:14px;border:1px solid rgba(41,93,119,.17);border-radius:12px;background:#ffffffc7}.buildingDetailPage__busDestinationHeading{display:flex;align-items:center;justify-content:space-between;gap:10px}.buildingDetailPage__busDestinationHeading h3{margin:0;font-size:1rem}.buildingDetailPage__busTripList{display:grid;gap:8px;margin:12px 0 0;padding:0;list-style:none}.buildingDetailPage__busTripList li{display:grid;grid-template-columns:auto auto auto minmax(0,1fr);align-items:center;gap:7px;min-height:40px;padding:7px 10px;border-radius:9px;background:#f3f7f9}.buildingDetailPage__busTripList time{color:var(--hm-text);font-size:1.04rem;font-weight:800}.buildingDetailPage__busTripList span{justify-self:end;color:var(--hm-text-muted);font-size:.82rem;text-align:right}.buildingDetailPage__busPageLink{margin-top:14px!important}.buildingDetailPage__facilities,.buildingDetailPage__guides{display:grid;gap:12px;margin-top:14px}.buildingDetailPage__facility,.buildingDetailPage__guide{min-width:0;border:1px solid #dbe4de;border-radius:12px;padding:13px;background:#fbfcfb}.buildingDetailPage__facility h3,.buildingDetailPage__guide h3{margin:0;color:var(--hm-text);font-size:1rem}.buildingDetailPage__facilityHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.buildingDetailPage__facilityMeta{margin-top:8px}.buildingDetailPage__facility p{margin-top:7px}.buildingDetailPage__facilityInfoButton{flex:0 0 auto;color:var(--hm-brand-800)!important}.buildingDetailPage__facilityInfoButton.Mui-disabled{color:#a4aea8!important}.buildingDetailPage__facilityDialogHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-right:12px}.buildingDetailPage__facilityDialogGallery{display:grid;gap:12px}.buildingDetailPage__facilityDialogImage{display:block;width:100%;max-height:75dvh;border:1px solid var(--hm-border);border-radius:10px;background:var(--hm-surface-muted);object-fit:contain}@media (min-width: 700px){.buildingDetailPage__facilityDialogGallery{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}.buildingDetailPage__stepImage{display:block;width:min(100%,520px);border:1px solid var(--hm-border);border-radius:10px;background:var(--hm-surface-muted)}.buildingDetailPage__guideSubtitle{margin-top:5px!important;color:var(--hm-text-muted)!important;font-size:.88rem}.buildingDetailPage__stepList{display:grid;gap:12px;margin:12px 0 0;padding-left:1.3rem}.buildingDetailPage__stepItem{line-height:1.6}.buildingDetailPage__stepInstruction{margin:0!important;color:var(--hm-text)!important;font-weight:700}.buildingDetailPage__stepInstructionSub,.buildingDetailPage__stepLandmark{margin-top:5px!important;color:var(--hm-text-muted)!important;font-size:.88rem}.buildingDetailPage__stepImage{margin-top:9px}.buildingDetailPage__mapWrap{margin-top:13px;border:1px solid var(--hm-border);border-radius:12px;overflow:hidden;background:var(--hm-surface-muted)}.buildingDetailPage__mapWrap iframe{display:block;width:100%;height:clamp(300px,40vw,480px);border:0}.buildingDetailPage__mapMeta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 16px}.buildingDetailPage__mapLink{display:inline-flex;align-items:center;gap:4px;min-height:44px;margin-top:8px;color:var(--hm-brand-800);font-weight:700;text-decoration:none}.buildingDetailPage__coordinates{color:var(--hm-text-muted)!important;font-size:.82rem}.buildingDetailPage__feedback{display:grid;justify-items:center;gap:12px;padding:42px 16px;text-align:center}.buildingDetailPage__feedback .MuiCircularProgress-root{color:var(--hm-brand-700)}.buildingDetailPage__feedback .MuiButton-contained{background:var(--hm-brand-700)}@media (max-width: 599px){.buildingDetailPage__content{padding-bottom:calc(88px + env(safe-area-inset-bottom))}.buildingDetailPage__card,.buildingDetailPage__overviewGrid,.buildingDetailPage__infoColumn{gap:12px}.buildingDetailPage__heading,.buildingDetailPage__section,.buildingDetailPage__photo{border-radius:14px}.buildingDetailPage__heading,.buildingDetailPage__section{padding:14px}.buildingDetailPage__photo{height:clamp(220px,68vw,320px)}.buildingDetailPage__title{font-size:1.35rem}.buildingDetailPage__mapWrap iframe{height:clamp(220px,68vw,300px)}.buildingDetailPage__mapMeta{align-items:flex-start;flex-direction:column;gap:0}.buildingDetailPage__coordinates{margin-top:0!important}.buildingDetailPage__stepList{padding-left:1.1rem}.buildingDetailPage__busDestinationHeading{align-items:flex-start}.buildingDetailPage__busTripList li{grid-template-columns:auto auto auto}.buildingDetailPage__busTripList span{grid-column:1 / -1;justify-self:start}}@media (min-width: 700px){.buildingDetailPage__guides{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1024px){.buildingDetailPage__overviewGrid{grid-template-columns:minmax(320px,.82fr) minmax(480px,1.18fr);align-items:start}.buildingDetailPage__mapSection{position:sticky;top:calc(var(--public-header-height) + 24px)}}.campusServicesPage{min-height:100dvh}.campusServicesPage__content{width:min(100%,1200px);margin:0 auto;padding:clamp(12px,2.5vw,28px) clamp(12px,3vw,28px) calc(104px + env(safe-area-inset-bottom))}.campusServicesPage__hero{display:grid;grid-template-columns:46px minmax(0,1fr);gap:14px;align-items:center;border:1px solid #cfe0d6;border-radius:var(--hm-radius-card);padding:clamp(16px,2.5vw,24px);background:linear-gradient(135deg,#f7fcf9,#e8f3ed);box-shadow:var(--hm-shadow-card)}.campusServicesPage__hero>svg{width:42px;height:42px;color:var(--hm-brand-700)}.campusServicesPage__hero h2{margin:2px 0 0;color:var(--hm-text);font-size:clamp(1.35rem,2.8vw,1.8rem);line-height:1.25}.campusServicesPage__hero p{margin:5px 0 0;color:var(--hm-text-muted);line-height:1.55}.campusServicesPage__eyebrow{margin:0!important;color:var(--hm-brand-800)!important;font-size:.76rem;font-weight:800;letter-spacing:.05em}.campusServicesPage__controlSection{display:grid;gap:12px;margin-top:16px;border:1px solid var(--hm-border);border-radius:var(--hm-radius-card);padding:16px;background:var(--hm-surface-card);box-shadow:var(--hm-shadow-card)}.campusServicesPage__controlSection--route{grid-template-columns:minmax(0,1fr) auto minmax(220px,.45fr);align-items:center}.campusServicesPage__searchInput .MuiInputBase-root,.campusServicesPage__controlSection .MuiInputBase-root{min-height:52px;border-radius:12px;background:#fbfcfb}.campusServicesPage__controlSection .MuiButton-contained,.campusServicesPage__linkGrid .MuiButton-contained,.campusServicesPage__cardActions .MuiButton-contained{background:var(--hm-brand-700)}.campusServicesPage__controlSection .MuiButton-contained:hover,.campusServicesPage__linkGrid .MuiButton-contained:hover,.campusServicesPage__cardActions .MuiButton-contained:hover{background:var(--hm-brand-800)}.campusServicesPage__linkGrid .MuiButton-outlined,.campusServicesPage__cardActions .MuiButton-outlined{border-color:var(--hm-brand-700);color:var(--hm-brand-800)}.campusServicesPage__routeSummary{display:flex;align-items:center;gap:8px;min-height:44px;color:#405c4d;font-size:1rem;font-weight:700;white-space:nowrap}.campusServicesPage__routeSummary svg{color:var(--hm-brand-700)}.campusServicesPage__linkGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:14px}.campusServicesPage__listSection,.campusServicesPage__liveStatus,.campusServicesPage__timetableSection{margin-top:20px}.campusServicesPage__loading{display:flex;align-items:center;justify-content:center;gap:10px;min-height:76px;color:var(--hm-text-muted)}.campusServicesPage__loading .MuiCircularProgress-root{color:var(--hm-brand-700)}.campusServicesPage__updatedAt{border:1px solid #c6ddcf;border-left:4px solid var(--hm-brand-700);border-radius:10px;padding:11px 13px;background:#e8f3ed;color:#285640;font-size:.88rem!important}.campusServicesPage__sectionHeader{display:flex;align-items:baseline;justify-content:space-between;gap:12px;min-height:40px;border-bottom:1px solid var(--hm-border);padding-bottom:9px;color:var(--hm-text-muted)}.campusServicesPage__sectionHeader h2{margin:0;color:var(--hm-text);font-size:1.05rem;font-weight:800}.campusServicesPage__sectionHeader p{margin:0;font-size:.8rem}.campusServicesPage__cards,.campusServicesPage__operatorGrid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin-top:12px}.campusServicesPage__card,.campusServicesPage__operatorCard{min-width:0;border:1px solid var(--hm-border);border-radius:var(--hm-radius-card);padding:16px;background:var(--hm-surface-card);box-shadow:var(--hm-shadow-card)}.campusServicesPage__card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center}.campusServicesPage__card.is-selected{border-color:var(--hm-brand-700);box-shadow:inset 4px 0 0 var(--hm-brand-700),var(--hm-shadow-card)}.campusServicesPage__cardMain{min-width:0}.campusServicesPage__cardMain h3{margin:0;color:var(--hm-text);font-size:1.08rem;line-height:1.4;overflow-wrap:anywhere}.campusServicesPage__cardMain p{margin:5px 0 0;color:var(--hm-text-muted);line-height:1.55;overflow-wrap:anywhere}.campusServicesPage__cardTitleRow{display:flex;align-items:center;gap:8px}.campusServicesPage__cardTitleRow svg{color:var(--hm-brand-700)}.campusServicesPage__metaRow{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.campusServicesPage__metaRow .MuiChip-root{color:#24523e;background:#e6f0ea}.campusServicesPage__cardActions{display:flex;flex-direction:column;gap:8px}.campusServicesPage__cardActions .MuiButton-text{color:var(--hm-brand-800)}.campusServicesPage__liveHours{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:11px}.campusServicesPage__liveHours>span{display:inline-flex;align-items:center;gap:4px;color:#385044;font-weight:800}.campusServicesPage__statusChip.is-open{color:#09633d;background:#d8eee2}.campusServicesPage__statusChip.is-before_open{color:#795500;background:#fff0ce}.campusServicesPage__statusChip.is-closed{color:#555;background:#e8e9e8}.campusServicesPage__statusChip.is-unknown{color:#405b6b;background:#dfe8ee}.campusServicesPage__hoursUnavailable{margin-top:10px!important;font-size:.84rem}.campusServicesPage__operatorHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:10px}.campusServicesPage__operatorHeader h3,.campusServicesPage__operatorHeader p{margin:0}.campusServicesPage__operatorHeader h3{color:var(--hm-text);font-size:1.05rem}.campusServicesPage__operatorHeader p{margin-top:3px;color:var(--hm-text-muted);font-size:.78rem}.campusServicesPage__tripList{max-height:440px;margin:0;border-top:1px solid var(--hm-border);padding:0;overflow-y:auto;list-style:none}.campusServicesPage__trip{display:grid;grid-template-columns:4.2rem 24px 4.2rem minmax(0,1fr);gap:6px;align-items:center;min-height:44px;border-bottom:1px solid #e2e8e4}.campusServicesPage__trip time{color:var(--hm-text);font-size:1.03rem;font-weight:800;font-variant-numeric:tabular-nums}.campusServicesPage__trip svg{color:var(--hm-brand-700);font-size:1.05rem}.campusServicesPage__trip span{color:var(--hm-text-muted);font-size:.8rem;text-align:right}.campusServicesPage__empty{margin-top:12px;border:1px solid var(--hm-border);border-radius:var(--hm-radius-card);padding:24px 16px;background:var(--hm-surface-card);text-align:center}@media (max-width: 599px){.campusServicesPage__content{padding-bottom:calc(88px + env(safe-area-inset-bottom))}.campusServicesPage__hero{grid-template-columns:38px minmax(0,1fr);gap:10px;padding:15px}.campusServicesPage__hero>svg{width:34px;height:34px}.campusServicesPage__hero h2{font-size:1.25rem}.campusServicesPage__controlSection{padding:13px}.campusServicesPage__controlSection--route{grid-template-columns:minmax(0,1fr);gap:8px}.campusServicesPage__routeSummary{justify-content:center;gap:4px;font-size:.9rem}.campusServicesPage__routeSummary svg{transform:rotate(90deg)}.campusServicesPage__linkGrid,.campusServicesPage__card{grid-template-columns:minmax(0,1fr)}.campusServicesPage__card{padding:14px}.campusServicesPage__cardActions{flex-direction:row;flex-wrap:wrap}.campusServicesPage__cardActions .MuiButton-root{flex:1 1 120px}}@media (min-width: 600px){.campusServicesPage__cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.campusServicesPage__card{grid-template-columns:minmax(0,1fr);align-content:space-between}.campusServicesPage__cardActions{flex-direction:row}.campusServicesPage__cardActions .MuiButton-root{flex:1 1 auto}}@media (min-width: 800px){.campusServicesPage__operatorGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}@media (min-width: 1024px){.campusServicesPage__controlSection{grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:18px}.campusServicesPage__controlSection--route{grid-template-columns:minmax(0,1fr) auto minmax(220px,.45fr)}}.bulletinPage{min-height:100dvh}.bulletinPage__postButton.MuiButton-contained{background-color:#e9f7ef;color:#0a5f3c;font-weight:700}.bulletinPage__postButton.MuiButton-contained:hover{background-color:#d8efdf}.bulletinPage__content{width:min(100%,1200px);margin:0 auto;padding:clamp(12px,2.5vw,28px) clamp(12px,3vw,28px) calc(104px + env(safe-area-inset-bottom))}.bulletinPage__header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.bulletinPage__header p{margin:0;color:#626262}.bulletinPage__list{display:grid;gap:12px}.bulletinPage__card{border:1px solid var(--hm-border);border-radius:var(--hm-radius-card);background:var(--hm-surface-card);padding:16px;box-shadow:var(--hm-shadow-card)}.bulletinPage__cardHeader{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.bulletinPage__author{margin:0;font-size:1rem;font-weight:700;color:#1d1d1d;overflow-wrap:anywhere}.bulletinPage__createdAt{margin:0;font-size:.85rem;color:#777}.bulletinPage__contentText{margin:10px 0 0;white-space:pre-wrap;line-height:1.7;overflow-wrap:anywhere}.bulletinPage__replyAccordion{margin-top:12px;border:1px solid #d4d6d3;border-radius:10px!important;background-color:#fbfbfa!important;box-shadow:none!important}.bulletinPage__replyAccordion:before{display:none}.bulletinPage__replyAccordion .MuiAccordionSummary-root{min-height:44px;padding:0 12px}.bulletinPage__replyAccordion .MuiAccordionSummary-content{margin:10px 0}.bulletinPage__replyTitle{font-size:.92rem;font-weight:700;color:#355244}.bulletinPage__replyAccordion .MuiAccordionDetails-root{padding:0 12px 12px}.bulletinPage__replyText{margin:0;white-space:pre-wrap;color:#4e4e4e;line-height:1.6}.bulletinPage__feedback{display:grid;justify-items:center;gap:10px;margin-top:2rem;text-align:center}.bulletinPage__feedback .MuiCircularProgress-root{color:#0e7a4f}.bulletinPage__empty{margin-top:12px;border:1px solid #c8cac7;border-radius:10px;padding:18px 14px;background:#f6f6f6;text-align:center}@media (max-width: 599px){.bulletinPage__content{padding-bottom:calc(88px + env(safe-area-inset-bottom))}.bulletinPage__header{align-items:stretch}.bulletinPage__postButton{flex-shrink:0}.bulletinPage__cardHeader{align-items:flex-start;flex-direction:column;gap:3px}.bulletinPage__card{padding:11px}}@media (max-width: 374px){.bulletinPage__header{flex-direction:column}}@media (min-width: 700px){.bulletinPage__list{grid-template-columns:repeat(2,minmax(0,1fr))}}.bulletinAuthRequestPage{min-height:100dvh}.bulletinAuthRequestPage__content{width:min(100%,720px);margin:0 auto;padding:clamp(12px,2.5vw,28px) clamp(12px,3vw,28px) calc(104px + env(safe-area-inset-bottom))}.bulletinAuthRequestPage__card{display:grid;gap:14px;border:1px solid var(--hm-border);border-radius:var(--hm-radius-card);padding:clamp(16px,3vw,24px);background:var(--hm-surface-card);box-shadow:var(--hm-shadow-card)}.bulletinAuthRequestPage__card h1{margin:0;font-size:1.3rem}.bulletinAuthRequestPage__card p{margin:0;line-height:1.6}.bulletinAuthRequestPage__form{display:grid;gap:12px}.bulletinAuthRequestPage__form .MuiButton-contained{background-color:#0e7a4f;min-height:42px;display:inline-flex;gap:8px}.bulletinAuthRequestPage__form .MuiButton-contained:hover{background-color:#09653f}.bulletinAuthRequestPage__progress{color:#fff!important}.bulletinAuthRequestPage__note{color:#5f5f5f}@media (max-width: 599px){.bulletinAuthRequestPage__content{padding-bottom:calc(88px + env(safe-area-inset-bottom))}.bulletinAuthRequestPage__card{padding:13px;border-radius:12px}.bulletinAuthRequestPage__form .MuiInputAdornment-positionEnd{margin-left:4px}.bulletinAuthRequestPage__form .MuiInputAdornment-positionEnd p{font-size:.72rem}}.bulletinComposePage{min-height:100dvh}.bulletinComposePage__content{width:min(100%,720px);margin:0 auto;padding:clamp(12px,2.5vw,28px) clamp(12px,3vw,28px) calc(104px + env(safe-area-inset-bottom))}.bulletinComposePage__card{display:grid;gap:14px;border:1px solid var(--hm-border);border-radius:var(--hm-radius-card);padding:clamp(16px,3vw,24px);background:var(--hm-surface-card);box-shadow:var(--hm-shadow-card)}.bulletinComposePage__card h1{margin:0;font-size:1.3rem}.bulletinComposePage__feedback{display:grid;justify-items:center;gap:8px;text-align:center}.bulletinComposePage__feedback .MuiCircularProgress-root{color:#0e7a4f}.bulletinComposePage__form{display:grid;gap:12px}.bulletinComposePage__form .MuiButton-contained{background-color:#0e7a4f;min-height:42px}.bulletinComposePage__form .MuiButton-contained:hover{background-color:#09653f}.bulletinComposePage__links{display:flex;gap:14px;flex-wrap:wrap}.bulletinComposePage__links a{color:#0a6842;text-decoration:none;font-weight:600}.bulletinComposePage__links a:hover{text-decoration:underline}@media (max-width: 599px){.bulletinComposePage__content{padding-bottom:calc(88px + env(safe-area-inset-bottom))}.bulletinComposePage__card{padding:13px;border-radius:12px}.bulletinComposePage__links{flex-direction:column;gap:10px}}:root{--hm-brand-900: #075234;--hm-brand-800: #086943;--hm-brand-700: #0e7a4f;--hm-brand-500: #189867;--hm-surface-page: #f3f6f3;--hm-surface-card: #ffffff;--hm-surface-muted: #edf3ef;--hm-border: #d2ddd6;--hm-text: #173528;--hm-text-muted: #607269;--hm-shadow-card: 0 8px 24px #1735280c;--hm-radius-card: 16px;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;width:100%;min-height:100%}html{overflow-x:hidden;-webkit-text-size-adjust:100%}body{min-width:320px;overflow-x:hidden}.publicPage{--public-header-height: calc(76px + env(safe-area-inset-top)) ;min-height:100dvh;margin:0;color:var(--hm-text);background:var(--hm-surface-page);font-family:Avenir Next,Hiragino Sans,Yu Gothic,Meiryo,sans-serif}.publicPage :focus-visible{outline:3px solid #63aa85;outline-offset:2px}button,input,textarea,select{font:inherit}img,iframe{max-width:100%}@media (max-width: 599px){.publicPage{--public-header-height: calc(68px + env(safe-area-inset-top)) }}
