:root{--rose:#c46d94;--deep:#853b5d;--blush:#fff0f5;--paper:#fffdfd;--ink:#7e5368;--muted:#a68091;--border:#f0d8e3;--shadow:0 35px 100px #9246691f}*{box-sizing:border-box}html{scroll-behavior:smooth;min-height:100%}body{color:var(--deep);-webkit-font-smoothing:antialiased;background:#fff6f8;margin:0;font-family:DM Sans,sans-serif}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit}::selection{color:#803c5b;background:#f4c8da}.mainShell{background:radial-gradient(70% 50% at 50% 0,#fff 0%,#0000 100%),linear-gradient(135deg,#fff8fa,#fcecf2 48%,#fff9fa);justify-content:center;align-items:center;min-height:100svh;padding:32px 20px;display:flex;position:relative;overflow:hidden}.ambient{pointer-events:none;filter:blur(7px);border-radius:50%;position:absolute}.ambientOne{opacity:.55;background:radial-gradient(circle,#f8d5e3,#0000 70%);width:430px;height:430px;top:-220px;left:-120px}.ambientTwo{opacity:.65;background:radial-gradient(circle,#efd6e5,#0000 72%);width:550px;height:550px;bottom:-310px;right:-190px}.petalField{pointer-events:none;position:absolute;inset:0;overflow:hidden}.petal{top:-40px;left:calc((var(--i) * 77px + 5%) * 1);opacity:.36;width:15px;height:23px;animation:petalFall calc(11s + var(--i)*1.7s) linear infinite;animation-delay:calc(var(--i)*-1.4s);background:linear-gradient(140deg,#f6bbcc,#f4d6e1);border-radius:88% 0 88% 8%;position:absolute;transform:rotate(30deg)}@keyframes petalFall{0%{opacity:0;transform:translateY(-80px)rotate(0)}13%{opacity:.45}88%{opacity:.32}to{transform:translate(calc(40px + var(--i)*8px),110vh) rotate(670deg);opacity:0}}.experience{z-index:1;width:min(100%,520px);position:relative}.siteHeader,.siteFooter{justify-content:space-between;align-items:center;gap:12px;display:flex}.siteHeader{padding:0 13px 15px}.brand{letter-spacing:.01em;color:#95506d;font-family:Playfair Display,serif;font-size:17px}.brandRose{color:#d47da5}.stepCounter,.eyebrow{color:#bb7997;letter-spacing:.2em;font-size:9px;font-weight:700}.mainCard{box-shadow:var(--shadow);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:#ffffffd9;border:1px solid #ffffffd9;border-radius:31px;position:relative;overflow:hidden}.mainCard:before{content:"";pointer-events:none;z-index:0;border:1px solid #f7e6ec;border-radius:25px;position:absolute;inset:10px}.mainCard>div{z-index:1;position:relative}.entryPage,.welcomePage,.questionPage,.letterPage,.decisionPage,.endingPage{text-align:center;flex-direction:column;align-items:center;padding:43px 44px 42px;animation:.65s both fadeUp;display:flex}@keyframes fadeUp{0%{opacity:0;transform:translateY(17px)}to{opacity:1;transform:translateY(0)}}h1,h2,h3{letter-spacing:-.035em;font-family:Playfair Display,serif;font-weight:500}h1{margin:12px 0 8px;font-size:clamp(39px,8.6vw,53px);line-height:1.17}h2{margin:14px 0 18px;font-size:clamp(33px,6vw,43px);line-height:1.22}h1 em,h2 em{color:#c76e97;font-weight:400}.titleHeart{vertical-align:middle;font-size:26px}.floralScene{background:radial-gradient(#fce1e9a6,#fff0 65%);border-radius:180px;justify-content:center;align-items:center;width:100%;height:235px;margin-top:5px;display:flex;position:relative}.floralScene.large{height:260px}.tulips{filter:drop-shadow(0 19px 10px #c06a8a1f);width:100%;max-width:380px;height:100%;animation:5s ease-in-out infinite breathe;overflow:visible}@keyframes breathe{50%{transform:translateY(-5px)rotate(1.5deg)}}.tulips.small{max-width:240px;height:100%}.mainText{color:var(--ink);max-width:335px;margin:9px auto 25px;font-size:14px;line-height:1.85}.decorativeLine{letter-spacing:5px;color:#d59eb7;margin:11px 0 8px;font-size:13px}.button{color:#fff;letter-spacing:.01em;background:linear-gradient(115deg,#d37eaa,#ba5d8b);border:none;border-radius:100px;justify-content:center;align-items:center;gap:12px;width:100%;min-height:53px;padding:14px 22px;font-size:13px;font-weight:700;transition:transform .2s,box-shadow .2s,opacity .2s;display:inline-flex;box-shadow:0 11px 22px #c5639240}.button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 15px 25px #c563924a}.button:focus-visible,.choice:focus-visible,.gauge:focus-visible,.gaugeSlider:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #e6a5c2}.button:disabled{opacity:.5;box-shadow:none}.button.secondary{color:#af5b85;box-shadow:none;background:#fff;border:1px solid #e9c6d5}.welcomeFooter{color:#b98ca1;margin:24px 0 0;font-family:Playfair Display,serif;font-size:13px;font-style:italic}.siteFooter{color:#aa8295;letter-spacing:.04em;padding:18px 12px 0;font-size:10px}.siteFooter a{border-bottom:1px solid #e7c2d2;padding-bottom:2px;text-decoration:none}.entryForm{width:100%;max-width:310px;margin-top:3px}.fieldLabel{color:#b37391;letter-spacing:.19em;margin-bottom:12px;font-size:10px;font-weight:700;display:block}.entryForm input{text-align:center;letter-spacing:.45em;color:#7f385e;background:#fff9fb;border:1px solid #e6c4d4;border-radius:16px;outline:none;width:160px;height:57px;margin:0 auto 17px;font-size:26px;display:block}.entryForm input::placeholder{color:#d7a5bb}.entryForm input:focus{border-color:#c97aa0}.smallHint{color:#b38a9e;margin:15px 0 0;font-size:11px;line-height:1.6}.errorText{color:#b13565;margin:8px 0;font-size:12px}.progressDots{justify-content:center;gap:9px;margin-bottom:27px;display:flex}.progressDots span{background:#f2dce6;border-radius:8px;width:33px;height:4px}.progressDots span.active{background:#c7749c}.questionPage{padding-top:44px}.softDivider{color:#d5a0b9;margin:-8px 0 4px}.gaugeShell{width:100%;margin:0 0 5px}.gauge{touch-action:none;cursor:grab;width:100%;max-width:300px;margin:0 auto;display:block;overflow:visible}.gauge:active{cursor:grabbing}.gaugeNumber{fill:#933e65;font-family:Playfair Display,serif;font-size:53px;font-weight:500}.gaugeCaption{fill:#af8296;letter-spacing:2px;font-family:DM Sans,sans-serif;font-size:10px}.gaugeTick{fill:#ba90a1;font-family:DM Sans,sans-serif;font-size:11px}.feeling{color:#a74f79;min-height:30px;margin:3px 0 17px;font-family:Playfair Display,serif;font-size:21px}.gaugeSlider{accent-color:#c36a96;cursor:pointer;width:92%}.saveStatus{color:#a07489;min-height:16px;margin:14px 0 22px;font-size:11px}.questionPage .button{margin-top:0}.envelopeArt{color:#d38fb0;background:linear-gradient(140deg,#fff9fa,#edd0dd);border-radius:9px;justify-content:center;align-items:center;width:100px;height:80px;margin:21px 0 7px;font-size:57px;display:flex;position:relative;box-shadow:0 12px 20px #bd718e24}.envelopeArt .seal{color:#fff;background:#c56d98;border-radius:50%;place-items:center;width:24px;height:24px;font-size:18px;display:grid;position:absolute;bottom:4px;left:43px}.letterPaper{text-align:left;background:#fffdfc;border:1px solid #f6e5eb;border-radius:16px;width:100%;margin:18px 0 28px;padding:31px 29px;position:relative;box-shadow:0 12px 35px #ab5c7717}.letterPaper:after{content:"✿";color:#edc5d5;font-size:19px;position:absolute;bottom:15px;right:22px}.letterPaper p,.endingMessage p{color:#775466;margin:0 0 17px;font-size:13px;line-height:1.91}.letterPaper .letterGreeting{color:#b15e85;margin-bottom:23px;font-family:Playfair Display,serif;font-size:20px;font-style:italic}.letterPaper .letterSignature{color:#a24b73;margin:23px 0 2px;font-family:Playfair Display,serif;font-size:17px;font-style:italic}.miniFlowers{width:210px;height:148px;margin:5px auto 0}.decisionPrompt{color:#775366;max-width:340px;margin:1px 0 22px;font-size:14px;line-height:1.8}.choiceList{flex-direction:column;gap:11px;width:100%;margin-bottom:28px;display:flex}.choice{text-align:left;color:#89506e;background:#fff;border:1px solid #eed7e1;border-radius:15px;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:62px;padding:14px 15px;font-size:13px;transition:border .2s,background .2s,transform .2s;display:flex}.choice:hover{background:#fff7fa;transform:translateY(-1px)}.choice.chosen{background:#fff0f5;border-color:#cb83a3;box-shadow:0 4px 10px #c667930f}.choiceCircle{color:#fff;border:1.5px solid #d3a1b7;border-radius:50%;flex:0 0 21px;place-items:center;height:21px;display:grid}.choice.chosen .choiceCircle{background:#c7749b;border-color:#c7749b}.endingPage h2{margin:2px 0 14px;font-size:34px}.heartMark{color:#d38cad;font-family:Playfair Display,serif;font-size:36px;line-height:1}.endingMessage{text-align:center;width:100%;margin:7px 0 8px}.endingMessage p{margin-bottom:15px;font-size:13px}.endSignature{color:#a44d77;margin:4px 0 24px;font-family:Playfair Display,serif;font-size:20px;font-style:italic}.consentBackdrop{z-index:20;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#30192678;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.consentDialog{text-align:center;background:#fffbfd;border-radius:24px;width:min(100%,420px);padding:33px 30px;box-shadow:0 20px 70px #28192233}.consentDialog h3{margin:12px 0;font-size:26px}.consentDialog p{color:#7e6070;font-size:13px;line-height:1.75}.consentDialog a{color:#af557f;text-decoration:underline}.consentDialog a svg{vertical-align:middle}.consentDialog .button{margin-top:15px}.tinySpinner{border:3px solid #f2c6d8;border-top-color:#bd5d8b;border-radius:50%;width:34px;height:34px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.privacyPage{background:linear-gradient(135deg,#fff9fb,#fceef4);place-items:center;min-height:100svh;padding:28px;display:grid}.privacyCard{width:100%;max-width:590px;box-shadow:var(--shadow);background:#fff;border:1px solid #f2dee7;border-radius:24px;padding:42px}.privacyCard h1{font-size:36px}.privacyCard p{color:#785768;font-size:14px;line-height:1.85}.textLink{color:#ba5e89;margin-top:20px;font-weight:600;text-decoration:none;display:inline-block}.adminPage{color:#543345;background:#fdf8fa;min-height:100svh;padding:30px 18px}.adminContainer{max-width:1050px;margin:0 auto}.adminHead{justify-content:space-between;align-items:center;gap:12px;margin:7px 0 25px;display:flex}.adminHead h1{margin:5px 0;font-size:35px}.adminSub{color:#9b7488;font-size:13px}.adminPanel{background:#fff;border:1px solid #f0dfe6;border-radius:20px;margin-bottom:16px;padding:23px;box-shadow:0 7px 25px #a66e8510}.adminLogin{max-width:450px;margin:10vh auto 0}.adminLogin input{color:#5e3b4d;background:snow;border:1px solid #e9d5df;border-radius:12px;width:100%;height:52px;margin:12px 0 18px;padding:14px}.adminStats{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;display:grid}.statValue{color:#874667;margin-top:6px;font-family:Playfair Display,serif;font-size:35px}.statLabel{color:#9e7b8d;text-transform:uppercase;letter-spacing:.12em;font-size:11px}.adminTitle{margin:0 0 16px;font-family:Playfair Display,serif;font-size:25px}.adminPill{color:#945470;background:#f8e9f0;border-radius:99px;padding:6px 10px;font-size:11px}.adminTableWrap{overflow:auto}.adminTable{border-collapse:collapse;text-align:left;width:100%;min-width:580px;font-size:12px}.adminTable th{color:#9f7389;letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:700}.adminTable th,.adminTable td{border-bottom:1px solid #f2e6ec;padding:13px 8px}.adminTable td{color:#6d4c60}.adminTable tr:last-child td{border:0}.adminMuted{color:#a17d8f;font-size:12px;line-height:1.6}.adminButtons{flex-wrap:wrap;gap:8px;display:flex}.adminButtons button{color:#9a5276;background:#fff;border:1px solid #e6d5dd;border-radius:99px;width:auto;min-height:38px;padding:8px 17px;font-size:12px}.adminButtons button:hover{background:#fff0f6}.trendChart{width:100%;height:auto;max-height:260px;overflow:visible}.chartGrid{stroke:#f0e4ea;stroke-width:1px}.chartText{fill:#ad899b;font:11px DM Sans,sans-serif}.chartLegend{color:#88647a;flex-wrap:wrap;gap:19px;margin:11px 0 0;font-size:12px;display:flex}.chartLegend span:before{content:"";background:#dc7d9e;border-radius:50%;width:9px;height:9px;margin-right:7px;display:inline-block}.chartLegend span+span:before{background:#806dba}.adminGrid2{grid-template-columns:1.3fr 1fr;gap:15px;display:grid}.detailRow{border-bottom:1px solid #f4e6ed;justify-content:space-between;gap:12px;padding:12px 0;font-size:13px;display:flex}.detailRow:last-child{border:0}.detailRow .label{color:#9e7d8e}.adminNotice{color:#93687f;background:#fff6f8;border-radius:13px;padding:13px 16px;font-size:12px;line-height:1.6}.adminEmpty{text-align:center;color:#ad899b;padding:40px 15px;font-family:Playfair Display,serif;font-size:19px;font-style:italic}.adminTopFoot{color:#b391a2;text-align:center;padding-bottom:20px;font-size:11px}@media (max-width:600px){.mainShell{align-items:flex-start;padding:12px 10px 15px}.experience{max-width:490px;margin:auto}.siteHeader{padding:10px 12px 13px}.mainCard{border-radius:26px}.mainCard:before{border-radius:20px;inset:8px}.entryPage,.welcomePage,.questionPage,.letterPage,.decisionPage,.endingPage{padding:33px 24px}.floralScene{height:206px}.floralScene.large{height:224px}.letterPaper{padding:24px 20px}.siteFooter{padding:13px 12px 0}.miniFlowers{height:128px}.adminStats{grid-template-columns:repeat(2,minmax(0,1fr))}.adminGrid2{grid-template-columns:1fr}.adminHead h1{font-size:30px}.adminPanel{padding:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.privacyInline{max-width:320px;margin-top:17px;font-size:10.5px;line-height:1.75}.privacyInline a{color:#a3567f;text-underline-offset:3px;font-weight:600}.siteFooter a{text-align:right;font-size:10px;line-height:1.45}.visitDetailsList{flex-direction:column;gap:10px;margin-top:15px;display:flex}.visitDetails{background:#fffafb;border:1px solid #eedee5;border-radius:14px;overflow:hidden}.visitDetails summary{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:16px;list-style:none;display:flex}.visitDetails summary::-webkit-details-marker{display:none}.visitDetails summary strong{color:#74405c;font-size:13px;font-weight:700}.visitDetails summary .adminMuted{font-size:11px}.visitDate{margin-top:5px;line-height:1.6;display:block}.visitDetails[open]{border-color:#d9a5bf;box-shadow:0 8px 25px #b66c9112}.visitDetails[open] summary{background:#fff5f8}.visitDetails summary .adminPill{white-space:nowrap}.technicalGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;padding:12px 18px 4px;display:grid}.technicalItem{border-bottom:1px solid #f5e9ef;flex-direction:column;gap:4px;min-width:0;padding:10px 0;display:flex}.technicalItem .adminMuted{font-size:10px}.technicalItem strong{color:#805069;overflow-wrap:anywhere;font-size:12px;font-weight:600}.uaBox{background:#fff6fa;border-radius:12px;flex-direction:column;gap:7px;margin:15px 18px 19px;padding:13px;display:flex}.uaBox code{overflow-wrap:anywhere;color:#876579;font-size:10px;line-height:1.6}@media (max-width:530px){.technicalGrid{grid-template-columns:1fr}.siteFooter{gap:6px}.siteFooter a{text-align:right;max-width:55%}}.testModeRibbon{color:#36496e;background:#eaf0ff;border:1px solid #adbbda;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px;padding:11px 13px;font-size:12px;font-weight:700;line-height:1.4;display:flex;box-shadow:0 7px 18px #44659b14}.testModeRibbon button{color:#304a7b;white-space:nowrap;background:#fff;border:1px solid #9cafd1;border-radius:99px;padding:8px 13px;font-size:11px;font-weight:700}.testModeRibbon button:hover{background:#e0eaff}.testControlPanel{flex-direction:column;gap:13px;display:flex}.testControlPanel .adminTitle{margin-bottom:5px}.testControlPanel .adminMuted{margin:0}.historyTabs{flex-wrap:wrap;gap:8px;display:flex}.historyTabs button{color:#885875;cursor:pointer;background:#fff;border:1px solid #e2cede;border-radius:99px;padding:11px 15px;font-size:12px;font-weight:650}.historyTabs button.active{color:#fff;background:#bc6994;border-color:#bc6994;box-shadow:0 6px 16px #a8588328}.historyTabs button:focus-visible,.testModeRibbon button:focus-visible{outline-offset:2px;outline:3px solid #a682c7}@media (max-width:480px){.testModeRibbon{font-size:10px}.testModeRibbon button{padding:7px 10px;font-size:10px}.historyTabs button{padding:10px 12px;font-size:11px}}.dataControls{border-top:1px solid #f3e3eb;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:14px;padding-top:16px;display:flex}.dataControls .adminMuted{flex:320px;max-width:615px;line-height:1.65}.deleteButton,.deleteAttemptButton{color:#96516e;cursor:pointer;background:#fff8fa;border:1px solid #d7a7b9;border-radius:10px;font-family:DM Sans,sans-serif;font-weight:600;transition:background .15s}.deleteButton{min-height:41px;padding:10px 17px;font-size:12px}.deleteAttemptButton{white-space:nowrap;padding:7px 9px;font-size:11px}.deleteButton:hover:not(:disabled),.deleteAttemptButton:hover:not(:disabled){background:#f6dfe8}.deleteButton:disabled,.deleteAttemptButton:disabled{opacity:.45;cursor:not-allowed}.successNotice{color:#486956;background:#f3faf6;border:1px solid #c5e1ce;border-radius:10px;padding:11px 13px;font-size:12px}@media (max-width:600px){.dataControls{flex-direction:column;align-items:stretch;gap:12px}.dataControls .adminMuted{flex:none;width:100%;max-width:none}.deleteButton{align-self:flex-start}}.deleteOverlay{z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#2e1a288c;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0;overflow:auto}.deleteModal{color:#67465a;background:#fffdfd;border:1px solid #f1d9e3;border-radius:22px;width:min(100%,460px);max-height:calc(100dvh - 36px);padding:26px;position:relative;overflow-y:auto;box-shadow:0 26px 80px #321c303d}.deleteModalIcon{color:#a25178;background:#fbe8ef;border-radius:50%;justify-content:center;align-items:center;width:46px;height:46px;margin-bottom:12px;display:flex}.deleteModal h2{margin:2px 0 10px;font-size:27px}.deleteModal p.adminMuted{margin:0 0 18px;line-height:1.75}.deleteForm{flex-direction:column;gap:10px;display:flex}.deleteForm label{color:#75465f;margin-top:5px;font-size:12px;font-weight:600}.deleteForm input{color:#63374d;background:#fff;border:1px solid #ddbecd;border-radius:11px;width:100%;min-height:48px;padding:13px;font-size:16px;display:block}.deleteForm input:focus-visible{outline-offset:1px;outline:2px solid #cc80a2}.deleteFormActions{justify-content:stretch;gap:10px;margin-top:15px;display:flex}.deleteFormActions button{border:1px solid #d5a2b7;border-radius:10px;flex:1;min-height:46px;padding:10px 12px;font-size:12px;font-weight:700}.cancelDelete{color:#8f5572;background:#fff}.confirmDelete{background:#9f4f71;color:#fff!important;border-color:#9f4f71!important}.confirmDelete:disabled{opacity:.4;cursor:not-allowed}@media (max-width:460px){.deleteModal{padding:22px 18px}.deleteFormActions{flex-direction:column-reverse}.deleteFormActions button{width:100%}}
