@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Noto+Sans+SC:wght@300;400;500;600;700;800&display=swap');
:root{--bg:#050b19;--panel:rgba(12,25,48,.76);--line:rgba(118,198,255,.19);--cyan:#63e8ff;--blue:#62aaff;--violet:#a58bff;--gold:#f5cf83;--text:#eef6ff;--muted:#9aacc5;--green:#81f2c4}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 50% 0%,#102c51 0,#071326 37%,#050b19 80%);color:var(--text);font-family:'Noto Sans SC',system-ui,sans-serif;min-height:100vh}button,a{font:inherit}button{color:inherit}.stars{position:fixed;inset:0;pointer-events:none;opacity:.38;background-image:radial-gradient(1px 1px at 12% 24%,#b4e9ff 99%,transparent),radial-gradient(1px 1px at 66% 17%,#fff 99%,transparent),radial-gradient(2px 2px at 83% 61%,#92bcff 99%,transparent),radial-gradient(1px 1px at 44% 79%,#fff 99%,transparent),radial-gradient(1px 1px at 91% 34%,#fff 99%,transparent);background-size:310px 230px,280px 310px,400px 360px,350px 290px,220px 370px;z-index:-1}.topbar{height:76px;display:flex;align-items:center;gap:34px;padding:0 clamp(18px,5vw,76px);border-bottom:1px solid rgba(142,199,255,.12);background:rgba(4,11,24,.72);backdrop-filter:blur(18px);position:sticky;top:0;z-index:5}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--text);font-weight:600;white-space:nowrap}.brand small{display:block;font:9px 'IBM Plex Mono',monospace;letter-spacing:2px;color:#7892b3;margin-top:3px}.brand-mark{font-size:29px;color:var(--cyan);text-shadow:0 0 18px #4ce0ff}.topbar nav{display:flex;align-items:center;gap:6px;flex:1}.topbar nav button,.quiet{border:0;background:none;color:#a9bad0;padding:10px 13px;cursor:pointer;border-radius:8px;font-size:13px}.topbar nav button:hover,.quiet:hover{color:white;background:#ffffff0d}.top-progress{font:11px 'IBM Plex Mono',monospace;color:#9badc4;white-space:nowrap}.top-progress i{display:block;height:3px;background:#22344d;margin-top:7px;border-radius:9px}.top-progress b{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--cyan),var(--violet));transition:width .4s}.page{max-width:1200px;margin:auto;padding:60px 28px 86px}.eyebrow{font:11px 'IBM Plex Mono',monospace;letter-spacing:2.2px;text-transform:uppercase;color:var(--cyan)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(36px,6vw,72px);line-height:1.1;letter-spacing:-2px;margin:18px 0}h2{font-size:clamp(27px,4vw,44px);line-height:1.2;margin:12px 0}h3{font-size:19px}.lead{font-size:17px;color:#c8d7e9;line-height:1.9}.muted{color:var(--muted);line-height:1.8}.mono{font:11px 'IBM Plex Mono',monospace;letter-spacing:1px;color:#8aa4c4}.hero{min-height:590px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:35px;position:relative}.hero-copy{position:relative;z-index:1}.hero-copy .lead{max-width:590px}.hero-quote{border-left:2px solid var(--cyan);padding:3px 0 3px 18px;color:#b8cbe0;line-height:1.95;margin:27px 0 26px;max-width:550px}.hero-art{height:470px;position:relative;display:grid;place-items:center;overflow:hidden}.portal{width:min(34vw,390px);aspect-ratio:1;border-radius:50%;position:relative;border:1px solid #69dcff77;box-shadow:0 0 30px #33baff27,inset 0 0 60px #3872ff22;transform:perspective(650px) rotateX(62deg);background:repeating-radial-gradient(ellipse at center,transparent 0 21px,#5dd8ff2b 22px 23px),radial-gradient(ellipse at center,#46dfff21,transparent 68%);animation:portal 12s linear infinite}.portal:before,.portal:after{content:"";position:absolute;inset:13%;border:1px solid #9c8bff69;border-radius:50%;transform:rotate(45deg) scaleX(.75)}.portal:after{inset:26%;border-color:#60e9ff75;transform:rotate(-38deg) scaleX(.78)}.portal-core{position:absolute;width:20%;height:20%;border-radius:50%;background:radial-gradient(circle,#fff 0,#5be5ff 14%,#3b9dff77 45%,transparent 72%);filter:drop-shadow(0 0 28px #45dfff);animation:pulse 3s ease-in-out infinite}.orbit{position:absolute;width:88%;height:40%;border:1px solid #8cafff66;border-radius:50%;transform:rotate(-24deg);box-shadow:0 0 18px #5876ff24}.orbit:after{content:"";position:absolute;width:10px;height:10px;background:var(--gold);box-shadow:0 0 15px var(--gold);border-radius:50%;top:6%;left:14%}.orbit.o2{transform:rotate(56deg);width:74%;height:30%;border-color:#5beaff44}.holo-label{position:absolute;color:#93b4d6;font:10px 'IBM Plex Mono';letter-spacing:1.4px}.holo-label.l1{top:20%;right:7%}.holo-label.l2{bottom:22%;left:7%}.scan{position:absolute;width:80%;height:1px;background:linear-gradient(90deg,transparent,#66e9ff,transparent);top:50%;opacity:.4;animation:scan 4s ease-in-out infinite}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid #60dfff70;border-radius:9px;padding:13px 19px;background:linear-gradient(135deg,#1c6690,#533b9a);box-shadow:0 8px 30px #348aff20;color:white;cursor:pointer;text-decoration:none;font-weight:600;transition:.2s}.btn:hover{transform:translateY(-2px);box-shadow:0 10px 34px #53cfff44}.btn.secondary{background:#112139a8;border-color:#7996bd4d;box-shadow:none;color:#d7e7f8}.btn.ghost{background:transparent;box-shadow:none}.btn.gold{background:linear-gradient(130deg,#b48c46,#69502b);border-color:#f5cf8380}.actions{display:flex;flex-wrap:wrap;gap:11px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:35px 0 20px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{border:1px solid var(--line);border-radius:15px;background:linear-gradient(145deg,#122341bf,#09152bbf);box-shadow:0 18px 44px #0002;overflow:hidden}.era-card{position:relative;min-height:250px;padding:22px;isolation:isolate;transition:.25s}.era-card:hover{transform:translateY(-4px);border-color:#78dcff66}.era-card:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.8;background:radial-gradient(ellipse at 92% 12%,var(--glow),transparent 49%),linear-gradient(120deg,transparent 40%,#ffffff05)}.era-top{display:flex;justify-content:space-between;align-items:start}.era-no{font:42px 'IBM Plex Mono',monospace;color:#e7f6ff;text-shadow:0 0 22px var(--glow)}.status{font-size:11px;border:1px solid #ffffff24;padding:5px 9px;border-radius:30px;color:#b8c9dd}.status.done{color:var(--green);border-color:#81f2c455}.status.active{color:var(--gold);border-color:#f5cf8355}.era-card h3{margin:4px 0}.keywords{font:10px 'IBM Plex Mono',monospace;letter-spacing:.7px;color:#86accd;margin:8px 0 16px}.mini-scene{position:absolute;right:18px;bottom:62px;width:105px;height:62px;opacity:.68}.mini-scene:before{content:"";position:absolute;inset:8px 14px;border:1px solid var(--glow);border-radius:50%;transform:rotate(-25deg);box-shadow:0 0 18px var(--glow)}.mini-scene:after{content:"";position:absolute;width:32px;height:48px;left:37px;top:7px;border:1px solid #d5eaff88;border-radius:6px;background:linear-gradient(160deg,#4bddff55,#18284b)}.era-card .btn{position:relative;padding:8px 12px;font-size:12px}.dialogue{border:1px solid #70cfff3b;background:linear-gradient(110deg,#102540dc,#171633bb);border-radius:14px;padding:19px 22px;display:flex;gap:15px;align-items:flex-start;margin:18px 0;max-width:740px}.avatar{width:42px;height:42px;border-radius:50%;flex:0 0 42px;display:grid;place-items:center;background:radial-gradient(circle at 34% 28%,#e1fdff,#5fd5ff 24%,#3749a3 66%,#121a40);box-shadow:0 0 20px #43ceff40;color:#071629;font-weight:800}.dialogue strong{display:block;color:#9beeff;font-size:12px;margin-bottom:5px}.dialogue p{line-height:1.8;margin:0;color:#d6e4f4}.chapter-head{display:grid;grid-template-columns:1fr .72fr;gap:22px;align-items:center}.scene{height:255px;border:1px solid #72dfff33;border-radius:18px;overflow:hidden;position:relative;background:radial-gradient(ellipse at 52% 80%,var(--scene) 0,transparent 38%),linear-gradient(155deg,#122d4e,#090f24 70%)}.scene:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#07101c 0%,transparent 42%),repeating-linear-gradient(0deg,transparent 0 30px,#67caff0a 31px),repeating-linear-gradient(90deg,transparent 0 40px,#67caff08 41px)}.scene .sun{position:absolute;width:100px;height:100px;border-radius:50%;background:radial-gradient(circle,#d2fcff,#61dcff 4%,#3d73ff37 50%,transparent 73%);top:42px;left:calc(50% - 50px);filter:drop-shadow(0 0 30px var(--scene))}.city{position:absolute;bottom:34px;left:0;right:0;height:100px;display:flex;align-items:end;justify-content:center;gap:7px}.city i{display:block;width:clamp(19px,4vw,48px);height:var(--h);border:1px solid #82dfff42;background:linear-gradient(90deg,#122c4a,#17375a);position:relative}.city i:after{content:"";position:absolute;inset:7px 5px;background:repeating-linear-gradient(0deg,#8deaff55 0 2px,transparent 2px 10px);opacity:.55}.scene-object{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);border:1px solid #a0eaff88;border-radius:11px;background:linear-gradient(135deg,#152f4d,#080f20);padding:14px 19px;box-shadow:0 0 30px #46cfff35;cursor:pointer;color:#dbf6ff;z-index:2}.scene-object:hover{box-shadow:0 0 40px #46cfff77}.task-panel{padding:26px;margin:24px 0}.options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.option{padding:17px;text-align:left;border-radius:12px;border:1px solid #56779a55;background:#0c1b31;color:#e7f1fd;cursor:pointer;min-height:93px;transition:.2s}.option:hover{border-color:#67dcff;transform:translateY(-2px);background:#102b47}.option .letter{font:12px 'IBM Plex Mono';color:var(--cyan);display:block;margin-bottom:8px}.feedback{margin-top:18px;padding:18px;border-left:2px solid var(--gold);background:#f5cf830a;border-radius:0 10px 10px 0;line-height:1.8;color:#dce8f5}.feedback strong{color:var(--gold)}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0}.story-card{padding:23px}.story-card p{color:#b8c9dc;line-height:1.9;margin:0}.archive-record{padding:22px;border:1px solid #f5cf8336;background:linear-gradient(120deg,#2c291b55,#111c30);border-radius:14px;margin:18px 0}.archive-record h3{color:var(--gold)}.archive-record p{color:#d5dfeb;line-height:1.8;margin:7px 0}.tools{display:flex;flex-wrap:wrap;gap:9px;margin-top:15px}.conversation{max-width:780px}.bubble{padding:18px;border-radius:14px;background:#101f38;border:1px solid var(--line);margin:13px 0;line-height:1.85;color:#d9e6f6}.bubble.user{margin-left:auto;background:#152649;max-width:82%;border-color:#738cff66}.record-row{padding:15px 17px;border-bottom:1px solid #ffffff12;display:grid;grid-template-columns:105px 1fr auto;gap:13px;align-items:center}.quiz-option{display:block;width:100%;text-align:left;margin:9px 0;padding:13px 15px;border:1px solid #46608066;background:#0c1a30;border-radius:9px;cursor:pointer}.quiz-option:hover{border-color:var(--cyan)}.answer{padding:15px;background:#0d302e;border:1px solid #55deb24a;border-radius:10px;margin-top:14px;line-height:1.8}.empty{padding:35px;text-align:center;color:var(--muted)}.modal-backdrop{position:fixed;inset:0;z-index:110;display:grid;place-items:center;background:#020713c9;backdrop-filter:blur(8px);padding:20px}.modal{width:min(720px,100%);max-height:86vh;overflow:auto;border:1px solid #66dfff55;border-radius:18px;background:#0b172b;padding:26px;box-shadow:0 22px 80px #000a}.modal-head{display:flex;justify-content:space-between;gap:20px}.close{background:#ffffff0d;border:1px solid #ffffff22;border-radius:8px;padding:8px 12px;cursor:pointer}.timeline{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:28px 0 10px}.timeline button{background:transparent;border:0;color:#89a1bc;cursor:pointer;padding:8px 2px;font:11px 'IBM Plex Mono';position:relative}.timeline button:before{content:"";display:block;height:1px;background:#43617f;margin-bottom:14px}.timeline button:after{content:"";position:absolute;top:4px;left:calc(50% - 5px);width:9px;height:9px;border-radius:50%;background:#5788aa;box-shadow:0 0 10px #62d9ff66}.timeline button.done:after{background:var(--gold)}footer{text-align:center;color:#617690;font-size:11px;padding:28px;border-top:1px solid #8ab8df14}footer span{color:#34516d}@keyframes portal{to{transform:perspective(650px) rotateX(62deg) rotateZ(360deg)}}@keyframes pulse{50%{transform:scale(1.25);filter:drop-shadow(0 0 42px #45dfff)}}@keyframes scan{50%{transform:translateY(100px);opacity:.1}}@media(max-width:850px){.topbar{gap:12px;padding:0 15px}.topbar nav{overflow:auto}.topbar nav button{padding:9px 8px;white-space:nowrap;font-size:12px}.top-progress{display:none}.hero{grid-template-columns:1fr;min-height:auto;padding:55px 0 20px}.hero-art{height:280px;grid-row:1}.portal{width:min(62vw,280px)}.grid{grid-template-columns:repeat(2,1fr)}.chapter-head{grid-template-columns:1fr}.scene{height:220px}}@media(max-width:560px){.topbar{height:auto;min-height:68px;flex-wrap:wrap;padding:10px 15px}.brand{flex:1}.topbar nav{order:2;flex-basis:100%;justify-content:space-between}.topbar nav button{font-size:11px;padding:8px 6px}.page{padding:38px 17px 65px}.grid,.options,.story-grid{grid-template-columns:1fr}.hero-art{height:235px}.hero h1{letter-spacing:-1px}.lead{font-size:15px}.era-card{min-height:220px}.section-head{align-items:start;flex-direction:column}.record-row{grid-template-columns:76px 1fr}.record-row .status{grid-column:2}.timeline{gap:1px}.timeline button{font-size:9px}.task-panel{padding:18px}.scene{height:190px}.dialogue{padding:15px}.actions .btn{flex:1}}


/* 评审首次路线与首页时间线 */
.home-intro{max-width:620px;font-size:1.06rem;line-height:1.8;color:#c5d5e8}.home-note{margin-top:16px;color:#95aac4;font-size:.85rem}.home-page .hero{align-items:center;gap:clamp(28px,6vw,86px)}.home-page .hero-copy{max-width:720px}.home-page .hero-art{min-height:390px}.home-page .hero-art .holo-label{max-width:90%;font-size:.65rem;letter-spacing:.08em}.review-principle{display:flex;align-items:center;gap:18px;margin:14px 0 40px;padding:17px 20px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(100deg,rgba(14,32,56,.82),rgba(9,19,37,.66))}.review-principle .eyebrow{white-space:nowrap}.review-principle strong{font-size:1.02rem;letter-spacing:.03em}.review-principle>span:last-child{margin-left:auto;color:var(--muted);font-size:.82rem}.home-timeline{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.home-era{min-width:0;display:flex;flex-direction:column;gap:7px;text-align:left;padding:16px 14px;border:1px solid rgba(120,189,228,.2);border-radius:14px;background:linear-gradient(145deg,rgba(16,31,53,.87),rgba(7,15,29,.92));color:var(--text);cursor:pointer;transition:transform .18s,border-color .18s,background .18s}.home-era:hover,.home-era:focus-visible{transform:translateY(-3px);border-color:var(--cyan);outline:none}.home-era b{font-size:1.2rem;color:var(--cyan)}.home-era span,.home-era small,.home-era em{color:var(--muted);font-size:.78rem;font-style:normal}.home-era strong{font-size:.96rem}.home-era.done{border-color:#f5cf8370}.home-era.done b{color:var(--gold)}.home-era.active{border-color:#63e8ff66}.home-dialogue{margin-top:30px}.review-inline{position:relative;z-index:1;display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 auto 20px;padding:13px 16px;border:1px solid #77d8ff55;border-radius:13px;background:#09172bed;color:#deefff}.review-inline>span:nth-child(2){flex:1;min-width:230px}.review-inline .eyebrow{color:var(--cyan)}.fallback-notice{margin:18px auto;padding:16px 18px;max-width:1100px;border:1px solid #f5cf8366;border-radius:13px;background:#211b13;color:#f5e2ba}.fallback-notice p{margin:7px 0 0;line-height:1.65}.save-status{position:fixed;z-index:20;right:18px;bottom:18px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;max-width:min(580px,calc(100vw - 36px));padding:13px 15px;border:1px solid #81f2c466;border-radius:13px;background:#071a19f2;color:#e7fff6;box-shadow:0 12px 36px #0008}.save-status[hidden]{display:none!important}.save-status.failed{border-color:#ffbd7588;background:#23180ef5;color:#fff1dc}.save-status span{width:100%;font-size:.88rem;color:#d9c7ac}.save-status .btn{padding:8px 11px;font-size:.82rem}.review-guide{position:absolute;z-index:5;left:clamp(16px,4vw,48px);bottom:62px;width:min(360px,calc(100% - 32px));padding:17px;border:1px solid #7bdcff55;border-radius:15px;background:#08162bef;box-shadow:0 18px 52px #0008;backdrop-filter:blur(15px)}.review-guide[hidden]{display:none!important}.review-guide strong{display:block;font-size:1.05rem;margin:8px 0}.review-guide p{margin:0 0 12px;color:#b7c9dc;line-height:1.7;font-size:.9rem}.review-guide-head{display:flex;align-items:center;justify-content:space-between}.guide-progress{margin-top:12px;color:#8299b3;font-size:.75rem}.review-guide .btn{font-size:.85rem;padding:9px 12px}
@media(max-width:850px){.home-timeline{grid-template-columns:repeat(3,minmax(0,1fr))}.review-principle{align-items:flex-start;flex-direction:column;gap:8px}.review-principle>span:last-child{margin-left:0}}
@media(max-width:600px){.home-page .hero{gap:20px}.home-page .hero-art{min-height:260px}.home-timeline{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.home-era{padding:13px 11px}.home-era strong{font-size:.9rem}.review-inline{align-items:flex-start;gap:9px}.review-inline>span:nth-child(2){min-width:100%}.save-status{left:12px;right:12px;bottom:12px;max-width:none;font-size:.85rem}.review-guide{left:12px;right:12px;bottom:112px;width:auto;padding:14px}}

.home-prologue{max-width:680px;margin-top:18px;padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:rgba(8,20,38,.62);color:#bacbe0}.home-prologue summary{cursor:pointer;color:#d8e8f7}.home-prologue p{font-size:.9rem;line-height:1.75;margin:12px 0 0}

/* 提交前交互状态与克制的归档动效 */
:where(button,a,input,summary,[tabindex]):focus-visible{outline:2px solid #a7e9ff;outline-offset:3px}button:disabled,.btn[aria-disabled="true"]{opacity:.48;cursor:not-allowed;transform:none;box-shadow:none}.era-card .btn{min-height:44px}.archive-record,.evidence-card,.answer,.feedback{animation:archive-arrive .28s ease-out both}@keyframes archive-arrive{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.portal,.portal-core,.scan{animation:none!important}}

/* 手机端详情抽屉、长文本换行与触控目标 */
@media(max-width:760px){.modal-backdrop{padding:0;place-items:end stretch;align-items:end}.modal{width:100%;max-height:94vh;max-height:94dvh;border-radius:18px 18px 0 0;padding:18px 16px calc(22px + env(safe-area-inset-bottom));overscroll-behavior:contain}.modal-head{gap:10px;align-items:flex-start}.modal-head>div{min-width:0;flex:1}.modal-head>.close{flex:none;min-height:42px}.modal h2{font-size:clamp(22px,6vw,30px);overflow-wrap:anywhere}.task-reference,.feedback,.archive-record,.evidence-card,.record-row{min-width:0;overflow-wrap:anywhere}.record-row{grid-template-columns:minmax(62px,76px) minmax(0,1fr) auto}.record-row>*{min-width:0}.topbar nav{min-width:0;scrollbar-width:none;overscroll-behavior-x:contain}.topbar nav::-webkit-scrollbar{display:none}.topbar nav button{min-height:40px}.btn,.quiet,.close,.quiz-option{touch-action:manipulation}}
@media(max-width:420px){.modal-backdrop{padding:0}.modal{max-height:96vh;max-height:96dvh;padding:16px 13px calc(18px + env(safe-area-inset-bottom));border-radius:15px 15px 0 0}.modal-head{gap:7px}.modal-head>.close{padding:8px 10px;white-space:nowrap}.page{min-width:0}.home-era{overflow-wrap:anywhere}.topbar nav{gap:2px}.topbar nav button{padding:7px 5px;font-size:10px}}

@media(max-width:760px){.modal-backdrop{display:flex;align-items:flex-end;justify-content:stretch}.modal{margin:0 auto;width:100%;max-height:94vh;max-height:94dvh;border-radius:18px 18px 0 0}.modal-head{width:100%}.modal-head>div{max-width:100%;overflow-wrap:anywhere}.modal-head>.close{min-height:44px;flex:none}.modal .exhibit-content,.modal .exhibit-body{min-width:0;max-width:100%;overflow-wrap:anywhere}.record-row{grid-template-columns:minmax(60px,76px) minmax(0,1fr)}.record-row .status{grid-column:2;justify-self:start}}
@media(max-width:420px){.modal{max-height:96vh;max-height:96dvh;border-radius:15px 15px 0 0}.modal-backdrop{padding-top:4dvh}.topbar nav{justify-content:flex-start;scroll-snap-type:x proximity}.topbar nav button{scroll-snap-align:start}}

/* 通信简史：从1G到6G · 搜索、档案与快速答题 */
.route-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 21px;margin:18px 0 30px}.route-summary h3{margin:7px 0}.route-summary p{margin:0}.archive-exhibit,.archive-source-card{padding:18px;min-width:0}.archive-exhibit h3,.archive-source-card h3{margin:9px 0}.archive-exhibit p,.archive-source-card p{line-height:1.7;color:#bdcbe0}.archive-exhibit-grid{margin-bottom:20px}.archive-voice-summary{margin:26px 0;padding:18px 20px;border-left:2px solid var(--gold);border-radius:0 12px 12px 0;background:rgba(234,203,130,.07)}.archive-voice-summary p{margin:8px 0 0;color:#c7d5e4;line-height:1.75}.knowledge-search-panel{padding:clamp(17px,3vw,28px);margin:22px 0}.knowledge-search-panel>label,.knowledge-search-filters label{display:grid;gap:8px;color:#cddbec;font-size:.88rem}.knowledge-search-panel input,.knowledge-search-panel select{width:100%;min-width:0;min-height:46px;padding:10px 13px;border:1px solid #7892ad55;border-radius:10px;background:#081426;color:var(--text);font:inherit}.knowledge-search-panel input:focus-visible,.knowledge-search-panel select:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.knowledge-search-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:13px}.knowledge-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.knowledge-result{min-width:0;padding:16px;border:1px solid var(--line);border-radius:13px;background:rgba(6,17,33,.78)}.knowledge-result h3{margin:10px 0 7px;font-size:1.05rem;overflow-wrap:anywhere}.knowledge-result p{color:#b7c8da;font-size:.88rem;line-height:1.65;overflow-wrap:anywhere}.knowledge-result-meta{display:flex;flex-wrap:wrap;gap:7px;align-items:center;color:#91a6bf;font-size:.73rem}.knowledge-result .btn{min-height:42px;padding:9px 12px;font-size:.82rem}.knowledge-search-notice{min-height:1.5em;margin:10px 0 0;color:var(--gold)}.knowledge-challenge-entry{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:24px 0;padding:19px 21px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(120deg,#112540b0,#0a1427b0)}.knowledge-challenge-entry h3{margin:6px 0}.knowledge-challenge-entry p{margin:0}.quiz-option.quiz-correct,.quiz-option.quiz-correct:hover{border-color:#6bdfa9;background:rgba(32,135,87,.2);color:#c9ffdf}.quiz-option.quiz-correct span{border-color:#6bdfa9;color:#a5f1c4}.quiz-option.quiz-wrong,.quiz-option.quiz-wrong:hover{border-color:#ff817a;background:rgba(160,47,53,.23);color:#ffe2df}.quiz-option.quiz-wrong span{border-color:#ff817a;color:#ffaaa4}.quiz-quick-feedback{display:inline-flex;align-items:center;min-height:38px;margin:3px 10px 9px 0;padding:8px 12px;border:1px solid currentColor;border-radius:999px;font-size:.84rem}.quiz-quick-feedback.is-correct{color:#9be7bd;background:#49ce8e12}.quiz-quick-feedback.is-wrong{color:#ffaaa4;background:#e14e5712}.quiz-auto-note{display:inline-block;color:#94a8c0;font-size:.78rem;margin-left:10px}.quiz-review{margin-top:20px}
@media(max-width:650px){.route-summary,.knowledge-challenge-entry{align-items:stretch;flex-direction:column}.route-summary .btn,.knowledge-challenge-entry .btn{width:100%;min-height:44px}.knowledge-search-filters,.knowledge-results{grid-template-columns:minmax(0,1fr)}.knowledge-result{padding:14px}.quiz-auto-note{display:block;margin:5px 0}.archive-exhibit,.archive-source-card{padding:15px}}

/* 澜序章与可恢复的穿越状态 */
.prologue-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(250px,.75fr);gap:clamp(24px,6vw,72px);align-items:center;min-height:65vh}.prologue-art{position:relative;display:grid;justify-items:center;align-content:center;min-height:430px;overflow:hidden;border:1px solid #72c8dc26;border-radius:22px;background:radial-gradient(ellipse at 50% 45%,#17304d 0,#0a172b 52%,#07101f 100%)}.prologue-art .portal{position:absolute;width:min(70%,290px);opacity:.58}.prologue-art img{position:relative;z-index:1;width:min(88%,380px);max-height:430px;object-fit:contain;filter:drop-shadow(0 14px 30px #0009)}.prologue-art>span,.prologue-art>small{position:relative;z-index:2;margin-top:8px;color:#d8e6f3}.prologue-art>small{color:#9aadc4;font-size:.76rem}.prologue-page .lead{max-width:740px}.transit-page{text-align:center;min-height:72vh;padding-top:12vh}.transit-page .portal{margin:40px auto;width:min(240px,62vw)}.transit-message .portal{position:relative;margin:18px auto;width:128px;height:90px}.transit-failure{max-height:min(78vh,620px);overflow:auto}.transit-failure .actions{justify-content:center}.gallery-status .transit-message h2,.gallery-status .transit-failure h2{margin:.5rem 0;font-size:1.35rem}.gallery-status .btn{min-height:42px}@media(max-width:760px){.prologue-grid{grid-template-columns:1fr;min-height:0}.prologue-art{grid-row:1;min-height:310px;max-height:420px}.prologue-art img{max-height:300px}.prologue-page .page{padding-top:24px}.transit-page{padding-top:8vh;min-height:65vh}}

/* 比赛演示路线选择 */
.demo-route-links{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:10px 0;padding:9px 10px;border:1px solid #ffffff12;border-radius:10px;background:#ffffff06}.demo-route-links>span{width:100%;font-size:.72rem;color:#93a9c2}.demo-route-links .quiet{padding:5px 8px;border:1px solid #70cfff2a;border-radius:7px}.demo-route-backdrop{position:fixed;inset:0;z-index:110;display:grid;place-items:center;padding:18px;background:#020713d9;backdrop-filter:blur(8px)}.demo-route-modal{position:relative;width:min(720px,100%);max-height:90vh;max-height:90dvh;overflow:auto;padding:28px;border:1px solid #66dfff55;border-radius:18px;background:#0b172b;box-shadow:0 22px 80px #000a}.demo-route-modal>p{color:#b8c9dc;line-height:1.7}.demo-route-close{position:absolute;right:18px;top:18px}.demo-route-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.demo-route-mode-grid .btn{display:flex;min-height:68px;flex-direction:column;align-items:flex-start;gap:5px}.demo-route-mode-grid .btn span{font-size:.76rem;font-weight:400;color:#b5c7dc}.demo-route-editor{padding:17px;border:1px solid #ffffff14;border-radius:13px;background:#ffffff05}.demo-route-editor .section-head{align-items:center;flex-direction:row}.demo-route-editor h3{margin:0}.demo-route-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:13px 0}.demo-route-choice{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid #ffffff18;border-radius:9px;background:#071426;cursor:pointer}.demo-route-choice input{accent-color:#70d8ef;width:18px;height:18px}.demo-route-choice span,.demo-route-choice small{display:block}.demo-route-choice small{margin-top:2px;color:#94a8bd;font-size:.72rem}.demo-route-editor>.btn{min-height:44px}
@media(max-width:650px){.demo-route-backdrop{padding:0;align-items:end}.demo-route-modal{max-height:95vh;max-height:95dvh;border-radius:18px 18px 0 0;padding:22px 16px calc(22px + env(safe-area-inset-bottom))}.demo-route-mode-grid{grid-template-columns:1fr}.demo-route-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.demo-route-editor .section-head{align-items:flex-start;flex-direction:column}}

/* 通信简史知识问答 */
.quiz-options{display:grid;gap:10px;margin:20px 0}.quiz-option{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;text-align:left;color:var(--text,#eaf3ff);background:rgba(8,20,38,.72);border:1px solid rgba(125,170,220,.22);border-radius:12px;cursor:pointer}.quiz-option span{display:grid;place-items:center;flex:none;width:28px;height:28px;border:1px solid rgba(125,210,255,.38);border-radius:50%;color:var(--cyan,#72dfff);font-size:.82rem}.quiz-option:hover,.quiz-option.selected{border-color:var(--cyan,#72dfff);background:rgba(40,121,160,.18)}.quiz-option:disabled{cursor:default;opacity:.78}.quiz-option:focus-visible,.quiz-record button:focus-visible{outline:2px solid var(--cyan,#72dfff);outline-offset:2px}.quiz-records{margin-top:28px}.quiz-record{display:grid;grid-template-columns:minmax(160px,1.5fr) minmax(90px,.7fr) minmax(100px,.7fr) auto;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid rgba(135,177,220,.16)}.quiz-record strong{color:var(--gold,#f0c778)}.quiz-perfect{display:grid;gap:8px;padding:16px;margin:16px 0;border:1px solid rgba(237,196,112,.5);border-radius:12px;background:rgba(181,130,45,.1)}.quiz-perfect b{color:var(--gold,#f0c778)}.quiz-perfect span{font-size:.9rem;color:var(--gold,#f0c778)}.quiz-review{display:grid;gap:10px;margin:22px 0}.quiz-review article{padding:14px;border-left:2px solid rgba(90,190,220,.5);background:rgba(10,22,39,.45)}.quiz-review p,.quiz-review small{display:block;margin:.5em 0;color:var(--muted,#aabbd0)}.storage-note{color:var(--gold,#f0c778);font-size:.9rem}@media(max-width:650px){.quiz-record{grid-template-columns:1fr auto;gap:6px}.quiz-record>span:first-child{grid-column:1/-1}.quiz-record button{grid-column:1/-1;justify-self:start}.quiz-option{padding:13px 12px}}
.experience-node-list{display:grid;gap:.8rem;margin:1rem 0}.experience-node{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid var(--line,rgba(148,190,220,.2));border-radius:14px;background:rgba(9,20,38,.62)}.experience-node h4,.experience-node p{margin:.35rem 0}.experience-node.completed{border-color:rgba(100,210,190,.45)}@media(max-width:640px){.experience-node{align-items:stretch;flex-direction:column}.experience-node .btn{width:100%;min-height:44px}}

/* 比赛演示与启动健康检查 */
.demo-guide{position:fixed;z-index:110;right:clamp(14px,3vw,34px);bottom:clamp(14px,3vh,28px);width:min(370px,calc(100vw - 28px));padding:17px 18px;border:1px solid rgba(110,205,240,.34);border-radius:16px;background:rgba(5,15,31,.94);box-shadow:0 18px 55px #0008,0 0 28px rgba(57,170,220,.08);backdrop-filter:blur(16px)}.demo-guide[hidden]{display:none}.demo-guide-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.demo-guide-top .eyebrow{font-size:9px;letter-spacing:1.5px}.demo-close,.health-close{border:0;background:transparent;color:#aebed0;font-size:.85rem;cursor:pointer;padding:6px}.demo-guide>strong{font-size:1.05rem;color:#fff}.demo-guide p{margin:7px 0 12px;color:#b9c8da;font-size:.86rem;line-height:1.6}.demo-guide .demo-guide-message{margin:0 0 10px;padding:8px 10px;border-left:2px solid var(--gold);background:#f4c86a12;color:#f2dba8}.demo-guide-actions{display:flex;flex-wrap:wrap;gap:8px}.demo-guide-actions .btn{min-height:40px;padding:9px 12px;font-size:.83rem}.demo-guide>small{display:block;margin-top:10px;color:#869ab2;font-size:.72rem}.health-badge{position:fixed;z-index:29;right:clamp(14px,3vw,34px);top:88px;padding:8px 12px;border:1px solid rgba(112,199,230,.25);border-radius:999px;background:rgba(7,20,39,.88);color:#b9d7e9;font-size:.76rem;cursor:pointer;backdrop-filter:blur(10px)}.health-badge:hover,.health-badge:focus-visible{border-color:var(--cyan);outline:2px solid transparent}.health-badge.has-warning{color:#f1d59a;border-color:#c6a35a66}.health-panel{position:fixed;z-index:110;right:clamp(14px,3vw,34px);top:130px;width:min(430px,calc(100vw - 28px));max-height:min(72vh,680px);overflow:auto;padding:19px;border:1px solid rgba(112,199,230,.3);border-radius:16px;background:rgba(5,14,29,.97);box-shadow:0 22px 70px #0009;backdrop-filter:blur(18px)}.health-panel[hidden]{display:none}.health-panel-head{display:flex;justify-content:space-between;gap:14px}.health-panel h2{font-size:1.35rem;margin:7px 0}.health-panel-head p{color:#aabbd0;font-size:.85rem;line-height:1.5;margin-bottom:12px}.health-panel ul{list-style:none;padding:0;margin:0;display:grid;gap:7px}.health-panel li{display:grid;grid-template-columns:22px 1fr;gap:9px;padding:9px;border-radius:9px;background:#ffffff07}.health-panel li>b{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#58d3b21f;color:#86e5ca;font-size:.75rem}.health-panel li.note>b,.health-panel li.warning>b{background:#e5bd571b;color:#f0d18a}.health-panel li strong,.health-panel li small{display:block}.health-panel li strong{font-size:.84rem}.health-panel li small{margin-top:2px;color:#9aacc2;font-size:.74rem;line-height:1.45}.health-actions{display:flex;align-items:center;gap:12px;margin-top:13px}.health-actions .btn{min-height:38px;padding:8px 11px}.demo-final-note{max-width:1140px;margin:18px auto 0;padding:13px 16px;border-left:2px solid var(--gold);background:rgba(181,130,45,.1);color:#d8c69d;display:flex;flex-direction:column;gap:4px}.demo-final-note span{font-size:.86rem;line-height:1.55}@media(max-width:650px){.demo-guide{left:12px;right:12px;bottom:12px;width:auto;padding:14px;border-radius:15px}.demo-guide-actions{display:grid;grid-template-columns:1fr 1fr}.demo-guide-actions .btn{min-height:44px}.health-badge{top:84px;bottom:auto;right:12px;font-size:.7rem}.health-panel{top:auto;right:12px;bottom:82px;width:calc(100vw - 24px);max-height:70vh;padding:15px}.demo-final-note{margin:12px}}

.era-task-state{display:flex;gap:7px;align-items:center;margin:8px 0;color:#d3e3f3;font-size:.78rem;line-height:1.4}.era-task-state span{color:var(--gold);font-size:.68rem;letter-spacing:.04em}.era-card .era-task-state{min-height:1.3em}
.knowledge-result-context{display:grid;gap:5px;margin:12px 0 16px;padding:11px 13px;border-left:2px solid #5aa8c7;border-radius:0 9px 9px 0;background:#ffffff06;color:#aebfd2;font-size:.78rem;line-height:1.55}.knowledge-result-context p{margin:0}.knowledge-result-context b{color:#d9e9f7}.final-achievement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:820px;margin:26px auto}.final-achievement-grid article{display:grid;gap:6px;min-width:0;padding:17px 12px;border:1px solid #93cce333;border-radius:14px;background:linear-gradient(145deg,#102139cc,#11182bcc);text-align:center}.final-achievement-grid strong{color:#d4c08d;font-size:1.8rem;font-variant-numeric:tabular-nums}.final-achievement-grid span{color:#ecf4fc;font-weight:650}.final-achievement-grid small{color:#9eb1c7;overflow-wrap:anywhere}.demo-restore{border-color:#79bac655!important}.demo-guide-meta b{font-variant-numeric:tabular-nums;color:#f1d38c}@media(max-width:620px){.final-achievement-grid{grid-template-columns:1fr;gap:8px}.final-achievement-grid article{grid-template-columns:48px 1fr;text-align:left;align-items:center;padding:12px}.final-achievement-grid strong{grid-row:span 2}.final-achievement-grid small{grid-column:2}.knowledge-result-context{font-size:.74rem}}

.home-primary-actions{align-items:center;margin:22px 0 10px}.home-primary-actions .home-primary{min-width:min(280px,100%);min-height:58px;font-size:1.08rem;letter-spacing:.02em}.era-lock-reason{position:relative;margin:9px 0 10px;padding:8px 10px;border-left:2px solid var(--gold);border-radius:0 8px 8px 0;background:#f5cf830d;color:#e8d6ad;font-size:.78rem;line-height:1.55}.era-card .btn:disabled{cursor:not-allowed;opacity:.68;transform:none}

.home-page .build-version{margin:-8px 0 14px;color:#8297b1;font:10px 'IBM Plex Mono',monospace;letter-spacing:.06em;max-width:100%;overflow-wrap:anywhere}

/* Keep the 6G research pages calm and readable; the decorative field is not a 3D scene. */


body[data-current-era="6G"] .stars{opacity:0}
#mobileNavToggle{display:none}
.knowledge-search-form{display:grid;gap:8px}
.knowledge-search-input-row{display:flex;gap:8px;align-items:stretch}
.knowledge-search-input-row input{flex:1 1 auto;min-width:0}
.knowledge-search-input-row .btn{flex:0 0 auto;min-height:46px}
.knowledge-suggestions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.knowledge-suggestion{min-height:40px;padding:8px 11px;border:1px solid #6aa6bd55;border-radius:999px;background:#0b1c31;color:#cce4f1;cursor:pointer}
.knowledge-suggestion:hover,.knowledge-suggestion:focus-visible{border-color:var(--cyan);color:#fff;outline:2px solid transparent}
.knowledge-result mark{padding:0 .08em;border-radius:3px;background:#f5cf83;color:#182334;font-weight:700}
.knowledge-match-reason{margin:10px 0;color:#a9c5d8;font-size:.82rem;line-height:1.55}
.knowledge-match-reason b{color:#d4e7f3}
.knowledge-pagination{display:flex;align-items:center;justify-content:center;gap:10px;grid-column:1/-1;margin:8px 0}
.knowledge-pagination>.btn{min-height:40px;padding:8px 12px}
.knowledge-page-list{display:flex;align-items:center;gap:3px}
.knowledge-page-list button{min-width:40px;min-height:40px;padding:6px}
.knowledge-page-list button[aria-current="page"]{border:1px solid var(--cyan);color:#fff;background:#17314a}
.knowledge-page-status{color:var(--muted);font-size:.82rem;white-space:nowrap}
/* Keep the close control separate from full-width modal reading content. */
.modal-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
}
.modal-head > div {
  grid-column: 1;
  grid-row: 2;
  min-width: 0;
  max-width: 100%;
}
.modal-head > .close {
  grid-column: 1;
  grid-row: 1;
  justify-self: end;
  align-self: start;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  min-width: 76px;
  min-height: 44px;
  max-width: 100%;
  white-space: nowrap;
  writing-mode: horizontal-tb;
  overflow-wrap: normal;
  word-break: normal;
  line-height: 1.25;
}
