:root{--blue:#005699;--blue-deep:#002f53;--blue-ink:#052b4b;--cyan:#13a9d5;--red:#e33745;--paper:#f4f7fb;--ink:#10263e;--muted:#60758b;--line:#dce6ef;--white:#fff;--shadow:0 24px 70px rgba(4,45,80,.12);font-family:"Segoe UI","PingFang SC","Microsoft YaHei",Arial,sans-serif;color:var(--ink);background:var(--paper);scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0;background:var(--paper);font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}.skip-link{position:fixed;z-index:200;left:16px;top:-60px;background:#fff;padding:10px 16px;border-radius:8px;box-shadow:var(--shadow)}.skip-link:focus{top:16px}
.intro-header{position:sticky;z-index:100;top:0;height:78px;padding:0 max(28px,calc((100vw - 1380px)/2));display:flex;align-items:center;gap:28px;background:rgba(255,255,255,.93);border-bottom:1px solid rgba(0,86,153,.1);backdrop-filter:blur(18px)}.intro-brand{display:flex;align-items:center;gap:12px;min-width:270px}.intro-brand img{width:50px;height:50px;object-fit:contain}.intro-brand b,.intro-brand small{display:block}.intro-brand b{font-size:17px;color:var(--blue-deep);letter-spacing:.5px}.intro-brand small{font-size:10px;color:#71859a;letter-spacing:1px}.intro-header nav{flex:1;display:flex;justify-content:center;gap:28px}.intro-header nav a{font-size:14px;color:#50677d;white-space:nowrap}.intro-header nav a:hover{color:var(--blue)}.header-login{height:40px;padding:0 18px;display:inline-flex;align-items:center;border:1px solid #b8cde0;border-radius:8px;color:var(--blue);font-weight:700;font-size:14px;background:#fff;white-space:nowrap}.header-login:hover{border-color:var(--blue);box-shadow:0 7px 20px rgba(0,86,153,.1)}
.intro-hero{min-height:calc(100vh - 78px);position:relative;overflow:hidden;padding:clamp(80px,10vw,145px) max(28px,calc((100vw - 1280px)/2)) 50px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:70px;align-items:center;color:#fff;background:radial-gradient(circle at 78% 26%,rgba(21,180,222,.3),transparent 25%),radial-gradient(circle at 7% 12%,rgba(0,137,211,.28),transparent 28%),linear-gradient(145deg,#003e70,#002b4c 58%,#001d35)}.intro-hero:before{content:"";position:absolute;inset:0;opacity:.08;background-image:linear-gradient(rgba(255,255,255,.32) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.32) 1px,transparent 1px);background-size:64px 64px;transform:perspective(700px) rotateX(22deg) scale(1.25)}.hero-orbit{position:absolute;border:1px solid rgba(71,207,239,.24);border-radius:50%;pointer-events:none}.orbit-one{width:900px;height:340px;right:-180px;top:190px;transform:rotate(-12deg)}.orbit-two{width:440px;height:950px;right:80px;top:-170px;transform:rotate(24deg)}.hero-copy,.hero-mark,.hero-metrics{position:relative;z-index:2}.hero-kicker,.section-heading>span,.mini-kicker{display:block;font-size:12px;font-weight:800;letter-spacing:3px;color:#62d6f2}.hero-copy h1{max-width:800px;margin:24px 0 27px;font-size:clamp(48px,5.2vw,78px);line-height:1.12;letter-spacing:-2.5px}.hero-copy>p{max-width:750px;margin-bottom:28px;color:#bdd1e2;font-size:18px;line-height:1.9}.hero-actions{display:flex;gap:13px;flex-wrap:wrap}.intro-button{min-height:49px;padding:0 23px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;font-weight:800}.intro-button.primary{background:#fff;color:var(--blue-deep);box-shadow:0 14px 30px rgba(0,0,0,.16)}.intro-button.secondary{border:1px solid rgba(255,255,255,.32);color:#fff;background:rgba(255,255,255,.07)}.hero-note{margin-top:20px!important;margin-bottom:0!important;font-size:12px!important;color:#8fafc8!important}.hero-mark{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:430px}.hero-mark img{position:relative;z-index:2;width:min(380px,85%);filter:drop-shadow(0 28px 45px rgba(0,0,0,.28))}.hero-mark span{margin-top:21px;color:#91cfe1;font-size:11px;font-weight:800;letter-spacing:3.5px}.mark-glow{position:absolute;width:330px;height:330px;border-radius:50%;background:radial-gradient(circle,rgba(25,200,238,.33),transparent 67%);filter:blur(5px)}.hero-metrics{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);margin-top:30px;border-top:1px solid rgba(255,255,255,.15);padding-top:29px}.hero-metrics>div{padding-left:24px;border-left:2px solid rgba(51,198,232,.55)}.hero-metrics b,.hero-metrics span{display:block}.hero-metrics b{font-size:27px}.hero-metrics span{margin-top:3px;color:#9eb9cd;font-size:12px}
.intro-section{padding:110px max(28px,calc((100vw - 1240px)/2));scroll-margin-top:75px}.section-heading{max-width:870px;margin-bottom:50px}.section-heading>span{margin-bottom:13px;color:var(--blue)}.section-heading h2{margin-bottom:18px;font-size:clamp(34px,4vw,54px);line-height:1.25;letter-spacing:-1.5px;color:var(--blue-ink)}.section-heading p{margin-bottom:0;color:var(--muted);font-size:18px;line-height:1.85}.section-heading.light h2{color:#fff}.section-heading.light p{color:#aac4d8}.section-heading.light>span{color:#55d2ee}
.concept-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.concept-grid article{min-height:260px;padding:34px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 13px 38px rgba(4,45,80,.06)}.concept-grid i{font-style:normal;color:#85a6c0;font:800 13px/1 Consolas,monospace}.concept-grid h3{margin:36px 0 14px;font-size:24px;color:var(--blue-ink)}.concept-grid p{margin-bottom:0;color:var(--muted)}blockquote{margin:42px 0 0;padding:30px 36px;border:0;border-left:5px solid var(--red);border-radius:0 14px 14px 0;background:#eaf2f8;color:#25435e;font-size:20px;font-weight:700}blockquote cite{display:block;margin-top:12px;color:#748da2;font-size:13px;font-style:normal;font-weight:500}
.research-section,.problem-section,.path-section,.preparation-section{background:linear-gradient(145deg,#003c69,#002641);color:#fff}.research-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.14);border-radius:16px;overflow:hidden}.research-steps li{min-height:235px;padding:27px;background:#063c62;display:flex;flex-direction:column;justify-content:space-between}.research-steps li:hover{background:#07476f}.research-steps>li>b{color:#5dd1ec;font:900 15px/1 Consolas,monospace}.research-steps h3{margin:0 0 10px;font-size:21px}.research-steps p{margin:0;color:#a9c3d6;font-size:14px}.research-steps li:last-child{grid-column:span 2;background:linear-gradient(135deg,#075382,#076896)}
.role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}.role-grid article{position:relative;overflow:hidden;min-height:390px;padding:34px;border:1px solid var(--line);border-radius:17px;background:#fff;box-shadow:0 18px 45px rgba(4,45,80,.07)}.role-grid article:before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:var(--blue)}.role-grid article.opponent:before{background:var(--red)}.role-grid article.reviewer:before{background:#13a674}.role-letter{position:absolute;right:20px;top:0;color:rgba(0,86,153,.055);font-size:145px;font-weight:900;line-height:1}.role-grid article>span{position:relative;color:#71879a;font-size:11px;font-weight:800;letter-spacing:1.5px}.role-grid h3{position:relative;margin:55px 0 20px;font-size:25px;color:var(--blue-ink)}.role-grid ul{position:relative;margin:0;padding-left:20px;color:#50677c}.role-grid li{margin:12px 0}.fight-panel{display:grid;grid-template-columns:minmax(290px,.65fr) minmax(0,1.35fr);gap:60px;margin-top:65px;padding:48px;border-radius:20px;background:#eaf2f8}.fight-copy{align-self:start;position:sticky;top:110px}.fight-copy h3{font-size:30px;line-height:1.3;margin:12px 0}.fight-copy>p{color:var(--muted)}.mini-kicker{color:var(--blue)}.score-note{margin-top:30px;padding:23px;border-left:4px solid var(--red);background:#fff}.score-note b{font-size:17px}.score-note p{margin:7px 0 0;color:#5d7184;font-size:14px}.fight-timeline{margin:0;padding:0;list-style:none}.fight-timeline li{display:grid;grid-template-columns:80px 1fr;gap:20px;padding:17px 0;border-bottom:1px solid #cad8e4}.fight-timeline li:last-child{border-bottom:0}.fight-timeline time{padding-top:2px;color:var(--blue);font:800 13px/1.5 Consolas,monospace}.fight-timeline b,.fight-timeline span{display:block}.fight-timeline b{font-size:17px}.fight-timeline span{margin-top:4px;color:#61778a;font-size:14px}
.problem-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.problem-cards article{min-height:220px;padding:29px;border:1px solid rgba(255,255,255,.14);border-radius:15px;background:rgba(255,255,255,.07)}.problem-cards article:hover{background:rgba(255,255,255,.1);border-color:rgba(74,207,237,.45)}.problem-cards span{display:inline-block;padding:4px 9px;border-radius:12px;background:rgba(73,203,233,.15);color:#63d7ef;font-size:11px}.problem-cards b{display:block;margin:25px 0 12px;font-size:18px}.problem-cards p{margin-bottom:0;color:#a9c3d6;font-size:14px}
.value-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.5fr);gap:30px}.value-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.value-list article{padding:27px;border:1px solid var(--line);border-radius:14px;background:#fff}.value-list b{font-size:18px;color:var(--blue-ink)}.value-list p{margin:9px 0 0;color:var(--muted);font-size:14px}.value-layout aside{padding:34px;border-radius:16px;background:var(--blue-deep);color:#fff}.value-layout aside h3{font-size:24px}.value-layout aside ul{padding-left:20px;color:#c1d4e2}.value-layout aside li{margin:12px 0}.value-layout aside>p{margin:28px 0 0;padding-top:22px;border-top:1px solid rgba(255,255,255,.15);color:#76d9ef;font-size:14px;font-weight:700}
.season-path{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-top:1px solid rgba(255,255,255,.18)}.season-path article{position:relative;padding:36px 24px 0;border-left:1px solid rgba(255,255,255,.18)}.season-path article:before{content:"";position:absolute;width:10px;height:10px;border:3px solid #5dd8ef;border-radius:50%;top:-7px;left:-7px;background:#00304f}.season-path span,.season-path b{display:block}.season-path span{color:#5bd4ec;font-size:12px;font-weight:800;letter-spacing:1px}.season-path b{margin:12px 0 9px;font-size:18px}.season-path p{margin:0;color:#a8c2d5;font-size:13px}
.xjtu-section{background:#fff}.team-photo,.history-photo{margin:0;border-radius:18px;overflow:hidden;background:#e8eef4;box-shadow:var(--shadow)}.team-photo img,.history-photo img{width:100%;height:auto;object-fit:contain}.team-photo figcaption,.history-photo figcaption{padding:12px 18px;color:#6c8094;font-size:12px;background:#f8fafc}.achievement-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin:35px 0}.achievement-grid article{min-height:158px;padding:24px;border:1px solid var(--line);border-radius:13px;background:#f7f9fc}.achievement-grid b{color:var(--blue);font-size:20px}.achievement-grid p{margin:13px 0 0;color:#5e7488;font-size:13px}.achievement-grid .latest{color:#fff;border-color:transparent;background:linear-gradient(135deg,#086da9,#004877)}.achievement-grid .latest b,.achievement-grid .latest p{color:#fff}.history-photo{max-width:1000px;margin:0 auto}
.memory-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:34px}.memory-gallery figure{min-width:0;margin:0;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#f7f9fc}.memory-image{aspect-ratio:3/2;display:flex;align-items:center;justify-content:center;background:#edf2f6}.memory-gallery img{width:100%;height:100%;object-fit:contain}.memory-gallery figcaption{padding:13px 16px;color:#5f7488;font-size:13px;background:#fff}
.prep-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.prep-grid article{padding:28px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(255,255,255,.07)}.prep-grid span{color:#58d3ec;font:900 13px/1 Consolas,monospace}.prep-grid h3{margin:32px 0 12px;font-size:20px}.prep-grid p{margin:0;color:#adc5d6;font-size:14px}.ethics-note{display:grid;grid-template-columns:140px 1fr;gap:25px;margin-top:25px;padding:28px;border-left:5px solid var(--red);background:rgba(255,255,255,.08)}.ethics-note b{font-size:20px}.ethics-note p{margin:0;color:#bad0df}
.faq-section{background:#f4f7fb}.faq-list{display:grid;grid-template-columns:1fr 1fr;gap:13px}.faq-list details{padding:0 24px;border:1px solid var(--line);border-radius:13px;background:#fff}.faq-list summary{padding:22px 30px 22px 0;cursor:pointer;list-style:none;font-weight:800;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";position:absolute;right:0;color:var(--blue);font-size:24px;font-weight:400}.faq-list details[open] summary:after{content:"−"}.faq-list details p{padding:0 0 22px;margin:0;color:var(--muted);font-size:14px}
.source-section{padding:80px max(28px,calc((100vw - 1240px)/2));display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;background:#fff;border-top:1px solid var(--line)}.source-section>div>span{font-size:11px;font-weight:800;letter-spacing:2px;color:var(--blue)}.source-section h2{margin:9px 0;font-size:34px}.source-section>div p{color:var(--muted)}.source-section ul{margin:0;padding:0;list-style:none}.source-section li{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:15px 0;border-bottom:1px solid var(--line)}.source-section li a{color:var(--blue);font-weight:800}.source-section li a:hover{text-decoration:underline}.source-section li span{color:#72869a;font-size:13px}.final-cta{padding:70px max(28px,calc((100vw - 1240px)/2));display:grid;grid-template-columns:230px 1fr auto;gap:40px;align-items:center;color:#fff;background:linear-gradient(120deg,#005699,#00355e)}.final-cta>img{width:220px}.final-cta span{color:#69d8ef;font-size:11px;font-weight:800;letter-spacing:2px}.final-cta h2{margin:9px 0 0;max-width:700px;font-size:31px;line-height:1.4}.final-actions{display:flex;gap:10px;flex-direction:column}.final-actions a{min-width:145px;padding:11px 17px;border:1px solid rgba(255,255,255,.4);border-radius:8px;text-align:center;font-weight:800}.final-actions a:last-child{background:#fff;color:var(--blue-deep)}.intro-footer{min-height:65px;padding:18px max(28px,calc((100vw - 1240px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px;background:#00223d;color:#8cabc2;font-size:12px}.intro-footer a:hover{color:#fff;text-decoration:underline}
.intro-hero{padding-left:max(28px,calc((100vw - 1380px)/2));padding-right:max(28px,calc((100vw - 1380px)/2));grid-template-columns:minmax(0,1.3fr) minmax(350px,.7fr);gap:50px}
@media(max-width:1100px){.intro-header nav{gap:16px}.intro-header nav a:nth-child(4){display:none}.intro-hero{grid-template-columns:1fr .6fr;gap:25px}.hero-copy h1{font-size:56px}.research-steps{grid-template-columns:repeat(2,1fr)}.research-steps li:last-child{grid-column:auto}.problem-cards{grid-template-columns:repeat(2,1fr)}.achievement-grid{grid-template-columns:repeat(2,1fr)}.prep-grid{grid-template-columns:repeat(2,1fr)}.season-path{grid-template-columns:repeat(3,1fr);row-gap:45px}.source-section{gap:35px}.final-cta{grid-template-columns:190px 1fr}.final-actions{grid-column:2;flex-direction:row}.final-cta>img{width:180px}}
@media(max-width:820px){body{font-size:15px}.intro-header{height:auto;min-height:70px;padding:10px 18px;flex-wrap:wrap;gap:8px 16px}.intro-brand{min-width:0;flex:1}.intro-brand img{width:42px;height:42px}.intro-header nav{order:3;flex-basis:100%;justify-content:flex-start;overflow-x:auto;padding:7px 0 2px}.intro-header nav a{font-size:12px}.header-login{height:36px}.intro-hero{min-height:auto;padding:85px 25px 42px;grid-template-columns:1fr}.hero-copy h1{font-size:clamp(42px,11vw,60px)}.hero-copy>p{font-size:16px}.hero-mark{min-height:310px}.hero-mark img{width:280px}.hero-metrics{grid-template-columns:repeat(2,1fr);gap:20px}.intro-section{padding:80px 25px}.concept-grid,.role-grid{grid-template-columns:1fr}.fight-panel{grid-template-columns:1fr;padding:28px;gap:30px}.fight-copy{position:static}.value-layout{grid-template-columns:1fr}.season-path{grid-template-columns:1fr 1fr}.faq-list{grid-template-columns:1fr}.source-section{padding:65px 25px;grid-template-columns:1fr}.final-cta{padding:55px 25px;grid-template-columns:1fr}.final-cta>img{width:200px}.final-actions{grid-column:auto}.intro-footer{padding:18px 25px}}
@media(max-width:560px){.intro-brand small{display:none}.intro-header nav{gap:20px}.intro-header nav a:nth-child(5){display:none}.hero-copy h1{letter-spacing:-1.2px}.hero-actions{flex-direction:column}.intro-button{width:100%}.hero-metrics{grid-template-columns:1fr 1fr}.hero-metrics>div{padding-left:12px}.section-heading h2{font-size:34px}.section-heading p{font-size:16px}.research-steps,.problem-cards,.value-list,.achievement-grid,.prep-grid,.season-path{grid-template-columns:1fr}.research-steps li{min-height:200px}.fight-timeline li{grid-template-columns:65px 1fr;gap:10px}.ethics-note{grid-template-columns:1fr}.source-section li{grid-template-columns:1fr;gap:3px}.intro-footer{align-items:flex-start;flex-direction:column}.final-actions{width:100%;flex-direction:column}.final-actions a{width:100%}}
.hero-copy,.hero-mark,.hero-metrics{min-width:0}
@media(max-width:560px){html,body,main{width:100%;max-width:100%;overflow-x:hidden}.intro-header{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto}.intro-header nav{grid-column:1/-1;width:100%}.intro-brand{width:auto;min-width:0}.intro-brand b{font-size:15px}.intro-hero{display:block;width:100%;max-width:100vw}.hero-copy,.hero-mark,.hero-metrics{width:100%;max-width:100%}.hero-kicker{overflow-wrap:anywhere;letter-spacing:1.5px}.hero-copy h1{font-size:clamp(36px,10vw,48px);word-break:break-all;overflow-wrap:anywhere}}
@media(max-width:820px){.memory-gallery{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.memory-gallery{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}}
