﻿:root{color-scheme:dark;--bg:oklch(14% .008 355);--surface:oklch(19% .008 355);--surface-hover:oklch(23% .009 355);--rose:#ff5c7a;--text:oklch(97% .005 355);--muted:oklch(76% .008 355);--line:oklch(32% .01 355);--error:#ffb6b6;--display:Arial,Helvetica,sans-serif;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;line-height:1.5}button,input,textarea,select{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:inherit;text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--rose);outline-offset:4px}button,input,textarea{max-width:100%}[hidden],.hidden{display:none!important}h1,h2,h3,p{margin-top:0}h1,h2{line-height:1.15;letter-spacing:-.035em;text-wrap:balance}h1{font-size:2rem;margin-bottom:18px}h2{font-size:1.6rem}p{color:var(--muted);margin-bottom:24px}em{font-style:normal;color:var(--rose)}strong{color:var(--text)}.app-shell{max-width:480px;min-height:100svh;margin:auto;padding:0 24px;position:relative;display:flex;flex-direction:column;background:var(--bg)}.topbar{display:flex;align-items:center;justify-content:space-between;padding:26px 0 22px;position:relative;z-index:2;gap:16px}.logo{display:inline-flex;align-items:center;gap:9px;font-size:1.35rem;font-weight:750;text-decoration:none;letter-spacing:-.04em;white-space:nowrap}.logo svg{fill:var(--rose);width:23px;height:30px}.logo-mark{color:var(--rose)}.step-count{color:var(--muted);font-size:.875rem}.menu summary{list-style:none;cursor:pointer;font-size:1.5rem;color:var(--rose);min-width:44px;min-height:44px;text-align:right}.menu summary::-webkit-details-marker{display:none}.menu nav{position:absolute;right:0;top:70px;padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:16px;min-width:180px;box-shadow:0 16px 40px #0008}.menu a{display:block;padding:12px;text-decoration:none}.menu a:hover{color:var(--rose)}.step-track{display:flex;gap:5px;margin:0 0 4px;position:relative;z-index:1}.step-track span{height:5px;flex:1;border-radius:4px;background:var(--surface-hover)}.step-track .done{background:var(--rose)}#main{flex:1;display:flex;flex-direction:column;outline:none}#reviewForm{flex:1;display:flex;flex-direction:column}.screen{flex:1;display:flex;flex-direction:column;animation:arrive .2s ease-out}.question-content{padding:64px 0 32px}.text-field,textarea{display:block;width:100%;background:var(--surface);border:1px solid var(--line);color:var(--text);border-radius:13px;padding:18px 20px;min-height:60px;outline:none}.text-field{margin:48px 0 12px}.text-field::placeholder,textarea::placeholder{color:oklch(69% .008 355)}.text-field:focus,textarea:focus{border-color:var(--rose)}.text-field[aria-invalid=true]{border-color:var(--error)}.microcopy{font-size:.8125rem;line-height:1.55;color:var(--muted);margin-bottom:16px}.eyebrow{font-size:.75rem;letter-spacing:.08em;margin-bottom:16px}.centered{text-align:center}.funnel-footer{margin-top:auto;padding:0 0 16px}.actions{display:flex;gap:16px}.button,.button-back,.ghost-button,.demo-button{display:inline-flex;justify-content:center;align-items:center;gap:18px;min-height:54px;padding:14px 20px;border-radius:13px;border:1px solid var(--line);font-weight:700;text-decoration:none;background:var(--surface);color:var(--text);transition:background .18s,transform .18s}.button-rose{background:var(--rose);border-color:var(--rose);color:#240b13;flex:1}.button-rose:hover{background:#ff7892}.button-rose:active,.button-back:active{transform:scale(.98)}.button span{font-size:1.5rem;line-height:1}.button-back{min-width:58px;font-size:1.5rem;background:var(--surface)}.button-back:hover,.ghost-button:hover{background:var(--surface-hover)}.form-error,.alert-message{color:var(--error);font-size:.875rem;white-space:normal;overflow-wrap:anywhere}.form-error:empty{display:none}.legal-footer{display:flex;align-items:center;justify-content:center;gap:12px;font-size:.6875rem;color:var(--muted);padding:10px 0 16px}.legal-footer a{padding:8px 0}.landing-screen{position:relative;isolation:isolate;min-height:calc(100svh - 150px);justify-content:flex-end;padding-top:96px}.landing-art{position:absolute;z-index:-1;inset:-104px -24px 0;background:linear-gradient(90deg,#0d0a0ceb 0%,#0d0a0c60 68%),linear-gradient(0deg,var(--bg) 6%,transparent 70%),url('/assets/portrait.webp') 60% 20%/cover no-repeat;opacity:.72;pointer-events:none}.landing-copy{margin:auto 0 30px}.landing-copy h1{font-size:3rem;line-height:1.05;letter-spacing:-.045em;margin-bottom:22px}.landing-copy .lead{font-size:1.12rem;line-height:1.5;color:var(--text)}.landing-copy .eyebrow{color:var(--muted);font-size:.6875rem}.trust-row{display:flex;justify-content:space-between;gap:12px;margin:12px 0 30px;text-align:center}.trust-row>div{flex:1}.trust-icon{display:flex;align-items:center;justify-content:center;margin:0 auto 10px;width:48px;height:48px;border:1px solid #ff5c7a26;border-radius:18px;background:#ff5c7a09;color:var(--rose);font-size:1.7rem}.trust-row strong{font-size:.8125rem;font-weight:500;line-height:1.4;display:block}.landing-actions{display:block}.landing-actions .button{width:100%}.landing-actions .microcopy{text-align:center;margin:12px 0 0;font-size:.75rem}.art-caption{display:block;text-align:center;font-size:.625rem;color:var(--muted);margin-top:10px}.age-picker{display:flex;align-items:center;justify-content:center;gap:20px;margin:40px 0 16px}.age-button{width:48px;height:48px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--rose);font-size:1.5rem}.age-wheel{width:150px;border:1px solid var(--line);border-radius:16px;overflow:hidden;text-align:center;padding:12px 0;background:var(--bg)}.age-wheel span{display:block;color:oklch(53% .008 355);font-size:1.5rem;padding:4px}.age-wheel input{width:100%;border:0;border-radius:0;text-align:center;background:var(--rose);color:#240b13;font-size:2rem;font-weight:750;padding:8px 0;appearance:textfield;-moz-appearance:textfield}.age-wheel input::-webkit-inner-spin-button{appearance:none}.tone-options{padding:0;border:0;margin:32px 0 0;display:grid;gap:12px}.choice{display:flex;align-items:center;gap:16px;padding:20px 16px;border:1px solid var(--line);background:var(--surface);border-radius:15px;cursor:pointer;min-height:88px}.choice:has(input:checked){border-color:var(--rose);box-shadow:inset 0 0 0 1px var(--rose);background:#ff5c7a09}.choice strong{display:block;font-size:.9375rem}.choice small{display:block;color:var(--muted);font-size:.8125rem;margin-top:4px}input[type=radio],input[type=checkbox]{accent-color:var(--rose);width:22px;height:22px;flex-shrink:0;margin:0}.privacy-screen .question-content{padding-top:32px}.privacy-points{display:grid;gap:10px}.privacy-points>div{display:flex;align-items:flex-start;gap:16px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px}.privacy-points p{margin:0}.privacy-points strong{display:block;font-size:.875rem}.privacy-points small{display:block;font-size:.8125rem;line-height:1.5;margin-top:4px}.line-icon{color:var(--rose);font-size:1.8rem;line-height:1.2}.privacy-screen .microcopy{margin:16px 0}.checks{display:grid;gap:14px}.checks label{display:flex;gap:12px;font-size:.8125rem;align-items:flex-start;cursor:pointer}.checks a{color:var(--rose)}.photo-screen .question-content{padding-top:32px}.photo-list{display:grid;gap:12px}.upload-row{position:relative;display:flex;align-items:center;gap:14px;min-height:92px;border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:14px}.upload-row:focus-within{border-color:var(--rose)}.upload-row label{display:flex;align-items:center;gap:14px;flex:1;cursor:pointer;min-width:0}.upload-row input{position:absolute;width:1px;height:1px;opacity:0}.upload-icon{display:flex;align-items:center;justify-content:center;width:48px;height:54px;flex-shrink:0;border-radius:9px;background:var(--bg);color:var(--rose);font-size:1.6rem}.upload-row strong{font-size:.875rem;display:block}.upload-row small{font-size:.75rem;color:var(--muted);display:block;margin-top:4px;overflow-wrap:anywhere}.photo-preview{width:48px;height:58px;border-radius:8px;object-fit:cover}.remove-photo{background:none;color:var(--muted);border:0;width:44px;height:44px;font-size:1.4rem;flex-shrink:0}.photo-guide{margin:20px 0 16px;font-size:.875rem}.photo-guide summary{color:var(--rose);min-height:44px;cursor:pointer;padding:10px 0}.example-pair{display:flex;gap:16px;padding:16px 0}.example-pair figure{margin:0;flex:1;font-size:.75rem}.example-pair svg{width:100%;max-height:120px;background:var(--surface);border-radius:10px;fill:none;stroke:var(--rose);stroke-width:2}.large-icon{display:block;color:var(--rose);font-size:2.5rem;margin-bottom:24px}.checkout-summary{border:1px solid var(--line);border-radius:18px;background:var(--surface);padding:28px 20px;text-align:center;margin:28px 0 20px}.checkout-summary>strong{display:block;font-size:3.5rem;line-height:1.2;margin:10px 0}.checkout-summary>strong small{font-size:.8125rem;color:var(--muted)}.checkout-summary p{font-size:.875rem}.checkout-summary .button{width:100%}.pay-screen .question-content{padding-top:40px}.pay-screen .support,.mode-note{font-size:.8125rem}.mode-note{color:var(--rose)}.demo-button{width:100%;background:var(--rose);color:#240b13;border-color:var(--rose)}.demo-indicator{position:fixed;bottom:0;left:0;right:0;z-index:10;background:var(--rose);color:#240b13;text-align:center;font-size:.6875rem;padding:4px;font-weight:700}body:has(.demo-indicator:not([hidden])){padding-bottom:24px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:12px;z-index:30;background:var(--rose);color:#240b13;padding:10px}.skip-link:focus{top:10px}@keyframes arrive{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
/* Waiting, result, policy and owner views use the same quiet visual language. */
.wrapper{width:min(100% - 48px,1000px);margin-inline:auto}.simple-layout>.topbar{max-width:560px}.stage-shell{max-width:480px;min-height:calc(100svh - 180px);padding:48px 0 20px}.stage-card{text-align:center}.stage-card h1{font-size:2rem;margin-top:22px}.stage-card .lead{font-size:1rem}.live-badge,.pill{display:inline-block;border:1px solid #ff5c7a55;color:var(--rose);border-radius:12px;padding:5px 10px;font-size:.75rem}.review-orbit{width:86px;height:86px;border:6px solid var(--surface-hover);border-top-color:var(--rose);border-radius:50%;margin:32px auto;animation:breathe 2s ease-in-out infinite}.review-orbit.complete{border-color:var(--rose);display:grid;place-items:center;font-size:2rem;color:var(--rose);animation:none}.status-list{text-align:left;margin:28px auto;list-style:none;padding:0;max-width:320px}.status-list li{display:flex;gap:14px;align-items:center;padding:9px 0;color:var(--muted);font-size:.875rem}.status-list li:before{content:'○';color:var(--muted);font-size:1.4rem;line-height:1}.status-list li.done:before{content:'✓';color:var(--rose)}.note-box{padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:14px;font-size:.875rem;text-align:left;margin:24px 0}.note-box p{margin:4px 0 0}.real-status{color:var(--rose);font-size:.875rem}.result-cta{width:100%}.result-hidden{display:none}.result-revealed #beforeReveal{display:none}.result-revealed .result-hidden{display:block}.result-score{font-size:5rem;font-weight:750;letter-spacing:-.07em;color:var(--rose);margin:30px 0 16px}.result-score small{font-size:1.5rem;color:var(--muted);letter-spacing:0}.verdict-copy{font-size:1.2rem;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.result-actions{display:grid;gap:12px;margin:30px 0 16px}.result-caption{font-size:.75rem}.footer{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;padding:24px 0;color:var(--muted);font-size:.75rem}.footer>div{display:flex;gap:20px}.simple-main{max-width:760px;padding-block:36px}.content-box h2{margin:32px 0 12px;font-size:1.3rem}.content-box li{margin-bottom:12px;color:var(--muted)}.tiny-label,.section-kicker{font-size:.75rem;color:var(--muted)}.admin-dashboard{padding:32px 0}.admin-heading{display:flex;justify-content:space-between;gap:20px}.admin-heading h1{margin:12px 0}.admin-stats{display:flex;gap:32px;margin:28px 0}.admin-stat b{display:block;color:var(--rose);font-size:2rem}.admin-stat span{font-size:.75rem;color:var(--muted)}.admin-grid{display:grid;grid-template-columns:320px 1fr;gap:32px}.admin-order{display:block;width:100%;padding:16px;text-align:left;border:1px solid var(--line);border-radius:12px;margin:0 0 12px;background:var(--surface);color:var(--text);overflow-wrap:anywhere}.admin-order.selected{border-color:var(--rose)}.admin-order small{display:block;color:var(--muted);margin-top:8px}.admin-order .pill{margin-top:8px}.admin-meta{white-space:pre-line;font-size:.875rem;color:var(--muted);overflow-wrap:anywhere}.admin-photos{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}.admin-photos figure{margin:0}.admin-photos img{width:100%;max-height:300px;object-fit:contain;background:var(--surface);border-radius:12px}.admin-photos figcaption{font-size:.75rem;color:var(--muted)}.admin-form{display:grid;gap:12px}.admin-form input{min-height:50px;border:1px solid var(--line);padding:12px;background:var(--surface);border-radius:10px;color:var(--text)}.admin-form label{font-size:.8125rem}.admin-form textarea{min-height:160px;resize:vertical}.preview-card{padding:20px;border:1px solid var(--line);border-radius:14px;overflow-wrap:anywhere;white-space:pre-wrap}.preview-card strong{color:var(--rose)}.resolve-actions{display:grid;gap:12px;margin:20px 0}@keyframes breathe{50%{opacity:.45}}
@media(min-width:700px){body{background:oklch(11% .006 355)}.app-shell{margin:32px auto;min-height:800px;border:1px solid var(--line);border-radius:24px;overflow:hidden;padding:0 32px;box-shadow:0 24px 100px #0003}.landing-screen{min-height:660px}.landing-art{inset:-104px -32px 0}.question-content{padding-top:72px}.privacy-screen .question-content,.photo-screen .question-content{padding-top:32px}.legal-footer{margin-top:0}.landing-copy h1{font-size:3.25rem}}
@media(max-width:650px){.admin-grid{grid-template-columns:1fr}.admin-heading{display:block}.simple-layout .topbar{align-items:center}.simple-layout .tiny-label{max-width:130px;text-align:right}.stage-shell{padding-top:36px}.question-content{padding-top:56px}.privacy-screen .question-content,.photo-screen .question-content{padding-top:28px}}
@media(max-height:730px){.landing-screen{padding-top:48px}.landing-copy{margin-bottom:16px}.trust-row{margin:8px 0 20px}.question-content{padding-top:36px}.landing-copy h1{font-size:2.8rem}.landing-copy .lead{font-size:1rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Visual inspection fixes: consistent icons, stable skip link, non-overlapping demo disclosure. */
.icon{display:block;width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.line-icon{flex-shrink:0;padding-top:2px}.skip-link{top:0;transform:translateY(-200%)}.skip-link:focus{top:10px;transform:none}.demo-indicator{position:relative;inset:auto;padding:5px 12px}body:has(.demo-indicator:not([hidden])){padding-bottom:0}.admin-heading{align-items:flex-start}.admin-order .pill{display:table}.preview-card p:last-child{margin-bottom:0}
.skip-link{position:absolute}.skip-link:focus{position:fixed}
/* Rose refinement: existing questionnaire and shared components. */
:root{--bg:oklch(14% .006 355);--surface:oklch(18% .008 355);--surface-hover:oklch(23% .012 355);--line:oklch(30% .012 355);--rose:#ff5c7a;--soft-pink:#ff7892}
.checkout-promises{list-style:none;padding:16px 0 20px;margin:0;text-align:left;display:grid;gap:12px;font-size:.8125rem;color:var(--muted)}.checkout-promises li:before{content:'✓';color:var(--soft-pink);margin-right:10px}.checkout-summary{background:linear-gradient(145deg,#ff5c7a0b,transparent 65%),var(--surface)}.checkout-summary>strong{margin:14px 0 4px;font-size:4rem;letter-spacing:-.045em}.pay-screen .question-content{padding-top:40px}.pay-screen h1{font-size:2.2rem}.pay-screen .checkout-summary .eyebrow{color:var(--soft-pink)}
.waiting-layout{max-width:520px;margin:16px auto;border:1px solid var(--line);border-radius:26px;background:var(--bg);padding:0 24px}.waiting-layout .wrapper{width:100%;max-width:none}.waiting-layout .topbar{padding:26px 0}.waiting-layout .stage-shell{padding:4px 0 12px;min-height:0}.waiting-layout .stage-card{text-align:left}.waiting-layout .stage-card h1{font-size:2.1rem;margin-top:20px;max-width:360px}.waiting-layout .lead{margin-bottom:8px}.waiting-layout .live-badge{font-size:.75rem}.connection-scene{height:132px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.connection-scene .review-orbit{display:grid;place-items:center;position:relative;width:72px;height:72px;margin:0;background:var(--bg);font-size:2rem;color:var(--soft-pink);border:1px solid #ff5c7a66;animation:none}.review-orbit:before,.review-orbit:after{content:'';position:absolute;inset:-9px;border:1px solid #ff5c7a44;border-radius:50%;animation:ring-glow 3s ease-in-out infinite}.review-orbit:after{inset:-19px;animation-delay:1s}.connection-line{position:absolute;width:80%;height:1px;background:linear-gradient(90deg,transparent,#ff789277,transparent)}.connection-dot{width:6px;height:6px;border-radius:50%;background:var(--soft-pink);position:absolute;box-shadow:0 0 12px #ff5c7a88;animation:connection-drift 4s ease-in-out infinite}.dot-one{left:14%}.dot-two{right:18%;animation-delay:2s}.activity-bars{position:absolute;right:4px;bottom:18px;display:flex;align-items:center;gap:3px;height:24px}.activity-bars i{height:18px;width:3px;background:var(--soft-pink);border-radius:4px;opacity:.4;animation:chart-wave 2.8s ease-in-out infinite}.activity-bars i:nth-child(3n){animation-delay:.6s;height:10px}.activity-bars i:nth-child(2n){animation-delay:1.2s;height:24px}.persona-scroll{height:310px;overflow-y:auto;overscroll-behavior:contain;border-block:1px solid var(--line);scrollbar-width:thin;scrollbar-color:#77404e transparent}.persona-scroll ul{list-style:none;padding:0;margin:0}.persona-scroll li{display:flex;gap:18px;align-items:center;height:68px;margin:0;border-bottom:1px solid #ff789210;animation:persona-reveal .5s both;animation-delay:var(--delay);font-size:1rem;font-weight:600}.persona-scroll img{border-radius:50%;object-fit:cover;border:2px solid #ff78924d;box-shadow:0 0 12px #ff5c7a0d;flex-shrink:0}.persona-disclosure{font-size:.75rem;line-height:1.6;margin:14px 0 24px;color:var(--muted)}.privacy-reassurance{border:1px solid var(--line);border-radius:18px;padding:20px 16px;display:grid;gap:22px}.privacy-reassurance>div{display:flex;gap:14px}.privacy-reassurance>div>span{display:grid;place-items:center;flex:0 0 38px;height:40px;color:var(--soft-pink);font-size:1.5rem;background:#ff5c7a0b;border:1px solid #ff5c7a26;border-radius:12px}.privacy-reassurance p{font-size:.8125rem;line-height:1.55;margin:0}.privacy-reassurance strong{display:block;font-size:.875rem;margin-bottom:4px}.email-confirmation{display:flex;gap:16px;padding:22px 0;margin:10px 0 0;border-bottom:1px solid var(--line)}.email-confirmation>span{font-size:2rem;color:var(--soft-pink)}.email-confirmation div{min-width:0}.email-confirmation div>span,.email-confirmation p{font-size:.75rem}.email-confirmation strong{display:block;overflow-wrap:anywhere;font-size:1rem;margin:4px 0}.email-confirmation p{margin:0}.waiting-layout .real-status{font-size:.8125rem;margin-top:24px;color:var(--soft-pink)}.waiting-layout .status-list{font-size:.8125rem}.waiting-layout .note-box{margin-top:24px;text-align:left}.waiting-layout .button{width:100%}.waiting-layout .footer{padding:20px 0}.waiting-layout .microcopy{overflow-wrap:anywhere;font-size:.6875rem}.waiting-layout .note-box p{font-size:.8125rem;margin-bottom:0}
@keyframes ring-glow{50%{opacity:.3;transform:scale(1.07)}}@keyframes connection-drift{50%{transform:translateX(24px);opacity:.3}}@keyframes chart-wave{50%{transform:scaleY(.35);opacity:.2}}@keyframes persona-reveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:550px){.waiting-layout{margin:0 auto;border:0;border-radius:0;padding:0 22px}.waiting-layout .stage-card h1{font-size:2rem}.privacy-reassurance{padding:18px 14px}.pay-screen h1{font-size:2rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.waiting-layout .stage-card{animation:arrive .3s ease-out}.persona-scroll li{position:relative}.persona-scroll li:after{content:"";width:5px;height:5px;background:var(--soft-pink);border-radius:50%;box-shadow:0 0 10px #ff789255;margin-left:auto;margin-right:10px;opacity:.6}.waiting-layout .real-status{position:relative}.waiting-layout .live-badge{color:#ffb1c1;border-color:#ff789244;background:#ff5c7a0d}

.demo-preview-link{display:inline-block;margin-left:8px;padding:6px 4px;color:var(--soft-pink);font-weight:700;text-decoration:underline}.demo-indicator{line-height:1.5;text-align:center}

.prepay-intro{margin:32px 0}.prepay-intro h2{font-size:1.35rem;margin-bottom:8px}.prepay-intro>p{font-size:.875rem;margin-bottom:0}.checkout-experience .review-orbit{font-size:2rem}.checkout-experience .privacy-reassurance{margin-bottom:24px}.checkout-experience .persona-disclosure{margin-bottom:24px}.checkout-experience .privacy-reassurance strong{font-size:.8125rem}
.experience-screen .question-content{padding-top:40px}.experience-screen .prepay-intro{margin:0}

.connection-scene{margin-bottom:20px}
