.dorm-directory{color:#173f60;max-width:1520px;margin:auto}.dorm-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.dorm-heading small{font-size:12px;color:#4c8b92;letter-spacing:.1em}.dorm-heading h1{margin:6px 0;font-size:28px}.dorm-heading p{margin:0;color:#78909f;font-size:13px}.dorm-heading nav{display:flex;padding:4px;border:1px solid #d6e6ec;border-radius:12px;background:#f2f7f9}.dorm-heading nav button{border:0;background:transparent;color:#648094;padding:9px 22px;border-radius:8px;font-weight:600;cursor:pointer}.dorm-heading nav button.active{color:#fff;background:#166b80;box-shadow:0 3px 8px #135e7620}.dorm-search{display:flex;align-items:end;gap:12px;padding:17px 20px;margin-bottom:18px;border:1px solid #dce7ed;border-radius:15px;background:#fff}.dorm-search label{display:grid;gap:7px;color:#5e788c;font-size:12px}.dorm-search select,.dorm-search input{box-sizing:border-box;width:100%;height:43px;border:1px solid #cfdee8;border-radius:8px;background:#fbfdfe;color:#183f5b;padding:0 12px;font-size:14px}.dorm-search>label{width:190px}.dorm-school-field{flex:1;max-width:560px;position:relative}.dorm-school-field>label{margin-bottom:7px}.dorm-search>button{height:43px;padding:0 24px;border-radius:8px;cursor:pointer;font-weight:600}.dorm-query{background:#176f85;color:#fff;border:1px solid #176f85}.dorm-reset{background:#fff;color:#59768b;border:1px solid #cfdee8}.dorm-directory button:focus-visible,.dorm-directory input:focus-visible,.dorm-directory select:focus-visible{outline:3px solid #4ca7bd;outline-offset:2px}.dorm-options{position:absolute;top:100%;left:0;right:0;max-height:310px;overflow-y:auto;z-index:20;margin-top:6px;padding:5px;border:1px solid #c8dfe7;border-radius:10px;background:#fff;box-shadow:0 12px 32px #183f6126}.dorm-options[hidden]{display:none}.dorm-options button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:11px 12px;text-align:left;border:0;border-radius:6px;background:#fff;color:#214963;cursor:pointer}.dorm-options button:hover,.dorm-options button[aria-selected=true]{background:#edf7f8}.dorm-options small{color:#79909f;white-space:nowrap}.dorm-options p{margin:9px;color:#82939f;font-size:12px}.dorm-layout{display:grid;grid-template-columns:minmax(220px,25%) minmax(0,1fr);gap:18px;align-items:start}.dorm-schools,.dorm-detail{border:1px solid #d9e5ed;border-radius:16px;background:#fff;overflow:hidden}.dorm-schools{position:sticky;top:12px}.dorm-schools>header{padding:18px;border-bottom:1px solid #e4edf2;display:flex;justify-content:space-between;gap:12px;align-items:baseline}.dorm-schools h2{font-size:15px;margin:0}.dorm-schools header span{font-size:11px;color:#7d929f}.dorm-school-list{max-height:750px;overflow:auto;scrollbar-width:thin;scrollbar-color:#c8dce4 transparent}.dorm-school-list>button{width:100%;display:block;text-align:left;padding:16px 18px;border:0;border-bottom:1px solid #e8eff3;border-left:3px solid transparent;background:#fff;cursor:pointer}.dorm-school-list>button:hover{background:#f4f9fb}.dorm-school-list>button.selected{background:#edf7f8;border-left-color:#1d8c99}.dorm-school-list strong{display:block;font-size:15px;line-height:1.5;color:#194462}.dorm-school-list small{display:block;color:#7f96a6;font-size:11px;margin:5px 0 8px}.dorm-list-tags{display:flex;flex-wrap:wrap;gap:4px}.dorm-list-tags span{font-size:10px;color:#557b8a;background:#f0f6f8;padding:2px 5px;border-radius:4px}.dorm-school-heading{padding:22px 26px;display:flex;justify-content:space-between;align-items:center;gap:18px}.dorm-school-heading small{font-size:11px;color:#75939e}.dorm-school-heading h2{font-size:25px;margin:6px 0 7px;color:#143e60}.dorm-school-heading p{margin:0;font-size:13px;color:#708b9b}.dorm-tags{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:230px}.dorm-tags span{font-size:11px;padding:5px 9px;border-radius:6px;background:#eaf4f6;color:#257182}.dorm-gallery{height:clamp(320px,38vw,530px);position:relative;background:#edf3f5;overflow:hidden}.dorm-photo-open{position:relative;width:100%;height:100%;display:block;border:0;padding:0;background:radial-gradient(ellipse at center,#f8fbfc,#e5edf0);cursor:zoom-in}.dorm-photo-open img{width:100%;height:100%;object-fit:contain}.dorm-photo-open>span{position:absolute;right:18px;bottom:17px;border:1px solid #ffffff70;border-radius:7px;padding:7px 10px;font-size:11px;background:#16394bba;color:#fff}.dorm-photo-prev,.dorm-photo-next{position:absolute;top:45%;border:1px solid #ffffff60;background:#16394b99;color:#fff;font-size:30px;width:38px;height:46px;border-radius:8px;cursor:pointer}.dorm-photo-prev{left:16px}.dorm-photo-next{right:16px}.dorm-photo-count{position:absolute;bottom:19px;left:20px;padding:5px 10px;border-radius:6px;background:#16394bba;color:#fff;font-size:12px}.dorm-placeholder{height:100%;min-height:240px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#658395;gap:10px;padding:24px;box-sizing:border-box}.dorm-placeholder p{font-size:13px;margin:0;line-height:1.8}.dorm-empty-icon{font-size:46px;color:#a6c2cc}.dorm-text-grid{padding:22px 26px;display:grid;grid-template-columns:1fr 1fr;gap:26px}.dorm-text-grid section+section{border-left:1px solid #e4ecf1;padding-left:26px}.dorm-text-grid h3{margin:0 0 10px;font-size:15px;color:#235b72}.dorm-text-grid p{margin:0;line-height:1.9;font-size:14px;color:#536e80;white-space:pre-line}.dorm-location{border-top:1px solid #e8eff4;padding:16px 26px;display:flex;gap:18px;font-size:13px;color:#6f8798}.dorm-location b{white-space:nowrap;color:#37647b}.dorm-detail-source{padding:15px 26px;background:#f8fbfc;color:#8397a6;font-size:10px;line-height:1.8;overflow-wrap:anywhere}.dorm-source-note{font-size:11px;color:#8a9da9;margin:16px 0;line-height:1.8}.dorm-variants{margin:0 26px 16px;font-size:12px;color:#6a8596;line-height:1.8}.dorm-variants summary{cursor:pointer}.dorm-variants small{display:block;color:#90a1ac}.dorm-list-empty{padding:25px;color:#839aa9;font-size:13px}.dorm-lightbox{border:0;border-radius:16px;box-sizing:border-box;background:#102632;color:#fff;padding:20px;width:min(1200px,94vw);max-width:94vw;max-height:94vh}.dorm-lightbox::backdrop{background:#081720df}.dorm-lightbox h2{font-size:17px;margin:0 40px 12px 0}.dorm-lightbox-stage{display:flex;align-items:center;justify-content:space-between;gap:10px}.dorm-lightbox-stage img{min-width:0;max-width:calc(100% - 96px);width:auto;max-height:72vh;object-fit:contain}.dorm-lightbox-stage button{flex:0 0 32px;background:#ffffff20;color:#fff;border:1px solid #ffffff40;border-radius:8px;height:46px;font-size:28px;cursor:pointer}.dorm-lightbox-stage button:disabled{visibility:hidden}.dorm-lightbox-close{position:absolute;right:14px;top:12px;background:transparent;border:0;font-size:30px;color:#fff;cursor:pointer}.dorm-lightbox p{text-align:center;font-size:12px;color:#adc4cf;margin-bottom:0}@media(max-width:1000px){.dorm-layout{grid-template-columns:210px minmax(0,1fr);gap:12px}.dorm-school-heading{padding:18px;display:block}.dorm-tags{justify-content:flex-start;margin-top:12px}.dorm-text-grid{padding:18px;gap:18px}.dorm-text-grid section+section{padding-left:18px}.dorm-search{padding:15px;gap:9px}.dorm-search>label{width:145px}.dorm-search>button{padding:0 15px}}@media(max-width:700px){.dorm-heading h1{font-size:23px}.dorm-heading nav button{padding:8px 12px}.dorm-heading p{font-size:11px}.dorm-search{flex-wrap:wrap}.dorm-search>label{width:100%}.dorm-school-field{flex-basis:100%;max-width:none}.dorm-query,.dorm-reset{flex:1}.dorm-layout{grid-template-columns:1fr}.dorm-schools{position:static}.dorm-school-list{max-height:210px}.dorm-school-list>button{padding:11px 15px}.dorm-list-tags{display:none}.dorm-gallery{height:320px}.dorm-text-grid{grid-template-columns:1fr}.dorm-text-grid section+section{border-left:0;border-top:1px solid #e4ecf1;padding-left:0;padding-top:16px}.dorm-location{padding:16px 18px}.dorm-detail-source{padding:14px 18px}.dorm-lightbox{padding:16px}.dorm-lightbox-stage{gap:4px}.dorm-lightbox-stage img{max-width:calc(100% - 72px)}}
.dorm-toolbar{display:flex;align-items:center;gap:24px;padding:18px 22px;margin-bottom:18px;background:#fff;border:1px solid #dce7ed;border-radius:15px}.dorm-toolbar .dorm-heading{margin:0;flex:0 0 auto}.dorm-toolbar .dorm-heading h1{font-size:24px;white-space:nowrap;margin:0}.dorm-toolbar .dorm-search{flex:1;min-width:0;padding:0;margin:0;border:0;border-radius:0;gap:10px}.dorm-search nav{display:flex;flex:0 0 auto;gap:3px;padding:4px;border:1px solid #d6e6ec;border-radius:10px;background:#f2f7f9}.dorm-search nav button{border:0;border-radius:7px;background:transparent;padding:8px 12px;color:#648094;font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer}.dorm-search nav button.active{color:#fff;background:#166b80}.dorm-toolbar .dorm-search>label{width:130px;flex:0 0 130px}.dorm-toolbar .dorm-school-field{flex:1;min-width:150px}.dorm-toolbar .dorm-search>button{padding:0 15px}.dorm-gallery{height:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px;background:#edf3f5}.dorm-photo-open{height:clamp(230px,28vw,390px);border-radius:10px;overflow:hidden}.dorm-photo-open>span{bottom:10px;right:10px;padding:5px 8px}.dorm-gallery.is-single,.dorm-gallery.is-empty{grid-template-columns:1fr}.dorm-lightbox-stage{justify-content:center}.dorm-lightbox-stage img{max-width:100%}@media(max-width:1200px){.dorm-toolbar{gap:16px;padding:16px}.dorm-toolbar .dorm-heading h1{font-size:21px}.dorm-toolbar .dorm-search{flex-wrap:wrap}.dorm-toolbar .dorm-search>label{width:110px;flex-basis:110px}.dorm-toolbar .dorm-school-field{min-width:170px}.dorm-search nav button{padding:8px 10px}}@media(max-width:800px){.dorm-toolbar{align-items:flex-start;flex-direction:column;gap:15px}.dorm-toolbar .dorm-search{width:100%}.dorm-toolbar .dorm-search>label{flex:1}.dorm-toolbar .dorm-school-field{flex-basis:100%}.dorm-photo-open{height:240px}}@media(max-width:480px){.dorm-gallery{gap:8px;padding:10px}.dorm-photo-open{height:200px}.dorm-photo-open>span{font-size:10px;right:5px;bottom:6px;padding:4px}.dorm-search nav button{padding:8px 9px}}
