:root{font-family:SimSun,'Songti SC','STSong',serif}*,button,input,select,textarea,kbd{font-family:SimSun,'Songti SC','STSong',serif!important}.album-tools{font-size:14px;gap:20px}.album-tools label{gap:10px}.album-tools button{padding:7px 13px}.album-tools select{font-size:14px}.brand small{font-size:10px}.city span{font-size:10px}footer{font-size:12px}.sample{font-size:11px}.intro p{font-size:22px}.intro span{font-size:14px}.hint{font-size:13px}.period-label>span,.period-label p{font-size:14px}#photo-action{font-size:14px}.zoom-controls #zoom-label{font-size:12px}#back-to-curtain{font-size:14px}
#gallery-dialog{width:min(1150px,96vw);height:min(710px,94dvh);padding:48px 20px 20px;overflow:hidden;background:radial-gradient(ellipse at 70% 20%,#f3e5d2,transparent 50%),#f5f0e7}.gallery-heading{text-align:center}.gallery-heading>span{font-size:13px;letter-spacing:3px;color:#958168}.gallery-heading h2{font-size:30px;font-weight:400;letter-spacing:4px;margin:15px 0}.gallery-heading p{font-size:14px;color:#9a876e}#ring-scene{position:relative;height:380px;perspective:1050px;touch-action:pan-y;cursor:grab;user-select:none}#ring-scene:active{cursor:grabbing}#photo-ring{height:100%;position:relative;transform-style:preserve-3d}.ring-card{position:absolute;left:50%;top:50%;width:235px;height:320px;margin-left:-117.5px;margin-top:-160px;padding:0;border:6px solid #faf6ed;border-bottom-width:15px;border-radius:5px;backface-visibility:hidden;transform-style:preserve-3d;box-shadow:0 15px 25px #4b382c20;overflow:hidden;background:#e5dccb}.ring-card canvas{position:static;display:block;width:100%;height:100%;object-fit:cover}.ring-card:hover{border-color:#fffaf1}.ring-controls{display:flex;gap:24px;align-items:center;justify-content:center;margin-top:5px}.ring-controls button{border:1px solid var(--line);border-radius:50%;width:42px;height:42px;font-size:22px}#ring-position{font-size:15px;min-width:240px;text-align:center}.photo-return{font-size:14px!important;top:18px;left:27px}.dialog-close{font-size:26px}
#photo-dialog{width:min(1100px,94vw);padding:60px 28px 28px!important;max-height:94dvh;background:#f8f3e8;overflow:auto}.story-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.85fr);gap:40px;align-items:stretch}.story-image{min-width:0}.story-image .large-photo{display:block;width:100%;height:min(68dvh,670px);padding:0;background:#e4ddcf;border:0;border-radius:2px;cursor:zoom-in;overflow:hidden}.story-image .large-photo canvas{position:static;width:100%;height:100%;object-fit:contain}.story-image-footer{display:flex;align-items:center;gap:14px;margin-top:17px;color:#8f7c60;font-size:14px}.story-image-footer button{font-size:15px}.story-image-footer #open-original{margin-left:auto;border-bottom:1px solid var(--line);padding-bottom:4px}.story-copy{padding:18px 8px 0;display:flex;flex-direction:column;align-items:flex-start}.story-kicker{font-size:14px;color:#99856b;letter-spacing:1.5px;line-height:1.6}.story-copy h1{font-weight:400;font-size:34px;line-height:1.5;letter-spacing:3px;margin:17px 0 13px;overflow-wrap:anywhere}.save-image{border:1px solid #c6b69c;padding:9px 15px;border-radius:24px;font-size:14px}.story-facts{width:100%;margin:26px 0 0;padding-top:20px;border-top:1px solid var(--line)}.story-facts label,.story-facts>div{display:block;margin-bottom:17px;font-size:15px;color:#9b8569}.story-facts select{margin-left:17px;font-size:16px;background:transparent;min-width:130px}.story-facts p{margin:7px 0;font-size:18px;color:#4c453b;line-height:1.6}.story-facts small{font-size:12px;color:#aa987e}.story-facts input{width:100%;display:block;margin-top:8px;padding:9px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;font-size:17px}.story-copy .mood{width:100%;margin-top:10px}.story-copy .mood label{font-size:16px;letter-spacing:2px;margin-bottom:10px}.story-copy textarea{font-size:17px;line-height:1.85;padding:11px 13px;background:#fdf9f2;border-color:#ded2be;min-height:116px;resize:vertical}.story-copy .mood button{font-size:14px;padding:8px 15px}.story-copy .mood span{font-size:12px}#zoom-dialog{width:min(1300px,97vw);padding:60px 24px 20px;max-height:96dvh}#zoom-photo{height:75dvh;min-height:250px}#zoom-photo canvas{position:static;display:block;width:100%;height:100%;object-fit:contain}#zoom-save{display:block;margin:16px auto 0;font-size:16px;border:1px solid var(--line);padding:9px 22px}
@media(max-width:1050px){.album-tools{gap:10px;font-size:12px}.album-tools button{font-size:12px;padding:7px 9px}.album-tools select{font-size:12px}.story-layout{gap:24px;grid-template-columns:1fr .9fr}.story-copy h1{font-size:28px}.story-copy{padding:0}.story-facts{margin-top:19px}.story-copy textarea{font-size:16px}}
@media(max-width:640px){.album-tools{height:94px;gap:8px}.intro p{font-size:15px}.hint{font-size:11px}.brand small{font-size:8px}footer{font-size:10px}.sample{font-size:9px}#gallery-dialog{padding:54px 8px 18px;height:87dvh}.gallery-heading h2{font-size:21px;letter-spacing:2px}.gallery-heading p{font-size:12px}#ring-scene{height:350px;perspective:850px}.ring-card{width:170px;height:255px;margin-left:-85px;margin-top:-127.5px}#ring-position{font-size:12px;min-width:160px}.ring-controls{gap:10px}#photo-dialog{padding:55px 18px 24px!important}.story-layout{grid-template-columns:1fr;gap:20px}.story-image .large-photo{height:45dvh}.story-copy{padding:0 4px}.story-copy h1{font-size:28px;margin-top:12px}.story-facts{margin-top:20px}.story-image-footer{font-size:13px}.story-image-footer button{font-size:13px}#zoom-photo{height:74dvh}}
.saved-photo-link{display:block;margin:12px 0 0;text-align:right;font-size:14px;color:#8f7350;text-decoration:underline}
.ring-card{width:210px;margin-left:-105px}.story-copy{padding-top:8px}.story-facts{margin-top:20px;padding-top:16px}.story-copy textarea{height:100px;min-height:100px;box-sizing:border-box}
@media(max-width:640px){.ring-card{width:170px;margin-left:-85px}.story-copy{padding-top:0}}
#ring-scene{perspective:1250px;perspective-origin:50% 42%}#photo-ring{transform:translateY(32px) rotateX(-10deg)}.ring-card{width:200px;height:280px;margin-left:-100px;margin-top:-140px;border:0;border-radius:14px;backface-visibility:visible;box-shadow:0 16px 28px #49382c25,0 3px 7px #49382c1a;background:transparent}.ring-card canvas{border-radius:inherit}.ring-card:hover{box-shadow:0 20px 34px #49382c30,0 4px 8px #49382c20}
@media(max-width:640px){#photo-ring{transform:translateY(22px) rotateX(-10deg)}.ring-card{width:130px;height:220px;margin-left:-65px;margin-top:-110px;border-radius:11px}#ring-scene{perspective:900px}}
