*{box-sizing:border-box} :root{--gold:#d3af37;--deep:#a8872a;--ink:#1a1a1a;--muted:#6b7280;--pale:#fbf7e6}body{margin:0;color:var(--ink);font-family:Inter,Arial,sans-serif;background:#fafaf9}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:3px solid #a8872a;outline-offset:3px}button{transition:transform .18s,background .18s}button:active{transform:scale(.97)}h1,h2,h3,.wordmark{font-family:Outfit,Arial,sans-serif}h1,h2,h3,p{margin-top:0}.workspace{max-width:1420px;margin:auto;min-height:100vh;display:grid;grid-template-columns:1fr 410px .75fr;align-items:center;gap:65px;padding:40px 65px;background:radial-gradient(ellipse at 50% 65%,#f5e6b350,transparent 55%)}.wordmark{font-size:43px;font-weight:700;color:var(--deep);letter-spacing:-2px;display:flex;align-items:center;gap:22px}.wordmark span{font:600 10px Inter,sans-serif;letter-spacing:1.6px;color:#797570;border:1px solid #e5e3dc;padding:7px 9px;border-radius:5px}h1{font-size:58px;line-height:1.03;letter-spacing:-2px;margin:40px 0 20px}.intro{color:#6b7280;line-height:1.8;font-size:15px}.journey{margin:36px 0;display:grid;gap:8px}.stage{display:flex;align-items:center;gap:14px;color:#89877f;font-size:14px;padding:9px 0}.stage .number{border:1px solid #deddd7;border-radius:50%;width:29px;height:29px;display:grid;place-items:center;font-size:11px}.stage.active{color:#1a1a1a;font-weight:600}.stage.active .number{background:var(--gold);border-color:var(--gold)}.stage.done .number{background:#f5e6b3;border-color:#f5e6b3;color:var(--deep)}.guide-foot{border-top:1px solid #e7e5de;padding-top:20px}.guide-foot p{font-size:12px;line-height:1.7;color:var(--muted)}.reset{background:none;border:0;padding:4px 0;font-size:13px;color:#4b5563}.reset span{margin-left:20px}.device-wrap{justify-self:center}.device{width:390px;height:790px;border:8px solid #232426;border-radius:54px;background:#fff;box-shadow:0 0 0 2px #a6a5a1,0 0 0 4px #e4e3df,0 30px 60px #44381022;overflow:hidden;position:relative}.status{height:47px;display:flex;align-items:center;justify-content:space-between;padding:0 25px;font-size:12px;font-weight:700;position:relative}.island{width:110px;height:29px;border-radius:25px;background:#111;position:absolute;left:50%;top:7px;transform:translateX(-50%)}.app{height:calc(100% - 47px);position:relative;display:flex;flex-direction:column}.screen{flex:1;overflow:auto;padding:20px 20px 100px;animation:appear .25s ease}.screen.no-nav{padding-bottom:25px}.screen h2{font-size:30px;letter-spacing:-.8px;margin:0 0 6px}.sub{font-size:13px;color:var(--muted);line-height:1.6}.topline{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.icon-button{background:#fff;border:0;border-radius:50%;width:38px;height:38px;box-shadow:0 4px 15px #00000008;display:grid;place-items:center}.icon{width:21px;height:21px;display:inline-block;vertical-align:middle}.photo{position:relative;overflow:hidden;background:#eee;border-radius:22px;height:395px}.photo svg{width:100%;height:100%;display:block}.photo:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#0008)}.photo-info{position:absolute;bottom:18px;left:18px;right:18px;color:white;z-index:1}.photo-info h3{font-size:25px;margin:0 0 5px}.location{font-size:12px;color:#6b7280}.photo-info .location{color:#fff}.chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.chip{font-size:11px;background:#f3f4f6;border-radius:20px;padding:7px 10px;color:#4b5563}.photo-info .chip{background:#fffc;color:#333}.intention{background:var(--pale);color:#8b711e;padding:7px 12px;border-radius:30px;font-size:11px;margin:13px auto 0;width:max-content}.actions{display:flex;gap:28px;justify-content:center;margin-top:20px}.round-action{border:0;width:61px;height:61px;border-radius:50%;background:#fff;box-shadow:0 5px 18px #0001;color:#8d929a}.round-action.like{background:linear-gradient(135deg,var(--gold),var(--deep));color:white}.round-action .icon{width:28px;height:28px}.nav{position:absolute;bottom:14px;left:23px;right:23px;border-radius:45px;display:flex;background:#ffffffed;box-shadow:0 -5px 30px #00000006;padding:5px;z-index:5}.nav button{flex:1;border:0;background:transparent;border-radius:35px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:7px;font-size:10px;color:#292c33}.nav button.active{background:#f0f0ee;color:var(--deep)}.primary,.secondary{width:100%;padding:15px;border-radius:17px;font-size:14px;font-weight:600;border:0;margin-top:12px}.primary{background:linear-gradient(115deg,var(--gold),var(--deep));color:#fff}.secondary{background:white;border:1px solid var(--gold);color:var(--deep)}.white-button{background:white;color:var(--deep)}.avatar{width:56px;height:56px;border-radius:50%;overflow:hidden;flex:none;background:#f5e6b3}.avatar svg{width:100%;height:100%}.avatar.big{width:115px;height:115px;margin:24px auto}.avatar.call{width:160px;height:160px;border:10px solid var(--pale);margin:48px auto 30px}.profile-hero{height:240px;border-radius:19px;overflow:hidden}.profile-hero svg{width:100%;height:100%}.profile-content{padding-top:18px}.profile-content h3{font-size:17px;margin-top:22px;margin-bottom:9px}.profile-content p{font-size:13px;line-height:1.7}.segmented{display:flex;border-radius:30px;background:#f3f4f6;padding:5px;margin:16px 0 20px}.segmented button{flex:1;padding:11px;border:0;background:none;border-radius:25px;color:#6b7280;font-size:13px;font-weight:600}.segmented button.active{background:white;color:var(--deep);box-shadow:0 2px 8px #00000008}.gold-card{background:linear-gradient(125deg,#d3af37,#a8872a);border-radius:25px;padding:18px;color:white;box-shadow:0 10px 24px #d3af3724}.match-row{display:flex;gap:13px;align-items:center}.match-row h3{font-size:18px;margin:0 0 6px}.match-row p{font-size:11px;margin:0 0 7px}.countdown-small{font-size:12px}.progress{display:flex;align-items:center;justify-content:center;gap:16px;margin:26px 0}.progress-item{font-size:11px;text-align:center}.progress-circle{width:36px;height:36px;border-radius:50%;border:2px solid var(--gold);margin:0 auto 7px}.progress-circle.checked{background:var(--gold);color:white;display:grid;place-items:center;font-size:20px}.progress-line{height:2px;background:var(--gold);width:116px;margin-top:-18px}.schedule{text-align:center;padding:28px 22px}.clock-box{padding:12px;width:57px;height:57px;margin:auto auto 21px;border-radius:17px;background:#ffffff26}.schedule h3{font-size:23px;line-height:1.2;margin-bottom:13px}.schedule p{font-size:14px;line-height:1.6;color:#fffdf0}.timer-box{background:#ffffff24;border:1px solid #ffffff26;border-radius:22px;padding:20px 12px;margin:24px 0 12px}.timer-label{font-size:10px;letter-spacing:1.5px}.digits{display:flex;justify-content:center;gap:9px;margin:15px 0}.digits b{font-size:32px;background:#ffffff26;border-radius:12px;padding:7px}.digits small{display:block;font-size:9px;font-weight:400;margin-top:3px;letter-spacing:1px}.bar{height:5px;background:#fff4;border-radius:5px;margin:16px 4px 0}.bar:before{content:"";display:block;width:80%;height:100%;background:white;border-radius:5px}.prompt-card{border-radius:20px;background:#fafaf9;border:1px solid #eee;padding:18px;font-size:14px;line-height:1.6;margin-top:22px}.eyebrow{font-size:10px;letter-spacing:1.7px;color:var(--deep);font-weight:600}.context h2{font-size:30px;letter-spacing:-.8px;margin:14px 0}.context>p{font-size:14px;line-height:1.9;color:#6b7280}.hint{border-left:2px solid var(--gold);padding:5px 0 5px 17px;font-size:13px;line-height:1.8;margin-top:27px;color:#4b5563}.mini-brand{margin-top:100px;font:700 42px Outfit;color:#d3af37}.mini-brand-logo{width:56px;height:56px;display:block}.mini-brand span{display:block;font:12px Inter;color:#8a8983;margin-top:12px}.under-phone{text-align:center;font-size:11px;color:#8d8a7d;margin-top:22px}.date-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:20px 0}.choice{padding:12px 8px;border:1px solid #e5e7eb;background:white;border-radius:14px;font-size:13px;line-height:1.7}.choice.selected{border-color:var(--gold);background:var(--pale);color:var(--deep)}.choice strong{display:block;font-size:19px}.times{display:grid;grid-template-columns:1fr 1fr;gap:10px}.booking-summary{padding:18px;background:var(--pale);border-radius:20px;margin:24px 0;font-size:14px;line-height:1.8}.center{text-align:center}.wave{display:flex;gap:5px;align-items:center;justify-content:center;height:55px;margin:25px 0}.wave i{width:3px;background:var(--gold);border-radius:3px;animation:pulse 1.2s ease-in-out infinite alternate}.call-timer{font-size:24px;font-weight:600;text-align:center}.call-timer .call-countdown{font-variant-numeric:tabular-nums}.call-timer .call-remaining{font-size:13px;color:#6b7280;font-weight:500;margin-left:5px}.call-actions{display:flex;justify-content:center;gap:22px;margin:35px 0}.call-actions button{display:flex;flex-direction:column;align-items:center;gap:10px;border:0;background:none;font-size:11px;color:#4b5563}.call-actions .bubble{width:57px;height:57px;display:grid;place-items:center;border-radius:50%;box-shadow:0 4px 15px #0001;background:#fff}.call-actions .end{background:#292d34;color:white;width:68px;height:68px}.call-actions .enabled{background:var(--pale);color:var(--deep)}.note{font-size:12px;line-height:1.7;color:#6b7280;margin-top:17px}.lock-card{background:var(--pale);border-radius:18px;padding:17px;font-size:13px;line-height:1.7;margin:28px 0 15px}.result-icon{width:75px;height:75px;border-radius:50%;background:var(--pale);color:var(--deep);display:grid;place-items:center;margin:38px auto 23px;font-size:34px}.chat{display:flex;flex-direction:column;gap:14px;margin-top:25px}.message{font-size:14px;line-height:1.6;background:#f3f4f6;padding:13px 16px;border-radius:20px 20px 20px 4px;max-width:87%;align-self:flex-start}.message.mine{background:var(--pale);align-self:flex-end;border-radius:20px 20px 4px 20px}.composer{display:flex;gap:8px;margin-top:25px}.composer input{width:100%;min-width:0;border:1px solid #e5e7eb;border-radius:20px;padding:12px;font-size:14px}.composer button{border:0;background:var(--gold);border-radius:50%;width:43px;flex:none;color:white}.empty{text-align:center;padding:65px 15px}.empty h3{font-size:23px}.empty p{font-size:14px;line-height:1.7;color:#6b7280}.settings-row{padding:17px 0;border-bottom:1px solid #eee;font-size:14px;display:flex;justify-content:space-between}.notice{background:var(--pale);padding:14px;border-radius:14px;color:#8c701d;font-size:13px;line-height:1.6;margin:16px 0}@keyframes appear{from{opacity:.4;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes pulse{to{transform:scaleY(.45)}}@media(min-width:1100px) and (max-height:860px){.device{width:355px;height:710px}.workspace{padding:25px 50px;gap:45px;grid-template-columns:1fr 365px .75fr}.photo{height:330px}.screen{padding-top:14px}.schedule{padding:22px 20px}.timer-box{margin-top:18px;padding:15px 8px}.avatar.call{margin-top:35px}.profile-hero{height:210px}h1{font-size:52px}.journey{margin:25px 0}}@media(max-width:1100px){.workspace{grid-template-columns:1fr 390px;gap:45px;padding:35px}.context{display:none}h1{font-size:49px}}@media(max-width:760px){.workspace{display:block;padding:17px 12px 25px;min-height:100dvh;background:#fafaf9}.guide{max-width:390px;margin:auto}.wordmark{font-size:29px;letter-spacing:-1px;justify-content:space-between}.wordmark span{font-size:9px}.guide h1,.intro,.journey,.guide-foot p{display:none}.guide-foot{border:0;padding:0;position:absolute;top:24px;right:20px;display:none}.device-wrap{margin:18px auto 0;max-width:390px}.device{width:100%;height:790px;max-height:calc(100dvh - 100px);min-height:660px;border-radius:40px;border-width:5px}.status{height:42px}.app{height:calc(100% - 42px)}.photo{height:340px}.screen{padding:16px 18px 92px}.under-phone{display:none}.schedule{padding:22px 20px}.timer-box{padding:16px 8px;margin-top:19px}.avatar.call{margin-top:30px}.profile-hero{height:210px}}@media(prefers-reduced-motion:reduce){*,*:before{animation:none!important;transition:none!important}}
.portrait-image{width:100%;height:100%;display:block;object-fit:cover}.portrait-full{object-position:center 35%}.portrait-avatar{object-position:center 24%}

.confetti-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:10}
.calendar{border:1px solid #ecebe5;border-radius:22px;padding:16px 12px;background:white}.calendar h3{font-size:20px;margin:0 0 15px;text-align:center}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.weekday{font-size:10px;text-align:center;color:#6b7280;padding:0 0 8px}.calendar-day{border:0;border-radius:50%;background:none;height:36px;font-size:13px;color:#1a1a1a;position:relative}.calendar-day:disabled{color:#c4c5c8;cursor:default}.calendar-day:not(:disabled):hover{background:#fbf7e6}.calendar-day.selected,.calendar-day.selected:hover{background:var(--gold);font-weight:700;box-shadow:0 3px 9px #d3af3733}.calendar-day.today:after{content:'';position:absolute;bottom:3px;left:calc(50% - 2px);width:4px;height:4px;background:var(--deep);border-radius:50%}.time-picker{margin-top:20px;background:#fafaf9;border-radius:20px;padding:16px}.time-picker .topline{margin-bottom:12px}.time-picker h3{font-size:17px;margin:0}.time-picker .sub{font-size:10px}.time-fields{display:grid;grid-template-columns:1fr 8px 1fr 1fr;gap:9px;align-items:end}.time-fields label{font-size:11px;color:#6b7280}.time-fields select{display:block;width:100%;margin-top:7px;border:1px solid #e5e7eb;border-radius:12px;background:white;color:#1a1a1a;padding:10px 5px;font-family:Inter,Arial,sans-serif;font-size:16px;min-height:43px}.time-colon{align-self:end;padding-bottom:11px;color:var(--deep);font-size:20px}.selection-summary{font-size:13px;text-align:center;color:#4b5563;margin:16px 0 0;line-height:1.5}.booking-error{font-size:12px;line-height:1.5;text-align:center;color:#b45309;margin:8px 0 0}.booking-error:empty{display:none}.scheduled-date{background:#ffffff24;border:1px solid #ffffff2b;border-radius:20px;padding:22px 12px;display:flex;flex-direction:column;gap:8px;margin:23px 0 10px}.scheduled-date strong{font-family:Outfit,Arial,sans-serif;font-size:24px;margin-top:9px}.scheduled-date>span:not(.timer-label){font-size:16px}.scheduled-date b{font-family:Outfit,Arial,sans-serif;font-size:38px;letter-spacing:-1px;margin-top:4px}.scheduled-date small{font-size:11px;color:#fffdeb}.booked-card .clock-box{margin-bottom:17px}.booked-card h3{font-size:24px}.booked-card>p{margin-bottom:0}
.calendar-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.calendar-heading h3{margin:0;font-size:18px}.month-control{width:30px;height:30px;border:0;border-radius:50%;background:#fbf7e6;color:var(--deep);font-size:22px;line-height:1}.month-control:disabled{background:transparent;color:#d1d5db;cursor:default}.deadline-detail{font-size:11px;line-height:1.6;color:#6b7280;margin:0 0 12px}.scheduled-status{font-size:12px!important;line-height:1.6!important;margin:15px 0 6px!important}
.matched-intro .result-icon{width:48px;height:48px;margin:4px auto 12px;font-size:26px}.matched-intro .eyebrow{font-size:9px}.matched-intro h2{margin:10px 0 0!important;font-size:29px}.matched-intro .avatar.big{width:94px;height:94px;margin:15px auto 12px}.matched-intro h3{font-size:22px;margin-bottom:8px}.matched-intro .sub{margin-bottom:0;font-size:13px}.matched-intro .lock-card{margin:17px 0 5px;padding:13px 10px;font-size:12px}.matched-intro .primary,.matched-intro .secondary{padding:13px;margin-top:10px}.book-later{background:none;border:0;font-size:12px;color:#7c6728;padding:13px 10px;margin-top:2px}.match-details{flex:1;min-width:0}.match-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px}.match-title h3{margin:0}.match-message{position:relative;flex:none;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;border:1px solid #ffffff35;background:#ffffff33;color:white}.match-message:hover{background:#ffffff55}.match-message.spotlight{background:#fff;color:var(--deep);box-shadow:0 0 0 4px #ffffff44,0 0 0 7px #ffffff20}.chat-tip{position:relative;background:#fff;color:#1a1a1a;border-radius:16px;padding:15px 34px 14px 14px;margin-top:18px;box-shadow:0 7px 18px #66521120}.chat-tip:before{content:'';position:absolute;right:13px;top:-7px;width:15px;height:15px;transform:rotate(45deg);background:#fff}.chat-tip strong{display:block;font-size:13px;line-height:1.5}.chat-tip p{font-size:12px;line-height:1.6;color:#6b7280;margin:6px 0 0}.tip-dismiss{position:absolute;right:5px;top:8px;display:grid;place-items:center;border:0;border-radius:50%;width:26px;height:26px;background:none;color:#6b7280}.tip-dismiss .icon{width:15px;height:15px}

.matched-intro .result-icon{width:40px;height:40px;margin:0 auto 8px}.matched-intro .avatar.big{width:80px;height:80px;margin:12px auto 8px}.matched-intro .lock-card{padding:10px;margin-top:13px}.matched-intro h3{font-size:20px}.matched-intro .sub{font-size:12px;line-height:1.5}

/* Cinematic finale */
.screen.screen-exit{animation:screenExit .42s cubic-bezier(.4,0,.6,1) forwards}
@keyframes screenExit{to{opacity:0;transform:scale(.955);filter:blur(4px)}}
.screen-finale{animation:none;position:relative}
.screen-finale .finale{text-align:center;padding-bottom:6px}
.screen-finale .mini-brand-logo{width:46px;height:46px;animation:finaleLogo 1s cubic-bezier(.16,.84,.3,1) both}
.finale-head{font-family:Outfit,Arial,sans-serif;font-weight:700;font-size:25px;line-height:1.12;letter-spacing:-.6px;margin:0 0 11px;color:#1a1a1a}
.finale-lead{font-size:13.5px;line-height:1.6;color:#4b5563;margin:0 0 15px}
.finale-steps{display:flex;flex-direction:column;gap:8px;background:#fafaf9;border:1px solid #eee;border-radius:16px;padding:13px 14px;margin:0 0 15px;text-align:left}
.finale-steps p{margin:0;font-size:12.5px;line-height:1.5;font-weight:500;color:#1a1a1a;padding-left:16px;position:relative}
.finale-steps p:before{content:"";position:absolute;left:0;top:7px;width:6px;height:6px;border-radius:50%;background:var(--gold)}
.finale-mutual{font-size:13px;line-height:1.6;color:#4b5563;margin:0 0 15px}
.finale-tag{font-family:Outfit,Arial,sans-serif;font-weight:600;font-size:16px;line-height:1.3;color:var(--deep);margin:0 0 16px}
.finale-replay{background:none;border:0;color:#6b7280;font-size:13px;padding:11px;margin-top:2px;width:100%}
.screen-finale .finale-head{animation:finaleRise .8s cubic-bezier(.16,.84,.3,1) both .34s}
.screen-finale .finale-lead{animation:finaleRise .8s ease both .5s}
.screen-finale .finale-steps{animation:finaleRise .8s ease both .64s}
.screen-finale .finale-mutual{animation:finaleRise .8s ease both .8s}
.screen-finale .finale-tag{animation:finaleRise .8s ease both .94s}
.screen-finale .primary{animation:finaleRise .75s ease both 1.08s}
.screen-finale .finale-replay{animation:finaleRise .7s ease both 1.2s}
@keyframes finaleLogo{0%{opacity:0;transform:scale(.5) translateY(12px)}70%{opacity:1}100%{opacity:1;transform:scale(1) translateY(0)}}
@keyframes finaleRise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

/* Cinematic spotlight — dim the surroundings, make the phone pop */
.device{transition:transform .8s cubic-bezier(.16,.84,.3,1),box-shadow .8s ease}
body::after{content:"";position:fixed;inset:0;background:radial-gradient(circle at 50% 44%,#17171c 0%,#030304 62%);opacity:0;transition:opacity .6s ease;pointer-events:none;z-index:40}
body.spotlight::after{opacity:.97}
body.spotlight .device{position:relative;z-index:50;transform:scale(1.04);box-shadow:0 0 0 1px rgba(255,255,255,.22),0 0 60px 10px rgba(255,255,255,.34),0 0 150px 34px rgba(255,255,255,.16),0 40px 120px rgba(0,0,0,.85)}
