@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap";:root{--paper:#f8f2ea;--paper-light:#fffaf4;--ink:#30242c;--muted:#84767b;--plum:#71465d;--coral:#d67e69;--line:#e8d8cf;--white:#fffdf9;--serif:"Playfair Display", Georgia, serif;--sans:"DM Sans", Arial, sans-serif}*{box-sizing:border-box}html{background:var(--paper)}body{color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px}button{font:inherit}button:focus-visible{outline-offset:3px;outline:3px solid #e4a08d}.app{background:radial-gradient(circle at 78% 16%, #fce4da 0, transparent 27rem), var(--paper);min-height:100svh;position:relative;overflow:hidden}.ambient{pointer-events:none;border:1px solid #d67e6933;border-radius:50%;position:absolute}.ambient--one{width:27rem;height:27rem;top:-15rem;right:-10rem}.ambient--two{width:20rem;height:20rem;bottom:-13rem;left:-11rem}.topbar{z-index:2;justify-content:space-between;align-items:center;max-width:1180px;margin:auto;padding:24px 20px;display:flex;position:relative}.brand{color:var(--plum);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:9px;font-size:11px;font-weight:700;display:flex}.flower-mark{fill:none;width:88px;height:88px;stroke:var(--coral);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.15px}.flower-mark__detail{stroke-width:.7px}.flower-mark--small{stroke-width:2px;width:25px;height:25px}.mode-button{color:var(--muted);cursor:pointer;background:0 0;border:0;min-height:44px;padding:8px 0 8px 12px;font-size:12px}.mode-button:hover{color:var(--plum)}main{z-index:1;align-items:center;max-width:1180px;min-height:calc(100svh - 126px);margin:auto;padding:16px 20px 60px;display:flex;position:relative}.confession-layout{gap:28px;width:100%;display:grid}.intro-panel{padding-top:6px}.hero-flower{transform-origin:50%;margin-bottom:18px;transform:rotate(-9deg)}.eyebrow{color:var(--coral);letter-spacing:.15em;text-transform:uppercase;font-size:11px;font-weight:700;display:block}.intro-panel h1,.closing-card h1,.owner-heading h1{max-width:460px;font:500 clamp(2.3rem, 9vw, 4.9rem)/1.05 var(--serif);letter-spacing:-.045em;margin:13px 0}.intro-panel h1 em{color:var(--plum);font-weight:500}.signature{color:var(--muted);font:italic 1.05rem var(--serif);margin:0}.question-panel{border:1px solid var(--line);background:#fffdf9c7;max-width:530px;padding:25px;box-shadow:0 20px 50px #5b373d12}.progress-row{color:var(--muted);letter-spacing:.13em;text-transform:uppercase;justify-content:space-between;font-size:10px;display:flex}.progress-bar{background:var(--line);height:2px;margin:12px 0 28px}.progress-bar span{background:var(--coral);height:100%;transition:width .3s;display:block}.question-lead{font:italic 1.3rem/1.35 var(--serif);color:var(--plum);margin:0 0 10px}.question-body{color:var(--muted);margin:0 0 25px;font-size:.93rem;line-height:1.7}.question-panel h2{font:600 1.1rem/1.4 var(--sans);margin:0 0 17px}.answer-list{gap:10px;display:grid}.answer-button,.primary-button{border:1px solid var(--plum);background:var(--plum);color:#fff;cursor:pointer;text-align:left;justify-content:space-between;align-items:center;width:100%;min-height:52px;padding:13px 16px;transition:transform .2s,background .2s,color .2s;display:flex}.answer-button:hover{background:#895770;transform:translateY(-2px)}.answer-button+.answer-button{color:var(--plum);background:0 0}.answer-button+.answer-button:hover{background:#f4e9e4}.answer-button svg,.primary-button svg,.text-button svg{fill:none;stroke:currentColor;stroke-width:1.7px;width:18px;height:18px}.privacy-note{color:#a7989a;margin:20px 0 0;font-size:11px}.privacy-note:before{content:"•";color:var(--coral);margin-right:7px}.closing-card{text-align:center;border:1px solid var(--line);background:#fffdf9cc;width:min(100%,510px);margin:auto;padding:28px 25px}.closing-art{margin:-10px auto 10px}.closing-art .flower-mark{width:115px;height:115px}.closing-card h1{margin:12px auto 14px;font-size:clamp(2.4rem,10vw,4rem)}.closing-card p{max-width:390px;color:var(--muted);margin:0 auto 25px;font-size:.94rem;line-height:1.75}.primary-button{text-align:center;justify-content:center;gap:12px;margin:auto}.text-button{min-height:44px;color:var(--plum);cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:8px 0;font-size:.88rem;display:inline-flex}.closing-card .text-button{margin-top:12px}.success-stamp{border:1px solid var(--coral);width:58px;height:58px;color:var(--coral);border-radius:50%;place-items:center;margin:5px auto 20px;font-size:24px;display:grid}.owner-view{width:100%;max-width:820px;margin:auto}.owner-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px;display:flex}.owner-heading h1{margin-bottom:0;font-size:clamp(2.5rem,8vw,4.4rem)}.response-card{border:1px solid var(--line);background:#fffdf9cc}.response-meta{border-bottom:1px solid var(--line);color:var(--coral);letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;gap:10px;padding:18px 20px;font-size:11px;font-weight:700;display:flex}.response-meta time{color:var(--muted);letter-spacing:0;text-transform:none;font-weight:400}.response-row{border-bottom:1px solid var(--line);grid-template-columns:38px 1fr;gap:10px;padding:22px 20px;display:grid}.response-row:last-child{border:0}.response-row>span{color:var(--coral);font:italic 1.1rem var(--serif)}.response-row p{color:var(--muted);margin:0 0 7px;font-size:.83rem}.response-row strong{font:500 1.25rem var(--serif)}.empty-state{text-align:center;border:1px dashed var(--line);padding:55px 24px}.empty-icon{margin-bottom:10px}.empty-state h2{font:500 1.8rem var(--serif);margin:0 0 9px}.empty-state p{color:var(--muted);margin:0;font-size:.9rem}.shortcut-hint{color:#aa9a9b;justify-content:center;align-items:center;gap:6px;margin-top:28px;font-size:11px;display:flex}.shortcut-hint kbd{border:1px solid var(--line);background:var(--paper-light);font:10px var(--sans);padding:3px 6px}.shortcut-hint small{margin-left:5px;font-size:11px}.site-footer{z-index:1;color:#a99898;text-align:center;letter-spacing:.06em;padding:0 20px 22px;font-size:11px;position:relative}.site-footer span{color:var(--coral);margin:0 5px}.card-enter{animation:.55s cubic-bezier(.2,.8,.2,1) both rise}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (width>=720px){.topbar{padding:30px 42px}.main,main{padding-inline:42px}.confession-layout{grid-template-columns:minmax(280px,.9fr) minmax(400px,1.1fr);align-items:center;gap:7vw}.intro-panel{padding-left:3vw}.question-panel{padding:34px}.closing-card{padding:48px}.site-footer{padding-bottom:28px}}@media (width<=500px){.owner-heading{display:block}.owner-heading .text-button{margin-top:16px}.response-meta{line-height:1.7;display:block}.response-meta time{display:block}.shortcut-hint small{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.owner-note{color:var(--muted);margin:8px 0 0;font-size:.78rem}.owner-login{border:1px solid var(--line);background:#fffdf9cc;padding:24px}.owner-login label{color:var(--muted);margin-bottom:10px;font-size:.8rem;display:block}.owner-login__row{gap:10px;display:flex}.owner-login input{border:1px solid var(--line);background:var(--paper-light);min-width:0;color:var(--ink);font:inherit;flex:1;padding:0 14px}.owner-login .primary-button{width:auto}.primary-button:disabled{cursor:wait;opacity:.65}.save-error{color:#a44f4a;margin:14px 0 0;font-size:.82rem;line-height:1.5}.response-stack{gap:18px;display:grid}.response-meta--private{color:var(--muted);letter-spacing:0;text-transform:none;font-size:10px;font-weight:400}.response-meta--private span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
