:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#fff9ed;color:#17151f;--ink: #17151f;--paper: #fff9ed;--panel: #fffdf7;--coral: #ff6b4a;--teal: #2fb7a8;--lemon: #f5c542;--pink: #e455a6;--violet: #7f7cf6;--muted: #6c6576;--line: rgba(23, 21, 31, .14);--shadow: 0 20px 55px rgba(23, 21, 31, .12)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(135deg,rgba(255,107,74,.1),transparent 28%),linear-gradient(315deg,rgba(47,183,168,.12),transparent 30%),var(--paper)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(90deg,rgba(23,21,31,.04) 1px,transparent 1px),linear-gradient(rgba(23,21,31,.04) 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:linear-gradient(to bottom,black,transparent 80%);mask-image:linear-gradient(to bottom,black,transparent 80%)}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}label{display:grid;gap:.45rem;color:var(--ink);font-weight:760}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);padding:.85rem .95rem;outline:none}textarea{resize:vertical}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:3px solid rgba(47,183,168,.45);outline-offset:2px}.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;border:1px solid var(--line);border-radius:8px;padding:.75rem 1rem;color:var(--ink);text-decoration:none;font-weight:850;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.button:hover{transform:translateY(-1px)}.button:disabled{cursor:not-allowed;opacity:.65;transform:none}.button--primary{background:var(--lemon);border-color:#17151f66;box-shadow:4px 4px 0 var(--ink)}.button--ghost{background:#ffffff29;color:#fff;border-color:#ffffff5c}.eyebrow{margin:0 0 .35rem;color:var(--coral);font-size:.78rem;font-weight:950;text-transform:uppercase}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,440px)}.login-hero{position:relative;min-height:100vh;display:grid;align-items:end;overflow:hidden;background:var(--ink)}.login-hero img,.hero__image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.login-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#17151fdb,#17151f2e)}.login-copy{position:relative;z-index:1;max-width:720px;padding:clamp(2rem,7vw,6rem);color:#fff}.login-copy h1,.hero h1{margin:0;max-width:9ch;font-size:clamp(3.5rem,12vw,9rem);line-height:.88;letter-spacing:0}.login-copy p:last-child,.hero__lead{max-width:620px;font-size:clamp(1.05rem,2vw,1.35rem);color:#ffffffdb}.login-panel{position:relative;z-index:2;display:grid;align-content:center;gap:1rem;min-height:100vh;padding:clamp(1.25rem,4vw,3rem);background:var(--panel);box-shadow:-24px 0 60px #17151f26}.login-panel>svg{color:var(--pink);width:46px;height:46px}.login-panel h2,.panel h2,.photo-section h2,.hero__reveal h2{margin:0;font-size:clamp(1.55rem,3vw,2.35rem);letter-spacing:0}.form-error,.global-status{border:1px solid rgba(228,85,166,.35);border-left:6px solid var(--pink);border-radius:8px;padding:.8rem 1rem;background:#fff0f7;color:#6c1342}.hero{position:relative;min-height:92vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,430px);align-items:end;gap:2rem;padding:clamp(1.2rem,4vw,4rem);color:#fff;overflow:hidden}.hero__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#17151fe6,#17151f80 54%,#17151f47),linear-gradient(0deg,rgba(23,21,31,.86),transparent 44%)}.hero__content,.hero__reveal{position:relative;z-index:1}.hero__actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}.pill{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;border-radius:8px;padding:.75rem 1rem;font-weight:900}.pill--locked{border:1px dashed rgba(255,255,255,.55);background:#ffffff1a}.hero__reveal{margin-bottom:1rem;padding:1.25rem;border:1px solid rgba(255,255,255,.28);border-radius:8px;background:#17151f8a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hero__reveal p{color:#ffffffd1}.status-rail,.section{width:min(1180px,calc(100% - 2rem));margin:1.2rem auto}.status-rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.metric,.panel,.photo-slot{border:1px solid var(--line);border-radius:8px;background:#fffdf7eb;box-shadow:var(--shadow)}.metric{display:grid;grid-template-columns:42px 1fr;gap:.1rem .75rem;align-items:center;padding:1rem}.metric svg{grid-row:span 2;color:var(--teal)}.metric span{color:var(--muted);font-weight:800}.metric strong{font-size:1.4rem}.global-status{width:min(1180px,calc(100% - 2rem));margin:1rem auto}.section--split{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:1rem;align-items:start}.panel,.photo-section{padding:clamp(1rem,2vw,1.5rem)}.section-heading{display:flex;align-items:center;gap:.9rem;margin-bottom:1rem}.section-heading>svg{width:40px;height:40px;padding:.45rem;border-radius:8px;color:var(--ink);background:var(--lemon);border:1px solid rgba(23,21,31,.22)}.timeline{list-style:none;margin:0;padding:0}.timeline li{display:grid;grid-template-columns:72px 1fr;gap:1rem;padding:1rem 0;border-top:1px solid var(--line)}.timeline time{color:var(--teal);font-weight:950}.timeline h3,.message-list p,.photo-slot h3{margin:0}.timeline p,.empty-state,.locked-box p,.photo-slot p{margin:.25rem 0 0;color:var(--muted)}.timeline .is-locked{color:var(--muted)}.toggle-line{display:flex;align-items:center;gap:.65rem;margin-bottom:.4rem}.toggle-line input{width:20px;height:20px}.panel form,.message-form{display:grid;gap:1rem}.message-list{list-style:none;display:grid;gap:.8rem;margin:1rem 0 0;padding:0}.message-list li{display:grid;gap:.2rem;padding:.9rem;border:1px solid var(--line);border-radius:8px;background:#fff}.message-list time{color:var(--muted);font-size:.85rem;font-weight:800}.checklist{list-style:none;display:grid;gap:.55rem;margin:0;padding:0}.check-button,.option-button{width:100%;min-height:44px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);cursor:pointer}.check-button{display:flex;align-items:center;gap:.7rem;padding:.75rem;text-align:left}.check-button.is-done{border-color:#2fb7a880;background:#2fb7a81a}.check-button.is-done svg{color:var(--teal)}.locked-box{display:flex;gap:.8rem;align-items:center;padding:1rem;border:1px dashed rgba(23,21,31,.24);border-radius:8px;background:#7f7cf614}.quiz-stack{display:grid;gap:1rem}fieldset{display:grid;gap:.55rem;border:1px solid var(--line);border-radius:8px;margin:0;padding:.9rem}legend{padding:0 .25rem;font-weight:900}.option-button{padding:.7rem;font-weight:850}.option-button.is-selected{background:var(--ink);color:#fff}.photo-section{margin-bottom:2rem}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.photo-slot{min-height:180px;display:grid;align-content:end;gap:.35rem;padding:1rem;background:repeating-linear-gradient(135deg,#f5c5422e 0,#f5c5422e 10px,#2fb7a81f 10px,#2fb7a81f 20px),#fff}.photo-slot svg{color:var(--pink)}@media(max-width:900px){.login-shell,.hero,.section--split{grid-template-columns:1fr}.login-hero{min-height:58vh}.login-panel{min-height:auto}.hero{min-height:92vh;align-items:end}.status-rail,.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.status-rail,.photo-grid{grid-template-columns:1fr}.timeline li{grid-template-columns:58px 1fr;gap:.75rem}.button,.pill{width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}:root{--spring: cubic-bezier(.34, 1.56, .64, 1);--calm: cubic-bezier(.4, 0, .2, 1)}@keyframes pop-in{0%{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:none}}@keyframes hero-rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes deal-in{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}@keyframes row-slide{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:none}}@keyframes bloom-in{0%{opacity:0;transform:scale(.95) translateY(12px)}to{opacity:1;transform:none}}@keyframes panel-rise{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes icon-pop{0%{opacity:0;transform:scale(.6) rotate(-12deg)}60%{opacity:1;transform:scale(1.1) rotate(6deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes popper-burst{0%{opacity:0;transform:scale(.4) rotate(-18deg)}60%{opacity:1;transform:scale(1.12) rotate(8deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes reveal-pop{0%{opacity:0;transform:scale(.92) translateY(10px)}55%{opacity:1;transform:scale(1.03) translateY(0)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes msg-arrive{0%{opacity:0;transform:translateY(-12px) scale(.98);box-shadow:0 0 0 2px #f5c5428c}60%{opacity:1;box-shadow:0 0 16px 2px #f5c5424d}to{opacity:1;transform:none;box-shadow:0 0 #f5c54200}}@keyframes check-pop{0%{transform:scale(0) rotate(-30deg)}70%{transform:scale(1.25) rotate(8deg)}to{transform:scale(1) rotate(0)}}@keyframes select-pop{0%{transform:scale(1)}45%{transform:scale(1.04)}to{transform:scale(1)}}@keyframes lock-pulse{0%,to{transform:scale(1);box-shadow:0 0 #f5c54200}50%{transform:scale(1.015);box-shadow:0 0 0 4px #f5c5422e}}@keyframes lock-jiggle{0%,92%,to{transform:rotate(0)}95%{transform:rotate(-8deg)}97%{transform:rotate(8deg)}}@keyframes locked-glow{0%,to{box-shadow:0 0 #7f7cf600}50%{box-shadow:0 0 18px 2px #7f7cf638}}@keyframes float-nudge{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes glass-breathe{0%,to{box-shadow:0 0 0 1px #ffffff0a,0 18px 50px #7f7cf61f}50%{box-shadow:0 0 0 1px #ffffff1a,0 22px 60px #2fb7a82e}}@keyframes time-shimmer{0%,to{opacity:.55}50%{opacity:1}}@keyframes grid-drift{0%{background-position:0 0,0 0}to{background-position:28px 28px,28px 28px}}@keyframes confetti-fall{0%{opacity:1;transform:translateY(-14px) rotate(0) scale(1)}to{opacity:0;transform:translate(var(--cx, 0),120px) rotate(540deg) scale(.6)}}.login-copy>*{animation:pop-in .5s var(--spring) both}.login-copy>*:nth-child(1){animation-delay:.05s}.login-copy>*:nth-child(2){animation-delay:.13s}.login-copy>*:nth-child(3){animation-delay:.21s}.login-panel>*{animation:pop-in .5s var(--spring) both}.login-panel>*:nth-child(1){animation-delay:.24s}.login-panel>*:nth-child(2){animation-delay:.3s}.login-panel>*:nth-child(3){animation-delay:.36s}.login-panel>*:nth-child(4){animation-delay:.42s}.login-panel>*:nth-child(5){animation-delay:.48s}.login-panel>*:nth-child(6){animation-delay:.54s}.login-panel>svg{transform-origin:50% 70%;animation:popper-burst .6s var(--spring) .28s both}.hero__content>*{animation:hero-rise .58s var(--calm) both}.hero__content>*:nth-child(1){animation-delay:.08s}.hero__content>*:nth-child(2){animation-delay:.18s}.hero__content>*:nth-child(3){animation-delay:.3s}.hero__reveal{animation:reveal-pop .62s var(--spring) both,glass-breathe 9s var(--calm) 1.4s infinite}.pill--locked{animation:lock-pulse 2.6s ease-in-out infinite}.pill--locked svg{transform-origin:50% 50%;animation:lock-jiggle 4s ease-in-out infinite}.status-rail .metric{animation:deal-in .46s var(--spring) both}.status-rail .metric:nth-child(1){animation-delay:.1s}.status-rail .metric:nth-child(2){animation-delay:.2s}.status-rail .metric:nth-child(3){animation-delay:.3s}.status-rail .metric:nth-child(4){animation-delay:.4s}.status-rail .metric{transition:transform .18s var(--spring),box-shadow .24s ease}.status-rail .metric:hover{transform:translateY(-3px);box-shadow:0 26px 60px #17151f29}.status-rail .metric svg{transition:filter .24s ease}.status-rail .metric:hover svg{filter:drop-shadow(0 0 8px rgba(47,183,168,.55))}.metric strong{display:inline-block}.panel,.photo-section{animation:panel-rise .5s var(--calm) both}.section--split .panel:nth-child(2){animation-delay:.08s}.section-heading>svg{animation:icon-pop .5s var(--spring) .1s both;transition:transform .22s var(--spring),box-shadow .22s ease}.panel:hover .section-heading>svg,.photo-section:hover .section-heading>svg{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--ink)}.timeline li{animation:row-slide .42s var(--calm) both;transition:transform .2s var(--spring)}.timeline li:nth-child(1){animation-delay:.05s}.timeline li:nth-child(2){animation-delay:.1s}.timeline li:nth-child(3){animation-delay:.15s}.timeline li:nth-child(4){animation-delay:.2s}.timeline li:nth-child(5){animation-delay:.25s}.timeline li:nth-child(6){animation-delay:.3s}.timeline li:nth-child(7){animation-delay:.35s}.timeline li:nth-child(8){animation-delay:.4s}.timeline time{display:inline-block;transition:transform .16s var(--spring),color .2s ease}.timeline li:hover{transform:translate(4px)}.timeline li:not(.is-locked):hover time{transform:scale(1.06);color:var(--coral)}.timeline .is-locked time{animation:time-shimmer 3s var(--calm) infinite}.message-list li:first-child{animation:msg-arrive .55s var(--spring) both}.check-button{transition:transform .15s var(--spring),background .2s ease,border-color .2s ease}.check-button:hover{transform:translateY(-1px)}.check-button:active{transform:scale(.97)}.check-button.is-done svg{animation:check-pop .42s var(--spring) both;filter:drop-shadow(0 0 6px rgba(47,183,168,.55))}.option-button{transition:transform .15s var(--spring),background .16s ease,color .16s ease,box-shadow .2s ease}.option-button:hover{transform:translateY(-1px)}.option-button:active{transform:scale(.97)}.option-button.is-selected{animation:select-pop .34s var(--spring);box-shadow:0 6px 20px #17151f47}.locked-box{animation:locked-glow 3.4s ease-in-out infinite}.locked-box svg{animation:float-nudge 3s ease-in-out infinite}.photo-grid .photo-slot{animation:bloom-in .5s var(--spring) both;transition:transform .18s var(--spring),box-shadow .24s ease}.photo-grid .photo-slot:nth-child(1){animation-delay:.08s}.photo-grid .photo-slot:nth-child(2){animation-delay:.16s}.photo-grid .photo-slot:nth-child(3){animation-delay:.24s}.photo-grid .photo-slot:nth-child(4){animation-delay:.32s}.photo-grid .photo-slot:nth-child(5){animation-delay:.4s}.photo-grid .photo-slot:nth-child(6){animation-delay:.48s}.photo-slot:hover{transform:translateY(-4px);box-shadow:0 28px 60px #17151f2e}.photo-slot svg{animation:float-nudge 3.6s var(--calm) infinite;transition:transform .3s var(--spring)}.photo-slot:nth-child(2) svg{animation-delay:.6s}.photo-slot:nth-child(3) svg{animation-delay:1.2s}.photo-slot:nth-child(4) svg{animation-delay:1.8s}.photo-slot:hover svg{transform:scale(1.18) rotate(10deg)}.button{transition:transform .14s var(--spring),box-shadow .14s ease,background .16s ease}.button--primary:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink),0 0 22px #f5c54266}.button--primary:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}.button--ghost{transition:transform .18s var(--spring),background .22s ease,box-shadow .22s ease}.button--ghost:hover{transform:translateY(-2px);background:#ffffff42;box-shadow:0 8px 26px #17151f38}input:focus,select:focus,textarea:focus,.button:focus-visible,.check-button:focus-visible,.option-button:focus-visible,a:focus-visible{transition:box-shadow .18s ease;box-shadow:0 0 0 5px #2fb7a82e,0 0 16px #2fb7a838}.reveal-confetti{position:absolute;top:0;left:0;right:0;height:0;pointer-events:none;z-index:2}.reveal-confetti span{position:absolute;top:0;left:50%;width:9px;height:14px;border-radius:2px;opacity:0;animation:confetti-fall .9s var(--calm) both}.reveal-confetti span:nth-child(1){background:var(--coral);left:14%;--cx: -24px;animation-delay:.02s}.reveal-confetti span:nth-child(2){background:var(--teal);left:30%;--cx: 18px;animation-delay:.12s}.reveal-confetti span:nth-child(3){background:var(--lemon);left:48%;--cx: -14px;animation-delay:.06s}.reveal-confetti span:nth-child(4){background:var(--pink);left:64%;--cx: 28px;animation-delay:.16s}.reveal-confetti span:nth-child(5){background:var(--violet);left:80%;--cx: -20px;animation-delay:.1s}.reveal-confetti span:nth-child(6){background:var(--lemon);left:90%;--cx: 12px;animation-delay:.2s}@media(prefers-reduced-motion:reduce){body:before,.hero__reveal,.pill--locked,.pill--locked svg,.locked-box,.locked-box svg,.timeline .is-locked time,.photo-slot svg{animation:none!important}.reveal-confetti{display:none!important}}.confetti-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;pointer-events:none;overflow:hidden}.confetti-overlay span{position:absolute;top:-6vh;border-radius:2px;opacity:0;animation-name:confetti-rain;animation-timing-function:cubic-bezier(.25,.6,.4,1);animation-fill-mode:forwards}@keyframes confetti-rain{0%{opacity:1;transform:translate(0) rotate(0)}to{opacity:0;transform:translate(var(--cx, 0),112vh) rotate(var(--rot, 360deg))}}.countdown{display:flex;align-items:flex-end;gap:.4rem;margin:.55rem 0 .4rem;flex-wrap:wrap}.countdown__unit{display:inline-grid;justify-items:center;gap:.12rem;min-width:2.7rem;padding:.45rem;border-radius:8px;background:#17151f0d;border:1px solid var(--line);font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.countdown__unit strong{font-size:1.5rem;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}.countdown__sep{align-self:center;font-size:1.35rem;font-weight:900;color:var(--muted);animation:time-shimmer 1s steps(1,end) infinite}.countdown-now{margin:.55rem 0;font-size:1.3rem;font-weight:950;color:var(--coral);animation:select-pop .5s var(--spring)}.hero__reveal .countdown__unit{background:#ffffff1f;border-color:#ffffff47;color:#ffffffc7}.hero__reveal .countdown__unit strong{color:#fff}.hero__reveal .countdown__sep{color:#ffffff80}.hero__reveal .countdown-now{color:var(--lemon)}.button--celebrate:hover{animation:lock-jiggle .6s ease-in-out}@media(prefers-reduced-motion:reduce){.confetti-overlay{display:none!important}.countdown__sep,.countdown-now,.button--celebrate:hover{animation:none!important}}.skal-toast{position:fixed;left:50%;bottom:clamp(1.2rem,5vh,3rem);z-index:70;transform:translate(-50%);padding:.7rem 1.2rem;border-radius:999px;background:var(--ink);color:#fff;font-weight:900;box-shadow:0 14px 40px #17151f52;pointer-events:none;animation:skal-in .4s var(--spring) both}@keyframes skal-in{0%{opacity:0;transform:translate(-50%,16px) scale(.9)}to{opacity:1;transform:translate(-50%) scale(1)}}.balloons{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none}.balloons span{position:absolute;bottom:-18vh;width:32px;height:40px;border-radius:50% 50% 48% 48%;opacity:.2;animation:balloon-rise linear infinite}.balloons span:after{content:"";position:absolute;top:100%;left:50%;width:1px;height:16px;background:#ffffff59}.balloons span:nth-child(1){left:12%;background:var(--coral);animation-duration:13s;animation-delay:0s}.balloons span:nth-child(2){left:32%;background:var(--teal);animation-duration:16s;animation-delay:3s}.balloons span:nth-child(3){left:54%;background:var(--lemon);animation-duration:14.5s;animation-delay:6s}.balloons span:nth-child(4){left:72%;background:var(--pink);animation-duration:17s;animation-delay:2s}.balloons span:nth-child(5){left:88%;background:var(--violet);animation-duration:15s;animation-delay:8s}@keyframes balloon-rise{0%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-62vh) rotate(5deg)}to{transform:translateY(-124vh) rotate(-5deg)}}@media(prefers-reduced-motion:reduce){.balloons{display:none!important}.skal-toast{animation:none!important}}
