
:root{color-scheme:dark;--ink:#ecede5;--muted:#a0b2b6;--gold:#e6bc79;--line:#ffffff18;--panel:#12272de8;--green:#9fd3ac}*{box-sizing:border-box}body{margin:0;background:#091a20;color:var(--ink);font:16px/1.65 -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif}button,input,select{font:inherit}button{cursor:pointer;color:inherit;background:none;border:1px solid var(--line);border-radius:6px;padding:8px 12px}button:hover{background:#ffffff10;border-color:#dfba77aa}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:4px}button:disabled{opacity:.4;cursor:default}a{color:var(--gold)}h1,h2,h3,p{margin:0}header{height:82px;padding:0 32px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:#0a1c22;gap:22px}.brand{display:flex;align-items:center;gap:13px}.sigil{width:36px;height:36px;border:1px solid var(--gold);transform:rotate(45deg);display:grid;place-items:center;color:var(--gold)}.sigil span{transform:rotate(-45deg);font-family:serif}.brand strong{font:24px/1.3 "Songti SC",serif;letter-spacing:3px}.brand small{display:block;color:var(--muted);font-size:12px;letter-spacing:2px}.regions{display:flex;background:#142b33;border-radius:7px;padding:4px;gap:4px}.regions button{border:0;padding:8px 24px;font-size:14px}.regions .active{background:#d9b379;color:#18252a}.prototype{font-size:12px;color:var(--muted);letter-spacing:1px}main{height:calc(100dvh - 82px);min-height:680px;display:grid;grid-template-columns:105px minmax(0,1fr) 390px}.timeline{border-right:1px solid var(--line);padding:24px 10px 15px;display:flex;align-items:center;flex-direction:column;gap:13px;background:#0a1d24}.timeline .caption{font-size:12px;letter-spacing:3px;color:var(--muted)}.rail{display:flex;flex:1;min-height:330px;gap:9px;position:relative}.rail input{writing-mode:vertical-lr;direction:ltr;width:18px;height:100%;accent-color:var(--gold);cursor:ns-resize;touch-action:none}.ticks{display:flex;flex-direction:column;justify-content:space-between}.ticks button{padding:0;border:0;font-size:12px;color:#78939c;text-align:left;line-height:1.5}.ticks button.active{color:var(--gold)}.ticks b{font-size:12px;font-weight:500;display:block}.play{font-size:13px;width:80px;padding:8px 0}.stage{position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 45%,#28464d,#0b2027 75%)}#viewport{position:absolute;inset:0;touch-action:none;outline-offset:-4px}#viewport canvas{display:block;width:100%;height:100%}.era{position:absolute;top:28px;left:30px;pointer-events:none;max-width:calc(100% - 70px);z-index:2}.eyebrow{color:var(--gold);font-size:12px;letter-spacing:3px}.era h1{font:38px/1.4 "Songti SC",serif;letter-spacing:3px;margin:7px 0}.era p{font-size:14px;color:#c0ced0;max-width:460px;text-shadow:0 1px 5px #000}.era .date{font-size:14px;letter-spacing:1px;color:var(--gold);margin-top:8px}.compass{position:absolute;right:22px;top:35px;text-align:center;color:#b4c4c5;font-size:12px;pointer-events:none}.compass span{display:block;color:var(--gold);font-size:25px}.map-controls{position:absolute;right:18px;bottom:157px;display:flex;gap:5px}.map-controls button{background:#10272dd9;min-width:38px;font-size:14px}.legend{position:absolute;bottom:149px;left:26px;color:#bac9c9;font-size:12px;pointer-events:none}.legend i{display:inline-block;width:7px;height:7px;background:var(--gold);border-radius:50%;margin-right:6px}.insight{position:absolute;left:24px;right:24px;bottom:23px;min-height:110px;padding:17px 20px;background:linear-gradient(110deg,#122a31f5,#162e35e8);border:1px solid #daba762e;border-radius:8px;box-shadow:0 8px 40px #00101450;display:flex;gap:20px;align-items:center}.insight .number{font:42px Georgia;color:var(--gold);border-right:1px solid #c5a56f44;padding-right:20px}.insight h3{font-size:16px;font-weight:500;margin-bottom:5px}.insight p{font-size:13px;color:#b9c8cc;line-height:1.7}.labels{position:absolute;inset:0;pointer-events:none}.pin{position:absolute;transform:translate(-50%,-100%);pointer-events:auto;background:#102830ed;border:1px solid #d5b67890;border-radius:4px;padding:5px 12px;font-size:13px;box-shadow:0 3px 12px #0006;white-space:nowrap}.pin::after{content:'';position:absolute;bottom:-9px;left:50%;height:9px;border-left:1px solid var(--gold)}.pin.active{color:#172b31;background:var(--gold)}aside{background:#10252b;border-left:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.library-head{padding:22px 24px 15px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.library-head strong{font:21px "Songti SC",serif;letter-spacing:2px}.library-head span{font-size:12px;color:var(--muted)}.mode{display:flex;margin:16px 24px 10px;gap:8px}.mode button{flex:1;font-size:14px;padding:7px}.mode .active{border-color:var(--gold);color:var(--gold);background:#e6bc7910}.entry-select{margin:0 24px 14px;width:calc(100% - 48px);padding:8px;border:1px solid var(--line);background:#183139;color:var(--ink);border-radius:5px;font-size:14px}.article{overflow-y:auto;flex:1;padding:0 24px 24px;scrollbar-width:thin;scrollbar-color:#43606a transparent}.article .entry-meta{font-size:12px;letter-spacing:1px;color:var(--gold)}.article h2{font:28px/1.5 "Songti SC",serif;margin:7px 0 10px}.summary{font-size:14px;color:#b9c9cb;margin-bottom:18px}.tabs{display:flex;border-bottom:1px solid var(--line);margin:0 0 20px;gap:3px}.tabs button{border:0;border-radius:0;padding:10px 3px;flex:1;font-size:12px;white-space:nowrap;color:#a9bec3}.tabs button.active{color:var(--gold);border-bottom:2px solid var(--gold)}.prompt{font-size:14px;color:#c3d0d1;margin:0 0 14px}.chain{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:9px}.chain li{display:flex;align-items:center;gap:10px;background:#19343c;border:1px solid #ffffff13;border-radius:6px;padding:10px;cursor:grab;font-size:14px;line-height:1.6}.chain li.dragging{opacity:.4}.chain .index{color:var(--gold);font:18px Georgia;min-width:15px}.chain .text{flex:1}.arrows{display:flex;flex-direction:column}.arrows button{border:0;padding:0 5px;font-size:13px;line-height:1.6;color:#9ab4bc}.primary{color:#1a292d;background:var(--gold);border-color:var(--gold);margin-top:14px;font-size:14px;width:100%;font-weight:500}.primary:hover{background:#f1cd91}.feedback{padding:12px 0 2px;font-size:14px;color:var(--green)}.definition{border-left:2px solid var(--gold);padding:0 0 0 14px;margin:12px 0 18px;font-size:16px}.hint{font-size:13px;color:var(--muted);margin:12px 0}.knowledge{padding:14px;border:1px solid var(--line);border-radius:6px;margin:10px 0;font-size:14px}.knowledge b{display:block;color:var(--gold);font-weight:500;margin-bottom:6px}.choices{display:flex;flex-direction:column;gap:9px;margin:15px 0}.choices button{text-align:left;font-size:14px;background:#19343c}.choices .correct{border-color:var(--green);color:var(--green)}.choices .wrong{border-color:#e18d7c}.related{display:flex;flex-wrap:wrap;gap:8px}.related button{font-size:13px;color:var(--gold)}details{margin-top:22px;border-top:1px solid var(--line);padding-top:12px;font-size:12px;color:var(--muted)}details a{display:block;margin:7px 0}.empty-video{border:1px dashed #688089;border-radius:6px;min-height:140px;padding:22px 18px;text-align:center;background:#17313a}.empty-video strong{display:block;font-size:17px;margin-bottom:8px;font-weight:500}.empty-video p{font-size:14px;color:var(--muted)}.failure{position:absolute;inset:40% 10% auto;background:#142d35;padding:24px;z-index:5;border:1px solid var(--gold);border-radius:8px}.footnote{padding:10px 23px;font-size:12px;color:#879fa6;border-top:1px solid var(--line)}.loading{position:absolute;top:48%;left:50%;transform:translate(-50%,-50%);color:var(--gold);font-size:14px}body.ready .loading{display:none}
@media(min-width:1600px){main{grid-template-columns:112px minmax(0,1fr) 430px}.era h1{font-size:46px}.article{padding:0 30px 24px}.tabs button{font-size:14px}}
@media(max-width:1100px){header{padding:0 18px}.prototype{display:none}main{grid-template-columns:84px minmax(0,1fr) 340px}.era{left:20px;top:20px}.era h1{font-size:30px}.era p{max-width:320px}.insight{left:12px;right:12px;padding:12px;gap:12px}.insight .number{font-size:30px;padding-right:12px}.article{padding:0 18px 20px}.map-controls{bottom:180px}.legend{bottom:156px;left:14px}.compass{display:none}}
@media(max-width:800px){header{height:auto;min-height:112px;flex-wrap:wrap;gap:12px;justify-content:center;padding:14px}.brand strong{font-size:22px}.brand small{display:none}.regions button{padding:7px 18px}main{height:auto;min-height:0;grid-template-columns:75px minmax(0,1fr)}.timeline{height:680px;padding-left:4px;padding-right:4px}.rail{gap:2px}.play{width:65px}.stage{height:680px}.era h1{font-size:28px}.era p{font-size:13px;max-width:290px}.era{left:17px;right:10px;max-width:none}.insight .number{display:none}.insight p{font-size:12px}.map-controls{bottom:177px;right:12px}aside{grid-column:1 / -1;border-top:1px solid var(--line);min-height:680px}.article{overflow:visible}.pin{font-size:12px;padding:3px 6px}.legend{font-size:12px;bottom:157px}.library-head{padding:20px 24px}.tabs button{font-size:14px}.insight{min-height:115px;bottom:16px}.entry-select{max-width:600px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
/* v0.2 · 日光下的历史博物馆 */
:root{color-scheme:light;--ink:#38362d;--muted:#79756a;--gold:#9a642e;--line:#68563726;--panel:#fffdf5f0;--green:#3f7551}body{background:#efe8d8;color:var(--ink)}button{border-radius:5px}button:hover{background:#a67d3410;border-color:#a3773e88}header{height:76px;background:#fbf8f0;border-color:#b7a78a48;padding:0 26px}.brand strong{font-size:24px}.sigil{border-color:#ac793d}.regions{background:#eae1cd}.regions .active{background:#86613a;color:#fffaf1}.regions button{color:#73634f}.prototype{color:#827562}main{height:calc(100dvh - 76px);min-height:720px;grid-template-columns:122px minmax(0,1fr) 372px}.timeline{background:#f8f3e7;padding:22px 10px 17px;gap:14px}.timeline .caption{color:#817158}.rail{min-height:250px;width:100%;gap:6px;overflow:hidden}.rail input{flex-shrink:0;width:15px;height:100%;accent-color:#977042}.ticks{flex:1;overflow-y:auto;justify-content:flex-start;gap:5px;padding:1px 0;scrollbar-width:thin;scrollbar-color:#bdac8b transparent}.ticks button{flex-shrink:0;min-height:46px;padding:6px 5px;color:#857c6c;border-left:2px solid transparent}.ticks button b{font:14px Georgia;line-height:1.4}.ticks button.active{color:#8b5725;background:#eaddc4;border-left:2px solid #9e7037;border-radius:0 4px 4px 0}.ticks .tick-title{font-size:11px;white-space:normal}.timeline .play{width:94px;background:#efe2cb;color:#775128}.year-nudge{display:flex;gap:6px}.year-nudge button{padding:3px 8px;font-size:13px}.stage{background:radial-gradient(ellipse at 48% 47%,#fffdf1 0%,#eee2c9 74%,#e6d9bd 100%)}.era{top:24px;left:26px;right:22px;max-width:none;z-index:3;display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.era h1{font-size:32px;letter-spacing:2px;margin:5px 0}.era p{font-size:13px;color:#81715b;text-shadow:none;max-width:400px}.eyebrow{color:#9b7444;font-size:12px;letter-spacing:2px}.era .date{font-size:13px;color:#8b673c}.year-box{pointer-events:auto;border:1px solid #ad956652;padding:8px 12px;border-radius:6px;background:#fcf8eddc;text-align:center;flex-shrink:0;box-shadow:0 5px 20px #73552207}.year-box label{font-size:11px;color:#8b7b64;display:block;letter-spacing:1px}.year-input-row{display:flex;align-items:center;justify-content:center;gap:2px}.year-input-row select{background:transparent;border:0;font-size:12px;color:#80603c;width:52px}.year-input-row input{width:72px;font:25px/1.4 Georgia;color:#77512d;background:transparent;border:0;text-align:center;appearance:textfield;-moz-appearance:textfield}.year-input-row input::-webkit-inner-spin-button{appearance:none}.year-input-row span{font-size:12px}.year-box .approx{font-size:11px;color:#9c8361}.view-toolbar{position:absolute;top:148px;left:26px;display:flex;gap:10px;align-items:center;z-index:3;flex-wrap:wrap}.view-switch{display:flex;background:#faf7efdf;border:1px solid #bba57d75;border-radius:6px;padding:3px;box-shadow:0 3px 15px #76532007}.view-switch button{border:0;padding:6px 12px;font-size:13px;color:#85745b}.view-switch .active{background:#8b6c44;color:#fffaf0}.site-picker{background:#fbf8edeb;color:#705a3e;padding:7px 10px;border:1px solid #c3ae8970;border-radius:5px;max-width:205px;font-size:13px}.compass{color:#917c59;top:210px;font-size:11px}.compass span{color:#987849}.legend{color:#857762;font-size:11px;left:26px;bottom:162px}.legend i{background:#a98443}.map-controls{bottom:171px;right:19px;gap:5px}.map-controls button{background:#faf5e7ef;color:#7c603a;box-shadow:0 3px 12px #53401c0a;font-size:13px}.insight{bottom:22px;left:23px;right:23px;min-height:120px;padding:15px 19px;background:#fffaf0f2;border:1px solid #baa47a60;box-shadow:0 10px 35px #6d4c1810;gap:16px;backdrop-filter:blur(8px)}.insight .number{font-size:36px;color:#b28b4f;border-right-color:#b7945350;padding-right:16px}.insight h3{font-size:16px;color:#745532;line-height:1.5}.insight p{font-size:12px;color:#7e735e;line-height:1.7}.time-context{font-size:11px;color:#9c8054;margin-bottom:3px}.fact-link{font-size:11px;color:#886939;text-decoration:underline;text-underline-offset:2px;margin-left:7px}.pin{background:#fffdf1ee;color:#675234;border:1px solid #b69b698c;box-shadow:0 4px 14px #6d502c20;font-size:12px;padding:4px 9px;border-radius:4px}.pin::after{border-color:#9b7c45}.pin.active{background:#9a7544;color:white}.pin.detail-pin{font-size:11px;padding:3px 8px;background:#fffcf1e0;color:#816341}.pin.detail-pin::after{height:14px;bottom:-14px}.pin small{font-size:10px;color:#947c53;display:block}.pin.active small{color:#fff2db}.labels{z-index:2}.scene-caption{position:absolute;top:205px;left:27px;color:#a28c67;font-size:11px;letter-spacing:1px;z-index:2;pointer-events:none}.scene-caption b{font-weight:500;color:#9c7641}.mini-facts{position:absolute;right:21px;top:260px;max-width:160px;padding:11px 13px;border:1px solid #a9936430;border-radius:5px;background:#faf7edb5;z-index:2;pointer-events:none}.mini-facts .fact-item{padding:5px 0;color:#8d7e66;font-size:11px}.mini-facts .fact-item b{display:block;color:#775e3e;font-weight:500;font-size:12px}.detail-disclosure{position:absolute;left:26px;bottom:189px;z-index:3;color:#82735a;font-size:11px}.detail-disclosure button{font-size:11px;padding:4px 8px;background:#fffaf0c7;color:#887150}.detail-disclosure p{max-width:330px;background:#fffaf0ed;padding:10px 12px;border:1px solid var(--line);margin-top:5px;border-radius:4px}.terrain-quality{display:none}aside{background:#fcfaf3;border-color:#b7a78a48}.library-head{padding:20px 23px 15px}.library-head strong{color:#665036}.library-head span{color:#9b8b73}.mode{margin:15px 23px 11px}.mode button{color:#8a7657;border-color:#bfaa823d}.mode .active{background:#ede0c7;color:#855d2c;border-color:#b79b6980}.entry-select{background:#f2ebdc;color:#756145;border-color:#d1bfa055;margin-left:23px;width:calc(100% - 46px)}.article{padding:0 23px 23px;scrollbar-color:#c6b393 transparent}.article h2{font-size:26px;color:#634c30}.article .entry-meta{color:#9b7a4b}.summary{color:#88775f;font-size:14px}.tabs{border-color:#b7a78a44;margin-bottom:17px}.tabs button{color:#948269;font-size:12px}.tabs button.active{color:#8d6030;border-bottom-color:#a78045}.prompt{font-size:14px;color:#89765b}.chain{gap:8px}.chain li{background:#f4eddf;border:1px solid #c4b38f44;color:#6e5c43;padding:10px;font-size:13px;box-shadow:0 2px 3px #74521e03}.chain .index{color:#a58042}.arrows button{color:#a78f67}.primary{background:#9a7846;border-color:#9a7846;color:#fff9ed}.primary:hover{background:#aa8754}.feedback{color:#4d7956}.definition{color:#766043}.hint{color:#968366}.knowledge{background:#f5eedf;border-color:#bcaa8244;color:#7f6b50;font-size:14px}.knowledge b{color:#97713f}.choices button{background:#f5eedf;color:#7e684a}.choices .correct{color:#437a53;background:#e7eee1}.choices .wrong{color:#a4664c;background:#f4e4d7}.related button{color:#916b37}.empty-video{background:#f2eddf;border-color:#b8a885;color:#886c45}.empty-video p{color:#9b896d}.footnote{background:#f5f0e5;color:#9b8b70;border-color:#c8b7933b;font-size:11px}.failure{background:#fff8e9;color:#815d32}.loading{color:#a68142}.year-error{font-size:11px;color:#ab6347;max-width:120px}details{color:#9b8a71;border-color:#c8b7933b}.play[aria-pressed=true]{background:#9a7846;color:#fff9ed}
@media(min-width:1600px){main{grid-template-columns:130px minmax(0,1fr) 410px}.era h1{font-size:40px}.era p{font-size:14px;max-width:490px}.view-toolbar{top:158px}.article{padding:0 27px 24px}.chain li{font-size:14px}}
@media(max-width:1190px){main{grid-template-columns:109px minmax(0,1fr) 330px}.era{left:20px;right:15px;gap:9px}.era h1{font-size:28px}.era p{max-width:290px;font-size:12px}.year-box{padding:7px 8px}.year-input-row input{font-size:23px;width:62px}.year-input-row select{width:45px;font-size:11px}.year-box label{font-size:10px}.view-toolbar{left:20px;top:155px;gap:7px}.site-picker{max-width:170px}.mini-facts{display:none}.scene-caption{left:20px;top:208px}.map-controls{bottom:185px}.legend{left:20px;bottom:165px}.insight{left:15px;right:15px;min-height:129px}.insight .number{display:none}.detail-disclosure{left:20px;bottom:198px}.article{padding:0 19px 22px}.ticks .tick-title{font-size:10px}}
@media(max-width:800px){header{min-height:102px;height:auto;padding:12px 15px}.brand small{display:none}.brand strong{font-size:22px}main{height:auto;grid-template-columns:90px minmax(0,1fr);min-height:0}.stage{height:730px}.timeline{height:730px;padding:17px 7px;gap:12px}.rail{gap:2px}.timeline .caption{font-size:10px;letter-spacing:1px}.timeline .play{width:75px}.ticks button{min-height:50px}.year-nudge{gap:4px}.year-nudge button{font-size:11px;padding:4px 6px}.era{left:17px;top:18px;right:13px;display:block}.era h1{font-size:27px;max-width:calc(100% - 4px)}.era p{font-size:12px;max-width:100%}.era .date{display:none}.year-box{position:absolute;left:0;top:129px;padding:5px 8px}.year-box label{display:none}.year-input-row input{font-size:20px}.year-box .approx{font-size:10px}.view-toolbar{top:202px;left:17px;right:13px;gap:6px}.view-switch button{padding:6px 8px;font-size:12px}.site-picker{max-width:160px;font-size:12px}.scene-caption{top:254px;left:18px;font-size:10px}.compass{display:none}.mini-facts{display:none}.legend{left:15px;font-size:10px;bottom:174px;max-width:200px}.insight{left:12px;right:12px;bottom:16px;min-height:140px;padding:11px 13px}.insight h3{font-size:14px}.insight p{font-size:11px}.map-controls{bottom:190px;right:12px}.map-controls button{padding:6px;min-width:30px;font-size:12px}.map-controls #terrain{display:none}.detail-disclosure{bottom:224px;left:15px}.detail-disclosure p{max-width:250px}.pin.detail-pin{font-size:10px}.pin{font-size:11px;padding:3px 6px}.year-error{display:none}aside{grid-column:1 / -1;min-height:690px}.article{padding:0 24px 24px}.tabs button{font-size:14px}.chain li{font-size:14px}.library-head{padding:21px 24px}}
main{grid-template-rows:minmax(0,1fr)}.stage,.timeline{min-height:0}.timeline{overflow:hidden}.rail{min-height:0}#viewport,.labels{inset:255px 0 180px}.mini-facts{display:none}.source-access{bottom:157px}
@media(max-width:800px){main{grid-template-rows:auto auto}#viewport,.labels{inset:325px 0 210px}.stage,.timeline{height:880px}}

.pin::after{height:var(--stem,9px);bottom:calc(-1 * var(--stem,9px))}.pin.detail-pin::after{height:var(--stem,9px);bottom:calc(-1 * var(--stem,9px))}

.theme-row{position:absolute;top:193px;left:26px;right:20px;z-index:3;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.theme-row label{font-size:12px;color:#7c674a}.theme-row select{padding:6px 9px;border:1px solid #baa67c77;border-radius:5px;background:#fff9ed;color:#725b3b;font-size:12px}.topic-years{display:flex;gap:4px;flex-wrap:wrap}.topic-years button{font-size:10px;padding:4px 6px;background:#fff9edcc;color:#8b673c}.scene-caption{top:239px}.compass{top:252px}.mini-facts{top:286px}.insight{min-height:140px}.legend{bottom:179px;max-width:60%}.map-controls{bottom:191px}.source-access{position:absolute;bottom:157px;left:27px;z-index:3;font-size:11px;padding:3px 7px;background:#fffaf0dd;color:#886e46}.source-modal{width:min(680px,92vw);max-height:82vh;border:1px solid #c9b28a;border-radius:10px;padding:25px;background:#fffaf0;color:#67543d;box-shadow:0 20px 80px #2d231949}.source-modal::backdrop{background:#30281765}.source-modal h2{font:25px 'Songti SC',serif;margin:0 0 15px}.source-modal a{display:block;margin:9px 0;font-size:13px}.source-modal p{font-size:13px;margin:14px 0}.source-modal #close-sources{float:right}.year-box{max-width:160px}.era p{max-width:430px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.article .summary{color:#70624f}.insight p{color:#6e624f}.source-access:focus-visible{outline:2px solid #8d622f}.mode{flex-wrap:wrap}
@media(max-width:1190px){.theme-row{left:20px;top:198px}.topic-years{max-width:230px}.scene-caption{top:253px;font-size:10px}.legend{bottom:180px;max-width:70%}.source-access{bottom:157px;left:20px}.year-box{padding:6px;max-width:133px}.era h1{font-size:24px}.map-controls{bottom:210px}.insight{min-height:140px}}
@media(max-width:800px){.theme-row{top:245px;left:17px;right:12px;gap:5px}.topic-years{max-width:240px}.scene-caption{top:315px;max-width:85%}.source-access{bottom:159px;left:15px}.legend{bottom:183px;font-size:10px}.insight{min-height:140px}.map-controls{bottom:213px}.era h1{font-size:25px}.year-box{max-width:150px}.stage,.timeline{height:810px}.prototype{display:none}}


/* v0.3 continuous camera */
.tour-toolbar{display:none}.tour-active main{height:calc(100dvh - 76px);min-height:780px;grid-template-columns:122px minmax(0,1fr) 335px}.tour-active .view-toolbar,.tour-active .theme-row,.tour-active #terrain{display:none}.tour-active .tour-toolbar{position:absolute;z-index:4;top:144px;left:26px;right:25px;display:flex;flex-wrap:wrap;align-items:center;gap:10px}.tour-stops{display:flex;background:#fbf6e9;border:1px solid #b5a07877;border-radius:5px;padding:3px}.tour-stops button{font-size:13px;border:0;padding:6px 12px;color:#8b7557}.tour-stops .active{background:#896746;color:#fff7e7}.tour-range{display:flex;gap:8px;align-items:center;width:100%;font-size:11px;color:#8e7a5a}.tour-range input{flex:1;accent-color:#8b7147;max-width:310px;min-width:80px}.tour-range #tour-level{min-width:42px}.tour-range #tour-scale{white-space:nowrap}#tour-roof{position:absolute;right:0;top:3px;font-size:11px;padding:7px;color:#827256;background:#fff9ee;border-color:#b9aa8d66}.tour-active .scene-caption{top:230px;letter-spacing:0}.tour-active #viewport,.tour-active .labels{inset:260px 0 173px}.tour-active .compass{top:260px;right:22px}.tour-active .insight{bottom:20px;min-height:100px}.tour-active .legend{bottom:149px;max-width:65%}.tour-active .source-access{bottom:132px}.tour-active .map-controls{bottom:181px}.tour-active .era h1{font-size:30px}.tour-active .era p{max-width:390px}.tour-active .stage{background:radial-gradient(ellipse at 50% 60%,#eee6d0,#dfd6bf)}.render-status{position:absolute;right:22px;top:242px;font-size:10px;color:#9b8057;z-index:3}.tour-active .pin{font-size:11px}.tour-active .tick-title{font-size:10px}.tour-active .source-modal h3{font-size:16px}.tour-active .tour-pin::after{height:9px;bottom:-9px}.tour-active .regions button{font-size:13px}
@media(max-width:1150px){.prototype{display:none}.tour-active main{grid-template-columns:105px minmax(0,1fr) 300px}.tour-active .era h1{font-size:25px}.tour-active #tour-roof{position:static}.tour-active .tour-toolbar{top:150px;gap:5px}.tour-stops button{padding:5px 9px}.tour-active .tour-range{order:3}.tour-active .scene-caption{top:242px;font-size:10px}}
@media(max-width:800px){.tour-active main{height:auto;grid-template-columns:88px minmax(0,1fr);min-height:0}.tour-active header{gap:8px}.tour-active .regions button{font-size:11px;padding:7px 9px}.tour-active .stage,.tour-active .timeline{height:900px}.tour-active .tour-toolbar{top:206px;left:16px;right:12px}.tour-active .tour-stops button{padding:5px 7px;font-size:12px}.tour-active .scene-caption{top:319px;left:17px;max-width:90%}.tour-active #viewport,.tour-active .labels{inset:345px 0 200px}.tour-active .insight{min-height:145px}.tour-active .legend{bottom:182px}.tour-active .source-access{bottom:163px}.tour-active .map-controls{bottom:210px}.tour-active aside{grid-column:1 / -1}}


/* v0.4: 中国子视图、统一时间刻度、默认地图平移 */
.china-nav{display:none;height:42px;align-items:center;gap:7px;padding:0 25px 0 146px;background:#f4eee1;border-bottom:1px solid #b7a78a48}.china-active .china-nav{display:flex}.china-nav span{font-size:12px;color:#9c886a;margin-right:8px}.china-nav button{font-size:13px;padding:4px 14px;border:0;color:#847155}.china-nav button.active{background:#e4d7c0;color:#765430}.china-active main{height:calc(100dvh - 118px)}.tour-active main{min-height:740px}.rail{display:block;overflow-y:auto;overflow-x:hidden;position:relative;scrollbar-width:thin}.axis-track{position:relative;height:100%;width:100%}.rail #time{position:absolute;left:0;top:18px;margin:0;width:20px;height:calc(100% - 36px);appearance:none;-webkit-appearance:none;background:transparent;writing-mode:vertical-lr;direction:ltr}.rail #time::-webkit-slider-runnable-track{width:4px;border-radius:3px;background:#c1ac87}.rail #time::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:16px;height:16px;background:#88673f;border:2px solid #faf5e9;border-radius:50%;margin-left:-6px;box-shadow:0 0 0 1px #92764b}.rail #time::-moz-range-track{width:4px;background:#c1ac87}.rail #time::-moz-range-thumb{width:12px;height:12px;background:#88673f;border:2px solid #faf5e9}.ticks{position:absolute;left:27px;right:0;top:0;height:100%;overflow:visible;display:block;padding:0}.ticks button{position:absolute;left:0;width:100%;transform:translateY(-50%);margin:0;padding:2px 4px;min-height:0;max-height:49px;line-height:1.25;border-left:2px solid transparent}.ticks button.active{border-left-color:#9e7037}.ticks button.known{color:#947343;border-left:2px dotted #b49a71}.ticks button b{font-size:13px}.ticks .tick-title{font-size:10px;line-height:1.25}.axis-note{font-size:9px;color:#9a8666;white-space:nowrap}.year-nudge button{padding:3px 5px;white-space:nowrap;font-size:11px}.tour-active #viewport{cursor:grab}.tour-active #viewport.dragging{cursor:grabbing}.drag-modes{display:flex;gap:3px}.drag-modes button{font-size:11px;padding:5px 8px;color:#836d4d;border:1px solid #b5a07877;background:#fbf6e9}.drag-modes button[aria-pressed=true]{color:#fff8e9;background:#896746}.tour-active .tour-toolbar{top:140px;gap:8px}.tour-range{order:4}.tour-active #tour-roof{position:static;margin-left:auto}.tour-active .scene-caption{top:233px}.tour-active .source-access{bottom:130px}.tour-active .legend{bottom:157px;max-width:75%}.tour-active .map-controls{bottom:181px}#labels{touch-action:none;user-select:none}.tour-active .stage{background:radial-gradient(ellipse at 50% 60%,#eee6d0,#dfd6bf)}.render-status{position:absolute;right:22px;top:242px;font-size:10px;color:#9b8057;z-index:3}
@media(max-width:1150px){.tour-active .tour-toolbar{top:148px}.tour-active .scene-caption{top:253px}.tour-active #viewport,.tour-active .labels{inset:275px 0 173px}}
@media(max-width:800px){.china-nav{padding-left:15px}.china-active main{height:auto}.china-nav button{font-size:12px;padding:4px 10px}.tour-active .tour-toolbar{top:207px}.tour-active .scene-caption{top:330px}.tour-active #viewport,.tour-active .labels{inset:353px 0 200px}.tour-active #tour-roof{margin:0}.axis-note{white-space:normal;line-height:1.3;text-align:center}.ticks{left:21px}.ticks button{padding:1px 2px}.tour-active .legend{bottom:183px}.tour-active .source-access{bottom:163px}.tour-active .map-controls{bottom:212px}}


.earth-active #viewport{cursor:grab}.earth-active #viewport.dragging{cursor:grabbing}.earth-active .map-controls{z-index:5;align-items:center;gap:5px;bottom:181px}.earth-active .map-controls .drag-modes{margin-right:10px}.earth-active .map-controls .drag-modes button{min-width:auto;padding:6px 9px;font-size:12px}.earth-active .stage{background:radial-gradient(ellipse at 48% 52%,#f6f0df,#e7dfca)}.earth-active .compass{z-index:3}.earth-active .legend{bottom:153px}.earth-active .source-access{bottom:129px}.earth-active .prototype{font-size:11px}.earth-active .regions button{font-size:13px;padding:8px 17px}.earth-active .view-toolbar{gap:7px}.earth-active .scene-caption{letter-spacing:0}.earth-active .pin{font-size:11px}.earth-active .map-controls button[aria-pressed=true]{background:#896746;color:#fff8e9}.earth-active .source-modal p{line-height:1.8}
@media(max-width:800px){.earth-active .regions button{padding:6px 9px;font-size:12px}.earth-active .map-controls{bottom:213px;left:15px;right:12px;justify-content:flex-end;gap:3px}.earth-active .map-controls .drag-modes{margin-right:auto}.earth-active .map-controls .drag-modes button{font-size:10px;padding:5px}.earth-active .legend{bottom:182px}.earth-active .source-access{bottom:163px}}

/* v0.6: flowing layout; no text is positioned over the map. */
body.layout-v6{--timeline-width:220px}
.layout-v6>header{height:72px;min-height:72px;flex-wrap:nowrap;padding:0 24px;gap:20px}
.layout-v6 .brand{flex-shrink:0}.layout-v6 .prototype{white-space:nowrap}
.layout-v6 main{height:calc(100dvh - 72px);min-height:650px;grid-template-columns:var(--timeline-width) minmax(0,1fr) clamp(300px,25vw,380px);grid-template-rows:minmax(0,1fr)}
.layout-v6 .timeline{position:relative;width:auto;height:auto;min-height:0;padding:20px 16px 16px;gap:12px;overflow:visible;background:#f8f3e7}
.layout-v6 .timeline .caption{align-self:flex-start;font-size:13px;letter-spacing:2px;padding-left:12px}
.layout-v6 .rail{width:100%;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;overscroll-behavior:contain}
.layout-v6 .ticks{left:30px;right:3px}.layout-v6 .ticks button{padding:5px 8px;line-height:1.4;max-height:66px}
.layout-v6 .ticks button b{font:15px/1.4 Georgia}.layout-v6 .ticks .tick-title{display:block;font-size:12px;line-height:1.4;white-space:normal}
.layout-v6 .axis-note{font-size:11px;letter-spacing:0;white-space:normal;text-align:center}
.layout-v6 .year-nudge{gap:8px}.layout-v6 .year-nudge button{font-size:12px;padding:5px 12px}.layout-v6 .play{width:100%;font-size:13px;padding:8px}
.sidebar-resizer{position:absolute;z-index:12;right:-6px;top:0;bottom:0;width:12px;cursor:col-resize;touch-action:none;outline-offset:-3px}
.sidebar-resizer::after{content:'';position:absolute;left:5px;top:0;bottom:0;width:2px;background:#b6a17b45;transition:background .15s}
.sidebar-resizer::before{content:'⋮';position:absolute;top:48%;left:-2px;width:16px;text-align:center;line-height:40px;height:40px;border:1px solid #b7a58470;border-radius:7px;background:#f8f2e6;color:#9b8158}
.sidebar-resizer:hover::after,.sidebar-resizer:focus::after{background:#9b7544}.layout-v6.resizing-sidebar{cursor:col-resize;user-select:none}.resizing-sidebar *{cursor:col-resize!important}
.layout-v6 .stage{height:auto;min-height:0;display:grid;grid-template-rows:auto minmax(280px,1fr) auto;overflow:hidden;background:#eee6d3}
.map-header{padding:20px 24px 12px;background:#f1ead8;border-bottom:1px solid #b7a78a48;min-width:0}
.layout-v6 .era{position:static;inset:auto;max-width:none;display:flex;justify-content:space-between;gap:22px;pointer-events:auto;align-items:flex-start}
.layout-v6 .era>div:first-child{min-width:0}.layout-v6 .era h1{font-size:30px;line-height:1.35;letter-spacing:2px;margin:4px 0 7px}
.layout-v6 .era p{max-width:660px;display:block;overflow:visible;font-size:13px;line-height:1.65;color:#7c705b;text-shadow:none}
.layout-v6 .era .date{font-size:12px;line-height:1.5;margin-top:6px}
.layout-v6 .year-box{padding:8px 10px;width:148px;max-width:148px;box-shadow:none}.layout-v6 .year-input-row input{font-size:25px}.layout-v6 .year-error{display:block}
.workspace-toolbar{display:flex;align-items:center;gap:12px;overflow-x:auto;overflow-y:hidden;padding:12px 0 5px;scrollbar-width:thin;scrollbar-color:#c6b596 transparent;min-width:0;white-space:nowrap}
.layout-v6 .china-nav,.layout-v6 .view-toolbar,.layout-v6 .theme-row,.layout-v6 .tour-toolbar{position:static;inset:auto;height:auto;min-height:0;padding:0;margin:0;max-width:none;flex:0 0 auto;flex-wrap:nowrap;align-items:center;gap:8px;border:0;background:none;box-shadow:none}
.layout-v6 .china-nav{display:none}.layout-v6.china-active .china-nav{display:flex}.layout-v6 .china-nav>span{display:none}
.layout-v6 .view-toolbar,.layout-v6 .theme-row{display:flex}.layout-v6 .tour-toolbar{display:none}.layout-v6.tour-active .view-toolbar,.layout-v6.tour-active .theme-row{display:none}.layout-v6.tour-active .tour-toolbar{display:flex}
.layout-v6 .china-nav,.layout-v6 .view-switch,.layout-v6 .tour-stops{border:1px solid #bba98766;background:#fbf7ed;border-radius:6px;padding:3px;display:flex;gap:2px;box-shadow:none}
.layout-v6:not(.china-active) .china-nav{display:none}
.layout-v6 .china-nav button,.layout-v6 .view-switch button,.layout-v6 .tour-stops button{font-size:12px;padding:6px 10px;height:32px;line-height:20px;white-space:nowrap;border:0;border-radius:4px;color:#7e6b4e}
.layout-v6 .china-nav button.active,.layout-v6 .view-switch button.active,.layout-v6 .tour-stops button.active{background:#88673f;color:#fff8eb}
.layout-v6 .site-picker,.layout-v6 .theme-row select{height:40px;padding:6px 9px;font-size:12px;background:#fbf7ed;border:1px solid #bba98766;border-radius:6px}
.layout-v6 .theme-row label{font-size:12px}.layout-v6 .topic-years{display:flex;flex-wrap:nowrap;max-width:none}.layout-v6 .topic-years button{font-size:11px;padding:6px 8px}
.layout-v6 .tour-range{order:0;width:auto;min-width:240px;gap:7px;font-size:11px}.layout-v6 .tour-range input{width:135px;flex:none;min-width:90px;max-width:180px}.layout-v6 #tour-roof{position:static;margin:0;padding:9px;white-space:nowrap;height:40px}
.map-notes{margin-top:6px;display:flex;justify-content:space-between;align-items:flex-start;gap:16px;min-width:0}
.map-notes-copy{min-width:0;flex:1}.layout-v6 .scene-caption,.layout-v6 .legend{position:static;inset:auto;max-width:none;pointer-events:auto;font-size:11px;line-height:1.65;letter-spacing:0;color:#8b7859}
.layout-v6 .legend:empty{display:none}.note-actions{display:flex;align-items:center;gap:7px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;max-width:300px}
.layout-v6 .source-access,.layout-v6 #check-render{position:static;inset:auto;margin:0;padding:4px 7px;font-size:11px;line-height:1.5;background:#fbf6e9;color:#886e46;white-space:nowrap}
.layout-v6 .render-status{position:static;inset:auto;font-size:11px;line-height:1.5;color:#5e7756;background:#e7ecdc;padding:3px 7px;border-radius:4px}
.layout-v6 .render-status.compatibility{color:#956126;background:#f1e1c4}
.render-note{font-size:11px;line-height:1.5;margin-top:5px;color:#8a6841}.render-note[hidden]{display:none}
.map-scene{position:relative;min-width:0;min-height:0;overflow:hidden;background:radial-gradient(ellipse at 48% 52%,#f6f0df,#e7dfca)}
.layout-v6 #viewport,.layout-v6 #labels{position:absolute;inset:0!important;min-height:0}
.layout-v6 .map-controls{position:absolute;inset:auto 16px 16px auto;align-items:center;gap:5px;z-index:4;max-width:calc(100% - 24px)}
.layout-v6 .map-controls .drag-modes{margin-right:6px}.layout-v6 .map-controls button{height:36px;min-width:36px;font-size:12px;padding:5px 10px;box-shadow:0 2px 8px #60461612}
.layout-v6 .compass{display:block;position:absolute;top:17px;right:19px;z-index:3}.layout-v6 .loading{z-index:5}
.layout-v6 .insight{position:static;inset:auto;margin:12px 16px 14px;min-height:0;max-height:126px;overflow:auto;padding:12px 16px;gap:14px;box-shadow:none;backdrop-filter:none;align-items:center}
.layout-v6 .insight .number{display:block;font-size:30px;padding-right:14px}.layout-v6 .insight h3{font-size:15px;margin-bottom:3px}.layout-v6 .insight p{font-size:12px;line-height:1.6}.layout-v6 .time-context{font-size:11px}
.layout-v6 aside{min-height:0;height:auto;grid-column:auto}.layout-v6 .library-head{padding:20px 20px 14px}.layout-v6 .mode{margin:14px 20px 10px}.layout-v6 .entry-select{margin:0 20px 14px;width:calc(100% - 40px)}.layout-v6 .article{padding:0 20px 22px}.layout-v6 .article h2{font-size:25px}.layout-v6 .tabs button{font-size:12px}
.render-dialog{width:min(570px,92vw);border:1px solid #c9b28a;border-radius:10px;padding:26px;background:#fffaf0;color:#67543d;box-shadow:0 20px 80px #2d231949}
.render-dialog::backdrop{background:#30281765}.render-dialog h2{font:25px 'Songti SC',serif;margin:0 0 16px}.render-dialog p{font-size:13px;line-height:1.8;margin:12px 0}.render-dialog dl{font-size:13px;display:grid;grid-template-columns:110px 1fr;gap:10px}.render-dialog dt{color:#8b7756}.render-dialog dd{margin:0}.render-dialog #close-render{float:right;font-size:12px}.render-dialog #retry-render{background:#88673f;color:#fff8eb;border:0}.render-dialog pre{font:11px/1.6 monospace;white-space:pre-wrap;word-break:break-word;max-height:170px;overflow:auto}.render-dialog details{margin-top:15px}.render-dialog a{color:#88622e}
@media(min-width:1700px){.layout-v6 .map-header{padding:24px 28px 14px}.layout-v6 .era h1{font-size:35px}.layout-v6 .era p{max-width:750px}.layout-v6 .workspace-toolbar{gap:16px}.layout-v6 .china-nav button,.layout-v6 .view-switch button,.layout-v6 .tour-stops button{font-size:13px;padding:6px 13px}.layout-v6 .ticks .tick-title{font-size:13px}}
@media(max-width:1250px){.layout-v6 .prototype{display:none}.layout-v6 .map-header{padding:16px 18px 10px}.layout-v6 .era h1{font-size:26px}.layout-v6 .map-notes{flex-direction:column;gap:5px}.layout-v6 .note-actions{max-width:none;justify-content:flex-start}.layout-v6 .year-box{width:130px;max-width:130px}.layout-v6 .map-controls{right:12px;bottom:12px}.layout-v6 .map-controls button{padding:4px 7px}.layout-v6 .era .eyebrow{font-size:11px}}
@media(max-width:1100px){.layout-v6 main{height:auto;min-height:0;grid-template-columns:var(--timeline-width) minmax(0,1fr);grid-template-rows:minmax(710px,calc(100dvh - 72px)) 660px}.layout-v6 aside{grid-column:1 / -1;min-height:0;border-top:1px solid var(--line)}.layout-v6 .article{overflow:auto}.layout-v6 .era{gap:12px}.layout-v6 .brand strong{font-size:21px}.layout-v6 .brand small{display:none}.layout-v6 .regions button{font-size:12px;padding:7px 10px}.layout-v6 .map-header{padding:14px}.layout-v6 .era h1{font-size:23px}}
@media(max-width:620px){body.layout-v6{--timeline-width:180px}.layout-v6>header{height:auto;min-height:92px;flex-wrap:wrap;justify-content:center;padding:12px;gap:10px}.layout-v6 main{grid-template-rows:900px 660px}.layout-v6 .era{flex-direction:column;gap:10px}.layout-v6 .year-box{align-self:flex-start}.layout-v6 .timeline{padding:15px 10px}.layout-v6 .era h1{font-size:21px}.layout-v6 .map-controls{left:9px;right:9px;justify-content:flex-end;flex-wrap:wrap;gap:4px}.layout-v6 .map-controls .drag-modes{margin:0}.layout-v6 .insight{margin:10px;padding:10px}.layout-v6 .insight .number{display:none}}

.layout-v7 .china-nav,.layout-v7 .view-toolbar,.layout-v7 .tour-stops{display:none!important}
.time-filters{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:10px 0;font-size:12px}.time-filters label{display:flex;align-items:center;gap:4px;white-space:nowrap}.time-filters input{accent-color:#92714c}.time-filters button{grid-column:1/-1;font-size:11px;padding:4px;background:transparent}
.layout-v7 .ticks{left:22px;right:0}.layout-v7 .time-row{position:absolute;left:0;right:0;transform:translateY(-50%);border-top:1px solid #aa967e40;padding-top:4px}.layout-v7 .time-row>b{font:12px Georgia,serif;color:#80613f;display:block;margin-bottom:3px}.layout-v7 .time-cells{display:grid;gap:5px}.layout-v7 .time-cell{min-width:0;border-left:2px solid #95826355;padding-left:4px}.layout-v7 .time-cell.west{border-color:#658b8e88}.layout-v7 .time-cell button{position:static;transform:none;display:block;text-align:left;width:100%;padding:1px 0;margin:0;font-size:11px;line-height:1.35;color:#695a44;border:0;border-radius:0;background:none;white-space:normal}.layout-v7 .time-cell.west button{color:#416a70}.layout-v7 .time-cell button::before{display:none}.layout-v7 .time-empty{font-size:11px;color:#b7ac99}.layout-v7 .time-row.active{background:#ddcba24d;box-shadow:0 -2px #a77d44}.layout-v7 .axis-note{font-size:10px;white-space:normal}.detail-destinations{display:flex;gap:7px;align-items:center;white-space:nowrap;font-size:12px}.detail-destinations select{max-width:170px;padding:5px;background:#f8f2e5;border:1px solid #d3c3a4;color:#6c5940}.layout-v7 .tour-toolbar{display:flex!important}.layout-v7 .tour-range{display:flex!important}.height-scale{display:block;color:#8b6132;font-size:12px;margin-top:4px}.layout-v7 #terrain-angle{font-size:12px;padding:5px 8px}.layout-v7 .era h1{font-size:30px}.layout-v7 .era p{min-height:32px}

.asset-status{font-size:11px;color:#567459;background:transparent;border:0;padding:3px}.asset-status.resource-error{color:#9c713c}.resource-usage{border-top:1px solid #d9c9aa;margin-top:20px;padding-top:12px}.resource-usage pre{font:12px/1.8 monospace;white-space:pre-wrap}.resource-usage p{font-size:12px}.layout-v7 .detail-destinations select{max-width:185px}

/* 历史地球 v1.1：保持原有暖色空间，将来源和年代放在可阅读的位置。 */
.atlas-tabs{display:flex;gap:4px;padding:0 18px 12px;border-bottom:1px solid #d7c9af}.atlas-tabs button{flex:1;border:0;border-radius:5px;padding:9px 5px;font-size:12px;background:#eae1cf;color:#756046}.atlas-tabs [aria-selected=true]{background:#806745;color:#fff8e9}
#atlas-explorer{padding:18px 20px 24px;overflow:auto;flex:1;min-height:0;color:#574b38;font-size:13px;line-height:1.8}#atlas-explorer[hidden],aside [hidden]{display:none!important}#atlas-explorer h2{font:26px/1.3 'Songti SC',serif;margin:4px 0 12px}#atlas-explorer p{margin:10px 0}#atlas-explorer a{display:block;font-size:12px;margin-top:10px;color:#836541;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.atlas-panel-heading p{font-size:11px;color:#8c7a60}.civilization-group{margin:18px 0}.civilization-group>summary,.evolution-entry>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;list-style:none}.civilization-group>summary::-webkit-details-marker,.evolution-entry>summary::-webkit-details-marker{display:none}.civilization-group>summary:after,.evolution-entry>summary:after{content:'收起';font-size:10px;color:#9a886c}.civilization-group:not([open])>summary:after,.evolution-entry:not([open])>summary:after{content:'展开'}.civilization-group h3{font-size:11px;letter-spacing:2px;color:#907e64;margin:0}.civilization-group>summary small,.evolution-entry>summary small{margin-left:auto;color:#9a886c;font-size:10px}.civilization-card{display:flex;flex-direction:column;align-items:flex-start;width:100%;text-align:left;background:#f8f2e6;border:1px solid #d9ccb7;border-left:4px solid var(--civilization);padding:12px 13px;border-radius:5px;margin:7px 0;transition:background .15s}.civilization-card:hover{background:#ede3d0}.civilization-card strong{font-size:15px;color:#51422d}.civilization-card span{font-size:11px;color:#85745a}.civilization-card small{font-size:11px;color:#8c653c;margin-top:5px}.atlas-footnote,.atlas-empty{font-size:11px;color:#93836a;line-height:1.7}.history-controls{display:flex;align-items:center;gap:13px;flex-wrap:wrap;font-size:11px;padding:9px 0 3px;color:#6f624c}.history-controls label{display:flex;align-items:center;gap:4px;white-space:nowrap}.history-controls input{accent-color:#92714c}#history-map-key{color:#947049;font-size:10px;max-width:100%;overflow-wrap:anywhere}#landmark-search{box-sizing:border-box;width:100%;padding:10px 12px;border:1px solid #d8c8ad;border-radius:5px;background:#fffbf2;margin:8px 0;color:#62523e}.landmark-list{display:flex;flex-direction:column;gap:8px}.landmark-card{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:#f6efe1;border:1px solid #dacfba;border-radius:5px;padding:12px}.landmark-card strong{display:block;font-size:14px}.landmark-card small{display:block;color:#8c795e;font-size:11px;line-height:1.7}.landmark-card.future{background:transparent;border-style:dashed}.landmark-card.future .landmark-icon{opacity:.4}.landmark-icon{color:#9a7642;font-size:28px;width:35px;text-align:center}.atlas-evidence{background:#ece4d3;padding:14px;border-left:3px solid #a18452;margin:18px 0}.atlas-dates{display:grid;grid-template-columns:80px 1fr;gap:7px;font-size:12px;margin:18px 0}.atlas-dates dt{color:#97846b}.atlas-dates dd{margin:0}#atlas-fly,#atlas-view-map{border:0;background:#806745;color:#fff6e3;padding:11px 15px;border-radius:5px}#atlas-back{border:0;background:none;color:#927451;padding:0 0 18px;font-size:12px}
#history-pins{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:3}.history-pin{position:absolute;left:0;top:0;pointer-events:auto;border:1px solid #b5a07b;border-radius:4px;background:#fcf6e8ed;box-shadow:0 2px 9px #30291620;color:#725637;white-space:nowrap;font-size:11px;padding:5px 9px}.history-pin:before{content:'◆';margin-right:5px;font-size:8px;color:#aa7f40}.history-pin[hidden]{display:none}.layout-v7 .time-cell.world{border-color:#a881ac88}.layout-v7 .time-cell.world button{color:#806386}.layout-v7 .time-cell .territory-jump{color:#93612b;font-weight:600}.layout-v7 .era p{font-size:12px;max-height:56px;overflow:auto}.layout-v7 .time-filters{grid-template-columns:1fr 1fr}.layout-v7 .time-filters button{grid-column:auto}.layout-v7 .map-notes-copy{min-width:160px}.layout-v7 .map-controls{z-index:5}
@media(min-width:1250px){body.layout-v7{--timeline-width:270px}}
@media(max-width:620px){.layout-v7 main{display:flex;flex-direction:column;height:auto}.layout-v7 .timeline{height:350px;min-height:350px;width:auto;box-sizing:border-box}.layout-v7 .stage{height:940px;min-height:940px}.layout-v7 aside{height:700px}.layout-v7 .history-controls{gap:7px}.layout-v7 .sidebar-resizer{display:none}.layout-v7 .map-header{padding:12px}.layout-v7 .tour-range{min-width:0;flex-wrap:wrap}.layout-v7 .tour-range input{width:130px}.layout-v7 .era{flex-direction:row}.layout-v7 .era p{max-height:80px;font-size:11px}.layout-v7 .year-box{min-width:100px}.layout-v7 .compass{right:10px}}
body.atlas-immersive main{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr)!important;height:calc(100dvh - 72px)!important;min-height:600px}.atlas-immersive .timeline,.atlas-immersive aside{display:none!important}.atlas-immersive .stage{grid-column:1;min-height:0!important;height:auto!important}.atlas-immersive .map-header{padding:12px 22px 8px}.atlas-immersive .era{align-items:center}.atlas-immersive .era .eyebrow,.atlas-immersive #era-desc,.atlas-immersive #era-date,.atlas-immersive .approx,.atlas-immersive .map-notes,.atlas-immersive .insight{display:none!important}.atlas-immersive .era h1{font-size:24px;margin:0}.atlas-immersive .year-box{padding:6px 10px}.atlas-immersive .workspace-toolbar{margin-top:5px}.atlas-immersive .history-controls{padding:4px 0}.atlas-immersive .map-controls{bottom:20px}.atlas-immersive .history-pin{font-size:12px}
.layout-v7 .time-cell button.period-context{color:#9a8e78;font-size:10px}.period-context small{font-size:9px;opacity:.65;display:block}.layout-v7 .time-cell.west .period-context{color:#7e9697}
.layout-v7 .year-box{position:static;inset:auto;flex-shrink:0}.layout-v7 .era>div:first-child{min-width:0;flex:1}
@media(max-width:620px){.layout-v7 .timeline{height:420px;min-height:420px}.layout-v7 .era{gap:10px}.layout-v7 .year-box{width:115px;max-width:115px}.layout-v7 .year-input-row input{width:48px;font-size:21px}.layout-v7 .year-input-row select{width:40px}.layout-v7 .year-box .approx{display:none}}

/* v1.2: 阶段选择可回读、可切换，选中时期与地球保持同步。 */
.territory-stages{display:grid;gap:6px;margin:16px 0}.territory-stages button{text-align:left;background:#f4eddf;border:1px solid #d6c6aa;border-radius:5px;padding:10px 12px;color:#776044}.territory-stages button[aria-pressed="true"]{background:#806745;color:#fff5df;border-color:#806745}.territory-stages strong,.territory-stages span{display:block}.territory-stages span{font-size:10px;opacity:.8}.atlas-evidence button{display:block;margin-top:10px}.landmark-card:after{content:'进入 ↗';margin-left:auto;flex-shrink:0;font-size:10px;color:#806745}.history-pin{background:#fff8e9f5;color:#55432b;box-shadow:0 2px 9px #30291630}#history-map-key{max-height:42px;overflow:auto}.map-scene{scroll-margin-top:12px}
@media(min-width:621px) and (max-width:1100px){.layout-v7 main{grid-template-rows:minmax(820px,calc(100dvh - 72px)) 660px}.layout-v7 .stage{grid-template-rows:auto minmax(380px,1fr) auto}}
@media(max-width:620px){.layout-v7 .workspace-toolbar{flex-wrap:wrap;overflow:visible;gap:9px}.layout-v7 .tour-toolbar{flex:1 1 100%;min-width:0;flex-wrap:wrap}.layout-v7 .tour-range{flex:1 1 100%;gap:7px}.layout-v7 .tour-range input{flex:1;min-width:70px;width:auto}.layout-v7 #tour-scale{font-size:11px}.layout-v7 .stage{grid-template-rows:auto minmax(360px,1fr) auto}}
#territory-labels{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:2}.territory-pin{position:absolute;top:0;left:0;pointer-events:auto;border:1px solid;border-left-width:4px;padding:5px 9px;background:#fff7e9e8;color:#4e3c27;border-radius:3px;font:600 13px 'Songti SC',serif;white-space:nowrap;box-shadow:0 2px 8px #30281925}.territory-pin[hidden]{display:none}

/* Dense historical stages retain a compact, keyboard-accessible navigator. */
.stage-navigator{padding:15px;background:#f3efe6;border:1px solid #d7cbb9;border-radius:12px;margin:18px 0}.stage-navigator label,#civilization-catalog{display:block;width:100%}.stage-navigator select,#civilization-catalog{font:inherit;padding:10px;border:1px solid #c9bda8;border-radius:7px;background:#fffaf0;color:#312e25;width:100%;margin:8px 0 14px}.stage-step{display:flex;gap:10px}.stage-step button{flex:1}.stage-step button:disabled{opacity:.4;cursor:default}.stage-navigator input{width:100%;margin-top:18px;accent-color:#917345}.stage-navigator p{margin:6px 0 0;font-size:13px}.layer-key{display:flex;gap:8px;align-items:center}.layer-key i{display:inline-block;width:12px;height:12px;border-radius:2px}.layer-key small{margin-left:auto}.atlas-evidence a{display:block;overflow-wrap:anywhere}#history-map-key{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#civilization-catalog{margin-bottom:20px}

.building-phases{display:grid;grid-template-columns:1fr;gap:7px;margin:16px 0}.building-phases button{text-align:left}

/* v2.1：历史现场。沿用纸色与山河底图，把细读留在地图旁。 */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.atlas-tabs{grid-template-columns:repeat(4,minmax(0,1fr))!important}.atlas-tabs button{padding:10px 3px;font-size:12px}
#story-entry{background:#806443;color:#fff9ec;border-color:#806443;white-space:nowrap;font-size:12px}
#atlas-explorer.story-panel{padding:22px 20px 32px;color:#443e33}
.story-kicker{display:block;font-size:11px;letter-spacing:1.5px;color:#8b704e;margin-bottom:9px}
#atlas-explorer .story-intro h2{font:26px/1.45 'Songti SC',serif;letter-spacing:1px;margin:0 0 10px}
.story-intro>p,.story-event-heading>p{font-size:13px;line-height:1.8;color:#766e60}
.story-journeys{display:grid;gap:10px;margin:22px 0 30px}
.story-journey{display:flex;align-items:center;gap:12px;text-align:left;padding:15px 12px;background:#f5f0e5;border:1px solid #d9cdb7;color:#4e4539;border-radius:9px;min-width:0}
.story-journey:hover{background:#eee6d4;transform:translateY(-1px)}
.journey-symbol{flex:0 0 39px;height:46px;display:grid;place-items:center;font:33px/1 Georgia;color:var(--journey-color,#8f7251);border:1px solid #b6a27a55;border-radius:50% 50% 8px 8px;background:repeating-radial-gradient(ellipse at 0 120%,transparent 0 7px,#a6946820 8px 9px)}
.story-journey>span:nth-child(2){flex:1;min-width:0}.story-journey strong{display:block;font-size:15px;font-weight:600}.story-journey small,.story-journey em{display:block;font-size:11px;font-style:normal;color:#817560;line-height:1.8}.story-journey em{margin-top:4px;color:var(--journey-color)}.story-journey>b{font-weight:400;color:#9a805c}
.story-catalog h3{font:18px/1.5 'Songti SC',serif;margin-bottom:12px}
#story-search,#story-theme{display:block;width:100%;border:1px solid #ccbea5;border-radius:6px;padding:10px 11px;background:#fffaf1;color:#514838;font-size:13px;min-width:0;margin-bottom:9px}
.story-result-count{font-size:11px;color:#8b7e67;margin:13px 0 5px}
.story-result{display:flex;align-items:center;gap:10px;width:100%;border:0;border-bottom:1px solid #d8ceb9;border-radius:0;padding:13px 0;text-align:left;color:#504639}
.story-result time{font:12px/1.6 Georgia,serif;flex:0 0 70px;color:#957649}.story-result>span{flex:1;min-width:0}.story-result strong{font-size:13px;display:block}.story-result small{font-size:11px;color:#8c7f69;display:block}.story-result>b{font-weight:400}
.story-empty{padding:20px 0;font-size:13px}.story-empty button{color:#795b37;margin-top:12px}
.story-evidence{font-size:11px;color:#94866d;border-top:1px solid #d8cbb4;padding-top:14px;margin-top:25px}
#story-back{border:0;padding:0 0 16px;color:#8b704e;font-size:12px}
.story-progress{padding:12px;background:#ede7d8;border-radius:7px;font-size:11px;margin-bottom:20px;display:flex;flex-wrap:wrap;justify-content:space-between;color:#7a674b}.story-progress>div{display:flex;gap:8px;flex:1 1 100%;margin-top:9px}.story-progress button{flex:1;padding:5px;color:#867b67;background:#f9f5eb;border-color:#cfc0a3;font-size:11px}.story-progress button.visited{border-color:#8a7854}.story-progress button[aria-current=step]{background:#846b47;color:#fff8e8}
#atlas-explorer .story-event-heading h2{font:27px/1.4 'Songti SC',serif;margin:3px 0 12px;letter-spacing:.5px}.story-event-heading{border-bottom:1px solid #d4c5a9;padding-bottom:17px}
.story-actions{display:flex;gap:8px;margin:15px 0 24px}.story-actions button{flex:1;font-size:11px;color:#735c3d;background:#f4ecd9;border:1px solid #cdbb96;padding:10px 6px}.story-actions button:first-child{background:#826845;color:#fff8e7;border-color:#826845}
.story-section{margin-top:25px}.story-section h3{font:18px/1.5 'Songti SC',serif;margin-bottom:13px;color:#514634}.story-section h3>span{font:italic 16px Georgia;color:#b29a6e;margin-right:6px}.story-section-note{font-size:11px;color:#8d8069;margin:-6px 0 12px}
.story-features{display:grid;gap:7px}.story-features button{display:flex;gap:10px;align-items:center;padding:11px;text-align:left;color:#4f6963;background:#edf0e7;border-color:#c5cdbb}.story-features button[aria-pressed=true]{background:#dce6dc;border-color:#638376}.feature-number{display:grid;place-items:center;flex:0 0 24px;height:24px;border:1px solid #7a948b;border-radius:50%;font:12px Georgia}.story-features strong{display:block;font-size:13px}.story-features small{font-size:10px;display:block;color:#7b8c7c}
.story-observation{padding:12px 0 0;font-size:12px;line-height:1.8;color:#5c7166;min-height:50px}
.story-chain{list-style:none;padding:0 0 0 11px;margin:0}.story-chain li{border-left:1px solid #c6b595;padding:0 0 18px 18px;position:relative}.story-chain li:last-child{border:0;padding-bottom:0}.story-chain li:before{content:'';position:absolute;top:5px;left:-4px;width:7px;height:7px;border-radius:50%;background:#a38859}.story-chain b{font-size:11px;color:#9a7d4f;font-weight:500}.story-chain p{font-size:13px;line-height:1.85;margin:4px 0 0;color:#665d4c}
.story-detail{font-size:13px;line-height:1.9;margin:0 0 12px;padding-left:12px;border-left:2px solid #c3b28e}
.story-quiz{padding:17px 14px;background:#f2eee3;border:1px solid #d8cdb7;border-radius:9px}.story-quiz>p{font-size:13px;line-height:1.8}.story-quiz [role=group]{display:grid;gap:7px;margin:13px 0}.story-quiz button{display:flex;align-items:flex-start;gap:10px;text-align:left;padding:10px;background:#fdf9ef;color:#665940;border:1px solid #cfc1a5;font-size:12px}.story-quiz button b{font:13px Georgia;margin-top:3px;color:#9b8053}.story-quiz button.correct{background:#e3eddf;border-color:#78906a}.story-quiz button.incorrect{background:#f3e6db;border-color:#b38767}.story-quiz .story-feedback{font-size:12px;color:#6d765c;margin:0;line-height:1.9}
.story-sources{font-size:11px;line-height:1.9;border-top:1px solid #d3c6ae;margin:25px 0 18px;padding-top:15px;color:#908168}.story-sources summary{cursor:pointer;color:#7d6643;font-size:12px}.story-sources p{margin:12px 0}.story-sources a{display:block;color:#786b4c;overflow-wrap:anywhere;padding:4px 0}.story-sources small{display:block;margin-top:10px}
.story-navigation{display:flex;gap:10px;position:sticky;bottom:-32px;padding:14px 0 10px;background:#faf6ebf5;backdrop-filter:blur(8px);border-top:1px solid #d3c3a2}.story-navigation button{flex:1;background:#806744;color:#fff8e9;border:1px solid #806744;font-size:12px}.story-navigation button:first-child{background:#f3ecdc;color:#806744}.story-navigation button:disabled{opacity:.45}.story-year-mismatch{padding:13px;background:#f1e1c8;color:#7a5b35;font-size:12px;line-height:1.8}.story-year-mismatch button{display:block;margin-top:8px;border:1px solid #9f8050;color:#775a36;font-size:12px}
#story-related{width:100%;font-size:12px;background:#806744;color:#fff8e9}
.story-complete{text-align:center;padding:35px 0}.story-complete .journey-symbol{width:80px;height:100px;margin:0 auto 24px;font-size:60px}.story-complete p{font-size:13px;line-height:1.9;margin:20px 0}.story-complete button{display:block;width:100%;margin:12px 0;background:#806744;color:#fff8e9;font-size:13px}
#story-pins{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:4}.story-pin{position:absolute;top:0;left:0;pointer-events:auto;background:#f9f9edee;color:#3e6965;border:1px solid #7c9e8d;box-shadow:0 3px 12px #4c493526;font-size:12px;white-space:nowrap;padding:7px 12px;border-radius:20px}.story-pin[hidden]{display:none}
#story-dock{position:absolute;top:14px;left:16px;max-width:calc(100% - 80px);display:flex;flex-wrap:wrap;align-items:center;gap:7px 12px;background:#fffaedeb;border:1px solid #cbb98e;border-radius:6px;padding:8px 12px;z-index:5;color:#7b6440;font-size:12px;box-shadow:0 2px 9px #30281915}#story-dock[hidden]{display:none}#story-dock button{font-size:10px;padding:2px 0;color:#8b7654;border:0}
#story-dock .story-dock-place{flex-basis:100%;color:#65502e}.story-pin.is-selected{border-color:#aa7834;background:#fff1ce;box-shadow:0 3px 12px #715c3540}.story-route-question{display:block;margin-top:6px;line-height:1.55;color:#6d654f}
.story-natural #territory-labels,.story-scene-active #history-pins,.story-scene-active #labels{visibility:hidden}
@media(max-width:620px){#atlas-explorer.story-panel{padding:20px 18px 30px}.story-intro{max-width:420px}.story-journey{padding:13px}.atlas-tabs button{font-size:11px}#story-dock{font-size:11px;padding:7px 9px;left:10px;top:10px}.story-pin{font-size:11px;padding:6px 9px}.story-navigation{bottom:-30px}.layout-v7 aside:has(.story-panel){height:850px}.story-navigation button{min-height:42px}}
@media(prefers-reduced-motion:reduce){.story-journey:hover{transform:none}.story-navigation{backdrop-filter:none}}
/* v2.2：沿用纸色与铜色，让历史变迁在既有侧栏内逐步展开。 */
.evolution-entry{margin:24px 0;padding:20px 0;border-top:1px solid #d9cebb;border-bottom:1px solid #d9cebb}.evolution-entry h3,.wonder-summary h3,.wonder-history h3,.wonder-observe h3{font-family:var(--serif,serif);font-size:19px;font-weight:500;margin:0 0 10px}.evolution-entry>p{font-size:13px;color:#7b705f;line-height:1.8}.evolution-cards{display:grid;grid-template-columns:1fr 1fr;gap:9px}.evolution-cards button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:13px 11px;background:#eee6d6;border:1px solid #d9ccb7;border-radius:9px;min-height:86px}.evolution-cards button:hover{background:#e5d7bf;border-color:#997b50}.evolution-cards strong{font-size:14px;line-height:1.6}.evolution-cards small{font-size:11px;line-height:1.7;color:#817057;margin-top:6px}.evolution-stops{display:flex;flex-direction:column;gap:0;margin:20px 0;padding-left:12px;border-left:2px solid #d7c8ad}.evolution-stops button{display:grid;grid-template-columns:72px 1fr;gap:9px;text-align:left;padding:10px 12px;margin:2px 0;background:transparent;border:1px solid transparent;border-radius:7px;position:relative;font-size:12px}.evolution-stops button:before{content:'';position:absolute;left:-18px;top:19px;width:8px;height:8px;border:2px solid #f7f2e7;border-radius:50%;background:#b9a17b}.evolution-stops button[aria-current=step]{background:#e9ddc8;border-color:#cdb898}.evolution-stops button[aria-current=step]:before{background:#735733}.evolution-stops button strong{font-weight:500;line-height:1.65}.evolution-stops button span{color:#907956;line-height:1.65}.evolution-current{padding:18px;background:#ece6d7;border-left:3px solid #9e855d;margin-bottom:15px}.evolution-current h3{font-size:21px;font-family:var(--serif,serif);font-weight:500;margin:8px 0}.evolution-current p{font-size:13px;line-height:1.9}.evolution-current button{margin:6px 4px 0 0}.evolution-reference{padding-top:12px;border-top:1px solid #d3c4ac;color:#776951;font-size:12px!important}.evolution-mismatch{background:#fff8e8;padding:10px}.evolution-sources{margin-top:20px}.wonder-summary,.wonder-history,.wonder-observe{margin-top:25px;padding-top:20px;border-top:1px solid #d9cebb}.wonder-summary p,.wonder-history p,.wonder-observe p{font-size:13px;line-height:1.9}.wonder-summary .atlas-dates{grid-template-columns:80px 1fr;font-size:12px;align-items:start}.wonder-summary dd{line-height:1.9}.wonder-history ol{list-style:none;margin:18px 0;padding:0 0 0 18px;border-left:1px solid #cdbda3}.wonder-history li{position:relative;margin:0 0 20px}.wonder-history li:before{content:'';position:absolute;left:-23px;top:10px;width:8px;height:8px;border-radius:50%;background:#95794f;border:1px solid #f8f3e8}.wonder-history li.later:before{background:#f8f3e8;border-color:#a89172}.wonder-history li>button,.wonder-time{display:inline-block;margin:0 0 7px;padding:4px 8px;font-size:11px;line-height:1.6;color:#755b35;background:#e9dfcc;border:1px solid #cfbfa3;border-radius:5px}.wonder-history li>strong{display:block;font-size:14px;font-weight:500}.wonder-history li p{margin:5px 0 0;color:#6e6556}.wonder-observe>div{margin:15px 0;padding:12px 14px;background:#f0eadf;border-radius:8px}.wonder-observe b{font-size:13px;font-weight:500;color:#7c5f36}.wonder-observe p{margin:6px 0 0}.wonder-observe+details{margin:22px 0}.evolution-stops button:focus-visible,.wonder-history button:focus-visible{outline:2px solid #9b7141;outline-offset:2px}
@media(max-width:600px){.evolution-cards button{min-height:76px}.evolution-current{padding:14px}.wonder-summary .atlas-dates{grid-template-columns:70px 1fr}.evolution-stops button{grid-template-columns:64px 1fr}}

.evolution-stops{max-height:260px;overflow-y:auto;overscroll-behavior:contain}.evolution-stops button{flex-shrink:0}
/* v2.3：主场景集中于地图、年份与内容；可选工具收纳到探索设置。 */
.release-ui .map-header{padding:16px 22px 12px}.release-ui .map-header .era{align-items:center}.release-ui .map-header .era h1{font-size:26px;margin:2px 0}.release-ui .map-header .era .date,.release-ui .map-header .era p,.release-ui .map-header .workspace-toolbar,.release-ui .map-header>.history-controls,.release-ui .map-header .map-notes,.release-ui .map-header #render-note,.release-ui .insight,.release-ui .axis-note,.release-ui #height-scale,.release-ui .resource-usage{display:none!important}.release-ui .stage{grid-template-rows:auto minmax(360px,1fr)}
.explorer-actions{display:flex;gap:9px;margin-top:9px;align-items:center}.explorer-actions button{font-size:12px;padding:7px 10px;min-height:36px;background:#faf5e8;color:#795e39;border-color:#cbb994}.explorer-actions #open-atlas-sources{border:0;background:transparent;font-size:11px;color:#8b795d}
.release-ui .map-controls{right:14px;bottom:151px;flex-wrap:wrap;justify-content:flex-end}.release-ui .map-controls .drag-modes{margin:0}.release-ui .map-controls button{background:#fff9edec}.release-ui .globe-clock{position:absolute;z-index:7;left:20px;right:20px;bottom:14px;padding:10px 15px 8px;border:1px solid #c3af865c;border-radius:12px;background:#fff9eef2;box-shadow:0 5px 24px #644e1e18;backdrop-filter:blur(10px);color:#705936;touch-action:pan-y}.clock-heading{display:flex;gap:12px;align-items:center;justify-content:space-between}.release-ui .globe-clock .year-box{width:auto;max-width:none;min-width:0;padding:0;border:0;background:transparent;box-shadow:none;text-align:left}.globe-clock .year-box>label,.globe-clock .approx{display:none}.release-ui .globe-clock .year-input-row input{width:67px;font-size:25px}.release-ui .globe-clock .year-input-row select{width:50px}.globe-clock .year-error{font-size:10px;max-width:180px}.clock-buttons{display:flex;align-items:center;gap:9px}.clock-buttons button{font-size:12px;min-height:34px;padding:5px 8px}.clock-buttons .year-nudge{gap:3px}.clock-buttons #play{min-width:74px;background:#85663e;color:#fff8e9;border-color:#85663e}.clock-scale{display:flex;align-items:center;gap:5px;font-size:10px;color:#9a8769}.clock-scale select{border:1px solid #d2c3a7;border-radius:5px;background:#fcf5e7;font-size:11px;color:#7a6341;padding:5px}.globe-clock #globe-time{display:block;width:100%;height:30px;margin:6px 0 0;accent-color:#927047;cursor:ew-resize;touch-action:none}.clock-labels{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:#9c8866}.clock-instruction{letter-spacing:2px;color:#8e734d}
.explorer-settings{width:min(630px,calc(100vw - 28px));max-height:calc(100dvh - 40px);overflow:auto;padding:24px;border:1px solid #c9b28a;border-radius:12px;background:#fffaf0;color:#67543d;box-shadow:0 20px 80px #2d231949}.explorer-settings::backdrop{background:#30281765}.settings-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.settings-heading h2{font:25px 'Songti SC',serif}.settings-heading button{font-size:12px}.explorer-settings section{margin:23px 0 0;padding-top:17px;border-top:1px solid #d7c9ac}.explorer-settings h3{font-size:14px;font-weight:500;margin-bottom:12px}.settings-options{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.explorer-settings label{font-size:12px;display:flex;align-items:center;gap:6px}.explorer-settings button{min-height:36px;font-size:12px;padding:6px 9px;color:#795d38;background:#f4ecdc}.explorer-settings input[type=checkbox]{accent-color:#927047;width:16px;height:16px}.explorer-settings .tour-range{min-width:0;max-width:100%;display:flex!important;margin-top:15px;flex-wrap:wrap;font-size:11px}.explorer-settings .tour-range input{flex:1;min-width:70px;max-width:none}.explorer-settings .theme-row{display:flex!important;flex-wrap:wrap;white-space:normal;gap:9px}.explorer-settings .topic-years{display:flex;flex-wrap:wrap;max-width:100%;gap:5px}.explorer-settings .topic-years button{font-size:11px}.explorer-settings .detail-destinations{margin:8px 0 15px;white-space:normal}.explorer-settings .time-filters{display:flex!important;flex-wrap:wrap;gap:15px}.explorer-settings .settings-choice{margin-top:14px}.explorer-settings .settings-note{font-size:11px;line-height:1.8;color:#8d7c60;margin-top:12px}.explorer-settings #settings-map-notes>*{display:block;position:static;font-size:11px;line-height:1.85;margin:8px 0;max-height:none}.release-ui .explorer-settings #tour-roof[hidden]{display:none}.release-ui .explorer-settings #source-toggle{font-size:12px}.release-ui .explorer-settings .render-status{font-size:11px;padding:4px;color:#647952;background:#e8eddf;border-radius:4px}.release-ui .explorer-settings .render-status.compatibility{color:#956126;background:#f1e1c4}
.view-height-indicator{position:absolute;z-index:7;left:22px;bottom:116px;padding:5px 9px;border:1px solid #bda98577;border-radius:5px;background:#fff9eddf;color:#765c39;font-size:11px;line-height:1.2;box-shadow:0 3px 14px #5f49201a;pointer-events:none}.view-height-control{display:grid!important;grid-template-columns:auto minmax(180px,1fr) 82px;gap:10px!important;width:100%;margin-top:14px}.view-height-control input{width:100%;accent-color:#927047}.view-height-control output{text-align:right;font-variant-numeric:tabular-nums}.release-ui.atlas-immersive .view-height-indicator{bottom:90px}
#graphics-guidance{position:absolute;z-index:8;top:20px;left:50%;transform:translateX(-50%);width:min(385px,calc(100% - 40px));background:#fff5dedf;backdrop-filter:blur(10px);border:1px solid #b98e4e;border-radius:10px;padding:15px 17px;box-shadow:0 5px 30px #5b421b22;color:#79562b}#graphics-guidance[hidden]{display:none}#graphics-guidance strong{font-size:15px;font-weight:500}#graphics-guidance p{font-size:12px;line-height:1.75;margin:6px 0 9px}#graphics-guidance button{font-size:11px;padding:5px 9px;min-height:32px}#graphics-help{background:#906933;color:#fff9e9}#dismiss-graphics{border:0;margin-left:7px}.graphics-compatible #open-settings::after{content:' · 兼容显示';font-size:10px;color:#a27537}.release-ui.time-list-hidden main{grid-template-columns:minmax(0,1fr) 372px}.release-ui.time-list-hidden .timeline{display:none}.release-ui .timeline{padding-top:18px}.release-ui .timeline>.caption{margin-bottom:3px}
@media(min-width:1101px){.release-ui main{min-height:650px}.release-ui .map-scene{min-height:360px}}
@media(max-width:1100px) and (min-width:621px){.release-ui main{grid-template-rows:minmax(680px,calc(100dvh - 72px)) 660px}.release-ui.time-list-hidden main{grid-template-columns:1fr}.release-ui .clock-scale{display:none}.release-ui .globe-clock{left:12px;right:12px}.release-ui .clock-heading{gap:5px}}
@media(max-width:620px){.release-ui main{display:flex;flex-direction:column}.release-ui .stage{order:0;height:670px;min-height:670px;grid-template-rows:auto minmax(460px,1fr)}.release-ui .timeline{order:1;height:330px;min-height:330px}.release-ui aside{order:2}.release-ui .map-header{padding:12px 14px}.release-ui .map-header .era h1{font-size:24px}.release-ui .globe-clock{left:10px;right:10px;bottom:10px;padding:10px}.release-ui .clock-heading{flex-wrap:wrap;gap:4px}.release-ui .clock-scale{width:100%;justify-content:flex-end;font-size:10px}.release-ui .clock-scale select{padding:2px 5px}.release-ui .clock-buttons{gap:5px}.release-ui .clock-buttons button{font-size:11px;padding:4px 6px;min-height:36px}.release-ui .globe-clock .year-input-row input{width:55px;font-size:23px}.release-ui .globe-clock .year-input-row select{width:46px}.release-ui .map-controls{bottom:169px;left:10px;right:10px;gap:4px}.release-ui .map-controls button{min-height:36px;min-width:34px;padding:4px 7px;font-size:11px}.release-ui .map-controls .drag-modes button{padding:4px 6px}.release-ui .clock-instruction{letter-spacing:0}.explorer-settings{padding:18px}.explorer-settings #settings-map-notes>*{min-width:0}.release-ui .explorer-actions{gap:6px}.release-ui .explorer-actions button{font-size:11px}.release-ui .explorer-actions #open-atlas-sources{font-size:10px}}
@media(prefers-reduced-motion:reduce){.release-ui .globe-clock,#graphics-guidance{backdrop-filter:none}}
.release-ui .clock-heading{flex-wrap:wrap}.release-ui .clock-scale{margin-left:auto}.explorer-actions #open-graphics{margin-left:auto;font-size:10px;color:#63754f;background:#edf0e3;border-color:#bfc7a6}.graphics-compatible .explorer-actions #open-graphics{color:#91662f;background:#f7e7ca;border-color:#d7b783}.source-group{margin:16px 0 10px}.source-group h4{font-size:12px;font-weight:500;color:#7b6543;margin:0 0 6px}.source-group a{font-size:12px;line-height:1.9;display:block;overflow-wrap:anywhere}.source-geometry{margin-top:18px;padding-top:12px;border-top:1px solid #dacfb9;color:#8d7c60;font-size:11px;line-height:1.8}.source-geometry summary{cursor:pointer;color:#8a7451}.source-geometry a{display:block;overflow-wrap:anywhere;margin:6px 0}
.governance-sites{margin:23px 0;border-top:1px solid #d9ccb5;padding-top:19px}.governance-sites h3{font:19px 'Songti SC',serif;margin:0 0 9px}.governance-sites .governance-explanation{font-size:11px;color:#8b7b61;line-height:1.8}.governance-sites article{padding:14px;border:1px solid #d6c5a6;border-radius:8px;background:#f2ecde;margin-top:13px}.governance-sites h4{font-size:14px;font-weight:500;margin:5px 0 9px;color:#705532}.governance-sites article>p{font-size:12px;line-height:1.85}.governance-kind{font-size:10px;color:#9c835e}.governance-sites button{font-size:12px;margin-top:10px;min-height:36px;color:#79552f;border-color:#c6af86;background:#fcf7ed}.governance-sites .source-group{margin:9px 0 0}.governance-sites .source-group a{font-size:11px}.territory-pin.governance-pin{border:1px solid #a98445;background:#fff9e6f5;color:#725226;border-radius:5px;font-size:11px;padding:6px 9px;box-shadow:0 3px 12px #65502b20}.governance-pin:before{content:'◆';font-size:8px;margin-right:5px;color:#987035}
.governance-note{margin:16px 0;padding:12px 14px;border-left:2px solid #a68b5e;background:#f1e9da}.governance-note strong{font-size:12px;font-weight:500;color:#82663f}.governance-note p{font-size:12px!important;line-height:1.85!important;margin:6px 0 0!important}.governance-sites details{margin-top:14px;padding-top:10px;font-size:11px;line-height:1.85}.governance-sites details summary{cursor:pointer;color:#92764d}.governance-sites details p{font-size:11px;margin-top:9px}
/* v0.1：时间倍速与可调版图色，沿用同一组控件状态。 */
.playback-speed{display:flex;align-items:center;gap:4px;font-size:10px;color:#8b7655}.playback-speed select{padding:5px 4px;border:1px solid #ccba97;border-radius:5px;background:#fbf5e7;color:#765b37;font-size:11px;min-height:34px}.territory-opacity{flex:1 1 100%;display:flex!important;align-items:center;gap:9px;margin:3px 0 8px}.territory-opacity input{flex:1;min-width:90px;accent-color:#927047;height:28px;touch-action:none}.territory-opacity output{width:35px;text-align:right;font-size:11px;color:#8a6940}.playback-speed span{display:none}
@media(max-width:620px){.release-ui .clock-heading{display:grid;grid-template-columns:auto 1fr;gap:5px}.release-ui .clock-buttons{justify-content:flex-end;gap:4px}.release-ui .clock-buttons .year-nudge{gap:1px}.release-ui .clock-buttons #play{min-width:61px}.release-ui .clock-scale{grid-column:1 / -1}.release-ui .playback-speed select{font-size:10px;min-height:34px;max-width:53px}.release-ui .globe-clock .year-input-row input{width:46px;font-size:21px}.release-ui .globe-clock .year-input-row select{width:43px}.release-ui .clock-buttons button{padding:4px}.release-ui .clock-buttons{min-width:0}}

/* 紧凑控制区：工具与时间卡片按内容排布，避免固定底部偏移互相遮挡。 */
.release-ui .map-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 14px;padding:10px 16px}
.release-ui .map-header .era{flex:1 1 135px;min-width:0}
.release-ui .map-header .era h1{font-size:23px;white-space:nowrap}
.release-ui .map-header .eyebrow{font-size:10px;letter-spacing:1px}
.release-ui .explorer-actions{flex:0 0 auto;justify-content:flex-end;gap:6px;margin:0 0 0 auto}
.release-ui .explorer-actions button{white-space:nowrap;padding:5px 8px;font-size:11px;min-height:34px}
.release-ui .explorer-actions #open-graphics{margin-left:0}
.graphics-compatible .explorer-actions #open-settings::after{content:none}
.release-ui .globe-dock{position:absolute;z-index:7;left:12px;right:12px;bottom:12px;max-width:640px;margin:auto;display:flex;flex-direction:column;gap:8px;pointer-events:none}
.release-ui .globe-dock .map-controls{position:static;inset:auto;display:flex;flex-wrap:wrap;align-self:flex-end;justify-content:flex-end;gap:5px;max-width:100%;pointer-events:auto}
.release-ui .globe-dock .globe-clock{position:static;inset:auto;width:100%;padding:10px 12px 8px;pointer-events:auto}
.release-ui .clock-heading{display:flex;flex-wrap:wrap;gap:7px 12px}
.release-ui .clock-buttons{display:flex;flex:0 0 auto;flex-wrap:nowrap;gap:5px;margin-left:auto}
.release-ui .clock-buttons .year-nudge{display:flex;gap:5px}
.release-ui .clock-buttons button,.release-ui .clock-buttons #play,.release-ui .playback-speed select{flex:none;width:58px;min-width:58px;max-width:none;height:34px;min-height:34px;padding:4px;font-size:11px;white-space:nowrap}
.release-ui .clock-scale{margin-left:auto;width:auto;display:flex}
.release-ui .rail{scrollbar-width:none;scrollbar-gutter:auto}
.release-ui .rail::-webkit-scrollbar{display:none;width:0;height:0}
.release-ui .axis-track{height:auto;min-height:0!important}
.release-ui .ticks{position:relative;inset:auto;margin-left:24px;padding:12px 0;height:auto}
.release-ui .time-row{position:relative;inset:auto!important;transform:none;padding:7px 0 10px;min-height:54px}
.release-ui .time-cell button{max-height:none;line-height:1.45;overflow-wrap:anywhere}
.release-ui .time-cell button+button{margin-top:3px}
@media(max-width:620px){
  .release-ui .map-header .era h1{font-size:22px}
  .release-ui .map-header .eyebrow{display:none}
  .release-ui .globe-dock{left:10px;right:10px;bottom:10px}
  .release-ui .clock-year{order:0}
  .release-ui .clock-scale{order:1;grid-column:auto}
  .release-ui .clock-buttons{order:2;flex:1 0 100%;justify-content:flex-end}
  .release-ui .clock-buttons button,.release-ui .clock-buttons #play,.release-ui .playback-speed select{width:58px;min-width:58px;max-width:none;height:36px;min-height:36px}
}
.capital-pin{padding:5px 9px 5px 18px;text-align:left}.capital-pin:before{content:'';position:absolute;left:7px;top:50%;width:6px;height:6px;margin-top:-3px;border:2px solid #fff7e9;border-radius:50%;background:currentColor;box-shadow:0 0 0 1px currentColor}.capital-pin strong,.capital-pin small,.intervention-pin strong,.intervention-pin small{display:block}.capital-pin small{display:none;margin-top:2px;font:10px system-ui,sans-serif;color:#816d52}.capital-pin.capital-city-visible small{display:block}.intervention-pin{padding:5px 8px;background:#f5e9eef0;font:11px system-ui,sans-serif;color:#69475f;border-style:dashed}.intervention-pin small{font-size:9px;opacity:.8;margin-top:2px}.capital-details,.intervention-details{margin:22px 0;border-top:1px solid #d9ccb5;padding-top:18px}.capital-details h3,.intervention-details h3{font:19px 'Songti SC',serif;margin:0 0 8px}.capital-details>p,.intervention-details>p{font-size:11px;line-height:1.75;color:#8b7b61}.capital-details article,.intervention-details article{padding:12px;border:1px solid #d6c5a6;border-radius:8px;background:#f4eee2;margin-top:11px}.intervention-details article{border-left:4px solid #8a647b}.capital-details article>span,.intervention-details article>span{font-size:10px;color:#947b58}.capital-details h4,.intervention-details h4{font-size:14px;font-weight:500;margin:4px 0 7px;color:#705532}.capital-details article>p,.intervention-details article>p{font-size:12px;line-height:1.8}.capital-details button,.intervention-details button{font-size:11px;margin-top:7px}.layout-v7 .tour-range{min-width:0;width:auto;white-space:nowrap;padding:4px 8px;border-left:1px solid #c7b58f}.layout-v7 .tour-range #tour-level:after{content:' · ';color:#b6a487}.layout-v7 .tour-range #tour-level{min-width:0}.layout-v7 .tour-range #tour-scale{font-size:10px;color:#8e7a5a}
.territory-pin.subpolity-pin{padding:4px 7px 4px 15px;font-size:11px;line-height:1.2;box-shadow:0 2px 7px #3e321b24}.territory-pin.subpolity-pin:before{left:5px;width:5px;height:5px}.territory-pin.subpolity-pin.capital-city-visible{z-index:3;padding:5px 8px 5px 16px}.territory-pin.subpolity-pin.capital-city-visible small{font-size:9px}
/* 城市形态与单体奇观各有目录；点线面在同一地球上按阶段展示。 */
.atlas-tabs{flex-wrap:wrap}.city-catalog{display:grid;gap:10px;margin-top:12px}.city-catalog .civilization-card{text-align:left}.city-plan{width:100%;margin:12px 0 4px;border:1px solid #d7cbb4}.city-plan [role=button]{cursor:pointer}.city-plan [role=button]:focus{outline:none;filter:drop-shadow(0 0 3px #423c31)}.city-north{font:12px sans-serif;fill:#554b3b}.city-plan-note{font:10px sans-serif;fill:#706652}.city-map-legend{display:flex;gap:7px;flex-wrap:wrap;font-size:11px;color:#736653}.city-map-legend i,.city-feature-list i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:5px}.city-feature-list{display:grid;gap:5px;margin:14px 0}.city-feature-list button{display:flex;align-items:center;text-align:left;padding:9px;background:#f7f1e5;border:1px solid #e1d4bd;border-radius:7px}.city-feature-list button small{margin-left:auto;color:#87785c;font-size:10px}.city-feature-list [aria-pressed=true]{border-color:#997140;background:#ede0c7}#city-feature-detail{padding:10px 12px;background:#f0e7d6;border-radius:8px;margin-bottom:15px}.city-related{display:block;margin:9px 0;width:100%;padding:10px;color:#785426;border:1px solid #d5bf9c;border-radius:7px;background:#fbf6eb}#city-stage,#city-search{width:100%;padding:10px;border:1px solid #d8c8ad;border-radius:8px;background:#fffaf0}#city-pins{position:absolute;inset:0;pointer-events:none;z-index:7;overflow:hidden}.city-feature-pin{position:absolute;left:0;top:0;pointer-events:auto;white-space:nowrap;background:#fff8e8ed;border:1px solid #997953;border-radius:5px;padding:4px 7px;color:#473b2b;font:12px sans-serif;box-shadow:0 2px 6px #0002}.city-feature-pin[hidden]{display:none}

.subdivision-pin{font-size:11px;border-style:dashed;background:#faf5e9e8;color:#6b5842;padding:4px 7px;box-shadow:none}

.territory-label-leader{position:absolute;left:0;top:0;height:0;border-top:1px solid currentColor;transform-origin:0 0;pointer-events:none;opacity:.78}.territory-label-leader:before{content:"";position:absolute;left:-2px;top:-2.5px;width:4px;height:4px;border-radius:50%;background:currentColor;box-shadow:0 0 0 1px #fff9e7}.territory-label-leader[hidden]{display:none}

/* 并存政权目录：保持标题字号，以两列卡片压缩纵向占用。 */
.civilization-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:8px;margin-top:8px}.civilization-grid .civilization-card{margin:0;padding:10px;min-width:0;height:100%;box-sizing:border-box;gap:4px}.civilization-grid .civilization-card strong{font-size:15px;line-height:1.4;overflow-wrap:anywhere}.civilization-grid .civilization-card span{line-height:1.6}.civilization-group{margin:12px 0}.evolution-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:8px}

/* 每年固定行距；只渲染滚动窗口附近的行，事件多少不改变年份距离。 */
.release-ui .axis-track{position:relative}
.release-ui .ticks{position:absolute;top:0;left:24px;right:0;margin:0;padding:0}
.release-ui .time-row{position:absolute;inset:auto!important;top:var(--annual-top)!important;left:0!important;right:0!important;transform:none;height:132px;min-height:132px;box-sizing:border-box;overflow:hidden;padding:7px 0}
.release-ui .time-row .annual-year{position:static;transform:none;text-align:left;width:auto;font:600 12px Georgia,serif;padding:0;max-height:none;color:#80613f}
.release-ui .time-row .time-cell button{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-height:34px;line-height:1.4}

/* 资料许可要求来源与当前地图同时可见；不占用地图拖动区域。 */
#history-geometry-credits{position:absolute;left:12px;top:8px;z-index:12;max-width:calc(100% - 80px);padding:4px 7px;border-radius:4px;background:#fff9eced;color:#66553e;font-size:10px;line-height:1.45;pointer-events:auto}
#history-geometry-credits[hidden]{display:none}
#history-geometry-credits a{color:inherit;text-decoration:underline;text-underline-offset:2px}
#history-geometry-credits summary{cursor:pointer;margin-top:2px}
#history-geometry-credits details{margin:0;padding:0;border:0;font:inherit;color:inherit}
#history-geometry-credits details a{display:inline;margin:0}
#history-geometry-credits details[open]{max-height:180px;overflow:auto}
#history-geometry-credits details p{margin:4px 0}

/* 岛礁名录按需展开；地理定位与历史政治中心分开。 */
.geographic-sites-list{max-height:440px;overflow:auto;overscroll-behavior:contain}
.geographic-sites-list article{padding:10px 0;border-bottom:1px solid var(--line,#d5c9b4)}
.geographic-name{display:inline-block;margin:3px 8px 3px 0;font-size:12px}
.geographic-name[hidden],.geographic-sites-list article[hidden]{display:none}
.territory-pin.geographic-pin{border-color:#668ba0;color:#28576a}

.atlas-map-note{border-top:1px solid #dfd4c2;padding:9px 0}.atlas-map-note summary{cursor:pointer;color:#7b6647}.atlas-map-note p{margin:9px 0 0}

/* 虚拟逐年列表自行管理滚动位置，禁用 DOM 替换触发的浏览器锚定。 */
.rail{overflow-anchor:none}

/* 当前版图下载状态始终在地图内可见，时间与相机控件保留各自区域。 */
#history-map-status{position:absolute;right:12px;top:86px;z-index:12;max-width:220px;padding:7px 10px;border:1px solid #cbb98e;border-radius:6px;background:#fff9eeef;color:#765c39;font-size:12px;line-height:1.5;box-shadow:0 3px 14px #5f49201a}
#history-map-status[hidden],#history-map-retry[hidden]{display:none}
#history-map-retry{display:block;margin-top:5px;padding:3px 7px;font-size:11px;color:inherit;background:#f4ecdc}
@media(max-width:620px){#history-map-status{right:10px;top:90px;max-width:200px;font-size:11px}}

/* 木塔的观察阶段在地图内说明，取景按此实际占位留出上边界。 */
#yingxian-observation{position:absolute;left:12px;right:76px;top:70px;z-index:12;max-width:540px;padding:7px 10px;border:1px solid #cbb98e;border-radius:6px;background:#fff9eeef;color:#765c39;font-size:12px;line-height:1.5;box-shadow:0 3px 14px #5f49201a;pointer-events:none}
#yingxian-observation[hidden]{display:none}
@media(max-width:620px){#yingxian-observation{left:10px;right:72px;font-size:11px}}

/* 宫城观察留在地图，按钮与说明共同参与目标安全取景。 */
#forbidden-observation{position:absolute;z-index:18;left:12px;right:62px;padding:8px 10px;border:1px solid #b7a487;border-radius:10px;background:rgba(250,247,236,.95);color:#594c38;font-size:11px;line-height:1.5;box-shadow:0 2px 9px #4b382019;pointer-events:auto}
#forbidden-observation[hidden]{display:none}
#forbidden-observation p{margin:0 0 5px}
#forbidden-observation nav{display:flex;flex-wrap:wrap;gap:4px}
#forbidden-observation button{padding:4px 7px;border:1px solid #bdad93;border-radius:5px;background:#fffaf0;color:#5a4831;font-size:11px;min-height:28px;cursor:pointer}
#forbidden-observation button[aria-pressed="true"]{background:#776343;color:#fff}
#forbidden-observation button:focus-visible{outline:2px solid #905f33;outline-offset:2px}
@media(max-width:600px){#forbidden-observation{right:52px;font-size:10px;padding:6px 8px}#forbidden-observation button{font-size:10px;min-height:30px;padding:4px 5px}}

/* 胡夫原形课堂；材料图解独立于地球构筑物，限制文字始终可见。 */
.khufu-classroom nav,#khufu-observation nav{display:flex;gap:6px;flex-wrap:wrap}
.khufu-classroom button,#khufu-observation button{min-width:44px;min-height:44px;padding:9px 12px;font:inherit;cursor:pointer}
.khufu-classroom button[aria-pressed=true],#khufu-observation button[aria-pressed=true]{background:#ead9b5;color:#33291b;border-color:#8a744e}
.khufu-classroom button:focus-visible,#khufu-observation button:focus-visible{outline:3px solid #66582f;outline-offset:2px}
.khufu-reference-note,.khufu-sample-note{font-weight:600;color:#574831}
.khufu-samples{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.khufu-samples figure{margin:0;border:1px solid #d8ccb8;border-radius:10px;padding:7px;background:#faf6ed}
.khufu-samples svg{display:block;width:100%;height:auto;max-height:130px}
.khufu-samples figcaption{font-size:12px;line-height:1.5}
.khufu-quiz button{display:block;width:100%;text-align:left;margin:6px 0;border:1px solid #cfbfa5;border-radius:8px;background:#fbf8f0}
.khufu-feedback{min-height:1.5em;color:#59452b}
.khufu-position-attribution{font-size:12px;line-height:1.6}
#khufu-observation{position:absolute;left:12px;right:12px;z-index:8;width:max-content;max-width:calc(100% - 24px);padding:7px 10px;border:1px solid #c5b696;border-radius:10px;background:rgba(253,249,239,.96);color:#443721;box-shadow:0 3px 14px #0002}
#khufu-observation[hidden]{display:none}
#khufu-observation p{margin:0 0 5px;font-size:12px;line-height:1.4}
#khufu-observation button{font-size:12px;border:1px solid #baa986;border-radius:7px;background:#fffaf0}
@media(max-width:600px){#khufu-observation{padding:5px 7px}#khufu-observation nav{gap:4px}#khufu-observation button{padding:7px 9px}.khufu-classroom .khufu-position-attribution{overflow-wrap:anywhere}}

/* 万神殿本目标课堂控件与常显参考限定。 */
.pantheon-classroom{margin:16px 0;padding:14px;border:1px solid #d9c9ab;border-radius:12px;background:#faf6ec}
.pantheon-classroom nav,#pantheon-observation nav{display:flex;flex-wrap:wrap;gap:6px}
.pantheon-classroom button,#pantheon-observation button{min-height:44px;min-width:44px;padding:9px 12px;font:inherit;line-height:1.3;border-radius:8px;cursor:pointer}
.pantheon-classroom button[aria-pressed="true"],#pantheon-observation button[aria-pressed="true"]{background:#6d5334;color:#fff;border-color:#6d5334}
.pantheon-classroom button:focus-visible,#pantheon-observation button:focus-visible{outline:3px solid #337baf;outline-offset:2px}
.pantheon-reference-note,.pantheon-section-note{font-size:13px;line-height:1.5;color:#5e492c}
.pantheon-quiz{margin-top:12px}.pantheon-quiz button{display:block;width:100%;margin:6px 0;text-align:left}.pantheon-parameters{margin-top:10px;font-size:13px}.pantheon-parameters summary{min-height:44px;display:flex;align-items:center;cursor:pointer}
#pantheon-observation{position:absolute;left:50%;transform:translateX(-50%);z-index:9;width:max-content;max-width:calc(100% - 32px);padding:8px 10px;border:1px solid #d7c5a6;border-radius:12px;background:rgba(250,247,239,.96);box-shadow:0 3px 16px #2d291d24;pointer-events:auto}
#pantheon-observation[hidden]{display:none}.pantheon-observation-text{font-size:12px;line-height:1.5;margin:0 0 6px;color:#56472e}
@media(max-width:640px){#pantheon-observation{max-width:calc(100% - 18px);width:calc(100% - 18px);padding:6px 8px}#pantheon-observation nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}#pantheon-observation button{padding:6px;font-size:12px}.pantheon-classroom{padding:10px}}

.pantheon-nav-year{min-height:44px;min-width:44px;padding:8px 12px}

.florence-classroom{margin:16px 0;padding:14px;border:1px solid #d9c9ab;border-radius:12px;background:#faf6ec}
.florence-classroom nav,#florence-observation nav{display:flex;flex-wrap:wrap;gap:6px}
.florence-classroom button,#florence-observation button{min-height:44px;min-width:44px;padding:9px 12px;font:inherit;line-height:1.3;border-radius:8px;cursor:pointer}
.florence-classroom button[aria-pressed="true"],#florence-observation button[aria-pressed="true"]{background:#6d5334;color:#fff;border-color:#6d5334}
.florence-classroom button:focus-visible,#florence-observation button:focus-visible{outline:3px solid #337baf;outline-offset:2px}
.florence-reference-note,.florence-section-note{font-size:13px;line-height:1.5;color:#5e492c}
.florence-quiz{margin-top:12px}.florence-quiz button{display:block;width:100%;margin:6px 0;text-align:left}.florence-parameters{margin-top:10px;font-size:13px}.florence-parameters summary{min-height:44px;display:flex;align-items:center;cursor:pointer}
#florence-observation{position:absolute;left:50%;transform:translateX(-50%);z-index:9;width:max-content;max-width:calc(100% - 32px);padding:8px 10px;border:1px solid #d7c5a6;border-radius:12px;background:rgba(250,247,239,.96);box-shadow:0 3px 16px #2d291d24;pointer-events:auto}
#florence-observation[hidden]{display:none}.florence-observation-text{font-size:12px;line-height:1.5;margin:0 0 6px;color:#56472e}
@media(max-width:640px){#florence-observation{max-width:calc(100% - 18px);width:calc(100% - 18px);padding:6px 8px}#florence-observation nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}#florence-observation button{padding:6px;font-size:12px}.florence-classroom{padding:10px}}
@media(max-width:640px){.release-ui .stage.florence-observing{height:auto;min-height:0;grid-template-rows:auto minmax(750px,1fr)}.release-ui .stage.florence-observing .map-scene{min-height:750px}}


.florence-nav-year,.florence-main-entry{min-height:44px;min-width:44px;padding:8px 12px}
.florence-quiz button{white-space:normal;overflow-wrap:anywhere}.florence-current-reference{font-size:13px;color:#765a35}

/* 马丘比丘局部关系图；材料色、说明和原生按钮始终由本目标管理。 */
.machu-classroom nav,#machu-observation nav{display:flex;flex-wrap:wrap;gap:6px}
.machu-classroom button,#machu-observation button,.machu-main-entry,.machu-nav-year{min-width:44px;min-height:44px;padding:9px 12px;font:inherit;border:1px solid #958873;border-radius:7px;background:#fffaf0;color:#514c40;cursor:pointer}
.machu-classroom button[aria-pressed="true"],#machu-observation button[aria-pressed="true"]{background:#566c78;color:#fff}
.machu-classroom button:focus-visible,#machu-observation button:focus-visible,.machu-main-entry:focus-visible{outline:2px solid #287dac;outline-offset:2px}
.machu-classroom button:disabled{opacity:.5;cursor:default}
.machu-reference-note,.machu-section-note{padding:8px 10px;border-left:3px solid #9a805f;background:#f7f0e3}
#machu-observation{position:absolute;z-index:18;left:12px;right:62px;padding:8px 10px;border:1px solid #96866c;border-radius:9px;background:rgba(255,250,239,.96);color:#514c40;font-size:12px;line-height:1.45;pointer-events:auto}
#machu-observation[hidden],#machu-endpoint[hidden]{display:none}
#machu-observation p{margin:0 0 6px}
#machu-endpoint{position:absolute;z-index:17;padding:3px 6px;border:1px solid #287dac;border-radius:5px;background:#f2fcff;color:#205974;font-size:12px;pointer-events:none}
@media(max-width:640px){.stage.machu-observing{height:800px;min-height:800px}#machu-observation{left:10px;right:52px;font-size:11px}#machu-observation button{font-size:11px}}
