:root{color-scheme:light;--pink-main: #ff6fae;--pink-soft: #ffd6e7;--lilac-soft: #dcc6ff;--lavender-light: #f3eeff;--background: #fff9fc;--text-main: #4a3b57;--gold: #ffc857;--white: #ffffff;--shadow: 0 24px 60px rgba(137, 100, 159, .18);--shadow-soft: 0 12px 30px rgba(255, 111, 174, .14);--border: rgba(255, 111, 174, .18);font-family:Trebuchet MS,Segoe UI,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color:var(--text-main);background:radial-gradient(circle at top left,rgba(255,111,174,.2),transparent 28%),radial-gradient(circle at top right,rgba(220,198,255,.45),transparent 26%),linear-gradient(180deg,#fff7fb,#fff9fc 45%,#f9f5ff);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}#app{min-height:100vh}.page-shell{position:relative;min-height:100vh;overflow:hidden;padding:32px 18px 56px}.floating-decor{pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;overflow:hidden}.floating-item{position:absolute;top:-10%;font-size:clamp(1.1rem,2vw,1.8rem);animation:drift linear infinite;will-change:transform}.contract-card{position:relative;z-index:2;width:min(920px,100%);margin:0 auto;padding:28px;border:1px solid rgba(255,255,255,.75);border-radius:30px;background:linear-gradient(160deg,#fffffff2,#fff8fceb),var(--white);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.page-reveal{animation:pageReveal .9s ease-out both}.section-reveal{opacity:0;animation:sectionReveal .8s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:var(--reveal-delay, 0s)}.hero{text-align:center;margin-bottom:28px}.hero-image{display:block;width:min(700px,calc(100% + 40px));height:auto;margin:-10px auto 10px;filter:drop-shadow(0 22px 34px rgba(190,98,140,.18))}.eyebrow,.modal-kicker{display:inline-flex;align-items:center;justify-content:center;padding:7px 12px;border-radius:999px;background:#ff6fae1f;color:var(--pink-main);font-weight:700;letter-spacing:.02em;font-size:.95rem}.hero h1,.modal-card h2{margin:16px 0 12px;line-height:1.1}.hero h1{font-size:clamp(1.95rem,4vw,3.25rem);max-width:700px;margin-left:auto;margin-right:auto}.intro{max-width:620px;margin:0 auto;font-size:.98rem;color:#4a3b57d1}.couple-highlight{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin:10px 0 14px}.couple-name{display:inline-flex;align-items:center;gap:10px;font-size:clamp(1.7rem,3.2vw,2.35rem);font-weight:800;color:var(--text-main)}.name-avatar{width:clamp(42px,5vw,58px);height:clamp(42px,5vw,58px);border-radius:50%;object-fit:cover;background:#ffffffd9;box-shadow:0 10px 18px #9d5d832e,inset 0 0 0 3px #ffffffbf}.couple-divider{color:#4a3b57d1;font-size:clamp(1.7rem,3.2vw,2.35rem);font-weight:800}.duration-badge{display:inline-flex;margin:0 0 16px;padding:9px 16px;border-radius:999px;background:#ffd6e79e;color:#4a3b57d1;font-size:.9rem;font-weight:700}.clause,.modal-card{border:1px solid var(--border);box-shadow:var(--shadow-soft)}.clause{margin-bottom:18px;padding:22px;border-radius:24px;background:#ffffffbd}.clause h2{margin:0 0 12px;font-size:1.18rem}.clause p,.pretty-list,.date,.closing-phrase{margin:0}.pretty-list{padding-left:0;list-style:none}.pretty-list li{position:relative;padding-left:30px}.pretty-list li+li{margin-top:10px}.pretty-list li:before{content:"❤";position:absolute;left:0;top:0;color:var(--pink-main)}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.check-card{display:flex;gap:12px;align-items:flex-start;padding:16px;border-radius:20px;background:linear-gradient(145deg,#ffd6e773,#dcc6ff6b);cursor:pointer}.check-card input{position:absolute;opacity:0;pointer-events:none}.checkmark{flex:0 0 24px;width:24px;height:24px;margin-top:2px;border:2px solid rgba(255,111,174,.6);border-radius:8px;background:var(--white);transition:.2s ease;position:relative}.check-card input:checked+.checkmark{background:linear-gradient(180deg,var(--pink-main),#ff93c0);border-color:transparent}.check-card input:checked+.checkmark:after{content:"✓";position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--white);font-weight:700}.check-text{flex:1}.signature-section{margin:28px 0 18px;padding:22px;border-radius:24px;background:linear-gradient(180deg,#f3eefff2,#ffffffeb)}.signature-line{display:flex;align-items:center;gap:14px}.signer-name{min-width:108px;font-weight:700}.signature-line+.signature-line{margin-top:14px}.signature-block{position:relative;flex:1;min-height:56px}.fake-signature{position:absolute;left:10px;bottom:10px;z-index:1;color:#ff6faee0;font-family:Brush Script MT,Segoe Script,Lucida Handwriting,cursive;font-size:clamp(1.8rem,4vw,2.4rem);line-height:1;transform:rotate(-5deg);text-shadow:0 6px 14px rgba(255,111,174,.14)}.fake-signature.alt{color:#7f5fb1e6;transform:rotate(-3deg)}.line{display:block;border-bottom:2px dashed rgba(74,59,87,.4);min-height:54px}.date{margin-top:18px;font-weight:700}.closing-phrase{padding:16px 18px;border-left:5px solid var(--gold);border-radius:18px;background:#ffc8571f;font-style:italic}.cta-panel{margin-top:24px;text-align:center}.primary-button,.secondary-button,.close-button{border:0;cursor:pointer}.primary-button,.secondary-button{padding:14px 22px;border-radius:999px;font-weight:700;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}.primary-button{color:var(--white);background:linear-gradient(135deg,var(--pink-main),#ff8abc);box-shadow:0 12px 24px #ff6fae47}.secondary-button{color:var(--text-main);background:linear-gradient(135deg,var(--lavender-light),var(--pink-soft))}.primary-button:hover,.secondary-button:hover,.close-button:hover{transform:translateY(-2px);filter:brightness(1.02)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:18px;background:#4a3b5759;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal-card{position:relative;width:min(520px,100%);padding:28px;border-radius:28px;background:linear-gradient(180deg,#fffffffa,#fff5faf5);text-align:center}.success-mode{background:radial-gradient(circle at top center,rgba(255,200,87,.24),transparent 34%),linear-gradient(180deg,#fffffffa,#fff1f8fa)}.sad-mode{background:radial-gradient(circle at top center,rgba(220,198,255,.26),transparent 34%),linear-gradient(180deg,#fffffffa,#f5f1fffa)}.modal-message{margin:0;color:#4a3b57d6;font-size:1rem}.modal-character{display:block;width:min(180px,55%);height:auto;margin:8px auto 14px;filter:drop-shadow(0 12px 18px rgba(127,95,177,.16))}.modal-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:22px}.close-button{position:absolute;top:12px;right:12px;width:40px;height:40px;border-radius:50%;background:#ff6fae24;color:var(--text-main);font-size:1.5rem;line-height:1}.modal-fade-enter-active,.modal-fade-leave-active{transition:all .25s ease}.modal-fade-enter-from,.modal-fade-leave-to{opacity:0}.modal-fade-enter-from .modal-card,.modal-fade-leave-to .modal-card{transform:scale(.96) translateY(10px)}@keyframes drift{0%{transform:translate3d(0,-120px,0) rotate(0) scale(var(--item-scale, 1))}to{transform:translate3d(var(--drift-x, 0px),var(--page-drop-distance, 1400px),0) rotate(18deg) scale(var(--item-scale, 1))}}@keyframes pageReveal{0%{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes sectionReveal{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 760px){.page-shell{padding:22px 14px 40px}.contract-card{padding:20px;border-radius:24px}.check-grid{grid-template-columns:1fr}.clause,.signature-section,.duration-badge{padding:18px}.hero h1{font-size:2rem}.hero-image{width:min(100%,560px);margin-top:-4px}.modal-card{padding:22px 18px}}
