:root{--blue:#315d9b;--blue-dark:#244a7d;--red:#a3222e;--ink:#222;--line:#d8d8d8;--amber:#c88013;--danger:#b74431}*{box-sizing:border-box}html{min-width:320px;scroll-behavior:smooth}body{min-height:100vh;margin:0;color:var(--ink);background:#dfe7ee url("assets/campus-bg-optimized.jpg") center/cover fixed no-repeat;font:14px/1.65 "Microsoft YaHei","PingFang SC",Arial,sans-serif}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}.top-line{height:3px;background:var(--red)}
.site-header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 max(28px,calc((100vw - 980px)/2));background:rgba(255,255,255,.96);border-bottom:1px solid #cdd4da}.institution{display:flex;align-items:center;gap:14px}.logo-box{position:relative;width:58px;height:58px;flex:0 0 58px;display:grid;place-items:center;overflow:hidden;color:#8d7477;background:#fff;border:1px dashed #b9a5a7;border-radius:50%;font-size:10px;line-height:1.25;text-align:center}.logo-box:after{content:"";position:absolute;inset:2px;background:url("assets/fzu-logo-small.png") center/contain no-repeat}.institution-copy{display:flex;flex-direction:column;line-height:1.35}.institution-copy strong{color:var(--red);font-family:SimSun,"Songti SC",serif;font-size:25px;letter-spacing:.1em}.institution-copy span{margin-top:3px;color:#555;font-size:13px;letter-spacing:.05em}.service-name{padding-left:24px;color:#333;border-left:1px solid #aaa;font-size:20px;letter-spacing:.08em}
.page-shell{width:min(calc(100% - 32px),920px);margin:34px auto 42px}.breadcrumb{display:flex;gap:8px;align-items:center;margin:0 0 10px;color:#fff;font-size:13px;text-shadow:0 1px 2px rgba(0,0,0,.35)}.breadcrumb i{font-style:normal;opacity:.65}.breadcrumb strong{font-weight:400}.panel,.reveal{background:rgba(255,255,255,.97);border:1px solid #cfd4d8;box-shadow:0 5px 18px rgba(30,48,64,.16)}.panel{padding:36px 42px 40px}.stage.is-active{animation:stage-in .22s ease-out both}@keyframes stage-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
#stage-one,#stage-two{grid-template-columns:minmax(0,.92fr) minmax(330px,1.08fr);column-gap:52px;align-items:start}#stage-one{grid-template-areas:"meta heading" "meta form"}#stage-one.is-active,#stage-two.is-active{display:grid}#stage-one .panel-heading,#stage-two .panel-heading{grid-area:heading}#stage-two .intro{grid-area:intro}#stage-one .service-meta{grid-area:meta}#stage-one form{grid-area:form}#stage-two{grid-template-areas:"intro heading" ". phone" ". verify" ". buttons"}#stage-two .masked-phone{grid-area:phone}#stage-two .field{grid-area:verify}#stage-two .primary-button{grid-area:buttons}#stage-two .text-button{grid-column:2;grid-row:5}
.panel-heading{margin:0 0 22px;padding:0 0 14px;border-bottom:2px solid var(--blue)}.portal-tabs{display:flex;gap:28px;margin:0 0 19px;border-bottom:1px solid #ddd;color:#666}.portal-tabs span{position:relative;padding:0 2px 10px;font-size:15px}.portal-tabs .is-current{color:#244f89;font-weight:700}.portal-tabs .is-current:after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:3px;background:#315d9b}.system-tag,.reveal-label{margin:0 0 5px;color:var(--blue);font-size:12px;font-weight:700;letter-spacing:.08em}h1,h2,h3,p{margin-top:0}h1{margin-bottom:4px;color:#222;font-size:28px;font-weight:500;line-height:1.35}.subtitle{margin:0;color:#777;font-size:14px}.intro{margin:7px 0 18px;color:#333;line-height:1.85}.service-meta{margin:0 0 18px;border:1px solid #d8dde1;border-bottom:0}.service-meta div{display:grid;grid-template-columns:78px 1fr;min-height:38px;border-bottom:1px solid #d8dde1}.service-meta dt,.service-meta dd{display:flex;align-items:center;margin:0;padding:7px 10px;font-size:13px}.service-meta dt{color:#555;background:#f3f5f7;border-right:1px solid #d8dde1}.service-meta dd{color:#222}.pending-text{color:#9d551f!important}
.notice-box{display:flex;gap:9px;align-items:flex-start;margin:0;padding:11px 12px;color:#6d4b1b;background:#fff8e8;border:1px solid #e7d5af;border-left:3px solid var(--amber)}.notice-box p{margin:0}.notice-icon,.security-strip span{flex:0 0 auto;width:18px;height:18px;display:grid;place-items:center;color:#fff;background:var(--amber);border-radius:50%;font:700 12px Georgia,serif}.status-row{display:flex;align-items:center;justify-content:space-between;margin:0 0 18px;padding:9px 11px;background:#f4f6f8;border:1px solid #dde1e5}.status-row span{color:#666}.status-row strong{color:#a24f31;font-size:13px}.status-row i{display:inline-block;width:6px;height:6px;margin-right:6px;background:#a24f31;border-radius:50%}
.field{margin-bottom:15px}.field label{display:block;margin-bottom:5px;color:#333;font-weight:600}.field input{width:100%;height:43px;padding:0 12px;color:#222;background:#fff;border:1px solid #c9ced3;border-radius:2px;outline:none}.field input::placeholder{color:#aaa}.field input:focus{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}.field input.is-invalid{border-color:#b94a38;background:#fffafa}.field-error{min-height:18px;margin:2px 0 0;color:#b13e2f;font-size:12px}.field-note{margin:5px 0 0;color:#8b692f;font-size:12px}.primary-button,.code-button,.restart-button,.text-button{min-height:43px;border-radius:2px;cursor:pointer;transition:background .12s ease,transform .08s ease}.primary-button{width:100%;color:#fff;background:#617bc5;border:1px solid #526db7;font-weight:600;letter-spacing:.08em}.primary-button:hover{background:#536eb8}.primary-button:active,.code-button:active,.restart-button:active{transform:translateY(1px)}.security-strip{display:flex;gap:8px;align-items:flex-start;margin:0;padding:11px 12px;color:#6d4b1b;background:#fff8e8;border:1px solid #e7d5af;font-size:13px}.masked-phone{display:flex;justify-content:space-between;align-items:center;margin:0 0 18px;padding:12px;background:#f4f6f8;border:1px solid #dce1e5}.masked-phone span{color:#666}.masked-phone strong{letter-spacing:.1em}.code-row{display:grid;grid-template-columns:1fr 120px;gap:8px}.code-button{color:var(--blue);background:#fff;border:1px solid var(--blue);font-weight:600}.code-button:disabled{color:#777;background:#eee;border-color:#bbb;cursor:wait}.text-button{width:100%;margin-top:7px;color:#666;background:transparent;border:0}
.reveal{overflow:hidden;border-color:#decda9}.warning-hero{padding:48px 30px;background:#fff9ed;border-bottom:1px solid #e4d5b5;text-align:center}.warning-symbol{width:66px;height:66px;display:grid;place-items:center;margin:0 auto 16px;color:#fff;background:var(--amber);border-radius:50%;font:700 43px Georgia,serif;animation:visual-jolt .42s ease both}@keyframes visual-jolt{0%,100%{transform:translateX(0)}30%{transform:translateX(-6px)}65%{transform:translateX(5px)}}.warning-hero .reveal-label{color:#9a620d}.warning-hero h1{margin-bottom:15px;color:#704111}.warning-hero p{max-width:620px;margin:4px auto;color:#554633}.impact-message{margin:24px 40px 0;padding:16px 18px;color:#713126;background:#fff2ef;border-left:4px solid var(--danger);font-weight:700}.risk-section{padding:36px 40px}.section-title span{color:var(--blue);font-size:12px;font-weight:700;letter-spacing:.08em}.section-title h2,.awareness-copy h2{margin:3px 0 20px;color:var(--blue-dark);font-size:25px;font-weight:500}.risk-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.risk-grid article{padding:17px;background:#f5f7f9;border:1px solid #dce1e5;border-top:3px solid #718eaa}.risk-grid article:last-child{grid-column:1/-1}.risk-grid article>span{color:#6885a0;font-size:12px;font-weight:700}.risk-grid h3{margin:6px 0;color:#274b65;font-size:17px}.risk-grid p{margin:0;color:#586873;font-size:14px;line-height:1.75}.awareness-card{display:grid;grid-template-columns:140px 1fr;gap:24px;align-items:center;margin:0 40px 32px;padding:23px;background:#eef4f8;border:1px solid #d2dee7}.meter{position:relative;width:116px;height:116px;margin:auto;border-radius:50%;background:conic-gradient(var(--blue) 0 72%,#d8e1e8 72% 100%)}.meter:after{content:"提醒";position:absolute;inset:15px;display:grid;place-items:center;color:var(--blue-dark);background:#fff;border-radius:50%;font-weight:700}.meter-fill{display:none}.awareness-copy h2{margin-bottom:6px}.awareness-copy p:last-child{margin:0;color:#425563}.final-reminder{display:flex;flex-direction:column;gap:6px;margin:0 40px 24px;padding:20px;color:#fff;background:var(--blue-dark);text-align:center}.final-reminder strong{font-size:22px}.final-reminder span{color:#dce6ee}.restart-button{display:block;margin:0 auto 32px;padding:0 26px;color:var(--blue-dark);background:#fff;border:1px solid #8198aa;font-weight:600}
.site-footer{padding:17px 20px 28px;color:#fff;font-size:12px;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.45)}.site-footer p{margin:2px 0}.record-hint{opacity:.75}.loading-mask{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:24px;background:rgba(20,30,40,.28)}.loading-card{min-width:185px;display:flex;align-items:center;justify-content:center;gap:12px;padding:18px;background:#fff;border:1px solid #ccc;box-shadow:0 8px 28px rgba(0,0,0,.2)}.spinner{width:22px;height:22px;border:3px solid #d7dce1;border-top-color:var(--blue);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}[hidden]{display:none!important}
@media(max-width:620px){body{background:#fff;background-attachment:scroll}.site-header{height:154px;justify-content:center;align-items:flex-end;padding:0 14px 22px;background-color:#315d82;background-image:linear-gradient(rgba(24,66,99,.28),rgba(22,53,80,.72)),url("assets/campus-bg-optimized.jpg");background-position:center;background-size:cover;border-bottom:0}.institution{flex-direction:column;gap:5px}.logo-box{width:62px;height:62px;flex-basis:62px;background:#fff;border:2px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.22)}.institution-copy{align-items:center}.institution-copy strong{color:#fff;font-size:22px;text-shadow:0 1px 3px rgba(0,0,0,.38)}.institution-copy span{color:#fff;font-size:11px;text-shadow:0 1px 2px rgba(0,0,0,.4)}.header-right{display:none}.page-shell{width:100%;margin:0 auto 24px}.breadcrumb{margin:0;padding:10px 18px;color:#607080;background:#f2f5f8;text-shadow:none;border-bottom:1px solid #dfe4e8}.panel{padding:26px 24px 30px;border:0;box-shadow:none}#stage-one.is-active,#stage-two.is-active{display:block}#stage-one .intro,#stage-two .intro{margin-top:0}#stage-one .service-meta{display:none}.panel-heading{margin-bottom:19px;padding-bottom:13px}.portal-tabs{margin:0 0 22px;justify-content:center;gap:48px}.portal-tabs span{font-size:15px}h1{font-size:27px;font-weight:500}.subtitle{font-size:13px}.intro{font-size:14px}.notice-box{margin-bottom:17px}.field{margin-bottom:14px}.field input{height:46px;font-size:16px}.primary-button{height:46px}.code-row{grid-template-columns:1fr 108px}.site-footer{color:#75808a;background:#f2f5f8;text-shadow:none}.warning-hero{padding:34px 18px}.warning-symbol{width:58px;height:58px;font-size:38px}.impact-message{margin:16px 13px 0}.risk-section{padding:30px 13px}.risk-grid{grid-template-columns:1fr}.risk-grid article:last-child{grid-column:auto}.awareness-card{grid-template-columns:1fr;margin:0 13px 25px;padding:20px 16px;text-align:center}.final-reminder{margin:0 13px 22px;padding:18px 13px}.final-reminder strong{font-size:19px}.restart-button{margin-bottom:26px}}
@media(min-width:621px) and (max-width:900px){.page-shell{width:calc(100% - 28px)}#stage-one,#stage-two{grid-template-columns:minmax(0,.85fr) minmax(320px,1.15fr);column-gap:30px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.site-footer .classroom-use-note{margin:8px 0 0;opacity:.72}
