:root{--ink:#16243a;--muted:#728097;--line:#e8edf4;--blue:#3977ef;--paper:#fff;--page:#f2f7fc;--shadow:0 12px 40px rgba(49,78,121,.1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:linear-gradient(145deg,#eef6ff 0,#f7f9fc 48%,#f3f0ff 100%);color:var(--ink);font-family:"Noto Sans SC","Microsoft YaHei",sans-serif;letter-spacing:0}.ambient{position:fixed;z-index:-1;filter:blur(30px);opacity:.35}.ambient-one{width:260px;height:260px;top:8%;left:8%;background:#b6ddff}.ambient-two{width:220px;height:220px;right:9%;bottom:14%;background:#ddd2ff}.page-shell,.site-header,footer{width:min(100% - 28px,720px);margin-inline:auto}.site-header{height:88px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px}.brand-mark,.footer-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#e8f7ef;color:#189a61}.brand-mark svg{width:23px}.brand h1{font-size:18px;margin:0;font-weight:700}.brand p{font-size:12px;color:var(--muted);margin:3px 0 0}.icon-button{width:40px;height:40px;border:1px solid rgba(216,225,236,.9);border-radius:12px;background:rgba(255,255,255,.85);color:#44526a;display:grid;place-items:center;cursor:pointer;position:relative}.icon-button svg{width:19px}.notice-dot{position:absolute;width:7px;height:7px;border-radius:50%;background:#ff665b;top:8px;right:8px;border:2px solid #fff}.page-shell{display:grid;gap:16px}.hero{position:relative;height:310px;overflow:hidden;border-radius:20px;box-shadow:var(--shadow);background:#17304f}.slide,.slides{height:100%}.slide{position:absolute;inset:0;opacity:0;pointer-events:none;background-image:linear-gradient(90deg,rgba(10,26,49,.86) 0,rgba(10,26,49,.43) 52%,rgba(10,26,49,.08) 100%),var(--hero-image);background-size:cover;background-position:center;transition:opacity .45s ease}.slide.active{opacity:1;pointer-events:auto}.hero-content{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:28px;color:#fff;max-width:500px}.eyebrow,.modal-label,.section-kicker{font-size:10px;font-weight:700;letter-spacing:1.8px}.eyebrow{color:#9dd6ff}.hero h2{font-size:30px;line-height:1.2;margin:8px 0}.hero p{font-size:13px;line-height:1.7;margin:0 0 18px;color:rgba(255,255,255,.82)}.hero-action{height:38px;padding:0 14px;border:0;border-radius:8px;background:#fff;color:#20324a;font-weight:600;display:flex;align-items:center;gap:8px;cursor:pointer}.hero-action svg{width:16px}.slide-dots{position:absolute;right:20px;bottom:18px;display:flex;gap:7px}.slide-dots button{width:7px;height:7px;padding:0;border:0;border-radius:99px;background:rgba(255,255,255,.55);cursor:pointer;transition:width .25s}.slide-dots button.active{width:23px;background:#fff}.content-section{background:rgba(255,255,255,.95);border:1px solid rgba(228,235,244,.8);border-radius:20px;padding:22px;box-shadow:0 8px 28px rgba(56,81,117,.065)}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.section-heading h2{margin:2px 0 0;font-size:18px}.section-kicker{color:#6c91c9}.section-count{font-size:11px;color:#8b97a8;background:#f2f6fa;padding:5px 9px;border-radius:7px}.quick-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px 8px}.quick-item{border:0;background:0 0;padding:0;color:#26364e;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;min-width:0}.quick-item span:first-child{width:46px;height:46px;border-radius:14px;background:var(--soft);color:var(--accent);display:grid;place-items:center;transition:transform .2s,box-shadow .2s}.quick-item:hover span:first-child{transform:translateY(-3px);box-shadow:0 8px 16px color-mix(in srgb,var(--accent) 18%,transparent)}.quick-item svg{width:21px}.quick-item strong{font-size:12px;font-weight:500;white-space:nowrap}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.feature-card{border:0;border-radius:16px;padding:18px;text-align:left;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;cursor:pointer;color:#17314e}.feature-blue{background:#eaf4ff}.feature-coral{background:#fff0ed}.feature-card>svg{width:17px;opacity:.45}.feature-icon{display:grid;place-items:center;width:44px;height:44px;background:rgba(255,255,255,.8);border-radius:12px}.feature-icon svg{width:22px}.feature-card small,.feature-card strong{display:block}.feature-card strong{font-size:14px;margin-bottom:4px}.feature-card small{font-size:10px;color:#758399;line-height:1.5}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.service-item{min-height:82px;border:1px solid #edf1f6;border-radius:15px;background:#f8fafc;padding:15px;display:grid;grid-template-columns:1fr auto;align-items:center;text-align:left;color:#2a3850;cursor:pointer}.service-item small,.service-item strong{display:block}.service-item strong{font-size:13px}.service-item small{font-size:10px;color:#8a96a7;margin-top:5px}.service-item span:last-child{width:36px;height:36px;border-radius:10px;background:var(--soft);color:var(--accent);display:grid;place-items:center}.service-item svg{width:18px}.service-item:last-child{grid-column:1/-1}button{font:inherit;letter-spacing:0}button:focus-visible{outline:3px solid rgba(57,119,239,.28);outline-offset:2px}footer{text-align:center;padding:34px 0 46px;color:#8b97a8}.footer-mark{margin:0 auto 9px;width:32px;height:32px;border-radius:9px}.footer-mark svg{width:17px}footer p{font-size:12px;margin:0 0 4px}footer small{font-size:10px}.modal-backdrop{position:fixed;inset:0;z-index:20;background:rgba(15,27,45,.48);backdrop-filter:blur(6px);display:grid;place-items:center;padding:20px}.modal-backdrop[hidden]{display:none}.modal{position:relative;width:min(100%,430px);max-height:min(86vh,640px);overflow:auto;background:#fff;border-radius:20px;padding:28px;box-shadow:0 24px 80px rgba(8,23,45,.26)}.modal-close{position:absolute;right:16px;top:16px}.modal-icon{width:50px;height:50px;border-radius:15px;background:#eaf3ff;color:var(--blue);display:grid;place-items:center}.modal-icon svg{width:24px}.modal-label{color:#7b9ac4;margin:16px 0 3px}.modal h2{font-size:24px;margin:0 0 18px}.modal-content{font-size:13px;color:#59677b;line-height:1.8}.modal-content ul{padding-left:19px;margin:0}.modal-content li+li{margin-top:7px}.modal-primary{width:100%;height:44px;border:0;border-radius:10px;background:#2f71e8;color:#fff;font-weight:600;margin-top:24px;cursor:pointer}@media(max-width:580px){.site-header{height:76px}.page-shell{gap:12px}.hero{height:270px;border-radius:16px}.hero-content{padding:22px}.hero h2{font-size:26px}.content-section{border-radius:16px;padding:18px}.quick-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:18px 2px}.quick-item span:first-child{width:42px;height:42px}.quick-item strong{font-size:11px;transform:scale(.95)}.feature-grid{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr}.service-item:last-child{grid-column:auto}}@media(max-width:370px){.quick-grid{grid-template-columns:repeat(4,1fr)}.brand h1{font-size:16px}}.modal-content h3{margin:0 0 14px;color:#20314a;font-size:16px}.modal-content h4{margin:18px 0 6px;color:#31445f;font-size:13px}.modal-content p{margin:0 0 10px}.modal-content .lead{font-size:14px;color:#41526a}.timeline{list-style:none!important;padding:0!important;counter-reset:steps}.timeline li{position:relative;padding:0 0 15px 38px;margin:0!important}.timeline li:not(:last-child)::after{content:"";position:absolute;left:13px;top:26px;bottom:3px;width:1px;background:#dbe6f4}.timeline li::before{counter-increment:steps;content:counter(steps);position:absolute;left:0;top:0;width:27px;height:27px;border-radius:9px;background:#eaf3ff;color:#3977ef;display:grid;place-items:center;font-size:11px;font-weight:700}.timeline span,.timeline strong{display:block}.timeline strong{color:#263a55;font-size:13px}.timeline span{font-size:12px;color:#788599;margin-top:2px}.tip,.warning{margin-top:16px;padding:13px 14px;border-radius:10px;font-size:12px;line-height:1.7}.tip{background:#edf8f3;color:#386a56}.warning{background:#fff4eb;color:#865735}.tip strong,.warning strong{display:block;margin-bottom:2px}.time-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:14px 0}.time-grid span{padding:10px 7px;border-radius:9px;background:#f4f7fb;text-align:center;font-size:10px;color:#66758a}.time-grid strong{display:block;color:#2c3d56;font-size:11px;margin-bottom:2px}@media(max-width:580px){.brand h1{font-size:15px;max-width:245px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand p{font-size:10px}.modal{padding:24px}.modal-content{font-size:12px}}.detail-action{height:46px;margin-top:18px;padding:0 16px;border-radius:10px;background:#2f71e8;color:#fff;text-decoration:none;font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:space-between;transition:background .2s,transform .2s}.detail-action:hover{background:#2464d4;transform:translateY(-1px)}.detail-action:focus-visible{outline:3px solid rgba(57,119,239,.28);outline-offset:3px}.detail-action svg{width:17px;height:17px}.modal.map-modal{width:min(100%,900px);max-height:92vh}.map-gallery{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.map-gallery figure{margin:0;border:1px solid #e6ecf3;border-radius:12px;overflow:hidden;background:#f7f9fc}.map-gallery figure>a{display:block;aspect-ratio:4/3;overflow:hidden;background:#e9eef5}.map-gallery img{width:100%;height:100%;display:block;object-fit:contain;transition:transform .25s}.map-gallery figure>a:hover img{transform:scale(1.02)}.map-gallery figcaption{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px}.map-gallery figcaption small,.map-gallery figcaption span,.map-gallery figcaption strong{display:block}.map-gallery figcaption strong{font-size:12px;color:#2c3d56}.map-gallery figcaption small{font-size:10px;color:#8491a3;margin-top:2px}.map-gallery figcaption>a{font-size:11px;color:#2f71e8;text-decoration:none;white-space:nowrap}@media(max-width:650px){.modal.map-modal{max-height:90vh}.map-gallery{grid-template-columns:1fr}.map-gallery figure>a{aspect-ratio:16/11}}.modal.checklist-modal{width:min(100%,700px);max-height:92vh}.check-section{padding:16px 0;border-bottom:1px solid #edf1f5}.check-section:last-child{border-bottom:0}.check-section h4{margin:0 0 10px;font-size:14px;color:#243751}.check-section h4 em{display:inline-block;margin-left:5px;padding:2px 7px;border-radius:5px;background:#fff1dc;color:#a96c16;font-size:10px;font-style:normal;font-weight:600;vertical-align:2px}.ban-list,.check-list{list-style:none!important;padding:0!important}.ban-list li,.check-list li{position:relative;padding-left:24px;margin:0 0 8px!important}.check-list li::before{content:"✓";position:absolute;left:0;top:1px;width:17px;height:17px;border-radius:5px;background:#e8f8ef;color:#17a361;display:grid;place-items:center;font-size:11px;font-weight:700}.ban-line{margin:10px 0 0!important;padding:9px 11px;border-radius:8px;background:#fff1ee;color:#a64c43}.danger-section{margin-top:12px;padding:16px;border:1px solid #ffd9d3;border-radius:12px;background:#fff7f5}.danger-section h4{color:#a33f37}.ban-list li::before{content:"×";position:absolute;left:0;top:1px;width:17px;height:17px;border-radius:50%;background:#ffe1dc;color:#c94b40;display:grid;place-items:center;font-size:12px;font-weight:700}.tips-section{margin-top:12px;padding:16px;border-radius:12px;background:#f4f8fd}.tips-section ul{margin:0;padding-left:18px}@media(max-width:580px){.modal.checklist-modal{max-height:92vh}.check-section{padding:14px 0}.check-section h4 em{margin-top:5px}}.modal.flow-modal{width:min(100%,700px);max-height:92vh}.flow-section{padding:17px 0;border-bottom:1px solid #edf1f5}.arrival-flow h4,.campus-addresses h4,.flow-section h4{margin:0 0 10px;color:#253852;font-size:14px}.campus-addresses{padding:16px;margin:16px 0;border-radius:12px;background:#eef5ff}.campus-addresses>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}.campus-addresses span{padding:11px;border-radius:9px;background:#fff;color:#6f7d91;font-size:11px;line-height:1.7}.campus-addresses strong{display:block;color:#2c4770;font-size:12px}.arrival-flow{list-style:none;padding:0;margin:4px 0}.arrival-flow>li{display:grid;grid-template-columns:32px 1fr;gap:12px;padding:18px 0;border-bottom:1px solid #edf1f5}.arrival-flow ul{margin:0;padding-left:18px}.arrival-flow li li+li{margin-top:5px}.step-icon{width:30px;height:30px;border-radius:9px;background:#2f71e8;color:#fff;display:grid;place-items:center;font-size:12px;font-weight:700}.mini-tip{margin:10px 0 0!important;padding:8px 10px;border-radius:8px;background:#fff7e8;color:#8b6a31;font-size:11px}.completion-box{margin-top:16px;padding:16px;border:1px solid #d5eddf;border-radius:12px;background:#f1faf5}.completion-box h4{color:#23714c}.flow-danger{margin-bottom:2px}@media(max-width:580px){.campus-addresses>div{grid-template-columns:1fr}.arrival-flow>li{grid-template-columns:28px 1fr;gap:9px}.step-icon{width:27px;height:27px}}.modal.dorm-modal{width:min(100%,760px);max-height:92vh}.dorm-rooms,.dorm-section{padding:18px 0;border-bottom:1px solid #edf1f5}.dorm-rooms h4,.dorm-section h4{margin:0 0 12px;color:#253852;font-size:14px}.dorm-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dorm-grid article{border:1px solid #e6ecf3;border-radius:12px;overflow:hidden;background:#f8fafc}.dorm-grid img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.dorm-grid article>div{padding:13px}.dorm-grid b,.dorm-grid strong{display:block}.dorm-grid b{font-size:11px;color:#718197}.dorm-grid strong{font-size:14px;color:#243750;margin:2px 0 7px}.dorm-grid p{font-size:11px;margin:0}.bed-size{padding:11px 13px;margin:12px 0 0!important;border-radius:9px;background:#eef5ff;color:#395678}.inline-map-link{display:inline-flex;margin-top:12px;color:#2f71e8;font-weight:600;text-decoration:none}.curfew-grid,.repair-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:10px 0}.curfew-grid span,.repair-grid span{padding:12px;border-radius:9px;background:#f3f7fb;font-size:11px}.curfew-grid strong,.repair-grid strong{display:block;color:#30435e;margin-bottom:3px}.allow-line{margin-top:12px;padding:10px 12px;border-radius:8px;background:#ecf8f1;color:#347254}.allow-line strong{display:block}@media(max-width:620px){.curfew-grid,.dorm-grid,.repair-grid{grid-template-columns:1fr}.dorm-grid img{aspect-ratio:16/10}}.modal.club-modal{width:min(100%,760px);max-height:92vh}.club-section{padding:18px 0;border-bottom:1px solid #edf1f5}.club-section h4{margin:0 0 12px;color:#253852;font-size:14px}.club-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.club-grid article{display:grid;grid-template-columns:32px 1fr;gap:10px;padding:13px;border-radius:11px;background:#f6f8fb}.club-grid article>span{width:30px;height:30px;border-radius:8px;background:#e8f1ff;color:#3977ef;display:grid;place-items:center;font-size:10px;font-weight:700}.club-grid small,.club-grid strong{display:block}.club-grid p{margin:4px 0;font-size:11px}.club-grid small{color:#8692a3;font-size:10px;line-height:1.6}.recruit-box{margin-top:16px;padding:16px;border:1px solid #d9e7fa;border-radius:12px;background:#f1f6fd}.recruit-box dl{margin:0}.recruit-box dl>div{display:grid;grid-template-columns:80px 1fr;padding:7px 0;border-bottom:1px solid #e2eaf5}.recruit-box dl>div:last-child{border-bottom:0}.recruit-box dt{color:#7d8b9f}.recruit-box dd{margin:0;color:#2f435f;font-weight:600}.plan-grid,.signup-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:10px 0}.plan-grid span,.signup-grid span{padding:12px;border-radius:9px;background:#f4f7fb;font-size:11px}.plan-grid b,.signup-grid strong{display:block;color:#30435e;margin-bottom:3px}.plan-grid span:first-child{background:#eef8f3}.plan-grid span:last-child{background:#eef4ff}.club-danger{margin-top:16px}@media(max-width:620px){.club-grid,.plan-grid,.signup-grid{grid-template-columns:1fr}}.modal.qq-modal{width:min(100%,480px)}.qq-group-card{text-align:center}.qq-group-card h3{font-size:18px}.qq-group-card>p{color:#758297}.qq-group-card>img{display:block;width:min(100%,320px);max-height:450px;object-fit:contain;margin:16px auto;border:1px solid #e7edf5;border-radius:12px}.qq-number{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:11px;background:#f0f6ff;text-align:left}.qq-number small,.qq-number strong{display:block}.qq-number small{font-size:10px;color:#74849a}.qq-number strong{font-size:20px;color:#244164}.qq-number button{height:36px;padding:0 13px;border:0;border-radius:8px;background:#2f71e8;color:#fff;font-size:12px;font-weight:600;cursor:pointer}.copy-status{min-height:18px;margin:5px 0!important;color:#2b8b5b!important;font-size:11px}.modal.sport-modal{width:min(100%,760px);max-height:92vh}.medical-section,.sport-section{padding:18px 0;border-bottom:1px solid #edf1f5}.contact-strip h4,.medical-section h4,.sport-section h4{margin:0 0 12px;color:#253852;font-size:14px}.medical-section h5,.sport-section h5{margin:17px 0 9px;color:#40516a;font-size:12px}.season-grid,.standards-grid,.venue-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}.season-grid span,.venue-grid span{padding:13px;border-radius:10px;background:#f3f8f7;font-size:11px}.season-grid b,.venue-grid strong{display:block;color:#28534b;margin-bottom:4px}.season-grid span:first-child{background:#fff5e8}.season-grid span:last-child{background:#eef6ff}.test-tags{display:flex;flex-wrap:wrap;gap:7px}.test-tags span{padding:6px 9px;border-radius:7px;background:#f3f6fa;color:#53627a;font-size:10px}.standards-grid article{padding:14px;border-radius:11px;background:#f5f8fc}.standards-grid article>strong{display:block;margin-bottom:7px;color:#2f71e8}.standards-grid dl{margin:0}.standards-grid dl div{display:flex;justify-content:space-between;gap:10px;padding:5px 0}.standards-grid dt{color:#78869a}.standards-grid dd{margin:0;color:#34465f;font-weight:600}.medical-section{padding-left:16px;padding-right:16px;margin-top:14px;border:1px solid #dcebf4;border-radius:12px;background:#f5fafc}.care-list{display:grid;grid-template-columns:1fr 1fr;gap:9px}.care-list span{position:relative;padding:12px 12px 12px 42px;border-radius:9px;background:#fff}.care-list b{position:absolute;left:12px;top:12px;color:#4d96bf}.care-list small,.care-list strong{display:block}.care-list strong{font-size:11px;color:#2f435d}.care-list small{font-size:10px;color:#8491a3;margin-top:3px}.contact-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding-top:18px}.contact-strip h4{grid-column:1/-1}.contact-strip span{padding:11px;border-radius:9px;background:#f4f7fb;font-size:10px}.contact-strip strong{display:block;color:#30435e;margin-bottom:3px}@media(max-width:620px){.care-list,.contact-strip,.season-grid,.standards-grid,.venue-grid{grid-template-columns:1fr}.contact-strip h4{grid-column:auto}}.modal.aid-modal{width:min(100%,780px);max-height:92vh}.aid-section,.loan-section{padding:18px 0;border-bottom:1px solid #edf1f5}.aid-section h4,.loan-section h4{margin:0 0 12px;color:#253852;font-size:14px}.loan-section h5{margin:17px 0 7px;color:#40516a;font-size:12px}.scholarship-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.scholarship-grid article{padding:14px;border-radius:11px;background:#fff8e8}.scholarship-grid article>span{font-size:9px;color:#a87514}.scholarship-grid article>b,.scholarship-grid article>strong{display:block}.scholarship-grid article>strong{font-size:13px;color:#4d3b1d;margin:3px 0}.scholarship-grid article>b{font-size:17px;color:#ce8d13}.scholarship-grid article p{font-size:11px;margin:7px 0}.scholarship-grid article small{color:#8b7245}.school-award{grid-column:1/-1}.award-levels{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0}.award-levels i{padding:5px 8px;border-radius:6px;background:#fff;color:#7d6234;font-size:10px;font-style:normal}.grant-highlight,.loan-facts{display:flex;align-items:center;gap:20px;padding:14px;border-radius:11px;background:#eef8f3}.grant-highlight span{min-width:150px}.grant-highlight small,.grant-highlight strong,.loan-facts small,.loan-facts strong{display:block}.grant-highlight strong{font-size:20px;color:#218158}.grant-highlight p{margin:0}.support-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px}.support-grid span{padding:12px;border-radius:9px;background:#f5f7fa;font-size:11px}.support-grid strong{display:block;color:#30435e;margin-bottom:3px}.loan-section{margin-top:16px;padding:17px;border:1px solid #dce8fa;border-radius:12px;background:#f5f8fd}.loan-facts{background:#fff;justify-content:space-around;text-align:center}.loan-facts span{flex:1}.loan-facts strong{font-size:18px;color:#2f71e8}.date-list{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.date-list span{padding:11px;border-radius:9px;background:#f4f7fb;font-size:10px}.date-list b{display:block;color:#30435e;margin-bottom:3px}.aid-section details{border-bottom:1px solid #edf1f5}.aid-section summary{padding:11px 0;cursor:pointer;color:#354861;font-weight:600}.aid-section details p{padding:0 0 10px;margin:0}.aid-contact{grid-template-columns:1fr}.aid-contact h4{grid-column:auto}@media(max-width:620px){.date-list,.scholarship-grid,.support-grid{grid-template-columns:1fr}.school-award{grid-column:auto}.grant-highlight{display:block}.grant-highlight span{margin-bottom:8px}}.modal.directory-modal{width:min(100%,760px);max-height:92vh}.directory-section,.office-hours{padding:18px 0;border-bottom:1px solid #edf1f5}.directory-section h4,.office-hours h4{margin:0 0 12px;color:#253852;font-size:14px}.office-hours>div{display:grid;grid-template-columns:1fr 1fr;gap:9px}.office-hours span{padding:12px;border-radius:9px;background:#f2f7fd;font-size:11px}.office-hours strong{display:block;color:#31516f;margin-bottom:3px}.office-hours p{margin:8px 0 0}.department-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.department-list article{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:14px;border:1px solid #e7ecf3;border-radius:11px;background:#fafbfd}.dept-icon{width:32px;height:32px;border-radius:9px;background:#eaf3ff;color:#2f71e8;display:grid;place-items:center;font-size:12px;font-weight:700}.department-list h5{margin:0;color:#293c57;font-size:13px}.department-list small{color:#8190a3;font-size:10px}.department-list p{margin:7px 0;font-size:10px}.phone-links{display:flex;flex-wrap:wrap;gap:6px}.phone-links a{padding:6px 8px;border-radius:7px;background:#e9f3ff;color:#2367c9;font-size:11px;font-weight:600;text-decoration:none}.pending-number{display:inline-block;padding:5px 8px;border-radius:6px;background:#f0f2f5;color:#7d8795;font-size:10px}.urgent-dept{border-color:#ffdcd7!important;background:#fff8f6!important}.urgent-dept .dept-icon{background:#ffe8e4;color:#c14a40}@media(max-width:620px){.department-list,.office-hours>div{grid-template-columns:1fr}}.feature-green{background:#eaf8f2}.feature-gold{background:#fff7e7}.modal.media-modal{width:min(100%,980px);max-height:94vh}.wide-image-link{display:block;margin:16px 0;border:1px solid #dfe7f0;border-radius:12px;overflow:hidden;background:#f3f6fa}.wide-image-link img{display:block;width:100%;height:auto;max-height:62vh;object-fit:contain}.shuttle-image img{image-rendering:auto}.modal.media-modal .detail-action{max-width:320px}@media(max-width:620px){.modal.media-modal{max-height:92vh}.wide-image-link img{max-height:50vh}}.modal.transfer-modal{width:min(100%,760px);max-height:92vh}.transfer-section{padding:18px 0;border-bottom:1px solid #edf1f5}.transfer-section h4{margin:0 0 12px;color:#253852;font-size:14px}.transfer-date{display:grid;grid-template-columns:190px 1fr;align-items:center;gap:12px;padding:14px;border-radius:11px;background:#edf8f5}.transfer-date span{text-align:center}.transfer-date b,.transfer-date small,.transfer-date strong{display:block}.transfer-date small{color:#658579}.transfer-date strong{font-size:20px;color:#13836c}.transfer-date b{font-size:10px;color:#57776f}.transfer-date p{margin:0}.transfer-danger{margin:16px 0}.rule-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.rule-grid span{padding:12px;border-radius:9px;background:#f4f7fa;font-size:11px}.rule-grid strong{display:block;color:#30435e;margin-bottom:3px}.transfer-contact{grid-template-columns:1fr 1fr}.transfer-contact h4{grid-column:1/-1}@media(max-width:620px){.transfer-date{grid-template-columns:1fr;text-align:center}.rule-grid,.transfer-contact{grid-template-columns:1fr}.transfer-contact h4{grid-column:auto}}.slide{background-position:var(--hero-position,center)}.modal.wall-modal{width:min(100%,500px);max-height:92vh}.wall-card{text-align:center}.wall-card h3{font-size:18px}.wall-card>p{color:#758297}.wall-card img{display:block;width:min(100%,330px);max-height:500px;object-fit:contain;margin:16px auto;border:1px solid #e5eaf1;border-radius:12px}.wall-card>small,.wall-card>strong{display:block}.wall-card>strong{color:#29425e}.wall-card>small{margin-top:3px;color:#8995a5;font-size:10px}.wall-rules{padding:18px 0}.wall-rules h4{margin:14px 0 5px;color:#30435e;font-size:13px}.wall-rules p{margin:0}.modal.trade-modal{width:min(100%,500px);max-height:92vh}.trade-group-card{text-align:center}.trade-group-card h3{font-size:18px}.trade-group-card>p{color:#758297}.trade-group-card>img{display:block;width:min(100%,320px);max-height:470px;object-fit:contain;margin:16px auto;border:1px solid #e5eaf1;border-radius:12px}.trade-rules{padding:16px 0}.trade-rules h4{margin:14px 0 5px;color:#30435e;font-size:13px}.trade-rules p{margin:0}.modal.sim-modal{width:min(100%,780px);max-height:92vh}.sim-section{padding:18px 0;border-bottom:1px solid #edf1f5}.sim-section h4{margin:0 0 12px;color:#253852;font-size:14px}.fit-grid,.network-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.fit-grid span,.network-grid article{padding:14px;border-radius:11px;background:#eef5ff;font-size:11px}.network-grid article:last-child{background:#eef9f4}.fit-grid strong,.network-grid strong{display:block;color:#294c70;margin-bottom:5px}.plan-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0}.plan-facts span{padding:13px 8px;text-align:center;border-radius:9px;background:#f1f5ff;font-size:10px;color:#53637b}.plan-facts b{display:block;font-size:18px;color:#2f71e8;margin-bottom:3px}.sim-section details{border-bottom:1px solid #edf1f5}.sim-section summary{padding:10px 0;cursor:pointer;color:#354861;font-weight:600;font-size:12px}.sim-section details p{margin:0;padding:0 0 10px}.sim-qr{text-align:center;margin-top:16px}.sim-qr img{width:min(100%,300px);display:block;margin:auto;border:1px solid #e4eaf1;border-radius:12px}.sim-qr small{display:block;margin-top:6px;color:#8793a3;font-size:10px}@media(max-width:620px){.fit-grid,.network-grid,.plan-facts{grid-template-columns:1fr}}body.announcement-open{overflow:hidden}.announcement-backdrop{position:fixed;inset:0;z-index:100;background:rgba(18,31,50,.58);backdrop-filter:blur(8px);display:grid;place-items:center;padding:18px}.announcement-backdrop[hidden]{display:none}.announcement{width:min(100%,520px);max-height:92vh;overflow:auto;background:#fff;border-radius:18px;box-shadow:0 28px 90px rgba(5,20,44,.35)}.announcement-header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:17px 20px;border-bottom:1px solid #e8edf4}.announcement-icon{width:38px;height:38px;border-radius:11px;background:#4b85f3;color:#fff;display:grid;place-items:center}.announcement-icon svg{width:19px}.announcement-header small{color:#3977ef;font-size:9px;font-weight:700;letter-spacing:1.5px}.announcement-header h2{margin:1px 0 0;font-size:18px}.announcement-close{width:36px;height:36px;border:0;border-radius:50%;background:#f3f6fa;color:#748197;display:grid;place-items:center;cursor:pointer}.announcement-close svg{width:18px}.announcement-body{padding:20px}.announcement-body h3{margin:0 0 6px;font-size:17px}.announcement-body>p{margin:0;color:#657287;font-size:12px;line-height:1.7}.announcement-body>img{display:block;width:min(100%,260px);max-height:340px;object-fit:contain;margin:14px auto;border:1px solid #e7edf4;border-radius:11px}.announcement-group{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border:1px solid #dfe7f2;border-radius:10px;background:#fbfcfe}.announcement-group small,.announcement-group strong{display:block}.announcement-group small{color:#8a96a8;font-size:9px}.announcement-group strong{color:#263c59;font-size:16px}.announcement-group button{height:36px;padding:0 12px;border:1px solid #bcd1f7;border-radius:8px;background:#fff;color:#2f71e8;font-size:11px;font-weight:600;display:flex;align-items:center;gap:6px;cursor:pointer}.announcement-group button svg{width:15px}.announcement-status{margin:4px 0 0!important;text-align:right}.announcement-warning{display:flex;gap:8px;margin-top:10px;padding:10px 11px;border-radius:9px;background:#fff6e9;color:#7b6037;font-size:10px;line-height:1.6}.announcement-warning svg{width:16px;min-width:16px}.announcement-footer{width:auto;margin:0;padding:0 20px 20px}.announcement-footer button{width:100%;height:44px;border:0;border-radius:9px;background:#3479ed;color:#fff;font-weight:700;cursor:pointer}@media(max-width:480px){.announcement-backdrop{padding:10px}.announcement{border-radius:16px}.announcement-body{padding:17px}.announcement-body>img{width:min(100%,230px)}}.unofficial-notice{width:min(100% - 28px,720px);margin:0 auto 16px;padding:12px 14px;border:1px solid #f1c978;border-radius:8px;background:#fff9e9;color:#624b1d;display:flex;align-items:flex-start;gap:10px}.unofficial-notice>svg{width:18px;min-width:18px;margin-top:1px;color:#c48200}.unofficial-notice span,.unofficial-notice strong{display:block}.unofficial-notice strong{font-size:12px}.unofficial-notice span{margin-top:2px;font-size:11px;line-height:1.6;color:#7a6438}.source-note{margin-top:20px;padding:12px 14px;border-left:3px solid #7d8da3;background:#f5f7fa;color:#66758a;font-size:11px;line-height:1.7}.source-note strong{display:block;color:#42516a}.community-label,.promotion-label{display:inline-flex;align-items:center;min-height:25px;padding:0 9px;border-radius:5px;font-size:10px;font-weight:700;letter-spacing:0}.community-label{background:#fff2df;color:#9b5d00}.promotion-label{margin-bottom:12px;background:#fff0e8;color:#a24819}.community-disclaimer{margin:10px 0;padding:10px 12px;border-radius:7px;background:#fff8e9;color:#795b21;font-size:11px;line-height:1.7}.quick-item.official-link{text-decoration:none}@media(max-width:580px){.unofficial-notice{margin-bottom:12px}.unofficial-notice span{font-size:10px}}.roommate-finder{overflow:hidden;border:1px solid #b9dbd2;border-radius:18px;background:#fff;box-shadow:0 12px 34px rgba(19,94,82,.12)}.roommate-trigger{width:100%;min-height:128px;border:0;padding:22px 24px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;text-align:left;color:#102f31;background:linear-gradient(110deg,#dff7ef 0,#f5fbff 58%,#eef3ff 100%);cursor:pointer}.roommate-trigger-icon{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;background:#087f6b;color:#fff;box-shadow:0 10px 22px rgba(8,127,107,.22)}.roommate-trigger-icon svg{width:29px;height:29px}.roommate-trigger-copy{display:flex;flex-direction:column;min-width:0}.roommate-trigger-copy small{font-size:10px;font-weight:700;color:#087f6b;letter-spacing:1.4px}.roommate-trigger-copy strong{font-size:25px;line-height:1.25;margin:4px 0}.roommate-trigger-copy>span{font-size:12px;line-height:1.6;color:#587377}.roommate-trigger-action{height:38px;padding:0 13px;border-radius:8px;background:#fff;color:#14675d;display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;white-space:nowrap;box-shadow:0 5px 16px rgba(29,87,80,.1)}.roommate-trigger-action svg{width:16px;transition:transform .2s}.roommate-trigger[aria-expanded=true] .roommate-trigger-action svg{transform:rotate(180deg)}.roommate-panel{padding:22px 24px 25px;border-top:1px solid #dcece8;background:#fff}.roommate-panel[hidden]{display:none}.roommate-panel form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.campus-fieldset{grid-column:1/-1;margin:0;padding:0;border:0}.campus-fieldset legend,.roommate-field>span:first-child{margin-bottom:9px;font-size:12px;font-weight:700;color:#344c51}.campus-switch{display:grid;grid-template-columns:1fr 1fr;gap:10px}.campus-switch button{min-height:66px;padding:11px 14px;border:1px solid #dce7e7;border-radius:10px;background:#f8fbfb;color:#53676b;display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer}.campus-switch button>svg{width:21px;color:#15806f}.campus-switch button span{display:flex;flex-direction:column}.campus-switch button strong{font-size:13px;color:#294448}.campus-switch button small{font-size:10px;margin-top:3px;color:#819194}.campus-switch button[aria-pressed=true]{border-color:#087f6b;background:#eaf8f4;box-shadow:0 0 0 2px rgba(8,127,107,.1)}.roommate-field{display:flex;flex-direction:column;min-width:0}.roommate-field>small{font-size:10px;line-height:1.55;margin-top:6px;color:#849195}.roommate-building-field{grid-column:1/-1}.select-wrap{position:relative;height:46px}.select-wrap select{width:100%;height:100%;border:1px solid #d9e3e5;border-radius:9px;background:#fff;color:#253c40;font-size:13px;outline:0}.select-wrap select{appearance:none;padding:0 40px 0 13px}.select-wrap>svg{position:absolute;right:13px;top:14px;width:17px;pointer-events:none;color:#6f8387}.select-wrap select:focus{border-color:#087f6b;box-shadow:0 0 0 3px rgba(8,127,107,.1)}.select-wrap select:disabled{background:#f4f6f6;color:#9aa5a7;cursor:not-allowed}.roommate-submit{grid-column:1/-1;height:46px;border:0;border-radius:9px;background:#087f6b;color:#fff;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:700;cursor:pointer}.roommate-submit svg{width:18px}.roommate-submit:disabled{background:#b6c8c5;cursor:not-allowed}.roommate-status{grid-column:1/-1;margin:-7px 0 0;padding:10px 12px;border-radius:8px;background:#f3f7f7;color:#687a7d;font-size:11px;line-height:1.6}.roommate-status.is-ready{background:#eaf8f4;color:#126858}.roommate-result{grid-column:1/-1;margin-top:2px;padding:18px;border:1px solid #cce5df;border-radius:12px;background:#f7fcfa}.roommate-result[hidden]{display:none}.roommate-result-heading{display:flex;align-items:center;gap:11px;margin-bottom:14px}.roommate-result-heading>span{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:#dff5ee;color:#087f6b}.roommate-result-heading>span svg{width:21px}.roommate-result-heading small{display:block;color:#278574;font-size:9px;font-weight:700;letter-spacing:1px}.roommate-result-heading h3{margin:2px 0;font-size:16px;color:#173c3b}.roommate-result-heading p{margin:0;font-size:11px;color:#647b7c}.roommate-qr-link{display:block;width:min(100%,340px);margin:0 auto;border-radius:10px;overflow:hidden;background:#edf2f2}.roommate-qr-link img{display:block;width:100%;height:auto;aspect-ratio:1125/2000;object-fit:cover}.roommate-expiry,.roommate-privacy,.roommate-warning{display:flex;align-items:flex-start;gap:7px;margin:10px 0 0;padding:9px 10px;border-radius:8px;font-size:10px;line-height:1.6}.roommate-expiry{background:#fff6e5;color:#866221}.roommate-warning{background:#fff0ed;color:#8b4a40}.roommate-privacy{background:#eaf6ff;color:#446979}.roommate-expiry svg,.roommate-privacy svg,.roommate-warning svg{width:15px;min-width:15px;margin-top:1px}.roommate-help{margin-top:16px;padding-top:16px;border-top:1px solid #dcebe7}.roommate-help-heading{display:flex;gap:10px;align-items:flex-start}.roommate-help-heading>span{width:36px;height:36px;min-width:36px;border-radius:9px;display:grid;place-items:center;background:#e7f5ff;color:#367a9a}.roommate-help-heading>span svg{width:19px}.roommate-help-heading small{display:block;color:#397f91;font-size:9px;font-weight:700;letter-spacing:1px}.roommate-help-heading h4{margin:2px 0;font-size:15px;color:#243e42}.roommate-help-heading p{margin:0;font-size:10px;line-height:1.6;color:#718386}.contact-qr-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:13px}.contact-qr-grid a{min-width:0;color:#2c4548;text-align:center;text-decoration:none}.contact-qr-grid img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;border:1px solid #dce6e5;border-radius:8px;background:#f3f6f6}.contact-qr-grid strong{display:block;margin-top:6px;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.senior-wechat{position:relative;margin:0 0 16px;padding:14px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;border:1px solid #b9dcd2;border-radius:10px;background:#eaf8f4}.senior-wechat-icon{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:#087f6b;color:#fff}.senior-wechat-icon svg{width:21px}.senior-wechat small{display:block;font-size:9px;color:#4f7771}.senior-wechat h4{display:inline;margin:0 7px 0 0;font-size:12px;color:#294d48}.senior-wechat>div>strong{font-size:16px;color:#075f51}.senior-wechat button{height:36px;padding:0 11px;border:0;border-radius:8px;background:#087f6b;color:#fff;display:flex;align-items:center;gap:6px;font-size:10px;font-weight:700;cursor:pointer;white-space:nowrap}.senior-wechat button svg{width:15px}.senior-wechat>p{grid-column:2/-1;margin:-5px 0 0;min-height:0;font-size:10px;color:#087f6b}@media(max-width:580px){.roommate-trigger{min-height:116px;padding:18px;grid-template-columns:auto 1fr;gap:13px}.roommate-trigger-icon{width:50px;height:50px;border-radius:14px}.roommate-trigger-copy strong{font-size:22px}.roommate-trigger-copy>span{font-size:11px}.roommate-trigger-action{grid-column:1/-1;width:100%;justify-content:center;height:36px}.roommate-panel{padding:18px}.roommate-panel form{grid-template-columns:1fr}.campus-fieldset,.roommate-result,.roommate-status,.roommate-submit{grid-column:auto}.roommate-result{padding:14px}.roommate-qr-link{width:min(100%,300px)}}@media(max-width:430px){.senior-wechat{grid-template-columns:auto 1fr}.senior-wechat button{grid-column:1/-1;width:100%;justify-content:center}.senior-wechat>p{grid-column:1/-1;text-align:center;margin:0}}