@font-face{font-family:TravelSerif;src:local('Noto Serif SC'),local('Source Han Serif SC'),local('SimSun')}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#f2f0e6;color:#304638}body{font-family:'Microsoft YaHei',sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:disabled{opacity:.4;cursor:wait}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid #a57343;outline-offset:5px}button{border:0}header{height:104px;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2}.brand{color:inherit;text-decoration:none;font-family:TravelSerif,serif;font-size:23px;letter-spacing:6px}.brand span{display:block;font:8px Georgia,serif;letter-spacing:2.7px;margin-top:10px}.edition{font:11px Georgia,'Microsoft YaHei',serif;letter-spacing:2px;color:#73806d}main{position:relative;min-height:650px;height:calc(100dvh - 166px);max-height:1100px;overflow:hidden}.intro{position:absolute;left:7%;top:14%;z-index:2;pointer-events:none}.intro button{pointer-events:auto}.eyebrow{font:9px Georgia,serif;letter-spacing:2.5px;color:#85907a;margin:0 0 27px}h1{font:400 clamp(38px,4.4vw,72px)/1.5 TravelSerif,serif;letter-spacing:4px;margin:0 0 23px}.copy{font-size:12px;line-height:2.2;color:#7c8472;letter-spacing:1px;margin-bottom:30px}.primary{background:#3b5742;color:#faf5e9;border-radius:2px;padding:16px 22px;font-size:12px;letter-spacing:1px;box-shadow:0 7px 20px #344d3e12}.primary span{margin-left:30px}.primary:hover{background:#4d684f}.photo-note{font:8px Georgia,serif;letter-spacing:1.5px;color:#8b917d;margin-top:18px}.photo-note span{font:9px 'Microsoft YaHei';letter-spacing:1px;margin-left:12px}#stage{position:absolute;inset:0;touch-action:none}#stage canvas{display:block;width:100%;height:100%}#loading{position:absolute;left:60%;top:45%;font-size:12px;color:#748169;display:flex;align-items:center;gap:10px}.loading-dot{width:6px;height:6px;background:#8b9c79;border-radius:50%;animation:pulse 1s ease-in-out infinite}@keyframes pulse{50%{opacity:.25}}#photoPin{position:absolute;z-index:3;display:flex;gap:9px;align-items:center;padding:7px;background:#faf7e9ed;border:1px solid #e3e0cd;box-shadow:0 4px 18px #30463818;border-radius:3px;transform:translate(-50%,-100%);text-align:left}#photoPin[hidden]{display:none}#photoPin img{width:40px;height:39px;object-fit:cover}#photoPin span{font:11px Georgia,serif;padding-right:5px}#photoPin small{display:block;font:8px 'Microsoft YaHei';margin-top:6px;color:#899078}#fallback{position:absolute;left:45%;right:10%;top:45%;font-size:14px;line-height:2}.controls{position:absolute;bottom:25px;left:43%;right:7%;display:flex;justify-content:space-between;align-items:center;gap:16px;z-index:3}.motions{display:flex;gap:5px;padding:4px;border:1px solid #d5dac7;border-radius:30px;background:#f7f6edbb;backdrop-filter:blur(12px)}.motions button{background:transparent;border-radius:20px;padding:11px 15px;font-size:10px;white-space:nowrap}.motions button[aria-pressed=true]{background:#dfe5d3;color:#3b573c}.view-controls{display:flex;gap:7px}.view-controls button{border:1px solid #cbd3be;border-radius:50%;width:37px;height:37px;background:#f7f6edbb;font-size:17px}footer{height:62px;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #d7dccb;font-size:9px;color:#8a927f;letter-spacing:1px}dialog{width:min(1040px,94vw);height:min(800px,91dvh);border:1px solid #dce0cf;padding:0;background:#f1f1e6;color:#304638;overflow:hidden;box-shadow:0 25px 120px #152d2355}dialog::backdrop{background:#1b3028d9;backdrop-filter:blur(9px)}.album-head{height:105px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;border-bottom:1px solid #d7ddca}.album-head .eyebrow{font-size:8px;margin-bottom:12px}.album-head h2{font:400 23px TravelSerif,serif;letter-spacing:2px;margin:0}.album-head button{font-size:11px;background:none;border:1px solid #c5cdb8;padding:9px 14px;border-radius:20px}.album-tools{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;font-size:10px;color:#829076}.album-tools>div{display:flex;gap:6px}.album-tools button{font-size:10px;background:transparent;border:1px solid #c2ccb4;border-radius:20px;padding:8px 13px}.album-tools button[aria-pressed=true]{background:#405c43;color:#faf8ed;border-color:#405c43}#sphereStage{position:relative;height:calc(100% - 211px);min-height:220px;overflow:hidden;perspective:1100px;touch-action:none;cursor:grab;background:radial-gradient(ellipse,#faf9ef,#e3e8d8);user-select:none}#sphereStage:active{cursor:grabbing}#photoOrbit{position:absolute;left:50%;top:47%;width:0;height:0;transform-style:preserve-3d}.photo-tile{position:absolute;padding:4px 4px 11px;background:#fdf9ed;box-shadow:0 4px 14px #3e513332;backface-visibility:hidden;border:0;cursor:zoom-in}.photo-tile img{width:100%;height:100%;object-fit:cover;pointer-events:none}.sphere-shadow{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);border-radius:50%;width:220px;height:15px;background:#71835b38;filter:blur(12px)}.album-foot{height:42px;margin:0;display:flex;justify-content:center;align-items:center;font-size:10px;color:#89917d;letter-spacing:1px}#fullStage{position:relative;height:calc(100% - 211px);background:#e8eadf;text-align:center}#fullStage>img{width:100%;height:calc(100% - 25px);object-fit:contain}#fullStage>button{position:absolute;top:45%;width:42px;height:42px;border-radius:50%;background:#faf7e7dd;font-size:24px}#previousPhoto{left:16px}#nextPhoto{right:16px}#fullCount{position:absolute;bottom:5px;left:0;right:0;margin:0;font-size:10px;color:#74816a}[hidden]{display:none!important}@media(max-width:1000px){.controls{left:38%;right:4%}.motions button{padding:10px}.intro{left:5%;top:13%}h1{font-size:45px}.copy{font-size:11px}.primary{padding:14px}.primary span{margin-left:12px}}@media(max-width:700px){header{height:78px;padding:0 7%}.brand{font-size:19px}.brand span{font-size:7px;letter-spacing:1.8px}.edition{font-size:9px}main{height:calc(100dvh - 128px);min-height:700px;max-height:none}.intro{left:8%;top:17px}.eyebrow{font-size:8px;margin-bottom:13px}h1{font-size:33px;line-height:1.45;letter-spacing:2px;margin-bottom:10px}h1 br{display:none}.copy{font-size:11px;line-height:1.9;margin-bottom:16px}.copy br{display:none}.primary{padding:11px 15px;font-size:11px}.photo-note{margin-top:12px}#stage{top:185px;bottom:92px}#loading{left:30%;top:48%}.controls{left:6%;right:6%;bottom:30px;gap:6px;flex-wrap:wrap}.motions{gap:0}.motions button{padding:10px 11px;font-size:10px}.view-controls{gap:5px}.view-controls button{width:32px;height:32px;font-size:14px}footer{height:50px;padding:0 7%;font-size:8px}footer span:nth-child(2){display:none}#photoPin{padding:5px;gap:5px}#photoPin img{width:28px;height:30px}#photoPin span{font-size:10px}#photoPin small{font-size:7px}dialog{height:86dvh;width:95vw}.album-head{padding:0 18px;height:92px}.album-head h2{font-size:19px}.album-tools{padding:0 16px;height:62px;gap:5px}.album-tools>span{font-size:9px}.album-tools button{padding:7px 10px;font-size:9px}#sphereStage,#fullStage{height:calc(100% - 196px)}.album-foot{font-size:9px;padding:0 10px;text-align:center}#fallback{left:10%;right:10%}}@media(prefers-reduced-motion:reduce){.loading-dot{animation:none}}
@media(max-width:700px){h1{font-size:30px;letter-spacing:1px;line-height:1.45}h1 br{display:initial}.intro{top:12px}}
.auto-motion{padding:12px 18px;gap:10px;font-size:10px;color:#7c886f;align-items:center}.auto-motion #motionLabel{color:#3b5742}@media(max-width:700px){.auto-motion{padding:11px 15px;font-size:10px}}
.journal-link{display:inline-block;margin-left:16px;pointer-events:auto;font-size:11px;color:#6f805f;text-decoration:none;border-bottom:1px solid #c8d0b9;padding-bottom:3px}
