:root{--red:#812b29;--deep:#542321;--paper:#f6f3ec;--ink:#302c28;--muted:#827c73;--gold:#bda17a;--line:#e5dfd4}*{box-sizing:border-box}body{margin:0;background:#e5dfd5;color:var(--ink);font-family:"PingFang SC","Microsoft YaHei",sans-serif;font-size:16px;line-height:1.6}button,input{font:inherit}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #c08c48;outline-offset:3px}button{border:0;background:none}#app{max-width:480px;min-height:100dvh;background:var(--paper);margin:0 auto;position:relative;box-shadow:0 0 100px #362b2020}header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:14px 24px;border-bottom:1px solid var(--line);background:var(--paper)}.brand{display:flex;gap:10px;align-items:center;text-align:left;padding:0;font-family:serif;font-size:22px;font-weight:700;line-height:1.15;letter-spacing:3px}.brand small{display:block;font:10px/1.8 sans-serif;letter-spacing:2px;margin-top:4px}.seal{font-family:serif;color:var(--red);border:1px solid var(--red);width:35px;height:39px;font-size:26px;text-align:center;line-height:37px;transform:rotate(-3deg)}.header-tag{font-size:12px;color:var(--muted);border:1px solid var(--line);border-radius:30px;padding:5px 10px}main{padding-bottom:100px}nav{position:fixed;bottom:0;width:100%;max-width:480px;background:#fcfaf5f5;backdrop-filter:blur(15px);display:flex;border-top:1px solid var(--line);padding:10px 8px calc(10px + env(safe-area-inset-bottom));z-index:5}nav button{flex:1;font-size:12px;color:#8b8279;display:grid;gap:4px;justify-items:center}nav button.active{color:var(--red);font-weight:700}svg.icon{width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.hero{position:relative;height:300px;background:var(--deep);overflow:hidden;color:#fff}.hero img{position:absolute;right:0;width:65%;height:100%;object-fit:cover;object-position:center 25%;filter:grayscale(1) sepia(.25);opacity:.65}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#542321 0%,#542321b0 42%,transparent 100%),linear-gradient(0deg,#54232180,transparent)}.hero-copy{position:relative;z-index:1;padding:33px 25px}.eyebrow{font-size:11px;letter-spacing:3px;color:var(--gold);text-transform:uppercase}.hero h1{font-family:serif;font-size:37px;font-weight:500;line-height:1.4;letter-spacing:5px;margin:15px 0 13px}.hero p{font-size:13px;color:#e1cfc2}.hero button{color:#fff;border-bottom:1px solid #bda17a;padding:0 0 5px;font-size:13px}.hero-index{position:absolute;bottom:22px;right:23px;z-index:2;font:12px serif;letter-spacing:3px}.intro-strip{padding:13px 23px;background:#ece5d9;font-size:12px;display:flex;justify-content:space-between;color:#74604b}.section{padding:24px 23px 0}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.section-head h2{font-family:serif;font-size:21px;letter-spacing:1px;margin:0}.section-head button{font-size:12px;color:var(--muted);padding:6px 0}.features{display:grid;grid-template-columns:repeat(4,1fr);padding:24px 14px 2px;gap:4px}.features button{display:grid;justify-items:center;gap:9px;font-size:13px;padding:0}.feature-icon{width:49px;height:49px;display:grid;place-items:center;background:#eee5dc;border-radius:16px;color:var(--red)}.feature-icon svg{width:25px;height:25px}.guide-card{background:var(--red);color:#fff;padding:20px;border-radius:4px;position:relative;overflow:hidden;display:flex;align-items:center;gap:16px;text-align:left;width:100%}.guide-orb{flex-shrink:0;width:67px;height:67px;border:1px solid #c99775;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#d8b58e55,transparent 70%);box-shadow:0 0 0 7px #ffffff06}.guide-orb svg{width:31px;height:31px}.guide-card small{font-size:11px;letter-spacing:2px;color:#e0bcb0}.guide-card h3{font-family:serif;font-size:21px;margin:3px 0}.guide-card p{font-size:12px;color:#e5c8bf;margin:0}.round-arrow{margin-left:auto;font-size:22px}.story-card{border:1px solid var(--line);padding:20px;background:#fcfaf6;display:block;text-align:left;width:100%;position:relative}.story-card .year{font:italic 42px Georgia;color:#b29875;line-height:1.2}.story-card h3{margin:6px 0;font-family:serif;font-size:21px}.story-card p{font-size:13px;color:var(--muted);margin:0;max-width:85%}.story-card .story-foot{margin-top:18px;padding-top:12px;border-top:1px solid var(--line);font-size:12px;display:flex;justify-content:space-between;color:var(--muted)}.route-mini{display:flex;align-items:center;gap:12px;background:#eae6dd;padding:16px;width:100%;text-align:left}.route-mini strong{display:block;font-size:15px}.route-mini small{color:var(--muted);font-size:12px}.section:last-child{padding-bottom:10px}.page-title{padding:25px 24px 15px}.page-title h1{font-family:serif;font-size:30px;margin:5px 0 8px;letter-spacing:2px}.page-title p{font-size:14px;color:var(--muted);margin:0}.tabs{display:flex;gap:10px;padding:0 24px 19px}.tabs button,.chip{border:1px solid var(--line);padding:7px 14px;border-radius:30px;background:#fcfaf6;font-size:13px}.tabs button.active{background:var(--red);color:white;border-color:var(--red)}.timeline{margin:0 24px 0 48px;border-left:1px solid #cdbb9e;padding-left:25px}.time-item{position:relative;padding:0 0 24px}.time-item:before{content:"";position:absolute;left:-31px;top:20px;border:3px solid var(--paper);width:9px;height:9px;background:var(--red);border-radius:50%}.time-item .date{font:32px Georgia;color:var(--red)}.time-item button{padding:12px 17px;margin-top:6px;background:#fffcf7;border:1px solid var(--line);width:100%;text-align:left}.time-item h3{font-family:serif;font-size:20px;margin:0 0 6px}.time-item p{font-size:13px;color:var(--muted);margin:0}.detail{padding:24px}.detail h1{font-family:serif;font-size:30px}.detail .body{font-size:16px;line-height:2;text-align:justify}.back{font-size:14px;color:var(--red);padding:0}.source{font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:14px;margin-top:25px}.source a{color:var(--red)}.primary{background:var(--red);color:white;width:100%;padding:13px 20px;border-radius:4px}.secondary{border:1px solid var(--line);width:100%;padding:12px;margin-top:10px}.chat-intro{text-align:center;padding:25px 20px 10px}.chat-intro .guide-orb{margin:auto;color:var(--red);width:76px;height:76px}.chat-intro h2{font-family:serif;font-weight:500;margin:13px 0 6px}.chat-intro p{font-size:13px;color:var(--muted)}.suggestions{display:flex;flex-wrap:wrap;gap:8px;padding:12px 24px}.suggestions button{font-size:13px;border:1px solid var(--line);border-radius:5px;background:#fffcf7;padding:10px 12px;text-align:left}.chat-log{padding:12px 22px}.bubble{margin-bottom:17px;max-width:94%;background:#fffdf8;border:1px solid var(--line);padding:14px 16px;font-size:15px;line-height:1.8;border-radius:0 12px 12px 12px;white-space:pre-wrap}.bubble.user{margin-left:auto;background:var(--red);color:#fff;border:0;border-radius:12px 0 12px 12px}.bubble small{display:block;color:var(--muted);font-size:11px;margin-top:9px}.composer{display:flex;gap:9px;padding:12px 20px;background:var(--paper);position:sticky;bottom:78px}.composer input{min-width:0;width:100%;background:#fffdf8;border:1px solid var(--line);border-radius:5px;padding:12px;font-size:14px}.composer button{background:var(--red);color:white;flex-shrink:0;padding:9px 14px;border-radius:5px}.notice{font-size:12px;color:var(--muted);padding:0 24px;margin:10px 0}.digital-stage{margin:0 22px;background:radial-gradient(ellipse at 50% 42%,#845044,#2c2423 75%);height:320px;border-radius:5px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;position:relative;overflow:hidden}.digital-stage .big-orb{width:134px;height:134px;border:1px solid #c29a75;border-radius:50%;display:grid;place-items:center;box-shadow:0 0 0 15px #bfa17a0b,0 0 0 32px #bfa17a08}.big-orb svg{width:60px;height:60px;stroke-width:1}.digital-stage.playing .big-orb{animation:pulse 1.6s infinite}.digital-stage h2{font-family:serif;margin:22px 0 0;letter-spacing:4px}.digital-stage p{font-size:12px;color:#cdb7a4}.stage-label{position:absolute;top:15px;left:16px;font-size:11px;letter-spacing:2px}.wave{display:flex;align-items:center;gap:5px;height:24px}.wave i{width:2px;height:6px;background:var(--gold)}.playing .wave i{animation:wave .8s infinite alternate}.wave i:nth-child(2n){animation-delay:.3s}.wave i:nth-child(3n){animation-delay:.6s}.caption{padding:17px;background:#eae4d9;border-left:2px solid var(--gold);margin:18px 23px;font-size:14px;line-height:1.9}.topic-list{padding:0 23px}.topic-list button{width:100%;display:flex;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--line);font-size:14px}.map{margin:0 23px;padding:21px;background-color:#e9e6dc;background-image:linear-gradient(#d8d3c750 1px,transparent 1px),linear-gradient(90deg,#d8d3c750 1px,transparent 1px);background-size:23px 23px;position:relative;border:1px solid var(--line)}.map-label{font-size:11px;letter-spacing:2px;color:var(--muted);margin-bottom:18px}.map-nodes{display:grid;grid-template-columns:1fr 1fr;gap:22px}.map button{padding:18px 4px;background:#fdfaf2;border:1px solid #cbbb9f;border-radius:4px;font-size:13px}.map button.selected{background:var(--red);color:white;border-color:var(--red)}.map button b{display:block;font:20px Georgia;margin-bottom:3px}.exhibit{padding:20px;background:#fffcf7;margin:17px 23px;border:1px solid var(--line)}.exhibit h2{font-family:serif;font-size:22px;margin:0 0 7px}.exhibit p{font-size:14px;color:var(--muted)}.step-row{display:flex;gap:8px;align-items:center;margin:14px 0;font-size:12px;color:var(--red);flex-wrap:wrap}.quiz-card{padding:25px;margin:0 23px;background:#fffcf7;border:1px solid var(--line)}.quiz-card h2{font-family:serif;font-size:23px}.quiz-option{display:block;width:100%;border:1px solid var(--line);margin:12px 0;text-align:left;padding:14px}.quiz-option.correct{border-color:#537158;background:#e4ecdf}.quiz-option.wrong{border-color:var(--red);background:#f4e4df}.progress{height:3px;background:var(--line);margin:15px 0}.progress span{display:block;height:3px;background:var(--red)}.certificate{text-align:center;border:double 5px var(--gold);padding:30px 20px;background:#f4eee2}.certificate h2{font-family:serif;color:var(--red);font-size:29px}.certificate .seal{margin:25px auto}.certificate p{font-size:14px}dialog{border:1px solid var(--line);background:var(--paper);max-width:400px;width:90%;padding:26px;border-radius:8px;color:var(--ink)}dialog::backdrop{background:#241b18a0;backdrop-filter:blur(4px)}dialog h2{font-family:serif}dialog p{font-size:14px;line-height:1.9}.close-modal{background:var(--red);color:white;width:100%;padding:10px;margin-top:15px}#toast{display:none;position:fixed;z-index:20;bottom:110px;left:50%;transform:translateX(-50%);background:#302c28ed;color:white;padding:12px 20px;font-size:14px;border-radius:5px;max-width:85%;width:max-content}.desktop-note{display:none}@keyframes pulse{50%{box-shadow:0 0 0 20px #bfa17a15,0 0 0 42px #bfa17a07}}@keyframes wave{to{height:24px}}@media(min-width:950px){#app{margin-left:53%;min-height:100vh}.desktop-note{display:block;position:fixed;left:10%;top:24%;max-width:35%;color:var(--deep)}.desktop-note>span{font-size:14px;letter-spacing:4px}.desktop-note h1{font-family:serif;font-size:47px;line-height:1.6;font-weight:500;letter-spacing:4px}.desktop-note p{font-size:13px;line-height:2;letter-spacing:2px;color:#857365}.note-line{height:1px;background:#bbaa93;width:50px;margin:30px 0}}@media(prefers-reduced-motion:reduce){*{animation:none!important}}@media(max-width:360px){.hero h1{font-size:31px}.section{padding-left:17px;padding-right:17px}.tabs{gap:5px;padding-left:15px;padding-right:15px}.tabs button{padding:7px 10px}}

.guide-photo{overflow:hidden}.guide-photo img{width:100%;height:100%;object-fit:cover;object-position:center 18%}.digital-stage{height:390px;justify-content:flex-end;padding-bottom:15px}.digital-portrait{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 18%}.digital-stage:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#211b1bed,transparent 45%)}.digital-stage h2,.digital-stage p,.digital-stage .wave,.stage-label{position:relative;z-index:1}.digital-stage .stage-label{position:absolute;background:#24202099;padding:4px 8px;border-radius:3px}.digital-stage h2{margin:0}.digital-stage p{margin:2px 0 8px}
