.builder-page{background:var(--bg-base);--ui-fill: #F1F1F3}.builder{padding:16px 0 32px}.builder-grid{width:100%;max-width:1200px;margin:0 auto;padding:0 16px;display:grid;grid-template-columns:1fr;gap:16px}.builder-grid>*{min-width:0}.preview-pane{display:flex;flex-direction:column;align-items:center;width:100%}.preview-slider{width:100%;max-width:360px;display:flex;flex-direction:column;align-items:center;gap:14px}.preview-track{width:100%;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.preview-track::-webkit-scrollbar{display:none}.preview-slide{flex:0 0 100%;scroll-snap-align:center}.preview-stage{width:100%;aspect-ratio:1500 / 2000;overflow:hidden;border-radius:8px;box-shadow:0 18px 40px -20px #0003,0 2px 8px -2px #0000000f;position:relative;container-type:inline-size}.invite-scaler{position:absolute;inset:0}.invite{position:relative;width:100%;height:100%;background-color:#fefaf7;background-size:cover;background-position:center;background-repeat:no-repeat;color:#513c1e;font-family:EB Garamond,Georgia,serif;font-feature-settings:"kern" 1,"liga" 1;text-align:center}.inv-photo{position:absolute;background-size:cover;background-position:center;background-repeat:no-repeat}.inv-line{position:absolute;left:50%;transform:translate(-50%);margin:0;text-align:center;white-space:nowrap;color:var(--invite-color, #513C1E);text-box-trim:trim-both;text-box-edge:cap alphabetic;leading-trim:both;text-edge:cap alphabetic}.inv-line--stub{opacity:.38}.form-pane{width:100%}.builder-form{background:var(--bg-container);border-radius:var(--radius-md);padding:24px 20px 28px;display:flex;flex-direction:column;gap:var(--space-8)}.form-section{display:flex;flex-direction:column;gap:var(--space-4)}.greet-block,.greet-group{display:flex;flex-direction:column;gap:var(--space-3)}.form-section[hidden],.greet-block.hidden{display:none}.form-section-head{display:flex;align-items:center;gap:10px}.form-section-head__icon{width:28px;height:28px;flex:none;display:grid;place-items:center;border-radius:50%;background:var(--action);color:#fff}.form-section-head__icon svg{width:15px;height:15px}.form-section-head__title{margin:0;font-family:var(--font-sans);font-size:15px;font-weight:600;color:var(--text-primary)}.form-section-head__note{font-weight:400;font-size:12px;color:var(--text-disabled);margin-left:6px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:8px;min-width:0}.field-label{font-size:13px;font-weight:500;line-height:1.2;color:var(--text-secondary)}.field-optional{font-weight:400;color:var(--text-disabled);margin-left:4px}.field-counter{align-self:flex-end;font-size:12px;color:var(--text-secondary)}.field-error{margin:0;font-size:13px;line-height:1.35;color:var(--accent-rose)}.field-error[hidden]{display:none}.field-control{position:relative;display:flex;align-items:center}.field-icon{display:none}.date-field .field-icon,.time-field .field-icon,.venue-field .field-icon{display:block;position:absolute;left:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--text-secondary);pointer-events:none;transition:color .15s ease}.venue-field .field-icon{top:14px;transform:none}.date-field:focus-within .field-icon,.time-field:focus-within .field-icon,.venue-field:focus-within .field-icon{color:var(--action)}.field input,.field textarea{width:100%;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--bg-container);font-family:var(--font-sans);font-size:16px;color:var(--text-primary);padding:0 14px;outline:0;transition:border-color .15s ease,box-shadow .15s ease;-webkit-appearance:none;appearance:none}.field input{height:48px}.field textarea{padding:12px 14px;line-height:1.4;resize:none;min-height:68px;font-family:var(--font-sans)}.date-field input,.time-field input,.venue-field textarea{padding-left:42px}.field input::placeholder,.field textarea::placeholder{color:var(--text-disabled)}.field input:focus,.field textarea:focus{border-color:var(--action);box-shadow:0 0 0 3px #2a7d4f1f}.date-field,.time-field{position:relative}.date-field input::-webkit-calendar-picker-indicator,.time-field input::-webkit-calendar-picker-indicator{display:none;-webkit-appearance:none}.date-field:not(.has-value):not(:focus-within) input,.time-field:not(.has-value):not(:focus-within) input{color:transparent}.date-field:not(.has-value):not(:focus-within) input::-webkit-datetime-edit,.time-field:not(.has-value):not(:focus-within) input::-webkit-datetime-edit{color:transparent}.date-field:after,.time-field:after{position:absolute;left:42px;bottom:15px;font-size:16px;line-height:1.2;color:var(--text-secondary);pointer-events:none;display:none}.date-field:after{content:"Күні"}.time-field:after{content:"Уақыты"}.date-field:not(.has-value):not(:focus-within):after,.time-field:not(.has-value):not(:focus-within):after{display:block}.photo-upload{position:relative}.photo-upload__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.photo-upload__dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:132px;border:1.5px dashed var(--line);border-radius:var(--radius-sm);background:var(--bg-container);padding:20px;text-align:center;cursor:pointer;transition:border-color .15s ease,background .15s ease}.photo-upload__dropzone:hover,.photo-upload__input:focus-visible+.photo-upload__dropzone{border-color:var(--action)}.photo-upload[data-dragover] .photo-upload__dropzone{border-color:var(--action);background:var(--action-soft)}.photo-upload__icon{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:var(--bg-paper);color:var(--action)}.photo-upload__icon svg{width:22px;height:22px}.photo-upload__text{font-size:15px;font-weight:600;color:var(--text-primary)}.photo-upload__hint{font-size:13px;color:var(--text-secondary)}.photo-upload__preview{display:none;align-items:center;gap:12px;padding:10px;border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-container)}.photo-upload[data-state=filled] .photo-upload__dropzone{display:none}.photo-upload[data-state=filled] .photo-upload__preview{display:flex}.photo-upload__thumb{width:56px;height:56px;flex:0 0 auto;border-radius:var(--radius-xs);background-size:cover;background-position:center;background-color:var(--bg-paper)}.photo-upload__meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.photo-upload__filename{font-size:14px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo-upload__filesize{font-size:12px;color:var(--text-secondary)}.photo-upload__remove{width:44px;height:44px;flex:0 0 auto;border-radius:50%;border:0;background:var(--bg-paper);color:var(--text-secondary);display:grid;place-items:center;cursor:pointer;transition:background .15s ease,color .15s ease}.photo-upload__remove svg{width:18px;height:18px}.photo-upload__remove:hover{background:var(--action-soft);color:var(--text-primary)}.tpl-picker{display:flex;gap:10px;overflow-x:auto;padding:2px 2px 8px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tpl-picker::-webkit-scrollbar{display:none}.tpl-chip{position:relative;flex:0 0 auto;width:104px;scroll-snap-align:start;background:var(--bg-container);border:1.5px solid var(--line);border-radius:var(--radius-sm);padding:8px;cursor:pointer;font-family:inherit;display:flex;flex-direction:column;align-items:center;gap:8px;transition:border-color .15s ease,background .15s ease}.tpl-chip:hover{border-color:var(--text-secondary)}.tpl-chip.is-active{border-color:var(--action);background:#2a7d4f0f}.tpl-thumb{position:relative;width:100%;aspect-ratio:3 / 4;border-radius:6px;background-size:cover;background-position:center;background-color:#fefaf7}.tpl-thumb--bg1{background-image:var(--thumb-bg1)}.tpl-thumb--bg2{background-image:var(--thumb-bg2)}.tpl-chip.is-active .tpl-thumb:after{content:"";position:absolute;top:6px;right:6px;width:20px;height:20px;border-radius:50%;background:var(--action) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6L9 17l-5-5"/></svg>') center / 12px no-repeat;box-shadow:0 0 0 2px var(--bg-base)}.tpl-name{font-size:13px;font-weight:500;color:var(--text-primary)}.named-toggle{display:flex;align-items:center;justify-content:flex-start;gap:12px;min-height:46px;padding:0 14px;border:0;border-radius:var(--radius-sm);background:var(--bg-common);cursor:pointer;user-select:none}.named-toggle__input{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}.named-toggle__box{flex:none;width:22px;height:22px;border-radius:6px;border:2px solid #C4C4CC;background:#fff;display:grid;place-items:center;transition:background .15s ease,border-color .15s ease}.named-toggle__box:after{content:"";width:6px;height:11px;margin-top:-2px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg) scale(0);transition:transform .18s cubic-bezier(.34,1.4,.5,1)}.named-toggle__input:checked~.named-toggle__box{background:var(--action);border-color:var(--action)}.named-toggle__input:checked~.named-toggle__box:after{transform:rotate(45deg) scale(1)}.named-toggle__input:focus-visible~.named-toggle__box{outline:2px solid var(--action);outline-offset:3px}.named-toggle__title{font-size:15px;font-weight:500;color:var(--text-primary)}.form-actions{display:flex;flex-direction:column;gap:8px;margin-top:18px}.form-actions .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:0}.form-actions .btn svg{width:18px;height:18px;flex:none}.form-actions .btn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-secondary{background:var(--bg-container);color:var(--action);border:1.5px solid var(--action)}.btn-secondary:hover{background:#2a7d4f14}.form-foot{margin:12px 0 0;font-size:14px;color:var(--text-secondary);text-align:center;line-height:1.45}.invite.is-loading>*{visibility:hidden}.invite.is-loading{background:#f1ece5}.invite.is-loading:before{content:"";position:absolute;inset:6% 8%;border-radius:6px;border:1px solid rgba(81,60,30,.12)}.invite.is-loading:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 35%,rgba(255,255,255,.65) 50%,transparent 65%);background-size:220% 100%;animation:invite-shimmer 1.3s ease-in-out infinite}@keyframes invite-shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}.preview-toggle{display:none}.stage-zoom{position:absolute;right:8px;bottom:8px;z-index:3;width:44px;height:44px;border:0;border-radius:50%;background:#22201f8c center / 18px no-repeat;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2.2" stroke-linecap="round"><path d="M9 3H3v6M15 3h6v6M9 21H3v-6M15 21h6v-6"/></svg>');cursor:pointer;transition:background-color .15s ease}.stage-zoom:hover{background-color:#22201fcc}@media(max-width:899px){.builder{padding:6px 0 0}.preview-pane{position:sticky;top:60px;z-index:20;background:#f4f4f5eb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding:8px 12px 10px}.preview-slider{max-width:min(60vw,28vh);max-width:min(60vw,28svh);gap:8px}.preview-toggle{display:inline-flex;align-items:center;justify-content:center;position:absolute;top:8px;right:8px;z-index:21;width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--bg-container);color:var(--text-secondary);cursor:pointer}.preview-toggle svg{transition:transform .2s ease}body.preview-collapsed .preview-toggle svg{transform:rotate(180deg)}body.preview-collapsed .preview-slider,body.preview-collapsed .stage-zoom{display:none}body.preview-collapsed .preview-pane{padding:8px 12px}.builder-form{padding-bottom:16px}.builder-grid{padding-bottom:calc(84px + env(safe-area-inset-bottom))}.form-actions{position:fixed;left:0;right:0;bottom:0;z-index:30;margin:0;display:grid;grid-template-columns:auto 1fr;gap:8px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line)}.form-actions .btn{height:48px;padding:0 12px;font-size:15px}body.preview-zoom{overflow:hidden}body.preview-zoom .preview-pane{position:fixed;inset:0;z-index:100;background:#22201feb;display:flex;align-items:center;justify-content:center;padding:20px 16px;box-shadow:none}body.preview-zoom .preview-slider{max-width:min(92vw,calc((100vh - 72px)*.75))}body.preview-zoom .stage-zoom{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2.2" stroke-linecap="round"><path d="M6 6l12 12M18 6L6 18"/></svg>')}}@media(min-width:900px){.builder{padding:32px 0 64px}.builder-grid{grid-template-columns:420px minmax(0,1fr);gap:48px;padding:0 32px;align-items:start}.form-pane{grid-column:1;grid-row:1}.preview-pane{grid-column:2;grid-row:1;position:sticky;top:88px}.preview-slider{max-width:500px;margin:0 auto}.builder-form{padding:28px 24px}.stage-zoom{display:none}.form-actions{display:grid;grid-template-columns:auto 1fr;gap:10px;margin-top:var(--space-8);min-width:0}.form-actions .btn{min-width:0}}@media(max-width:360px){.field-row{grid-template-columns:1fr}.form-actions .btn{font-size:14px;padding:0 8px}}.donate{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px}.donate[hidden]{display:none}.donate__backdrop{position:absolute;inset:0;background:#14141685;backdrop-filter:blur(2px);animation:donate-fade .18s ease both}.donate__sheet{position:relative;width:100%;max-width:352px;background:var(--bg-container);border-radius:var(--radius-lg);padding:28px 24px 22px;text-align:center;box-shadow:0 24px 64px #00000047;animation:donate-pop .24s cubic-bezier(.22,1,.36,1) both}@keyframes donate-fade{0%{opacity:0}}@keyframes donate-pop{0%{opacity:0;transform:translateY(12px) scale(.97)}}.donate__x{position:absolute;top:12px;right:12px;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-disabled);border-radius:50%;cursor:pointer;transition:color .15s,background .15s}.donate__x svg{width:18px;height:18px}.donate__x:hover{color:var(--text-primary);background:var(--bg-common)}.donate__check{width:48px;height:48px;margin:2px auto 14px;display:inline-flex;align-items:center;justify-content:center;color:#fff;background:var(--action);border-radius:50%;box-shadow:0 6px 18px #2a7d4f52}.donate__check svg{width:24px;height:24px}.donate__sheet .btn svg{width:17px;height:17px;flex:none}.donate__title{margin:0 0 6px;font-size:19px;font-weight:650;color:var(--text-primary)}.donate__text{margin:0 0 18px;font-size:14.5px;line-height:1.5;color:var(--text-secondary)}.kaspi-card{position:relative;text-align:left;border-radius:16px;padding:18px 20px;background:linear-gradient(145deg,#f3d073,#e6bb52,#d6a63e);box-shadow:0 8px 22px #b0822247;-webkit-user-select:none;user-select:none}.kaspi-card__row{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.kaspi-card__chip{width:32px;height:24px;border-radius:5px;background:linear-gradient(135deg,#f7e58f,#cfa548);box-shadow:inset 0 0 0 1px #78550a47;position:relative}.kaspi-card__chip:before,.kaspi-card__chip:after{content:"";position:absolute;background:#78550a47}.kaspi-card__chip:before{left:6px;right:6px;top:50%;height:1px}.kaspi-card__chip:after{top:5px;bottom:5px;left:50%;width:1px}.kaspi-card__brand{font-size:15px;font-weight:700;letter-spacing:.01em;color:#46340a}.kaspi-card__number{font-family:ui-monospace,SF Mono,Roboto Mono,Menlo,Consolas,monospace;font-size:20px;font-weight:600;letter-spacing:.06em;color:#2c2006;-webkit-user-select:text;user-select:text}.kaspi-card__hint{margin-top:10px;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:#46340a9e}.donate__copy{width:100%;margin-top:14px;height:48px}.donate__copy.is-copied{background:var(--action-hover)}@media(prefers-reduced-motion:reduce){.donate__backdrop,.donate__sheet{animation:none}}
