:root{
  --blue:#2f6ea6;--blue-dark:#1f4f78;--blue-soft:#eaf3fa;--ink:#24313d;--muted:#687684;
  --line:#d5dde5;--paper:#fff;--bg:#eef2f5;--warn:#8a6200;--warn-bg:#fff7da;--ok:#276749;--danger:#8a2f2f;
  --shadow:0 1px 4px rgba(26,50,71,.11);--radius:4px;--content:1120px;
  font-family:"Microsoft YaHei","PingFang SC","Noto Sans CJK SC",Arial,sans-serif;
}
*{box-sizing:border-box}html{background:var(--bg);color:var(--ink);font-size:16px;scroll-behavior:smooth}body{margin:0;min-height:100vh;background:var(--bg);line-height:1.62}
a{color:#145f99;text-decoration:none}a:hover{text-decoration:underline}
button,input,select,textarea{font:inherit;color:inherit}button,a,.tap{touch-action:manipulation}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-shell{min-height:100vh;display:flex;flex-direction:column}.topline{height:4px;background:var(--blue-dark)}
.govbar{background:#f8fafc;border-bottom:1px solid var(--line);font-size:.82rem;color:#5c6873}.govbar .inner,.masthead .inner,.nav .inner,.main,.footer .inner{width:min(var(--content),calc(100% - 32px));margin:0 auto}.govbar .inner{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:20px}.govbar a{color:#5c6873}
.masthead{background:var(--paper)}.masthead .inner{display:flex;align-items:center;gap:18px;padding:18px 0}.school-mark{width:54px;height:54px;flex:0 0 auto}.school-title{min-width:0}.school-title h1{font-size:1.35rem;line-height:1.2;margin:0 0 5px;color:#174f79;font-weight:700;letter-spacing:.03em}.school-title p{margin:0;color:#77838e;font-size:.88rem}.masthead-status{margin-left:auto;text-align:right;font-size:.82rem;color:#667582}.status-pill{display:inline-flex;align-items:center;gap:6px;border:1px solid #c7d8e6;background:#f2f8fc;border-radius:999px;padding:4px 10px;color:#2c5b7e}.status-dot{width:7px;height:7px;border-radius:50%;background:#4c8f66}
.nav{background:var(--blue-dark);box-shadow:0 1px 0 rgba(255,255,255,.1) inset}.nav .inner{display:flex;align-items:stretch;overflow-x:auto;scrollbar-width:none}.nav .inner::-webkit-scrollbar{display:none}.nav a{color:white;display:flex;align-items:center;justify-content:center;padding:11px 16px;min-height:44px;white-space:nowrap;font-size:.92rem;border-right:1px solid rgba(255,255,255,.1)}.nav a:hover,.nav a.active{background:#2f6e9e;text-decoration:none}.nav .search-link{margin-left:auto}
.main{flex:1;padding:22px 0 38px}.breadcrumb{font-size:.82rem;color:#71808c;margin-bottom:12px}.breadcrumb a{color:#65798a;display:inline-flex;align-items:center;min-height:44px}.page-grid{display:grid;grid-template-columns:minmax(0,1fr) 282px;gap:20px}.panel,.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.panel{padding:20px}.panel+.panel{margin-top:16px}.card{padding:16px}.section-title{font-size:1.12rem;margin:0 0 14px;padding-bottom:9px;border-bottom:2px solid #d9e7f2;color:#1d547b;display:flex;align-items:center;justify-content:space-between;gap:12px}.section-title small{font-weight:400;color:#7c8994;font-size:.78rem}.subhead{font-size:1rem;margin:20px 0 9px;color:#324d63}.muted{color:var(--muted)}.tiny{font-size:.78rem}.small{font-size:.88rem}.lead{font-size:1.03rem;color:#41515e}.notice-box{padding:12px 14px;border:1px solid #cbdbe8;background:#f6fbff;margin:12px 0}.notice-box.warn{background:var(--warn-bg);border-color:#ead493;color:#5f4b11}.notice-box.danger{background:#fff3f1;border-color:#e1b9b3;color:#6e2b25}.notice-box.ok{background:#f2fbf7;border-color:#b8ddc9;color:#25563c}.notice-box strong{color:inherit}.divider{height:1px;background:var(--line);margin:18px 0}
.btn{min-height:44px;border:1px solid #aab9c6;background:#fff;border-radius:3px;padding:9px 15px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none}.btn:hover{background:#f5f8fa;text-decoration:none}.btn.primary{background:var(--blue);border-color:var(--blue);color:white}.btn.primary:hover{background:#255f91}.btn.warn{background:#fff8e3;border-color:#d9bd69;color:#735600}.btn.danger{background:#fff5f4;border-color:#d9aaa4;color:#7b2f2b}.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid rgba(39,116,174,.28);outline-offset:2px}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.form-row{display:grid;grid-template-columns:170px minmax(0,1fr);gap:14px;align-items:start;padding:12px 0;border-bottom:1px solid #e8edf1}.form-row:last-child{border-bottom:0}.form-row label,.form-label{font-weight:600;color:#425565;padding-top:8px}.form-control{width:100%;min-height:44px;border:1px solid #b9c4ce;border-radius:3px;padding:9px 10px;background:white}.radio-stack{display:flex;flex-wrap:wrap;gap:10px 18px;padding-top:8px}.radio-stack label{font-weight:400;padding:0;display:flex;align-items:center;gap:7px;min-height:44px}.radio-stack input{width:18px;height:18px}
.table-wrap{overflow-x:auto;border:1px solid var(--line);background:white}.data-table{width:100%;border-collapse:collapse;font-size:.88rem;min-width:640px}.data-table th,.data-table td{padding:9px 10px;border-bottom:1px solid #e1e7ec;border-right:1px solid #edf1f4;text-align:left;vertical-align:top}.data-table th{background:#edf4f9;color:#31526a;font-weight:700}.data-table tr:last-child td{border-bottom:0}.data-table td.num,.data-table th.num{text-align:right;font-variant-numeric:tabular-nums}.data-table .total{font-weight:700;background:#f8fbfd}.legacy-table th{font-family:SimSun,"Songti SC",serif;background:#e9e9e9;color:#222;border-color:#bdbdbd}.legacy-table td{font-family:SimSun,"Songti SC",serif;border-color:#c7c7c7}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.kpi{background:white;border:1px solid var(--line);padding:14px}.kpi b{display:block;font-size:1.4rem;color:#235f89;font-variant-numeric:tabular-nums}.kpi span{font-size:.8rem;color:#71808b}.list{margin:0;padding:0;list-style:none}.list li{border-bottom:1px solid #e6ebef;padding:11px 0}.list li:last-child{border-bottom:0}.list-title{font-weight:600;color:#2c4c64;display:inline-flex;align-items:center;min-height:44px}.list-meta{display:flex;flex-wrap:wrap;gap:8px 14px;color:#7a8791;font-size:.78rem;margin-top:3px}.badge{display:inline-block;padding:2px 7px;border-radius:2px;background:#eef3f6;color:#50606c;font-size:.74rem;border:1px solid #d7e0e6}.badge.blue{background:#eef7fd;color:#285e86;border-color:#c8deed}.badge.yellow{background:#fff8de;color:#725900;border-color:#ead899}.badge.gray{background:#f1f1f1;color:#666;border-color:#ddd}
.sidebar .card+.card{margin-top:14px}.quick-links a{display:flex;align-items:center;min-height:44px;padding:8px 0;border-bottom:1px dashed #d8e0e6}.quick-links a:last-child{border-bottom:0}.deadline{font-variant-numeric:tabular-nums;font-weight:700;color:#844c25}.service-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#d7e0e7;border:1px solid #d7e0e7;margin:16px 0}.service-strip a{background:#fff;padding:15px 12px;text-align:center;color:#36556c}.service-strip img{display:block;width:40px;height:40px;margin:0 auto 8px}.service-strip a:hover{background:#f7fafc;text-decoration:none}
.hero{position:relative;overflow:hidden;border:1px solid #cbd8e2;background:white;min-height:220px}.hero img{width:100%;height:220px;object-fit:cover;display:block}.hero .overlay{position:absolute;left:0;right:0;bottom:0;padding:16px 18px;color:white;background:linear-gradient(transparent,rgba(10,29,44,.83))}.hero h2{margin:0 0 4px;font-size:1.35rem}.hero p{margin:0;font-size:.88rem}.hero-dots{position:absolute;right:12px;bottom:12px;display:flex;gap:6px}.hero-dots span{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.6)}.hero-dots span:first-child{background:white}
.searchbar{display:flex;gap:8px}.searchbar input{flex:1}.search-suggestions{border:1px solid var(--line);background:white;margin-top:6px}.search-suggestions button{display:block;width:100%;text-align:left;border:0;background:white;padding:10px 12px;border-bottom:1px solid #edf1f4;cursor:pointer;min-height:44px}.search-suggestions button:last-child{border-bottom:0}.search-suggestions button:hover{background:#f4f8fb}.result{padding:14px 0;border-bottom:1px solid #e3e9ee}.result:last-child{border-bottom:0}.result h3{font-size:1rem;margin:0 0 4px}.result h3 a{display:inline-flex;align-items:center;min-height:44px}.result p{margin:4px 0;color:#60707c;font-size:.88rem}.result .path{font-size:.76rem;color:#7f8d98}
.forum-shell{background:#f5f5f5;border:1px solid #bcbcbc;font-family:Arial,"Microsoft YaHei",sans-serif}.forum-head{padding:10px 12px;background:#d8e5ed;border-bottom:1px solid #9fb1be;display:flex;align-items:center;justify-content:space-between}.forum-tabs{display:flex;gap:2px}.forum-tabs button,.forum-tabs a{border:1px solid #a6b3bb;background:#eee;padding:6px 10px;cursor:pointer;min-height:44px;display:inline-flex;align-items:center;color:#334d5e}.forum-tabs button.active,.forum-tabs a.active{background:#fff;border-bottom-color:#fff;text-decoration:none}.forum-post-list{background:#fff}.forum-row{display:grid;grid-template-columns:minmax(0,1fr) 110px 130px;border-bottom:1px solid #ddd;padding:10px 12px;gap:12px;font-size:.86rem}.forum-row .title{font-weight:600;display:inline-flex;align-items:center;min-height:44px}.forum-row .by,.forum-row .date{color:#777;font-size:.78rem}.post{background:white;border:1px solid #bbb}.post-head{background:#e8edf0;border-bottom:1px solid #bbb;padding:9px 12px;display:flex;justify-content:space-between;gap:12px;font-size:.84rem}.post-body{display:grid;grid-template-columns:150px minmax(0,1fr)}.post-author{background:#f4f4f4;border-right:1px solid #ddd;padding:14px;text-align:center}.avatar{width:62px;height:62px;border:1px solid #bbb;background:#fff;margin:0 auto 8px;display:flex;align-items:center;justify-content:center;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.post-content{padding:18px;min-height:180px}.post-content p{margin-top:0}.post-image{max-width:520px;width:100%;border:1px solid #aaa;background:#ddd;cursor:pointer}.reply{border-top:1px solid #ddd;padding:12px 18px;margin-left:150px;background:#fff}.reply-meta{font-size:.76rem;color:#777;margin-bottom:4px}
.modal{position:fixed;inset:0;background:rgba(15,24,31,.72);display:flex;align-items:center;justify-content:center;padding:22px;z-index:50}.modal[hidden]{display:none}.modal-card{max-width:840px;width:100%;max-height:90vh;background:#fff;border-radius:3px;box-shadow:0 18px 60px rgba(0,0,0,.34);overflow:auto;position:relative}.modal-card img{display:block;max-width:100%;margin:auto}.modal-close{position:sticky;top:0;float:right;margin:10px 10px 0 0;width:44px;height:44px;border:1px solid #c9d0d5;background:#fff;cursor:pointer;z-index:2}
.footer{background:#edf1f4;border-top:1px solid #ccd6dd;color:#687580;font-size:.79rem}.footer .inner{padding:20px 0;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.footer .controls{display:flex;flex-wrap:wrap;gap:8px}.footer button{min-height:44px;border:1px solid #c0cbd3;background:#f9fbfc;padding:6px 10px;cursor:pointer;border-radius:2px;color:#50616e}.footer button[aria-pressed="true"]{background:#e0ebf3;color:#244c68}
.print-only{display:none}
@media (max-width:900px){.page-grid{grid-template-columns:1fr}.sidebar{order:2}.kpi-grid{grid-template-columns:repeat(2,1fr)}.service-strip{grid-template-columns:repeat(2,1fr)}.masthead-status{display:none}.nav .search-link{margin-left:0}}
@media (max-width:640px){html{font-size:16px}.govbar .inner,.masthead .inner,.nav .inner,.main,.footer .inner{width:min(100% - 20px,var(--content))}.govbar .inner{font-size:.74rem}.govbar .inner>span:last-child{display:none}.masthead .inner{padding:12px 0}.school-mark{width:44px;height:44px}.school-title h1{font-size:1.08rem}.school-title p{font-size:.76rem}.nav{position:sticky;top:0;z-index:20}.nav .inner{width:100%}.nav a{padding:10px 13px;font-size:.86rem}.main{padding-top:14px}.panel{padding:15px}.page-grid{gap:14px}.form-row{grid-template-columns:1fr;gap:4px}.form-row label,.form-label{padding-top:0}.kpi-grid{grid-template-columns:1fr 1fr}.hero,.hero img{min-height:168px;height:168px}.hero h2{font-size:1.05rem}.hero p{display:none}.forum-row{grid-template-columns:1fr 74px}.forum-row .date{display:none}.post-body{grid-template-columns:1fr}.post-author{border-right:0;border-bottom:1px solid #ddd;text-align:left;display:flex;align-items:center;gap:10px}.avatar{width:44px;height:44px;margin:0}.reply{margin-left:0}.actions .btn{flex:1 1 auto}.data-table{font-size:.82rem}.mobile-cards .data-table{min-width:0}.mobile-cards .data-table thead{display:none}.mobile-cards .data-table,.mobile-cards .data-table tbody,.mobile-cards .data-table tr,.mobile-cards .data-table td{display:block;width:100%}.mobile-cards .data-table tr{border-bottom:1px solid #d8e1e7;padding:7px 0}.mobile-cards .data-table td{border:0;padding:5px 9px;display:grid;grid-template-columns:120px 1fr;gap:8px}.mobile-cards .data-table td::before{content:attr(data-label);color:#6d7b85;font-weight:600}.mobile-cards .data-table td.num{text-align:left}.searchbar{flex-direction:column}.searchbar .btn{width:100%}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
@media print{body{background:#fff}.govbar,.nav,.footer,.sidebar,.actions,.no-print{display:none!important}.main{width:100%;padding:0}.panel,.card{box-shadow:none;border:0}.print-only{display:block}}


/* v2.1 final polish: institutional portal realism */
:root{--blue:#2b648f;--blue-dark:#174a70;--blue-soft:#eef5fa;--ink:#25323b;--muted:#677581;--line:#cfd8df;--bg:#edf1f4;--radius:2px;--shadow:0 1px 2px rgba(28,49,65,.07)}
body{background:linear-gradient(#eef2f5 0,#edf1f4 180px,#edf1f4 100%)}.govbar{background:#f4f7f9;color:#586773}.govbar .inner{min-height:32px}.masthead .inner{padding:15px 0}.school-title h1{font-size:1.28rem;letter-spacing:.015em}.school-title p{font-size:.82rem}.nav a{font-size:.9rem;padding:10px 15px}.nav a.active{box-shadow:inset 0 -3px 0 #d8e8f3}.panel,.card{box-shadow:var(--shadow)}.panel{padding:18px}.section-title{border-bottom:1px solid #ccdce7;padding-bottom:10px}.hero{box-shadow:0 1px 2px rgba(23,53,74,.11)}.hero img{filter:saturate(.88) contrast(.98)}
.photo-card{margin:12px 0;border:1px solid var(--line);background:#f5f7f8;overflow:hidden}.photo-card img{display:block;width:100%;height:auto}.photo-caption{font-size:.78rem;color:#66747e;padding:7px 9px;border-top:1px solid #d7dfe5;background:#f8fafb}.archive-toolbar{display:flex;gap:8px;align-items:end;flex-wrap:wrap;margin:12px 0 16px;padding:11px;background:#f6f8fa;border:1px solid #d8e0e5}.archive-toolbar label{font-size:.78rem;color:#5e6d77;display:grid;gap:3px}.archive-toolbar select{min-width:150px}.field-help{font-size:.78rem;color:#687681;margin-top:6px}.business-note{border-left:3px solid #8aa5b8;padding:8px 11px;background:#f7fafc;color:#4f616d;font-size:.84rem}.details-box{border:1px solid #d4dde3;background:#fff;margin-top:12px}.details-box>summary{cursor:pointer;min-height:44px;padding:10px 12px;font-weight:600;color:#31536b;display:flex;align-items:center;gap:8px}.details-box[open]>summary{border-bottom:1px solid #dfe5e9;background:#f7fafc}.details-inner{padding:13px}.mini-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #d6dee4;background:#fff}.mini-grid>div{padding:10px 11px;border-right:1px solid #e1e6ea}.mini-grid>div:last-child{border-right:0}.mini-grid span{display:block;color:#71808a;font-size:.74rem}.mini-grid b{font-size:.93rem;color:#304b5d}.portal-stamp{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;color:#687985;border:1px solid #ccd7de;background:#f8fafb;padding:2px 6px}.table-note{font-size:.78rem;color:#6b7882;margin-top:7px}.data-table tbody tr:hover{background:#f8fbfd}.data-table .focus-row{background:#fffdf6}.current-service{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}.current-service .photo-card{margin:0}.current-service .service-copy{padding:2px 0}.current-service h3{margin-top:0;color:#31536b}.current-service ul{margin:8px 0;padding-left:20px}.form-saved{font-size:.78rem;color:#4f735d;min-height:22px;display:flex;align-items:center}.form-saved::before{content:'✓';margin-right:5px}.confirm-layer{position:fixed;inset:0;background:rgba(27,38,46,.48);z-index:60;display:flex;align-items:center;justify-content:center;padding:20px}.confirm-layer[hidden]{display:none}.confirm-card{width:min(560px,100%);background:#fff;border:1px solid #aebac2;box-shadow:0 18px 50px rgba(0,0,0,.25);padding:20px}.confirm-card h3{margin:0 0 8px;color:#294f68}.confirm-card p{margin:7px 0}.confirm-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
@media(max-width:760px){.mini-grid{grid-template-columns:1fr 1fr}.mini-grid>div:nth-child(2){border-right:0}.mini-grid>div:nth-child(-n+2){border-bottom:1px solid #e1e6ea}.current-service{grid-template-columns:1fr}.archive-toolbar{align-items:stretch}.archive-toolbar label{flex:1 1 140px}.archive-toolbar .btn{align-self:end}.photo-card img{max-height:280px;object-fit:cover}}

/* final portal realism / visual consistency */
.photo-card,.campus-photo{position:relative}.photo-card::after,.campus-photo::after,.hero::after{content:"";pointer-events:none;position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(23,40,52,.035));mix-blend-mode:multiply}.hero img,.photo-card img,.campus-photo img,.post-image{image-rendering:auto}.hero{min-height:226px}.hero img{height:226px;filter:saturate(.72) contrast(.94) brightness(.98)}.hero .overlay{padding:14px 17px;background:linear-gradient(transparent 5%,rgba(18,35,46,.78) 95%)}.photo-caption::before{content:"资料图 · ";color:#7b8790}.forum-shell{border-color:#aeb7bc}.forum-head{font-size:.86rem}.forum-row:hover{background:#f7f8f8}.post-image{filter:saturate(.78) contrast(.95)}.post-content .post-image{max-height:520px;object-fit:contain}.footer .inner{padding:16px 0}.footer{background:#e9eef1}.school-title h1{font-weight:700}.school-mark{filter:saturate(.78)}
@media(max-width:640px){.hero,.hero img{min-height:174px;height:174px}.hero .overlay{padding:12px 13px}.result-sheet{margin-top:0}.photo-caption::before{content:"资料图 · "}}

/* v2.2 audit polish: ordinary campus-service realism, touch safety, subtle archival texture */
html{scroll-padding-top:64px}.gov-sep{display:inline-block;margin:0 8px;color:#b0bac2}.govbar time{font-variant-numeric:tabular-nums}.nav .inner{-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}.nav a{scroll-snap-align:start}.nav a[aria-current="page"]{background:#2f6e9e}
.service-meta{display:flex;flex-wrap:wrap;gap:0;border:1px solid #d8e0e5;background:#f8fafb;margin:0 0 12px;font-size:.76rem;color:#64727c}.service-meta span{padding:6px 10px;border-right:1px solid #e0e6ea}.service-meta span:last-child{border-right:0}.service-meta b{font-weight:600;color:#445968;margin-right:5px}
.hero-dots{right:12px;bottom:12px;align-items:center}.hero-dots button{appearance:none;width:24px;height:24px;border:0;background:transparent;display:grid;place-items:center;cursor:pointer;padding:0}.hero-dots button::before{content:"";display:block;width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.55);box-shadow:0 0 0 1px rgba(0,0,0,.2)}.hero-dots button.active::before{background:#fff;width:9px;height:9px}.hero-dots button:focus-visible{outline:2px solid #fff;outline-offset:1px}
.photo-card img,.campus-photo img{background:#dfe5e8}.photo-card img{max-height:420px;object-fit:cover}.photo-card::after,.campus-photo::after,.hero::after{background:linear-gradient(180deg,rgba(250,250,245,.015),rgba(30,42,47,.055));mix-blend-mode:multiply}.photo-caption{letter-spacing:.005em}.post-image{background:#737b70}.post-content .post-image{border:1px solid #a3aaa5}
.details-box>summary:focus-visible{outline:3px solid rgba(39,116,174,.28);outline-offset:2px}.modal-close{font-size:1.4rem;line-height:1}.forum-row>div:first-child{min-width:0}.forum-row .title{overflow-wrap:anywhere}
.footer .controls button{white-space:nowrap}.footer b{color:#52626d}.status-pill{min-height:30px}.masthead-status{font-variant-numeric:tabular-nums}
@media(max-width:640px){
  body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
  .nav{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
  .footer{padding-bottom:env(safe-area-inset-bottom)}
  .service-meta{display:grid;grid-template-columns:1fr 1fr}.service-meta span{border-right:1px solid #e0e6ea;border-bottom:1px solid #e0e6ea}.service-meta span:nth-child(2n){border-right:0}.service-meta span:last-child{grid-column:1/-1;border-right:0;border-bottom:0}
  .hero-dots{bottom:8px;right:8px}.hero-dots button{width:44px;height:44px}.hero-dots button::before{width:8px;height:8px}
  .footer .controls{width:100%}.footer .controls button{flex:1 1 140px}
  .photo-card img{max-height:260px}
  .forum-row{gap:8px}.forum-row>div:nth-child(2){text-align:right;font-size:.78rem}
}
@media(max-width:420px){.service-strip{grid-template-columns:1fr 1fr}.kpi-grid{grid-template-columns:1fr 1fr}.service-meta{grid-template-columns:1fr}.service-meta span,.service-meta span:nth-child(2n){grid-column:auto;border-right:0;border-bottom:1px solid #e0e6ea}.service-meta span:last-child{grid-column:auto}}
.forum-row .title{display:flex;align-items:center;min-height:44px}.post-image[role="button"]{cursor:zoom-in}.post-image[role="button"]:focus-visible{outline:3px solid rgba(39,116,174,.34);outline-offset:3px}


/* v2.3 guidance & typography: keep the portal realistic while making business priorities readable */
body{font-weight:400;letter-spacing:.002em;text-rendering:optimizeLegibility}
strong,b{font-weight:700}em,cite{font-family:"Songti SC",SimSun,serif;font-style:italic;color:#53616b}
.school-title h1,.section-title,.subhead,.list-title,.forum-row .title,.post-content h2{font-weight:700}
.school-title p,.govbar,.breadcrumb,.list-meta,.service-meta,.table-note,.photo-caption,.tiny{font-weight:400}
.section-title small,.list-meta,.table-note,.photo-caption,.archive-toolbar label{font-style:normal;letter-spacing:.015em}
.lead{font-family:"Songti SC",SimSun,"Noto Serif CJK SC",serif;font-weight:500;line-height:1.82}
.data-table th{font-weight:700;letter-spacing:.01em}.data-table td b,.kpi b,.home-metric{font-weight:700}
.business-note strong,.notice-box strong,.form-row>label,.form-label{font-weight:700}
.portal-stamp,.badge{font-weight:600;letter-spacing:.02em}.deadline{font-style:italic;font-family:Georgia,"Times New Roman","Microsoft YaHei",sans-serif}
.source-note{font-family:"Songti SC",SimSun,serif;font-style:italic;color:#697680;font-size:.8rem;line-height:1.7}
.attention-strip{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;margin:0 0 14px;border:1px solid #dfca8b;border-left:4px solid #bf8b21;background:#fffaf0;color:#544716}
.attention-strip .attention-copy{min-width:0}.attention-strip .attention-label{display:inline-flex;align-items:center;gap:7px;font-weight:700;color:#725500}.attention-strip .attention-label::before{content:"!";display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#d49d2f;color:#fff;font:700 13px/1 Arial,sans-serif}.attention-strip p{margin:3px 0 0;font-size:.84rem;color:#706344}.attention-strip .btn{flex:0 0 auto;background:#fffdf7}
.related-panel{margin-top:14px;padding:12px 13px;border:1px solid #d8e0e5;background:#f8fafb}.related-panel h3{margin:0 0 7px;color:#435d70;font-size:.9rem;font-weight:700}.related-panel p{margin:0 0 8px}.related-links{display:flex;flex-wrap:wrap;gap:7px 12px}.related-links a{display:inline-flex;align-items:center;min-height:38px;font-size:.84rem}.related-links a::before{content:"›";margin-right:5px;color:#7a91a2;font-weight:700}
.pending-kpi{position:relative}.pending-kpi .pending-dot{position:absolute;right:8px;top:8px;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:#c88919;color:white;font:700 11px/20px Arial,sans-serif;text-align:center}.pending-kpi b{padding-right:24px}
.association-badge{transition:background-color .18s ease,border-color .18s ease,color .18s ease}.association-badge.soft-flicker{background:#edf7ef!important;border-color:#b8d8c0!important;color:#2e6840!important}
.cross-flicker{animation:crossFlicker .72s ease both}@keyframes crossFlicker{0%,100%{background:var(--warn-bg);border-color:#ead493}45%{background:#edf7ef;border-color:#b8d8c0;color:#325f40}}
.business-route{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.business-route a{border:1px solid #d6dfe5;background:#fff;padding:10px 11px;min-height:58px;color:#3d5d73}.business-route a:hover{background:#f7fafc;text-decoration:none}.business-route b{display:block;font-size:.85rem}.business-route span{display:block;margin-top:2px;color:#74818b;font-size:.74rem}
@media(max-width:700px){.attention-strip{align-items:stretch;flex-direction:column}.attention-strip .btn{width:100%}.business-route{grid-template-columns:1fr}.related-links{display:grid;grid-template-columns:1fr}.related-links a{min-height:44px}}

/* v2.4 investigation flow / ordinary-school typography */
.portal-topic-list{list-style:none;margin:0;padding:0}.portal-topic-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:10px 0;border-bottom:1px solid #e3e8eb}.portal-topic-list li:last-child{border-bottom:0}.portal-topic-list a{font-weight:600;color:#355b75}.portal-topic-list span{font-size:.75rem;color:#87929a;font-variant-numeric:tabular-nums}
.attention-audit{margin:18px 0;padding:15px;border:1px solid #cbd5dc;background:#f7f9fa}.attention-audit h3{margin:0 0 11px;color:#3f596b;font-size:.95rem}.audit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.audit-grid>div,.future-record-grid>div{padding:10px 11px;border:1px solid #d6dfe4;background:#fff}.audit-grid span,.future-record-grid span{display:block;color:#74828c;font-size:.73rem}.audit-grid b,.future-record-grid b{display:block;margin-top:3px;color:#304c5e;font-size:1rem}.attention-index{display:flex;align-items:baseline;justify-content:space-between;margin-top:9px;padding:10px 12px;border-top:1px solid #cbd4da;background:#eef3f6}.attention-index span{font-size:.8rem;color:#5d6e79}.attention-index b{font-size:1.45rem;font-variant-numeric:tabular-nums;color:#2f4c60}
.future-record{margin:16px 0;padding:14px;border:1px solid #d5dce1;background:#f8fafb}.future-record span{display:block;color:#75838c;font-size:.75rem}.future-record b{display:block;margin-top:4px;color:#3d5361}.future-record-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.draft-ghost{padding:13px 14px;border:1px solid #d4dade;background:#fbfbfa;font-family:"Songti SC",SimSun,serif}.draft-ghost p{margin:6px 0}.forum-epilogue{margin:16px 0;padding:14px;border:1px solid #d9dfe2;background:#fafbfb}.forum-epilogue p{margin:6px 0}.deleted-line{margin-top:10px;color:#87929a;font-size:.78rem;font-style:italic}.review-primary{margin-top:13px}.result-sheet .future-record{max-width:720px}
@media(max-width:760px){.audit-grid{grid-template-columns:1fr 1fr}.future-record-grid{grid-template-columns:1fr}.portal-topic-list li{grid-template-columns:1fr}.portal-topic-list li span{text-align:left}.review-primary{width:100%}}

/* v2.5 human handoff / service-flow evidence */
.handoff-timeline{margin:14px 0 16px;border:1px solid #d5dde2;background:#fbfcfc}.handoff-timeline>div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;padding:10px 12px;border-bottom:1px solid #e3e8eb}.handoff-timeline>div:last-child{border-bottom:0}.handoff-timeline time{font-variant-numeric:tabular-nums;color:#6f7d86;font-size:.8rem;padding-top:2px}.handoff-timeline p{margin:0}.handoff-timeline b{display:block;color:#3b5363;font-size:.86rem}.handoff-timeline span{display:block;margin-top:2px;color:#7a878f;font-size:.76rem}.result-grid .result-stat b{font-family:"Microsoft YaHei","PingFang SC",sans-serif}
@media(max-width:520px){.handoff-timeline>div{grid-template-columns:58px minmax(0,1fr);gap:8px}.handoff-timeline{margin-left:-4px;margin-right:-4px}}

/* v2.6 reading settings / optional effective-information underline */
.settings-layer{z-index:90}.settings-card{width:min(620px,100%)}
.setting-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:13px 0;border-bottom:1px solid #e3e8eb;cursor:pointer}.setting-row>span{min-width:0}.setting-row b{display:block;color:#334f61;font-size:.92rem}.setting-row small{display:block;margin-top:2px;color:#75828b;font-size:.75rem;line-height:1.55}.setting-row input{width:20px;height:20px;accent-color:#2f6ea6}.settings-save{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding:12px 13px;border:1px solid #d8e0e5;background:#f8fafb}.settings-save p{margin:3px 0 0}.reset-confirm-box{margin-top:14px}.reset-confirm-box p{margin:6px 0 0}.reset-confirm-box .actions{justify-content:flex-end}
html.effective-underlines .effective-info{text-decoration-line:underline;text-decoration-style:solid;text-decoration-thickness:1px;text-underline-offset:.18em;text-decoration-skip-ink:auto}
html.effective-underlines td.effective-info,html.effective-underlines .notice-box.effective-info,html.effective-underlines .business-note.effective-info{ text-decoration-thickness:1px }
@media(max-width:640px){.settings-save{align-items:stretch;flex-direction:column}.settings-save .btn{width:100%}.setting-row{gap:12px}.settings-card{padding:16px}}

/* v2.8 exploration and atmosphere components */
.portal-featured-topic{display:grid;grid-template-columns:92px minmax(0,1fr);gap:11px;align-items:center;margin:0 0 10px;padding:9px;border:1px solid #d7dfe3;background:#f8fafb;color:inherit}.portal-featured-topic:hover{text-decoration:none;background:#f4f7f8}.portal-featured-topic img{display:block;width:92px;height:72px;object-fit:cover;border:1px solid #b9c0c3;filter:saturate(.72) contrast(.95)}.portal-featured-topic span{min-width:0}.portal-featured-topic small,.portal-featured-topic em{display:block;color:#7a858b;font-size:.7rem;font-style:normal}.portal-featured-topic b{display:block;color:#2f5368;font-size:.86rem;margin:3px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.campus-live-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.campus-live-grid>div{border:1px solid #dde4e7;background:#f8fafb;padding:8px}.campus-live-grid span{display:block;font-size:.68rem;color:#7d888e}.campus-live-grid b{display:block;margin-top:2px;font-size:.83rem;color:#3b5665}.forum-statusbar{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:6px 12px;border-bottom:1px solid #d0d4d5;background:#f0f2f2;color:#70797d;font-size:.72rem}.forum-statusbar b{color:#45545b;font-variant-numeric:tabular-nums}.forum-topic-main{display:flex;gap:10px;align-items:center;min-width:0}.forum-thumb{width:58px;height:44px;flex:0 0 auto;border:1px solid #bfc5c8;background:#e9ecec;overflow:hidden}.forum-thumb img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.7) contrast(.94)}.related-panel.restrained{border-top-color:#d8dfe2;background:#fbfcfc}.related-panel.restrained h3{font-size:.86rem;color:#4f626d}.related-panel.restrained .related-links a{font-weight:400}.legacy-inline-link{display:inline-flex;align-items:center;min-height:36px;padding:5px 9px;border:1px solid #cfd7da;background:#f7f8f8;font-size:.76rem;color:#5b6a70}.legacy-inline-link:hover{text-decoration:none;background:#f0f3f3}
@media(max-width:640px){.portal-featured-topic{grid-template-columns:78px minmax(0,1fr)}.portal-featured-topic img{width:78px;height:62px}.campus-live-grid{grid-template-columns:1fr}.forum-row.has-thumb{grid-template-columns:1fr 70px}.forum-thumb{width:50px;height:40px}}
.forum-archive-rec{display:grid;grid-template-columns:92px minmax(0,1fr);gap:11px;align-items:center;padding:10px 12px;border-bottom:1px solid #cfd5d7;background:#f7f8f8;color:inherit}.forum-archive-rec:hover{text-decoration:none;background:#f2f4f4}.forum-archive-rec img{width:92px;height:68px;object-fit:cover;border:1px solid #b9c0c2;filter:saturate(.7) contrast(.95)}.forum-archive-rec small,.forum-archive-rec em{display:block;color:#7a8286;font-size:.7rem;font-style:normal}.forum-archive-rec b{display:block;margin:3px 0;color:#3e5965;font-size:.86rem}.forum-archive-rec::after{content:'归档';justify-self:end;align-self:start;margin-left:auto;border:1px solid #c8d0d3;background:#fff;padding:1px 5px;font-size:.66rem;color:#778185}@media(max-width:640px){.forum-archive-rec{grid-template-columns:76px minmax(0,1fr)}.forum-archive-rec img{width:76px;height:58px}.forum-archive-rec::after{display:none}}
.current-campus-mini>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid #e2e7e9;font-size:.78rem}.current-campus-mini>div span{color:#78848a}.current-campus-mini>div b{font-weight:600;color:#425963}.current-campus-mini p{margin:9px 0 0}


/* v2.9 quiet photographic tension */
.review-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0 10px}.quiet-photo{margin:0;border:1px solid #cfd7db;background:#f6f8f9;position:relative;overflow:hidden}.quiet-photo img{display:block;width:100%;height:180px;object-fit:cover;filter:saturate(.58) contrast(.98) brightness(.82)}.quiet-photo::after{content:"";position:absolute;inset:0 0 48px;pointer-events:none;background:linear-gradient(180deg,rgba(20,33,40,.02),rgba(20,33,40,.14))}.quiet-photo figcaption{min-height:48px;padding:8px 10px;border-top:1px solid #d7dde0;background:#f8f9f9;position:relative;z-index:1}.quiet-photo figcaption b,.quiet-photo figcaption span{display:block}.quiet-photo figcaption b{font-size:.8rem;color:#405762}.quiet-photo figcaption span{margin-top:2px;font-size:.72rem;color:#737f85}.quiet-status-line{display:flex;flex-wrap:wrap;gap:7px 18px;padding:8px 10px;margin-bottom:14px;border:1px solid #d8dfe2;background:#f1f4f5;color:#657178;font-size:.74rem}.quiet-status-line b{color:#3e515a;font-variant-numeric:tabular-nums}body[data-atmosphere="7"] .quiet-photo img,body[data-atmosphere="8"] .quiet-photo img{filter:saturate(.5) contrast(1) brightness(.78)}
@media(max-width:680px){.review-photo-grid{grid-template-columns:1fr}.quiet-photo img{height:160px}.quiet-status-line{display:grid;grid-template-columns:1fr}}
.search-history-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:10px}.recent-stack{display:grid;gap:7px}.recent-stack>a{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #d7dfe3;background:#f8fafb;padding:9px 10px;color:#3e5664}.recent-stack>a:hover{text-decoration:none;background:#f1f5f6}.recent-stack b{font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-stack span{font-size:.68rem;color:#879198;flex:0 0 auto}@media(max-width:700px){.search-history-grid{grid-template-columns:1fr}.recent-stack>a{align-items:flex-start}.recent-stack span{display:none}}
.day2-process{margin:14px 0;border:1px solid #d8dfe3;background:#fafbfb}.day2-process>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;padding:9px 11px;border-bottom:1px solid #e4e8ea}.day2-process>div:last-child{border-bottom:0}.day2-process span{font-size:.72rem;color:#7c878e;font-variant-numeric:tabular-nums}.day2-process b{font-size:.82rem;color:#435a67}.day2-profile{border-color:#d7d1b8;background:#fffdf7}
.forum-reply-summary{margin-left:150px;padding:9px 18px;border-top:1px solid #e1e4e5;background:#f7f8f8;color:#7a8388;font-size:.74rem}@media(max-width:700px){.forum-reply-summary{margin-left:0}}

/* v3.1 non-gamey investigation recovery */
.recent-sidebar>a{display:block;padding:7px 0;border-bottom:1px solid #e3e8ea;color:#405966;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-sidebar>a:last-child{border-bottom:0}.recent-sidebar .recent-search-link{margin-top:6px;color:#557a8d;font-size:.72rem;font-weight:600}.archive-year-em{font-variant-numeric:tabular-nums}
