@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;500;600;700&display=swap');
:root{--green:#244a3e;--green-deep:#18372e;--sage:#8eaa98;--ink:#233a30;--muted:#80877c;--paper:#f8f7f2;--line:#e5e6dc;--orange:#c57d4c;--serif:'Noto Serif SC','Songti SC','STSong',serif;--sans:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.65;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #ae8058;outline-offset:4px}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}svg{display:block;flex-shrink:0}button{border:0;background:none;color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500}::selection{background:#d4decd}#app{min-height:100dvh}.icon{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.site-header{height:86px;max-width:1240px;padding:0 30px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:11px;padding:0}.brand-symbol{width:36px;height:36px;color:var(--green)}.brand-name{font-family:var(--serif);font-weight:600;font-size:20px;letter-spacing:3px}.brand-sub{font-size:8px;letter-spacing:2.1px;color:var(--muted);line-height:1.4}.header-left,.header-right{display:flex;align-items:center;gap:22px}.park-mark{font-size:12px;color:#7b8378;border-left:1px solid #d8ddd2;padding-left:20px;display:flex;align-items:center;gap:5px}.park-mark .icon{width:13px;height:13px}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:12px;white-space:nowrap;padding:9px 0}.text-button:hover{color:#648572}.edition-tag{border:1px solid #dce0d5;border-radius:4px;font-size:10px;color:#7a846f;padding:2px 6px;letter-spacing:1px}.header-rule{border-bottom:1px solid var(--line)}.back{height:40px;width:40px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center}.page-name{font-family:var(--serif);font-size:17px;letter-spacing:1px}.content{max-width:1180px;margin:auto}.hero{position:relative;isolation:isolate;min-height:546px;border-radius:8px;overflow:hidden;display:grid;grid-template-columns:1.05fr 1fr;align-items:center;padding:52px 74px;background:#365b41}.hero-bg{position:absolute;inset:0;z-index:-3;object-position:50% 53%;filter:saturate(.79)}.hero:after{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(13,39,26,.75),rgba(24,44,30,.3) 65%,rgba(16,34,22,.15))}.hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(20,44,31,.35),transparent 65%)}.hero-copy{color:#fff;position:relative;z-index:2}.eyebrow{font-size:10px;font-weight:500;letter-spacing:3px;display:flex;align-items:center;gap:12px}.eyebrow:before{content:'';width:22px;height:1px;background:currentColor;opacity:.75}.hero h1{font-family:var(--serif);font-size:49px;line-height:1.5;letter-spacing:2px;margin:22px 0 19px}.hero h1 em{font-style:normal;color:#e3e8d3}.hero-copy>p{font-size:13px;line-height:2.1;letter-spacing:1px;opacity:.84}.hero-locale{display:flex;align-items:center;gap:7px;margin-top:31px;font-size:10px;letter-spacing:2px;color:#e2e7d8}.hero-locale .icon{width:14px;height:14px}.hero-book-stage{position:relative;display:grid;place-items:center;min-height:410px;perspective:1100px}.hero-book-stage:before{content:'';position:absolute;width:240px;height:38px;bottom:11px;left:80px;border-radius:50%;background:#08170c80;filter:blur(19px);transform:rotate(-8deg)}.hero-book{position:relative;width:248px;height:341px;transform:rotate(-9deg) rotateY(-17deg);transform-style:preserve-3d;box-shadow:16px 17px 28px #10291b80;transition:transform .6s ease;background:#e5e2d4}.hero-book:hover{transform:rotate(-5deg) rotateY(-11deg)}.hero-book:before{content:'';position:absolute;top:5px;bottom:-5px;left:9px;right:-11px;background:repeating-linear-gradient(0deg,#e8e5da 0 1px,#d5d2c6 1px 2px);transform:translateZ(-3px);border-radius:2px}.hero-book:after{content:'';position:absolute;inset:0;box-shadow:inset 5px 0 7px #071d2260,inset 8px 0 1px #ffffff20;border-radius:2px;pointer-events:none}.book-cover{height:100%;width:100%;position:relative;background:#173e31;color:#f2efda;overflow:hidden;display:flex;flex-direction:column;padding:25px 27px;text-align:left}.book-cover>img{position:absolute;inset:0;filter:saturate(.72);z-index:0;object-position:54% 50%}.book-cover:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,40,26,.7),rgba(22,50,27,.11) 60%,rgba(20,41,29,.72));z-index:1}.cover-top,.cover-title,.cover-bottom{position:relative;z-index:2}.cover-top{font-size:7px;letter-spacing:2.3px;display:flex;justify-content:space-between;align-items:center}.cover-top svg{width:24px;height:24px}.cover-title{font-family:var(--serif);font-size:32px;letter-spacing:3px;line-height:1.65;margin-top:43px;white-space:pre-line;font-weight:500}.cover-sub{font-family:var(--sans);font-size:7px;letter-spacing:2px;margin-top:10px;font-weight:400}.cover-bottom{margin-top:auto;border-top:1px solid #e1e4cf66;padding-top:11px;display:flex;align-items:center;justify-content:space-between;font-size:7px;letter-spacing:1.2px}.round-stamp{position:absolute;bottom:35px;right:10px;width:72px;height:72px;border:1px solid #e5e9d075;color:#f1f0d7;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(10deg);font-family:var(--serif);font-size:11px;line-height:1.8;letter-spacing:2px;z-index:3}.round-stamp span{font-family:var(--sans);font-size:7px;letter-spacing:1px}.hero-scroll{position:absolute;bottom:22px;left:74px;color:#dfe4d5;font-size:9px;letter-spacing:2px;display:flex;gap:8px;align-items:center}.hero-scroll .icon{width:13px;height:13px}.intro-strip{display:flex;align-items:center;justify-content:space-between;padding:28px 0 30px;border-bottom:1px solid var(--line);gap:24px}.intro-steps{display:flex;align-items:center;gap:28px}.intro-step{display:flex;align-items:center;gap:10px}.step-circle{color:#68816c;width:33px;height:33px;border-radius:50%;background:#eaf0e5;display:grid;place-items:center}.step-circle .icon{width:17px;height:17px}.intro-step b{font-size:12px;font-weight:500;display:block}.intro-step small{font-size:10px;color:var(--muted)}.step-arrow{color:#adb5a7;font-size:13px}.home-action{display:flex;align-items:center;gap:23px}.price-line{font-size:10px;color:var(--muted);line-height:1.5}.price-line strong{font-size:24px;color:var(--ink);font-weight:400;margin-right:4px;font-family:Georgia,serif}.price-line sup{font-size:13px;color:var(--ink)}.primary{background:var(--green);color:#fff;min-height:49px;border-radius:5px;padding:0 23px;display:inline-flex;align-items:center;justify-content:center;gap:22px;font-size:13px;font-weight:500;letter-spacing:1px;transition:background .2s,transform .2s}.primary:hover{background:#346450}.primary:active{transform:translateY(1px)}.primary .icon{width:17px;height:17px}.secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:45px;border:1px solid #cdd6c7;border-radius:5px;padding:0 19px;background:#fff9;font-size:12px}.secondary:hover{background:#edf0e7}.section{padding:45px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:24px;gap:20px}.section-heading h2{font-family:var(--serif);font-size:25px;letter-spacing:1px}.section-heading p{color:var(--muted);font-size:11px;margin-top:7px}.section-heading .text-button{border-bottom:1px solid #b7c5b2;padding-bottom:3px}.sample-gallery{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:19px}.gallery-card{padding:0;text-align:left;min-width:0;transition:transform .3s}.gallery-card:hover{transform:translateY(-4px)}.gallery-image{height:217px;background:#eceee3;overflow:hidden;border-radius:5px;position:relative}.gallery-image>img{transition:transform .5s;filter:saturate(.8)}.gallery-card:hover .gallery-image>img{transform:scale(1.03)}.gallery-caption{display:flex;justify-content:space-between;align-items:center;margin-top:12px;font-size:12px}.gallery-caption small{font-size:9px;color:var(--muted);letter-spacing:1px}.mini-spread{position:absolute;inset:26px 31px;display:flex;box-shadow:0 8px 17px #2f452821;transform:rotate(-4deg);background:#f9f7f0}.mini-leaf{width:50%;padding:15px;position:relative;background:#fbfaf6}.mini-leaf:first-child{box-shadow:inset -5px 0 7px #dedbc540}.mini-leaf:last-child{box-shadow:inset 5px 0 7px #dedbc540}.mini-leaf img{height:85%;object-fit:cover}.mini-leaf p{font-family:var(--serif);font-size:8px;margin-top:7px;white-space:nowrap}.mini-leaf.story{display:flex;flex-direction:column;justify-content:center;gap:7px}.mini-leaf.story small{font-size:5px;letter-spacing:1px;color:#8b9681}.mini-leaf.story b{font-family:var(--serif);font-size:16px;font-weight:500;line-height:1.9}.mini-leaf.story em{font-style:normal;font-size:5px;line-height:2.4;color:#8a8b7c}.quality-band{display:flex;justify-content:center;gap:60px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 10px}.quality-item{display:flex;align-items:center;gap:10px;font-size:11px;color:#697760}.quality-item .icon{width:18px;height:18px}.park-story{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding:48px 0}.park-story-image{height:270px;border-radius:5px;overflow:hidden}.park-story-image img{filter:saturate(.8)}.park-story-copy .eyebrow{color:#9a9e88;font-size:9px}.park-story-copy h2{font-family:var(--serif);font-size:27px;margin:15px 0;letter-spacing:2px}.park-story-copy p{color:#7b8476;font-size:12px;line-height:2.2;max-width:400px}.park-story-tags{display:flex;gap:9px;margin-top:20px}.park-story-tags span{font-size:10px;color:#72816b;padding:4px 10px;background:#ecefe5;border-radius:3px}.footer{max-width:1180px;margin:0 auto;padding:23px 0 32px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:#92978b;font-size:10px;gap:15px}.footer a,.footer button{font-size:10px;color:#7d8776;text-decoration:underline;text-underline-offset:3px;padding:0}.footer-links{display:flex;gap:20px}.mobile-cta{display:none}.workspace{max-width:1050px;margin:auto;padding:35px 30px 110px}.flow-steps{display:flex;align-items:center;justify-content:center;gap:12px;font-size:11px;color:#a2aa9a;margin:2px 0 32px}.flow-steps span{display:flex;align-items:center;gap:7px}.flow-steps b{font-size:10px;font-weight:500;width:21px;height:21px;border:1px solid #d2dacb;border-radius:50%;display:grid;place-items:center}.flow-steps .active{color:var(--green)}.flow-steps .active b{background:var(--green);border-color:var(--green);color:white}.flow-steps i{width:45px;height:1px;background:#dce2d3}.page-intro{text-align:center;margin-bottom:26px}.page-intro .eyebrow{justify-content:center;color:#9b9f8d;font-size:9px;margin-bottom:11px}.page-intro h1{font-family:var(--serif);font-size:31px;letter-spacing:2px;line-height:1.5}.page-intro p{font-size:12px;color:#889080;line-height:1.9;margin-top:10px}.upload-zone{border:1px dashed #bccbb3;background:#f0f3e9;border-radius:10px;min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:26px;text-align:center;transition:background .2s}.upload-zone.dragging{background:#e0ead7;border-color:var(--green)}.upload-zone .upload-icon{width:48px;height:48px;background:#fff9;border:1px solid #dde6d5;border-radius:12px;display:grid;place-items:center;margin-bottom:7px}.upload-zone .upload-icon .icon{width:24px;height:24px}.upload-zone strong{font-weight:500;font-size:14px}.upload-zone p{font-size:11px;color:#929989}.upload-zone .primary{margin-top:8px;min-height:43px}.sample-link{display:block;margin:18px auto;font-size:12px;color:#789068;text-decoration:underline;text-underline-offset:5px}.upload-toolbar{display:flex;align-items:center;justify-content:space-between;margin:25px 0 14px;font-size:12px}.upload-toolbar small{color:#929887;font-size:10px}.photo-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.photo-tile{position:relative;aspect-ratio:1;background:#e9ede2;border-radius:5px;overflow:hidden}.photo-tile img{object-fit:cover}.photo-remove{position:absolute;top:5px;right:5px;width:25px;height:25px;border-radius:50%;background:#243e32b3;display:grid;place-items:center;color:white}.photo-remove .icon{width:14px;height:14px}.photo-index{position:absolute;left:5px;top:5px;border-radius:3px;background:#223b2e85;color:white;padding:0 5px;font-size:9px}.photo-warning{position:absolute;bottom:0;left:0;right:0;padding:3px 4px;background:#f6e5c7ec;font-size:9px;color:#8b592f;text-align:center}.photo-tools{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;background:linear-gradient(transparent,#1931249e);padding:12px 5px 4px;color:white}.photo-tools button{width:24px;height:24px;display:grid;place-items:center}.photo-tools .icon{width:14px;height:14px}.photo-warning+.photo-tools{bottom:20px}.privacy-note{display:flex;justify-content:center;align-items:center;gap:6px;color:#99a08f;font-size:10px;margin:22px 0}.privacy-note .icon{width:13px;height:13px}.bottom-action{position:fixed;bottom:0;left:0;right:0;z-index:30;background:#f8f7f2ed;border-top:1px solid #e2e6d8;backdrop-filter:blur(15px);padding:16px 30px calc(16px + env(safe-area-inset-bottom))}.bottom-action-inner{max-width:990px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:18px}.action-note{font-size:12px}.action-note small{display:block;color:#8c9585;font-size:10px;margin-top:2px}.bottom-action .primary{min-width:220px}.progress-panel{text-align:center;padding:70px 10px}.spinner{width:40px;height:40px;border:2px solid #dae4d2;border-top-color:#3f6d4e;border-radius:50%;margin:0 auto 20px;animation:spin 1.1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.progress-panel h2{font-family:var(--serif);font-size:24px;margin-bottom:12px}.progress-panel p{color:var(--muted);font-size:12px}.processing-bar{width:230px;height:4px;margin:25px auto;border-radius:5px;background:#e1e7d9;overflow:hidden}.processing-bar span{display:block;height:100%;background:#5c8562;transition:width .25s}.reader-workspace{max-width:1160px;padding-top:22px}.reader-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:35px;align-items:start}.reader-stage{background:#eceee3;border:1px solid #e1e5d7;border-radius:7px;padding:26px 30px 14px;position:relative;min-width:0}.reader-stage:before{content:'';position:absolute;inset:0;border-radius:7px;opacity:.18;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.68' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.16' filter='url(%23n)'/%3E%3C/svg%3E")}.reader-status{position:relative;text-align:center;font-size:9px;letter-spacing:2px;color:#87917c;margin-bottom:21px;display:flex;gap:7px;align-items:center;justify-content:center}.reader-status .icon{width:12px;height:12px}.page-holder{position:relative;max-width:375px;margin:auto;aspect-ratio:1/1;box-shadow:0 12px 30px #364c3425,4px 2px 0 #d8d8c8,6px 3px 0 #eeeade;animation:page-in .35s ease;touch-action:pan-y}@keyframes page-in{from{opacity:.35;transform:translateX(12px) rotateY(4deg)}to{opacity:1;transform:translateX(0)}}.album-page{position:relative;width:100%;height:100%;overflow:hidden;background:#f9f7ef;color:#334436;container-type:inline-size;isolation:isolate}.album-page .book-cover{padding:8%}.album-page .cover-title{font-size:9cqw;margin-top:10%;max-width:100%;overflow-wrap:anywhere;line-height:1.65;letter-spacing:.07em}.album-page .cover-top{font-size:2cqw;letter-spacing:.22em}.album-page .cover-top svg{width:7cqw;height:7cqw}.album-page .cover-sub{font-size:2cqw}.album-page .cover-bottom{font-size:1.8cqw}.album-page .cover-title.long{font-size:6cqw}.page-num{position:absolute;bottom:4%;left:7%;right:7%;display:flex;justify-content:space-between;font-size:1.7cqw;color:#9ca18b;letter-spacing:.15em;z-index:3}.page-introduction{padding:13% 11%;display:flex;flex-direction:column;height:100%}.page-kicker{font-size:2cqw;letter-spacing:.3em;color:#829274}.page-introduction h2{font-family:var(--serif);font-size:7cqw;line-height:1.7;margin-top:10%;letter-spacing:.08em}.page-introduction p{font-size:2.8cqw;line-height:2.3;color:#7e876f;margin-top:9%;white-space:pre-line;overflow-wrap:anywhere}.page-introduction .intro-date{margin-top:auto;font-size:2cqw;letter-spacing:.12em;color:#a3a58f}.page-introduction:after{content:'';position:absolute;width:43%;height:43%;right:-12%;bottom:7%;border:1px solid #d8ddc8;border-radius:50%;box-shadow:0 0 0 13px #f6f5e9,0 0 0 14px #e4e7d5,0 0 0 29px #f6f5e9,0 0 0 30px #e8ebdc;z-index:-1}.photo-page{padding:8% 8% 10%;display:flex;flex-direction:column;gap:5%;height:100%}.photo-page .photo-frame{flex:1;min-height:0;overflow:hidden;background:#e7e9dd;position:relative;padding:0}.photo-page .photo-frame img{width:100%;height:100%}.photo-page .photo-caption{font-family:var(--serif);font-size:3cqw;letter-spacing:.12em;text-align:center;line-height:1.6}.photo-page.pair{gap:4%}.photo-page.pair .photo-frame{height:38%;flex:1}.photo-page.pair .photo-caption{font-size:2.4cqw}.photo-page.full{padding:0}.photo-page.full .photo-caption{position:absolute;bottom:9%;left:8%;color:#fff;text-shadow:0 1px 5px #000;font-size:3.5cqw;pointer-events:none}.photo-page.full+.page-num{color:#f5f5e5;text-shadow:0 1px 3px #142819}.image-edit-hint{position:absolute;bottom:8px;right:8px;background:#f9f9efdc;border-radius:50%;width:25px;height:25px;display:grid;place-items:center;opacity:0;transition:opacity .2s}.image-edit-hint .icon{width:12px;height:12px}.photo-frame:hover .image-edit-hint,.photo-frame:focus-visible .image-edit-hint{opacity:1}.scene-page{height:100%;display:flex;flex-direction:column;padding:7% 7% 10%}.scene-page img{height:58%;flex-shrink:0}.scene-page .page-kicker{margin-top:6%;font-size:1.6cqw}.scene-page h2{font-family:var(--serif);font-size:4.5cqw;letter-spacing:.07em;margin:3% 0 2%}.scene-page p{font-size:2.1cqw;line-height:1.9;color:#89917e;letter-spacing:.04em}.scene-page.opening{padding:0;position:relative}.scene-page.opening img{height:100%}.scene-page.opening:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 35%,#12341fd9)}.scene-page.opening .scene-copy{position:absolute;bottom:15%;left:9%;right:9%;z-index:1;color:#f1f0df}.scene-page.opening .page-kicker{color:#d0d8bc}.scene-page.opening h2{font-size:5.5cqw}.scene-page.opening p{color:#dde1cc;font-size:2.4cqw}.invite-page,.colophon-page{height:100%;display:flex;flex-direction:column;align-items:center;text-align:center;padding:10% 12%}.invite-page .icon,.colophon-page .brand-symbol{width:8cqw;height:8cqw;margin-bottom:5%}.invite-page h2,.colophon-page h2{font-family:var(--serif);font-size:6cqw;line-height:1.8;letter-spacing:.1em;margin:5% 0 3%}.invite-page p,.colophon-page p{font-size:2.3cqw;color:#8a927f;line-height:2;letter-spacing:.06em}.qr-block{width:25%;aspect-ratio:1;margin:5% 0;background:#fff;padding:3%;border:1px solid #e5e7da}.qr-block svg{width:100%;height:100%}.invite-page small{font-size:1.9cqw;color:#8e967f}.colophon-page{justify-content:center}.colophon-page .colophon-id{font-size:1.7cqw;color:#a4aa98;margin-top:10%;letter-spacing:.1em}.back-cover{background:#244a3e;color:#e0e5d1;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:5%}.back-cover .brand-symbol{width:14%;height:auto}.back-cover h2{font-family:var(--serif);font-size:6cqw;letter-spacing:.2em}.back-cover p{font-size:2cqw;letter-spacing:.2em}.reader-nav{display:flex;align-items:center;justify-content:center;gap:25px;margin-top:23px;position:relative}.reader-nav button{background:#f9faf3b3;width:35px;height:35px;border:1px solid #d6ddca;border-radius:50%;display:grid;place-items:center}.reader-nav .icon{width:16px;height:16px}.reader-nav p{font-size:11px;color:#7e8a72;min-width:86px;text-align:center}.reader-nav small{color:#98a28e;font-size:9px}.reader-sidebar{padding-top:24px}.reader-sidebar .eyebrow{font-size:9px;letter-spacing:2px;color:#8b9780}.reader-sidebar h1{font-family:var(--serif);font-size:28px;line-height:1.6;margin:16px 0 5px;overflow-wrap:anywhere}.reader-sidebar>p{color:#89927e;font-size:11px;line-height:1.9}.spec-list{margin:22px 0 0;padding:17px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.spec-row{display:flex;justify-content:space-between;font-size:11px;line-height:2.5;color:#78856e}.spec-row span:last-child{color:#3e513a}.reader-tools{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}.reader-tools .secondary{font-size:11px;padding:0 12px;min-height:37px}.reader-tools .icon{width:14px;height:14px}.gentle-note{border-radius:5px;padding:13px 14px;background:#edf1e5;font-size:10px;color:#859176;line-height:1.9;margin-top:22px}.thumbnail-strip{display:flex;overflow:auto;gap:9px;padding:18px 2px 12px;scrollbar-width:thin;scrollbar-color:#c4ccb9 transparent}.thumb-button{padding:0;flex:0 0 57px;min-width:0;position:relative}.thumb-button .thumb-sheet{height:57px;width:57px;overflow:hidden;border:2px solid transparent;background:#e6ebde;border-radius:3px;opacity:.65}.thumb-button.active .thumb-sheet{border-color:#355d3e;opacity:1}.thumb-button span{display:block;font-size:9px;color:#8e9780;text-align:center;margin-top:5px}.thumb-title{font-family:var(--serif);font-size:10px;height:100%;display:grid;place-items:center;background:#edeedf}.checkout-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:36px;margin-top:25px;align-items:start}.form-card{border:1px solid #e2e5d9;background:#fffdf7;padding:25px;border-radius:7px}.form-card h2{font-family:var(--serif);font-size:20px;margin-bottom:20px}.field{display:block;margin-bottom:17px}.field>span{display:block;font-size:11px;color:#737f69;margin-bottom:8px}.field input,.field textarea{display:block;width:100%;border:1px solid #dde2d4;border-radius:4px;padding:12px;background:#fffef9;color:#334a37;font-size:13px;outline-offset:1px}.field textarea{resize:vertical;min-height:86px}.field input::placeholder,.field textarea::placeholder{color:#b0b5a6;font-size:11px}.field-error{display:block;color:#a65339;font-size:10px;margin-top:5px}.field [aria-invalid=true]{border-color:#b1775a}.order-product{display:flex;gap:22px;align-items:center}.order-cover{flex-shrink:0;width:100px;height:130px;box-shadow:4px 5px 10px #34432625;transform:rotate(-4deg)}.order-cover .book-cover{padding:11px}.order-cover .cover-top{font-size:3px;letter-spacing:.4px}.order-cover .cover-top svg{width:12px;height:12px}.order-cover .cover-title{font-size:14px;margin-top:12px;letter-spacing:1px}.order-cover .cover-sub{font-size:4px;letter-spacing:0}.order-cover .cover-bottom{font-size:3px;padding-top:5px;letter-spacing:0}.order-product h3{font-family:var(--serif);font-size:19px;line-height:1.7;overflow-wrap:anywhere}.order-product p{font-size:10px;color:#89967e;margin-top:5px}.order-summary{padding:23px;border:1px solid var(--line);border-radius:7px}.order-prices{border-top:1px solid var(--line);margin-top:26px;padding-top:15px}.order-prices>div{display:flex;justify-content:space-between;font-size:12px;line-height:2.6;color:#839075}.order-prices .total{color:#324b35;font-size:13px;border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.order-prices .total strong{font-family:Georgia,serif;font-size:26px;font-weight:400}.demo-note{padding:13px 14px;background:#f0ebde;border-radius:5px;color:#9b835f;font-size:10px;line-height:1.9;margin-top:20px}.checkbox{display:flex;align-items:flex-start;gap:8px;font-size:10px;color:#829077;line-height:1.9;margin-top:18px}.checkbox input{accent-color:var(--green);margin-top:3px;flex-shrink:0}.success-icon{background:#e5eddf;border-radius:50%;height:60px;width:60px;display:grid;place-items:center;margin:0 auto 20px;color:#557b4f}.success-icon .icon{width:27px;height:27px}.order-success{max-width:670px}.order-success .page-intro{margin-top:12px}.status-timeline{display:flex;justify-content:space-between;gap:10px;padding:25px 0;margin:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.status-node{font-size:10px;text-align:center;color:#a0a995;flex:1}.status-node .icon{margin:0 auto 9px;color:#aab4a0}.status-node.active{color:#426644}.status-node.active .icon{color:#426644}.order-meta{font-size:11px;color:#7d8a71;line-height:2.3;margin-top:18px;overflow-wrap:anywhere}.order-meta b{font-weight:400;color:#395138}.order-actions{display:flex;gap:12px;margin-top:20px;flex-wrap:wrap}.order-actions .primary,.order-actions .secondary{flex:1;font-size:12px;gap:8px;min-width:150px}.library-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.library-heading h1{font-family:var(--serif);font-size:28px}.library-heading p{font-size:11px;color:#919a84;margin-top:7px}.book-list{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.saved-book{border:1px solid var(--line);border-radius:7px;padding:24px;background:#fffdf6;display:flex;gap:25px;align-items:center;min-width:0}.saved-book-info{min-width:0;flex:1}.saved-book-info h2{font-family:var(--serif);font-size:20px;overflow-wrap:anywhere}.saved-book-info p{font-size:10px;color:#939c89;margin:9px 0}.saved-book-info .text-button{color:#5e7d50;font-size:11px}.badge{display:inline-block;border:1px solid #dbe2d0;background:#eff3e9;font-size:9px;color:#8c987c;border-radius:3px;padding:2px 6px;margin-bottom:8px}.empty-state{padding:65px 20px;text-align:center;border:1px dashed #d3ddc8;border-radius:8px;background:#f2f4eb}.empty-state>.icon{width:42px;height:42px;margin:0 auto 18px;color:#8da07e}.empty-state h2{font-family:var(--serif);font-size:24px;margin-bottom:11px}.empty-state p{font-size:12px;color:#8a977c;margin-bottom:25px}.invite-hero{height:270px;position:relative;border-radius:7px;overflow:hidden;color:#fff}.invite-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#142e20c9)}.invite-hero-copy{position:absolute;bottom:25px;left:28px;right:25px;z-index:1}.invite-hero .eyebrow{font-size:9px}.invite-hero h1{font-family:var(--serif);font-size:30px;line-height:1.7;margin:10px 0}.invite-hero p{font-size:11px;opacity:.85}.invite-content{max-width:620px;margin:auto}.invite-intro{padding:24px 0;font-size:12px;color:#7f8c75;line-height:2.1}.coupon-card{display:flex;align-items:center;gap:22px;background:#edf1e4;border:1px solid #d5dec9;border-radius:7px;padding:23px;margin-bottom:20px;position:relative}.coupon-value{border-right:1px dashed #c2cdb4;padding-right:23px;white-space:nowrap;color:#567044;font-size:14px}.coupon-value strong{font-family:Georgia,serif;font-size:42px;font-weight:400}.coupon-copy{flex:1}.coupon-copy h2{font-family:var(--serif);font-size:18px}.coupon-copy p{font-size:10px;line-height:1.9;color:#909c7f;margin-top:6px}.invite-content>.primary{width:100%}.invite-rules{padding:23px 0;margin-top:18px;border-top:1px solid var(--line)}.invite-rules h3{font-size:12px;margin-bottom:10px}.invite-rules p{font-size:11px;color:#96a08a;line-height:2.1}.toast{position:fixed;left:50%;bottom:110px;transform:translate(-50%,20px);background:#234532f0;color:#f5f7ed;border-radius:6px;padding:13px 20px;font-size:12px;max-width:calc(100vw - 40px);width:max-content;z-index:1000;box-shadow:0 5px 20px #21352126;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.toast.visible{opacity:1;transform:translate(-50%,0)}.modal{width:min(480px,calc(100vw - 32px));max-height:88dvh;border:1px solid #dce3d0;border-radius:10px;padding:28px;background:#f9f9f1;color:var(--ink);box-shadow:0 20px 70px #14302333}.modal::backdrop{background:#132e2266;backdrop-filter:blur(4px)}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:19px}.modal-header h2{font-family:var(--serif);font-size:22px}.close-modal{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#e9eee0}.modal p{font-size:12px;line-height:2;color:#89957a}.modal-buttons{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.modal .primary,.modal .secondary{min-height:42px;font-size:12px;gap:8px}.modal .modal-qr{width:165px;height:165px;padding:12px;background:white;margin:22px auto;border:1px solid var(--line)}.modal-qr svg{width:100%;height:100%}.modal .source-links{margin:15px 0;padding-left:18px;font-size:11px;line-height:2.3;color:#728268}.modal .source-links a{text-decoration:underline;text-underline-offset:3px}.crop-preview{height:240px;overflow:hidden;border-radius:4px;background:#e7eadf}.crop-preview img{height:100%;width:100%}.crop-controls{padding-top:18px}.crop-controls label{font-size:11px;display:flex;align-items:center;gap:10px;margin:10px 0;color:#7d8b6d}.crop-controls input{flex:1;accent-color:var(--green)}.fit-options{display:flex;gap:10px;margin-top:17px}.fit-options button{flex:1;padding:7px;border:1px solid #d4dec8;border-radius:4px;font-size:11px}.fit-options button.selected{background:#dfe8d5;color:#3e6135;border-color:#8ca277}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .field{margin-bottom:0}#print-root{display:none}.muted{color:#929a88}.error-panel{padding:30px;background:#f4eadc;color:#9b6b47;border:1px solid #e6d8c4;border-radius:6px}.error-panel p{font-size:12px;margin-bottom:15px}.full-width{width:100%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1600px){.hero{min-height:570px}.hero-book{width:267px;height:366px}.hero-book-stage{min-height:440px}}
@media(max-width:1250px){.content{margin:0 30px}.hero{padding:48px 50px}.hero-scroll{left:50px}.hero h1{font-size:44px}.intro-steps{gap:18px}.intro-step{gap:8px}.intro-steps .step-arrow{display:none}.home-action{gap:16px}.footer{margin:0 30px}.park-story{gap:45px}}
@media(max-width:900px){.hero{padding:40px 32px;min-height:480px}.hero h1{font-size:36px}.hero-book{width:216px;height:300px}.hero-book-stage{min-height:350px}.hero-book-stage:before{left:30px;bottom:0}.round-stamp{right:-10px;bottom:20px;width:65px;height:65px}.hero-scroll{left:32px}.intro-strip{flex-direction:column;align-items:stretch;gap:22px}.intro-steps{justify-content:center;gap:45px}.home-action{justify-content:space-between}.home-action>.primary{min-width:240px}.gallery-image{height:180px}.mini-spread{inset:30px 15px}.mini-leaf{padding:10px}.mini-leaf.story b{font-size:13px}.quality-band{gap:25px}.reader-layout{grid-template-columns:minmax(0,1fr) 260px;gap:23px}.reader-stage{padding:24px 20px 14px}.reader-sidebar h1{font-size:25px}.page-holder{max-width:330px}.photo-grid{grid-template-columns:repeat(5,1fr)}.checkout-layout{gap:22px}.order-product{gap:15px}.order-product h3{font-size:16px}.book-list{grid-template-columns:1fr}.saved-book{max-width:620px}}
@media(max-width:650px){.site-header{height:68px;padding:0 21px;gap:12px}.brand-symbol{width:29px;height:29px}.brand{gap:8px}.brand-name{font-size:17px;letter-spacing:2px}.brand-sub{font-size:6px;letter-spacing:1.5px}.header-left{gap:10px}.header-right{gap:13px}.park-mark{display:none}.header-right .text-button{font-size:10px;gap:5px}.header-right .text-button .icon{width:17px;height:17px}.edition-tag{font-size:8px;padding:1px 4px}.content{margin:0 16px}.hero{min-height:522px;padding:31px 24px;display:block;border-radius:6px}.hero-bg{object-position:48% 50%}.hero:after{background:linear-gradient(110deg,#143521b3,#22422a20 80%)}.hero:before{background:linear-gradient(0deg,#173a29a8,transparent 85%)}.hero-copy{z-index:2;pointer-events:none}.hero .eyebrow{font-size:7px;letter-spacing:2.1px}.hero .eyebrow:before{width:17px}.hero h1{font-size:34px;letter-spacing:2px;line-height:1.55;margin:17px 0 12px}.hero-copy>p{font-size:10px;line-height:2;letter-spacing:.7px;max-width:150px}.hero-locale{margin-top:19px;font-size:8px;letter-spacing:1px}.hero-locale .icon{width:12px;height:12px}.hero-book-stage{position:absolute;right:18px;bottom:39px;min-height:0;width:205px;height:278px;z-index:1}.hero-book{width:170px;height:238px;transform:rotate(-10deg) rotateY(-16deg);margin-top:10px}.hero-book:before{right:-8px;bottom:-4px}.hero-book-stage:before{width:170px;height:25px;bottom:-1px;left:10px}.book-cover{padding:19px}.cover-top{font-size:5px;letter-spacing:1.4px}.cover-top svg{width:18px;height:18px}.cover-title{font-size:24px;letter-spacing:2px;margin-top:25px}.cover-sub{font-size:5px;letter-spacing:1px;margin-top:6px}.cover-bottom{font-size:5px;letter-spacing:.4px;padding-top:7px}.round-stamp{bottom:0;right:-4px;width:57px;height:57px;font-size:9px;letter-spacing:1px}.round-stamp span{font-size:5px;letter-spacing:.7px}.hero-scroll{left:24px;bottom:23px;font-size:7px;letter-spacing:1.6px}.hero-scroll .icon{width:11px;height:11px}.intro-strip{padding:23px 4px 25px;display:block}.intro-steps{gap:0;justify-content:space-between}.intro-step{gap:7px}.step-circle{width:27px;height:27px}.step-circle .icon{width:14px;height:14px}.intro-step b{font-size:10px}.intro-step small{font-size:8px}.home-action{display:none}.section{padding:29px 4px 25px}.section-heading{margin-bottom:19px;gap:12px}.section-heading h2{font-size:20px;letter-spacing:.5px}.section-heading p{font-size:10px;margin-top:5px}.section-heading .text-button{font-size:10px;gap:4px}.section-heading .text-button .icon{width:13px;height:13px}.sample-gallery{grid-template-columns:1.1fr 1fr;gap:12px}.gallery-card:last-child{display:none}.gallery-image{height:145px}.gallery-caption{font-size:10px;margin-top:9px;gap:8px}.gallery-caption small{font-size:7px;letter-spacing:0}.mini-spread{inset:25px 12px;transform:rotate(-5deg)}.mini-leaf{padding:8px}.mini-leaf p{font-size:5px}.mini-leaf.story{gap:3px}.mini-leaf.story b{font-size:10px}.mini-leaf.story small{font-size:3px;letter-spacing:.3px}.mini-leaf.story em{font-size:3px;line-height:2}.quality-band{padding:19px 0;justify-content:space-around;gap:5px}.quality-item{font-size:9px;gap:5px}.quality-item .icon{width:14px;height:14px}.park-story{grid-template-columns:1fr;gap:22px;padding:28px 4px}.park-story-image{height:190px}.park-story-copy .eyebrow{font-size:8px}.park-story-copy h2{font-size:23px;margin:12px 0}.park-story-copy p{font-size:11px;line-height:2}.park-story-tags{margin-top:16px}.park-story-tags span{font-size:9px}.footer{margin:0 20px;padding:20px 0 110px;display:block;font-size:9px;line-height:1.9}.footer-links{gap:16px;margin-top:8px}.footer a,.footer button{font-size:9px}.mobile-cta{position:fixed;bottom:0;left:0;right:0;z-index:35;padding:12px 22px calc(12px + env(safe-area-inset-bottom));background:#f8f7f2f5;backdrop-filter:blur(10px);border-top:1px solid #e2e5d8;display:flex;align-items:center;justify-content:space-between;gap:18px}.mobile-cta .primary{flex:1;max-width:230px;min-height:47px;font-size:12px;gap:24px}.mobile-cta .price-line strong{font-size:25px}.mobile-cta .price-line{font-size:8px}.workspace{padding:21px 20px 120px}.flow-steps{font-size:10px;gap:8px;margin-bottom:23px}.flow-steps b{height:19px;width:19px;font-size:9px}.flow-steps i{width:27px}.page-intro{margin-bottom:22px}.page-intro h1{font-size:25px;letter-spacing:1px}.page-intro p{font-size:11px;margin-top:8px}.page-intro .eyebrow{font-size:8px;margin-bottom:9px}.back{width:33px;height:33px}.back .icon{width:17px;height:17px}.page-name{font-size:15px}.upload-zone{min-height:230px;padding:25px 15px}.upload-zone p{font-size:10px}.upload-zone strong{font-size:12px}.photo-grid{grid-template-columns:repeat(3,1fr);gap:9px}.photo-tile{border-radius:4px}.photo-tools{opacity:1}.privacy-note{font-size:9px;text-align:center}.bottom-action{padding:12px 20px calc(12px + env(safe-area-inset-bottom))}.bottom-action-inner{gap:10px}.bottom-action .primary{min-width:170px;min-height:46px;font-size:12px;padding:0 16px;gap:12px}.action-note{font-size:11px}.action-note small{font-size:9px}.reader-workspace{padding:19px 16px 108px}.reader-layout{display:flex;flex-direction:column;gap:0}.reader-stage{width:100%;padding:18px 20px 13px;border-radius:6px}.reader-status{font-size:8px;letter-spacing:1.1px;margin-bottom:15px}.page-holder{max-width:350px}.reader-nav{margin-top:17px;gap:24px}.reader-nav button{width:31px;height:31px}.reader-nav p{font-size:10px}.reader-nav small{font-size:8px}.reader-sidebar{padding:22px 5px 0;width:100%}.reader-sidebar .eyebrow{display:none}.reader-sidebar h1{font-size:21px;margin:0 0 3px;display:inline-block}.reader-sidebar>p{font-size:10px}.reader-sidebar .spec-list{display:none}.reader-tools{margin-top:14px;gap:9px}.reader-tools .secondary{font-size:10px;min-height:34px;padding:0 12px}.reader-sidebar .gentle-note{font-size:9px;padding:10px 12px;margin-top:13px}.thumbnail-strip{padding:14px 2px 8px;gap:8px}.thumb-button{flex-basis:45px}.thumb-button .thumb-sheet{height:45px;width:45px}.thumb-button span{font-size:8px}.checkout-layout{display:flex;flex-direction:column-reverse;gap:22px;margin-top:22px}.checkout-layout>*{width:100%}.form-card,.order-summary{padding:21px;border-radius:6px}.form-card h2{font-size:18px}.order-cover{width:80px;height:105px}.order-cover .book-cover{padding:9px}.order-cover .cover-title{font-size:11px;margin-top:10px}.order-cover .cover-top{font-size:2px;letter-spacing:.3px}.order-cover .cover-top svg{width:9px;height:9px}.order-cover .cover-sub{font-size:3px}.order-product{gap:20px}.order-product h3{font-size:19px}.order-product p{font-size:10px}.order-prices{margin-top:20px;padding-top:13px}.order-prices>div{font-size:11px;line-height:2.3}.order-prices .total{padding-top:9px;margin-top:9px}.order-prices .total strong{font-size:22px}.form-card .field input{font-size:16px;padding:10px}.field textarea{font-size:16px}.demo-note{font-size:9px;margin-top:14px;padding:10px 12px}.checkbox{font-size:10px}.order-success .order-product{padding:4px}.status-timeline{padding:22px 0;gap:5px}.status-node{font-size:9px}.status-node .icon{width:18px;height:18px}.order-meta{font-size:10px}.library-heading h1{font-size:25px}.library-heading .secondary{font-size:10px;padding:0 12px;min-height:37px}.library-heading p{font-size:10px}.saved-book{padding:20px;gap:24px}.saved-book-info h2{font-size:19px}.saved-book-info p{font-size:9px}.invite-hero{height:280px}.invite-hero-copy{left:23px;bottom:24px}.invite-hero h1{font-size:28px}.invite-hero .eyebrow{font-size:8px;letter-spacing:2px}.invite-intro{font-size:11px;padding:20px 0}.coupon-card{padding:20px 18px;gap:17px}.coupon-value{padding-right:17px}.coupon-value strong{font-size:35px}.coupon-copy h2{font-size:17px}.coupon-copy p{font-size:9px}.modal{padding:23px}.modal-header h2{font-size:20px}.modal p{font-size:11px}.modal-buttons .primary,.modal-buttons .secondary{font-size:11px;padding:0 15px}.form-grid{grid-template-columns:1fr;gap:0}.form-grid .field{margin-bottom:17px}.crop-preview{height:220px}}
@media(max-width:360px){.hero h1{font-size:30px}.hero-book-stage{right:6px}.hero-book{width:156px;height:216px}.hero{min-height:490px}.hero-copy>p{max-width:138px;font-size:9px}.intro-step b{font-size:9px}.intro-step small{font-size:7px}.step-circle{width:24px;height:24px}.header-right{gap:8px}.edition-tag{display:none}.bottom-action .primary{min-width:145px}.action-note small{font-size:8px}.reader-stage{padding:15px}.gallery-image{height:125px}.quality-item{font-size:8px;gap:4px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.spinner{border-color:#8fa680}}
@media print{@page{size:210mm 210mm;margin:0}html,body{background:white!important;margin:0!important;padding:0!important}#app,#modal,#toast{display:none!important}#print-root{display:block!important}.print-sheet{width:210mm;height:210mm;page-break-after:always;break-after:page;overflow:hidden;print-color-adjust:exact;-webkit-print-color-adjust:exact}.print-sheet:last-child{page-break-after:auto;break-after:auto}.print-sheet .album-page{width:100%;height:100%}.image-edit-hint{display:none!important}}

@media(max-width:650px){.desktop-detail{display:none}}
.reader-layout>div{min-width:0;width:100%}

/* The preview keeps the physical proportions of two 21 cm square pages. */
.reader-workspace{max-width:1440px}
.reader-layout{grid-template-columns:minmax(0,1fr) 270px;gap:30px}
.reader-main{min-width:0;width:100%}
.reader-stage{padding:20px 24px 19px;background:radial-gradient(ellipse at 50% 25%,#f5f2e8,#e6e7dc 85%);border-color:#dedfd1;overflow:hidden}
.reader-topline{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px}
.reader-topline .reader-status{margin:0;font-size:10px;letter-spacing:1px}
.reader-focus-toggle{display:flex;align-items:center;gap:6px;font-size:10px;color:#63765e;min-height:38px;padding:0 10px;border:1px solid #cbd2bf;border-radius:20px;background:#f7f6ee9c}
.reader-focus-toggle .icon{width:13px;height:13px}
.reader-heading{position:relative;text-align:center;padding-top:14px}
.reader-heading .eyebrow{font-size:8px;color:#98a08d;letter-spacing:2.3px;justify-content:center}
.reader-heading .eyebrow:before{display:none}
.reader-heading h2{font-family:var(--serif);font-weight:400;font-size:23px;letter-spacing:2px;margin-top:10px;color:#63715b}
.book-table{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;padding:38px 7px 28px}
.physical-book{position:relative;width:100%;max-width:850px;aspect-ratio:2/1;perspective:2200px;touch-action:pan-y;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;cursor:grab}
.physical-book.is-turning{cursor:grabbing}
.physical-book img{pointer-events:none;-webkit-user-drag:none}
.book-object{position:absolute;inset:0;transform:translateX(var(--book-shift));transform-style:preserve-3d}
.rest-page{position:absolute;top:0;width:50%;height:100%;transform-style:preserve-3d}
.rest-left{left:0}
.rest-right{right:0}
.paper-face{position:relative;width:100%;height:100%;background:#f8f5e9;box-shadow:0 2px 0 #d3cfba,0 4px 0 #f9f6e8,0 5px 0 #c6c1ac,0 7px 0 #ebe6d6,0 8px 0 #375044,0 16px 22px #293d3424,0 30px 42px #273b2d17}
.paper-face:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:4}
.paper-face.face-left{border-radius:3px 0 0 3px}
.paper-face.face-right{border-radius:0 3px 3px 0}
.paper-face.face-left:after{background:linear-gradient(90deg,#fff3,transparent 4%,transparent 80%,#31413208 91%,#273b2a26 99%,#1a281931);box-shadow:inset -1px 0 #423d301f}
.paper-face.face-right:after{background:linear-gradient(90deg,#22372538,#24352913 3%,transparent 16%,transparent 97%,#fff4);box-shadow:inset 1px 0 #f7f1df80}
.paper-face>.album-page{border-radius:inherit}
.binding{position:absolute;top:0;bottom:0;left:calc(50% - 2px);width:4px;background:linear-gradient(90deg,#34342650,#f3eeda3b,#44493325);z-index:5;pointer-events:none}
.physical-book[data-kind=cover] .binding,.physical-book[data-kind=back] .binding{opacity:0}
.physical-book.is-turning .binding{opacity:.55}
.page-inspect{position:absolute;inset:0;width:100%;height:100%;z-index:6;border-radius:inherit;cursor:zoom-in}
.page-inspect span{position:absolute;bottom:9px;right:10px;font-size:9px;letter-spacing:.08em;color:#fff;background:#203e35b8;padding:5px 8px;border-radius:3px;opacity:0;transition:opacity .2s}
.page-inspect:hover span,.page-inspect:focus-visible span{opacity:1}
.page-inspect:focus-visible{outline-offset:3px}
.is-turning .page-inspect{pointer-events:none}
.turning-leaf{position:absolute;top:0;width:50%;height:100%;z-index:10;transform-style:preserve-3d;will-change:transform;pointer-events:none}
.turn-forward{left:50%;transform-origin:left center}
.turn-backward{left:0;transform-origin:right center}
.leaf-front,.leaf-back{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform-style:preserve-3d}
.leaf-front{transform:translateZ(.35px)}
.leaf-back{transform:rotateY(180deg) translateZ(.35px)}
.turning-leaf .paper-face{box-shadow:0 1px 1px #8d907a,0 5px 24px #23342e30}
.leaf-front:after,.leaf-back:after{content:'';position:absolute;inset:0;z-index:8;pointer-events:none;opacity:var(--curl);background:linear-gradient(90deg,#18231e28,transparent 25%,#fff5 65%,#39473724)}
.turn-backward .leaf-front:after,.turn-forward .leaf-back:after{background:linear-gradient(270deg,#18231e28,transparent 25%,#fff5 65%,#39473724)}
.physical-book.is-turning .rest-page:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,#1e332329,transparent);opacity:var(--turn-shadow);pointer-events:none;z-index:7}
.endpaper{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4%;background:#e1e5d5;color:#697c62;text-align:center}
.endpaper .brand-symbol{width:12%;height:auto;z-index:1}
.endpaper>span{font-size:2cqw;letter-spacing:.35em;z-index:1;margin-top:2%}
.endpaper>p{font-family:var(--serif);font-size:3.4cqw;letter-spacing:.16em;z-index:1}
.endpaper>small{position:absolute;bottom:12%;font-size:1.6cqw;letter-spacing:.3em}
.endpaper-contours{position:absolute;inset:0;opacity:.45;background:repeating-radial-gradient(ellipse at 90% 120%,transparent 0,transparent 15px,#acbda063 16px,transparent 17px,transparent 30px)}
.reader-nav{margin-top:5px;gap:22px}
.reader-nav button{height:42px;width:42px;background:#fcfcf48c;border-color:#cbd2bd;transition:background .2s}
.reader-nav button:hover:not(:disabled){background:#fffdf4}
.reader-nav button:disabled{opacity:.28}
.reader-nav p{font-size:12px;min-width:150px;line-height:1.8;color:#52694c}
.reader-nav small{display:block;font-size:9px;letter-spacing:2px;color:#939e84}
.reader-gesture-hint{text-align:center;position:relative;font-size:10px;color:#89937f;margin-top:14px;letter-spacing:1px}
.landscape-hint{display:none}
.thumbnail-strip{position:relative;overscroll-behavior-x:contain}
.thumb-button[aria-pressed=true] span{color:#365d43}
.thumb-button.active .thumb-sheet{box-shadow:0 0 0 2px #f7f6ed inset}
.modal.page-detail-modal{width:min(620px,calc(100vw - 24px));padding:20px;overflow:auto;max-height:94dvh}
.detail-page{width:100%;aspect-ratio:1;background:#f9f7ef;box-shadow:0 5px 15px #243b2920}
.detail-page>.album-page{width:100%;height:100%}
.detail-tip{text-align:center;margin:13px 0 0}
.page-detail-modal .modal-header{margin-bottom:16px}
.page-detail-modal .image-edit-hint{opacity:1}
body.reader-focus{overflow:hidden}
.reader-focus .site-header,.reader-focus .flow-steps,.reader-focus .thumbnail-strip,.reader-focus .reader-sidebar,.reader-focus .bottom-action{visibility:hidden}
.reader-focus .reader-stage{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;border:0;border-radius:0;padding:18px max(24px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom));height:100dvh}
.reader-focus .reader-topline{flex-shrink:0;width:100%;max-width:1100px;margin:0 auto}
.reader-focus .reader-heading{padding-top:0}
.reader-focus .reader-heading h2{font-size:22px}
.reader-focus .reader-heading .eyebrow{display:none}
.reader-focus .book-table{flex:1;min-height:0;padding:24px 8px 30px}
.reader-focus .physical-book{width:min(100%,calc((100dvh - 220px)*2));max-width:1100px}
.reader-focus .reader-nav{flex-shrink:0}
.reader-focus .reader-gesture-hint{margin-top:8px}
@media(max-width:1100px){.reader-layout{grid-template-columns:minmax(0,1fr) 225px;gap:24px}.reader-stage{padding:16px}.reader-sidebar h1{font-size:24px}}
@media(max-width:850px){.reader-layout{display:block}.reader-sidebar{max-width:650px;margin:auto}.reader-main{width:100%}}
@media(min-width:851px) and (min-height:650px){.reader-heading .eyebrow{display:none}.reader-heading{padding-top:8px}.reader-heading h2{font-size:21px;margin-top:0}.book-table{padding-top:26px;padding-bottom:24px}.physical-book{max-width:min(850px,calc((100dvh - 455px)*2))}.reader-focus .physical-book{max-width:1100px}}
@media(max-width:650px){
 .reader-workspace{padding:17px 12px 116px}.reader-workspace .flow-steps{margin-bottom:18px}
 .reader-stage{padding:12px 10px 16px;border-radius:9px}.reader-topline{padding:0 4px}
 .reader-topline .reader-status{font-size:9px;letter-spacing:.8px}.reader-focus-toggle{min-height:36px;font-size:9px;padding:0 10px}
 .reader-heading{padding-top:17px}.reader-heading .eyebrow{font-size:6px;letter-spacing:1.9px}.reader-heading h2{font-size:19px;letter-spacing:1.5px;margin-top:8px}
 .book-table{padding:33px 0 26px}.physical-book{perspective:1300px}
 .reader-nav{gap:18px;margin-top:9px}.reader-nav button{height:42px;width:42px}.reader-nav p{font-size:10px;min-width:130px}.reader-nav small{font-size:8px}
 .reader-gesture-hint{font-size:9px;margin-top:12px;letter-spacing:.6px}.page-inspect span{display:none}
 .reader-sidebar{padding:22px 8px 0}.reader-sidebar h1{font-size:21px}.thumbnail-strip{padding:16px 3px 10px;gap:9px}.thumb-button{flex-basis:43px}.thumb-button .thumb-sheet{width:43px;height:43px}
 .modal.page-detail-modal{padding:12px;width:calc(100vw - 16px);border-radius:10px}.page-detail-modal .modal-header{padding:3px 2px 0;margin-bottom:13px}.page-detail-modal .modal-header h2{font-size:18px}.page-detail-modal .close-modal{width:36px;height:36px}.detail-tip{font-size:10px!important;margin-bottom:3px}
 .reader-focus .reader-stage{padding:16px max(12px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom))}.reader-focus .reader-heading{padding-top:24px}.reader-focus .reader-heading h2{font-size:22px}.reader-focus .book-table{padding-left:0;padding-right:0}.reader-focus .physical-book{width:100%}.reader-focus .reader-nav{margin-top:0}.reader-focus .reader-gesture-hint{margin-top:18px}.reader-focus .landscape-hint{display:block;font-size:9px;margin-top:10px;color:#a0a890}
}
@media(orientation:landscape) and (max-height:550px){
 .reader-focus .reader-stage{padding:6px max(18px,env(safe-area-inset-right)) 7px}.reader-focus .reader-heading{display:none}.reader-focus .reader-topline{height:34px}.reader-focus .reader-focus-toggle{min-height:30px}.reader-focus .book-table{padding:12px 0 18px}.reader-focus .physical-book{width:min(100%,calc((100dvh - 122px)*2))}.reader-focus .reader-nav{margin:0;gap:18px}.reader-focus .reader-nav button{width:34px;height:34px}.reader-focus .reader-nav p{font-size:10px;line-height:1.4}.reader-focus .reader-nav small{font-size:8px}.reader-focus .reader-gesture-hint{font-size:8px;margin-top:4px}.reader-focus .landscape-hint{display:none}
 .page-detail-modal .detail-page{max-width:calc(100dvh - 115px);margin:auto}
}

/* Landscape uses the same layout with native rotation and portrait-lock fallback. */
.reader-focus .reader-stage{--reader-width:100dvw;--reader-height:100dvh}
.reader-focus .physical-book{touch-action:none}
.reader-landscape .reader-stage{display:grid;grid-template-rows:34px minmax(0,1fr) 23px;gap:3px;padding:8px max(18px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}
.reader-landscape .reader-topline{grid-row:1;height:34px;max-width:none}
.reader-landscape .reader-focus-toggle{min-height:32px}
.reader-landscape .reader-heading,.reader-landscape .reader-gesture-hint{display:none}
.reader-landscape .book-table{grid-row:2;min-height:0;padding:6px 43px 18px}
.reader-landscape .physical-book{width:min(100%,calc((var(--reader-height) - 108px)*2));max-width:1400px}
.reader-landscape .reader-nav{display:contents}
.reader-landscape .reader-nav button{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;z-index:20}
.reader-landscape [data-action=previous]{left:max(10px,env(safe-area-inset-left))}
.reader-landscape [data-action=next]{right:max(10px,env(safe-area-inset-right))}
.reader-landscape #spread-status{grid-row:3;margin:0;align-self:center;font-size:10px;line-height:20px}
.reader-landscape #spread-status small{display:inline-block;margin-left:12px;padding-left:12px;border-left:1px solid #bdc7b0;font-size:8px;letter-spacing:1px;line-height:12px}
.reader-focus.reader-rotated .reader-stage{--reader-width:100dvh;--reader-height:100dvw;inset:auto;left:50%;top:50%;width:var(--reader-width);height:var(--reader-height);transform:translate(-50%,-50%) rotate(90deg);padding: max(8px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left)) max(18px,env(safe-area-inset-top))}
.reader-rotated [data-action=previous]{left:max(10px,env(safe-area-inset-top))}
.reader-rotated [data-action=next]{right:max(10px,env(safe-area-inset-bottom))}
.reader-rotated .modal[open]{position:fixed;inset:auto;left:50%;top:50%;margin:0;transform:translate(-50%,-50%) rotate(90deg);width:min(480px,calc(100dvh - 24px));max-width:none;max-height:calc(100dvw - 20px)}
.reader-rotated .modal.page-detail-modal{width:min(620px,calc(100dvh - 24px));padding:12px}
.reader-rotated .page-detail-modal .detail-page{max-width:calc(100dvw - 115px);margin:auto}
.rotation-guide{display:none}
.reader-rotated .rotation-guide{display:flex;position:fixed;top:max(22px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);align-items:center;gap:9px;width:max-content;max-width:calc(100vw - 32px);padding:11px 16px;background:#234538ed;color:#f5f4e6;box-shadow:0 5px 20px #20372b22;border-radius:24px;font-size:12px;z-index:120;pointer-events:none;animation:rotate-guide 4.5s ease both}
.rotate-phone{font-size:23px;line-height:1}
@keyframes rotate-guide{0%,72%{opacity:1}100%{opacity:0;visibility:hidden}}
@media(prefers-reduced-motion:reduce){.reader-rotated .rotation-guide{display:none}}

/* Continuous paper curl: each strip carries the same full-resolution page. */
.curl-sheet{position:absolute;inset:0;z-index:12;transform-style:preserve-3d;transform-origin:50% 50%;pointer-events:none}
.curl-strip{position:absolute;left:0;top:0;height:100%;transform-origin:0 50%;transform-style:preserve-3d;will-change:transform}
.curl-face{position:absolute;inset:0;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:#f6f3e7}
.curl-front{transform:translateZ(calc(var(--paper-thickness)/2))}
.curl-back{transform:rotateY(180deg) translateZ(calc(var(--paper-thickness)/2))}
.curl-art{position:absolute;left:0;top:0;height:100%;pointer-events:none}
.curl-art .paper-face{height:100%;box-shadow:none;border-radius:0}
.curl-art .paper-face:after{display:none}
.curl-light{position:absolute;inset:0;z-index:8;pointer-events:none}
.curl-shadow{position:absolute;top:0;height:100%;z-index:8;background:linear-gradient(90deg,transparent,#1f281ddd 42%,#1f281d88 65%,transparent);transform-origin:50% 50%;pointer-events:none;will-change:transform,opacity}
.physical-book.is-turning .rest-page:after{display:none}
.rest-page>.paper-face{box-shadow:0 1px 0 #d7d0bb,0 3px 0 #f8f4e5,0 4px 0 #c6bfaa,0 6px 0 #f1eddf,0 7px 0 #304d3e,0 15px 22px #293d3428,0 29px 44px #273b2d1c}
.rest-page>.paper-face:before{content:'';position:absolute;top:calc(100% - 1px);left:0;right:0;height:var(--right-stack);background:repeating-linear-gradient(#ece7d7 0px,#ece7d7 1px,#bfbba9 1px,#dfdacc 2px);border-bottom:2px solid #355240;border-radius:0 0 2px 2px;transform-origin:top;pointer-events:none}
.rest-left>.paper-face:before{height:var(--left-stack)}
.binding{width:8px;left:calc(50% - 4px);background:linear-gradient(90deg,#34422e08,#24332640 38%,#f7f1dc47 51%,#263a2b2b 68%,transparent)}
.turning-leaf .paper-face{box-shadow:0 0 0 1px #d8d1be,0 3px 0 #244737,0 7px 19px #20342930}
@media(prefers-reduced-motion:reduce){.curl-strip{will-change:auto}}
.curl-face{background:transparent}
.curl-art{transform-origin:0 0}
.curl-art .paper-face:after{display:block;background:rgba(22,33,24,var(--surface-shade,0));box-shadow:none}
.curl-back .curl-art .paper-face:after{background:linear-gradient(90deg,rgba(255,252,233,var(--surface-light,0)),rgba(24,33,22,var(--surface-shade,0)))}
.curl-light{display:none}

/* The sewn edge is fixed in world space; heavier stock bends as one broad arc. */
.physical-book{perspective:6000px}
.curl-sheet{transform:none;transform-origin:50% 50%}
.paper-rim{position:absolute;display:block;background:#e8dfca;pointer-events:none;backface-visibility:visible;transform-origin:0 0}
.rim-top,.rim-bottom{left:0;width:100%;height:var(--paper-thickness);transform:translateZ(calc(var(--paper-thickness)/-2)) rotateX(90deg);background:linear-gradient(#faf4e5,#c8bfa9)}
.rim-top{top:0}.rim-bottom{top:100%}
.rim-outer{top:0;height:100%;width:var(--paper-thickness);background:linear-gradient(90deg,#fbf5e7,#c6bda7)}
.rim-right{left:100%;transform:translateZ(calc(var(--paper-thickness)/2)) rotateY(90deg)}
.rim-left{left:0;transform:translateZ(calc(var(--paper-thickness)/2)) rotateY(90deg)}
