@charset "UTF-8";
:root{--bg:#141d29;--ink:#ece4d6;--gold:#d5b979;--muted:#b1adab;--line:#bda46b52;--accent:#e2c98c;--button-ink:#1b2029;--serif:Georgia,"Times New Roman",serif;--sans:"Segoe UI",Arial,sans-serif;color-scheme:dark}
*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth;scroll-padding-top:35px;overflow-x:hidden}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 var(--sans);transition:background-color 1.6s,color 1.6s;overflow-x:clip}body[data-step="1"]{--bg:#33212f;--ink:#f5e3e7;--gold:#e5b6bd;--muted:#cbb4bf;--line:#cf9daa5c;--accent:#edc0cc;--button-ink:#432335}body[data-step="2"]{--bg:#f7dfe8;--ink:#62324b;--gold:#934b68;--muted:#855469;--line:#ae708b59;--accent:#8b405e;--button-ink:#fff3f7;color-scheme:light}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{font:inherit;cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:7px}h2:focus{outline:none}::selection{color:var(--bg);background:var(--gold)}.sky{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:-1}.stars{position:absolute;inset:0;opacity:.8;transition:opacity 1.5s}.star{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);border-radius:50%;background:var(--gold);opacity:var(--opacity);box-shadow:0 0 7px #c1ac7733;transition:background-color 1.5s}.star.cross{width:auto;height:auto;background:none;font:var(--size)/1 var(--serif);box-shadow:none}.glow{position:absolute;width:800px;height:800px;border-radius:50%;filter:blur(70px);opacity:.16;transition:background 1.6s,opacity 1.6s;pointer-events:none}.glow-one{top:-350px;left:calc(50% - 400px);background:#7a839a}.glow-two{bottom:-550px;right:-400px;background:#778e9d;opacity:.1}body[data-step="1"] .glow-one{background:#c56b9c;opacity:.17}body[data-step="2"] .glow-one{background:#fff5fa;opacity:.8}body[data-step="2"] .glow-two{background:#df9bb8;opacity:.35}body[data-step="2"] .stars{opacity:.45}.page-frame{position:fixed;inset:19px;border:1px solid var(--line);pointer-events:none;z-index:10;transition:border-color 1.6s}.page-frame::before{content:"";position:absolute;inset:5px;border:1px solid var(--line);opacity:.45}.corner{position:absolute;width:38px;height:38px;background:var(--bg);transition:background-color 1.6s}.corner::after{content:"✦";position:absolute;inset:0;display:grid;place-items:center;color:var(--gold);font:23px/1 var(--serif)}.top-left{top:-9px;left:-9px}.top-right{top:-9px;right:-9px}.bottom-left{bottom:-9px;left:-9px}.bottom-right{bottom:-9px;right:-9px}.masthead{width:min(1100px,calc(100% - 116px));margin:auto;height:107px;display:flex;justify-content:space-between;align-items:center;gap:18px}.brand{text-decoration:none;font:12px/1.5 var(--sans);letter-spacing:.28em;color:var(--gold)}.brand>span{font-size:22px;vertical-align:middle;margin-right:11px}.dedication{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.poem-section{position:relative;max-width:760px;padding:12px 35px 62px;margin:0 auto;text-align:center}.celestial{width:250px;height:138px;margin:auto}.moon-art{width:100%;height:100%;overflow:visible;color:var(--gold)}.moon-art ellipse{fill:none;stroke:currentColor;stroke-width:.6;opacity:.38}.moon-art path,.moon-art circle{fill:currentColor}.moon-art .moon-disc{filter:drop-shadow(0 0 16px #d4bc7b27)}.eyebrow{font:10px/1.8 var(--sans);letter-spacing:.23em;text-transform:uppercase;color:var(--gold);margin:19px 0 12px}h1{font:italic 76px/1.1 var(--serif);font-weight:normal;color:var(--gold);margin:10px 0 15px;letter-spacing:-.035em}.title-rule{display:flex;align-items:center;justify-content:center;gap:15px;font:12px/1 var(--serif);color:var(--gold);margin:23px 0 36px}.title-rule span{width:58px;height:1px;background:var(--line)}.poem{font:21px/1.85 var(--serif);color:var(--ink);letter-spacing:.003em}.poem p{margin:0 0 28px}.poem p:last-child{margin-bottom:0}.poem span{display:block}.poem-signature{font:italic 22px/1.4 var(--serif);color:var(--gold);margin:30px 0 36px}.continue-link{display:inline-flex;flex-direction:column;align-items:center;gap:12px;font:9px/1.8 var(--sans);text-decoration:none;text-transform:uppercase;letter-spacing:.19em;color:var(--muted);padding:10px 16px}.continue-link:hover{color:var(--gold)}.down-arrow{font:27px/1 var(--serif);color:var(--gold)}.story-section{width:min(960px,calc(100% - 110px));text-align:center;margin:0 auto;scroll-margin-top:45px}.question-section{border-top:1px solid var(--line);padding:62px 50px 87px;min-height:640px}.chapter-mark{display:flex;align-items:center;justify-content:center;gap:16px;font:italic 13px/1 var(--serif);color:var(--gold);margin:0 0 28px}.chapter-mark span{width:38px;height:1px;background:var(--line)}.question-section>.eyebrow{font-size:9px;margin:0}.grandball-word{font:italic 92px/1.3 var(--serif);letter-spacing:-.04em;color:var(--gold);margin:25px 0 17px}h2{font:normal 42px/1.3 var(--serif);letter-spacing:-.025em;font-weight:normal;margin:0 auto;max-width:650px;text-wrap:balance}#question-title{font-size:34px;max-width:580px}.answer-row{display:flex;align-items:center;justify-content:center;gap:18px;margin:34px auto 0;min-height:62px}.button{border:1px solid transparent;border-radius:3px;min-width:146px;min-height:54px;display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:15px 29px;font:14px/1.5 var(--sans);transition:background .35s,color .35s,border-color .35s,transform .25s,opacity .25s}.button-yes{background:var(--accent);color:var(--button-ink);box-shadow:0 5px 35px #dbbf7b12}.button-yes:hover{transform:translateY(-3px);box-shadow:0 7px 35px #dbbf7b23}.button-yes:active{transform:translateY(0)}.button>span{font:21px/1 var(--serif)}.button-no{background:transparent;color:var(--ink);border-color:var(--line);transform:scale(var(--no-scale,1));transform-origin:center;transition:transform .28s,opacity .25s,border-color .2s;min-width:126px}.button-no:hover{border-color:var(--gold)}.no-slot{width:134px;min-height:62px;display:flex;align-items:center;justify-content:center;transition:width .35s,opacity .35s}.no-slot.is-gone{width:0;overflow:visible;opacity:0}.answer-row.only-yes{gap:0}.playful-note{font:italic 13px/1.6 var(--serif);color:var(--muted);margin:20px auto 0;min-height:25px}.stage-done{font:italic 16px/1.6 var(--serif);color:var(--gold);margin:30px 0 0}.confirmation-section{padding:70px 45px 100px;border-top:1px solid var(--line);min-height:660px}.heart-orbit{position:relative;width:164px;height:144px;margin:12px auto 30px;display:grid;place-items:center}.heart-orbit::before,.heart-orbit::after{content:"";position:absolute;inset:27px -7px;border:1px solid var(--line);border-radius:50%;transform:rotate(-30deg)}.heart-orbit::after{inset:11px 14px;transform:rotate(28deg)}.heart-orbit>span{font:105px/1 var(--serif);color:var(--gold)}.heart-orbit i{position:absolute;top:13px;right:0;font:27px/1 var(--serif);color:var(--gold)}.heart-orbit i:last-child{top:auto;right:auto;bottom:10px;left:3px;font-size:18px}.confirmation-section h2{max-width:560px}.section-caption{font:italic 18px/1.7 var(--serif);color:var(--muted);margin:18px 0 28px}.confirmation-button{min-width:190px}.final-section{padding:75px 0 65px;border-top:1px solid var(--line);width:min(1100px,calc(100% - 116px));min-height:800px}.final-section h2{font-size:53px;max-width:700px}.final-description{font:18px/1.8 var(--serif);color:var(--muted);max-width:470px;margin:22px auto 48px}.cat-gallery{display:grid;grid-template-columns:1fr 1.12fr 1fr;align-items:center;gap:24px;width:100%;max-width:900px;margin:0 auto;padding:30px 25px 38px}.cat-card{position:relative;background:#fffafa;box-shadow:0 15px 35px #63334b1c;border:1px solid #fff8fb;padding:11px 11px 0;margin:0;transform:rotate(var(--tilt));opacity:0;--tilt:-7deg}.cat-two{--tilt:3deg;z-index:2;translate:0 -9px}.cat-three{--tilt:7deg}.cat-card img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;background:white}.cat-card figcaption{font:italic 15px/1.4 var(--serif);padding:18px 5px 19px;color:#7e5266;min-height:58px}.cat-card figcaption>span{margin-left:5px;font-size:21px}.photo-tape{position:absolute;width:71px;height:24px;top:-13px;left:calc(50% - 35px);transform:rotate(-7deg);background:#e9c1cdaf;border-left:2px dotted #f9e2e8;border-right:2px dotted #f9e2e8}.cat-two .photo-tape{transform:rotate(8deg)}.final-section.is-active .cat-card{animation:photo-arrives .85s var(--delay,0s) cubic-bezier(.22,.61,.36,1) both}.cat-two{--delay:.17s}.cat-three{--delay:.34s}.final-invitation{font:italic 28px/1.4 var(--serif);color:var(--gold);margin:22px auto 30px}.final-signature{display:flex;flex-direction:column;gap:3px;font:italic 14px/1.5 var(--serif);color:var(--muted)}.final-signature>span:last-child{font-size:26px;color:var(--ink)}.replay-button{background:none;border:0;color:var(--muted);text-decoration:underline;text-underline-offset:5px;font:11px/1.6 var(--sans);min-height:46px;margin-top:29px;padding:10px 15px}.replay-button:hover{color:var(--ink)}.story-section.reveal-in{animation:section-arrives .75s both}footer{width:min(1100px,calc(100% - 116px));border-top:1px solid var(--line);margin:0 auto;padding:28px 0 46px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--muted);font:9px/1.5 var(--sans);letter-spacing:.05em}footer>span:nth-child(2){font:22px/1 var(--serif);color:var(--gold)}.confetti{position:fixed;inset:0;pointer-events:none;z-index:20;overflow:hidden}.confetti-piece{position:absolute;left:var(--x);top:-45px;color:var(--color);font:var(--size)/1 var(--serif);animation:petal-fall var(--duration) var(--delay) ease-in both}.skip-link{position:fixed;top:-100px;left:30px;background:var(--gold);color:var(--bg);padding:12px 20px;z-index:30}.skip-link:focus{top:30px}.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}.noscript-note{max-width:600px;margin:35px auto;padding:25px;color:var(--gold);text-align:center}.js-disabled .answer-row{display:none}
@keyframes section-arrives{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes photo-arrives{from{opacity:0;transform:translateY(35px) rotate(0) scale(.94)}to{opacity:1;transform:translateY(0) rotate(var(--tilt)) scale(1)}}@keyframes petal-fall{0%{opacity:0;transform:translateY(-20px) rotate(0)}12%{opacity:.8}85%{opacity:.7}100%{opacity:0;transform:translate(var(--drift),105vh) rotate(var(--rotation))}}
@media(min-width:1450px){.poem-section{padding-top:35px}}@media(max-width:900px){.cat-gallery{gap:15px;padding-inline:15px}.cat-card figcaption{font-size:12px;padding-inline:0}.final-section h2{font-size:46px}}
@media(max-width:600px){.page-frame{inset:10px}.page-frame::before{inset:4px}.corner{width:27px;height:27px}.corner::after{font-size:17px}.top-left,.top-right{top:-6px}.top-left,.bottom-left{left:-6px}.top-right,.bottom-right{right:-6px}.bottom-left,.bottom-right{bottom:-6px}.masthead{height:83px;width:calc(100% - 58px);gap:12px}.brand{font-size:10px;letter-spacing:.18em}.brand>span{font-size:19px;margin-right:7px}.dedication{font-size:8px;letter-spacing:.07em}.poem-section{padding:16px 25px 46px;max-width:100%}.celestial{width:204px;height:119px}h1{font-size:62px;margin-top:8px}.eyebrow{font-size:8px;letter-spacing:.18em;margin-top:14px}.title-rule{margin:22px 0 30px}.poem{font-size:clamp(16px,4.1vw,20px);line-height:1.9;letter-spacing:0}.poem p{margin-bottom:25px}.poem-signature{font-size:20px;margin-top:26px}.continue-link{font-size:8px}.story-section{width:calc(100% - 54px);scroll-margin-top:30px}.question-section{padding:46px 0 58px;min-height:570px}.question-section>.eyebrow{font-size:8px;max-width:245px;margin:auto}.grandball-word{font-size:clamp(59px,16vw,81px);margin:26px 0 22px}#question-title{font-size:29px;max-width:340px}h2{font-size:35px}.answer-row{gap:12px;margin-top:29px}.button{min-width:133px;padding:14px 24px;font-size:14px}.button-no{min-width:110px}.no-slot{width:116px}.playful-note{font-size:12px;padding-inline:5px;max-width:270px}.confirmation-section{min-height:610px;padding:47px 5px 70px}.heart-orbit{margin-top:10px;margin-bottom:27px;width:145px;height:125px}.heart-orbit>span{font-size:90px}.confirmation-section>.eyebrow{max-width:270px;margin:0 auto 14px}.section-caption{font-size:16px;margin:20px 0 27px}.final-section{width:calc(100% - 58px);padding-top:50px;min-height:0}.final-section>.eyebrow{font-size:7px;letter-spacing:.14em}.final-section h2{font-size:38px;max-width:340px}.final-description{font-size:16px;max-width:300px;margin:20px auto 31px}.cat-gallery{grid-template-columns:1fr;gap:35px;width:min(100%,300px);padding:12px 16px 20px}.cat-card{width:90%;justify-self:center}.cat-two{width:100%;translate:0 0;--tilt:4deg}.cat-three{--tilt:-4deg}.cat-card figcaption{font-size:14px;padding:17px 0}.final-invitation{font-size:25px;margin-top:30px}.final-signature>span:last-child{font-size:25px}footer{width:calc(100% - 58px);font-size:7px;gap:12px;padding:22px 0 37px}footer>span:first-child{max-width:125px}footer>span:last-child{text-align:right;max-width:115px}.glow{width:600px;height:600px}.glow-one{left:calc(50% - 300px)}.glow-two{right:-400px}}
@media(max-width:359px){.masthead{width:calc(100% - 50px)}.dedication{font-size:7px}.poem-section{padding-inline:20px}.poem{font-size:15.5px}.story-section{width:calc(100% - 48px)}#question-title{font-size:26px}.button{min-width:123px}.button-no{min-width:100px}.no-slot{width:106px}.final-section h2{font-size:34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.cat-card{opacity:1}.confetti{display:none}}

/* Чёрная часть маски вырезает месяц и не наследует золотую заливку. */
.moon-art mask circle{fill:#000}

.delivery-disclosure{font:11px/1.7 var(--sans);color:var(--muted);max-width:320px;margin:15px auto 0}.delivery-panel{max-width:540px;margin:0 auto 28px;padding:14px 19px;border:1px solid var(--line);background:#fff8fb66;border-radius:5px;font:13px/1.7 var(--sans);color:var(--ink)}.delivery-panel p{margin:0}.delivery-panel[data-state="sent"]{background:#ffffff80}.delivery-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}.delivery-actions .button{min-width:0;min-height:46px;padding:11px 18px;font-size:12px;margin-top:15px}.copy-response{background:none;border:0;text-decoration:underline;text-underline-offset:4px;color:var(--ink);font:12px/1.7 var(--sans);padding:12px 5px;min-height:44px}.manual-response{display:block;width:100%;margin:12px auto 0;font:16px/1.6 var(--sans);background:#fff8fb;color:#62324b;border:1px solid var(--line);padding:10px;min-height:90px}.delivery-panel[data-state="error"]{background:#fff5f2bb}
