@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:300;src:url(./cormorant-garamond-latin-300-normal-Cw-E_7L1.woff2)format("woff2"),url(./cormorant-garamond-latin-300-normal-BuXLI6C0.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(./cormorant-garamond-latin-400-normal-B-1hWBU7.woff2)format("woff2"),url(./cormorant-garamond-latin-400-normal-B7YtguxJ.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(./cormorant-garamond-latin-400-italic-Dc_OZ8oc.woff2)format("woff2"),url(./cormorant-garamond-latin-400-italic-BLh7T8o8.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(./cormorant-garamond-latin-600-normal-Co1r35X9.woff2)format("woff2"),url(./cormorant-garamond-latin-600-normal-2CBVLo0M.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(./cormorant-garamond-latin-ext-400-normal-Drx2k2n9.woff2)format("woff2"),url(./cormorant-garamond-latin-ext-400-normal-uvC0WHQr.woff)format("woff")}@font-face{font-family:IM Fell English SC;font-style:normal;font-display:swap;font-weight:400;src:url(./im-fell-english-sc-latin-400-normal-CW_nhHm4.woff2)format("woff2"),url(./im-fell-english-sc-latin-400-normal-DPW2r_p4.woff)format("woff")}@font-face{font-family:Compagnon;src:url(./compagnon-roman-CC9AEN9C.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Compagnon;src:url(./compagnon-light-D8e8WvUW.woff2)format("woff2");font-weight:300;font-display:swap}@font-face{font-family:GenWanMin Head;src:url(./genwanmin-regular-subset-Cc5pN2QX.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:GenWanMin Text;src:url(./genwanmin-light-subset-CxPoS119.woff2)format("woff2");font-weight:300;font-display:swap}@font-face{font-family:Jason Hand;src:url(./jason-handwriting-subset-1hoLQkzL.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Moniqa Display;src:url(./moniqa-light-display-CC09zihu.woff2)format("woff2");font-weight:300;font-display:swap}:root{--ink:#0d0906;--night:#16100b;--ivory:#efe4cf;--ivory-dim:#b9a88c;--ivory-faint:#efe4cf8c;--brass:#d6b06a;--brass-dim:#d6b06a6b;--brass-hair:#d6b06a42;--brass-deep:#8a6a35;--garnet:#8e1726;--silk:#c22a3c;--lapis:#2b4a80;--paper:#f3ead8;--paper-edge:#e6d9bf;--paper-ink:#2b2118;--paper-mute:#7d6b54;--paper-rule:#2b211824;--font-display:"Cormorant Garamond", "Songti SC", "Noto Serif SC", Georgia, serif;--font-name:"Moniqa Display", "Cormorant Garamond", Georgia, serif;--font-caps:"IM Fell English SC", "Cormorant Garamond", Georgia, serif;--font-label:"Compagnon", "Courier New", ui-monospace, monospace;--font-zh:"GenWanMin Head", "Songti SC", "STSong", "Noto Serif SC", serif;--font-zh-body:"GenWanMin Text", "Songti SC", "STSong", "Noto Serif SC", serif;--font-zh-hand:"Jason Hand", "GenWanMin Text", "Songti SC", serif;--ease:cubic-bezier(.2, .8, .2, 1);--pad:32px;--dock-shade:#0d0906b8;--label-bg:#140e09bd;--chip-bg:#16100b8c;--name-shadow:0 1px 2px #000000e6, 0 0 8px #0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-ui=light]{--ink:#e9e0cf;--night:#e9e0cf;--ivory:#2b2118;--ivory-dim:#6e5c45;--ivory-faint:#2b21188c;--brass:#8a6730;--brass-dim:#8a673073;--brass-hair:#8a67304d;--dock-shade:#e9e0cfc7;--label-bg:#faf5ebdb;--chip-bg:#faf5ebb3;--name-shadow:0 0 2px #faf5ebf2, 0 0 8px #faf5ebd9;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{background:var(--ink);height:100%;color:var(--ivory);font-family:var(--font-display);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;padding:0}button:focus-visible,[role=slider]:focus-visible{outline:1px solid var(--brass);outline-offset:3px}.app{position:fixed;inset:0}.backdrop{background:radial-gradient(46% 40% at 22% 10%,#ffd0961f,#0000 70%),radial-gradient(60% 62% at 50% 46%,#2e2116 0%,#1a120c 52%,#0d0906 100%);position:absolute;inset:0}.scene{opacity:0;touch-action:none;transition:opacity 1.4s;inset:0;position:absolute!important}.app.is-ready .scene{opacity:1}.scene canvas{cursor:grab}.scene.is-dragging,.scene canvas.is-dragging{cursor:grabbing}.masthead{padding:30px var(--pad);pointer-events:none;z-index:5;max-width:470px;position:absolute;top:0;left:0}.masthead>*{pointer-events:auto}.masthead .sub,.masthead .counts,.masthead .draft-note{transition:opacity .5s}.app.has-panel .masthead .sub,.app.has-panel .masthead .counts,.app.has-panel .masthead .draft-note{opacity:.28}.app.has-panel .hint{display:none}.kicker{font-family:var(--font-caps);letter-spacing:.22em;color:var(--brass);margin:0 0 10px;font-size:14px}html[data-lang=zh] .kicker{font-family:var(--font-zh);letter-spacing:.3em;font-size:13px}.title{font-family:var(--font-name);letter-spacing:-.01em;color:var(--ivory);margin:0;font-size:clamp(46px,5.4vw,80px);font-weight:300;line-height:.92}.sub{color:var(--ivory-dim);max-width:24em;margin:14px 0 0;font-size:20px;font-style:italic;line-height:1.35}html[data-lang=zh] .sub{font-family:var(--font-zh);letter-spacing:.04em;font-size:15px;font-style:normal;line-height:1.8}.counts{gap:22px;margin:20px 0 0;display:flex}.counts>div{align-items:baseline;gap:7px;display:flex}.counts dd{font-variant-numeric:lining-nums tabular-nums;color:var(--ivory);text-align:right;min-width:1.1em;margin:0;font-size:30px;font-weight:400}.rolling{display:inline-flex}.rolling-digit{height:1.15em;line-height:1.15;display:inline-block;overflow:hidden}.rolling-strip{flex-direction:column;transition:transform .6s cubic-bezier(.3,1.25,.4,1);display:flex}.rolling-strip span{text-align:center;height:1.15em;display:block}@media (prefers-reduced-motion:reduce){.rolling-strip{transition:none}}.counts dt{font-family:var(--font-label);letter-spacing:.14em;text-transform:uppercase;color:var(--brass);font-size:11px}html[data-lang=zh] .counts dt{font-family:var(--font-zh-body);letter-spacing:.08em;font-size:12px}.odometer{margin-top:16px;transition:opacity .5s}.app.has-panel .odometer{opacity:.28}.odo-row{align-items:center;gap:8px;display:flex}.odo-approx{font-family:var(--font-display);color:var(--brass);font-size:20px}.odo-wheels{box-shadow:inset 0 1px 3px #000000d9, 0 0 0 1px var(--brass-dim), 0 0 0 3px #d6b06a14;background:linear-gradient(#2b1e12,#120b06);border-radius:4px;padding:3px 4px;display:inline-flex}.odo-wheel{width:.66em;height:1.25em;font-family:var(--font-label);text-align:center;color:var(--ivory);font-variant-numeric:tabular-nums;background:linear-gradient(#1d150d,#0d0805 50%,#1d150d);font-size:19px;line-height:1.25em;position:relative;overflow:hidden}.odo-wheel+.odo-wheel{margin-left:2px}.odo-wheel.is-group{margin-right:5px}.odo-wheel:after{content:"";pointer-events:none;background:linear-gradient(#0009,#0000 32% 68%,#0009);position:absolute;inset:0}.odo-wheel.is-lead{color:var(--ivory-dim);opacity:.45}.odo-strip{will-change:transform;flex-direction:column;display:flex}.odo-strip span{height:1.25em;display:block}.odo-unit{font-family:var(--font-label);letter-spacing:.14em;text-transform:uppercase;color:var(--brass);font-size:11px}html[data-lang=zh] .odo-unit{font-family:var(--font-zh-body);letter-spacing:.08em;text-transform:none;font-size:12px}.odo-like{min-height:1.5em;color:var(--ivory-dim);animation:like-in .7s var(--ease);margin:8px 0 0;font-size:17px;font-style:italic}html[data-lang=zh] .odo-like{font-family:var(--font-zh-body);letter-spacing:.06em;font-size:13px;font-style:normal}@keyframes like-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.draft-note{border-left:1px solid var(--brass-dim);max-width:300px;font-family:var(--font-label);letter-spacing:.02em;color:var(--ivory-faint);margin:14px 0 0;padding-left:10px;font-size:11px;line-height:1.55}html[data-lang=zh] .draft-note{font-family:var(--font-zh-body);letter-spacing:.04em;font-size:12px}.lang{top:28px;right:var(--pad);border:1px solid var(--brass-dim);font-family:var(--font-label);letter-spacing:.12em;color:var(--ivory);background:var(--chip-bg);-webkit-backdrop-filter:blur(8px);z-index:6;border-radius:999px;padding:7px 14px 6px;font-size:12px;transition:border-color .3s,color .3s,opacity .4s;position:fixed}.lang:hover{border-color:var(--brass);color:var(--brass)}.sound-switch{top:28px;right:calc(var(--pad) + 58px);border:1px solid var(--brass-dim);width:31px;height:31px;color:var(--ivory-dim);background:var(--chip-bg);-webkit-backdrop-filter:blur(8px);z-index:6;border-radius:50%;place-items:center;transition:border-color .3s,color .3s,opacity .4s;display:grid;position:fixed}.sound-switch svg{fill:currentColor;width:16px;height:16px}.sound-switch .sound-waves{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round}.sound-switch:hover,.sound-switch.is-on{border-color:var(--brass);color:var(--brass)}.app.has-panel .sound-switch,.app.has-panel .lang{opacity:0;pointer-events:none}.loading{letter-spacing:.02em;background:linear-gradient(100deg, var(--ivory-dim) 30%, #fff3d9 50%, var(--ivory-dim) 70%);color:#0000;background-size:220% 100%;-webkit-background-clip:text;background-clip:text;margin:0;font-size:21px;font-style:italic;animation:2.4s linear infinite polish;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)}html[data-lang=zh] .loading{font-family:var(--font-zh);letter-spacing:.12em;font-size:17px;font-style:normal}@keyframes polish{0%{background-position:120% 0}to{background-position:-120% 0}}.hint{font-family:var(--font-label);letter-spacing:.08em;color:var(--ivory-faint);white-space:nowrap;pointer-events:none;opacity:0;margin:0;font-size:12px;animation:9s 2.5s forwards hint;position:absolute;bottom:150px;left:50%;transform:translate(-50%)}html[data-lang=zh] .hint{font-family:var(--font-zh-body);letter-spacing:.12em}@keyframes hint{0%{opacity:0}10%{opacity:1}80%{opacity:1}to{opacity:0}}.dock{padding:0 var(--pad) 26px;transition:padding .7s var(--ease);pointer-events:none;z-index:4;background:linear-gradient(to top, var(--dock-shade), transparent);position:absolute;bottom:0;left:0;right:0}.timeline{pointer-events:auto;grid-template-columns:auto auto 1fr;align-items:end;gap:24px;max-width:1180px;margin:0 auto;display:grid}.tl-play{width:54px;height:54px;transition:transform .25s var(--ease), box-shadow .25s;background:radial-gradient(circle at 34% 28%,#fff6dee6 0,#fff6de00 28%),radial-gradient(circle,#e6c588 0%,#b58b46 58%,#6c4f26 100%);border-radius:50%;place-items:center;margin-bottom:4px;display:grid;position:relative;box-shadow:inset 0 1px #fff0d2a6,inset 0 -2px 4px #3c260e8c,0 0 0 1px #3c2812e6,0 0 0 4px #d6b06a1f,0 10px 24px #00000080}.tl-play:hover{transform:translateY(-1px)}.tl-play:active{transform:translateY(1px)scale(.98)}.tl-play svg{fill:#2a1a0b;filter:drop-shadow(0 1px #ffeec899);width:22px;height:22px;overflow:visible}.tl-play path{transition:opacity .25s ease, transform .35s var(--ease);transform-origin:12px 12px}.tl-play .tl-icon-pause{opacity:0;transform:scale(.6)rotate(-30deg)}.tl-play.is-playing .tl-icon-play{opacity:0;transform:scale(.6)rotate(30deg)}.tl-play.is-playing .tl-icon-pause{opacity:1;transform:none}.tl-play-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.tl-body{min-width:0;position:relative}.tl-readout{align-items:baseline;gap:14px;min-height:30px;margin-bottom:4px;display:flex}.tl-date{font-family:var(--font-label);letter-spacing:.16em;text-transform:uppercase;color:var(--brass);font-variant-numeric:tabular-nums;font-size:12px}.tl-place{color:var(--ivory);animation:place-in .5s var(--ease);font-size:24px;font-style:italic}@keyframes place-in{0%{opacity:0;filter:blur(2px);transform:translateY(6px)}to{opacity:1;filter:none;transform:none}}html[data-lang=zh] .tl-date{font-family:var(--font-zh-body);letter-spacing:.1em;font-size:13px}html[data-lang=zh] .tl-place{font-family:var(--font-zh);letter-spacing:.08em;font-size:19px;font-style:normal}.tl-scale{cursor:ew-resize;touch-action:none;-webkit-user-select:none;user-select:none;height:58px;position:relative}.tl-engraving{position:absolute;inset:0}.tl-rule{background:linear-gradient(90deg, var(--brass) 0%, #d6b06a8c 100%);height:1px;position:absolute;bottom:22px;left:0;right:0;box-shadow:0 1px #0009}.tl-hist{height:24px;position:absolute;bottom:23px;left:0;right:0}.tl-hist i{background:linear-gradient(#d6b06a2e,#d6b06ab3);border-radius:1px 1px 0 0;width:2px;margin-left:-1px;position:absolute;bottom:0}.tl-tick{background:var(--brass-dim);width:1px;height:7px;position:absolute;bottom:22px}.tl-tick.tl-year{background:var(--brass);height:16px}.tl-tick span{font-family:var(--font-label);letter-spacing:.1em;color:var(--ivory-dim);white-space:nowrap;font-size:10px;position:absolute;top:calc(100% + 6px);left:0;transform:translate(-50%)}.tl-tick.tl-year span{color:var(--ivory);font-size:11px;transform:translate(4px)}html[data-lang=zh] .tl-tick span{font-family:var(--font-zh-body);letter-spacing:.04em}.tl-dot{width:9px;height:9px;transition:transform .2s var(--ease);cursor:pointer;background:radial-gradient(circle at 35% 30%,#fffaf0,#e4d6bd 70%);border-radius:50%;margin-left:-4.5px;position:absolute;bottom:18px;box-shadow:0 0 0 1px #3c2812e6,0 0 8px #ffd29659}.tl-dot:hover,.tl-dot.is-near{z-index:2;transform:scale(1.6);box-shadow:0 0 0 1px #3c2812e6,0 0 12px #ffd296b3}.tl-ghost{pointer-events:none;opacity:0;background:#efe4cf59;width:1px;transition:opacity .2s;position:absolute;top:6px;bottom:16px}.tl-ghost[data-on="1"]{opacity:1}.tl-ghost span{border:1px solid var(--brass-dim);background:var(--label-bg);font-family:var(--font-label);letter-spacing:.08em;color:var(--ivory);white-space:nowrap;border-radius:3px;padding:4px 9px;font-size:11px;position:absolute;bottom:calc(100% + 8px);left:0;transform:translate(-50%)}html[data-lang=zh] .tl-ghost span{font-family:var(--font-zh-body);letter-spacing:.04em;font-size:12px}.tl-dot.is-approx{background:var(--night);box-shadow:0 0 0 1.5px #e4d6bd,0 0 8px #ffd29640}.tl-cursor{-webkit-backdrop-filter:brightness(1.35)blur(.5px);pointer-events:none;background:linear-gradient(#ffffff21,#ffffff08 60%,#ffffff14);border:1px solid #efe4cf80;border-radius:5px;width:28px;margin-left:-14px;position:absolute;top:2px;bottom:12px;box-shadow:inset 0 1px #ffffff47,0 6px 18px #00000073}.tl-cursor i{background:var(--silk);width:1px;position:absolute;top:4px;bottom:4px;left:50%;box-shadow:0 0 6px #ff4650bf}@media (min-width:761px){.app.has-panel .dock{padding-right:calc(min(460px,38vw) + 40px)}}.zoom{right:var(--pad);pointer-events:auto;flex-direction:column;gap:8px;display:flex;position:absolute;bottom:calc(100% + 18px)}.zoom button{border:1px solid var(--brass-dim);background:var(--chip-bg);-webkit-backdrop-filter:blur(8px);width:38px;height:38px;color:var(--ivory);transition:border-color .25s, color .25s, transform .2s var(--ease);border-radius:50%;place-items:center;display:grid}.zoom button:hover{border-color:var(--brass);color:var(--brass)}.zoom button:active{transform:scale(.94)}.zoom svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;width:18px;height:18px}.app.has-panel .zoom{right:calc(min(460px,38vw) + 40px)}.panel{width:min(460px,38vw);transition:transform .7s var(--ease);pointer-events:none;z-index:8;padding:22px 22px 22px 0;position:absolute;top:0;bottom:0;right:0;transform:translate(105%)}.panel.is-open{transform:none}.panel.is-open .panel-card{pointer-events:auto}.panel-card{overscroll-behavior:contain;max-height:100%;color:var(--paper-ink);background:radial-gradient(ellipse 120% 60% at 0% 0%, #ffffff8c, transparent 60%), radial-gradient(ellipse 90% 70% at 100% 100%, #aa824624, transparent 70%), url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.35 0 0 0 0 0.27 0 0 0 0 0.16 0 0 0 0.09 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>"), var(--paper);box-shadow:0 0 0 1px #ffffff0d, 0 2px 0 var(--paper-edge), 0 34px 90px #0009;scrollbar-width:thin;scrollbar-color:#2b211840 transparent;animation:card-in .7s var(--ease);border-radius:3px;padding:36px 36px 28px;position:relative;overflow-y:auto}@keyframes card-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.panel-head{padding-right:40px;position:relative}.panel-kicker{font-family:var(--font-caps);letter-spacing:.2em;color:var(--brass-deep);margin:0 0 8px;font-size:14px}.panel-home{color:var(--lapis)}.panel-title{letter-spacing:-.01em;margin:0;font-size:54px;font-weight:400;line-height:.98}.panel-coords{font-family:var(--font-label);letter-spacing:.08em;color:var(--paper-mute);white-space:pre;margin:12px 0 0;font-size:12px}html[data-lang=zh] .panel-kicker{font-family:var(--font-zh);letter-spacing:.24em;font-size:13px}html[data-lang=zh] .panel-title{font-family:var(--font-zh);letter-spacing:.06em;font-size:42px;line-height:1.15}.panel-close{border:1px solid var(--paper-rule);width:38px;height:38px;transition:background .25s, transform .25s var(--ease);border-radius:50%;place-items:center;display:grid;position:absolute;top:-10px;right:-12px}.panel-close:hover{background:#2b21180f;transform:rotate(90deg)}.panel-close svg,.lightbox svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;width:18px;height:18px}.panel-card h3{border-top:1px solid var(--paper-rule);font-family:var(--font-caps);letter-spacing:.22em;color:var(--paper-mute);margin:26px 0 10px;padding-top:16px;font-size:13px;font-weight:400}html[data-lang=zh] .panel-card h3{font-family:var(--font-zh);letter-spacing:.24em;font-size:13px}.panel-visits{border-top:1px solid var(--paper-rule);margin:22px 0 0;padding:0;list-style:none}.panel-visits li{font-family:var(--font-label);letter-spacing:.02em;border-bottom:1px dotted var(--paper-rule);justify-content:space-between;gap:12px;padding:6px 0;font-size:13px;display:flex}.panel-visits li em{color:var(--paper-mute);white-space:nowrap;font-style:normal}html[data-lang=zh] .panel-visits li{font-family:var(--font-zh-body);font-size:14px}.panel-note{color:var(--paper-mute);margin:8px 0 0;font-size:17px;font-style:italic;line-height:1.45}.panel-note.is-approx{font-style:normal;font-family:var(--font-label);letter-spacing:.02em;font-size:11px;line-height:1.6}.panel-note.is-approx:before{content:"≈ ";color:var(--brass-deep)}html[data-lang=zh] .panel-note{font-family:var(--font-zh-body);font-size:14px;font-style:normal;line-height:1.8}html[data-lang=zh] .panel-note.is-approx{font-size:12px}.panel-stats{gap:30px;margin:22px 0 0;display:flex}.panel-stats>div{flex-direction:column-reverse;display:flex}.panel-stats dd{font-variant-numeric:lining-nums tabular-nums;margin:0;font-size:34px;line-height:1}.panel-stats dt{font-family:var(--font-label);letter-spacing:.14em;text-transform:uppercase;color:var(--paper-mute);margin-top:6px;font-size:10px}html[data-lang=zh] .panel-stats dt{font-family:var(--font-zh-body);letter-spacing:.08em;font-size:12px}.panel-memory{margin:24px 0 0;font-size:20px;line-height:1.55}html[data-lang=zh] .panel-memory{font-family:var(--font-zh-hand);letter-spacing:.04em;color:#3a2a1c;font-size:19px;line-height:1.85}.panel-photos ul{grid-template-columns:1fr 1fr;gap:12px;margin:24px 0 0;padding:0;list-style:none;display:grid}.panel-photos ul.is-single{grid-template-columns:1fr}.panel-photos ul.is-strip{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;gap:14px;margin-left:-36px;margin-right:-36px;padding:6px 36px 14px;scroll-padding:0 36px;display:flex;overflow-x:auto}.panel-photos ul.is-strip::-webkit-scrollbar{display:none}.panel-photos ul.is-strip li{scroll-snap-align:start;flex:0 0 74%}.panel-photos li{animation:print-in .6s var(--ease) both;animation-delay:calc(var(--i) * 60ms + .12s)}.panel-photos li:nth-child(odd) button{transform:rotate(-.7deg)}.panel-photos li:nth-child(2n) button{transform:rotate(.6deg)}.panel-photos button{width:100%;transition:transform .35s var(--ease), box-shadow .35s;background:#fffbf2;padding:6px 6px 18px;display:block;box-shadow:0 1px 2px #2b211833,0 8px 18px #2b211824}.panel-photos button:hover{transform:rotate(0)translateY(-2px)scale(1.015);box-shadow:0 2px 4px #2b211833,0 14px 28px #2b211833}.panel-photos img{aspect-ratio:auto;background:#e9dfcc;width:100%;height:auto;display:block}@keyframes print-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.panel-spots{columns:2;column-gap:20px;margin:22px 0 0;padding:0 0 0 1.1em;font-size:17px;line-height:1.5}html[data-lang=zh] .panel-spots{font-family:var(--font-zh-body);font-size:14px}.panel-nav{border-top:1px solid var(--paper-rule);grid-template-columns:1fr 1fr;gap:14px;margin-top:30px;padding-top:18px;display:grid}.panel-nav button{text-align:left;font-family:var(--font-display);color:var(--paper-mute);font-size:18px;font-style:italic;transition:color .25s}.panel-nav button:last-child{text-align:right}.panel-nav button:hover:not(:disabled){color:var(--paper-ink)}.panel-nav button:disabled{opacity:.3;cursor:default}.panel-nav button span{transition:transform .3s;display:inline-block}.panel-nav button:first-child:hover:not(:disabled) span{transform:translate(-4px)}.panel-nav button:last-child:hover:not(:disabled) span{transform:translate(4px)}html[data-lang=zh] .panel-nav button{font-family:var(--font-zh);letter-spacing:.06em;font-size:16px;font-style:normal}.tl-present{border:1px solid var(--brass-dim);width:34px;height:34px;color:var(--ivory-dim);background:var(--chip-bg);border-radius:50%;align-self:end;place-items:center;margin:0 0 11px -14px;transition:color .25s,border-color .25s,opacity .5s;display:grid}.tl-present svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linejoin:round;width:17px;height:17px}.tl-present svg path:nth-child(2){fill:currentColor;stroke:none}.tl-present:hover{color:var(--brass);border-color:var(--brass)}.app.is-presenting .zoom,.app.is-presenting .hint,.app.is-presenting .maker-button,.app.is-presenting .sound-switch,.app.is-presenting .lang,.app.is-presenting .tl-play,.app.is-presenting .tl-present{opacity:0;pointer-events:none;transition:opacity .6s}.app.is-presenting .tl-scale{pointer-events:none}.app.is-presenting .masthead .counts,.app.is-presenting .odometer{opacity:1}.present-exit{top:28px;right:var(--pad);border:1px solid var(--brass-dim);font-family:var(--font-label);letter-spacing:.1em;color:var(--ivory);background:var(--chip-bg);opacity:0;z-index:12;border-radius:999px;padding:7px 14px 6px;font-size:12px;transition:opacity .4s;position:fixed}html[data-lang=zh] .present-exit{font-family:var(--font-zh);letter-spacing:.12em;font-size:13px}.present-exit.is-shown,.present-exit:focus-visible{opacity:1}.endcard{pointer-events:none;z-index:9;align-items:center;width:min(420px,36vw);padding:22px 22px 22px 0;display:flex;position:absolute;top:0;bottom:0;right:0}.endcard-card{width:100%;color:var(--paper-ink);background:radial-gradient(ellipse 120% 60% at 0% 0%, #ffffff8c, transparent 60%), var(--paper);box-shadow:0 0 0 1px #ffffff0d, 0 2px 0 var(--paper-edge), 0 34px 90px #0009;pointer-events:auto;animation:card-in .9s var(--ease);border-radius:3px;padding:34px 34px 28px}.endcard-name{font-family:var(--font-caps);letter-spacing:.16em;color:var(--brass-deep);margin:0;font-size:22px}.endcard-span{font-family:var(--font-label);letter-spacing:.08em;color:var(--paper-mute);margin:8px 0 0;font-size:13px}html[data-lang=zh] .endcard-span{font-family:var(--font-zh-body);letter-spacing:.04em;font-size:14px}.endcard-counts{margin:18px 0 0;font-size:24px;font-style:italic}html[data-lang=zh] .endcard-counts{font-family:var(--font-zh);letter-spacing:.06em;font-size:20px;font-style:normal}.endcard-km{font-family:var(--font-label);letter-spacing:.02em;margin:12px 0 0;font-size:34px}.endcard-likes{color:var(--paper-mute);gap:4px;margin:10px 0 0;padding:0;font-size:17px;font-style:italic;list-style:none;display:grid}html[data-lang=zh] .endcard-likes{font-family:var(--font-zh-body);letter-spacing:.04em;font-size:14px;font-style:normal}.endcard-actions{border-top:1px solid var(--paper-rule);flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:24px;padding-top:18px;display:flex}.endcard-actions .is-primary{width:auto;padding:10px 18px}.poster-view{z-index:30;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:card-in .4s var(--ease);background:#080503db;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.poster-view figure{justify-items:center;gap:14px;max-height:100%;margin:0;display:grid}.poster-view img{max-width:100%;max-height:calc(100vh - 140px);box-shadow:0 24px 80px #0009}.poster-view figcaption{color:var(--ivory-dim);flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 18px;font-size:13px;display:flex}html[data-lang=zh] .poster-view figcaption{font-family:var(--font-zh-body)}.poster-view .mk-link{color:var(--ivory-dim)}.poster-view a.mk-button{text-decoration:none}.maker-button{top:28px;right:calc(var(--pad) + 100px);border:1px solid var(--brass);height:31px;font-family:var(--font-label);letter-spacing:.08em;color:var(--ink);z-index:6;background:linear-gradient(#e7c98a,#c99a52);border-radius:999px;padding:0 14px;font-size:12px;transition:filter .25s,opacity .4s;position:fixed;box-shadow:inset 0 1px #ffffff59,0 6px 18px #00000059}html[data-lang=zh] .maker-button{font-family:var(--font-zh);letter-spacing:.12em;font-size:13px}.maker-button:hover{filter:brightness(1.08)}.app.has-panel .maker-button{opacity:0;pointer-events:none}.maker{width:min(440px,38vw);transition:transform .7s var(--ease);pointer-events:none;z-index:9;padding:22px 22px 22px 0;position:absolute;top:0;bottom:0;right:0;transform:translate(105%)}.maker.is-open{transform:none}.maker.is-open .maker-card{pointer-events:auto}.maker-card{overscroll-behavior:contain;max-height:100%;color:var(--paper-ink);background:radial-gradient(ellipse 120% 60% at 0% 0%, #ffffff8c, transparent 60%), var(--paper);box-shadow:0 0 0 1px #ffffff0d, 0 2px 0 var(--paper-edge), 0 34px 90px #0009;scrollbar-width:thin;animation:card-in .7s var(--ease);border-radius:3px;padding:30px 30px 26px;position:relative;overflow-y:auto}.maker-head{padding-right:40px;position:relative}.maker-head h2{margin:0;font-size:34px;font-weight:400;line-height:1}html[data-lang=zh] .maker-head h2{font-family:var(--font-zh);letter-spacing:.04em;font-size:28px}.maker-head .panel-close{top:-6px;right:-6px}.mk-private{font-family:var(--font-label);letter-spacing:.06em;color:var(--paper-mute);margin:10px 0 0;font-size:11px}html[data-lang=zh] .mk-private{font-family:var(--font-zh-body);font-size:12px}.mk-section{border-top:1px solid var(--paper-rule);margin-top:22px;padding-top:16px}.mk-section h3{font-family:var(--font-caps);letter-spacing:.16em;color:var(--brass-deep);margin:0 0 12px;font-size:14px;font-weight:400}html[data-lang=zh] .mk-section h3{font-family:var(--font-zh);letter-spacing:.24em;font-size:13px}.maker input[type=text],.maker input:not([type]),.maker input[type=search],.maker input[type=date],.maker input[type=month],.maker textarea{width:100%;font:inherit;color:var(--paper-ink);background:0 0;border:0;border-bottom:1px solid #2b211847;border-radius:0;outline:none;padding:7px 2px 6px;font-size:17px}.maker textarea{resize:vertical;font-size:15px;line-height:1.6}html[data-lang=zh] .maker textarea{font-family:var(--font-zh-hand);font-size:17px}.maker input:focus,.maker textarea:focus{border-bottom-color:var(--brass-deep)}.mk-field{display:block}.mk-field+.mk-field{margin-top:10px}.mk-field span,.mk-visit label span{font-family:var(--font-label);letter-spacing:.14em;text-transform:uppercase;color:var(--paper-mute);font-size:10px;display:block}html[data-lang=zh] .mk-field span,html[data-lang=zh] .mk-visit label span{font-family:var(--font-zh-body);letter-spacing:.08em;text-transform:none;font-size:12px}.mk-plate{grid-template-columns:1fr 74px;gap:10px 16px;display:grid}.mk-plate .is-wide{grid-column:1/-1}.mk-plate .mk-field+.mk-field{margin-top:0}.mk-swatches{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.mk-swatches+.mk-swatches{margin-top:10px}.mk-swatch-label{width:48px;font-family:var(--font-label);letter-spacing:.14em;text-transform:uppercase;color:var(--paper-mute);font-size:10px}html[data-lang=zh] .mk-swatch-label{font-family:var(--font-zh-body);letter-spacing:.08em;text-transform:none;font-size:12px}.mk-swatch{border-radius:50%;width:26px;height:26px;transition:box-shadow .2s,transform .2s;box-shadow:0 0 0 1px #2b211840,0 2px 5px #2b211840}.mk-swatch:hover{transform:translateY(-1px)}.mk-swatch.is-on{box-shadow:0 0 0 2px var(--paper), 0 0 0 3.5px var(--garnet), 0 2px 5px #2b211840}.mk-swatch.is-brass{background:radial-gradient(circle at 35% 30%,#fbe7b6,#d6ac62 45%,#7a5a2a)}.mk-swatch.is-silver{background:radial-gradient(circle at 35% 30%,#fff,#c4c9d0 45%,#6c727b)}.mk-swatch.is-bronze{background:radial-gradient(circle at 35% 30%,#e8b48a,#9a6234 45%,#4a2c14)}.mk-search{position:relative}.mk-hits{border:1px solid var(--paper-rule);background:#fbf6ea;margin:4px 0 0;padding:4px 0;list-style:none;box-shadow:0 10px 30px #0000001f}.mk-hits button{text-align:left;width:100%;color:var(--paper-ink);align-items:baseline;gap:10px;padding:7px 12px;display:flex}.mk-hits button:hover,.mk-hits button:focus-visible{background:#d6b06a2e}.mk-hits b,.mk-chosen-name b{font-size:17px;font-weight:400}.mk-hits span,.mk-chosen-name span{color:var(--paper-mute);font-size:13px}html[data-lang=zh] .mk-hits,html[data-lang=zh] .mk-chosen-name{font-family:var(--font-zh-body)}.mk-chosen-name{align-items:baseline;gap:10px;margin:0 0 8px;display:flex}.mk-chosen-name .mk-link{margin-left:auto}.mk-visit{flex-wrap:wrap;align-items:flex-end;gap:10px 14px;margin-top:6px;display:flex}.mk-visit label:not(.mk-check){flex:130px}.mk-visit input[type=month]{flex:160px;width:auto}.mk-check{color:var(--paper-ink);cursor:pointer;align-items:center;gap:6px;font-size:14px;display:inline-flex}html[data-lang=zh] .mk-check{font-family:var(--font-zh-body);font-size:13px}.mk-check input{accent-color:var(--garnet)}.mk-button{border:1px solid var(--brass-deep);font-family:var(--font-label);letter-spacing:.12em;text-transform:uppercase;color:var(--paper-ink);background:#d6b06a1f;border-radius:999px;padding:7px 14px 6px;font-size:11px}html[data-lang=zh] .mk-button{font-family:var(--font-zh);letter-spacing:.12em;text-transform:none;font-size:13px}.mk-button:hover:not(:disabled){background:#d6b06a4d}.mk-button:disabled{opacity:.4;cursor:default}.mk-button.is-primary{width:100%;color:var(--ivory);border-color:var(--garnet);background:linear-gradient(#a3283a,#7c1424);padding:11px}.mk-link{font-family:var(--font-label);letter-spacing:.1em;text-transform:uppercase;color:var(--paper-mute);text-underline-offset:3px;padding:2px 0;font-size:11px;-webkit-text-decoration:underline #2b211840;text-decoration:underline #2b211840}html[data-lang=zh] .mk-link{font-family:var(--font-zh-body);letter-spacing:.06em;text-transform:none;font-size:12px}.mk-link:hover{color:var(--paper-ink)}.mk-link.is-danger{color:var(--garnet)}.mk-places{margin:0;padding:0;list-style:none}.mk-place{border-bottom:1px dotted var(--paper-rule)}.mk-place-head{text-align:left;width:100%;color:var(--paper-ink);justify-content:space-between;align-items:baseline;gap:12px;padding:9px 0;display:flex}.mk-place-head b{white-space:nowrap;font-size:18px;font-weight:400}.mk-place-head span{font-family:var(--font-label);letter-spacing:.04em;color:var(--paper-mute);text-align:right;font-size:11px}html[data-lang=zh] .mk-place-head b{font-family:var(--font-zh);letter-spacing:.04em;font-size:16px}html[data-lang=zh] .mk-place-head span{font-family:var(--font-zh-body);letter-spacing:0;font-size:12px}.mk-place.is-open .mk-place-head b{color:var(--garnet)}.mk-place-body{gap:12px;padding:4px 0 16px;display:grid}.mk-visits{gap:6px;margin:0;padding:0;list-style:none;display:grid}.mk-visits li{font-family:var(--font-label);justify-content:space-between;align-items:baseline;gap:10px;font-size:12px;display:flex}html[data-lang=zh] .mk-visits li{font-family:var(--font-zh-body);font-size:13px}.mk-place-body>.mk-link.is-danger{justify-self:start}.mk-drop{text-align:center;border:1.5px dashed #2b211840;border-radius:6px;justify-items:center;gap:10px;padding:18px 14px;transition:background .2s,border-color .2s;display:grid}.mk-drop.is-over{border-color:var(--brass-deep);background:#d6b06a29}.mk-drop p{color:var(--paper-mute);margin:0;font-size:15px}html[data-lang=zh] .mk-drop p{font-family:var(--font-zh-body);font-size:13px}.mk-note{color:var(--paper-ink);margin:10px 0 0;font-size:14px}.mk-note p{margin:0 0 4px}html[data-lang=zh] .mk-note{font-family:var(--font-zh-body);font-size:13px}.mk-foot{border-top:1px solid var(--paper-rule);gap:14px;margin-top:24px;padding-top:16px;display:grid}.mk-foot-row{flex-wrap:wrap;gap:8px 18px;display:flex}.lightbox{z-index:20;background:#090604f0;place-items:center;animation:.35s fade;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}to{opacity:1}}.lightbox-figure{animation:card-in .5s var(--ease);flex-direction:column;align-items:center;gap:16px;margin:0;display:flex}.lightbox-frame{width:min(92vw, 1500px, calc(78vh * var(--ar,1.5)));max-height:78vh;position:relative;overflow:hidden;box-shadow:0 30px 80px #000000b3}.lightbox-frame img{object-fit:contain;width:100%;height:100%;display:block;position:absolute;inset:0}.lightbox-thumb{filter:blur(12px);transform:scale(1.04)}.lightbox-full{opacity:0;transition:opacity .45s}.lightbox-full.is-loaded{opacity:1}.lightbox figcaption{font-family:var(--font-label);letter-spacing:.1em;color:var(--ivory-dim);flex-wrap:wrap;justify-content:center;gap:8px 18px;font-size:12px;display:flex}.lightbox-place{color:var(--ivory);font-family:var(--font-display);letter-spacing:0;font-size:19px;font-style:italic}html[data-lang=zh] .lightbox figcaption{font-family:var(--font-zh-body)}html[data-lang=zh] .lightbox-place{font-family:var(--font-zh);font-size:16px;font-style:normal}.lightbox-arrow,.lightbox-close{width:48px;height:48px;color:var(--ivory);background:#16100b80;border:1px solid #efe4cf40;border-radius:50%;place-items:center;transition:border-color .25s,background .25s;display:grid;position:fixed}.lightbox-arrow:hover,.lightbox-close:hover{border-color:var(--brass);background:#281c12b3}.lightbox-arrow{top:50%;transform:translateY(-50%)}.lightbox-arrow.is-prev{left:24px}.lightbox-arrow.is-next{right:24px}.lightbox-close{top:22px;right:22px}.labels{pointer-events:none;z-index:3;position:absolute;inset:0;overflow:hidden}.label{border:1px solid var(--brass-dim);background:var(--label-bg);-webkit-backdrop-filter:blur(6px);white-space:nowrap;will-change:transform, opacity;border-radius:3px;padding:6px 11px 7px;position:absolute;top:0;left:0}.label-name{color:var(--ivory);font-size:18px;font-style:italic;line-height:1.1;display:block}.label.is-name{-webkit-backdrop-filter:none;background:0 0;border:0;padding:0}.label.is-name .label-name{text-shadow:var(--name-shadow);font-size:15px}html[data-lang=zh] .label.is-name .label-name{font-size:13px}.label.is-name.has-cameo{align-items:center;gap:7px;display:flex}.label-cameo{object-fit:cover;width:30px;height:30px;box-shadow:0 0 0 1.5px var(--brass), 0 0 0 3px #140e0999, 0 4px 10px #00000080;animation:cameo-in .5s var(--ease);border-radius:50%}@keyframes cameo-in{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}.label-meta{font-family:var(--font-label);letter-spacing:.12em;color:var(--brass);margin-top:3px;font-size:10px;display:block}html[data-lang=zh] .label-name{font-family:var(--font-zh);letter-spacing:.06em;font-size:15px;font-style:normal}html[data-lang=zh] .label-meta{font-family:var(--font-zh-body);letter-spacing:.06em;font-size:11px}.fallback{inset:220px var(--pad) 40px;color:var(--ivory-dim);font-size:18px;position:absolute;overflow:auto}.place-list h2{color:var(--ivory);font-size:28px;font-weight:400}.place-list h3{font-family:var(--font-caps);letter-spacing:.16em;color:var(--brass);margin:18px 0 6px;font-size:14px;font-weight:400}.place-list ul{margin:0;padding-left:1.1em}@media (max-width:760px){:root{--pad:18px}.masthead{max-width:none;padding-top:20px;right:70px}.kicker{margin-bottom:6px;font-size:12px}.title{font-size:44px}.sub{margin-top:8px;font-size:16px}html[data-lang=zh] .sub{font-size:13px;line-height:1.7}.counts{gap:14px;margin-top:12px}.counts dd{font-size:22px}.counts dt{font-size:10px}.odometer{margin-top:10px}.odo-wheel{font-size:15px}.odo-like{margin-top:5px;font-size:14px}html[data-lang=zh] .odo-like{font-size:12px}.draft-note{display:none}.lang,.sound-switch{top:20px}.maker-button{top:62px;right:var(--pad);height:28px;padding:0 12px;font-size:11px}.tl-present{width:30px;height:30px;margin:0 0 7px -8px}.endcard{width:auto;padding:0;top:auto;left:0}.endcard-card{padding:24px 22px calc(20px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0}.endcard-km{font-size:28px}.present-exit{top:20px}html[data-lang=zh] .maker-button{font-size:12px}.maker{width:auto;padding:0;top:auto;left:0;transform:translateY(105%)}.maker.is-open{transform:none}.maker-card{max-height:86vh;padding:26px 20px calc(22px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0}.dock{padding-bottom:calc(14px + env(safe-area-inset-bottom))}.timeline{gap:14px}.tl-play{width:44px;height:44px}.tl-play svg{width:18px;height:18px}.tl-place{font-size:20px}.tl-scale{height:54px}.hint{bottom:130px}.zoom{display:none}.panel{width:auto;padding:0;top:auto;left:0;transform:translateY(105%)}.panel.is-open{transform:none}.panel-card{max-height:min(64vh,600px);padding:30px 22px calc(24px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0}.panel-photos ul.is-strip{margin-left:-22px;margin-right:-22px;padding-left:22px;padding-right:22px;scroll-padding:0 22px}.panel-photos ul.is-strip li{flex-basis:78%}.panel-card:before{content:"";background:#2b21182e;border-radius:2px;width:38px;height:4px;margin-left:-19px;position:absolute;top:9px;left:50%}.panel-title{font-size:42px}html[data-lang=zh] .panel-title{font-size:34px}.panel-close{top:-8px;right:-6px}.lightbox-arrow{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}.hint{opacity:1}}
