:root{font-family:Segoe UI,Microsoft YaHei,sans-serif;color:#343c36;background:#f3f0e8;font-synthesis:none;font-weight:400;--paper:#f3f0e8;--ink:#343c36;--muted:#8b8e82;--accent:#ac593e;--line:#dcdcd0}*{box-sizing:border-box}body{margin:0}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button{border:0;background:none}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,#scene:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button:disabled{cursor:default}button[hidden],[hidden]{display:none!important}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linejoin:round;stroke-linecap:round}#app{height:100svh;min-height:730px;display:flex;flex-direction:column;overflow:hidden}.header{height:100px;flex-shrink:0;margin:0 4%;border-bottom:1px solid var(--line);display:flex;align-items:center;position:relative;z-index:3}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:39px;height:43px;border:1px solid #aebaab;border-radius:11px;color:#5c6d5c;transform:rotate(-5deg)}.brand-mark svg{width:24px;height:24px}.brand>span:last-child{font-weight:600;letter-spacing:4px;font-size:20px}.brand-en{display:block;font-size:9px;letter-spacing:2.4px;margin-top:3px;font-weight:500}.header-note{margin-left:auto;font-size:11px;letter-spacing:1.5px;color:#7c8275;display:flex;gap:32px}.header-note span{font-size:11px;letter-spacing:2px;color:#4c5b4d}.header>.icon-button{margin-left:33px;width:28px;height:28px;border:1px solid #b5bcac;border-radius:50%;font-family:Georgia,serif;font-size:15px}.experience{position:relative;flex:1;min-height:420px}#scene{position:absolute;inset:0 0 0 23%;outline-offset:-6px;touch-action:none}#scene canvas{display:block;width:100%;height:100%;outline:none}.intro{position:absolute;left:4%;top:8%;width:320px;pointer-events:none;z-index:2}.eyebrow{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:2px;color:#7a8473}.tiny-line{width:17px;height:1px;background:#84917c}h1{font-family:STSong,Songti SC,SimSun,Georgia,serif;font-size:clamp(34px,3.5vw,53px);line-height:1.4;letter-spacing:2px;font-weight:500;margin:22px 0 16px}.title-dot{color:var(--accent)}.intro-copy{font-size:11px;line-height:2.1;color:#888b7f;letter-spacing:.8px;margin:0}.chapter{margin-top:37px;max-width:270px}.chapter-index{display:flex;align-items:center;gap:8px;font-size:9px;letter-spacing:2px;color:var(--accent);font-weight:600}.chapter-rule{height:1px;width:37px;background:#c9b39f;margin-left:4px}.chapter h2{font-size:17px;font-weight:500;letter-spacing:.7px;margin:14px 0 9px}.chapter p{font-size:11px;color:#85897d;line-height:1.9;margin:0;max-width:250px;min-height:42px}.year-lockup{display:flex;align-items:center;gap:13px;margin-top:22px}#year-display{font-family:Georgia,Times New Roman,serif;font-size:78px;font-weight:400;letter-spacing:-5px;line-height:1;color:#545f4e;font-variant-numeric:lining-nums tabular-nums}.year-suffix{font-size:11px;line-height:1.7;color:#828879;margin-top:9px}.year-suffix>span{font-size:9px;letter-spacing:1px}.hardware{display:flex;gap:7px;margin-top:15px;flex-wrap:wrap}.hardware span{font-size:9px;color:#7e8376;border:1px solid #d8dccd;border-radius:3px;padding:5px 7px;letter-spacing:.2px}.view-controls{position:absolute;right:4.3%;top:24px;display:flex;align-items:center;gap:5px;z-index:3;background:#f5f2e9b8;border:1px solid #dbdfd1;border-radius:7px;padding:4px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.view-button{display:flex;align-items:center;gap:7px;padding:9px 12px;font-size:10px;color:#818777;border-radius:4px}.view-button svg{width:16px;height:16px}.view-button.active{background:#e4e7da;color:#4a5b45}.view-button:hover{color:#3e5139}.icon-button{display:grid;place-items:center;width:32px;height:32px}.icon-button svg{width:17px;height:17px}#light-toggle{border-left:1px solid var(--line);margin-left:5px;width:36px;border-radius:0}#light-toggle[aria-pressed=true]{color:#b67f44}.scene-caption{position:absolute;left:43%;bottom:54px;display:flex;align-items:center;gap:8px;color:#7c8473;font-size:9px;letter-spacing:1px;pointer-events:none}.live-dot{width:5px;height:5px;border-radius:50%;background:#87966f}.caption-rule{width:20px;height:1px;background:#c8cebd;margin:0 5px}.scene-scale{color:#a3a894;font-size:8px}.interaction-hint{display:flex;align-items:center;gap:8px;position:absolute;bottom:20px;left:50%;transform:translate(-10%);font-size:9px;color:#8b9182;letter-spacing:.5px;pointer-events:none}.interaction-hint svg{width:13px;height:13px}.hint-separator{margin:0 11px;color:#babfaf}.timeline{position:relative;z-index:4;flex-shrink:0;margin:0 4%;padding:22px 0 19px;border-top:1px solid var(--line);height:174px}.timeline-top{display:flex;align-items:center;justify-content:space-between}.timeline-heading{font-size:12px;font-weight:500;letter-spacing:1px}.timeline-sub{font-size:9px;color:#929786;letter-spacing:1px;margin-left:18px}.play-button{display:flex;align-items:center;gap:9px;font-size:10px;letter-spacing:1px;padding:9px 14px;border:1px solid #bac3ae;border-radius:4px;color:#57684d;background:#f5f4ed;transition:background .2s}.play-button:hover{background:#e6e9db}.play-button svg{width:12px;height:12px;fill:currentColor;stroke-width:0}.play-button[aria-pressed=true]{background:#566849;color:#f4f1e6;border-color:#566849}.timeline-track{height:63px;margin:3px 5px 0;position:relative}.track-line{position:absolute;left:0;right:0;top:20px;background:#d5d9c9;height:2px}.track-line:before{content:"";position:absolute;left:0;right:0;top:-3px;height:8px;background:repeating-linear-gradient(to right,transparent 0,transparent calc(5% - 1px),#c8cebc calc(5% - 1px),#c8cebc 5%)}#track-progress{position:absolute;left:0;top:0;height:2px;width:0%;background:#a85c40;z-index:1}.year-stops{position:absolute;inset:0;display:flex;justify-content:space-between;pointer-events:none}.year-stop{position:relative;margin-top:31px;font-family:Georgia,serif;font-size:15px;letter-spacing:1px;padding:3px 0;width:50px;text-align:center;pointer-events:auto;transform:translate(0);color:#8f9684;z-index:2}.year-stop:first-child{text-align:left}.year-stop:last-child{text-align:right}.year-stop:before{content:"";position:absolute;top:-14px;left:50%;width:6px;height:6px;background:#f3f0e8;border:1px solid #acb59e;border-radius:50%}.year-stop:first-child:before{left:0}.year-stop:last-child:before{left:auto;right:0}.year-stop.active{color:#a9563c;font-weight:700}.year-stop.active:before{background:#a9563c;border-color:#a9563c;box-shadow:0 0 0 4px #e9ddca}.year-stop:hover{color:#a9563c}#year-slider{position:absolute;left:-8px;top:10px;width:calc(100% + 16px);margin:0;height:22px;cursor:ew-resize;background:transparent;appearance:none;z-index:3}#year-slider::-webkit-slider-runnable-track{height:2px;background:transparent}#year-slider::-moz-range-track{height:2px;background:transparent}#year-slider::-webkit-slider-thumb{appearance:none;width:12px;height:12px;margin-top:-5px;background:#a9563c;border:3px solid #f3f0e8;border-radius:50%;box-shadow:0 0 0 1px #a9563c}#year-slider::-moz-range-thumb{width:7px;height:7px;background:#a9563c;border:3px solid #f3f0e8;border-radius:50%;box-shadow:0 0 0 1px #a9563c}.timeline-bottom{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px;color:#9ba18f;margin-top:5px}.footer-cross{display:inline-block;color:#8b9c79;font-size:17px;margin-left:17px;vertical-align:middle}.hotspots{position:absolute;inset:0;pointer-events:none;overflow:hidden}.hotspot{position:absolute;width:22px;height:22px;padding:0;border:1px solid #fcf8e2cf;border-radius:50%;background:#62533c43;box-shadow:0 0 0 4px #fff7d51b;pointer-events:auto;transform:translate(-50%,-50%);transition:opacity .25s,background .2s;display:grid;place-items:center}.hotspot:before{content:"";width:5px;height:5px;border-radius:50%;background:#fff4cf;box-shadow:0 0 6px #fff1c0}.hotspot:hover,.hotspot.selected{background:#a9563ce6;border-color:#fff5d5;z-index:2}.hotspot-label{position:absolute;left:29px;white-space:nowrap;background:#f9f5e7f5;box-shadow:0 3px 15px #514d3012;border:1px solid #dbd7c6;color:#666b59;border-radius:3px;padding:5px 9px;font-size:9px;letter-spacing:.4px;opacity:0;transform:translate(-4px);transition:.2s;pointer-events:none}.hotspot:hover .hotspot-label,.hotspot:focus-visible .hotspot-label{opacity:1;transform:none}.memory-card,.help-card{position:absolute;right:4.3%;bottom:88px;width:275px;padding:26px;background:#f8f4e9f7;border:1px solid #ded9c8;box-shadow:0 10px 45px #383b2518;border-radius:6px;z-index:6;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);animation:card-in .25s ease-out}.memory-kicker{font-size:8px;letter-spacing:2px;color:#a55d41}.memory-card h3,.help-card h3{font-family:STSong,Songti SC,SimSun,serif;font-weight:500;font-size:22px;margin:13px 0}.memory-card p,.help-card p{font-size:11px;line-height:2;color:#7b7d6e;margin:10px 0}.memory-footnote{margin-top:20px;padding-top:13px;border-top:1px solid #e0ddce;font-size:9px;color:#a49e87;letter-spacing:.5px}.close-button{position:absolute;right:11px;top:9px;font-size:22px;color:#8f9481;font-weight:300;line-height:1;width:27px;height:27px}.text-button{font-size:10px;color:#a55d41;padding:17px 0 0}.text-button span{padding-left:10px}.help-card{top:22px;bottom:auto;width:290px}.loading{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;gap:13px;background:#f3f0e8;z-index:8;font-size:12px;color:#7c856c;transition:opacity .5s}.loading.ready{opacity:0;pointer-events:none}.loading-square{width:13px;height:13px;border:1px solid #a55d41;animation:loading-turn 1.5s infinite}.scene-error{position:absolute;inset:10% 8% 15% 38%;display:grid;place-content:center;text-align:center;background:#e8e8dd;z-index:9;border-radius:8px}.scene-error h2{font-size:20px}.scene-error p{font-size:12px}.scene-error button{color:#a55d41;text-decoration:underline;padding:12px}.desk-mode .intro{opacity:.25}.desk-mode .intro:hover{opacity:1}.intro{transition:opacity .5s}.desk-mode .scene-caption{opacity:0}@keyframes card-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes loading-turn{50%{transform:rotate(90deg);border-radius:50%}to{transform:rotate(180deg)}}@media(min-width:1600px){.intro{top:10%;width:370px}.chapter{margin-top:52px}.chapter p{font-size:12px;max-width:280px}.intro-copy{font-size:12px}h1{font-size:58px}.year-lockup{margin-top:32px}#year-display{font-size:96px}.hardware span{font-size:10px}.experience{min-height:550px}.timeline{height:184px}.scene-caption{bottom:62px}.interaction-hint{bottom:27px}}@media(max-height:820px)and (min-width:901px){#app{min-height:680px}.header{height:76px}.intro{top:6%}h1{font-size:37px;margin:17px 0 10px}.chapter{margin-top:21px}.year-lockup{margin-top:13px}#year-display{font-size:65px}.hardware{margin-top:10px}.timeline{height:155px;padding-top:14px}.scene-caption{bottom:40px}.interaction-hint{bottom:13px}}@media(max-width:1100px)and (min-width:701px){.intro{width:260px}h1{font-size:36px}.chapter{max-width:230px}.chapter p{max-width:200px}.view-controls{top:15px}.scene-scale{display:none}.hardware{max-width:210px}.intro-copy{font-size:10px}.scene-caption{left:46%}#scene{left:18%}}@media(max-width:700px){#app{min-height:870px;height:100svh;overflow:hidden}.header{height:73px;margin:0 6%}.brand-mark{width:31px;height:35px}.brand>span:last-child{font-size:17px}.brand-en{font-size:7px}.header-note{font-size:9px;gap:0}.header-note span{display:none}.header>.icon-button{margin-left:16px}.experience{min-height:625px}.intro{left:6%;top:25px;width:88%;display:grid;grid-template-columns:1fr 110px}.eyebrow{font-size:8px;grid-column:1;letter-spacing:1px}h1{font-size:31px;letter-spacing:1px;line-height:1.35;margin:15px 0 0;grid-column:1}.intro-copy{display:none}.chapter{grid-column:1;margin-top:16px;max-width:240px}.chapter-index{font-size:8px}.chapter h2{font-size:13px;margin:8px 0}.chapter p{font-size:10px;line-height:1.8;max-width:230px;min-height:36px}.year-lockup{grid-column:2;grid-row:2;display:block;align-self:center;text-align:right;margin:0}#year-display{font-size:48px;letter-spacing:-2px}.year-suffix{display:block;font-size:0;line-height:1}.year-suffix br{display:none}.year-suffix>span{font-size:8px;margin-top:8px;display:block}.hardware{grid-column:2;grid-row:3;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:5px;margin:0}.hardware span{font-size:8px;padding:3px 5px}#scene{inset:160px -14% 24px}.view-controls{right:6%;top:auto;bottom:42px;padding:3px}.view-button{padding:7px 9px;font-size:9px}.view-button svg{width:14px;height:14px}.view-controls .icon-button{height:28px}.scene-caption{left:7%;bottom:48px;font-size:8px;max-width:120px;line-height:1.8}.scene-caption .caption-rule,.scene-scale{display:none}.interaction-hint{bottom:12px;left:50%;transform:translate(-50%);white-space:nowrap;font-size:8px}.timeline{height:159px;margin:0 6%;padding:17px 0 13px}.timeline-heading{font-size:10px}.timeline-sub{display:none}.play-button{font-size:9px;padding:8px 10px}.timeline-track{margin-top:7px;height:60px}.year-stop{font-size:13px}.timeline-bottom{font-size:7px;letter-spacing:.2px}.footer-cross{margin-left:5px;font-size:12px}.memory-card{bottom:91px;right:6%;width:250px;padding:23px}.help-card{top:15px;right:6%;width:88%;max-width:320px}.scene-error{inset:220px 6% 90px}.desk-mode .intro{opacity:.1}.hotspot{width:19px;height:19px}.hotspot-label{font-size:8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
