@charset "UTF-8";
:root{--paper:#fbf8f2;--ink:#2a2525;--muted:#837977;--wine:#781c32;--wine-deep:#581326;--line:#e5dfd7;--rose:#f4e9e7;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;color-scheme:light;font-family:var(--sans);font-size:16px;background:var(--paper);color:var(--ink)}
*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--wine);outline-offset:5px}button{border:0}svg{flex-shrink:0}.icon{display:inline-block;vertical-align:middle}.loading{padding:4rem;color:var(--wine)}
.site-header{max-width:1440px;margin:auto;padding:30px 58px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.brand{font-family:var(--serif);font-weight:700;font-size:35px;letter-spacing:-2px;display:inline-flex;align-items:center;gap:9px}.brand-star{font-family:var(--sans);font-size:27px;color:var(--wine);font-weight:400;letter-spacing:0;line-height:1}.header-note{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}.recipient{border:1px solid #dfd6ce;border-radius:99px;font-size:13px;padding:10px 16px;display:flex;align-items:center;gap:8px;color:var(--wine)}.recipient .icon{width:16px;height:16px}
.quiz-layout,.success-layout{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.17fr) minmax(0,1fr);gap:66px;padding:42px 58px 30px;align-items:start}.quiz-panel{padding-top:4px;min-width:0}.step-nav{display:flex;justify-content:space-between;gap:9px}.step-item{background:none;padding:0 0 20px;text-align:left;display:flex;flex-direction:column;gap:9px;flex:1;color:#9b9390;min-width:0}.step-number{font-size:13px;font-weight:500;letter-spacing:.5px;min-height:20px;display:flex;align-items:center}.step-number .icon{height:17px;width:17px}.step-name{font-size:12px;white-space:nowrap}.step-item.active{color:var(--wine);font-weight:700}.step-item.complete{color:#594847}.progress-line{height:2px;background:var(--line);margin-bottom:43px;overflow:hidden}.progress-line span{display:block;height:100%;background:var(--wine);transition:width .5s ease}.question{outline:none;animation:arrive .42s ease both}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:600;color:var(--wine);margin:0 0 21px;line-height:1.6}.question-head h1,.success-panel h1,.admin-page h1{font-family:var(--serif);font-weight:400;font-size:clamp(42px,4.15vw,63px);line-height:1.06;letter-spacing:-1.8px;margin:0 0 22px}.question-head h1 em,.success-panel h1 em,.admin-page h1 em{font-weight:400;color:var(--wine)}.question-description{font-size:15px;color:var(--muted);line-height:1.7;max-width:420px;margin:0 0 32px}.options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.option{border:1px solid var(--line);background:transparent;display:flex;flex-direction:column;position:relative;border-radius:7px;padding:20px 19px 21px;text-align:left;min-height:136px;transition:background .2s,border-color .2s,transform .2s,box-shadow .2s}.option:hover{border-color:#bb7c85;background:#f7f0eb;transform:translateY(-2px)}.option-icon{margin-bottom:13px;color:var(--wine);line-height:1}.option-body{display:flex;flex-direction:column;gap:8px}.option-label{font-size:15px;font-weight:600;line-height:1.2}.option-description{font-size:12px;line-height:1.6;color:var(--muted);max-width:185px}.option-check{position:absolute;top:18px;right:17px;width:17px;height:17px;border:1px solid #d9d0c8;border-radius:50%;display:grid;place-items:center}.option-check .icon{width:12px;height:12px}.option.selected{border-color:var(--wine);background:var(--wine);color:var(--paper);box-shadow:0 5px 15px #781c3212}.option.selected .option-icon,.option.selected .option-description{color:#f2d7d4}.option.selected .option-check{background:#fbf8f2;color:var(--wine);border-color:#fbf8f2}.option.selected:hover{background:var(--wine-deep)}.options .option:last-child:nth-child(odd){grid-column:1/-1;min-height:88px;flex-direction:row;gap:15px;align-items:center}.options .option:last-child:nth-child(odd) .option-icon{margin:0}.options .option:last-child:nth-child(odd) .option-description{max-width:none}.soft-note{display:flex;gap:8px;align-items:center;margin:25px 0 0;font-size:12px;color:var(--muted);line-height:1.7}.soft-note .icon{width:16px;height:16px;color:#9c7a5e}.quiz-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:31px;padding-top:24px;justify-content:space-between}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:15px 29px;background:var(--wine);color:#fff8f4;border-radius:5px;font-size:14px;font-weight:500;line-height:1.4;transition:background .2s,transform .2s,box-shadow .2s}.primary-button:hover{background:var(--wine-deep);box-shadow:0 5px 20px #781c321c;transform:translateY(-1px)}.primary-button:disabled{opacity:.65;transform:none}.primary-button .icon{width:18px;height:18px}.back-button,.text-button{background:none;padding:10px 0;font-size:13px;line-height:1.5;color:var(--muted);text-decoration:underline;text-underline-offset:5px}.back-button:hover,.text-button:hover{color:var(--wine)}.step-count{font-size:13px;letter-spacing:1.5px;color:var(--wine)}.step-count span{color:#a49a95}.form-error{color:#a01731;font-size:13px;line-height:1.6;margin:0}.form-error:empty{display:none}.quiz-actions .form-error{order:3;flex-basis:100%}.visual-panel{position:sticky;top:30px;min-height:670px;height:calc(100vh - 200px);max-height:800px;overflow:hidden;border-radius:9px;background:#451927;isolation:isolate}.visual-panel>img{height:100%;width:100%;object-fit:cover;object-position:50% 48%;display:block;animation:photoIn .9s ease}.photo-shade{position:absolute;inset:0;background:linear-gradient(180deg,#230c1770 0%,transparent 30%,#240c1317 43%,#230b1680 66%,#160b17ed 100%)}.photo-top{position:absolute;top:32px;left:32px;right:32px;display:flex;flex-direction:column;gap:8px;color:#f5e7d9;font-size:9px;letter-spacing:2px;line-height:1.6}.photo-caption{position:absolute;left:36px;right:32px;bottom:75px;color:#fff7ec}.photo-kicker{font-size:10px;letter-spacing:2.5px;color:#eddcc7}.photo-caption>p{font-family:var(--serif);font-size:clamp(35px,3.5vw,51px);line-height:1.12;letter-spacing:-1px;margin:20px 0 22px}.photo-caption>p em{font-weight:400}.photo-signature{font-size:13px;color:#e1c5b8}.photo-plan{display:flex;flex-wrap:wrap;gap:7px;max-width:350px}.photo-plan span{display:inline-flex;align-items:center;gap:6px;font-size:11px;border:1px solid #ffffff40;background:#ffffff10;border-radius:99px;padding:8px 11px;line-height:1.4;backdrop-filter:blur(8px)}.photo-plan .icon{width:13px;height:13px}.photo-number{position:absolute;left:36px;bottom:29px;font-size:10px;letter-spacing:1.4px;color:#ddc4b3}.site-footer{max-width:1440px;padding:22px 58px 29px;margin:auto;display:flex;justify-content:space-between;gap:20px;font-size:11px;letter-spacing:.2px;color:#9a8b83}.site-footer>span:last-child{display:flex;align-items:center;gap:8px}.site-footer .icon{width:13px;height:13px}
.extra-section,.choice-section{margin-top:26px}.extra-section h2,.choice-section h2{font-size:14px;font-weight:600;margin:0 0 13px}.extra-section p{font-size:12px;color:var(--muted);margin:0 0 13px}.choice-section h2 span{font-weight:400;font-size:12px;color:var(--muted);margin-left:6px}.choice-section{margin:0 0 31px}.chips{display:flex;flex-wrap:wrap;gap:10px}.chip{border:1px solid var(--line);border-radius:5px;background:transparent;padding:12px 14px;min-height:45px;font-size:13px;line-height:1.4;display:inline-flex;align-items:center;justify-content:center;gap:9px;transition:background .18s,border-color .18s}.chip .icon{width:18px;height:18px;color:var(--wine)}.chip:hover{background:#f1e8e2;border-color:#be8d8e}.chip.selected{background:var(--wine);border-color:var(--wine);color:#fff8f4}.chip.selected .icon{color:#fff8f4}.field-label{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;line-height:1.5;margin:25px 0 12px;flex-wrap:wrap}.field-label span{font-weight:400;color:var(--muted);font-size:12px}.field-label .icon{width:17px;height:17px;color:var(--wine)}.text-input{width:100%;border:1px solid var(--line);border-radius:5px;background:#fffdf9;color:var(--ink);padding:15px 16px;font-size:14px;line-height:1.6;transition:border-color .2s;resize:vertical}.text-input::placeholder{color:#9b918b}.text-input:focus{border-color:#a46b75}.date-mode{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:23px}.date-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(140px,1fr);gap:23px}.calendar{border:1px solid var(--line);border-radius:7px;padding:17px 15px;background:#fffdf9}.calendar-header{display:flex;justify-content:space-between;align-items:center;gap:5px;margin-bottom:15px}.calendar-header strong{font-size:13px;font-weight:500;text-transform:capitalize}.calendar-controls{display:flex;gap:1px}.icon-button{width:29px;height:29px;background:transparent;border-radius:5px;display:grid;place-items:center;color:var(--wine)}.icon-button:hover{background:var(--rose)}.icon-button .icon{width:17px;height:17px}.icon-button:disabled{opacity:.25}.previous-month svg{transform:rotate(180deg)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.weekday{font-size:10px;color:#9d8f87;text-align:center;padding:6px 0 9px}.day{min-width:0;aspect-ratio:1;border-radius:50%;font-size:12px;display:flex;align-items:center;justify-content:center;background:transparent;position:relative}.day:hover{background:var(--rose);color:var(--wine)}.day.selected{background:var(--wine);color:white}.day:disabled{color:#cbc1b7}.day:disabled:hover{background:transparent}.day.today:after{content:'';height:3px;width:3px;background:var(--wine);border-radius:50%;position:absolute;bottom:3px}.day.today.selected:after{background:white}.time-panel .field-label{margin-top:7px}.time-input{background:#fffdf9;width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:5px;color:var(--wine);font-size:24px;font-family:var(--serif);height:58px}.time-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:13px}.time-chips .chip{padding:7px 10px;min-height:35px;font-size:12px}.calendar-caption{font-size:12px;color:var(--muted);line-height:1.8;margin-top:24px}.calendar-caption strong{font-weight:400;color:var(--wine)}.flexible-card{background:#f5eee7;border-radius:7px;border:1px solid var(--line);padding:35px;text-align:center}.flexible-card>.icon{width:32px;height:32px;color:var(--wine);margin-bottom:10px}.flexible-card h2{font-family:var(--serif);font-size:26px;font-weight:400}.flexible-card p{font-size:14px;color:var(--muted);line-height:1.6}
.plan-card{border:1px solid var(--line);border-radius:7px;background:#fffdf9;padding:19px 23px}.plan-card-header{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;letter-spacing:1.8px;color:var(--wine);border-bottom:1px solid var(--line);padding:0 0 16px;margin-bottom:6px}.plan-card-header .icon{width:16px;height:16px}.plan-row{display:grid;grid-template-columns:17px 90px 1fr;gap:10px;padding:13px 0;align-items:start;font-size:12px;line-height:1.6}.plan-row>.icon{width:16px;height:16px;color:var(--wine);margin-top:1px}.plan-label{color:var(--muted)}.plan-row strong{font-weight:400;color:var(--ink);overflow-wrap:anywhere}.submission-note{font-size:12px;line-height:1.7;color:var(--muted);margin:17px 0 0}.success-layout{padding-top:45px}.success-panel{padding-top:5px;animation:arrive .5s ease both}.success-seal{height:48px;width:48px;border:1px solid #c2a9ac;display:grid;place-items:center;border-radius:50%;color:var(--wine);margin-bottom:26px}.success-panel .eyebrow{margin-bottom:17px}.success-panel h1{font-size:clamp(42px,4.1vw,61px)}.success-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:50px;padding:13px 18px;background:transparent;border:1px solid #cdbdb9;color:var(--wine);border-radius:5px;font-size:13px;line-height:1.6}.secondary-button:hover{background:var(--rose)}.secondary-button .icon{width:17px;height:17px}.wish-note{padding:18px 21px;background:#f5ede6;border-left:2px solid #b9878b;margin-top:15px;font-size:13px;line-height:1.7}.wish-note span{font-size:11px;color:var(--wine)}.wish-note p{margin:5px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.receipt-note{font-size:11px;color:var(--muted);margin-top:19px}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;max-width:calc(100vw - 32px);background:var(--wine-deep);color:#fff7ef;border:1px solid #ffffff1f;padding:14px 22px;border-radius:7px;font-size:13px;line-height:1.6;transition:opacity .25s,transform .25s;z-index:10;box-shadow:0 8px 40px #30102022}.toast.visible{opacity:1;transform:translate(-50%,0)}.spinner{height:16px;width:16px;border-radius:50%;border:2px solid #ffffff60;border-top-color:white;animation:spin .7s linear infinite}
.admin-page{max-width:1250px;padding:65px 58px;margin:auto;min-height:75vh}.admin-login{max-width:460px;margin:0 auto}.login-icon{display:inline-flex;padding:15px;border:1px solid var(--line);border-radius:50%;margin-bottom:27px;color:var(--wine)}.admin-login h1{font-size:54px}.admin-login .primary-button{width:100%;margin:20px 0 10px}.admin-login .form-error{margin:12px 0 0}.admin-heading{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:25px}.admin-heading h1{font-size:54px}.admin-heading>div>p:last-child{font-size:13px;color:var(--muted)}.admin-controls{display:flex;gap:20px;align-items:center}.admin-records{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:25px}.admin-record{min-width:0;border:1px solid var(--line);border-radius:8px;padding:20px;background:#fffdf9}.record-meta{display:flex;justify-content:space-between;gap:15px;font-size:11px;line-height:1.7;color:var(--muted);margin-bottom:20px}.admin-record .plan-card{border:0;padding:0}.admin-record .plan-row{font-size:13px}.empty-state{text-align:center;border:1px dashed #d1b5b7;border-radius:7px;padding:50px;margin-top:25px}.empty-state>.icon{width:38px;height:38px;color:var(--wine)}.empty-state h2{font-family:var(--serif);font-size:30px;font-weight:400}.empty-state p{font-size:14px;line-height:1.8;color:var(--muted)}.empty-state a{margin-top:12px}
@keyframes arrive{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes photoIn{from{opacity:.6;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:1550px){.quiz-layout,.success-layout{padding-top:55px;gap:82px}.question-head h1{font-size:65px}.option{min-height:145px;padding:23px}.progress-line{margin-bottom:50px}.visual-panel{min-height:730px}}
@media(max-width:1150px){.site-header{padding:26px 36px}.quiz-layout,.success-layout{padding:32px 36px;gap:35px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.site-footer{padding:20px 36px}.question-head h1{font-size:47px}.progress-line{margin-bottom:34px}.step-name{font-size:10px}.step-nav{gap:5px}.visual-panel{min-height:660px}.photo-caption{left:25px;right:23px}.photo-top{left:25px;right:25px}.photo-caption>p{font-size:41px}.photo-number{left:25px}.option{padding:17px 15px;min-height:139px}.option-description{font-size:11px}.option-label{font-size:14px}.date-layout{gap:13px;grid-template-columns:minmax(0,1.4fr) minmax(120px,1fr)}.calendar{padding:14px 10px}.calendar-controls .icon-button{width:24px}.calendar-header strong{font-size:12px}.calendar-grid{gap:2px}.day{font-size:11px}.plan-card{padding:16px}.plan-row{grid-template-columns:16px 76px 1fr;gap:8px}.admin-page{padding:55px 36px}}
@media(max-width:800px){.site-header{padding:20px 24px;gap:15px}.brand{font-size:31px}.brand-star{font-size:24px}.header-note{display:none}.recipient{font-size:12px;padding:9px 12px}.quiz-layout,.success-layout{display:flex;flex-direction:column;padding:27px 24px 16px;gap:32px;max-width:590px}.quiz-panel,.success-panel{width:100%}.question-head h1,.success-panel h1{font-size:52px;line-height:1.08;letter-spacing:-1.5px}.question-description{font-size:15px;margin-bottom:27px}.eyebrow{font-size:10px;margin-bottom:19px}.progress-line{margin-bottom:31px}.step-name{font-size:11px}.step-item{padding-bottom:16px;gap:6px}.step-number{font-size:12px}.option{padding:20px 18px;min-height:141px}.option-label{font-size:15px}.option-description{font-size:12px}.visual-panel{position:relative;top:auto;min-height:0;height:300px;width:100%;max-height:none}.visual-panel>img{object-position:50% 57%}.photo-shade{background:linear-gradient(90deg,#1c0919cc,transparent 100%),linear-gradient(0deg,#1c091950,transparent 80%)}.photo-top{top:22px;left:26px;font-size:8px;gap:4px}.photo-caption{left:25px;bottom:37px;right:25px;max-width:95%}.photo-kicker{font-size:8px;letter-spacing:1.7px}.photo-caption>p{font-size:33px;margin:10px 0 13px}.photo-plan{max-width:450px;gap:5px}.photo-plan span{font-size:10px;padding:6px 9px}.photo-signature{font-size:12px}.photo-number{bottom:14px;font-size:8px}.site-footer{max-width:590px;padding:17px 24px 24px;font-size:10px;gap:13px;flex-wrap:wrap}.site-footer>span:last-child{font-size:10px}.quiz-actions{margin-top:27px;padding-top:21px}.primary-button{min-height:49px;font-size:14px;padding:14px 24px}.soft-note{font-size:11px}.date-layout{grid-template-columns:minmax(0,1.5fr) minmax(120px,1fr);gap:16px}.calendar{padding:15px 13px}.calendar-header strong{font-size:13px}.calendar-controls .icon-button{width:27px}.day{font-size:12px}.plan-row{grid-template-columns:17px 90px 1fr;font-size:13px}.plan-card{padding:19px}.success-panel{padding-top:7px}.success-layout{gap:31px}.success-actions .primary-button,.success-actions .secondary-button{flex-grow:1}.admin-page{padding:38px 24px}.admin-records{grid-template-columns:1fr}.admin-heading{align-items:flex-start;flex-direction:column}.admin-heading h1{font-size:45px}.admin-controls{gap:22px}.admin-login h1{font-size:45px}.empty-state{padding:35px 20px}}
@media(max-width:400px){.site-header{padding:18px 20px}.quiz-layout,.success-layout{padding:24px 20px 14px}.recipient{font-size:11px;padding:8px 10px}.brand{font-size:29px}.question-head h1,.success-panel h1{font-size:45px}.step-name{font-size:9px}.option{padding:17px 15px;min-height:140px}.option-label{font-size:14px}.option-description{font-size:11px}.option-check{right:14px;top:17px}.date-layout{grid-template-columns:1fr}.time-panel{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center}.time-panel .field-label{margin:0}.time-input{height:50px;font-size:23px}.time-chips{grid-column:1/-1;margin-top:0}.calendar-caption{grid-column:1/-1;margin-top:5px}.date-mode .chip{font-size:12px;padding:10px 12px}.plan-row{grid-template-columns:16px 73px 1fr;font-size:12px}.plan-card{padding:16px}.chip{font-size:12px;padding:11px 12px}.site-footer{padding-left:20px;padding-right:20px}.primary-button{padding:13px 20px}.quiz-actions .primary-button{max-width:calc(100% - 55px)}.visual-panel{height:280px}.photo-plan span{font-size:9px}.photo-caption>p{font-size:31px}}
/* Читаемые подписи, включая небольшие экраны. */
.question-description{font-size:16px}.option-label{font-size:16px}.option-description{font-size:14px}.chip,.field-label,.text-button,.back-button,.secondary-button{font-size:14px}.text-input{font-size:16px}.eyebrow,.step-name,.soft-note,.photo-top,.photo-kicker,.photo-number,.site-footer,.site-footer>span:last-child,.plan-card-header,.submission-note,.receipt-note,.record-meta,.weekday,.day,.calendar-caption,.time-chips .chip,.extra-section p,.field-label span,.choice-section h2 span,.wish-note span{font-size:12px}.photo-plan span{font-size:12px}.plan-row{font-size:14px}.option-description{max-width:none}.plan-label{font-size:12px}.step-name{white-space:normal;line-height:1.5}.time-chips .chip{min-height:38px}.day{min-height:29px}.calendar-header strong{font-size:14px}.calendar-controls .icon-button{width:28px;height:30px}
@media(max-width:1150px) and (min-width:801px){.date-layout{grid-template-columns:1fr}.time-panel{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center}.time-panel .field-label{margin:0}.time-chips,.calendar-caption{grid-column:1/-1}.time-chips{margin-top:0}.calendar-caption{margin:0}.day{max-height:44px}}
@media(max-width:400px){.step-name{font-size:12px}.step-item{min-width:0}.step-nav{gap:7px}.option{padding:17px 13px}.option-label{font-size:15px}.option-description{font-size:13px}.soft-note{align-items:flex-start}.photo-top{font-size:12px;letter-spacing:1px}.photo-plan span{font-size:12px}.photo-caption>p{font-size:31px}.photo-top span:last-child{display:none}.plan-row{font-size:13px}.recipient{font-size:12px}.quiz-actions .primary-button{max-width:none}.quiz-actions .primary-button[data-next]{margin-left:auto}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:800px){.step-nav{gap:15px;align-items:center}.step-item{flex:0 0 24px;flex-direction:row;align-items:center;gap:10px;padding-bottom:17px}.step-item.active{flex:1}.step-item:not(.active) .step-name{display:none}.step-item.active .step-name{font-size:14px}.step-number{min-width:20px}.day{font-size:14px}.option-description{font-size:14px}}

.activity-categories{margin:0 0 22px;gap:8px}
.activity-categories .chip{flex:1 1 auto}
.activity-selection{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--wine);font-size:13px;line-height:1.6;margin:20px 0 0}
.activity-selection .icon{width:17px;height:17px}
.activity-selection strong{font-weight:600}
