
:root{
 --bg:#101821;--bg2:#17232d;--panel:#1d2b35;--panel2:#23343f;--ink:#eef4f5;--muted:#aebdc1;
 --line:rgba(222,237,238,.12);--green:#65bca6;--green2:#8dd6bf;--orange:#e49358;--silver:#c5d0d2;
 --red:#d36e68;--yellow:#d8b763;--shadow:0 28px 80px rgba(0,0,0,.28)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:
radial-gradient(circle at 78% 8%,rgba(100,188,166,.09),transparent 24%),
radial-gradient(circle at 12% 62%,rgba(228,147,88,.07),transparent 25%),
linear-gradient(180deg,#0d151c,#121d25 48%,#17242d);color:var(--ink);font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif}
.city-grid{position:fixed;inset:0;pointer-events:none;z-index:-2;opacity:.12;background-image:
linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
background-size:46px 46px;mask-image:linear-gradient(180deg,#000,transparent 80%)}
button,input{font:inherit}.shell{max-width:1200px;margin:auto;padding:0 24px 68px}.topbar{height:80px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px}.brand .signal{width:13px;height:13px;border-radius:50%;background:var(--green);box-shadow:0 0 18px rgba(101,188,166,.55)}.brand b{display:block;font:700 13px Georgia,serif;letter-spacing:.19em}.brand small{display:block;margin-top:3px;color:var(--muted);font-size:10px;letter-spacing:.16em}.status{font:10px Georgia,serif;letter-spacing:.13em;color:#809298}.screen{display:none;animation:fade .3s ease}.screen.active{display:block}@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.hero{display:grid!important;grid-template-columns:1.05fr .95fr;gap:58px;align-items:center;min-height:660px;padding:48px 0}.hero:not(.active){display:none!important}.kicker{font:700 10px Georgia,serif;letter-spacing:.22em;color:var(--green2)}.hero h1,.panel h2{font:500 clamp(46px,5.5vw,76px)/1.08 Georgia,"Songti SC",serif;margin:18px 0}.hero h1 em{font-style:normal;color:var(--orange)}.lead,.panel>p{color:var(--muted);font-size:15px;line-height:1.9;max-width:670px}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:23px 0}.chips span{padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.035);font-size:11px;color:#dce7e8}
.access{margin-top:28px;padding:20px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,rgba(39,57,67,.82),rgba(25,39,48,.88));box-shadow:var(--shadow)}.access label{display:block;font-weight:700;margin-bottom:11px}.code-row{display:grid;grid-template-columns:48px 1fr auto;gap:9px}.code-row strong{display:grid;place-items:center;background:#253a42;color:#98dec9;border-radius:12px;font:700 22px Georgia}.code-row input{min-width:0;border:1px solid rgba(255,255,255,.13);background:rgba(5,12,17,.3);color:white;border-radius:12px;padding:0 13px;font-size:18px;letter-spacing:.15em;outline:0}.code-row input:focus{border-color:var(--green);box-shadow:0 0 0 4px rgba(101,188,166,.1)}.access small{display:block;margin-top:10px;color:#829499;font-size:11px}
.primary{border:0;border-radius:12px;padding:14px 18px;background:linear-gradient(135deg,#478d7d,#64b7a3 62%,#d18a56);color:#fff;font-weight:700;cursor:pointer;box-shadow:0 10px 28px rgba(52,119,103,.2)}.ghost{border:1px solid var(--line);border-radius:12px;padding:13px 17px;background:rgba(255,255,255,.035);color:#dce6e7;cursor:pointer}.wide{width:100%}
.city-panel{height:520px;position:relative;overflow:hidden;border-radius:31px;border:1px solid var(--line);background:linear-gradient(160deg,#1e3039,#101b22 62%,#172932);box-shadow:var(--shadow)}.city-panel:before{content:"";position:absolute;left:0;right:0;bottom:78px;height:1px;background:#80a3a2;box-shadow:0 20px 0 rgba(128,163,162,.3),0 40px 0 rgba(128,163,162,.15)}.metro-card{position:absolute;z-index:4;left:34px;top:40px;width:174px;height:112px;padding:17px;border-radius:16px;background:linear-gradient(145deg,#d7e1de,#9fb8b4);color:#16262b;transform:rotate(-4deg);box-shadow:0 20px 40px rgba(0,0,0,.25)}.metro-card span,.metro-card small{display:block;font:9px Georgia;letter-spacing:.16em}.metro-card b{display:block;font:700 21px Georgia;line-height:1;margin:10px 0}.building{position:absolute;bottom:78px;background:linear-gradient(180deg,#334852,#1b2b33);border-top:2px solid #52727a;box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)}.building:before{content:"";position:absolute;inset:14px;background:repeating-linear-gradient(0deg,transparent 0 22px,rgba(186,214,209,.08) 23px 25px)}.b1{left:20px;width:140px;height:218px}.b2{left:176px;width:155px;height:310px}.b3{right:20px;width:180px;height:255px}.metro-line{position:absolute;z-index:5;left:30px;right:30px;bottom:44px;height:6px;border-radius:999px;background:linear-gradient(90deg,#5cae98,#5cae98 48%,#dd8c56 48%,#dd8c56)}.metro-line i{position:relative;display:inline-block;width:13px;height:13px;border:3px solid #d7e4e1;background:#142129;border-radius:50%;margin:-4px 10% 0}.street-sign{position:absolute;right:32px;top:37px;display:grid;gap:7px;z-index:5}.street-sign span{padding:7px 11px;background:#29424b;border-left:4px solid var(--orange);font:700 10px Georgia;letter-spacing:.12em}.message{position:absolute;z-index:6;padding:10px 13px;border:1px solid var(--line);background:rgba(15,25,32,.86);border-radius:12px;color:#c8d5d6;font-size:12px}.m1{left:48px;bottom:112px}.m2{right:45px;bottom:124px;color:#789399;font-size:10px}.traffic{position:absolute;right:64px;bottom:28px;display:flex;gap:8px}.traffic i{width:9px;height:9px;border-radius:50%;background:#384b51}.traffic i:nth-child(1){background:#cf6963}.traffic i:nth-child(2){background:#d5b25e}.traffic i:nth-child(3){background:#5fb69d}
.narrow{max-width:880px;margin:auto}.panel{margin-top:44px;padding:50px;border-radius:28px;border:1px solid var(--line);background:linear-gradient(145deg,rgba(32,48,58,.92),rgba(20,32,40,.94));box-shadow:var(--shadow)}.panel h2{font-size:45px}.panel h2 strong{color:var(--orange);font-weight:500}.intro-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:29px 0}.intro-grid article{padding:21px;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.025)}.intro-grid b{display:block;font:500 28px Georgia;color:#7ac5af}.intro-grid span{display:block;font-weight:700;margin:9px 0}.intro-grid p{font-size:12px;color:#96a8ac;line-height:1.65;margin:0}.under{display:block;text-align:center;margin-top:10px;color:#7f9297;font-size:11px}
.test{padding:42px 0}.test-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.test-head h2{font:500 36px Georgia,"Songti SC",serif;margin:8px 0 5px}.test-head p{margin:0;color:#8ea1a6;font-size:12px}.qnum b{font:500 47px Georgia;color:var(--orange)}.qnum span{color:#73868a}.progress{position:relative;height:17px;border-radius:999px;background:rgba(255,255,255,.05);margin:23px 0 26px;overflow:hidden}.progress i{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#498e7e,#68bea9 70%,#df955b);transition:.25s}.progress span{position:absolute;right:10px;top:1px;font:10px Georgia;color:#d4dfdf}.panel-lite{padding:30px;border-radius:25px;border:1px solid var(--line);background:linear-gradient(145deg,rgba(33,50,60,.9),rgba(20,31,39,.93));box-shadow:0 18px 50px rgba(0,0,0,.16)}.question>small{font:700 10px Georgia;letter-spacing:.17em;color:#70bda8}.question h3{font:500 25px/1.55 Georgia,"Songti SC",serif;margin:15px 0 23px;white-space:normal;word-break:normal;overflow-wrap:break-word;text-wrap:balance}.opts{display:grid;gap:10px}.opt{width:100%;max-width:100%;text-align:left;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.03);color:#dde7e8;border-radius:14px;padding:14px 16px;line-height:1.55;cursor:pointer;white-space:normal;overflow-wrap:anywhere}.opt:hover{border-color:rgba(101,188,166,.42);transform:translateX(2px)}.opt.selected{background:linear-gradient(135deg,rgba(76,143,126,.28),rgba(204,134,83,.13));border-color:#67bba6}.nav{display:flex;gap:11px;margin-top:16px}.nav button{flex:1}.link{display:block;margin:17px auto;border:0;background:none;color:#819499;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.done{text-align:center}.complete-icon{width:74px;height:74px;display:grid;place-items:center;border:1px solid rgba(101,188,166,.4);border-radius:50%;margin:0 auto 20px;color:#80cfb8;font-size:34px;box-shadow:0 0 28px rgba(101,188,166,.12)}
.report{padding:43px 0}.report-cover{display:grid;grid-template-columns:1fr 350px;gap:24px;align-items:center;padding:36px;border-radius:29px;border:1px solid var(--line);background:linear-gradient(135deg,#233641,#15232b 58%,#2b3b3d);box-shadow:var(--shadow)}.level-badge{display:inline-block;margin:15px 0 8px;padding:7px 10px;background:#4e967f;color:white;border-radius:8px;font:700 10px Georgia;letter-spacing:.13em}.report-cover h2{font:500 49px Georgia,"Songti SC",serif;margin:0}.type-en{font:700 10px Georgia;letter-spacing:.2em;color:#8fcbb9;margin:6px 0}.report-cover p{color:#afbec1;line-height:1.8}.index-board{display:grid;grid-template-columns:1fr 1fr;gap:10px}.index-board>div{padding:22px 15px;text-align:center;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.035)}.index-board small{display:block;color:#9aabad}.index-board b{display:inline-block;font:500 55px Georgia;color:#e4975d;margin-top:9px}.index-board span{color:#71858a;font-size:11px}.tabs{display:flex;gap:7px;flex-wrap:wrap;margin:21px 0}.tabs button{padding:10px 15px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:#aebdc0;cursor:pointer}.tabs button.active{background:#68b9a4;color:#11231f;border-color:transparent;font-weight:700}.hidden{display:none!important}.report-body{display:grid;gap:15px}.card{padding:26px;border-radius:23px;border:1px solid var(--line);background:linear-gradient(145deg,rgba(31,47,57,.88),rgba(20,31,39,.91));box-shadow:0 16px 42px rgba(0,0,0,.13)}.card h3{font:500 27px Georgia,"Songti SC",serif;margin:0 0 11px;text-wrap:balance}.card p,.card li{color:#adbdc0;line-height:1.82}.card strong{color:#eef5f4}.two-index{display:grid;grid-template-columns:1fr 1fr;gap:11px}.mini-index{padding:20px;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.025)}.mini-index small{color:#8fa3a6}.mini-index b{display:block;font:500 32px Georgia;color:#7ecab4;margin:7px 0}.mini-index p{font-size:12px;margin:0}.dim-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.dim{padding:16px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.025)}.dim-head{display:flex;justify-content:space-between;gap:10px}.dim-head span{color:#e29761}.bar{height:7px;background:rgba(255,255,255,.055);border-radius:99px;margin:9px 0}.bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#4f9985,#70c1ab,#d99059)}.dim p{font-size:11px;line-height:1.6;margin:0;color:#85999e}.problem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.problem{padding:19px;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.025)}.problem .rank{font:700 10px Georgia;color:#e4975d}.problem b{display:block;margin:8px 0}.problem p{font-size:12px;margin:0}.script{margin-top:13px;padding:15px;border-left:3px solid var(--green);background:rgba(91,176,153,.07);border-radius:0 12px 12px 0;color:#d8e4e4;line-height:1.75}.traffic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.traffic-card{padding:18px;border-radius:16px;border:1px solid var(--line)}.traffic-card i{display:block;width:12px;height:12px;border-radius:50%;margin-bottom:10px}.traffic-card.green{background:rgba(83,161,136,.08)}.traffic-card.yellow{background:rgba(198,157,76,.08)}.traffic-card.red{background:rgba(186,84,78,.09)}.traffic-card.green i{background:#65bca6;box-shadow:0 0 12px #65bca6}.traffic-card.yellow i{background:#d8b763;box-shadow:0 0 12px #d8b763}.traffic-card.red i{background:#d36e68;box-shadow:0 0 12px #d36e68}.traffic-card p{font-size:12px}.level-track{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.level-track span{padding:12px 8px;text-align:center;border:1px solid var(--line);border-radius:12px;color:#7f9296;font-size:11px}.level-track span.active{background:linear-gradient(135deg,#4e917e,#d48b57);color:white;border-color:transparent}.week{display:grid;grid-template-columns:90px 1fr;gap:16px;padding:17px 0;border-bottom:1px solid var(--line)}.week:last-child{border-bottom:0}.week b{font:500 21px Georgia;color:#7dc7b2}.week h4{margin:0 0 6px}.week p{margin:0;font-size:13px}.checklist{display:grid;gap:8px;margin-top:12px}.checklist div{padding:12px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.02);color:#adbdc0}.notice{margin-top:16px;padding:21px;border:1px solid rgba(211,110,104,.23);border-radius:18px;background:rgba(179,78,73,.07)}.notice b{color:#e69a94}.notice p{font-size:12px;line-height:1.75;color:#aebbc0}.actions{display:flex;gap:10px;margin:20px 0}.disclaimer{text-align:center;color:#71858a;font-size:10px;line-height:1.65;max-width:850px;margin:24px auto}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;padding:22px 0;color:#657a80;font:10px Georgia;letter-spacing:.12em}
@media(max-width:900px){.hero{grid-template-columns:1fr;gap:28px}.city-panel{height:420px;max-width:650px;width:100%;margin:auto}.report-cover{grid-template-columns:1fr}.problem-grid,.intro-grid{grid-template-columns:1fr}.level-track{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){
 .shell{padding:0 14px 50px}.topbar{height:66px}.status{display:none}.hero{min-height:0;padding:32px 0 24px}.hero h1{font-size:38px;line-height:1.12}.lead{font-size:13.5px}.chips{gap:6px}.chips span{font-size:10.5px;padding:7px 9px}.code-row{grid-template-columns:44px 1fr}.code-row button{grid-column:1/-1}.city-panel{height:330px;border-radius:22px}.metro-card{left:20px;top:24px;transform:scale(.82) rotate(-4deg);transform-origin:top left}.building{bottom:63px}.b1{left:9px;width:90px;height:140px}.b2{left:110px;width:105px;height:205px}.b3{right:8px;width:120px;height:165px}.street-sign{right:15px;top:21px;transform:scale(.85);transform-origin:top right}.message{font-size:10px}.m1{left:20px;bottom:86px}.m2{right:18px;bottom:91px}.metro-line{left:18px;right:18px;bottom:37px}.panel{padding:29px 17px;margin-top:26px}.panel h2{font-size:33px;line-height:1.28;text-wrap:balance}.test{padding:30px 0}.test-head{align-items:flex-start}.test-head h2{font-size:27px;line-height:1.25;margin-top:6px}.test-head p{font-size:11px;line-height:1.5}.qnum b{font-size:36px}.panel-lite{padding:20px 14px}.question h3{font-size:19px;line-height:1.55;margin:13px 0 19px;text-wrap:balance}.opt{font-size:13px;padding:13px 12px}.report{padding:29px 0}.report-cover{padding:23px 16px}.report-cover h2{font-size:39px;line-height:1.15}.index-board>div{padding:17px 8px}.index-board b{font-size:44px}.tabs{display:grid;grid-template-columns:1fr 1fr}.tabs button{width:100%}.card{padding:20px 14px}.card h3{font-size:22px;line-height:1.3}.two-index,.dim-grid,.traffic-grid{grid-template-columns:1fr}.problem-grid{grid-template-columns:1fr}.level-track{grid-template-columns:1fr 1fr}.week{grid-template-columns:1fr;gap:6px}.actions{flex-direction:column}.actions button{width:100%}footer{gap:15px;flex-direction:column}
}
@media(max-width:360px){.hero h1{font-size:35px}.panel h2{font-size:30px}.question h3{font-size:18px}.report-cover h2{font-size:35px}.card h3{font-size:21px}}
@media print{body{background:white;color:#222}.topbar,.tabs,.actions,footer,.city-grid{display:none!important}.shell{max-width:none;padding:0}.screen{display:none!important}#report{display:block!important}.report-body.hidden{display:grid!important}.report-cover,.card,.notice{background:white;color:#222;border-color:#ddd;box-shadow:none;break-inside:avoid}.card p,.card li,.report-cover p{color:#555}}
