:root{--ink:#18342d;--deep:#102b25;--paper:#e8dec2;--cream:#f8f1df;--verm:#b84c36;--gold:#bd922f;--river:#407d8f;--muted:#657269;--serif:"Songti SC","STSong",SimSun,serif;--sans:"PingFang SC","Microsoft YaHei",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--deep);font-family:var(--sans);color:var(--ink);overflow:hidden}button{font:inherit;cursor:pointer}.topbar{position:fixed;top:0;z-index:20;width:100%;height:72px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(#132e27ee,#132e2700);color:var(--cream)}.wordmark{border:0;background:0;color:inherit;font:600 27px var(--serif);letter-spacing:5px;text-align:left}.wordmark span{display:block;font:8px var(--sans);letter-spacing:2px;margin-top:2px;color:#a6b9a4}.topbar>p{font:12px var(--serif);letter-spacing:2px;color:#e1c778}.topbar div{display:flex;gap:8px}.topbar div button{background:#f8f1df15;border:1px solid #f8f1df44;color:var(--cream);padding:7px 10px;font-size:12px}.topbar b{display:inline-grid;place-items:center;margin-left:4px;width:16px;height:16px;border-radius:50%;background:var(--verm);color:white;font-size:10px}.atlas{height:calc(100vh - 105px);min-height:580px;position:relative}.paper-map{position:absolute;inset:0;background:#d9c99e url('../assets/illustrations/tang-atlas.webp') center/cover no-repeat;filter:saturate(.78) contrast(.96);overflow:hidden}.paper-map:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f8f1dfd9 0%,transparent 40%,#14362d15 70%,#122a24aa 100%),radial-gradient(ellipse at 44% 48%,transparent 20%,#53391f30 100%);pointer-events:none}.map-title{position:absolute;z-index:2;top:106px;left:5.5%;color:#19342c}.map-title p{font-size:11px;letter-spacing:2px;margin:0}.map-title h1{font:600 clamp(38px,5vw,67px)/1 var(--serif);margin:9px 0 4px}.map-title span{font:14px var(--serif);color:#745a31}.era-card{position:absolute;z-index:4;right:4.5%;top:116px;width:315px;background:#f8f1dfe8;padding:20px 22px 18px;box-shadow:9px 9px 0 #173c3070}.eyebrow{color:var(--verm);font-size:10px;letter-spacing:2px;font-weight:700;margin:0 0 8px}.era-card h2{font:600 26px/1.2 var(--serif);margin:0}.era-card>p:not(.eyebrow){font:14px/1.7 var(--serif);margin:10px 0 16px}.era-card dl{border-top:1px solid #b9ad8e;display:flex;margin:0 0 16px;padding-top:11px}.era-card dl div{width:50%;padding-right:8px}.era-card dt{font-size:10px;color:var(--muted)}.era-card dd{font:600 14px var(--serif);margin:4px 0}.primary{background:var(--verm);color:white;border:0;padding:12px 13px;font-weight:700;font-size:13px;width:100%;display:flex;justify-content:space-between;align-items:center}.primary span{font-size:19px}.timeline{position:fixed;z-index:15;left:0;bottom:0;width:100%;height:105px;display:flex;align-items:stretch;overflow:auto;background:#102b25;padding:12px 3.5%}.timeline button{min-width:112px;flex:1;border:0;border-left:1px solid #f8f1df2b;background:transparent;color:#aebbad;padding:8px;text-align:left}.timeline button.on{color:#f5df98;background:#f8f1df12}.timeline strong{display:block;font:600 18px var(--serif);letter-spacing:2px}.timeline span{display:block;font-size:10px;margin-top:5px}.map-element{position:absolute;z-index:5;border:0;background:transparent;color:#16362e;transform:translate(-50%,-50%);text-align:center;transition:.2s}.map-element .dot{display:grid;place-items:center;width:32px;height:32px;margin:auto;border-radius:50%;background:#f9edc8;border:2px solid currentColor;box-shadow:0 3px 8px #2c382755;font-size:11px;font-weight:800}.map-element.city{color:var(--verm)}.map-element.route .dot{width:12px;height:12px;background:var(--gold);font-size:0;border:0}.map-element.route:before{content:"";position:absolute;right:50%;top:6px;width:85px;border-top:2px dashed var(--gold);transform-origin:right;transform:rotate(-20deg);z-index:-1}.map-element label{display:block;background:#f8f1dfc9;font:600 13px var(--serif);padding:2px 5px;margin-top:3px;white-space:nowrap}.map-element:hover,.map-element.active{transform:translate(-50%,-50%) scale(1.12)}.map-legend,.map-note{position:absolute;z-index:5;bottom:128px;left:5.5%;font-size:10px;color:#2c5145;background:#f8f1dfbb;padding:6px 8px}.map-legend i,.map-legend em{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--verm);margin-right:4px}.map-legend em{background:var(--gold);margin-left:12px}.map-note{bottom:98px;font-size:9px;color:#59665d}.story-drawer{position:fixed;z-index:40;right:0;top:0;width:min(430px,100vw);height:100%;background:var(--cream);padding:90px 30px 28px;box-shadow:-12px 0 35px #071d18aa;overflow:auto}.hidden{display:none!important}.close{position:absolute;right:20px;top:20px;width:34px;height:34px;border:1px solid #8d917d;background:transparent;color:var(--ink);font-size:25px}.story-drawer h2{font:600 36px/1.1 var(--serif);margin:0}.story-kicker{font:15px/1.65 var(--serif);color:#6e5532}.story-drawer article{font:16px/1.85 var(--serif);border-top:1px solid #c8b994;padding-top:14px}.story-links{margin-top:22px;padding:13px;background:#e7d9b5}.story-links>span{font-size:11px;color:var(--muted);font-weight:700}.story-links div{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.story-links button{border:1px solid #a8976d;background:#f8f1df;padding:5px 7px;font-size:11px}.story-drawer footer{border-top:1px solid #c8b994;margin-top:20px;padding-top:14px;display:flex;justify-content:space-between;gap:15px;align-items:center}.story-drawer small{font-size:9px;color:var(--muted);line-height:1.4}.collect{border:1px solid var(--verm);color:var(--verm);background:transparent;padding:8px;white-space:nowrap;font-size:12px}.overlay{position:fixed;z-index:50;inset:0;background:#14362df5;color:var(--cream);overflow:auto;padding:calc(82px + env(safe-area-inset-top)) max(8vw,25px) 48px}.overlay .close{color:var(--cream);border-color:#f8f1df77}.overlay h2{font:600 clamp(33px,5vw,57px)/1.15 var(--serif);margin:0 0 30px}.overlay .eyebrow{color:#e5c75e}.question-card{max-width:720px;border-top:1px solid #f8f1df4d;padding:17px 0;display:grid;grid-template-columns:1fr auto;gap:15px}.question-card h3{font:600 23px var(--serif);margin:0}.question-card p{font:14px/1.65 var(--serif);color:#cbd8c8;margin:6px 0}.question-card button{border:1px solid #e3c761;background:transparent;color:#f6e6a7;padding:8px 10px;font-size:12px;align-self:center}.collection-list{max-width:820px;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.collect-card{padding:15px;background:#f8f1df;color:var(--ink);min-height:130px}.collect-card p{font:11px;color:var(--verm);font-weight:700}.collect-card h3{font:600 20px var(--serif);margin:7px 0}.collect-card span{font:12px/1.5 var(--serif);color:#526159}.collection-list .empty{font:16px var(--serif);color:#c7d4c5}.overlay .primary{max-width:280px;margin-top:24px}#toast{position:fixed;z-index:100;bottom:122px;left:50%;transform:translateX(-50%) translateY(14px);background:#102b25;color:white;padding:10px 15px;font-size:12px;opacity:0;transition:.2s}#toast.show{opacity:1;transform:translateX(-50%)}@media(max-width:760px){body{overflow:auto}.topbar{height:59px;padding:0 14px}.wordmark{font-size:20px}.topbar>p{display:none}.topbar div button:first-child{display:none}.atlas{height:calc(100vh - 88px);min-height:620px}.paper-map{background-position:center top}.map-title{top:77px;left:18px}.map-title h1{font-size:37px}.era-card{top:auto;right:12px;left:12px;bottom:13px;width:auto;padding:14px 16px}.era-card h2{font-size:21px}.era-card>p:not(.eyebrow){font-size:12px;margin:5px 0 9px}.era-card dl{margin-bottom:10px;padding-top:7px}.era-card dd{font-size:12px}.era-card .primary{padding:9px 10px}.timeline{height:88px;padding:7px 0}.timeline button{min-width:78px;padding:6px}.timeline strong{font-size:14px}.timeline span{font-size:8px}.map-legend{left:12px;bottom:265px}.map-note{display:none}.map-element label{font-size:10px}.map-element .dot{width:26px;height:26px}.story-drawer{padding:70px 22px 22px}.story-drawer h2{font-size:31px}.overlay{padding:75px 20px 35px}.question-card{grid-template-columns:1fr}.question-card button{justify-self:start}}
#atlas-canvas{display:none}.paper-map{background:#d9c99e url('../assets/illustrations/tang-atlas.webp') center/cover no-repeat!important;filter:saturate(.78) contrast(.96)!important}.paper-map:after{z-index:1}.paper-map>*:not(#atlas-canvas){z-index:2}@media(max-width:760px){.topbar div button:first-child{display:block!important}.paper-map{background-size:contain!important;background-position:center center!important}}
.story-visual{margin:16px 0 18px;border:1px solid #b8a475;background:#d6c696}.story-visual img{display:block;width:100%;height:205px;object-fit:cover}.story-visual figcaption{padding:7px 9px;color:#665c49;font:10px/1.55 var(--sans)}.chapter-context{margin-top:20px}.chapter-progress{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:11px 12px;background:#173c30;color:#f7ead0;font:12px/1.45 var(--serif)}.chapter-progress span{flex:1;min-width:180px}.chapter-progress b{color:#e7c85f;font:11px var(--sans)}.chapter-progress button{width:100%;border:1px solid #e6c765;background:transparent;color:#f8e5a7;padding:7px;text-align:left;font:12px var(--serif)}.chapter-context>.eyebrow{margin:17px 0 8px}.chapter-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.chapter-card{min-height:126px;text-align:left;padding:9px;border:1px solid #c5b17b;background:#f3e7c8;color:var(--ink)}.chapter-card:hover{background:#ead6a1}.chapter-card i{display:inline-grid;place-items:center;width:24px;height:24px;margin-right:5px;background:var(--verm);color:#fff;font:14px var(--serif);font-style:normal}.chapter-card span{font-size:9px;color:#857049}.chapter-card strong{display:block;margin:7px 0 4px;font:600 16px var(--serif)}.chapter-card small{display:block;color:#59665d;font:11px/1.45 var(--serif)}@media(max-width:760px){.story-visual img{height:180px}.chapter-card-grid{grid-template-columns:1fr}.chapter-card{min-height:auto}.chapter-progress{font-size:11px}}
.evidence-detail{margin-top:14px;padding:16px;border:1px solid #bca66e;border-left:5px solid var(--verm);background:#f4e7c7}.evidence-detail .eyebrow{margin-bottom:5px}.evidence-detail h3{margin:0;font:600 23px var(--serif)}.evidence-detail p:not(.eyebrow){margin:9px 0;font:14px/1.75 var(--serif)}.evidence-detail small{display:block;color:#657269;font-size:10px}.evidence-detail a{display:inline-block;margin-top:8px;color:#8d392c;font-size:12px;font-weight:700}
.chapter-card em{display:block;margin-top:9px;color:#9c3e2d;font:700 10px var(--sans);font-style:normal}.evidence-detail .detail-lead{font-size:15px!important;color:#344b43}.detail-sections{margin:14px 0 12px}.detail-sections div{padding:11px 0;border-top:1px solid #cbb98e}.detail-sections dt{margin-bottom:5px;color:#a13e2c;font:700 11px var(--sans);letter-spacing:1px}.detail-sections dd{margin:0;color:#243e35;font:14px/1.75 var(--serif)}
.path-progress{display:block;padding:12px}.path-head{display:flex;align-items:center;gap:8px}.path-head span{flex:1}.path-steps{display:grid;grid-template-columns:repeat(var(--step-count,6),minmax(0,1fr));gap:3px;margin:12px 0 10px;padding:0;list-style:none}.path-steps li{position:relative;min-width:0}.chapter-progress .path-step{position:relative;z-index:1;width:100%;min-height:58px;padding:5px 2px;border:0;background:#0f3129;color:#adc1b5;text-align:center}.path-step i{display:grid;place-items:center;width:21px;height:21px;margin:0 auto 5px;border:1px solid #8da79a;border-radius:50%;font:700 10px var(--sans);font-style:normal}.path-step span{display:block;min-width:0;overflow:hidden;color:inherit;font:10px/1.2 var(--serif);text-overflow:ellipsis;white-space:nowrap}.path-step.visited{color:#d8c36c}.path-step.current{background:#e4c45d;color:#153a30;box-shadow:0 0 0 2px #f6e8aa}.path-step.current i{border-color:#153a30;background:#153a30;color:#fff}.chapter-progress .path-next{width:100%;padding:8px 9px;border:1px solid #d7b94e;background:transparent;color:#f8e5a7;text-align:left;font:12px var(--serif)}@media(max-width:480px){.path-steps{grid-template-columns:repeat(3,1fr);gap:5px}.chapter-progress .path-step{min-height:48px}.path-step span{white-space:normal}}
.classic-voice{margin-top:17px;padding:16px 16px 14px;background:#183f35;color:#f7efd8;border-top:3px solid #d4aa48}.classic-voice .eyebrow{color:#ebcd72}.classic-book{font:11px var(--sans);color:#b9cfbd}.classic-voice blockquote{margin:12px 0 10px;padding:0 0 0 12px;border-left:2px solid #e5c260;color:#fff4c9;font:600 19px/1.55 var(--serif)}.classic-voice p{margin:8px 0;color:#d8e2d2;font:13px/1.7 var(--serif)}.classic-voice p b{color:#f0cf70}.classic-voice .classic-map{padding-top:8px;border-top:1px solid #f8f1df33}.classic-voice a{display:inline-block;margin-top:5px;color:#f4d878;font-size:12px;font-weight:700}
.map-element{width:0;height:0;overflow:visible}.map-element .dot{position:absolute;left:0;top:0;margin:0;transform:translate(-50%,-50%)}.map-element label{position:absolute;left:var(--label-x,0px);top:var(--label-y,10px);margin:0;transform:translate(-50%,-50%);box-shadow:0 2px 5px #36403330}.map-element.has-callout label{border:1px solid #b8aa84}.map-element.route:before{display:none}.map-element:hover,.map-element.active{transform:translate(-50%,-50%)}@media(max-width:760px){.map-element label{max-width:82px;white-space:normal;line-height:1.15;padding:2px 3px}.map-element.has-callout label{font-size:9px}}
.map-element.active{z-index:12}.map-element.active .dot{background:var(--verm);color:#fff;border-color:#fff;box-shadow:0 0 0 4px #f6dc7bbb,0 4px 12px #72291aaa;animation:place-pulse 1.5s ease-in-out infinite}.map-element.active.route .dot{background:var(--verm);width:18px;height:18px;border:2px solid #fff;font-size:9px}.map-element.active label{background:var(--verm);color:#fff;border-color:#fff;font-size:15px;box-shadow:0 0 0 4px #f6dc7bbb,0 4px 12px #72291a88}@keyframes place-pulse{50%{box-shadow:0 0 0 7px #f6dc7b55,0 4px 12px #72291aaa}}@media(prefers-reduced-motion:reduce){.map-element.active .dot{animation:none}}
.map-element.sound-playing .dot{background:#e6bf55!important;color:#15362e!important;border-color:#fff!important;box-shadow:0 0 0 5px #e6bf5577,0 4px 12px #513a1499!important;animation:place-pulse 1.5s ease-in-out infinite}.map-element.sound-playing label{background:#e6bf55!important;color:#15362e!important;border-color:#fff!important}
.map-element.sound-route .dot{background:#e8d58a!important;border-color:#80662a!important;box-shadow:0 0 0 4px #e8d58a88!important}.map-element.sound-route label{background:#f8edc6!important;color:#493c20!important;border-color:#b79b4d!important}.sound-check{margin-top:11px;padding:11px;border:1px solid #e7c26166;background:#f8f1df0c}.sound-check strong{display:block;color:#fff0bd;font:600 15px/1.45 var(--serif)}.sound-check div{display:grid;gap:5px;margin-top:9px}.sound-check button{border:1px solid #e7c26188;background:transparent;color:#e6eadc;padding:7px 8px;text-align:left;font:12px var(--serif)}.sound-check button:hover{background:#f8f1df13}.sound-check button.correct{border-color:#f0d16c;background:#e7bf55;color:#15352d}.sound-check button.wrong{border-color:#cb7969;color:#ffc9bb}.sound-check p{margin:8px 0 0;color:#d1dfd3;font:11px/1.55 var(--serif)}.sound-map{display:grid;grid-template-columns:repeat(2,1fr);gap:5px;margin-top:10px}.sound-map div{padding:8px;background:#0d3028;border:1px solid #416457}.sound-map span{display:block;color:#adccc0;font-size:10px}.sound-map b{display:block;margin-top:2px;color:#f0cf70;font:600 18px var(--serif)}
.path-steps{grid-template-columns:repeat(auto-fit,minmax(48px,1fr))}

/* 朝代切换先改变地图的叙事视野；专属长卷图可直接替换对应 background-image。 */
.paper-map[data-era="banpo"]{background-image:url('../assets/illustrations/banpo-atlas-v1.webp')!important;background-size:cover!important;background-position:center!important;filter:saturate(.74) contrast(.98)!important}
.paper-map[data-era="zhou"]{background-image:url('../assets/illustrations/zhou-atlas-v1.webp')!important;background-size:cover!important;background-position:center!important;filter:saturate(.78) contrast(.98)!important}
.paper-map[data-era="qin"]{background-image:url('../assets/illustrations/qin-atlas-v2.webp')!important;background-size:cover!important;background-position:center!important;filter:saturate(.78) contrast(.98)!important}
.paper-map[data-era="han"]{background-image:url('../assets/illustrations/han-atlas-v2.webp')!important;background-size:cover!important;background-position:center!important;filter:saturate(.8) contrast(.98)!important}
.paper-map[data-era="song"]{background-image:url('../assets/illustrations/song-atlas-v1.webp')!important;background-size:cover!important;background-position:center!important;filter:saturate(.82) contrast(.98)!important}
.paper-map[data-era="ming"]{background-image:url('../assets/illustrations/ming-atlas-v1.webp')!important;background-size:cover!important;background-position:center!important;filter:saturate(.8) contrast(.98)!important}
.paper-map[data-era="modern"]{background-image:url('../assets/illustrations/modern-atlas-v1.svg')!important;background-size:cover!important;background-position:center!important;filter:saturate(.82) contrast(1.02)!important}
.paper-map[data-era="tang"]{background-size:cover!important;background-position:center!important}
.question-card small{display:inline-block;margin-top:3px;color:#e4ca70;font-size:10px;letter-spacing:1px}
.chapter-card em{display:block;margin-top:7px;color:var(--verm);font:600 10px var(--sans);font-style:normal}
.path-step:focus-visible,.chapter-card:focus-visible,.map-element:focus-visible{outline:3px solid #f2d86f;outline-offset:3px}
@media(max-width:760px){
  .paper-map[data-era="banpo"]{background-size:auto 100%!important;background-position:58% center!important}
  .paper-map[data-era="zhou"]{background-size:auto 100%!important;background-position:54% center!important}
  .paper-map[data-era="qin"]{background-size:auto 100%!important;background-position:52% center!important}
  .paper-map[data-era="han"]{background-size:auto 100%!important;background-position:58% center!important}
  .paper-map[data-era="song"]{background-size:auto 100%!important;background-position:63% center!important}
  .paper-map[data-era="ming"]{background-size:auto 100%!important;background-position:62% center!important}
  .paper-map[data-era="modern"]{background-size:auto 100%!important;background-position:61% center!important}
  .paper-map[data-era="modern"] .map-element:nth-child(1){--label-x:52px!important;--label-y:-40px!important}
  .paper-map[data-era="modern"] .map-element:nth-child(2){--label-x:-52px!important;--label-y:-24px!important}
  .paper-map[data-era="modern"] .map-element:nth-child(3){--label-x:-54px!important;--label-y:30px!important}
  .paper-map[data-era="modern"] .map-element:nth-child(4){--label-x:-46px!important;--label-y:-20px!important}
  .paper-map[data-era="modern"] .map-element:nth-child(5){--label-x:-52px!important;--label-y:-48px!important}
  .paper-map[data-era="modern"] .map-element:nth-child(6){--label-x:-58px!important;--label-y:42px!important}
  .paper-map[data-era="modern"] .map-element:nth-child(7){--label-x:50px!important;--label-y:38px!important}
  .paper-map[data-era="modern"] .map-element:nth-child(8){--label-x:-44px!important;--label-y:38px!important}
  .paper-map[data-era="modern"] .map-element:nth-child(9){--label-x:-48px!important;--label-y:-48px!important}
  .paper-map[data-era="modern"] .map-element:nth-child(10){--label-x:-48px!important;--label-y:32px!important}
  .paper-map[data-era="modern"] .map-element:nth-child(11){--label-x:-54px!important;--label-y:-44px!important}
  .paper-map[data-era="modern"] .map-element:nth-child(12){--label-x:-48px!important;--label-y:-6px!important}
  .paper-map[data-era="tang"]{background-size:auto 100%!important;background-position:center!important}
}
@media(max-width:480px){.path-steps{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* 问题索引：按真实历史顺序排成一卷可浏览的目录。 */
.overlay-intro{max-width:720px;margin:-17px 0 34px;color:#bdd0c6;font:14px/1.7 var(--serif)}
#question-list{max-width:1120px}
.question-era-group{display:grid;grid-template-columns:190px minmax(0,1fr);gap:28px;padding:25px 0 30px;border-top:1px solid #f8f1df35}
.question-era-group>header{display:flex;gap:13px;align-items:flex-start}
.question-era-group>header>span{display:grid;place-items:center;width:42px;height:42px;border:1px solid #d1b85e;color:#e8d078;font:18px var(--serif)}
.question-era-group>header small{color:#a8beb3;font:10px var(--sans);letter-spacing:1px}
.question-era-group>header h3{margin:5px 0 0;color:#f8edcf;font:600 18px/1.35 var(--serif)}
.question-era-group.current-era>header>span{background:#d6bb58;color:#14362d;box-shadow:5px 5px 0 #071d184f}
.question-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.question-card{position:relative;max-width:none;min-height:190px;margin:0;padding:18px 18px 16px 56px;border:1px solid #f8f1df28;background:#f8f1df0a;display:flex;flex-direction:column;gap:0;transition:transform .18s ease,background .18s ease,border-color .18s ease}
.question-card:hover{transform:translateY(-2px);background:#f8f1df12;border-color:#d6bd6188}
.question-card>i{position:absolute;left:17px;top:21px;color:#d7bd63;font:600 14px var(--serif);font-style:normal}
.question-card h4{margin:0;color:#fbf1d7;font:600 22px/1.35 var(--serif)}
.question-card p{margin:9px 0 8px;color:#c6d4cc;font:13px/1.65 var(--serif)}
.question-card small{color:#d9c36d;font-size:10px;letter-spacing:.5px}
.question-card button{width:max-content;margin-top:auto;padding:7px 10px;border:0;border-bottom:1px solid #d9c363;background:transparent;color:#f4df96;text-align:left;font-size:11px}
.question-card.complete{border-color:#e0c763aa;background:linear-gradient(135deg,#e0c7631c,#f8f1df08)}
.question-card.complete:after{content:"已走完";position:absolute;right:14px;top:13px;padding:3px 6px;border:1px solid #e0c763;color:#edd780;font:9px var(--sans);letter-spacing:1px;transform:rotate(3deg)}
.question-card.complete h4{padding-right:52px}

/* 收藏册：时代书脊是这一页唯一的强视觉，记录用户真正走过的章节。 */
.collection-summary{max-width:1040px;margin:0 0 20px}
.collection-guide{max-width:700px;margin:-12px 0 24px;padding:12px 15px;border-left:3px solid #e1c864;background:#f8f1df12;color:#f6ead0}.collection-guide strong{display:block;font:600 16px/1.45 var(--serif)}.collection-guide span{display:block;margin-top:5px;color:#c2d3c9;font:12px/1.65 var(--serif)}
.collection-stats{display:flex;gap:34px;margin-bottom:18px}
.collection-stats>div{display:flex;align-items:baseline;gap:7px}
.collection-stats strong{color:#f1d976;font:600 38px var(--serif)}
.collection-stats span{color:#b9cbc2;font-size:11px}
.era-books{display:grid;grid-template-columns:repeat(8,minmax(68px,1fr));max-width:1040px;border-bottom:4px solid #887849}
.era-books button{position:relative;min-height:78px;padding:13px 5px 9px;border:1px solid #f8f1df31;border-bottom:0;background:#f8f1df08;color:#9fb2a8;text-align:center}
.era-books button.filled{background:#8f473a;color:#fff1d5}
.era-books button.on{box-shadow:inset 0 0 0 3px #efd472;transform:translateY(-4px)}
.era-books i{display:block;margin-bottom:9px;color:#e4cc72;font:700 15px var(--serif);font-style:normal}
.era-books span{font:13px var(--serif)}
.collection-toolbar{max-width:1040px;display:flex;gap:6px;margin:18px 0 13px;overflow:auto}
.collection-toolbar button{padding:7px 14px;border:1px solid #f8f1df42;background:transparent;color:#c6d3cc;font-size:11px;white-space:nowrap}
.collection-toolbar button.on{border-color:#e0c763;background:#e0c763;color:#17382f;font-weight:700}
.collection-list{max-width:1040px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.collect-card{position:relative;min-height:178px;padding:0;border:1px solid #c7b37c;background:#f6ead0;overflow:hidden}
.collect-card .collect-open{display:block;width:100%;height:100%;min-height:178px;padding:17px 18px 32px 58px;border:0;background:transparent;color:var(--ink);text-align:left}
.collect-card .collect-open>i{position:absolute;left:17px;top:18px;display:grid;place-items:center;width:29px;height:29px;background:var(--verm);color:#fff;font:15px var(--serif);font-style:normal}
.collect-card p{margin:1px 0 9px;color:var(--verm);font-size:10px;letter-spacing:1px}
.collect-card h3{margin:0 0 8px;font:600 21px var(--serif)}
.collect-card span{display:block;color:#526159;font:12px/1.55 var(--serif)}
.collect-card em{position:absolute;left:58px;bottom:13px;color:#a74432;font:700 10px var(--sans);font-style:normal}
.collect-remove{position:absolute;right:8px;top:8px;width:27px;height:27px;border:0;background:transparent;color:#8b806b;font-size:18px;z-index:2}
.collect-remove:hover{background:#b84c36;color:#fff}
.collection-list .empty{grid-column:1/-1;display:flex;flex-direction:column;gap:8px;padding:30px 0;border-top:1px solid #f8f1df3d;color:#d7e0da}
.collection-list .empty strong{font:600 22px var(--serif)}
.collection-list .empty span{color:#aabdb3;font:13px/1.6 var(--serif)}
.sound-collection-card{border-color:#d5bd58;background:#153d32}
.sound-collection-card .collect-open{color:#f8eccb}
.sound-collection-card p,.sound-collection-card em{color:#e1c864}
.sound-collection-card span{color:#bdd0c6}
.sound-collection-card .sound-collection-open{height:auto;min-height:170px;padding-bottom:22px}
.sound-fragment-list{margin:0 13px;padding:9px 0;border-top:1px solid #d5bd5845}
.sound-fragment-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px 4px;border-bottom:1px solid #f8f1df17}
.sound-fragment-row span,.sound-fragment-row b,.sound-fragment-row small{display:block}.sound-fragment-row b{color:#f8eccb;font:600 14px var(--serif)}.sound-fragment-row small{margin-top:2px;color:#9db9ad;font-size:9px}
.sound-fragment-row button,.sound-clear-all{border:1px solid #d69b8299;background:transparent;color:#efb5a0;padding:5px 7px;font-size:9px}
.sound-fragment-row button:hover,.sound-clear-all:hover{background:#a74635;color:#fff2de}
.sound-clear-all{display:block;margin:0 17px 14px auto;border-color:#e3c76166;color:#d8c98e}
.route-collection-card{border-color:#d7bd5d;background:linear-gradient(145deg,#f4e5b8,#e8d094)}
.route-collection-card .collect-open>i{background:#173c32;color:#f1d26e}
.route-collection-card p,.route-collection-card em{color:#8f3f31}
.route-collection-card span{color:#435b51}
.question-card button:focus-visible,.era-books button:focus-visible,.collection-toolbar button:focus-visible,.collect-open:focus-visible,.collect-remove:focus-visible,.sound-fragment-row button:focus-visible,.sound-clear-all:focus-visible{outline:3px solid #f0d773;outline-offset:-3px}
@media(max-width:800px){.overlay{overflow-x:hidden}.question-era-group{grid-template-columns:1fr;gap:15px}.question-grid{grid-template-columns:1fr}.question-card{min-height:175px}#collection h2{max-width:100%;font-size:32px}.era-books{grid-template-columns:repeat(4,minmax(0,1fr))}.collection-list{grid-template-columns:1fr}.collection-stats{gap:18px}.collection-stats strong{font-size:30px}}
@media(max-width:480px){.overlay-intro{margin-top:-18px}.question-era-group{padding:20px 0}.question-card{padding-left:50px}.era-books button{min-height:65px}.collection-list{grid-template-columns:1fr}.collection-stats{justify-content:space-between;gap:8px}.collection-stats>div{display:block}.collection-stats span{display:block;margin-top:2px}}

/* 问题线走到终点后，把“读完一张卡”转化为可保存的探索结果。 */
.path-finish{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;margin-top:10px;padding:11px 12px;border:1px solid #b89d53;background:#f1dfab;color:#183a31}
.path-finish>i{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#bc9330;color:#fff;font:700 15px var(--sans);font-style:normal}
.path-finish strong,.path-finish span{display:block}.path-finish strong{font:600 14px/1.4 var(--serif)}.path-finish span{margin-top:3px;color:#5b675d;font:10px/1.4 var(--serif)}
.path-finish button{border:1px solid #8d7332;background:#173d32;color:#f4dda0;padding:7px 9px;font-size:10px;white-space:nowrap}
.path-finish.done{border-color:#467264;background:#dbe5d4}.path-finish.done>i{background:#315e50}.path-finish.done button{border-color:#6f8e81;background:transparent;color:#315e50;cursor:default}
@media(max-width:480px){.path-finish{grid-template-columns:30px 1fr}.path-finish button{grid-column:1/-1;width:100%}}

/* 移动端保留核心叙事入口；用紧凑排布取代早期的直接隐藏。 */
@media(max-width:760px){.topbar div button:first-child{display:inline-flex}.topbar div{gap:4px}.topbar div button{padding:6px 7px;font-size:10px}}
@media(max-width:420px){.wordmark{letter-spacing:2px}.wordmark span{display:none}.topbar{padding-inline:10px}.topbar div button{padding:6px}.topbar b{margin-left:2px}}

/* 时空小报工坊：像一张正在编辑的文化副刊，而不是通用表单弹窗。 */
.newspaper-maker{position:fixed;z-index:90;inset:0;display:grid;grid-template-columns:minmax(390px,520px) minmax(420px,1fr);background:#0e3028;color:#f7ecd0;overflow:auto}
.newspaper-maker>.close{z-index:3;color:#f7ecd0;border-color:#f7ecd077}
.newspaper-editor{padding:70px clamp(24px,4vw,58px) 50px;border-right:1px solid #d7bd5d55;background:linear-gradient(150deg,#173f34,#0e3028 72%)}
.newspaper-editor h2{margin:0;color:#fff2d3;font:600 clamp(36px,5vw,58px)/1.05 var(--serif);letter-spacing:4px}
.newspaper-lead{max-width:540px;margin:13px 0 25px;color:#bfd0c7;font:13px/1.75 var(--serif)}
.newspaper-field{display:block;margin:14px 0}.newspaper-field>span,.newspaper-tone legend,.newspaper-format legend{display:block;margin-bottom:7px;color:#e4ca72;font:700 10px var(--sans);letter-spacing:1px}
.newspaper-field select,.newspaper-field textarea{width:100%;border:1px solid #d8c27a70;border-radius:0;background:#f5ead2;color:#17382f;padding:11px 12px;font:14px/1.7 var(--serif);resize:vertical}.newspaper-field select{font-family:var(--serif)}
.newspaper-field textarea:focus,.newspaper-field select:focus{outline:3px solid #e2c565;outline-offset:2px}
.newspaper-tone,.newspaper-format{display:flex;gap:6px;margin:15px 0;padding:0;border:0;flex-wrap:wrap}.newspaper-tone legend,.newspaper-format legend{width:100%}.newspaper-tone label,.newspaper-format label{position:relative}.newspaper-tone input,.newspaper-format input{position:absolute;opacity:0}.newspaper-tone span,.newspaper-format span{display:block;border:1px solid #f8f1df42;padding:7px 10px;color:#c5d3cb;font-size:10px;cursor:pointer}.newspaper-tone input:checked+span,.newspaper-format input:checked+span{border-color:#e2c565;background:#e2c565;color:#17382f;font-weight:700}
.newspaper-secondary{margin-top:-4px;border:0;border-bottom:1px solid #e3c762;background:transparent;color:#f2d77b;padding:5px 1px;font-size:11px}
.newspaper-status{min-height:20px;margin:5px 0 7px;padding:0 1px;color:#b9ccc2;font:11px/1.55 var(--serif)}
.newspaper-status.error{padding:8px 10px;border-left:3px solid #ed8b6e;background:#7f2f2759;color:#ffe5d8}
.newspaper-status.working{padding:8px 10px;border-left:3px solid #e2c565;background:#e2c56512;color:#f4dea0}
.newspaper-status.success{padding:8px 10px;border-left:3px solid #79aa8e;background:#79aa8e18;color:#d9efdf}
.newspaper-field textarea.invalid{border-color:#ed8b6e;background:#fff0e3;box-shadow:0 0 0 2px #ed8b6e55}
#make-newspaper:disabled{cursor:wait;opacity:.72}
.newspaper-materials{margin:20px 0 14px;padding-top:15px;border-top:1px solid #f8f1df25}.newspaper-materials>div:first-child{display:flex;justify-content:space-between;gap:12px;align-items:end}.newspaper-materials strong{font:600 15px var(--serif)}.newspaper-materials small{color:#98b0a5;font-size:9px}
#newspaper-card-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px}.newspaper-pick{position:relative;min-height:72px;border:1px solid #f8f1df2e;background:#f8f1df0a;color:#e9ddc3;padding:9px 9px 9px 50px;text-align:left}.newspaper-pick i{position:absolute;left:9px;top:10px;display:grid;place-items:center;width:31px;height:31px;background:#a94735;color:#fff;font:14px var(--serif);font-style:normal}.newspaper-pick strong,.newspaper-pick small{display:block}.newspaper-pick strong{font:600 14px var(--serif)}.newspaper-pick small{margin-top:4px;color:#a9bdb4;font-size:9px}.newspaper-pick.on{border-color:#e2c565;background:#e2c56518;box-shadow:inset 3px 0 #e2c565}.newspaper-pick.on:after{content:"入报";position:absolute;right:6px;bottom:5px;color:#e6cc70;font-size:8px;letter-spacing:1px}
.newspaper-preview{position:sticky;top:0;min-height:100vh;display:grid;place-items:center;align-content:center;gap:14px;padding:48px;background:#d4c79f url('../assets/illustrations/tang-atlas.webp') center/cover}.newspaper-preview:before{content:"";position:absolute;inset:0;background:#102f28d9;backdrop-filter:blur(3px)}.newspaper-preview>*{position:relative}.newspaper-preview img{display:block;max-width:min(520px,90%);max-height:78vh;box-shadow:18px 20px 0 #071d1866;border:1px solid #e7d392}.newspaper-preview .primary{width:min(320px,90%);margin:0}
#newspaper-preview-empty{width:min(480px,90%);min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #dec86c66;background:#f7ecd010;text-align:center;padding:40px}#newspaper-preview-empty i{display:grid;place-items:center;width:62px;height:62px;border:1px solid #e4ca72;color:#e4ca72;font:32px var(--serif);font-style:normal;transform:rotate(-4deg)}#newspaper-preview-empty strong{margin-top:22px;font:600 22px var(--serif)}#newspaper-preview-empty span{margin-top:8px;color:#b9ccc2;font:12px var(--serif)}
@media(max-width:900px){.newspaper-maker{grid-template-columns:1fr}.newspaper-editor{border-right:0}.newspaper-preview{position:relative;min-height:620px;padding:32px 16px 50px}.newspaper-preview img{max-height:none;width:min(520px,94%)} }
@media(max-width:480px){.newspaper-editor{padding:65px 18px 35px}.newspaper-editor h2{font-size:36px}.newspaper-materials>div:first-child{display:block}.newspaper-materials small{display:block;margin-top:4px}#newspaper-card-picker{grid-template-columns:1fr}.newspaper-preview{min-height:520px}}

/* 朝代内部的时间切片：像一枚夹在卷页中的年签，不与底部朝代轴争夺层级。 */
.era-phases{margin:12px 0 13px;padding:9px 10px 10px;border-left:3px solid var(--gold);background:#decda45e}.era-phases>p{margin:0 0 7px;color:#765b2d;font:700 9px var(--sans);letter-spacing:1px}.era-phases>div{display:flex;gap:4px;flex-wrap:wrap}.era-phases button{flex:1;min-width:58px;border:1px solid #9c895d;background:#f7edd2;color:#5d5d4a;padding:6px 5px;font:10px/1.2 var(--serif)}.era-phases button.on{border-color:var(--verm);background:var(--verm);color:#fff}.era-phases small{display:block;margin-top:7px;color:#5c655c;font:10px/1.45 var(--serif)}.map-element{transition:opacity .32s ease,filter .32s ease}.map-element.phase-muted{opacity:.12;filter:sepia(1);pointer-events:none}.paper-map[data-phase="collapse"],.paper-map[data-phase="late"]{filter:saturate(.55) contrast(1.03)!important}.paper-map[data-phase="east-han"]{background-position:68% center!important}.paper-map[data-phase="sui"]{background-position:45% center!important}
.paper-map[data-era="ming"] .map-element.event .dot,.paper-map[data-era="ming"] .map-element.region .dot{width:26px;height:26px;border:2px solid currentColor;background:#f9edc8;font-size:10px}.paper-map[data-era="ming"] .map-element.event{color:var(--verm)}.paper-map[data-era="ming"] .map-element.region{color:#356a5c}.paper-map[data-era="ming"] .map-element.phase-muted{opacity:.3;filter:sepia(.65);pointer-events:auto}
.artifact-evidence{margin-top:17px;padding:14px;border:1px solid #b89e61;background:#ede0bd}.artifact-evidence .eyebrow{margin-bottom:8px}.artifact-head{display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:center}.artifact-seal{display:grid;place-items:center;width:38px;height:38px;background:var(--verm);color:#fff;font:600 18px var(--serif)}.artifact-head h3{margin:0;font:600 19px var(--serif)}.artifact-head span{display:block;margin-top:2px;color:#826c42;font-size:9px}.artifact-evidence>p:not(.eyebrow){margin:10px 0 7px;color:#344b43;font:13px/1.7 var(--serif)}.artifact-evidence a{display:inline-block;color:#963d2e;font-size:11px;font-weight:700;text-decoration:none}.artifact-evidence a:hover{text-decoration:underline}
@media(max-width:760px){.era-phases{margin:7px 0 8px;padding:7px 8px}.era-phases small{display:none}.era-phases button{padding:5px 3px;font-size:9px}.era-card>p:not(.eyebrow){display:none}.era-card dl{margin-top:7px}.artifact-evidence{padding:12px}}

button:focus-visible,a:focus-visible{outline:3px solid #f2cf62;outline-offset:3px}.story-drawer button:focus-visible,.story-drawer a:focus-visible{outline-color:var(--verm)}

/* 声音寻踪：用航行日志般的刻度承载声音，而不是再做一个通用播放器。 */
.sound-trail{margin:17px 0;padding:15px 15px 13px;background:#123b32;color:#f9efd6;border-top:3px solid #d9ac47;box-shadow:5px 5px 0 #b28a3d26}.sound-trail .eyebrow{color:#f0cf70;margin-bottom:5px}.sound-trail h3{margin:0;font:600 22px/1.25 var(--serif)}.sound-trail .sound-prompt{margin:8px 0 12px;color:#d5e0d3;font:13px/1.65 var(--serif)}.sound-controls{display:grid;grid-template-columns:auto auto 1fr auto;gap:7px;align-items:center}.sound-controls button,.sound-rate{border:1px solid #d8bb69;background:transparent;color:#fff0bd;padding:7px 9px;font:700 11px var(--sans)}.sound-controls button:hover,.sound-rate:hover{background:#f0cf701f}.sound-progress{height:5px;background:#e8d69a42;overflow:hidden}.sound-progress i{display:block;width:0;height:100%;background:#f1cc65;transition:width .25s linear}.sound-state{margin:9px 0 0;color:#b9cfbd;font-size:10px}.sound-transcript{margin-top:11px;border-top:1px solid #f8f1df30;padding-top:9px}.sound-transcript summary{cursor:pointer;color:#f0cf70;font:700 11px var(--sans)}.sound-transcript p{margin:8px 0 0;color:#e1e9dc;font:12px/1.75 var(--serif)}.sound-fragment{margin-top:11px;padding:10px;border:1px solid #e7c26166;background:#f8f1df10}.sound-fragment span{display:block;color:#e7c261;font:700 10px var(--sans);letter-spacing:1px}.sound-fragment strong{display:block;margin:4px 0;color:#fff0bd;font:600 18px var(--serif)}.sound-fragment p{margin:0;color:#d5e0d3;font:12px/1.6 var(--serif)}.sound-fragment button{width:100%;margin-top:9px;border:0;background:#e7bf55;color:#15352d;padding:8px 10px;font:700 12px var(--sans)}.sound-fragment button:disabled{background:#82938b;color:#edf0dc;cursor:default}.sound-route-complete{margin:12px 0 0;padding:12px;border:1px solid #d9ba65;background:#f3df9f;color:#183a31}.sound-route-complete p{margin:4px 0;font:13px/1.6 var(--serif)}.sound-route-complete strong{font:600 18px var(--serif)}
@media(max-width:760px){.sound-trail{margin:13px 0;padding:13px}.sound-trail h3{font-size:20px}.sound-controls{grid-template-columns:auto auto 1fr}.sound-rate{grid-column:4;grid-row:1}.sound-prompt{font-size:12px!important}}
