:root{--cream:#f4efe7;--paper:#fcf8f0;--ink:#211c1a;--muted:#6f655f;--wine:#5d1f2c;--line:#d8cec2;font-family:-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;color:var(--ink);background:var(--cream);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}button,textarea{font:inherit}button{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:focus-visible,textarea:focus-visible{outline:2px solid #b17c45;outline-offset:3px}h1,h2,p{word-break:keep-all;overflow-wrap:break-word}h1:focus{outline:none}[hidden]{display:none!important}.site-header,.site-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1440px;margin:auto;padding:0 clamp(20px,5vw,72px)}.site-header{height:64px;border-bottom:1px solid var(--line)}.home{padding:9px 0;background:none;border:0;color:var(--ink);font-size:17px;font-weight:700;letter-spacing:-.06em}.site-date,.site-footer{font-size:12px;color:var(--muted);letter-spacing:.04em}.site-footer{min-height:58px;border-top:1px solid var(--line)}.music{background:none;border:1px solid var(--line);border-radius:20px;padding:9px 13px;min-height:40px;font-size:13px}.music[hidden]{display:none}body[data-scene="intro"]{background:#2d151e}body[data-scene="intro"] .site-header,body[data-scene="intro"] .site-footer{display:none}
.intro{min-height:100svh;position:relative;isolation:isolate;overflow:hidden;color:#fff9eb;background:radial-gradient(ellipse at 75% 28%,#713543 0,#4f202d 38%,#2d151e 82%)}.intro-light{position:absolute;inset:-70% -30%;z-index:0;pointer-events:none;background:linear-gradient(110deg,transparent 45%,#fff1cd12 50%,transparent 55%);transform:translateX(-35%);animation:light-sweep 4.5s ease-out 1 both}@keyframes light-sweep{to{transform:translateX(45%)}}.intro-grain{position:absolute;inset:0;z-index:3;pointer-events:none;opacity:.16;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='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.42'/%3E%3C/svg%3E")}.intro-frame{position:relative;z-index:2;display:grid;grid-template-rows:auto 1fr auto;max-width:1440px;min-height:100svh;margin:auto;padding:clamp(22px,4vw,56px) clamp(22px,5vw,74px) clamp(24px,4vw,56px)}.intro-frame:before{content:"";position:absolute;inset:clamp(14px,2vw,28px);border:1px solid #f9e5c03f;pointer-events:none}.intro-top,.intro-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;position:relative;z-index:2}.intro-top{font-size:12px;letter-spacing:.09em;color:#f0d7b4}.intro-top span:last-child{font-size:13px;font-weight:600;letter-spacing:0}.intro-message{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:0;padding-left:clamp(0px,3vw,44px)}.intro-number{position:absolute;top:50%;right:2%;transform:translateY(-52%) rotate(-8deg);font-family:Georgia,serif;font-size:clamp(230px,40vw,650px);line-height:1;color:transparent;-webkit-text-stroke:1px #f8d7a963;opacity:.75;pointer-events:none;animation:number-enter 1.3s .2s both}@keyframes number-enter{from{opacity:0;transform:translate(8%, -48%) rotate(-12deg)}to{opacity:.75;transform:translate(0,-52%) rotate(-8deg)}}.intro-for{position:relative;z-index:2;width:max-content;margin:0 0 24px;padding:8px 0;border-bottom:1px solid #e9cfaa8c;color:#f3dcbf;font-size:clamp(15px,1.6vw,20px);font-weight:600;letter-spacing:-.04em;animation:rise .8s .15s both}.intro h1{position:relative;z-index:2;margin:0;font-size:clamp(72px,9.3vw,142px);font-weight:760;line-height:1.08;letter-spacing:-.09em;text-shadow:0 10px 35px #210d164d;animation:rise 1s .3s both}.intro h1 em{font-style:normal;color:#f4d19a}.intro-message p{position:relative;z-index:2;margin:24px 0 0;font:italic clamp(25px,3vw,40px) Georgia,serif;color:#f6e4c8;animation:rise .9s .65s both}@keyframes rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.intro-bottom button{display:flex;align-items:center;justify-content:space-between;gap:70px;min-width:222px;min-height:55px;border:1px solid #f4ddbb;background:#f4ddbb;color:#321923;padding:0 19px;font-size:15px;font-weight:700;transition:transform .2s,background .2s}.intro-bottom button:hover{transform:translateY(-3px);background:#fff4e0}.intro-bottom button span{font-size:21px;font-weight:400}.intro-bottom>span{font-size:12px;color:#f0d7b4;letter-spacing:.04em}.confetti{position:absolute;z-index:4;inset:0;overflow:hidden;pointer-events:none}.confetti i{position:absolute;top:-30px;left:var(--x);width:9px;height:15px;border-radius:1px;opacity:0;animation:fall var(--duration) var(--delay) cubic-bezier(.28,.49,.66,.9) forwards}@keyframes fall{0%{opacity:0;transform:translate3d(0,-30px,0) rotate(0)}7%{opacity:1}88%{opacity:1}100%{opacity:0;transform:translate3d(var(--dx),105svh,0) rotate(var(--rot))}}
.cake-page{max-width:1440px;margin:auto;padding:clamp(28px,5vw,70px) clamp(20px,5vw,72px) 80px}.cake-lede{display:grid;grid-template-columns:1fr auto;align-items:end;column-gap:30px;margin-bottom:25px}.eyebrow{grid-column:1/-1;color:var(--wine);font-size:13px;font-weight:700;letter-spacing:.03em}.cake-lede h1{margin:13px 0 0;font-size:clamp(45px,5.5vw,78px);line-height:1.17;letter-spacing:-.08em;font-weight:700}.cake-lede p{margin:0 0 8px;color:var(--muted);font-size:16px}.stage-wrap{position:relative;height:clamp(500px,67svh,760px);overflow:hidden;background:#1c1514;isolation:isolate}.venue-blur{position:absolute;inset:-7%;background-image:url('assets/shonen-interior.jpg');background-position:center;background-size:cover;filter:blur(20px) brightness(.66);transform:scale(1.12)}.venue-image{position:absolute;inset:0;background-image:url('assets/shonen-interior.jpg');background-size:contain;background-position:center;background-repeat:no-repeat;filter:saturate(.92) brightness(.96)}.stage-vignette{position:absolute;inset:0;background:linear-gradient(90deg,#130c0d46,transparent 52%),linear-gradient(0deg,#130c0d5c,transparent 28%);z-index:1}.stage-wrap canvas{position:relative;z-index:2;display:block;width:100%;height:100%;touch-action:none;cursor:grab}.stage-wrap canvas:active{cursor:grabbing}.stage-overlay{position:absolute;z-index:3;inset:auto 16px 15px;display:flex;justify-content:space-between;gap:15px;pointer-events:none;color:#fff5e9;font-size:12px;text-shadow:0 2px 8px #000}.stage-overlay span:first-child{background:#24191bcc;padding:8px 11px}.stage-overlay span:last-child{align-self:end}.cake-fallback{width:100%;height:100%;object-fit:contain}.cake-action{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:80px;border-bottom:1px solid var(--line)}.cake-action>span{font-size:15px;color:var(--muted)}.cake-action button{min-height:44px;padding:8px 18px;background:var(--wine);border:0;color:#fff;font-size:14px;font-weight:700}
.viewer-open{overflow:hidden}.photo-viewer{position:fixed;inset:0;z-index:30;overflow-y:auto;background:#201718e8;display:grid;place-items:center;padding:clamp(12px,3vw,36px)}.viewer-card{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);grid-template-rows:auto minmax(0,1fr);gap:0 clamp(22px,4vw,58px);width:min(100%,1180px);max-height:calc(100svh - 2*clamp(12px,3vw,36px));min-height:min(650px,90svh);padding:clamp(18px,3vw,36px);background:var(--paper);box-shadow:0 20px 60px #130c0d78}.viewer-top{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:16px;border-bottom:1px solid var(--line)}.viewer-top span{font-size:14px;font-weight:700;color:var(--wine)}.viewer-top strong{font-family:Georgia,serif;font-size:21px;font-weight:400;margin-left:8px}.viewer-top button{min-height:38px;border:0;background:transparent;color:var(--ink);font-size:14px;font-weight:600}.viewer-photo{display:grid;place-items:center;min-height:0;padding-top:18px;background:#eee5d8}.viewer-photo img{display:block;width:100%;height:100%;max-height:calc(100svh - 190px);object-fit:contain}.viewer-bottom{display:flex;flex-direction:column;min-width:0;padding:20px 0 0}.viewer-caption{flex:1;padding-top:13px;border-top:2px solid var(--ink)}.viewer-caption p{margin:0;white-space:pre-wrap;font-size:18px;line-height:1.7}.viewer-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--line);padding-top:16px}.viewer-nav button{min-height:44px;padding:8px 12px;background:transparent;border:1px solid var(--line);font-size:14px}.viewer-nav button:disabled{opacity:.3;cursor:default}.viewer-nav span{font-size:13px;color:var(--muted);white-space:nowrap}.caption-editor{margin:20px 0 28px;border-top:1px solid var(--line);padding-top:16px}.caption-editor label{display:block;margin-bottom:9px;font-size:14px;font-weight:700}.caption-editor textarea{width:100%;resize:vertical;min-height:90px;padding:11px;border:1px solid #bcb0a4;background:#fffdf9;color:var(--ink);font-size:15px;line-height:1.5}.edit-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}.edit-actions button{min-height:39px;padding:8px 11px;border:1px solid var(--ink);background:transparent;color:var(--ink);font-size:13px}.edit-actions button:first-child{background:var(--ink);color:#fff}.caption-editor small{display:block;margin-top:12px;font-size:12px;line-height:1.6;color:var(--muted)}#toast{position:fixed;z-index:50;bottom:22px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;padding:11px 16px;max-width:90vw;width:max-content;font-size:14px;opacity:0;pointer-events:none;transition:opacity .2s}#toast.show{opacity:1}
@media(max-width:800px){.intro h1{font-size:clamp(61px,10vw,90px)}.intro-number{font-size:clamp(280px,55vw,480px);right:-5%}.cake-lede{display:block}.cake-lede p{margin-top:16px}.viewer-card{grid-template-columns:1fr;max-height:none;min-height:0}.viewer-top{grid-column:1}.viewer-photo{height:min(58svh,550px)}.viewer-photo img{max-height:100%}.viewer-bottom{padding-top:18px}.viewer-caption{min-height:55px}.viewer-nav{margin-top:20px}}
@media(max-width:600px){.intro-frame{padding:26px 24px 30px}.intro-frame:before{inset:13px}.intro-top{font-size:11px}.intro-top span:last-child{font-size:11px;text-align:right}.intro-message{padding-left:0}.intro-number{right:-16%;top:44%;font-size:clamp(260px,75vw,420px);opacity:.45}.intro-for{margin-bottom:17px;font-size:15px}.intro h1{font-size:clamp(58px,13.4vw,76px);line-height:1.16}.intro-message p{font-size:27px;margin-top:18px}.intro-bottom button{min-width:205px;gap:30px;min-height:52px;font-size:14px}.intro-bottom>span{display:none}.site-header{height:58px}.site-footer{min-height:50px}.cake-page{padding:30px 0 55px}.cake-lede{padding:0 20px;margin-bottom:20px}.cake-lede h1{font-size:clamp(41px,10.6vw,58px)}.cake-lede p{font-size:14px}.stage-wrap{height:min(68svh,600px);min-height:470px}.stage-overlay{inset:auto 10px 9px;font-size:11px}.stage-overlay span:last-child{display:none}.cake-action{margin:0 20px;min-height:82px}.cake-action>span{font-size:13px}.cake-action button{font-size:12px;padding:8px 12px;white-space:nowrap}.photo-viewer{padding:0;place-items:stretch;background:var(--paper)}.viewer-card{width:100%;min-height:100svh;max-height:none;box-shadow:none;padding:16px 18px 30px}.viewer-top{padding-bottom:10px}.viewer-photo{height:min(57svh,520px);padding-top:11px}.viewer-bottom{padding-top:16px}.viewer-caption p{font-size:16px}.caption-editor{margin:12px 0 18px}}
@media(max-width:370px){.intro h1{font-size:52px}.intro-number{right:-27%}.stage-wrap{min-height:430px}.viewer-nav button{font-size:12px;padding:7px 9px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important}}
/* Keep each photograph inside the viewer rather than letting its intrinsic size stretch the grid. */
.viewer-photo{position:relative;overflow:hidden;min-height:0}
.viewer-photo img{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:contain}
@media(min-width:801px){.viewer-card{height:min(720px,calc(100svh - 72px));min-height:0}.viewer-photo{height:100%}}
@media(max-width:800px){.viewer-card{display:flex;flex-direction:column}.viewer-photo{flex:0 0 auto;height:min(54svh,500px)}.viewer-bottom{flex:1}}
.intro h1 .white-heart{color:#fff;font-style:normal;font-size:.8em;letter-spacing:0;text-shadow:0 3px 15px #fff5}
.stage-wrap canvas.card-ready{cursor:pointer}
.viewer-card.letter-mode{display:block;width:min(100%,790px);max-height:calc(100svh - 48px);min-height:0;overflow-y:auto;padding:24px 28px;background:#f3eee6}
.viewer-card.letter-mode .viewer-top{position:static;background:#f3eee6}
.letter-page{margin-top:18px;padding:clamp(28px,5vw,56px);background:#fffcf6;border:1px solid #e2d6c9;border-top:3px solid var(--wine);box-shadow:0 8px 28px #46302912}
.letter-copy p{margin:0 0 1.55em;color:#302724;font-size:clamp(16px,1.7vw,18px);line-height:1.9;letter-spacing:-.025em;word-break:keep-all}
.letter-copy p:first-child{margin-bottom:1.5em;color:var(--wine);font-size:clamp(24px,3vw,30px);font-weight:700;letter-spacing:-.055em;line-height:1.3}
.letter-copy p:last-child{margin-bottom:0;color:var(--wine);font-weight:650}
.letter-signature{margin:42px 0 0;text-align:right;color:#44342f;font-size:17px;font-weight:600;letter-spacing:-.03em}
.letter-nav{display:flex;justify-content:flex-end;align-items:center;gap:16px;padding:20px 0 2px;color:var(--muted);font-size:13px}
.letter-nav button{min-height:46px;padding:9px 18px;border:0;background:var(--wine);color:#fff;font-size:14px;font-weight:700}
.letter-nav button span{margin-left:14px;font-size:19px;font-weight:400}
@media(max-width:600px){.viewer-card.letter-mode{width:100%;max-height:none;min-height:100svh;overflow:visible;padding:16px 16px 24px}.viewer-card.letter-mode .viewer-top{top:0;padding:8px 0 12px}.letter-page{margin-top:14px;padding:28px 22px}.letter-copy p{font-size:15.5px;line-height:1.85}.letter-copy p:first-child{font-size:23px}.letter-signature{margin-top:36px}.letter-nav{padding:18px 4px 2px}}
.cake-lede{grid-template-columns:minmax(0,1fr) auto}
.cake-lede .delivery-title{margin:18px 0 0;color:var(--wine);font-size:clamp(19px,2.2vw,28px);font-weight:700;letter-spacing:-.05em}
.cake-lede h1{font-size:clamp(37px,4.7vw,66px)}
.cake-action{justify-content:flex-end}
.cake-action>span{margin-right:auto}
.cake-action button:disabled{opacity:.55;cursor:default}
.photo-viewer.ending-open{padding:0;background:#2d1720}
.viewer-card.end-mode{position:relative;display:flex;flex-direction:column;width:100%;height:100svh;min-height:100svh;max-height:none;padding:0;overflow:hidden;background:#321c25;box-shadow:none}
.viewer-card.end-mode .viewer-top{position:absolute;z-index:4;top:0;left:0;right:0;display:flex;padding:24px clamp(22px,5vw,72px);border:0;color:#fff2dd}
.viewer-card.end-mode .viewer-top span{color:#f1d4a2}
.viewer-card.end-mode .viewer-top button{color:#fff2dd}
.ending-page{position:relative;isolation:isolate;display:grid;place-items:center;flex:1;min-height:100svh;overflow:hidden;color:#fff9ee;background:radial-gradient(ellipse at 51% 48%,#814b55 0,#522936 43%,#25121a 100%)}
.ending-page:before,.ending-page:after{content:"";position:absolute;inset:50% auto auto 50%;width:min(87vw,780px);aspect-ratio:1;border:1px solid #f2d59b33;border-radius:50%;transform:translate(-50%,-50%);animation:end-ring 2.4s ease-out both}
.ending-page:after{width:min(112vw,1030px);animation-delay:.2s}
@keyframes end-ring{from{opacity:0;transform:translate(-50%,-50%) scale(.65)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.ending-light{position:absolute;inset:-25%;background:conic-gradient(from 0deg at 50% 50%,transparent 0deg,#ffe2a110 15deg,transparent 27deg,transparent 58deg,#ffe2a112 76deg,transparent 91deg,transparent 136deg,#ffe2a10d 150deg,transparent 163deg,transparent 230deg,#ffe2a112 248deg,transparent 263deg,transparent 320deg,#ffe2a110 340deg,transparent 360deg);animation:ending-turn 32s linear infinite;filter:blur(3px)}
@keyframes ending-turn{to{transform:rotate(360deg)}}
.ending-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:22px;width:min(100%,1200px);padding:100px 24px 65px;text-align:center;animation:ending-arrive 1.1s cubic-bezier(.2,.8,.2,1) both}
@keyframes ending-arrive{from{opacity:0;transform:translateY(32px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}
.ending-date{font-family:Georgia,serif;color:#f1d19a;font-size:15px;letter-spacing:.2em}
.ending-content h2{margin:0;color:#fff9ec;font-size:clamp(49px,8.3vw,112px);font-weight:760;line-height:1.16;letter-spacing:-.09em;text-shadow:0 8px 45px #210b1870}
.ending-rule{width:72px;height:1px;margin:8px 0;background:#edca92}
.ending-content button{min-height:45px;padding:9px 19px;border:1px solid #f5dfbf;background:#f5dfbf;color:#341a23;font-size:14px;font-weight:700}
.ending-content button:last-child{background:transparent;color:#f5dfbf}
.ending-confetti{position:absolute;z-index:3;inset:0;overflow:hidden;pointer-events:none}
.ending-confetti i{position:absolute;top:-30px;left:var(--x);width:9px;height:15px;border-radius:1px;opacity:0;animation:fall var(--duration) var(--delay) cubic-bezier(.28,.49,.66,.9) forwards}
@media(max-width:800px){.cake-lede{display:block}.cake-lede .delivery-title{margin-top:13px}.cake-lede h1{font-size:clamp(36px,6.8vw,56px)}.cake-lede>p:last-child{margin-top:13px}}
@media(max-width:600px){.cake-lede .delivery-title{font-size:20px}.cake-lede h1{font-size:clamp(31px,8.2vw,43px);line-height:1.3}.stage-wrap{height:clamp(380px,50svh,520px);min-height:0}.cake-action>span{font-size:12px}.ending-content{gap:19px;padding:85px 22px 45px}.ending-content h2{font-size:clamp(48px,11.5vw,70px);line-height:1.22}.viewer-card.end-mode .viewer-top{padding:16px 20px}.ending-content button{font-size:13px}}
@media(max-width:600px){.stage-overlay span:last-child{display:inline-block}}

/* Warm yellow paper and ink, shared by every chapter. */
:root{--cream:#f4e9b6;--paper:#fff9de;--ink:#2d261b;--muted:#71664a;--wine:#755716;--line:#cdbd7f}
body,body[data-scene="intro"]{background:var(--cream)}
button:focus-visible,textarea:focus-visible{outline-color:#76581a}
.site-header,.site-footer{background:var(--cream)}
.music{background:#fff8dc;color:var(--ink)}
.intro{color:var(--ink);background:#e5c758}
.intro-light{background:linear-gradient(110deg,transparent 44%,#fff7cf4a 50%,transparent 56%)}
.intro-grain{opacity:.1}
.intro-frame:before{border-color:#6f581e78}
.intro-top{color:#54451e}
.intro h1{color:#2d261b;text-shadow:none}
.intro h1 em{color:#614a15}
.intro h1 .white-heart{color:#fffaf0;text-shadow:0 2px 1px #6550154d}
.intro-message p{color:#5a461d}
.intro-bottom button{border-color:#2d261b;background:#2d261b;color:#fff9dd}
.intro-bottom button:hover{background:#4d3d22;color:#fff9dd}
.cake-page{background:var(--cream)}
.cake-lede .delivery-title,.eyebrow{color:#76591b}
.stage-wrap{background:#2a2116}
.stage-vignette{background:linear-gradient(90deg,#2a19082e,transparent 52%),linear-gradient(0deg,#26190366,transparent 28%)}
.stage-overlay span:first-child{background:#332810c9}
.photo-viewer{background:#77693bd9}
.viewer-card{background:var(--paper);box-shadow:0 20px 60px #4238175c}
.viewer-photo{background:#ece0a8}
.viewer-caption{border-top-color:#8e702c}
.viewer-nav button{color:var(--ink);border-color:#bca867}
.caption-editor textarea{border-color:#bca867;background:#fffcef}
.edit-actions button:first-child{background:#624b1c;color:#fff9de}
.viewer-card.letter-mode,.viewer-card.letter-mode .viewer-top{background:#f1e3a1}
.letter-page{background:#fffbed;border-color:#dac887;border-top-color:#826426;box-shadow:0 8px 28px #44331316}
.letter-copy p{color:#332b1d}
.letter-signature{color:#514021}
.letter-nav button{background:#624b1c;color:#fff9de}
.photo-viewer.ending-open{background:#e4c358}
.viewer-card.end-mode{background:#e4c358}
.viewer-card.end-mode .viewer-top{justify-content:flex-end;padding:24px clamp(22px,5vw,72px)}
.viewer-card.end-mode .viewer-top button{color:#302719}
.ending-page{display:flex;align-items:center;min-height:100svh;background:#e4c358;color:#302719}
.ending-page:before,.ending-page:after{display:none}
.ending-content{display:flex;flex-direction:column;align-items:flex-start;gap:0;width:min(100%,1240px);margin:auto;padding:clamp(96px,13vh,150px) clamp(28px,8vw,112px) 70px;text-align:left;animation:ending-arrive .7s cubic-bezier(.2,.8,.2,1) both}
.ending-content h2{margin:0;color:#302719;font-size:initial;font-weight:inherit;line-height:1;text-shadow:none;letter-spacing:0}
.ending-content h2 span{display:block;margin-bottom:14px;font-size:clamp(21px,3vw,34px);font-weight:520;line-height:1.4;letter-spacing:-.045em}
.ending-content h2 strong{display:block;max-width:1050px;font-size:clamp(64px,8.5vw,124px);font-weight:760;line-height:1.12;letter-spacing:-.085em;word-break:keep-all;overflow-wrap:break-word}
.ending-rule{width:min(100%,530px);height:1px;margin:clamp(40px,8vh,90px) 0 22px;background:#6c5626}
.ending-actions{display:flex;flex-wrap:wrap;gap:12px 24px}
.ending-content button,.ending-content button:last-child{min-height:44px;padding:8px 0;border:0;border-bottom:1px solid #403118;background:transparent;color:#342918;font-size:14px;font-weight:600;text-align:left}
.ending-content button:hover{color:#755716;border-bottom-color:#755716}
@media(max-width:600px){
  .intro h1{font-size:clamp(58px,13.4vw,76px)}
  .photo-viewer{background:#f1e3a1}
  .viewer-card.end-mode .viewer-top{padding:16px 20px}
  .ending-content{padding:110px 25px 60px}
  .ending-content h2 span{margin-bottom:14px;font-size:21px}
  .ending-content h2 strong{font-size:clamp(52px,12.7vw,72px);line-height:1.2}
  .ending-rule{margin:60px 0 16px}
  .ending-actions{gap:8px 20px}
  .ending-content button{font-size:13px}
}
