:root{--plum-900:#220a33;--plum-800:#2f1045;--plum-700:#3d1452;--plum-600:#5b1b52;--magenta:#b93a82;--magenta-d:#9d2f6d;--magenta-l:#fbeef5;--ink:#1c1226;--muted:#6f6478;--line:#e7dfec;--bubble:#f5f2f7;--bg:#fff;--ok:#1f9d6b;--err:#d1465b;--radius:18px;--font:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--display:"Syne","Plus Jakarta Sans",system-ui,sans-serif}*{box-sizing:border-box;margin:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);color:var(--ink);background:var(--bg);min-height:100dvh;font-size:16px;line-height:1.5;font-feature-settings:"kern";font-kerning:normal;-webkit-font-smoothing:antialiased}h1,h2,h3{text-wrap:balance}.bubble p,.hub p,.prose p{text-wrap:pretty}.diag dd,.slot{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}:focus-visible{outline:3px solid color-mix(in srgb,var(--magenta) 55%,#fff);outline-offset:2px;border-radius:12px}.top{position:fixed;inset:0 0 auto 0;z-index:20;height:58px;background:linear-gradient(90deg,#240a36,#3d1452 55%,#5b1b52);color:#fff;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(14px,3vw,28px);box-shadow:0 2px 18px rgba(34,10,51,.25)}.top .logo{height:42px;width:auto;justify-self:start;display:block}.prog{display:flex;align-items:center;gap:0;justify-self:center}.prog .dot{width:11px;height:11px;border-radius:50%;background:hsla(0,0%,100%,.22);border:2px solid transparent;transition:.35s}.prog .dot.on{background:var(--magenta);box-shadow:0 0 0 3px rgba(185,58,130,.28)}.prog .bar{width:clamp(28px,7vw,64px);height:2px;background:hsla(0,0%,100%,.2);position:relative;overflow:hidden}.prog .bar i{position:absolute;inset:0;background:var(--magenta);transform:scaleX(0);transform-origin:left;transition:transform .45s ease}.prog .bar.on i{transform:scaleX(1)}.count{justify-self:end;font-family:var(--display);font-weight:800;font-size:22px;line-height:1}.count small{font-family:var(--font);font-weight:500;font-size:11px;opacity:.7;margin-left:4px}main{max-width:640px;margin:0 auto;padding:82px 16px 120px}.row{display:flex;gap:10px;align-items:flex-end;margin:0 0 12px;animation:in .35s ease both}.row.me{justify-content:flex-end}.av{flex:none;width:40px;height:40px;border-radius:50%;background:#fff;border:1.5px solid var(--line);display:grid;place-items:center;overflow:hidden;align-self:flex-start}.av img{width:100%;height:100%;object-fit:cover}.row.cont .av{visibility:hidden;height:0}.bubble{background:var(--bubble);border-radius:6px var(--radius) var(--radius) var(--radius);padding:11px 15px;max-width:min(86%,470px);overflow-wrap:anywhere}.bubble p+p{margin-top:.7em}.bubble .note,.bubble small{display:block;margin-top:6px;font-size:12.5px;color:var(--muted);line-height:1.4}.bubble strong{font-weight:700}.me .bubble{background:linear-gradient(135deg,var(--plum-700),var(--plum-600));color:#fff;border-radius:var(--radius) var(--radius) 6px var(--radius);font-weight:500}.typing{display:inline-flex;gap:4px;padding:15px 16px}.typing i{width:7px;height:7px;border-radius:50%;background:#b7a9c1;animation:bl 1s ease-in-out infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes bl{0%,80%,to{transform:translateY(0);opacity:.5}40%{transform:translateY(-4px);opacity:1}}@keyframes in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.tray .opt:nth-child(2){animation-delay:.05s}.tray .opt:nth-child(3){animation-delay:.1s}.tray .opt:nth-child(4){animation-delay:.15s}.tray .opt:nth-child(5){animation-delay:.2s}.tray .opt:nth-child(n+6){animation-delay:.25s}.tray{flex-direction:column;gap:8px;margin:4px 0 16px 50px}.opt,.tray{display:flex}.opt{width:100%;text-align:left;padding:13px 18px;border-radius:999px;border:1.5px solid var(--line);background:#fff;font-weight:600;font-size:15px;transition:.18s;animation:in .35s ease both;justify-content:space-between;align-items:center;gap:12px}.opt:after{content:"";flex:none;width:8px;height:8px;border-right:2px solid #c9bcd2;border-top:2px solid #c9bcd2;transform:rotate(45deg);transition:.18s}.opt:hover{background:var(--magenta-l);transform:translateX(2px)}.opt:hover,.opt:hover:after{border-color:var(--magenta)}.opt:active{transform:scale(.985)}.opt.yes{border-color:color-mix(in srgb,var(--magenta) 60%,#fff);background:var(--magenta-l)}.opt.neutral{color:var(--muted);font-weight:500}.card{margin:4px 0 16px 50px;background:#fff;border:1.5px solid var(--line);border-radius:var(--radius);padding:18px;animation:in .4s ease both}.card h3{font-family:var(--display);font-size:16px;font-weight:700}.card h3,.field{margin-bottom:12px}.field,.field span{display:block}.field span{font-size:13px;font-weight:600;color:var(--muted);margin-bottom:5px}.field input{width:100%;padding:13px 14px;border:1.5px solid var(--line);border-radius:12px;font:inherit;font-size:16px;background:#fff;transition:.15s}.field input:focus{outline:0;border-color:var(--magenta);box-shadow:0 0 0 4px rgba(185,58,130,.14)}.field.err input{border-color:var(--err)}.field .msg{color:var(--err);font-size:13px;margin:4px 0 0;display:none;font-weight:500}.field.err .msg{display:block}.btn{width:100%;padding:15px 18px;border-radius:14px;background:linear-gradient(135deg,var(--magenta),var(--plum-600));color:#fff;font-weight:700;font-size:15.5px;transition:.18s;box-shadow:0 8px 20px rgba(185,58,130,.28)}.btn:hover{filter:brightness(1.06);transform:translateY(-1px)}.btn:active:not(:disabled){transform:scale(.985);filter:none}.btn:disabled{background:#d9d0df;color:#7d7186;box-shadow:none;cursor:not-allowed;transform:none;filter:none}.btn.ghost{background:#fff;color:var(--plum-700);border:1.5px solid var(--line);box-shadow:none;margin-top:10px}.legal{font-size:12.5px;color:var(--muted);margin-top:10px;text-align:center;line-height:1.4}.diag{display:grid;grid-gap:0;gap:0;margin:2px 0 12px}.diag div{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px dashed var(--line);font-size:14px}.diag div:last-child{border-bottom:0}.diag dt{color:var(--muted)}.diag dd{font-weight:700;text-align:right}.insight{background:var(--magenta-l);border:1px solid color-mix(in srgb,var(--magenta) 30%,#fff);padding:12px 14px;border-radius:12px;font-size:14px}.insight b{display:block;font-family:var(--display);font-size:13px;letter-spacing:.02em;text-transform:uppercase;color:var(--magenta-d);margin-bottom:3px}.days{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 10px;scrollbar-width:none}.days::-webkit-scrollbar{display:none}.day{flex:none;min-width:92px;padding:10px 12px;border:1.5px solid var(--line);border-radius:14px;text-align:center;background:#fff;transition:.15s}.day b{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.day span{display:block;font-weight:700;font-size:17px;font-family:var(--display)}.day em{display:block;font-style:normal;font-size:12.5px;color:var(--muted)}.day.sel{border-color:var(--magenta);background:var(--magenta-l)}.day.sel b{color:var(--magenta-d)}.step-t{font-size:12px;color:var(--muted);margin:6px 0 8px;text-transform:uppercase;letter-spacing:.05em}.per,.step-t{font-weight:700}.per{font-size:12.5px;margin:12px 0 7px}.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));grid-gap:8px;gap:8px}.slot{padding:11px 0;border:1.5px solid var(--line);border-radius:11px;font-weight:600;background:#fff;transition:.15s;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.slot:hover{border-color:var(--magenta)}.slot.sel{background:linear-gradient(135deg,var(--magenta),var(--plum-600));color:#fff;border-color:transparent}.success{display:flex;align-items:center;gap:10px;margin-bottom:8px}.success .ck{width:34px;height:34px;border-radius:50%;background:var(--ok);display:grid;place-items:center;color:#fff;font-size:18px;flex:none}.restart[hidden]{display:none}.restart{display:block;margin:28px auto 0;font-size:13px;text-decoration:underline;text-underline-offset:3px;padding:8px}.foot,.restart{color:var(--muted)}.foot{text-align:center;font-size:12.5px;margin-top:10px}.foot img{height:22px;margin:0 auto 6px;display:block}@media (max-width:520px){.card,.tray{margin-left:0}.av{width:34px;height:34px}.bubble{max-width:calc(100% - 44px)}.top .logo{height:36px}.count{font-size:19px}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.sr-only{position:absolute!important;width:1px;height:1px;clip:rect(0 0 0 0);white-space:nowrap}.hp,.sr-only{overflow:hidden}.hp{position:absolute;left:-9999px;opacity:0;height:0}.err-msg{color:var(--err);font-size:13px;font-weight:600;margin:8px 0 0}.spin{display:inline-block;width:16px;height:16px;border:2px solid #fff;border-right-color:transparent;border-radius:50%;animation:rot .7s linear infinite;vertical-align:-3px;margin-right:8px}@keyframes rot{to{transform:rotate(1turn)}}.link-btn{display:block;text-decoration:none}.hub,.link-btn{text-align:center}.hub{max-width:760px;margin:0 auto;padding:56px 20px 80px}.hub img.hl{height:84px;margin:0 auto 10px;display:block}.hub h1{font-family:var(--display);font-size:clamp(24px,5vw,34px);line-height:1.15;margin:18px 0 8px}.hub p{color:var(--muted);margin-bottom:28px}.hub .grid{display:grid;grid-gap:14px;gap:14px}.hub a.nc{display:flex;justify-content:space-between;align-items:center;gap:14px;text-align:left;padding:18px 20px;border:1.5px solid var(--line);border-radius:var(--radius);text-decoration:none;color:inherit;transition:.18s;background:#fff}.hub a.nc:hover{border-color:var(--magenta);background:var(--magenta-l);transform:translateY(-2px)}.hub a.nc>span[aria-hidden]{transition:transform .2s cubic-bezier(.25,1,.5,1)}.hub a.nc:hover>span[aria-hidden]{transform:translateX(4px)}.hub a.nc b{font-family:var(--display);font-size:17px;display:block}.hub a.nc span{color:var(--muted);font-size:13.5px}.prose{max-width:720px;margin:0 auto;padding:40px 20px 80px}.prose h1{font-size:28px;margin-bottom:14px}.prose h1,.prose h2{font-family:var(--display)}.prose h2{font-size:18px;margin:22px 0 6px}.prose li,.prose p{color:#3b3045;margin-bottom:8px}.prose ul{padding-left:20px}.warn{background:#fff7e6;border:1px solid #f1d9a0;border-radius:12px;padding:12px 14px;font-size:14px;margin-bottom:18px}