/* Campus Radar: a calm, editorial campus journal. */
:root{--teal:var(--accent);--paper:var(--bg);--ui-font:"Microsoft YaHei UI","PingFang SC",sans-serif;--sans:var(--ui-font)}
html,body{background:var(--bg);color:var(--ink)}
body{padding:0;font-family:var(--ui-font)}
.phone-page{width:min(100%,1100px);min-height:100dvh;background:var(--paper);border-radius:0;box-shadow:none;overflow:hidden}
.brand-header{height:94px;padding:var(--sp-28) var(--sp-48);display:flex;align-items:center;border-bottom:1px solid var(--line)}
.brand{font-size:var(--fs-24);letter-spacing:-1px;display:flex;align-items:center;gap:var(--sp-12)}
.brand:before{content:"";width:23px;height:23px;border:2px solid var(--line);border-radius:50%;background:radial-gradient(circle,var(--bg) 0 3px,transparent 4px);box-shadow:inset 0 0 0 5px var(--paper),inset 0 0 0 6px var(--line)}
.home-page main{padding:0 var(--sp-48) var(--sp-28)}
.hero{height:auto;min-height:370px;padding:var(--sp-48) 0 var(--sp-36);isolation:isolate}
.hero:after{display:none}
.hero-eyebrow{font-size:var(--fs-11);font-weight:700;letter-spacing:2px;color:var(--muted);display:flex;gap:var(--sp-16);align-items:center}
.hero-eyebrow span{font-size:var(--fs-11);letter-spacing:1px;font-weight:400}
.hero h1{margin:var(--sp-24) 0 var(--sp-24);font-size:var(--fs-48);line-height:1.35;letter-spacing:-2px;font-weight:750;max-width:700px}
.hero-action{display:inline-flex;align-items:center;gap:10px;border-radius:var(--rad-8);background:var(--accent);color:var(--on-accent);padding:14px 20px;font-size:var(--fs-14);font-weight:600;min-height:48px;box-shadow:var(--shadow-1)}.hero-action span{font-size:var(--fs-16);width:18px;height:18px;min-width:18px;min-height:18px;background:none;display:inline-flex;align-items:center;justify-content:center;padding:0}.hero-meta{margin-top:var(--sp-20);font-size:var(--fs-12);color:var(--muted);letter-spacing:.4px}
.radar-art{position:absolute;right:-8px;top:25px;width:310px;height:310px;border-radius:50%;border:1px solid var(--line);background:repeating-radial-gradient(circle at center,transparent 0 48px,var(--bg) 49px 50px),conic-gradient(from 35deg,transparent 65%,var(--bg) 95%,transparent 95%);z-index:-1}
.radar-art:before,.radar-art:after{content:"";position:absolute;background:var(--bg);opacity:.7}.radar-art:before{top:50%;height:1px;width:100%}.radar-art:after{left:50%;width:1px;height:100%}
.radar-art i{position:absolute;width:12px;height:12px;background:var(--bg);border:3px solid var(--line);border-radius:50%;box-shadow:var(--shadow-2);left:22%;top:30%}.radar-art i:nth-child(2){left:72%;top:45%;background:var(--bg)}.radar-art i:nth-child(3){left:45%;top:79%}.radar-art b{position:absolute;left:48%;top:48%;width:13px;height:13px;border-radius:50%;background:var(--bg)}.radar-art span{position:absolute;bottom:-26px;left:0;right:0;text-align:center;font-size:var(--fs-10);letter-spacing:4px;color:var(--muted)}
.urgent-panel{height:auto;padding:0 var(--sp-20);background:var(--bg);border:1px solid var(--line);border-radius:var(--rad-12);box-shadow:none}
.urgent-title{height:56px;font-size:var(--fs-12);gap:var(--sp-32);border-color:var(--line)}.urgent-title>b{font-size:var(--fs-15);color:var(--muted)}.urgent-title a{font-size:var(--fs-12);color:var(--muted)}.bell-icon{transform:scale(.8);background:var(--bg)}.bell-icon:after{background:var(--bg)}
.deadline-list{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-24)}.deadline-item{padding:var(--sp-20) var(--sp-20) var(--sp-20) 0;min-height:115px;border:0}.deadline-item .tag{position:static;display:inline-block;min-width:0;padding:0;margin-bottom:var(--sp-24);font-size:var(--fs-11);text-align:left;color:var(--muted);background:none}.deadline-item b{font-size:var(--fs-15);line-height:1.55}.deadline-item small{font-size:var(--fs-11);color:var(--muted)}.deadline-item:after{font-size:var(--fs-22);color:var(--muted)}
.explore{padding-top:var(--sp-28)}.section-title{margin:0;padding:0 0 var(--sp-16)}.section-title h2{font-size:var(--fs-20);letter-spacing:-.5px}
.category-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-12)}
.category-link{height:104px;min-height:104px;padding:var(--sp-16);grid-template-columns:48px minmax(0,1fr);gap:var(--sp-10);border:1px solid var(--line);background:var(--bg);border-radius:var(--rad-10);box-shadow:none;transition:border-color var(--dur-62),background var(--dur-62),transform var(--dur-62)}
.category-link:before{display:none}.category-link:hover{background:var(--bg);border-color:var(--line);box-shadow:none;transform:translateY(-2px)}
.category-link .category-icon{margin:0;width:46px;height:46px;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--muted)}.category-link .category-icon svg{width:29px;height:29px;stroke-width:1.6}
.category-copy b{font-size:var(--fs-18);line-height:1.3;margin:0 0 var(--sp-24);color:var(--ink2)}.category-copy small{font-size:var(--fs-11);color:var(--muted);letter-spacing:0;line-height:1.5}
.bottom-nav{position:fixed;left:50%;right:auto;transform:translateX(-50%);bottom:18px;width:260px;height:60px;border:1px solid var(--line);border-radius:var(--rad-20);background:#fcfcf8f2;box-shadow:var(--shadow-3);backdrop-filter:blur(15px)}
.bottom-nav a{flex-direction:row;gap:var(--sp-10);font-size:var(--fs-12);color:var(--muted)}.bottom-nav a.active{color:var(--muted)}.bottom-nav a:before{display:none}.bottom-nav .nav-icon{width:20px;height:20px}.bottom-nav a.active b{font-weight:700}
.site-footer{padding:var(--sp-24) var(--sp-24) var(--sp-64);font-size:var(--fs-10);color:var(--muted)}.site-footer a{color:var(--muted)}.site-footer small{color:var(--muted)}
.list-header{height:140px;padding:var(--sp-40) var(--sp-48) var(--sp-28);background:none;align-items:center}.list-header h1{font-size:var(--fs-32);letter-spacing:-1px;margin-bottom:var(--sp-10)}.list-header p{font-size:var(--fs-12);color:var(--muted)}.header-search{border:1px solid var(--line);background:var(--bg);width:44px;height:44px}.header-search svg{width:23px;height:23px;fill:none;stroke:var(--line);stroke-width:1.8}
.tab-wrap{padding:0 var(--sp-48);height:55px;background:none;border-bottom:1px solid var(--line)}.chip-row{height:55px;gap:var(--sp-28)}.chip{font-size:var(--fs-14);color:var(--muted)}.chip.active{color:var(--muted)}.chip.active:after{background:var(--bg);height:2px}
.activities-page main{padding-bottom:0}.result-section{padding:var(--sp-28) var(--sp-48)}.activity-list{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-20)}.activity-card{padding:var(--sp-24);min-height:0;border:1px solid var(--line);border-radius:var(--rad-12);background:var(--bg);box-shadow:none}.activity-card:before,.activity-card:after{display:none}.activity-card:hover{border-color:var(--line);box-shadow:var(--shadow-3);transform:translateY(-2px)}
.card-kicker,.detail-kicker{height:auto;min-height:25px;display:flex;flex-wrap:wrap;gap:var(--sp-24);align-items:center;padding:0}.card-kicker span,.detail-kicker span{padding:var(--sp-16) var(--sp-32);background:var(--bg);color:var(--muted);border-radius:var(--rad-4);font-size:var(--fs-10);line-height:1.2;box-shadow:none}.card-kicker span:last-child,.detail-kicker span:last-child{background:var(--bg);color:var(--muted);box-shadow:none}.card-kicker .campus-badge,.detail-kicker .campus-badge{background:transparent;border:1px solid var(--line);color:var(--muted)}.card-kicker .recognition-badge,.detail-kicker .recognition-badge{background:var(--bg);color:var(--muted)}
.activity-card h2{font-size:var(--fs-20);line-height:1.55;letter-spacing:-.5px;margin:var(--sp-16) 0 var(--sp-10);padding:0;color:var(--ink2)}.activity-card>p{font-size:var(--fs-12);line-height:1.9;color:var(--muted);margin:0 0 var(--sp-20)}.card-facts{border-color:var(--line);padding-top:var(--sp-10)}.card-facts div{font-size:var(--fs-12);grid-template-columns:36px 1fr;padding-left:var(--sp-24);line-height:1.7;color:var(--muted)}.card-facts svg{width:15px;height:15px;fill:var(--line)}.card-facts b{color:var(--muted);font-weight:500}
.pagination{margin-top:var(--sp-24)}.page-button{width:33px;height:33px;border-radius:var(--rad-6);background:transparent;border-color:var(--line);font-size:var(--fs-12)}.page-button.active{background:var(--bg);border-color:var(--line)}
.detail-header{height:78px;padding:0 var(--sp-40);background:none;border-bottom:1px solid var(--line)}.detail-header b{font-size:var(--fs-16)}.detail-header a{font-size:var(--fs-32)}.detail-header button{display:none}.detail-page{max-width:760px;margin:auto;padding:0 0 var(--sp-28)}.detail-lead{padding:var(--sp-40) var(--sp-36) var(--sp-24)}.detail-kicker:before{display:none}.detail-lead h1{font-size:var(--fs-32);letter-spacing:-.8px;line-height:1.5;margin:var(--sp-20) 0 var(--sp-12)}.detail-subtitle{font-size:var(--fs-14);color:var(--muted);line-height:1.8}.detail-desc{font-size:var(--fs-14);color:var(--muted);line-height:1.95}
.detail-facts{margin:0 var(--sp-36);padding:var(--sp-16) var(--sp-20);background:var(--bg);border:1px solid var(--line);border-radius:var(--rad-12)}.detail-facts .fact{margin:0;padding:var(--sp-16) 0;min-height:0;display:grid;grid-template-columns:20px 80px minmax(0,1fr);gap:var(--sp-12);align-items:start;border-color:var(--line);font-size:var(--fs-13);line-height:1.7;color:var(--muted)}.detail-facts svg{position:static;width:18px;height:18px;margin-top:var(--sp-32);fill:var(--line)}.detail-facts b{color:var(--muted);font-weight:500}.detail-facts strong{color:var(--muted);font-weight:600}
.official-area{padding:var(--sp-24) var(--sp-36) var(--sp-12)}.official-button{background:var(--bg);border-radius:var(--rad-8);box-shadow:none;height:49px;font-size:var(--fs-14)}.official-button:hover{background:var(--bg);box-shadow:none}.detail-note{font-size:var(--fs-11);color:var(--muted)}.introduction{padding:var(--sp-20) var(--sp-36)}.introduction h2{font-size:var(--fs-18)}.introduction p{font-size:var(--fs-14);line-height:2;color:var(--muted)}
.legal-page main{max-width:740px;margin:auto}.legal-page .detail-header{grid-template-columns:60px 1fr 60px}
@media all{.brand-header{height:74px;padding:var(--sp-20)}.brand{font-size:var(--fs-20)}.home-page main{padding:0 var(--sp-20) var(--sp-10)}.hero{min-height:335px;padding:var(--sp-28) 0 var(--sp-24)}.hero-eyebrow{font-size:var(--fs-10);gap:var(--sp-10);letter-spacing:1.4px}.hero-eyebrow span{font-size:var(--fs-10);letter-spacing:0}.hero h1{font-size:var(--fs-32);letter-spacing:-1.3px;margin:var(--sp-24) 0 var(--sp-20);max-width:340px}.hero-action{font-size:var(--fs-14);padding:14px 20px;gap:10px;background:var(--accent);color:var(--on-accent);border-radius:var(--rad-8);font-weight:600;min-height:48px;box-shadow:var(--shadow-1)}.hero-meta{font-size:var(--fs-10);margin-top:var(--sp-20)}.radar-art{right:-99px;top:85px;width:240px;height:240px;opacity:.28}.radar-art span{display:none}.urgent-panel{padding:0 var(--sp-16)}.urgent-title{font-size:var(--fs-10);gap:var(--sp-16);height:50px}.urgent-title>b{font-size:var(--fs-13)}.urgent-title a{font-size:var(--fs-10)}.deadline-list{display:block}.deadline-item{padding:var(--sp-14) var(--sp-16) var(--sp-14) 0;min-height:0;border-bottom:1px solid var(--line)}.deadline-item b{font-size:var(--fs-14);line-height:1.5}.deadline-item .tag{margin-bottom:var(--sp-16)}.explore{padding-top:var(--sp-24)}.section-title h2{font-size:var(--fs-18)}.category-grid{grid-template-columns:1fr 1fr;gap:var(--sp-32)}.category-link{height:86px;min-height:86px;padding:var(--sp-10);grid-template-columns:31px minmax(0,1fr);gap:var(--sp-32)}.category-link .category-icon{width:31px;height:36px}.category-link .category-icon svg{width:25px;height:25px}.category-copy b{font-size:var(--fs-16);margin-bottom:var(--sp-16)}.category-copy small{font-size:var(--fs-10)}.list-header{height:117px;padding:var(--sp-28) var(--sp-20) var(--sp-20)}.list-header h1{font-size:var(--fs-28)}.tab-wrap{padding:0 var(--sp-20)}.chip-row{gap:var(--sp-24)}.chip{font-size:var(--fs-13)}.result-section{padding:var(--sp-20)}.activity-list{grid-template-columns:1fr;gap:var(--sp-14)}.activity-card{padding:var(--sp-20)}.activity-card h2{font-size:var(--fs-18)}.detail-header{height:65px;padding:0 var(--sp-20)}.detail-lead{padding:var(--sp-24) var(--sp-20) var(--sp-20)}.detail-lead h1{font-size:var(--fs-24)}.detail-facts{margin:0 var(--sp-20);padding:0 var(--sp-14)}.detail-facts .fact{grid-template-columns:18px 62px minmax(0,1fr);gap:var(--sp-32);font-size:var(--fs-12);padding:var(--sp-14) 0}.official-area,.introduction{padding-left:var(--sp-20);padding-right:var(--sp-20)}.site-footer{padding-top:var(--sp-20)}.bottom-nav{bottom:12px;height:56px;width:232px}}

/* Seven category filters share the mobile row evenly. */
.tab-wrap{padding:0 var(--sp-10)}
.chip-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;height:55px;overflow:visible}
.chip{width:100%;min-width:0;padding-inline:0;text-align:center;white-space:nowrap}
.phone-page{width:min(100%,430px);min-height:100dvh;margin:0 auto;border-radius:0}
/* Mobile visual refinement: stronger reading contrast and quieter surfaces. */
.brand-header{height:70px;border-bottom:0;padding:var(--sp-24) var(--sp-20) var(--sp-12)}
.brand{font-size:var(--fs-22);letter-spacing:-.6px}
.hero{min-height:302px;padding-top:var(--sp-24);padding-bottom:var(--sp-24)}
.hero h1{font-size:var(--fs-32);line-height:1.42;margin:var(--sp-20) 0 var(--sp-20);font-weight:700}
.hero-eyebrow{color:var(--muted);font-size:var(--fs-10);letter-spacing:1.7px}
.hero-eyebrow span{display:inline;font-weight:500;letter-spacing:.04em;color:var(--muted)}
.hero-action{border-radius:var(--rad-8);padding:14px 20px;box-shadow:var(--shadow-1);background:var(--accent);color:var(--on-accent);gap:10px;font-size:var(--fs-14);font-weight:600;min-height:48px}
.hero-meta{font-size:var(--fs-12);color:var(--muted);letter-spacing:0}
.radar-art{right:-100px;top:66px;opacity:.48}
.urgent-panel{background:var(--bg);border:1px solid var(--line);border-radius:var(--rad-14)}
.urgent-title{height:48px}.urgent-title>b{font-size:var(--fs-14)}.urgent-title a{font-size:var(--fs-11)}
.deadline-item{padding-top:var(--sp-14);padding-bottom:var(--sp-14)}
.deadline-item b{font-size:var(--fs-15);line-height:1.65;font-weight:600;letter-spacing:0}
.deadline-item small{font-size:var(--fs-12);color:var(--muted)}
.deadline-item .tag{font-size:var(--fs-11);color:var(--muted)}
.section-title{padding-bottom:var(--sp-14)}
.section-title h2{font-size:var(--fs-18);letter-spacing:-.4px}
.category-grid{gap:var(--sp-10)}
.category-link{border-radius:var(--rad-12);height:88px;min-height:88px;background:var(--bg);padding:var(--sp-12) var(--sp-10);gap:var(--sp-32);border-color:var(--line)}
.category-link .category-icon{width:32px;height:36px;color:var(--muted)}
.category-copy b{font-size:var(--fs-16);font-weight:600}
.category-copy small{font-size:var(--fs-11);color:var(--muted);white-space:normal;line-height:1.6}
.activity-card{border-radius:var(--rad-14);padding:var(--sp-20);background:var(--bg)}
.activity-card h2{font-size:var(--fs-20);line-height:1.55;font-weight:650;margin-top:var(--sp-14)}
.activity-card>p{font-size:var(--fs-13);color:var(--muted);line-height:1.85}
.card-kicker span,.detail-kicker span{font-size:var(--fs-11);padding:var(--sp-16) var(--sp-32)}
.card-facts div{font-size:var(--fs-13);line-height:1.7}
.detail-desc,.detail-subtitle,.introduction p{color:var(--muted)}
.detail-facts{border-radius:var(--rad-14)}
.detail-facts .fact{font-size:var(--fs-13)}
.bottom-nav{width:246px;padding:var(--sp-16);height:58px;border-radius:var(--rad-16);border-color:var(--line);background:var(--bg);box-shadow:var(--shadow-3)}
.bottom-nav a{border-radius:var(--rad-12);font-size:var(--fs-13)}
.bottom-nav a.active{background:var(--bg);color:var(--muted)}
.site-footer{padding:var(--sp-24) var(--sp-24) var(--sp-64);color:var(--muted);line-height:1.8}
.site-footer p{font-size:var(--fs-10);max-width:300px;margin:0 auto}
@media(max-width:360px){.hero h1{font-size:var(--fs-28)}.category-link{padding:var(--sp-10) var(--sp-24);gap:var(--sp-24);grid-template-columns:27px minmax(0,1fr)}.category-copy small{font-size:var(--fs-10)}.urgent-title>span,.urgent-title em{display:none}}

/* Refined radar motion and type clarity */
html{-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility}
body{font-synthesis:none;-webkit-font-smoothing:antialiased}
.hero{overflow:visible}
.hero h1{color:var(--ink2);font-weight:700;letter-spacing:-1.15px;text-shadow:0 .01px 0 currentColor}
.hero-eyebrow{color:var(--muted);font-weight:700;letter-spacing:2.1px}
.hero-meta{position:relative;z-index:4;display:flex;width:max-content;max-width:190px;min-height:28px;clear:both;margin-top:var(--sp-14);padding:var(--sp-24) var(--sp-10);border:1px solid rgba(6,84,55,.12);border-radius:var(--rad-24);background:var(--bg);color:var(--muted);font-size:var(--fs-11);font-weight:600;box-shadow:var(--shadow-3)}
.hero-meta:after{content:"";position:absolute;z-index:-1;left:-8px;top:-8px;width:215px;height:44px;background:linear-gradient(90deg,var(--paper) 76%,transparent);pointer-events:none}
.hero-action{position:relative;z-index:4;font-weight:600;letter-spacing:.01em;transition:transform var(--dur-62) ease,background-color var(--dur-62) ease,box-shadow var(--dur-62) ease;background:var(--accent);color:var(--on-accent);padding:14px 20px;gap:10px;border-radius:var(--rad-8);font-size:var(--fs-14);min-height:48px;box-shadow:var(--shadow-1)}
.hero-action:active{transform:scale(.97);background:var(--accent);color:var(--on-accent);padding:14px 20px;gap:10px;border-radius:var(--rad-8);font-size:var(--fs-14);font-weight:600;min-height:48px;box-shadow:var(--shadow-1)}
.radar-art{overflow:hidden;border-color:rgba(21,83,50,.29);background:repeating-radial-gradient(circle at center,transparent 0 46px,rgba(44,111,65,.21) 47px 48px),linear-gradient(90deg,transparent calc(50% - .5px),rgba(29,83,45,.21) 50%,transparent calc(50% + .5px)),linear-gradient(transparent calc(50% - .5px),rgba(29,83,45,.21) 50%,transparent calc(50% + .5px));box-shadow:inset 0 0 32px rgba(28,83,46,.055)}
.radar-art:before{content:"";position:absolute;inset:-1px;border-radius:50%;width:auto;height:auto;background:conic-gradient(from 10deg,transparent 0 66%,rgba(46,110,63,.025) 72%,rgba(46,110,63,.33) 94%,rgba(46,110,63,.08) 99%,transparent 100%);transform-origin:50% 50%;animation:radar-sweep 6.8s linear infinite}
.radar-art:after{content:"";position:absolute;left:50%;top:50%;width:46%;height:1px;background:linear-gradient(90deg,rgba(24,83,48,.72),rgba(45,111,64,0));transform-origin:left center;animation:radar-line 6.8s linear infinite}
.radar-art i{z-index:2;width:9px;height:9px;border-width:2px;animation:target-pulse 3.2s ease-in-out infinite}
.radar-art i:nth-child(2){animation-delay:-1.15s}.radar-art i:nth-child(3){animation-delay:-2.2s}
.radar-art b{z-index:3;width:12px;height:12px;animation:center-pulse 2.8s ease-out infinite}
.urgent-title>span,.deadline-item small,.category-copy small,.activity-card>p,.card-facts div,.detail-subtitle,.detail-desc,.detail-facts .fact,.introduction p{color:var(--muted);font-weight:500}
.category-copy small{color:var(--muted)}.activity-card>p{color:var(--muted)}.detail-note,.site-footer{color:var(--muted)}
.category-link,.activity-card,.urgent-panel{backdrop-filter:none}
@keyframes radar-sweep{to{transform:rotate(360deg)}}
@keyframes radar-line{to{transform:rotate(360deg)}}
@keyframes target-pulse{0%,100%{opacity:.58;box-shadow:var(--shadow-1)}50%{opacity:1;box-shadow:var(--shadow-2)}}
@keyframes center-pulse{0%{box-shadow:0 0 0 0 rgba(12,84,53,.22)}70%{box-shadow:var(--shadow-2)}100%{box-shadow:0 0 0 0 rgba(12,84,53,0)}}
@media(prefers-reduced-motion:no-preference){
  .brand-header{animation:screen-rise var(--dur-62) var(--ease-emphasis) both}
  .hero-eyebrow{animation:screen-rise var(--dur-62) var(--dur-62) var(--ease-emphasis) both}
  .hero h1{animation:screen-rise var(--dur-62) var(--dur-62) var(--ease-emphasis) both}
  .hero-action{animation:screen-rise var(--dur-62) var(--dur-62) var(--ease-emphasis) both;background:var(--accent);color:var(--on-accent);padding:14px 20px;gap:10px;border-radius:var(--rad-8);font-size:var(--fs-14);font-weight:600;min-height:48px;box-shadow:var(--shadow-1)}
  .hero-meta{animation:screen-rise var(--dur-62) var(--dur-62) var(--ease-emphasis) both}
  .radar-art{animation:radar-arrive var(--dur-62) var(--dur-62) var(--ease-emphasis) both}
  .urgent-panel{animation:screen-rise var(--dur-62) var(--dur-62) var(--ease-emphasis) both}
  .explore{animation:screen-rise var(--dur-62) var(--dur-62) var(--ease-emphasis) both}
  .category-link{animation:screen-rise var(--dur-62) var(--ease-emphasis) both}
  .category-link:nth-child(1){animation-delay:var(--dur-62)}.category-link:nth-child(2){animation-delay:var(--dur-62)}.category-link:nth-child(3){animation-delay:var(--dur-62)}.category-link:nth-child(4){animation-delay:var(--dur-62)}.category-link:nth-child(5){animation-delay:var(--dur-62)}.category-link:nth-child(6){animation-delay:var(--dur-62)}
  @keyframes screen-rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
  @keyframes radar-arrive{from{opacity:0;transform:scale(.88) rotate(-9deg)}to{opacity:.48;transform:scale(1) rotate(0)}}
}
@media(prefers-reduced-motion:reduce){.radar-art:before,.radar-art:after,.radar-art i,.radar-art b{animation:none!important}}
@media(min-width:700px){.phone-page{box-shadow:var(--shadow-3)}}

/* Three-part primary navigation and the quiet, editorial project note. */
.bottom-nav{width:min(320px,calc(100vw - 32px));grid-template-columns:repeat(3,1fr)}
.about-page{overflow-x:hidden;background:var(--bg)}.about-page .phone-page{overflow:hidden;background:var(--bg)}.about-main{max-width:760px;margin:0 auto;padding:var(--sp-28) var(--sp-24) var(--sp-64)}.about-hero{position:relative;isolation:isolate;padding:var(--sp-24) 0 var(--sp-20)}.about-radar{position:absolute;z-index:-1;right:-86px;top:-72px;width:250px;height:250px;overflow:hidden;border:1px solid rgba(1,84,57,.18);border-radius:50%;background:repeating-radial-gradient(circle at center,transparent 0 40px,rgba(1,84,57,.07) 41px 42px),linear-gradient(90deg,transparent calc(50% - .5px),rgba(1,84,57,.1) 50%,transparent calc(50% + .5px)),linear-gradient(transparent calc(50% - .5px),rgba(1,84,57,.1) 50%,transparent calc(50% + .5px))}.about-radar:after{content:"";position:absolute;left:50%;top:50%;width:48%;height:1px;background:linear-gradient(90deg,rgba(12,84,53,.5),transparent);transform-origin:left;transform:rotate(-32deg)}.about-radar i{position:absolute;width:7px;height:7px;border:2px solid var(--line);border-radius:50%;box-shadow:var(--shadow-1)}.about-radar i:first-child{left:73px;top:62px}.about-radar i:nth-child(2){left:54px;top:153px}.about-radar b{position:absolute;left:50%;top:50%;width:9px;height:9px;transform:translate(-50%,-50%);border-radius:50%;background:var(--bg)}.about-kicker{position:relative;z-index:1;margin:0 0 var(--sp-20);color:var(--muted);font-size:var(--fs-10);font-weight:800;letter-spacing:.2em}.about-hero h1{position:relative;z-index:1;max-width:350px;margin:0;color:var(--ink2);font-size:clamp(var(--fs-36),10vw,var(--fs-40));line-height:1.08;letter-spacing:-.065em}.about-hero>p:nth-of-type(2){position:relative;z-index:1;max-width:500px;margin:var(--sp-16) 0 0;color:var(--muted);font-size:var(--fs-13);line-height:1.75}.about-free{position:relative;z-index:1;margin:var(--sp-12) 0 0!important;color:var(--muted)!important;font-size:var(--fs-11)!important;font-weight:600}.about-free span{display:inline-block;margin-right:var(--sp-24);padding:var(--sp-32) var(--sp-24);border-radius:var(--rad-24);color:var(--muted);background:var(--bg);font-size:var(--fs-10)}.douyin-card{position:relative;margin:var(--sp-14) 0 0;padding:var(--sp-20) var(--sp-28) var(--sp-20);overflow:hidden;border-radius:var(--rad-14);color:var(--muted);background:var(--bg);box-shadow:var(--shadow-3)}.douyin-card:after{content:"";position:absolute;right:-38px;bottom:-64px;width:160px;height:160px;border:22px solid rgba(233,204,143,.13);border-radius:50%}.douyin-mark{position:absolute;right:23px;top:17px;color:var(--muted);font-size:var(--fs-24);font-weight:900}.douyin-card>p:first-of-type{margin:0 0 var(--sp-24);color:var(--muted);font-size:var(--fs-10);letter-spacing:.08em}.douyin-card h2{position:relative;z-index:1;margin:0;font-size:var(--fs-22);line-height:1.4;letter-spacing:-.04em}.douyin-card strong{color:var(--muted);font-size:var(--fs-28)}.douyin-copy{position:relative;z-index:1;max-width:285px;margin:var(--sp-10) 0 0;color:var(--muted);font-size:var(--fs-11);line-height:1.65}.about-feedback{display:grid;grid-template-columns:24px 1fr;gap:var(--sp-32);align-items:start;margin:var(--sp-14) 0 0;padding:var(--sp-12) var(--sp-14);border:1px solid var(--line);border-radius:var(--rad-10);background:var(--bg)}.about-feedback>span{color:var(--muted);font-size:var(--fs-16)}.about-feedback h2{margin:0 0 var(--sp-32);color:var(--muted);font-size:var(--fs-14)}.about-feedback p{margin:0;color:var(--muted);font-size:var(--fs-11);line-height:1.55}.about-signature{margin:var(--sp-12) var(--sp-32) 0;color:var(--muted);font-size:var(--fs-11);line-height:1.6}.about-signature b{margin-left:var(--sp-16);color:var(--muted)}.about-page .site-footer{display:none}@media(min-width:700px){.about-main{padding-top:var(--sp-40)}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* About page: compact, aligned project principles replace the oversized promo card. */
.about-principles{display:grid;gap:var(--sp-10);margin-top:var(--sp-16)}
.about-principles article{display:grid;grid-template-columns:36px minmax(0,1fr);gap:var(--sp-12);align-items:start;padding:var(--sp-16);border:1px solid var(--line);border-radius:var(--rad-12);background:rgba(245,252,251,.9)}
.about-principles article>b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--bg);color:var(--muted);font-size:var(--fs-11)}
.about-principles h2{margin:0 0 var(--sp-16);color:var(--muted);font-size:var(--fs-14);line-height:1.45}
.about-principles p{margin:0;color:var(--muted);font-size:var(--fs-11);line-height:1.65}

/* Every detail value begins on one vertical guide, including multiline rows. */
.detail-facts .fact{grid-template-columns:22px 76px minmax(0,1fr);column-gap:var(--sp-10);align-items:start}
.detail-facts .fact svg{margin-top:1px}
.detail-facts .fact b,.detail-facts .fact>span{padding-top:0}
.detail-desc{max-width:680px}
.detail-page .official-area{padding-bottom:var(--sp-24)}
@media(max-width:370px){.detail-facts .fact{grid-template-columns:20px 68px minmax(0,1fr);column-gap:var(--sp-32)}}
/* The campus belongs in the navigation. The three visual identities share one layout. */
body[data-school] .phone-page{background:var(--bg)}
.site-topbar,.brand-header.site-topbar{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-14);height:70px;min-height:70px;padding:0 var(--sp-20);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 94%,white);backdrop-filter:blur(12px)}
.site-topbar .brand{display:inline-flex;align-items:center;gap:var(--sp-32);margin:0;color:var(--ink2);font-size:var(--fs-20);font-weight:850;letter-spacing:-.04em;white-space:nowrap}
.site-topbar .brand:before{content:"";display:block;width:22px;height:22px;border:2px solid var(--accent);border-radius:50%;background:radial-gradient(circle,var(--accent) 0 3px,transparent 4px),radial-gradient(circle,transparent 0 7px,var(--accent) 8px 9px,transparent 10px)}
.school-trigger{display:flex;align-items:center;gap:6px;min-height:32px;padding:6px 10px;border:1px solid transparent;border-radius:var(--rad-6);background:transparent;color:var(--muted);font:700 13px var(--ui-font);box-shadow:none;cursor:pointer;white-space:nowrap;font-weight:600}
.school-trigger:hover,.school-trigger:focus-visible{border-color:var(--accent);outline:none;gap:6px;padding:6px 10px;border:1px solid transparent;border-radius:var(--rad-6);background:transparent;box-shadow:none;color:var(--muted);min-height:32px;font-weight:600}
.trigger-dot{width:7px;height:7px;border-radius:50%;background:var(--accent)}
.trigger-chevron{display:grid;place-items:center;width:16px;height:16px;margin-left:2px;color:var(--accent);transition:transform var(--dur-62) ease}
.trigger-chevron svg{display:block;width:16px;height:16px;margin-left:2px}
.school-trigger[aria-expanded="true"] .trigger-chevron{transform:rotate(180deg);gap:6px;padding:6px 10px;border:1px solid transparent;border-radius:var(--rad-6);background:transparent;box-shadow:none;color:var(--muted);min-height:32px;font-weight:600}
.preview-chip{padding:6px 10px;border-radius:var(--rad-4);background:var(--accent-soft);color:var(--accent);font-size:var(--fs-10)}
.school-picker-backdrop{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:var(--sp-20);background:rgba(4,37,34,.68);backdrop-filter:blur(7px)}
.school-picker-backdrop[hidden]{display:none}.picker-open{overflow:hidden}
.school-picker{width:min(100%,460px);max-height:min(700px,calc(100vh - 40px));overflow:auto;padding:var(--sp-28);border:1px solid var(--line);border-radius:var(--rad-20);background:var(--bg);box-shadow:var(--shadow-3)}
.picker-topline{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:var(--fs-10);font-weight:800;letter-spacing:.24em}
.picker-close{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:50%;background:var(--bg);color:var(--muted);font-size:var(--fs-22);line-height:1;cursor:pointer}
.picker-close[hidden]{display:none}.school-picker h2{margin:var(--sp-14) 0 var(--sp-24);color:var(--ink2);font-family:"Noto Serif CJK SC","Source Han Serif SC",serif;font-size:var(--fs-32);line-height:1.25;letter-spacing:-.05em}
.picker-intro{margin:0 0 var(--sp-24);color:var(--muted);font-size:var(--fs-13);line-height:1.7}.picker-options{display:grid;gap:var(--sp-10)}
.picker-option{display:flex;align-items:center;gap:var(--sp-14);width:100%;min-height:80px;padding:var(--sp-12) var(--sp-16);border:1px solid var(--line);border-radius:var(--rad-12);background:var(--bg);text-align:left;cursor:pointer;transition:transform var(--dur-62),border-color var(--dur-62),box-shadow var(--dur-62)}
.picker-option:hover,.picker-option:focus-visible{transform:translateY(-2px);border-color:var(--line);box-shadow:var(--shadow-3);outline:none}
.picker-mark{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:var(--rad-10);color:var(--muted);font-family:"Noto Serif CJK SC","Source Han Serif SC",serif;font-size:var(--fs-22);font-weight:800}
.picker-xjtu .picker-mark{background:var(--bg)}.picker-nwpu .picker-mark{background:var(--bg)}.picker-nwafu .picker-mark{background:var(--bg)}
.picker-copy{display:grid;gap:var(--sp-16);min-width:0}.picker-copy b{color:var(--ink2);font-size:var(--fs-15);line-height:1.25}.picker-copy small{color:var(--muted);font-size:var(--fs-11)}.picker-arrow{margin-left:auto;color:var(--muted);font-size:var(--fs-20)}.picker-note{margin:var(--sp-16) 0 0;color:var(--muted);text-align:center;font-size:var(--fs-10);letter-spacing:.03em}
body[data-school] .hero{position:relative;min-height:355px;margin:var(--sp-14) 0 0;padding:var(--sp-32) var(--sp-20) var(--sp-28);border:1px solid var(--line);border-radius:var(--rad-16);background:linear-gradient(132deg,var(--bg) 0%,var(--bg) 55%,var(--accent-soft) 100%);overflow:hidden}
body[data-school] .hero-eyebrow{color:var(--accent);letter-spacing:.16em}body[data-school] .hero-eyebrow span{color:var(--accent);letter-spacing:.03em}
body[data-school] .hero h1{position:relative;z-index:3;max-width:360px;margin:var(--sp-24) 0 var(--sp-12);color:var(--ink2);font-family:"Noto Serif CJK SC","Source Han Serif SC",serif;font-size:clamp(var(--fs-28),8vw,var(--fs-40));font-weight:800;line-height:1.28;letter-spacing:-.065em}
.hero-intro{position:relative;z-index:4;max-width:265px;margin:0 0 var(--sp-16);color:var(--ink2);font-size:var(--fs-12);line-height:1.7;opacity:.74}
body[data-school] .hero-action{position:relative;z-index:5;margin-top:0;background:var(--accent);color:var(--on-accent);padding:14px 20px;gap:10px;border-radius:var(--rad-8);font-size:var(--fs-14);font-weight:600;min-height:48px;box-shadow:var(--shadow-1)}
body[data-school] .hero-meta{margin-top:var(--sp-16);border-color:var(--line);color:var(--accent);background:var(--bg)}
body[data-school] .hero-meta:after{display:none}
body[data-school] .radar-art{right:-74px;top:75px;opacity:.52;border-color:var(--accent);background:repeating-radial-gradient(circle,transparent 0 42px,var(--bg) 43px 45px),linear-gradient(90deg,transparent calc(50% - .5px),var(--bg) 50%,transparent calc(50% + .5px))}
body[data-school="nwpu"] .radar-art{right:-48px;top:91px;width:220px;height:220px;border-radius:var(--rad-20);transform:rotate(-21deg);background:repeating-linear-gradient(0deg,transparent 0 33px,var(--bg) 34px 36px),repeating-linear-gradient(90deg,transparent 0 33px,var(--bg) 34px 36px)}
body[data-school="nwpu"] .radar-art:before,body[data-school="nwpu"] .radar-art:after{animation:none}
body[data-school="nwafu"] .radar-art{right:-76px;top:83px;width:240px;height:240px;border-radius:54% 46% 61% 39%;transform:rotate(-19deg);background:repeating-radial-gradient(ellipse at 22% 85%,transparent 0 28px,var(--bg) 29px 31px)}
body[data-school="nwafu"] .radar-art:before,body[data-school="nwafu"] .radar-art:after{animation:none}
body[data-school] .list-header{height:100px;padding:var(--sp-24) var(--sp-20) var(--sp-12)}body[data-school] .list-header h1{color:var(--ink2)}body[data-school] .list-header p{color:var(--accent)}
body[data-school] .chip.active{color:var(--accent)}body[data-school] .chip.active:after{background:var(--accent)}
body[data-school] .activity-card:before{background:var(--accent)}body[data-school] .activity-card h2{color:var(--ink2)}
body[data-school] .bottom-nav a.active{color:var(--accent)}body[data-school] .bottom-nav a.active:before{background:var(--accent-soft)}
body[data-school] .detail-lead h1{color:var(--ink2)}body[data-school] .detail-header{border-color:var(--line)}
body[data-school] .about-hero h1{color:var(--ink2)}body[data-school] .about-kicker{color:var(--accent)}body[data-school] .hero-action{animation:none;background:var(--accent);color:var(--on-accent);padding:14px 20px;gap:10px;border-radius:var(--rad-8);font-size:var(--fs-14);font-weight:600;min-height:48px;box-shadow:var(--shadow-1)}
body[data-school] .brand-header,body[data-school] .hero-eyebrow,body[data-school] .hero h1,body[data-school] .hero-meta,body[data-school] .radar-art,body[data-school] .urgent-panel,body[data-school] .explore,body[data-school] .category-link{animation:none}

body[data-school] .card-facts svg,body[data-school] .detail-facts svg{fill:var(--accent)}
.home-empty{margin:var(--sp-16) 0 0;padding:var(--sp-16) var(--sp-20);border:1px dashed var(--line);border-radius:var(--rad-12);background:var(--bg);color:var(--ink2)}.home-empty[hidden]{display:none}.home-empty b{font-size:var(--fs-14)}.home-empty p{margin:var(--sp-24) 0 0;color:var(--muted);font-size:var(--fs-12);line-height:1.6}
@media(max-width:430px){.site-topbar,.brand-header.site-topbar{padding-inline:18px}.school-picker-backdrop{align-items:end;padding:0}.school-picker{width:100%;max-height:92vh;border-radius:var(--rad-20) var(--rad-20) 0 0;padding:var(--sp-24) var(--sp-20) var(--sp-28)}body[data-school] .hero{margin-inline:-2px;padding-inline:18px}body[data-school] .hero h1{max-width:285px}body[data-school] .radar-art{right:-115px}}
.source-line{display:block;margin-top:var(--sp-12);color:var(--muted);font-size:var(--fs-10);line-height:1.5}
.activity-card .source-line{font-size:var(--fs-11)}
.activity-card .source-line+.card-open{margin-top:var(--sp-32)}
.detail-school-label{display:inline-flex;margin:0 0 var(--sp-10);padding:var(--sp-16) var(--sp-32);border:1px solid var(--line);border-radius:var(--rad-24);color:var(--muted);font-size:var(--fs-11)}
.demo-evidence{margin:var(--sp-20) var(--sp-20) 0;padding:var(--sp-16);border:1px solid var(--line);border-radius:var(--rad-12);background:var(--bg)}
.demo-evidence h2{margin:0 0 var(--sp-32);color:var(--muted);font-size:var(--fs-15)}.demo-evidence>p{margin:0;color:var(--muted);font-size:var(--fs-12);line-height:1.8}
.demo-evidence-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-32);margin-top:var(--sp-12)}
.demo-evidence-item{padding:var(--sp-10);border:1px solid var(--line);border-radius:var(--rad-8);background:var(--bg)}
.demo-evidence-item b{display:block;margin-bottom:var(--sp-16);color:var(--muted);font-size:var(--fs-10);font-weight:600}.demo-evidence-item span{color:var(--muted);font-size:var(--fs-11);line-height:1.65}
.demo-official-note{margin:0 var(--sp-20) var(--sp-32);padding:var(--sp-12);border-radius:var(--rad-8);background:var(--bg);color:var(--muted);font-size:var(--fs-12);line-height:1.65}
@media(max-width:360px){.school-option{gap:var(--sp-16);padding-inline:3px;font-size:var(--fs-11)}.school-mark{width:22px;height:22px}.school-context{padding-inline:14px}}

/* School directory: an opaque page with native links, shared by onboarding and the top switch. */
.school-picker-backdrop{display:block;overflow-y:auto;padding:0;background:var(--bg);backdrop-filter:none}
.school-picker-backdrop[hidden]{display:none}
.school-picker-backdrop:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 86% 13%,rgba(179,190,114,.12),transparent 30%),repeating-linear-gradient(0deg,transparent 0 94px,rgba(235,242,241,.035) 95px 96px)}
.school-picker{position:relative;width:min(100%,680px);max-height:none;min-height:100vh;margin:0 auto;padding:var(--sp-36) var(--sp-28) var(--sp-32);border:0;border-radius:0;background:transparent;box-shadow:none}
.picker-topline{color:var(--muted);font-size:var(--fs-12);font-weight:700;letter-spacing:.09em}.picker-topline span{display:flex;align-items:center;gap:var(--sp-12)}.picker-topline i{width:24px;height:1px;background:var(--bg)}
.picker-close{width:36px;height:36px;border:1px solid rgba(235,242,241,.22);background:transparent;color:var(--muted)}
.picker-heading{margin:var(--sp-64) 0 var(--sp-28)}.picker-heading>span{color:var(--muted);font-size:var(--fs-12);font-weight:700;letter-spacing:.18em}
.school-picker h2{margin:var(--sp-16) 0 var(--sp-12);color:var(--muted);font-family:"Noto Serif CJK SC","Source Han Serif SC",serif;font-size:clamp(var(--fs-32),8vw,var(--fs-48));font-weight:800;line-height:1.18;letter-spacing:-.06em}
.picker-intro{max-width:490px;margin:0;color:var(--muted);font-size:var(--fs-14);line-height:1.8}
.picker-options{gap:var(--sp-10)}.picker-option{display:grid;grid-template-columns:28px 58px minmax(0,1fr) 25px;align-items:center;gap:var(--sp-12);min-height:100px;padding:var(--sp-14) var(--sp-20);border:1px solid transparent;border-radius:var(--rad-6);text-decoration:none;box-shadow:none;transition:transform var(--dur-62) ease,box-shadow var(--dur-62) ease,border-color var(--dur-62) ease}
.picker-option:hover,.picker-option:focus-visible{transform:translateX(4px);border-color:var(--line);box-shadow:var(--shadow-3);outline:none}
.picker-xjtu{background:var(--bg)}.picker-nwpu{background:var(--bg)}.picker-nwafu{background:var(--bg)}
.picker-number{align-self:start;padding-top:var(--sp-32);color:var(--muted);font-size:var(--fs-11);font-weight:800;letter-spacing:.08em}
.picker-mark{width:56px;height:56px;flex:auto;border-radius:50%;font-size:var(--fs-24)}
.picker-copy b{font-family:"Noto Serif CJK SC","Source Han Serif SC",serif;font-size:var(--fs-20);font-weight:800;letter-spacing:-.04em}.picker-copy small{font-size:var(--fs-12)}
.picker-xjtu .picker-copy b{color:var(--muted)}.picker-nwpu .picker-copy b{color:var(--muted)}.picker-nwafu .picker-copy b{color:var(--muted)}
.picker-arrow{font-size:var(--fs-24);color:var(--muted)}.picker-note{margin:var(--sp-24) 0 0;color:var(--muted);font-size:var(--fs-11);text-align:left;letter-spacing:.04em}
@media(max-width:480px){.school-picker{width:100%;max-height:none;min-height:100vh;padding:var(--sp-24) var(--sp-20) var(--sp-28);border-radius:0}.picker-heading{margin:var(--sp-48) 0 var(--sp-24)}.school-picker h2{font-size:var(--fs-36)}.picker-intro{font-size:var(--fs-12)}.picker-option{grid-template-columns:19px 46px minmax(0,1fr) 16px;gap:var(--sp-32);min-height:88px;padding:var(--sp-12) var(--sp-12)}.picker-mark{width:43px;height:43px;font-size:var(--fs-20)}.picker-copy b{font-size:var(--fs-16)}.picker-copy small{font-size:var(--fs-10)}.picker-arrow{font-size:var(--fs-20)}}

/* A full-width desktop layout instead of a phone mockup in a large empty window. */
.desktop-nav{display:none}
@media(min-width:800px){
  body{padding:var(--sp-24);background:var(--bg)}
  body[data-school="xjtu"]{background:var(--bg)}
  body[data-school="nwpu"]{background:var(--bg)}
  body[data-school="nwafu"]{background:var(--bg)}
  .phone-page{width:min(100%,1180px);min-height:calc(100dvh - 48px);border:1px solid var(--line);border-radius:var(--rad-16);box-shadow:var(--shadow-3);overflow:hidden}
  .site-topbar,.brand-header.site-topbar{height:68px;min-height:68px;padding:0 var(--sp-32)}
  .desktop-nav{display:flex;align-items:center;justify-content:center;gap:var(--sp-32);margin-left:auto;margin-right:auto}
  .desktop-nav a{padding:var(--sp-10) var(--sp-16);border-radius:var(--rad-6);color:var(--muted);font-size:var(--fs-13);font-weight:650;text-decoration:none}
  .desktop-nav a:hover{color:var(--accent);background:var(--accent-soft)}
  .desktop-nav a.active{color:var(--ink2);background:var(--accent-soft)}
  .school-trigger{min-width:132px;justify-content:center;gap:6px;padding:6px 10px;border:1px solid transparent;border-radius:var(--rad-6);background:transparent;box-shadow:none;color:var(--muted);min-height:32px;font-weight:600}
  .bottom-nav{display:grid}
  .home-page main{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,1fr);gap:var(--sp-20);padding:var(--sp-28) var(--sp-40) var(--sp-48)}
  body[data-school] .hero{grid-column:1;margin:0;min-height:410px;padding:var(--sp-40) var(--sp-48) var(--sp-32);border-radius:var(--rad-14)}
  body[data-school] .hero h1{max-width:550px;font-size:clamp(var(--fs-36),4.2vw,var(--fs-48));line-height:1.28;margin-top:var(--sp-28)}
  .hero-intro{max-width:360px;font-size:var(--fs-14);line-height:1.8;margin-bottom:var(--sp-24)}
  body[data-school] .radar-art{right:-22px;top:60px;width:300px;height:300px;opacity:.42}
  body[data-school="nwpu"] .radar-art{right:5px;top:70px;width:260px;height:260px}
  body[data-school="nwafu"] .radar-art{right:-10px;top:70px;width:280px;height:280px}
  .urgent-panel{grid-column:2;align-self:stretch;margin:0;padding:var(--sp-16) var(--sp-24);border-radius:var(--rad-14)}
  .urgent-title{height:54px}
  .deadline-list{display:block}
  .deadline-item{padding:var(--sp-20) var(--sp-32) var(--sp-20) 0;border-bottom:1px solid var(--line)}
  .home-page main:has(.urgent-panel[hidden]) .hero{grid-column:1/-1}
  .home-empty{grid-column:2;align-self:start;margin:0}
  .explore{grid-column:1/-1;padding-top:var(--sp-16)}
  .section-title{padding-bottom:var(--sp-16)}
  .category-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-12)}
  .category-link{min-height:112px;height:112px;padding:var(--sp-20);grid-template-columns:47px minmax(0,1fr);gap:var(--sp-12)}
  .category-link .category-icon{width:42px;height:42px}
  .category-copy b{font-size:var(--fs-18)}
  .category-copy small{font-size:var(--fs-12)}
  body[data-school] .list-header{height:135px;padding:var(--sp-36) var(--sp-40) var(--sp-20)}
  body[data-school] .list-header h1{font-size:var(--fs-32)}
  .tab-wrap{padding-inline:42px}
  .chip-row{display:flex;gap:var(--sp-28);justify-content:flex-start}
  .chip{width:auto;min-width:0;font-size:var(--fs-14)}
  .result-section{padding:var(--sp-28) var(--sp-40) var(--sp-48)}
  .activity-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-16)}
  .activity-card{min-height:290px;padding:var(--sp-24)}
  .site-footer{padding:var(--sp-16) var(--sp-40) var(--sp-28)}
  .site-footer p{max-width:none;margin:0}
  .about-page .phone-page{width:min(100%,1180px)}
}
@media(min-width:800px) and (max-width:1050px){
  .home-page main{grid-template-columns:minmax(0,1.3fr) minmax(260px,1fr);padding-inline:28px}
  .site-topbar,.brand-header.site-topbar{padding-inline:28px}
  body[data-school] .hero{padding-inline:30px}
  body[data-school] .hero h1{font-size:var(--fs-36)}
  .category-link{padding:var(--sp-12);grid-template-columns:33px minmax(0,1fr);gap:var(--sp-24)}
  .category-link .category-icon{width:32px}
  .category-copy b{font-size:var(--fs-16)}
  .category-copy small{font-size:var(--fs-10)}
}

/* One illustration grammar, three distinct campus subjects. */
body[data-school] .hero{isolation:isolate}
.campus-art{position:absolute;z-index:0;right:-80px;top:55px;width:270px;height:270px;color:var(--accent);opacity:.27;pointer-events:none}
.campus-art svg{display:block;width:100%;height:100%;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.campus-art .art-soft{opacity:.43}
.campus-art .art-strong{stroke-width:2.8}
.campus-art .art-fill{fill:currentColor;stroke:none}
body[data-school="nwpu"] .campus-art{right:-55px;top:61px;opacity:.25;transform:rotate(-8deg)}
body[data-school="nwafu"] .campus-art{right:-55px;top:62px;opacity:.28}
body[data-school] .hero h1,body[data-school] .hero-eyebrow,body[data-school] .hero-intro{position:relative;z-index:1}
body[data-school="xjtu"] .urgent-panel{background:var(--bg);border-color:var(--line)}
body[data-school="nwpu"] .urgent-panel{background:var(--bg);border-color:var(--line)}
body[data-school="nwafu"] .urgent-panel{background:var(--bg);border-color:var(--line)}
body[data-school] .urgent-panel{border-top:3px solid var(--accent)}
body[data-school] .bell-icon,body[data-school] .bell-icon:after{background:var(--accent)}
body[data-school] .urgent-title{border-color:var(--line)}
body[data-school] .urgent-title>b,body[data-school] .urgent-title a,body[data-school] .deadline-item .tag{color:var(--accent)}
body[data-school] .deadline-item b{color:var(--ink2)}
.bottom-nav{grid-template-columns:repeat(3,minmax(0,1fr));width:min(330px,calc(100vw - 32px))}
@media(min-width:800px){
  .campus-art{right:4px;top:54px;width:335px;height:335px;opacity:.20}
  body[data-school="nwpu"] .campus-art{right:8px;top:70px;opacity:.18}
  body[data-school="nwafu"] .campus-art{right:12px;top:60px;opacity:.20}
}
@media(max-width:430px){.campus-art{right:-94px;top:62px;width:265px;height:265px}body[data-school="nwpu"] .campus-art,body[data-school="nwafu"] .campus-art{right:-84px}}

/* Campus Radar scans deadlines; each school has its own quieter motion in the hero. */
body[data-school] .urgent-panel{position:relative;display:flex;flex-direction:column;overflow:hidden}
.urgent-panel>.urgent-title,.urgent-panel>.deadline-list,.urgent-panel>.deadline-brand{position:relative;z-index:1}
.deadline-scan{position:absolute;right:-58px;bottom:-94px;width:255px;height:255px;border:1px solid var(--accent);border-radius:50%;opacity:.22;pointer-events:none;background:repeating-radial-gradient(circle,transparent 0 34px,var(--accent) 35px 36px,transparent 37px 68px)}
.deadline-scan:before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from -20deg,transparent 0 78%,var(--accent) 98%,transparent 100%);animation:deadline-sweep 9s linear infinite}
.deadline-scan:after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;transform:translate(-50%,-50%);border-radius:50%;background:var(--accent)}
.deadline-scan i{position:absolute;left:50%;top:50%;width:46%;height:1px;background:var(--accent);transform-origin:left center;animation:deadline-sweep 9s linear infinite}
.deadline-brand{margin-top:auto;padding:var(--sp-20) 0 0;color:var(--accent);font-size:var(--fs-12);font-weight:800;letter-spacing:.06em}
.deadline-brand span{margin-left:var(--sp-32);opacity:.55;font-size:var(--fs-10);font-weight:700;letter-spacing:.15em}
.campus-art .art-trace{stroke-width:2.5;stroke-dasharray:8 12;animation:campus-route 8s linear infinite}
body[data-school="xjtu"] .campus-art .art-trace{stroke-width:4}
.campus-art .art-plane{transform-box:fill-box;transform-origin:center;animation:campus-flight 6s ease-in-out infinite}
.campus-art .art-wheat{transform-box:fill-box;transform-origin:50% 92%;animation:campus-sway 7s ease-in-out infinite}
.campus-art .art-fields{stroke-dasharray:18 9;animation:campus-fields 12s linear infinite}
@keyframes deadline-sweep{to{transform:rotate(360deg)}}
@keyframes campus-route{to{stroke-dashoffset:-160}}
@keyframes campus-flight{50%{transform:translate(5px,-7px)}}
@keyframes campus-sway{50%{transform:rotate(3deg)}}
@keyframes campus-fields{to{stroke-dashoffset:-108}}
@media(max-width:799px){.deadline-scan{right:-47px;bottom:-95px;width:190px;height:190px;opacity:.16}.deadline-brand{padding-top:var(--sp-14);padding-bottom:var(--sp-12)}}
@media(prefers-reduced-motion:reduce){.deadline-scan:before,.deadline-scan i,.campus-art .art-trace,.campus-art .art-plane,.campus-art .art-wheat,.campus-art .art-fields{animation:none!important}}

/* Recognizable, licensed pictograms replace the ambiguous decorative sketches. */
body[data-school] .campus-art{right:18px;top:52px;width:226px;height:265px;opacity:1;transform:none;color:var(--accent)}
.art-content{display:flex;flex-direction:column;align-items:center;width:100%;height:100%;padding:var(--sp-20) var(--sp-14) var(--sp-14);border:1px solid var(--line);border-radius:var(--rad-16);background:color-mix(in srgb,var(--accent-soft) 55%,white);box-shadow:var(--shadow-3);text-align:center}
.art-index{align-self:flex-start;color:var(--accent);font-size:var(--fs-10);font-weight:800;letter-spacing:.12em}
.art-content>strong{margin-top:var(--sp-24);color:var(--ink2);font-family:"Noto Serif CJK SC","Source Han Serif SC",serif;font-size:var(--fs-20);letter-spacing:-.04em}
.art-content>small{margin-top:auto;color:var(--accent);font-size:var(--fs-10);font-weight:650;letter-spacing:.025em}
.art-figure{position:relative;display:flex;align-items:center;justify-content:center;flex:1;width:100%;min-height:0}
.art-figure img{display:block;object-fit:contain}
.art-rail img{width:146px;height:146px;animation:art-train 6s ease-in-out infinite}
.art-rail-line{position:absolute;bottom:24px;left:11%;right:11%;height:2px;border-radius:var(--rad-2);background:var(--accent);opacity:.45}
.art-rail-line:before,.art-rail-line:after{content:"";position:absolute;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--accent)}
.art-rail-line:before{left:0}.art-rail-line:after{right:0}
.art-rail{gap:var(--sp-24)}
.art-rail img{position:relative;z-index:1;flex:0 0 66px;width:66px;height:66px;padding:var(--sp-32);border-radius:50%;background:var(--bg)}
.art-station{position:relative;z-index:1;padding:var(--sp-24) var(--sp-24);border:1px solid var(--line);border-radius:var(--rad-6);background:var(--bg);color:var(--ink2);font-size:var(--fs-12);font-weight:800;white-space:nowrap}
.art-rail-line{top:50%;bottom:auto;left:11%;right:11%;transform:translateY(-50%)}
.art-triad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-16);align-items:center}
.art-triad span{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-32);height:95px;border:1px solid var(--line);border-radius:var(--rad-10);background:rgba(255,255,255,.72)}
.art-triad img{width:44px;height:44px}
.art-triad span:nth-child(1) img{animation:art-flight 5.5s ease-in-out infinite}
.art-triad span:nth-child(2) img{animation:art-lift 5.5s ease-in-out infinite}
.art-triad span:nth-child(3) img{animation:art-float 5.5s ease-in-out infinite}
.art-triad b{color:var(--ink2);font-size:var(--fs-11);letter-spacing:.05em}
.art-harvest img{width:142px;height:142px;transform-origin:50% 85%;animation:art-wheat-sway 6s ease-in-out infinite}
.art-harvest-line{position:absolute;bottom:21px;left:14%;right:14%;height:2px;border-radius:var(--rad-2);background:var(--accent);opacity:.32}
body[data-school] .hero-action{gap:10px;padding:14px 20px;border-radius:var(--rad-8);font-size:var(--fs-14);background:var(--accent);color:var(--on-accent);font-weight:600;min-height:48px;box-shadow:var(--shadow-1)}body[data-school] .hero-action .hero-action-icon{font-size:var(--fs-16);width:18px;height:18px;min-width:18px;min-height:18px;background:none;display:inline-flex;align-items:center;justify-content:center;padding:0}.hero-action-icon svg{font-size:var(--fs-16);width:18px;height:18px;min-width:18px;min-height:18px;background:none;display:inline-flex;align-items:center;justify-content:center;padding:0}.hero-action:hover .hero-action-icon,.hero-action:focus-visible .hero-action-icon{font-size:var(--fs-16);width:18px;height:18px;min-width:18px;min-height:18px;background:none;display:inline-flex;align-items:center;justify-content:center;padding:0}.hero-action:hover .hero-action-icon svg,.hero-action:focus-visible .hero-action-icon svg{font-size:var(--fs-16);width:18px;height:18px;min-width:18px;min-height:18px;background:none;display:inline-flex;align-items:center;justify-content:center;padding:0}
@keyframes art-train{50%{transform:translateX(5px)}}
@keyframes art-flight{50%{transform:translate(3px,-3px)}}
@keyframes art-lift{50%{transform:translateY(-4px)}}
@keyframes art-float{50%{transform:translateY(3px)}}
@keyframes art-wheat-sway{50%{transform:rotate(3deg)}}
@media(min-width:1051px){
  .home-page main{grid-template-columns:minmax(0,1.9fr) minmax(310px,.9fr)}
  body[data-school] .hero h1{max-width:420px;font-size:clamp(var(--fs-40),4vw,var(--fs-48))}
  body[data-school] .campus-art{right:28px;top:71px;width:220px;height:260px}
}
@media(min-width:800px) and (max-width:1050px){
  .home-page main{grid-template-columns:minmax(0,1fr)}
  body[data-school] .hero,.urgent-panel,.explore,.home-empty{grid-column:1}
  body[data-school] .campus-art{right:32px;top:72px}
}
@media(max-width:799px){
  body[data-school] .hero{min-height:470px}
  body[data-school] .campus-art{right:7px;top:240px;width:140px;height:180px}
  .art-content{padding:var(--sp-10) var(--sp-32) var(--sp-24);border-radius:var(--rad-12)}
  .art-index{font-size:var(--fs-10)}
  .art-content>strong{margin-top:var(--sp-32);font-size:var(--fs-15)}
  .art-content>small{font-size:var(--fs-10)}
  .art-rail img{flex-basis:44px;width:44px;height:44px;padding:var(--sp-16)}
  .art-rail{gap:var(--sp-32)}
  .art-station{padding:var(--sp-16);font-size:var(--fs-10)}
  .art-harvest img{width:94px;height:94px}
  .art-triad{gap:var(--sp-32)}
  .art-triad span{height:68px;gap:var(--sp-32);padding:var(--sp-32);border-radius:var(--rad-6)}
  .art-triad img{width:25px;height:25px}
  .art-triad b{font-size:var(--fs-10)}
  body[data-school] .hero h1{max-width:300px}
}
@media(prefers-reduced-motion:reduce){.hero-action-icon svg{font-size:var(--fs-16);width:18px;height:18px;min-width:18px;min-height:18px;background:none;display:inline-flex;align-items:center;justify-content:center;padding:0}}

/* Campus scenes are quiet layers in the hero, not separate cards. */
body[data-school] .campus-art{inset:0 -12px 0 auto;width:62%;height:100%;overflow:hidden;opacity:1;transform:none;mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.65) 24%,var(--ink) 55%)}
.campus-scene{position:relative;width:100%;height:100%;overflow:hidden}
.campus-scene img{position:absolute;display:block;object-fit:contain;pointer-events:none}
.campus-scene svg{position:absolute;width:100%;height:100%;fill:none;stroke:var(--accent);stroke-width:1.5;stroke-linecap:round}
.scene-label{position:absolute;right:27px;bottom:27px;color:var(--accent);opacity:.58;font-size:var(--fs-11);font-weight:750;letter-spacing:.16em;white-space:nowrap}
.scene-leaf{opacity:.23}
.scene-leaf-one{right:13px;top:18px;width:230px;height:230px;animation:leaf-drift-one 8s ease-in-out infinite}
.scene-leaf-two{right:185px;top:154px;width:155px;height:155px;opacity:.16;animation:leaf-drift-two 9s ease-in-out infinite}
.scene-leaf-three{right:40px;top:228px;width:94px;height:94px;opacity:.13;animation:leaf-drift-three 7s ease-in-out infinite}
.scene-trails{opacity:.15}
.scene-trails path{stroke-dasharray:9 14;animation:scene-flow 14s linear infinite}
.scene-plane{right:30px;top:35px;width:190px;height:190px;opacity:.25;animation:plane-drift 7s ease-in-out infinite}
.scene-rocket{right:210px;top:70px;width:98px;height:98px;opacity:.18;animation:rocket-drift 8s ease-in-out infinite}
.scene-ship{right:130px;top:232px;width:130px;height:110px;opacity:.17;animation:ship-drift 7s ease-in-out infinite}
.scene-fields{top:12px;opacity:.16}
.scene-wheat{transform-origin:50% 88%;opacity:.22}
.scene-wheat-one{right:18px;top:18px;width:240px;height:240px;animation:wheat-sway-one 7s ease-in-out infinite}
.scene-wheat-two{right:200px;top:135px;width:155px;height:155px;opacity:.15;animation:wheat-sway-two 12s ease-in-out infinite}
@keyframes leaf-drift-one{0%,100%{transform:translate(0,0) rotate(-13deg)}50%{transform:translate(-14px,15px) rotate(-1deg)}}
@keyframes leaf-drift-two{0%,100%{transform:translate(0,0) rotate(25deg)}50%{transform:translate(12px,-15px) rotate(14deg)}}
@keyframes leaf-drift-three{0%,100%{transform:translate(0,0) rotate(-38deg)}50%{transform:translate(-14px,12px) rotate(-22deg)}}
@keyframes scene-flow{to{stroke-dashoffset:-184}}
@keyframes plane-drift{0%,100%{transform:translate(0,0) rotate(-8deg)}50%{transform:translate(16px,-15px) rotate(-3deg)}}
@keyframes rocket-drift{0%,100%{transform:translate(0,0) rotate(-17deg)}50%{transform:translate(10px,-18px) rotate(-12deg)}}
@keyframes ship-drift{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(8px) rotate(2deg)}}
@keyframes wheat-sway-one{0%,100%{transform:rotate(-12deg)}50%{transform:rotate(-3deg)}}
@keyframes wheat-sway-two{0%,100%{transform:rotate(24deg)}50%{transform:rotate(18deg)}}
@media(max-width:799px){
  body[data-school] .hero{min-height:370px}
  body[data-school] .campus-art{inset:0 -18px 0 auto;width:82%;height:100%;mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.33) 32%,var(--ink) 78%)}
  .scene-label{right:22px;bottom:19px;font-size:var(--fs-10);opacity:.45}
  .scene-leaf-one{right:-22px;top:35px;width:195px;height:195px}
  .scene-leaf-two{right:110px;top:170px;width:105px;height:105px}
  .scene-leaf-three{right:35px;top:255px;width:65px;height:65px}
  .scene-plane{right:-5px;top:55px;width:185px;height:185px}
  .scene-rocket{right:143px;top:150px;width:75px;height:75px}
  .scene-ship{right:55px;top:247px;width:110px;height:85px}
  .scene-wheat-one{right:-20px;top:42px;width:210px;height:210px}
  .scene-wheat-two{right:128px;top:176px;width:120px;height:120px}
}
@media(prefers-reduced-motion:reduce){.campus-scene img,.campus-scene path{animation:none!important}}
.urgent-panel[hidden]{display:none!important}


