.header-extras{align-items:center;gap:20px;display:flex}.background-music{z-index:12;letter-spacing:0;flex-shrink:0;position:relative}.background-music>summary{cursor:pointer;color:#d7cbaa;white-space:nowrap;border:1px solid #cbb77f45;border-radius:4px;align-items:center;gap:8px;padding:9px 12px;font-size:11px;list-style:none;display:flex}.background-music>summary::-webkit-details-marker{display:none}.background-music>summary:focus-visible{outline-offset:3px;outline:2px solid #cd9d52}.background-music[open]>summary{background:#cbb77f16}.music-light{background:#798270;border-radius:50%;width:5px;height:5px}.music-light.is-active{background:#d6bd79;box-shadow:0 0 9px #d6bd7955}.music-popover{color:#dfd4b8;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#1b332bef;border:1px solid #b9aa7960;border-radius:6px;width:282px;max-width:calc(100vw - 32px);padding:20px;position:absolute;top:calc(100% + 14px);right:0;box-shadow:0 15px 45px #06171060}.music-caption{letter-spacing:2px;color:#adb59d;font-size:9px}.music-popover h2{letter-spacing:1px;margin:14px 0 6px;font:24px Georgia,serif}.music-popover h2 small{color:#b4b698;margin-left:7px;font:11px Songti SC,serif}.music-author{color:#b0b69f;margin:0 0 16px;font:10px Georgia,serif}.music-toggle{color:#283e2e;letter-spacing:2px;background:#d6c49d;border:1px solid #d6c49d;border-radius:3px;width:100%;padding:10px 12px;font-size:12px}.music-toggle[aria-pressed=true]{color:#dfd1ae;background:#bfb28b18}.music-volume{align-items:center;gap:10px;margin:18px 0 12px;font-size:10px;display:flex}.music-volume input{accent-color:#c6b582;flex:1;min-width:0}.music-volume output{width:28px;font:10px monospace}.music-hint{color:#adb79f;min-height:36px;margin:0 0 14px;font-size:10px;line-height:1.8}.music-credit{color:#9ea990;border-top:1px solid #d7bf8925;margin:0;padding-top:12px;font-size:9px;line-height:1.9}.music-credit a{color:#c7bb99;text-underline-offset:3px}@media (width<=1300px){.header-extras .edition{display:none}}@media (width<=760px){.header-extras{gap:0}.background-music>summary{gap:6px;padding:8px;font-size:10px}.music-popover{right:0}}@media (width<=480px){.topbar{padding-left:16px;padding-right:16px}.brand{letter-spacing:2px;gap:9px;font-size:16px}.brand small{letter-spacing:1px;font-size:7px}}:root{color:#2b3831;font-synthesis:none;background:#172821;font-family:Songti SC,STSong,Noto Serif SC,serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%}body{min-width:360px;margin:0;overflow:hidden}#root.is-scaled{width:calc(100% * var(--page-scale-inverse));height:calc(100% * var(--page-scale-inverse));transform:scale(var(--page-scale));transform-origin:0 0}button,input{font:inherit}button{cursor:pointer}button,a,input{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,canvas:focus-visible{outline-offset:4px;outline:2px solid #cd9d52}button:disabled{cursor:wait}.app-shell{height:100%;min-height:640px;overflow:hidden}.topbar{color:#e6d4ad;background:#172821;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;height:82px;padding:0 34px;display:flex}.brand{color:#eddfbe;letter-spacing:5px;align-items:center;gap:14px;font-size:24px;text-decoration:none;display:flex}.brand-seal{color:#ead4ab;outline-offset:3px;letter-spacing:0;text-align:center;background:#95483a;border:1px solid #b57660;outline:1px solid #95483a;width:36px;height:42px;font-size:26px;line-height:42px}.brand small{letter-spacing:4px;color:#9faba0;margin-top:5px;font-size:9px;display:block}.topbar-caption{letter-spacing:4px;opacity:.62;font-size:13px}.edition{letter-spacing:2px;align-items:center;gap:10px;font-size:11px;display:flex}.edition>span{background:#c3aa76;border-radius:50%;width:5px;height:5px}.edition b{opacity:.5;margin-left:16px;font:10px Georgia,serif}.workspace{grid-template-columns:320px minmax(0,1fr);height:calc(100% - 82px);display:grid}.reading-panel{scrollbar-width:thin;scrollbar-color:#b1a28a transparent;z-index:3;background:linear-gradient(120deg,#f3ecde,#e9e1d0);border-right:1px solid #cbbfaa;padding:26px 25px 16px;overflow-y:auto}.panel-heading{letter-spacing:2px;justify-content:space-between;align-items:center;margin-bottom:20px;font-size:13px;display:flex}.panel-heading small{letter-spacing:2px;color:#929282;font:8px Georgia,serif}.city-rail{border-bottom:1px solid #c4b8a355;grid-template-columns:repeat(5,1fr);gap:3px;margin-bottom:25px;display:grid}.city-rail button{color:#7b8070;background:0 0;border:0;border-bottom:2px solid #0000;padding:7px 0 12px}.city-rail button small{color:#a89980;margin-bottom:6px;font:9px Georgia,serif;display:block}.city-rail button span{letter-spacing:2px;font-size:13px}.city-rail button:hover{background:#23392b08}.city-rail button.active{color:#873c2d;border-bottom-color:#984938}.poem-card{animation:.4s ease-out reveal}.card-topline{color:#8b7858;letter-spacing:1px;justify-content:space-between;align-items:center;font-size:10px;display:flex}.relation{color:#929685;font-size:9px}.poem-card h1{letter-spacing:9px;color:#273e31;margin:17px 0 3px;font-size:52px;font-weight:500;line-height:1.25}.modern-city{color:#868879;letter-spacing:2px;font-size:11px}.poem-meta{color:#8d4b39;letter-spacing:2px;flex-direction:column;gap:7px;margin-top:28px;font-size:11px;display:flex}.poem-meta span{color:#5b685c;letter-spacing:1px;line-height:1.7}blockquote{letter-spacing:2px;color:#304736;border-left:2px solid #a85a41;margin:21px 0 22px;padding:4px 0 4px 15px;font-size:19px;line-height:2}blockquote span{white-space:nowrap;display:block}.poem-note{color:#798071;margin:0 0 26px;font-size:11px;line-height:1.95}.architecture-card{border-top:1px solid #c9baa480;border-bottom:1px solid #c9baa480;padding:21px 0 16px}.eyebrow{letter-spacing:3px;color:#9d8660;font-size:9px}.architecture-card h2{letter-spacing:1px;margin:11px 0 8px;font-size:16px;font-weight:500}.architecture-card p{color:#848777;letter-spacing:1px;font-size:10px}.focus-button{color:#3d5642;letter-spacing:2px;background:0 0;border:1px solid #a2aa9460;justify-content:space-between;align-items:center;width:100%;margin-top:8px;padding:9px 12px;font-size:11px;display:flex}.focus-button:hover{background:#324f3810}.focus-button span{font-size:16px}.coordinate-card{padding-top:20px}.coordinate-head{color:#8f8b77;justify-content:space-between;align-items:center;font-size:10px;display:flex}.coordinate-head button{color:#8d5943;background:0 0;border:0;padding:3px 0;font-size:10px}.coordinate-card code{color:#566b56;margin:10px 0 8px;font:12px SFMono-Regular,Consolas,monospace;display:block}.coordinate-card>small{color:#959786;font-size:9px;line-height:1.7;display:block}.calibration-detail{color:#6d7563;background:#fff8e848;border:1px solid #cbbda080;margin-top:12px;padding:12px;font-size:10px;line-height:1.9}.calibration-detail p{margin:0 0 7px}.verify-button{color:#6f654c;background:0 0;border:1px solid #a39473;width:100%;padding:7px 9px;font-size:11px}.panel-footer{letter-spacing:2px;color:#999c89;text-align:center;padding-top:28px;font-size:9px}.experience{isolation:isolate;background:radial-gradient(at 55% 47%,#53624b 0%,#30463a 45%,#1c322b 100%);position:relative;overflow:hidden}.experience:after{content:"";pointer-events:none;z-index:2;border:1px solid #ead4a613;position:absolute;inset:12px}.scene{cursor:grab;position:absolute;inset:0}.scene:active{cursor:grabbing}.scene canvas{touch-action:none;width:100%;height:100%;display:block}.map-label-layer{pointer-events:none;position:absolute;inset:0;overflow:hidden}.map-label{pointer-events:auto;color:#f1e6c9;letter-spacing:2px;white-space:nowrap;background:#172c23eb;border:1px solid #d3bd8c80;border-radius:2px;align-items:center;gap:6px;padding:5px 10px;font-size:12px;display:flex;position:relative;transform:translateY(-3px);box-shadow:0 4px 14px #0b1b1933}.map-label:after{content:"";background:#dbca9a80;width:1px;height:10px;position:absolute;top:100%;left:50%}.map-label i{border-radius:50%;width:4px;height:4px}.map-label.is-active{color:#fff3d6;background:#a04f38;border-color:#edd6a5}.map-label:hover{background:#486044}.map-heading{pointer-events:none;position:absolute;top:33px;left:34px}.map-heading h2{color:#f1dfb2;letter-spacing:7px;text-shadow:0 2px 9px #15231b;margin:9px 0;font-size:28px;font-weight:400}.map-heading p{color:#bbbea7;letter-spacing:2px;margin:0;font-size:10px}.map-options{position:absolute;top:32px;right:30px}.map-switch{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#132a23e8;border:1px solid #b8ba9050;border-radius:4px;padding:4px;display:flex}.map-switch button{color:#a7b29e;letter-spacing:1px;background:0 0;border:0;border-radius:2px;padding:9px 14px;font-size:11px}.map-switch button.selected{color:#30432e;background:#e7d6b6}.map-toggles{color:#c1c8b3;justify-content:flex-end;gap:17px;margin-top:14px;font-size:10px;display:flex}.map-toggles label{cursor:pointer;align-items:center;gap:5px;display:flex}.map-toggles input{accent-color:#c9ad71;width:11px;height:11px;margin:0}.map-toolbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#142d25ee;border:1px solid #b9af814d;border-radius:4px;align-items:center;padding:4px;display:flex;position:absolute;bottom:68px;right:30px;box-shadow:0 5px 24px #06180b20}.map-toolbar button{color:#e3d4ae;background:0 0;border:0;border-radius:2px;min-width:35px;height:34px;font-family:sans-serif;font-size:20px}.map-toolbar button:hover{background:#c9b88722}.map-toolbar output{color:#b5bb9f;text-align:center;min-width:44px;font:10px monospace}.map-toolbar .text-control{padding:0 10px;font:11px Songti SC,serif}.toolbar-divider{background:#e4d5a92d;width:1px;height:16px;margin:0 5px}.map-bottom{pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:absolute;bottom:24px;left:34px;right:30px}.map-instruction{color:#b3baa3;letter-spacing:1px;margin:0;font-size:10px}.touch-instruction{display:none}.map-status{color:#a6af95;letter-spacing:1px;align-items:center;gap:6px;font-size:9px;display:flex}.map-status i{background:#ae8f50;border-radius:50%;width:4px;height:4px}.map-status i.ready{background:#a8ba76}.map-compass{pointer-events:none;color:#d4c9a480;border-top:1px solid #d4c9a450;border-bottom:1px solid #d4c9a450;justify-content:center;align-items:center;gap:3px;width:46px;height:60px;display:flex;position:absolute;bottom:75px;left:34px}.map-compass i{font-size:16px;font-style:normal}.map-compass b{font-size:16px;font-weight:400}.map-compass span{letter-spacing:1px;width:90px;font-size:9px;position:absolute;top:24px;left:52px}.scene-status{color:#ebddb9;letter-spacing:2px;z-index:5;background:#213c31f0;border:1px solid #c6b788;width:max-content;max-width:80%;padding:18px 25px;font-size:13px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.scene-error{color:#ffd8b9;line-height:1.8}@keyframes reveal{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (width<=1100px){.workspace{grid-template-columns:285px minmax(0,1fr)}.reading-panel{padding:23px 20px 16px}.map-heading{top:27px;left:24px}.map-heading h2{font-size:23px}.map-options{top:27px;right:22px}.map-switch button{padding:8px 10px}.map-heading .eyebrow{display:none}.map-bottom{left:24px;right:22px}.map-status{display:none}blockquote{font-size:17px}}@media (width<=760px){.app-shell{height:auto;min-height:100dvh;overflow:visible}.topbar{height:68px;padding:0 21px}.brand{letter-spacing:3px;gap:12px;font-size:20px}.brand-seal{width:30px;height:35px;font-size:22px;line-height:35px}.brand small{letter-spacing:2px;font-size:8px}.topbar-caption,.edition b{display:none}.edition{gap:5px;font-size:9px}.workspace{flex-direction:column;height:auto;display:flex}.experience{order:0;height:66dvh;min-height:490px}.reading-panel{border-right:0;order:1;padding:22px 24px;overflow:visible}.panel-heading{margin-bottom:12px}.city-rail{margin-bottom:20px}.poem-card h1{font-size:38px}.poem-meta{margin-top:20px}blockquote{font-size:21px}.map-heading{top:25px;left:23px}.map-heading h2{letter-spacing:3px;font-size:22px}.map-heading p{letter-spacing:1px;max-width:130px;font-size:8px}.map-options{top:24px;right:21px}.map-switch button{padding:8px 9px;font-size:10px}.map-toggles{gap:12px;margin-top:12px;font-size:9px}.map-toolbar{bottom:50px;right:20px}.map-bottom{bottom:24px;left:24px}.map-compass,.desktop-instruction{display:none}.touch-instruction{display:inline}.coordinate-card code{font-size:13px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.city-search{color:#425542;outline-offset:2px;background:#fffcf340;border:1px solid #bdb39977;border-radius:3px;width:100%;margin-bottom:12px;padding:10px 11px;font-size:11px}.city-search::placeholder{color:#979783}.city-rail{scrollbar-width:thin;max-height:205px;margin-bottom:20px;overflow-y:auto}.city-rail button{padding:8px 0 5px}.city-rail button small{margin:4px 0 0;font-size:8px}.empty-search{color:#8d735c;font-size:11px}.poem-pagination{color:#93805f;letter-spacing:1px;justify-content:space-between;align-items:center;margin-top:20px;font-size:10px;display:flex}.poem-pagination button{color:#5b6e56;background:0 0;border:1px solid #b9b59966;width:26px;height:25px;margin-left:6px;font:20px Georgia,serif}.poem-pagination button:hover{background:#77876b22}.poem-meta{margin-top:12px}.poem-meta small{color:#999986;margin-left:5px;font-size:9px}.verse-page{animation:.55s both reveal}.verse-page blockquote span{animation:.7s both verse-appear;animation-delay:calc(var(--line-index) * .1s)}.poem-picker{flex-wrap:wrap;gap:6px;margin:-6px 0 21px;display:flex}.poem-picker button{color:#7b826c;text-align:left;background:0 0;border:1px solid #aba48760;padding:5px 7px;font-size:10px}.poem-picker button.selected{color:#8a4c35;background:#a25f4810;border-color:#a25f4866}.map-label.is-estimated:not(.is-active){border-style:dashed}.map-heading{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#19382aa6;border-left:1px solid #e2cea366;padding:10px 15px;top:24px;left:24px}.map-toggles{background:#19382ab8;border-radius:3px;padding:7px 9px}.map-bottom{background:#19382ab8;border-radius:3px;padding:7px 10px}.tour-control{align-items:center;gap:10px;display:flex;position:absolute;bottom:77px;left:30px}.tour-control button{color:#ead5a6;letter-spacing:2px;background:#19382ee8;border:1px solid #c7b78377;border-radius:3px;padding:10px 14px;font-size:11px}.tour-control button[aria-pressed=true]{background:#914d37}.tour-control>span{color:#ead8b5;text-shadow:0 1px 4px #1c3327;max-width:110px;font-size:10px;line-height:1.8}.arrival-badge{color:#f0ddb2;letter-spacing:4px;pointer-events:none;background:#19352bc9;border:1px solid #b8ae7944;padding:13px 17px;font-size:20px;animation:1s both arrival;position:absolute;top:135px;right:30px}.arrival-badge span,.arrival-badge small{letter-spacing:2px;color:#bdbba0;margin-bottom:7px;font-size:9px;display:block}.arrival-badge small{margin:7px 0 0}.motion-paused *,.motion-paused :before,.motion-paused :after{transition:none!important;animation:none!important}@keyframes verse-appear{0%{opacity:0;filter:blur(3px);transform:translateY(8px)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes arrival{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:translate(0)}}@media (width<=1100px){.tour-control{bottom:126px;left:24px}.tour-control>span{max-width:none}.map-heading{padding:8px 10px;left:18px}.arrival-badge{top:137px;right:23px}}@media (width<=760px){.city-rail{max-height:190px}.tour-control{bottom:108px;left:24px}.tour-control>span{max-width:175px;font-size:9px}.arrival-badge{padding:9px 12px;font-size:17px;top:122px;right:23px}.map-heading{padding:7px 9px;top:22px;left:20px}.map-heading h2{font-size:18px}.map-heading p{max-width:105px;line-height:1.8}}.section-switch{background:#10211980;border:1px solid #cbb77f30;border-radius:5px;gap:4px;padding:4px;display:flex}.section-switch button{color:#b5baa4;letter-spacing:2px;background:0 0;border:0;border-radius:2px;padding:11px 20px;font-size:12px}.map-column{flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.map-column>.experience{flex:1;min-height:0}.has-timeline>.experience{min-height:300px}.poet-grid{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:24px;display:grid}.poet-grid button{text-align:left;color:#59654f;background:#fff8e92b;border:1px solid #b1aa9260;align-items:center;gap:9px;padding:10px 8px;font-size:15px;display:flex}.poet-grid button.selected{color:#77452d;background:#e6d7b955;border-color:#8e684f90;box-shadow:inset 0 -2px #a9754d}.poet-monogram{color:#e9ddbc;border-bottom:2px solid var(--card-color);background:#314a3e;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:34px;font-size:20px;display:flex}.poet-grid small{color:#92927e;margin-top:4px;font-size:9px;display:block}.poet-profile{border-bottom:1px solid #bfb29870;padding-bottom:21px;animation:.5s both reveal}.profile-top{justify-content:space-between;align-items:center;display:flex}.profile-top>span:last-child{color:#96927e;font-size:9px}.poet-profile h1{letter-spacing:5px;margin:17px 0 10px;font-size:42px;font-weight:500}.poet-profile h1 small{letter-spacing:2px;color:#8b8d7a;margin-left:10px;font-size:11px}.poet-profile p{color:#7a816e;margin:0 0 15px;font-size:11px;line-height:1.95}.poet-keywords{gap:7px;display:flex}.poet-keywords span{letter-spacing:2px;color:#7f7257;border:1px solid #bdb39860;padding:3px 8px;font-size:9px}.journey-story{padding-top:22px;animation:.4s both reveal}.event-kicker{letter-spacing:1px;color:#9a7850;justify-content:space-between;align-items:center;font-size:10px;display:flex}.journey-story h2{letter-spacing:2px;margin:12px 0 8px;font-size:23px;font-weight:500}.event-place{color:#5d725b;letter-spacing:2px;font-size:11px}.event-description{color:#7a806e;margin:15px 0;font-size:11px;line-height:1.95}.poem-relation{color:#a48461;border-top:1px solid #c7bea570;padding-top:13px;font-size:9px}.journey-story blockquote{letter-spacing:1px;font-size:17px}.dating-note{color:#838573;background:#fff8ec55;border:1px solid #bcb59850;padding:9px 11px;font-size:10px;line-height:1.8}.dating-note summary{cursor:pointer;color:#896c50}.dating-note p{margin:8px 0 0}.journey-actions{gap:8px;margin-top:17px;display:flex}.journey-actions button{color:#4d6852;letter-spacing:1px;background:0 0;border:1px solid #9d9d7d77;flex:1;padding:9px 5px;font-size:10px}.journey-actions button:hover{background:#567f5510}.poet-timeline{z-index:3;color:#e7daba;background:linear-gradient(125deg,#19362c,#11271f);border-top:1px solid #a48c5955;flex:none;padding:16px 24px 12px;box-shadow:0 -12px 35px #0a1d1322}.timeline-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.timeline-header h2{letter-spacing:2px;margin:6px 0 0;font-size:16px;font-weight:400}.timeline-header h2 small{color:#9aa78c;letter-spacing:1px;margin-left:8px;font:10px Georgia,serif}.timeline-header .eyebrow{color:#95a18b;font-size:8px}.timeline-controls{align-items:center;gap:5px;display:flex}.timeline-controls button{color:#e7d4aa;background:#263f3177;border:1px solid #c6b78844;border-radius:2px;height:31px;padding:0 10px;font-size:17px}.timeline-controls .timeline-play,.timeline-controls .timeline-overview{letter-spacing:1px;font-size:10px}.timeline-controls .timeline-play[aria-pressed=true]{background:#865b39}.timeline-controls button:disabled{opacity:.3;cursor:not-allowed}.timeline-track{scrollbar-width:thin;scrollbar-color:#60705a #11251c;scroll-snap-type:x proximity;overscroll-behavior-x:contain;padding:15px 0 9px;display:flex;position:relative;overflow-x:auto}.timeline-stop{scroll-snap-align:center;flex:0 0 153px;position:relative}.timeline-stop:after{content:"";pointer-events:none;border-top:1px dashed #8e9b7355;position:absolute;top:39px;left:34px;right:-6px}.timeline-stop:last-child:after{display:none}.timeline-stop.is-past:after{border-top-style:solid;border-color:var(--poet-color);opacity:.65}.timeline-stop>button{color:#a4b09c;text-align:left;background:0 0;border:0;flex-direction:column;gap:5px;width:100%;padding:0 12px 2px 0;display:flex}.stop-date{color:#9cac96;height:17px;font:11px Georgia,Songti SC,serif}.stop-dot{color:#acb79f;background:#1e362b;border:1px solid #87956a70;border-radius:50%;justify-content:center;align-items:center;width:27px;height:27px;margin-bottom:3px;font:9px Georgia,serif;display:flex}.timeline-stop strong{letter-spacing:2px;font-size:13px;font-weight:400}.stop-title{color:#8b9e87;font-size:9px}.timeline-stop small{text-overflow:ellipsis;white-space:nowrap;color:#829880;width:135px;font-size:9px;overflow:hidden}.timeline-stop.is-current .stop-dot{color:#233a2b;background:var(--poet-color);border-color:var(--poet-color);box-shadow:0 0 0 5px #ccaf7022,0 0 19px #cfb57833}.timeline-stop.is-current strong,.timeline-stop.is-current .stop-date{color:#f4e1b3}.timeline-stop.is-past .stop-dot{border-color:var(--poet-color);color:var(--poet-color)}.timeline-stop button:hover strong{color:#f1d29b}.timeline-footer{color:#718c77;letter-spacing:.5px;justify-content:space-between;gap:10px;padding-top:7px;font-size:9px;display:flex}.journey-legend{color:#d7d8b7;pointer-events:none;background:#18372bd9;border-left:1px solid #d9bd7860;flex-wrap:wrap;align-items:center;gap:12px;max-width:330px;padding:9px 12px;font-size:9px;display:flex;position:absolute;bottom:122px;left:28px}.journey-legend span{align-items:center;gap:5px;display:flex}.journey-legend i{border-top:1px dashed #8c9c7b;width:15px}.journey-legend .legend-complete{border-top:1px solid #d7bd7e}.journey-legend small{color:#9cae93;font-size:9px}.map-label.is-muted{opacity:.32}.map-label.is-route-city{border-color:#decc9b}.journey-map-stops{pointer-events:auto;flex-direction:column;gap:3px;display:flex}.journey-map-stops button{color:#b6c3a6;white-space:nowrap;background:#183a2cef;border:1px solid #a09f6e77;border-radius:2px;padding:4px 7px;font:9px Georgia,Songti SC,serif;box-shadow:0 2px 9px #12322133}.journey-map-stops button.is-past{color:var(--poet-color)}.journey-map-stops button.is-current{color:#243829;background:#ead5a4;border-color:#ead8a7}.journey-map-stops button:hover{border-color:#ffe1a2}.journey-map-card{border:1px solid #d4c79888;border-left:3px solid var(--poet-color);color:#f5e3bb;pointer-events:none;white-space:normal;background:#18382cec;border-radius:3px;width:240px;padding:11px 14px;transform:translate(8px,-5px);box-shadow:0 10px 30px #0c221b33}.journey-map-card small{color:#b4c2a8;letter-spacing:1px;font-size:9px;display:block}.journey-map-card strong{margin:8px 0;font-size:12px;font-weight:400;display:block}.journey-map-card p{margin:0;font-size:12px;line-height:1.8}.journey-map-card>span{color:#889f87;margin-top:6px;font-size:8px;display:block}@media (width<=1100px){.section-switch button{padding:10px 14px}.poet-timeline{padding:13px 18px 10px}.timeline-footer span:last-child{display:none}.timeline-stop{flex-basis:140px}.journey-map-card{width:215px}}@media (width<=760px){.topbar{flex-wrap:wrap;gap:8px;height:112px;padding:15px 21px 10px}.section-switch{order:3;justify-content:center;width:100%;padding:2px}.section-switch button{letter-spacing:1px;white-space:nowrap;flex:1;padding:7px 4px;font-size:11px}.edition{font-size:8px}.workspace{height:auto}.map-column{order:0;overflow:visible}.map-column>.experience{flex:none;height:60dvh;min-height:440px}.map-column.has-timeline>.experience{height:55dvh;min-height:410px}.poet-timeline{padding:13px 19px 10px}.timeline-header h2{letter-spacing:1px;font-size:13px}.timeline-header .eyebrow{display:none}.timeline-controls{gap:3px}.timeline-controls button{height:29px;padding:0 8px}.timeline-controls .timeline-overview{display:none}.timeline-controls .timeline-play{font-size:9px}.timeline-track{padding-top:15px}.timeline-stop{flex-basis:136px}.timeline-footer{font-size:8px}.poet-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.poet-grid button{text-align:center;flex-direction:column;gap:6px;padding:9px 3px;font-size:13px}.poet-grid small{font-size:8px}.journey-story blockquote{font-size:20px}.journey-legend{gap:9px;max-width:calc(100% - 48px);padding:7px 9px;bottom:104px;left:24px}.journey-legend small{display:none}.journey-map-card{width:178px;padding:8px 10px}.journey-map-card p,.journey-map-card strong{font-size:10px}.journey-map-card small{font-size:8px}}.terrain-controls{color:#d8cfab;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#19382aee;border:1px solid #b8b28a44;border-radius:3px;margin-top:8px;padding:8px 10px}.terrain-control-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.terrain-control-row button{color:#d9cc9e;letter-spacing:1px;background:0 0;border:0;padding:0;font-size:10px}.terrain-control-row button[aria-pressed=false]{color:#9da78e}.terrain-control-row output{color:#afbd9a;font:10px Georgia,serif}.terrain-slider{align-items:center;gap:7px;margin:7px 0 4px;display:flex}.terrain-slider span{color:#9cab90;font-size:8px}.terrain-slider input{accent-color:#dac086;cursor:pointer;flex:1;width:90px;min-width:0;height:12px;margin:0}.terrain-controls small,.terrain-reference-note{color:#8eaa91;letter-spacing:1px;font-size:8px;display:block}.terrain-reference-note{text-align:right;padding-top:7px}.terrain-notice{color:#ecd3ad;background:#594132e8;border-radius:3px;max-width:260px;padding:8px 12px;font-size:10px;line-height:1.7;position:absolute;top:145px;left:24px}.map-options:has(.terrain-controls)~.arrival-badge{top:236px}@media (width<=760px){.terrain-controls{padding:7px 8px}.terrain-slider input{width:60px}.terrain-control-row button{font-size:9px}.terrain-notice{max-width:180px;top:212px}.map-options:has(.terrain-controls)~.arrival-badge{top:218px}}.recitation-controls{color:#53624d;background:linear-gradient(125deg,#f6eddaaa,#e5ddc566);border:1px solid #b8a98280;border-radius:5px;margin:18px 0;padding:14px}.recitation-heading{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.recitation-title{letter-spacing:2px;align-items:center;gap:8px;font-size:13px;display:inline-flex}.recitation-heading small{color:#8e866e;font-size:9px}.voice-bars{align-items:center;gap:2px;height:15px;display:inline-flex}.voice-bars b{transform-origin:50%;background:#8a633d;width:2px;height:7px;display:block}.voice-bars b:nth-child(2){height:14px;animation-delay:-.2s}.voice-bars b:nth-child(3){height:10px;animation-delay:-.4s}.voice-bars b:nth-child(4){height:5px;animation-delay:-.1s}.is-speaking .voice-bars b{animation-name:verse-sound;animation-duration:.8s;animation-iteration-count:infinite;animation-direction:alternate}.recitation-buttons{gap:8px;display:flex}.recitation-buttons button{color:#53624d;letter-spacing:1px;background:0 0;border:1px solid #a49c7e;border-radius:3px;padding:9px 14px;font-size:11px}.recitation-buttons .recitation-primary{color:#f0dfb8;background:#294f3e;border-color:#294f3e;flex:1}.recitation-buttons button:disabled{opacity:.4;cursor:not-allowed}.recitation-settings{flex-wrap:wrap;gap:10px;margin:12px 0;display:flex}.recitation-settings label{color:#7c7d67;flex-direction:column;flex:130px;gap:5px;min-width:0;font-size:10px;display:flex}.recitation-settings .recitation-rate{flex:78px}.recitation-settings select{color:#56644e;background:#faf4e8;border:1px solid #b9af9366;border-radius:2px;width:100%;min-width:0;padding:7px 4px;font:11px Songti SC,serif}.recitation-auto{cursor:pointer;flex-wrap:wrap;align-items:center;gap:6px;font-size:10px;display:flex}.recitation-auto input{accent-color:#38664b;margin:0}.recitation-auto span{color:#8b8a72;font-size:9px}.recitation-status,.recitation-notice{color:#7b8068;margin:10px 0 0;font-size:10px;line-height:1.7}.is-error .recitation-status,.recitation-notice{color:#986440}.recitation-help{color:#8a8973;margin-top:9px;font-size:9px;line-height:1.8}.recitation-help summary{cursor:pointer}.recitation-help p{margin:6px 0}.verse-page blockquote>span{border-radius:3px;transition:color .25s,background-color .25s,box-shadow .25s}.verse-page blockquote>span.is-reciting{color:#926030;background:#d9b76725;box-shadow:-4px 0 #ba9555}.recitation-controls :focus-visible{outline-offset:3px;outline:2px solid #9d783e}@keyframes verse-sound{0%{transform:scaleY(.4)}to{transform:scaleY(1)}}@media (prefers-reduced-motion:reduce){.is-speaking .voice-bars b{animation:none}.verse-page blockquote>span{transition:none}}@media (width<=760px){.recitation-controls{padding:12px}.recitation-buttons button{min-height:40px}}.sky-veil{pointer-events:none;position:absolute;inset:0}.sky-veil>i{opacity:0;transition:opacity 1.8s;position:absolute;inset:0}.veil-dawn{background:radial-gradient(at 86% 4%,#ffd9ad66,#ffd9ad00 55%),linear-gradient(#fff0e030,#fff0e000 45%)}.veil-dusk{background:radial-gradient(at 14% 6%,#ff9f5a55,#ff9f5a00 58%),radial-gradient(at 50% 46%,#3d1f2800 42%,#3d1f2866 100%)}.veil-night{background:radial-gradient(at 50% 42%,#14224800 28%,#09112ab0 100%),linear-gradient(#121c3c55,#0a122818)}.veil-haze{background:linear-gradient(#d9e2e640,#c3ccd014)}.sky-veil[data-sky=dawn]>.veil-dawn,.sky-veil[data-sky=dusk]>.veil-dusk,.sky-veil[data-sky=night]>.veil-night,.sky-veil[data-weather=rain]>.veil-haze,.sky-veil[data-weather=snow]>.veil-haze,.sky-veil[data-weather=mist]>.veil-haze{opacity:1}.map-corner{pointer-events:none;flex-direction:column;align-items:flex-start;gap:8px;display:flex;position:absolute;top:24px;left:24px}.map-corner .map-heading{position:relative;top:auto;left:auto}.atmosphere-badge{pointer-events:auto;color:#efe1bd;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#19382ab8;border-left:1px solid #e2cea366;width:232px;padding:10px 13px 11px;transition:background .8s,box-shadow .8s;position:relative}.atmosphere-badge.sky-night{background:#16213ecc;box-shadow:0 0 0 1px #9fb3e025,0 8px 30px #0a102455}.atmosphere-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.atmosphere-row .eyebrow{color:#c9b98f}.atmosphere-row button{color:#d9c99d;letter-spacing:1px;background:0 0;border:1px solid #d7c69455;border-radius:2px;padding:3px 7px;font-size:9px}.atmosphere-row button[aria-pressed=false]{color:#98a58f;border-color:#8f9d8540}.atmosphere-badge strong{letter-spacing:4px;align-items:center;gap:8px;margin-top:8px;font-size:16px;font-weight:400;display:flex}.atmosphere-cues{color:#bfc3aa;letter-spacing:1px;flex-direction:column;gap:3px;margin-top:6px;font-size:10px;line-height:1.6;display:flex}.atmosphere-cues b{color:#ffd98e;text-shadow:0 0 8px #ffcf7a88;font-weight:400}.weather-icon{background:radial-gradient(circle,#ffe4a0 0 38%,#ffe4a000 40%);border-radius:50%;flex-shrink:0;width:16px;height:16px;display:inline-block;position:relative;box-shadow:0 0 10px #ffd98a66}.sky-night .weather-icon{background:radial-gradient(circle at 62% 38%,#16213e 0 34%,#0000 36%),radial-gradient(circle,#f3ebc8 0 50%,#0000 52%);box-shadow:0 0 12px #e9e2c066}.sky-dusk .weather-icon{background:radial-gradient(circle at 50% 70%,#ff9a55 0 42%,#0000 44%)}.weather-icon.weather-rain:after,.weather-icon.weather-snow:after,.weather-icon.weather-petals:after,.weather-icon.weather-leaves:after,.weather-icon.weather-catkins:after,.weather-icon.weather-mist:after{content:"";border-radius:50%;width:9px;height:9px;position:absolute;bottom:-3px;right:-5px}.weather-icon.weather-rain:after{background:#bcd8ea;border-radius:1px;width:2px;height:10px;transform:rotate(18deg);box-shadow:-4px 1px #bcd8ea99}.weather-icon.weather-snow:after,.weather-icon.weather-catkins:after{background:#fff;box-shadow:-5px -4px 0 -2px #fff}.weather-icon.weather-petals:after{background:#f5b5c2;border-radius:60% 0}.weather-icon.weather-leaves:after{background:#d9853e;border-radius:0 70%}.weather-icon.weather-mist:after{background:#e7ecee;border-radius:3px;width:13px;height:4px;box-shadow:-3px 5px #e7ecee99}.map-label[data-imagery]:before{content:attr(data-imagery);background:var(--label-imagery,#f1e6b8);color:#1d2f26;letter-spacing:1px;white-space:nowrap;border-radius:9px;padding:2px 6px;font-size:10px;position:absolute;bottom:calc(100% + 5px);left:50%;transform:translate(-50%);box-shadow:0 0 12px #fff3c066}.imagery-legend .legend-pillar{background:linear-gradient(0deg, var(--imagery-color), #0000);width:5px;height:15px;box-shadow:0 0 8px var(--imagery-color);border:0;border-radius:2px}@media (width<=1100px){.map-corner{top:27px;left:18px}.atmosphere-badge{width:210px}}@media (width<=760px){.map-corner{gap:6px;top:22px;left:20px}.atmosphere-badge{width:auto;max-width:170px;padding:7px 9px}.atmosphere-badge strong{letter-spacing:2px;margin-top:5px;font-size:13px}.atmosphere-cues{display:none}}.imagery-panel{--imagery-color:#f1e6b8}.imagery-intro{color:#7a806e;margin:-6px 0 16px;font-size:11px;line-height:1.9}.imagery-grid{grid-template-columns:repeat(6,1fr);gap:5px;margin-bottom:20px;display:grid}.imagery-grid button{color:#4c5a48;background:#fff8e92b;border:1px solid #b8ad9160;flex-direction:column;align-items:center;gap:2px;padding:8px 0 9px;display:flex;position:relative;overflow:hidden}.imagery-grid button b{font-size:19px;font-weight:500;line-height:1.2}.imagery-grid button small{color:#978f78;font:9px Georgia,serif}.imagery-grid button i{height:2px;width:calc(var(--chip-ratio) * 100%);background:var(--chip-color);filter:saturate(1.4)brightness(.8);position:absolute;bottom:0;left:0}.imagery-grid button:hover{background:#fff8e970}.imagery-grid button.selected{color:#fff6de;background:#294a3b;border-color:#294a3b;box-shadow:0 4px 14px #1d372a33}.imagery-grid button.selected small{color:#d9ceae}.imagery-grid button.selected i{filter:none;box-shadow:0 0 8px var(--chip-color)}.imagery-feature{border-top:1px solid #c4b8a370;border-bottom:1px solid #c4b8a370;grid-template-columns:74px 1fr;align-items:start;gap:14px;padding:16px 0 18px;animation:.45s both reveal;display:grid;position:relative}.imagery-glyph{color:#2f4a3a;background:radial-gradient(circle at 50% 55%, color-mix(in srgb, var(--imagery-color) 70%, transparent) 0, transparent 68%);border:1px solid #b6aa8c55;justify-content:center;align-items:center;height:88px;font:60px Kaiti SC,STKaiti,KaiTi,Songti SC,serif;display:flex}.imagery-feature h1{letter-spacing:3px;color:#273e31;margin:6px 0;font-size:26px;font-weight:500}.imagery-feature h1 small{letter-spacing:1px;color:#8e8b76;margin-left:6px;font-size:10px}.imagery-feature p{color:#6f7766;margin:0;font-size:11px;line-height:1.9}.imagery-rank{flex-direction:column;gap:4px;padding:16px 0;display:flex}.imagery-rank button{color:#56654f;letter-spacing:1px;text-align:left;background:0 0;border:0;grid-template-columns:38px 1fr 18px;align-items:center;gap:8px;padding:3px 0;font-size:12px;display:grid}.imagery-rank button i{height:7px;width:calc(var(--bar) * 100%);background:linear-gradient(90deg, #6f8c6f, color-mix(in srgb, var(--imagery-color) 80%, #a07a3c));border-radius:4px;min-width:6px;transition:width .5s}.imagery-rank button small{color:#8d876f;text-align:right;font:10px Georgia,serif}.imagery-rank button:hover span,.imagery-rank button.active span{color:#8a4c35}.imagery-rank button.active i{box-shadow:0 0 0 2px #a25f4830}.imagery-verses{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.imagery-verses li{animation:.4s both reveal;animation-delay:calc(min(var(--item-index), 12) * 35ms);background:#fffaf02e;border:1px solid #bdb39850;align-items:stretch;display:flex}.imagery-verses li.is-active{background:#fff5e080;border-color:#a25f4870;box-shadow:inset 3px 0 #a25f48}.verse-locate{text-align:left;color:#304736;background:0 0;border:0;flex-direction:column;flex:1;gap:5px;min-width:0;padding:9px 10px;display:flex}.verse-locate q{letter-spacing:1px;quotes:none;font-size:15px}.verse-locate mark{color:#8f3b27;background:linear-gradient(0deg, color-mix(in srgb, var(--imagery-color) 85%, transparent) 38%, transparent 38%);padding:0 1px}.verse-locate small{color:#8c8a75;letter-spacing:1px;font-size:9px}.verse-open{color:#8a5b41;writing-mode:vertical-rl;letter-spacing:3px;background:0 0;border:0;border-left:1px solid #bdb39850;flex-shrink:0;width:34px;font-size:10px}.verse-open:hover{background:#a25f4812}@media (width<=760px){.imagery-grid{grid-template-columns:repeat(6,1fr)}.verse-locate q{font-size:16px}}.seal-stamp{color:#fbeedd;direction:rtl;background:#a8392a;border-radius:3px;grid-template-rows:repeat(2,1fr);grid-auto-flow:column;place-items:center;width:46px;height:46px;padding:3px;font:600 15px/1 Kaiti SC,STKaiti,KaiTi,Songti SC,serif;display:inline-grid;box-shadow:inset 0 0 0 2px #a8392a,inset 0 0 0 3px #f3dcc4aa}.seal-stamp b{font-weight:600}.passport-button{color:#d7cbaa;white-space:nowrap;background:0 0;border:1px solid #cbb77f45;border-radius:4px;align-items:center;gap:8px;padding:7px 12px 7px 8px;font-size:11px;display:flex}.passport-button:hover{background:#cbb77f16}.passport-button b{color:#e6cf93;font:400 10px Georgia,serif}.passport-mini-seal{color:#fbeedd;background:#a8392a;border-radius:2px;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;display:inline-flex}.quiz-progress{grid-template-columns:repeat(8,1fr);gap:4px;margin:-6px 0 14px;display:grid}.quiz-progress i{background:#c9bfa860;border-radius:2px;height:4px}.quiz-progress i.is-current{background:#c7a661;box-shadow:0 0 0 2px #c7a66133}.quiz-progress i.is-done.stars-2{background:#a8392a}.quiz-progress i.is-done.stars-1{background:#cf8a62}.quiz-progress i.is-done.stars-0{background:#8f9486}.quiz-meta{letter-spacing:1px;color:#8b7858;justify-content:space-between;margin-bottom:12px;font-size:10px;display:flex}.quiz-card{background:linear-gradient(160deg,#fffaf0aa,#efe5cf88);border:1px solid #bcae8f70;padding:20px 18px 18px;animation:.45s both reveal;position:relative;box-shadow:0 10px 30px #3b331f12}.quiz-card blockquote{letter-spacing:4px;border-left-color:#a8392a;margin:14px 0 16px;font-size:23px;line-height:2.1}.quiz-card.is-wrong{animation:.45s quiz-shake}.quiz-hint{color:#7e6a45;background:#e9d9b440;border-left:2px solid #c7a661;margin:6px 0;padding:7px 9px;font-size:11px}.quiz-feedback{color:#5e6b57;margin:12px 0 0;font-size:12px;line-height:1.8}.quiz-feedback.is-wrong{color:#a4492f}.quiz-feedback.is-correct{color:#2e6243}.quiz-answer{border-top:1px dashed #bcae8f90;grid-template-columns:58px 1fr;align-items:center;gap:12px;margin-top:14px;padding-top:14px;display:grid}.quiz-answer-seal{writing-mode:vertical-rl;color:#fbeedd;letter-spacing:2px;background:#a8392a;border-radius:3px;justify-content:center;align-items:center;width:54px;height:54px;font:600 18px Kaiti SC,STKaiti,KaiTi,Songti SC,serif;animation:.6s cubic-bezier(.2,1.6,.4,1) both seal-press;display:flex;box-shadow:inset 0 0 0 3px #a8392a,inset 0 0 0 4px #f3dcc4aa}.quiz-card.is-revealed .quiz-answer-seal{background:#7d7f72;box-shadow:inset 0 0 0 3px #7d7f72,inset 0 0 0 4px #e8e2d3aa}.quiz-answer strong{color:#3d4f3f;letter-spacing:1px;font-size:12px;font-weight:500}.quiz-answer p{color:#7a806e;margin:5px 0 0;font-size:10px;line-height:1.8}.quiz-actions{gap:8px;margin-top:16px;display:flex}.quiz-actions button,.quiz-result button{color:#4d6852;letter-spacing:2px;background:0 0;border:1px solid #9d9d7d77;flex:1;padding:10px 8px;font-size:11px}.quiz-actions button:disabled{opacity:.45;cursor:not-allowed}.quiz-actions .quiz-primary,.quiz-result .quiz-primary,.poster-actions .quiz-primary{color:#f0dfb8;background:#294f3e;border-color:#294f3e}.quiz-rule{color:#95927d;margin-top:14px;font-size:9px;line-height:1.8}.quiz-result{text-align:center;padding:22px 10px 10px;animation:.5s both reveal}.quiz-rank-seal{justify-content:center;margin:18px 0;display:flex}.quiz-rank-seal span{writing-mode:vertical-rl;color:#fbeedd;letter-spacing:8px;background:#a8392a;border-radius:4px;padding:18px 13px;font:600 30px Kaiti SC,STKaiti,KaiTi,Songti SC,serif;animation:.7s cubic-bezier(.2,1.6,.4,1) both seal-press;box-shadow:inset 0 0 0 4px #a8392a,inset 0 0 0 6px #f3dcc4aa,0 12px 30px #6b1f1333}.quiz-score{letter-spacing:2px;color:#3d4f3f;margin:0 0 8px;font-size:14px}.quiz-rank-note{color:#7a806e;margin:0 0 20px;font-size:11px;line-height:1.9}.quiz-passport-note{color:#8e8b76;margin-top:14px;font-size:10px}.passport-dialog{color:#2b3831;background:0 0;border:0;border-radius:6px;width:min(640px,100vw - 32px);max-height:calc(100dvh - 40px);padding:0;overflow:visible}.passport-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a1712b8}.passport-sheet{background:linear-gradient(140deg,#f5eddc,#e8dfca);border-radius:6px;max-height:calc(100dvh - 40px);padding:24px 26px 18px;animation:.35s both reveal;overflow-y:auto;box-shadow:0 30px 80px #02100a88,inset 0 0 0 1px #b8a57d88,inset 0 0 0 7px #f5eddc,inset 0 0 0 8px #b8a57d55}.passport-sheet header,.poster-sheet header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.passport-sheet h2{letter-spacing:3px;margin:8px 0 0;font-size:24px;font-weight:500}.passport-sheet h2 small{letter-spacing:2px;color:#a8392a;margin-left:10px;font-size:12px}.passport-close{color:#5b6857;background:0 0;border:1px solid #b1a58a88;border-radius:3px;flex-shrink:0;width:32px;height:32px;font-size:20px}.passport-lede{color:#767d6a;margin:12px 0 18px;font-size:11px;line-height:1.9}.passport-grid{grid-template-columns:repeat(5,1fr);gap:10px;margin:0;padding:0;list-style:none;display:grid}.passport-seal{color:#7d806f;background:#fffaf040;border:1px dashed #bcae8f99;flex-direction:column;align-items:center;gap:7px;width:100%;padding:12px 4px 9px;display:flex}.passport-seal .seal-stamp{color:#b9ad93;background:0 0;width:52px;height:52px;font-size:17px;box-shadow:inset 0 0 0 1px #c6b99c,inset 0 0 0 4px #fffaf000,inset 0 0 0 5px #c6b99c66}.passport-seal small{letter-spacing:1px;font-size:9px}.passport-seal.is-visited,.passport-seal.is-solved{color:#7b4a35;background:#fff7ea88;border-style:solid;border-color:#c9a98f}.passport-seal.is-visited .seal-stamp,.passport-seal.is-solved .seal-stamp{color:#fbeedd;background:#a8392a;transform:rotate(-4deg);box-shadow:inset 0 0 0 2px #a8392a,inset 0 0 0 3px #f3dcc4aa}.passport-seal.is-solved{box-shadow:0 0 0 2px #d6b56a55}.passport-seal.is-solved .seal-stamp{box-shadow:inset 0 0 0 2px #a8392a,inset 0 0 0 3px #f3dcc4aa,0 0 0 3px #d6b56a}.passport-seal:hover{background:#fffaf0aa}.passport-sheet footer{color:#969480;justify-content:space-between;align-items:center;margin-top:18px;font-size:9px;display:flex}.passport-sheet footer button{color:#9a6a4f;text-underline-offset:3px;background:0 0;border:0;font-size:10px;text-decoration:underline}.seal-toast{z-index:6;color:#f3e4bf;letter-spacing:4px;pointer-events:none;background:#19382aee;border:1px solid #d8c28a66;border-radius:4px;align-items:center;gap:12px;padding:9px 18px 9px 10px;font-size:17px;animation:2.8s both toast-life;display:flex;position:absolute;top:24px;left:50%;transform:translate(-50%);box-shadow:0 12px 34px #06150e66}.seal-toast small{letter-spacing:2px;color:#bdbfa3;margin-bottom:4px;font-size:9px;display:block}.seal-toast .seal-stamp{animation:.6s cubic-bezier(.2,1.6,.4,1) .15s both seal-press}.seal-toast.is-solved{border-color:#e2c26f;box-shadow:0 0 0 1px #e2c26f55,0 12px 34px #06150e66}@keyframes seal-press{0%{opacity:0;transform:scale(2.2)rotate(-14deg)}60%{opacity:1;transform:scale(.92)rotate(-3deg)}to{opacity:1;transform:scale(1)rotate(-4deg)}}@keyframes quiz-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}@keyframes toast-life{0%{opacity:0;transform:translate(-50%,-10px)}10%,85%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-6px)}}@media (width<=1100px){.passport-button{padding:7px 9px 7px 7px}}@media (width<=760px){.passport-grid{grid-template-columns:repeat(3,1fr)}.quiz-card blockquote{font-size:22px}.passport-button{gap:5px;font-size:10px}.seal-toast{font-size:14px;top:64px}}.poster-trigger{color:#7c4b35;letter-spacing:1px;background:0 0;border:1px solid #b3a07e70;align-items:center;gap:7px;margin:-8px 0 4px;padding:4px 10px 4px 4px;font-size:10px;display:inline-flex}.poster-trigger span{color:#fbeedd;background:#a8392a;border-radius:2px;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;display:inline-flex}.poster-trigger:hover{background:#a8392a10}.poster-backdrop{z-index:90;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a1712c4;justify-content:center;align-items:center;padding:20px;animation:.3s both reveal;display:flex;position:fixed;inset:0}.poster-sheet{color:#2b3831;background:linear-gradient(140deg,#f5eddc,#e8dfca);border-radius:6px;flex-direction:column;gap:14px;width:min(470px,100%);max-height:calc(100dvh - 40px);padding:20px 22px;display:flex;box-shadow:0 30px 80px #02100a88,inset 0 0 0 1px #b8a57d88}.poster-sheet h2{letter-spacing:2px;margin:6px 0 0;font-size:20px;font-weight:500}.poster-preview{color:#8b8570;letter-spacing:2px;flex:1;justify-content:center;align-items:center;min-height:0;font-size:12px;display:flex}.poster-preview img{aspect-ratio:3/4;object-fit:contain;max-width:100%;max-height:calc(100dvh - 230px);animation:.4s both reveal;display:block;box-shadow:0 12px 34px #3b2f1a45}.poster-actions{flex-direction:column;align-items:stretch;gap:6px;display:flex}.poster-actions button{letter-spacing:3px;border:1px solid #294f3e;padding:11px;font-size:12px}.poster-actions button:disabled{opacity:.5;cursor:wait}.poster-actions small{text-align:center;color:#8e8b76;font-size:9px}.prologue{--brush:"Kaiti SC", "STKaiti", "KaiTi", "BiauKai", "Songti SC", serif;z-index:100;color:#eadbb5;background:radial-gradient(at 50% 42%,#243b2f 0%,#13231b 58%,#0a1510 100%);flex-direction:column;justify-content:center;align-items:center;gap:34px;display:flex;position:fixed;inset:0;overflow:hidden}.prologue:before{content:"";background:var(--prologue-map) center / cover;opacity:.14;filter:blur(2px)saturate(.5);mix-blend-mode:luminosity;pointer-events:none;animation:40s linear both prologue-drift;position:absolute;inset:-6%}.prologue:after{content:"";pointer-events:none;background:radial-gradient(at 50% 45%,#0000 40%,#050c08cc 100%);position:absolute;inset:0}.prologue>*{z-index:1;position:relative}.prologue.is-leaving{pointer-events:none;animation:1.1s cubic-bezier(.5,0,.3,1) forwards prologue-leave}.prologue-scroll{filter:drop-shadow(0 34px 60px #000b);align-items:stretch;height:min(56vh,500px);display:flex}.scroll-paper{background:linear-gradient(#e9ddc0,#f5edd9 16%,#f2e8d1 84%,#e2d3b1);width:min(960px,80vw);animation:1.7s cubic-bezier(.65,0,.25,1) .3s both scroll-unroll;position:relative;overflow:hidden;box-shadow:inset 0 0 70px #a88c5a45}.scroll-paper:before{content:"";background:var(--prologue-map) center 38% / cover;opacity:.34;mix-blend-mode:multiply;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000 38%,#0008 70%,#000 100%);mask-image:linear-gradient(#0000 38%,#0008 70%,#000 100%)}.scroll-paper:after{content:"";outline-offset:5px;pointer-events:none;border:1px solid #9c835a55;outline:1px solid #9c835a30;position:absolute;inset:14px}.scroll-content{flex-direction:row-reverse;justify-content:center;align-items:center;gap:clamp(36px,7vw,96px);width:min(960px,80vw);padding:44px 60px 60px;display:flex;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.scroll-rod{background:linear-gradient(90deg,#2c170d,#6e4027 28%,#b07748 52%,#6a3d24 76%,#26140a);border-radius:11px;width:22px;margin:-16px 0;position:relative;box-shadow:0 10px 30px #0009}.scroll-rod:before,.scroll-rod:after{content:"";background:linear-gradient(90deg,#5b4a22,#e2c985 50%,#5b4a22);border-radius:5px;width:30px;height:18px;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 2px 6px #0007}.scroll-rod:before{top:-14px}.scroll-rod:after{bottom:-14px}.prologue-title-block{flex-direction:row-reverse;align-items:flex-start;gap:18px;animation:1.2s 1.2s both ink-in;display:flex}.prologue-title-block h1{writing-mode:vertical-rl;font:400 clamp(46px, 6.4vh, 68px)/1 var(--brush);letter-spacing:16px;color:#1c2a21;text-shadow:0 0 1px #1c2a2166;margin:0}.prologue-title-block p{writing-mode:vertical-rl;letter-spacing:8px;color:#6d6450;margin:26px 0 0;font-size:14px}.prologue-seal{color:#fbeedd;width:54px;height:54px;font:600 18px/1 var(--brush);direction:rtl;background:#a8392a;border-radius:3px;grid-template-rows:1fr 1fr;grid-auto-flow:column;align-self:flex-end;place-items:center;margin-top:12px;animation:.7s cubic-bezier(.2,1.6,.4,1) 2.3s both seal-press;display:grid;box-shadow:inset 0 0 0 3px #a8392a,inset 0 0 0 4px #f3dcc4bb}.prologue-couplets{flex-direction:row-reverse;gap:clamp(22px,3.5vw,48px);display:flex}.prologue-couplet{writing-mode:vertical-rl;color:#3a473c;font:22px/1.9 var(--brush);letter-spacing:7px;animation:ink-in 1.4s calc(1.6s + var(--couplet-index) * .35s) ease both}.prologue-couplet span{display:block}.prologue-couplet small{letter-spacing:3px;color:#8f8166;margin-block-start:10px;padding-top:14px;font:11px Songti SC,serif;display:block}.prologue-footer{flex-direction:column;align-items:center;gap:14px;animation:1s 2.2s both ink-in;display:flex}.prologue-stats{letter-spacing:3px;color:#b9bb9f;gap:26px;margin:0;font-size:12px;display:flex}.prologue-stats b{font:400 22px var(--brush);color:#eed9a4;letter-spacing:2px;margin-right:4px}.prologue-enter{color:#1d3327;font:16px var(--brush);letter-spacing:12px;text-indent:12px;background:#e3cf9f;border:0;border-radius:2px;padding:13px 46px;transition:box-shadow .3s,transform .3s;box-shadow:0 0 0 1px #e3cf9f,0 0 0 6px #e3cf9f26,0 10px 30px #0006}.prologue-enter:hover{transform:translateY(-1px);box-shadow:0 0 0 1px #f3e2b6,0 0 0 8px #e3cf9f38,0 0 40px #e3cf9f55}.prologue-footer small{letter-spacing:3px;color:#7f9582;font-size:10px}@keyframes scroll-unroll{0%{width:0}}@keyframes ink-in{0%{opacity:0;filter:blur(6px);transform:translateY(6px)}to{opacity:1;filter:blur();transform:none}}@keyframes prologue-drift{0%{transform:scale(1.02)translate(-1%)}to{transform:scale(1.1)translate(1%)}}@keyframes prologue-leave{to{opacity:0;filter:blur(8px);transform:scale(1.08)}}@media (width<=760px){.prologue{gap:24px}.prologue-scroll{height:min(60vh,460px)}.scroll-paper,.scroll-content{width:82vw}.scroll-content{gap:26px;padding:34px 26px 40px}.prologue-couplet{letter-spacing:4px;font-size:17px}.prologue-couplet:nth-child(3){display:none}.prologue-couplet small{font-size:9px}.prologue-title-block{gap:10px}.prologue-title-block p{letter-spacing:5px;font-size:11px}.prologue-seal{width:44px;height:44px;font-size:14px}.prologue-stats{letter-spacing:1px;flex-wrap:wrap;justify-content:center;gap:14px;font-size:10px}.prologue-stats b{font-size:18px}}:root{--glass:#12241ccc;--glass-line:#e2cea033;--paper-line:#a08c6838;--text-strong:#263a2f;--text-soft:#6f766a;--radius:4px;--radius-card:6px;--shadow-float:0 8px 26px #04100b38;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}::selection{background:#a3402e2e}button{transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s,opacity .2s}.topbar{background:linear-gradient(#182a21,#13241c);border-bottom:1px solid #0000;border-image:linear-gradient(90deg,#0000,#cdb27a38 18% 82%,#0000) 1}.brand small{letter-spacing:3px;font-size:10px}.edition{font-size:12px}.section-switch{border-color:var(--glass-line);border-radius:var(--radius-card);background:#0d1c1566}.section-switch button{border-radius:var(--radius);font-size:13px}.section-switch button:not(.selected):hover{color:#e6d8b4;background:#ffffff0b}.section-switch button.selected{color:#1f3a2b;background:#eadbb9;box-shadow:inset 0 0 0 1px #fff6dd80,0 2px 8px #0000002a}.passport-button{border-color:var(--glass-line);font-size:12px}.reading-panel{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .42 0 0 0 0 .35 0 0 0 0 .24 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),linear-gradient(#f6f1e6,#ece4d3);border-right-color:#c9bca3;box-shadow:inset -1px 0 #fffaf09c}.panel-heading{letter-spacing:3px;color:var(--text-strong);font-size:14px}.panel-heading small{color:#9a9582;font-size:9px}.eyebrow{font-size:10px}.card-topline,.relation,.modern-city,.event-kicker,.quiz-meta{font-size:11px}.poem-meta{font-size:12px}.poem-note,.poet-profile p,.event-description,.imagery-intro,.imagery-feature p,.passport-lede,.quiz-rank-note{color:var(--text-soft);font-size:12px;line-height:1.95}.architecture-card p,.coordinate-head,.coordinate-head button,.coordinate-card>small,.calibration-detail,.dating-note,.quiz-answer p,.quiz-passport-note,.imagery-feature h1 small,.poem-pagination{font-size:11px}.poet-grid small,.poet-keywords span,.profile-top>span:last-child,.poem-relation,.verse-locate small,.quiz-rule,.passport-seal small,.passport-sheet footer,.poem-meta small,.city-rail button small,.imagery-grid button small,.panel-footer{font-size:10px}.focus-button,.journey-actions button,.quiz-actions button,.quiz-result button,.verify-button,.city-search,.empty-search,.quiz-hint{font-size:12px}.poem-picker button{padding:6px 9px;font-size:11px}.focus-button,.journey-actions button,.quiz-actions button,.quiz-result button,.verify-button,.poem-picker button,.poet-grid button,.imagery-grid button,.passport-seal,.poem-pagination button,.city-search,.dating-note,.calibration-detail,.quiz-hint{border-radius:var(--radius)}.quiz-card,.imagery-glyph{border-radius:var(--radius-card)}.quiz-card{box-shadow:0 8px 24px #3b331f10}.imagery-verses li{border-radius:var(--radius);overflow:hidden}.focus-button:hover,.journey-actions button:hover,.quiz-result button:hover,.verify-button:hover,.quiz-actions button:not(:disabled):hover{background:#2f4f3b0f;border-color:#6f7f64aa}.quiz-actions button.quiz-primary:not(:disabled):hover,.quiz-result button.quiz-primary:hover{background:#22453a;border-color:#22453a}.poet-grid button:not(.selected):hover,.poem-picker button:not(.selected):hover{background:#fff8e970;border-color:#a39a7e80}.city-search:focus{background:#fffcf370;border-color:#a3906a}.map-heading,.atmosphere-badge,.map-switch,.map-toggles,.terrain-controls,.map-toolbar,.map-bottom,.journey-legend,.arrival-badge,.journey-map-card,.seal-toast,.scene-status{background:var(--glass);border:1px solid var(--glass-line);border-radius:var(--radius-card);box-shadow:var(--shadow-float);-webkit-backdrop-filter:blur(12px)saturate(1.1);backdrop-filter:blur(12px)saturate(1.1)}.map-bottom{box-shadow:none}.journey-map-card{border-left:3px solid var(--poet-color)}.atmosphere-badge.sky-night{box-shadow:var(--shadow-float);background:#16213ed4}.atmosphere-badge.sky-dusk{background:#34262ad0}.atmosphere-badge.sky-dawn{background:#34352ecc}.seal-toast.is-solved{box-shadow:var(--shadow-float);border-color:#e2c26f88}.tour-control button{border-radius:var(--radius);border-color:var(--glass-line)}.tour-control button:hover{border-color:#d8c38e88}.map-heading h2{text-shadow:none}.map-heading p{color:#c3c4ad;font-size:11px}.map-switch button{border-radius:var(--radius);font-size:12px}.map-switch button:not(.selected):hover{color:#e3d6b2;background:#ffffff0d}.map-toggles,.map-instruction,.atmosphere-cues,.tour-control>span,.map-toolbar output{font-size:11px}.map-status,.journey-legend,.journey-legend small,.journey-map-stops button,.journey-map-card small,.journey-map-card>span,.arrival-badge span,.arrival-badge small,.seal-toast small,.terrain-slider span,.terrain-controls small,.terrain-reference-note,.atmosphere-row button{font-size:10px}.terrain-control-row button,.terrain-control-row output{font-size:11px}.map-toolbar .text-control{font-size:12px}.atmosphere-row button{border-radius:3px;padding:3px 8px}.journey-map-stops button{border-radius:3px}.map-label{background:#152a21f0;border-color:#d3bd8c66;border-radius:3px}.map-label.is-active{box-shadow:0 4px 14px #2a150b40}.atmosphere-cues b{text-shadow:none;color:#f0cf88}.weather-icon,.sky-night .weather-icon{box-shadow:none}.map-label[data-imagery]:before{box-shadow:0 1px 4px #0000002e}.imagery-legend .legend-pillar{box-shadow:none}.imagery-grid button.selected{box-shadow:0 3px 10px #1d372a26}.imagery-grid button.selected i,.quiz-progress i.is-current{box-shadow:none}.timeline-stop.is-current .stop-dot{box-shadow:0 0 0 4px #ccaf701c}.poet-timeline{background:linear-gradient(#172d24,#11241c);border-top-color:#a48c5940}.timeline-header .eyebrow,.stop-title,.timeline-stop small,.timeline-footer,.stop-dot{font-size:10px}.timeline-controls button{border-radius:var(--radius)}.timeline-controls .timeline-play,.timeline-controls .timeline-overview{font-size:11px}@media (width<=760px){.section-switch button{font-size:12px}.edition,.map-heading p{font-size:10px}.map-switch button,.map-toggles,.journey-map-card p,.journey-map-card strong{font-size:11px}.poet-grid small,.timeline-footer,.atmosphere-row button{font-size:9px}}.architecture-actions{grid-template-columns:1fr 1fr;gap:6px;margin-top:8px;display:grid}.architecture-actions .focus-button{margin-top:0}.showcase-button{color:#f0e2c0;background:#2f4a3a;border-color:#2f4a3a}.showcase-button:hover{background:#3b5a47}.tour-control .showcase-entry{background:0 0}.tour-control .showcase-entry:hover{background:#19382ee8}.experience>.map-corner,.experience>.map-options,.experience>.tour-control,.experience>.arrival-badge,.experience .map-toolbar,.experience>.terrain-notice{transition:opacity .35s}.is-showcase>.map-corner,.is-showcase>.map-options,.is-showcase>.tour-control,.is-showcase>.arrival-badge,.is-showcase .map-toolbar,.is-showcase>.terrain-notice{opacity:0;pointer-events:none}.is-showcase>.map-bottom{left:316px}.showcase-panel{z-index:4;background:var(--glass);-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-line);border-radius:var(--radius-card);width:272px;box-shadow:var(--shadow-float);color:#efe2c4;scrollbar-width:thin;scrollbar-color:#e2cea044 transparent;flex-direction:column;gap:12px;padding:18px 18px 14px;animation:.5s both showcase-in;display:flex;position:absolute;top:26px;bottom:26px;left:26px;overflow-y:auto}.showcase-panel header{justify-content:space-between;align-items:center;display:flex}.showcase-panel .eyebrow{color:#cdb683;letter-spacing:2px;font-size:10px}.showcase-close{border:1px solid var(--glass-line);color:#e9d9b4;border-radius:var(--radius);letter-spacing:2px;background:0 0;padding:4px 10px;font-size:11px}.showcase-close:hover{background:#e2cea012;border-color:#e2cea088}.showcase-panel h2{letter-spacing:3px;color:#f6ead0;margin:2px 0 0;font-size:21px;font-weight:500}.showcase-lede{letter-spacing:1px;color:#bfb394;margin:-4px 0 0;font-size:11px}.showcase-views{border:1px solid var(--glass-line);border-radius:var(--radius);grid-template-columns:repeat(4,1fr);display:grid;overflow:hidden}.showcase-views button{border:0;border-left:1px solid var(--glass-line);color:#cfc2a2;letter-spacing:2px;background:0 0;padding:7px 0;font-size:12px}.showcase-views button:first-child{border-left:0}.showcase-views button:hover{background:#e2cea00f}.showcase-views button[aria-pressed=true]{color:#f6e6bf;background:#e2cea01f;box-shadow:inset 0 -2px #c9a45f}.showcase-caption{letter-spacing:2px;color:#a99d80;border-bottom:1px solid var(--glass-line);padding-bottom:6px;font-size:10px}.showcase-parts{grid-template-columns:1fr 1fr;gap:4px 6px;margin:-4px 0 0;padding:0;list-style:none;display:grid}.showcase-parts button{color:#e3d5b4;border-radius:var(--radius);letter-spacing:1px;text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:8px;width:100%;padding:5px 6px;font-size:12px;display:flex}.showcase-parts b{color:#e9d7ae;border:1px solid #e2cea077;border-radius:50%;flex-shrink:0;place-items:center;width:18px;height:18px;font:500 10px Georgia,serif;display:grid}.showcase-parts button:hover{background:#e2cea00f}.showcase-parts button[aria-pressed=true]{color:#fbecca;background:#a04f3830;border-color:#e2cea040}.showcase-parts button[aria-pressed=true] b{color:#fff3d6;background:#a04f38;border-color:#f0d9a8}.showcase-note{border-radius:0 var(--radius) var(--radius) 0;background:#f4ead60d;border-left:2px solid #c9a45f;padding:12px 13px;animation:.4s both showcase-fade}.showcase-note strong{letter-spacing:2px;color:#f3dfb2;margin-bottom:6px;font-size:14px;font-weight:500;display:block}.showcase-note p{color:#dccfb0;margin:0;font-size:12px;line-height:1.9}.showcase-disclaimer{color:#9b917a;margin-top:auto;font-size:10px;line-height:1.7}.showcase-verse{z-index:3;pointer-events:none;writing-mode:vertical-rl;color:#f5ead0;text-shadow:0 1px 8px #0b1a14d9,0 0 2px #0b1a14aa;margin:0;font-family:Kaiti SC,STKaiti,KaiTi,Songti SC,serif;animation:1s .5s both showcase-fade;position:absolute;top:34px;right:34px}.showcase-verse p{margin:0;letter-spacing:7px;margin-block-end:10px;font-size:21px}.showcase-verse figcaption{letter-spacing:3px;color:#d9c79d;border-block-start:1px solid #e2cea066;margin-block-start:6px;padding-block-start:12px;font-size:12px}.showcase-hotspot{pointer-events:auto;cursor:pointer;background:0 0;border:0;width:22px;height:22px;padding:0;position:relative}.showcase-hotspot b{color:#f1e3bf;background:#13261de0;border:1px solid #e2cea0b0;border-radius:50%;place-items:center;width:22px;height:22px;font:500 11px Georgia,serif;transition:background .2s,border-color .2s;display:grid;position:relative;box-shadow:0 2px 8px #04100b66}.showcase-hotspot b:before{content:"";border:1px solid #e9d6a8;border-radius:50%;animation:2.6s ease-in-out infinite hotspot-breathe;position:absolute;inset:-5px}.showcase-hotspot span{white-space:nowrap;border-radius:var(--radius);border:1px solid var(--glass-line);color:#efe2c4;letter-spacing:1px;opacity:0;pointer-events:none;background:#13261de8;height:22px;margin-top:-11px;padding:0 8px;font-size:11px;line-height:20px;transition:opacity .2s;position:absolute;top:50%;left:28px}.showcase-hotspot:hover b,.showcase-hotspot:focus-visible b,.showcase-hotspot.is-active b{background:#a04f38;border-color:#f0d9a8}.showcase-hotspot:hover span,.showcase-hotspot:focus-visible span,.showcase-hotspot.is-active span{opacity:1}.showcase-hotspot.is-active b:before{opacity:.6;animation:none}@keyframes showcase-in{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:none}}@keyframes showcase-fade{0%{opacity:0}to{opacity:1}}@keyframes hotspot-breathe{0%,to{opacity:.1}50%{opacity:.7}}@media (width<=1100px){.showcase-panel{width:248px;top:18px;bottom:18px;left:18px}.is-showcase>.map-bottom{left:284px}}@media (width<=760px){.showcase-panel{gap:9px;width:auto;max-height:46%;padding:12px 13px 10px;animation-name:showcase-fade;inset:auto 10px 10px}.showcase-panel h2{font-size:17px}.showcase-lede,.showcase-caption,.showcase-disclaimer,.showcase-verse,.is-showcase>.map-bottom{display:none}.showcase-parts{grid-template-columns:repeat(3,1fr);margin:0}.showcase-parts button{gap:5px;padding:4px;font-size:11px}.showcase-note{padding:9px 10px}.showcase-note p{font-size:11px;line-height:1.8}.architecture-actions .focus-button{letter-spacing:1px;padding:9px 10px;font-size:11px}}
