:root{--navy: #2D2E80;--navy-deep: #1F205F;--sky: #A9CEEE;--sky-wash: #EEF5FC;--ink: #1A1B58;--body: #3A3F60;--muted: #6E7896;--line: #DCE3EE;--white: #FFFFFF;--green: #1E8A50;--red: #C8323F;--r: 10px;--ease: cubic-bezier(.2, .8, .2, 1)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Mulish,Segoe UI,system-ui,-apple-system,sans-serif;color:var(--body);background:var(--navy-deep);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}h1,h2,h3{font-weight:900;color:var(--ink);margin:0;letter-spacing:-.015em}button,input,textarea{font:inherit}a{color:inherit}.stage{position:relative;z-index:1;min-height:100%;background:transparent;border-top:4px solid var(--sky);display:flex;flex-direction:column;align-items:center;padding:0 20px max(24px,env(safe-area-inset-bottom))}.column{width:100%;max-width:460px;display:flex;flex-direction:column;flex:1}.topbar{display:flex;align-items:center;justify-content:space-between;padding:18px 0 0;min-height:66px}.logo{height:34px;width:auto;display:block}.topbar .where{color:var(--sky);font-size:14px;font-weight:700;text-align:right;line-height:1.3}.clock{display:block;color:#fff;font-size:20px;font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:.01em}.back{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;margin-top:18px;padding:6px 0;border:0;background:none;cursor:pointer;color:var(--sky);font-weight:700;font-size:15px}.back svg{width:18px;height:18px;transition:transform .2s var(--ease)}.back:hover svg{transform:translate(-3px)}.screen{animation:enter .45s var(--ease) both;display:flex;flex-direction:column;flex:1}@keyframes enter{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:none}}.intro{margin:26px 0 22px;color:#fff}.intro h1{color:#fff;font-size:clamp(28px,8vw,40px);line-height:1.08}.intro p{color:#c9dcf1;margin:10px 0 0;line-height:1.5;font-size:16px;max-width:34ch}.reveal-line{display:block;overflow:hidden;padding-bottom:.16em;margin-bottom:-.1em}.reveal-line>span{display:inline-block;transform:translateY(105%);animation:up .7s var(--ease) forwards;animation-delay:var(--d, 0s)}@keyframes up{to{transform:none}}.accent{display:block;height:3px;width:44px;background:var(--sky);margin-top:16px;transform-origin:left;animation:grow .6s var(--ease) both;animation-delay:var(--d, .25s)}@keyframes grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.stagger{animation:rise .5s var(--ease) both;animation-delay:calc(var(--i, 0) * 55ms + .12s)}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.backdrop{position:fixed;top:0;right:0;width:min(560px,120vw);height:auto;z-index:0;pointer-events:none;animation:sway 24s ease-in-out 2.4s infinite alternate}.backdrop rect{fill:none;stroke:var(--sky);stroke-dasharray:1200;stroke-dashoffset:1200;animation:trace 2.2s var(--ease) forwards}.backdrop .f1{stroke-width:10;opacity:.14}.backdrop .f2{stroke-width:2;opacity:.22;animation-delay:.35s}@keyframes trace{to{stroke-dashoffset:0}}@keyframes sway{0%{transform:translate(0)}to{transform:translate(-14px,10px)}}@media (min-width: 900px){.backdrop{width:640px}}.panel{background:var(--white);border-radius:var(--r);padding:22px 20px}.panel+.panel{margin-top:12px}.panel h2{font-size:21px;line-height:1.2}.panel .sub{color:var(--muted);font-size:15px;margin:6px 0 0;line-height:1.5}.panel h3{font-size:13px;font-weight:800;color:var(--navy);margin:24px 0 4px}.panel>h3:first-child,.panel>div:first-child>h3:first-child{margin-top:0}.list{background:var(--white);border-radius:var(--r);overflow:hidden}.row{display:flex;align-items:center;gap:14px;padding:17px 18px;text-decoration:none;color:inherit;position:relative;transition:background .2s}.row+.row{border-top:1px solid var(--line)}.row:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--sky);transform:scaleY(0);transition:transform .25s var(--ease)}.row:hover,.row:focus-visible{background:var(--sky-wash);outline:none}.row:hover:before,.row:focus-visible:before{transform:scaleY(1)}.row .name{font-weight:900;color:var(--ink);font-size:18px}.row .addr{font-size:14px;color:var(--muted);margin-top:2px}.row .go{margin-left:auto;color:var(--navy);flex:none;transition:transform .25s var(--ease)}.row:hover .go{transform:translate(4px)}.list .go,.choice .go{animation:nudge .7s var(--ease) 1.1s 1}@keyframes nudge{0%,to{transform:none}45%{transform:translate(6px)}}.choices{display:grid;gap:12px}.choice{display:flex;align-items:center;gap:16px;padding:22px 20px;border-radius:var(--r);text-decoration:none;transition:transform .15s var(--ease),background .2s}.choice:active{transform:scale(.985)}.choice svg{width:30px;height:30px;flex:none}.choice .t{font-weight:900;font-size:21px;display:block}.choice .d{font-size:15px;margin-top:2px;display:block}.choice .go{margin-left:auto;width:22px;height:22px;transition:transform .25s var(--ease)}.choice:hover .go{transform:translate(4px)}.choice.primary{background:var(--white);color:var(--ink)}.choice.primary svg{color:var(--navy)}.choice.primary .d{color:var(--muted)}.choice.secondary{background:transparent;color:#fff;border:1.5px solid rgba(169,206,238,.55)}.choice.secondary:hover{background:#a9ceee14}.choice.secondary .d{color:#c9dcf1}.choice.secondary svg{color:var(--sky)}.progress{margin-top:22px;color:var(--sky);font-size:13px;font-weight:700}.progress .steps{display:flex;justify-content:space-between;color:#c9dcf180}.progress .steps .on{color:var(--sky)}.progress .track{height:3px;background:#ffffff24;margin-top:8px;border-radius:2px;overflow:hidden}.progress .fill{height:100%;background:var(--sky);transition:width .6s var(--ease)}.field{margin-top:16px}.panel h3+.field,.panel h3+.row2 .field{margin-top:10px}.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}label.lbl{display:flex;justify-content:space-between;align-items:baseline;font-weight:700;font-size:14px;color:var(--ink);margin-bottom:6px}label.lbl .opt{font-weight:400;font-size:13px;color:var(--muted)}.input{width:100%;padding:12px 13px;border-radius:8px;border:1px solid #C5CFDF;background:#fff;color:var(--ink);font-size:16px;outline:none;transition:border-color .15s,box-shadow .15s}.input::placeholder{color:#9aa5be}.input:focus{border-color:var(--navy);box-shadow:0 0 0 1px var(--navy)}.input.bad{border-color:var(--red);box-shadow:0 0 0 1px var(--red)}textarea.input{resize:vertical;min-height:84px;line-height:1.45}.err{color:var(--red);font-size:13px;margin-top:6px;font-weight:600}.hint{color:var(--muted);font-size:13px;margin-top:6px;line-height:1.45}.picker{position:relative}.picker-list{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:5;background:#fff;border-radius:8px;border:1px solid #C5CFDF;box-shadow:0 8px 24px #1a1b5824;overflow:hidden;animation:drop .18s var(--ease)}@keyframes drop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.picker-list button{display:block;width:100%;padding:12px 14px;border:0;background:none;text-align:left;cursor:pointer;color:var(--ink);font-size:16px}.picker-list button+button{border-top:1px solid #EEF1F6}.picker-list button:hover,.picker-list button.active{background:var(--sky-wash)}.picker-list mark{background:none;color:inherit;font-weight:800}.picker-list .nf{color:var(--navy);font-weight:700}.picker-list .empty{padding:12px 14px;color:var(--muted);font-size:14px}.chosen{display:flex;align-items:center;gap:12px;padding:12px 13px;border-radius:8px;border:1px solid var(--navy);background:var(--sky-wash);animation:drop .2s var(--ease)}.chosen .who{font-weight:800;color:var(--ink)}.chosen svg{color:var(--green);width:20px;height:20px}.linkbtn{border:0;background:none;color:var(--navy);font-weight:700;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px;font-size:14px}.chosen .linkbtn{margin-left:auto}.yesno{display:grid;grid-template-columns:1fr 1fr;gap:8px}.yesno button{padding:11px;border-radius:8px;border:1px solid #C5CFDF;background:#fff;color:var(--body);font-weight:700;cursor:pointer;transition:all .15s}.yesno button.on{border-color:var(--navy);background:var(--navy);color:#fff}.open{animation:rise .3s var(--ease) both}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:15px 20px;border-radius:8px;border:0;cursor:pointer;font-weight:800;font-size:17px;text-decoration:none;background:var(--navy);color:#fff;transition:background .15s,transform .15s var(--ease)}.btn svg{width:20px;height:20px;transition:transform .2s var(--ease)}.btn:hover{background:#24256e}.btn:hover svg{transform:translate(3px)}.btn:active{transform:scale(.985)}.btn[disabled]{background:#b9c0d6;cursor:not-allowed}.btn.on-navy{background:var(--sky);color:var(--ink)}.btn.on-navy:hover{background:#bcd9f2}.actions{margin-top:24px}.spinner{width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.alert{margin-top:14px;padding:12px 14px;border-radius:8px;background:#fcedee;border-left:3px solid var(--red);color:#8e1e29;font-size:14px}.notice{margin:0 0 6px;padding:12px 14px;border-radius:8px;background:var(--sky-wash);font-size:14px;color:var(--body);display:flex;gap:12px;align-items:center}.notice span{flex:1}.rule{display:flex;gap:14px;padding:12px 0;align-items:flex-start}.rule+.rule{border-top:1px solid #EEF1F6}.rule .em{font-size:22px;line-height:1.3;width:28px;flex:none;text-align:center}.rule .rt{font-weight:800;color:var(--ink)}.rule .rd{font-size:15px;line-height:1.5;margin-top:2px}.ack{display:flex;gap:14px;align-items:flex-start;padding:16px 0 4px;margin-top:12px;border-top:1px solid var(--line);cursor:pointer}.ack input{position:absolute;opacity:0;pointer-events:none}.box{flex:none;width:24px;height:24px;border-radius:5px;border:1.5px solid #8E99B5;display:grid;place-items:center;background:#fff;transition:background .15s,border-color .15s;margin-top:1px}.ack.on .box{background:var(--navy);border-color:var(--navy)}.box svg{width:16px;height:16px;stroke:#fff;stroke-width:2.6;stroke-dasharray:24;stroke-dashoffset:24;transition:stroke-dashoffset .3s var(--ease)}.ack.on .box svg{stroke-dashoffset:0}.ack .at{font-weight:700;color:var(--ink);line-height:1.45}.ack:focus-within .box{box-shadow:0 0 0 3px #2d2e8033}.privacy{font-size:13px;color:var(--muted);line-height:1.5;margin:14px 0 0}.done-mark{width:64px;height:64px;margin:34px 0 0;color:var(--sky)}.done-mark circle{fill:none;stroke:currentColor;stroke-width:2.5;stroke-dasharray:176;stroke-dashoffset:176;animation:draw .8s var(--ease) .1s forwards;transform:rotate(-90deg);transform-origin:center}.done-mark path{fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40;animation:draw .45s var(--ease) .75s forwards}@keyframes draw{to{stroke-dashoffset:0}}.slide-up{animation:slideup .7s var(--ease) both;animation-delay:var(--d, .9s)}@keyframes slideup{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}.facts{margin:0}.fact{display:flex;justify-content:space-between;gap:16px;padding:12px 0}.fact+.fact{border-top:1px solid #EEF1F6}.fact dt{color:var(--muted);font-size:14px}.fact dd{margin:0;font-weight:800;color:var(--ink);text-align:right}.timeline{list-style:none;margin:18px 0 0;padding:16px 0 0;border-top:1px solid var(--line)}.timeline li{display:flex;gap:14px;position:relative;padding-bottom:18px;animation:rise .5s var(--ease) both;animation-delay:var(--d)}.timeline li:last-child{padding-bottom:0}.timeline li:not(:last-child):after{content:"";position:absolute;left:13px;top:30px;bottom:2px;width:2px;background:var(--line)}.timeline .dot{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#fff;border:2px solid var(--line);position:relative;z-index:1}.timeline .done .dot{background:var(--navy);border-color:var(--navy);color:#fff;animation:fillin .35s var(--ease) both;animation-delay:calc(var(--d) + .2s)}.timeline .done .dot svg{width:16px;height:16px;stroke-width:2.6;stroke-dasharray:24;stroke-dashoffset:24;animation:draw .35s var(--ease) forwards;animation-delay:calc(var(--d) + .4s)}@keyframes fillin{0%{background:#fff;border-color:var(--line)}}.timeline .now .dot{border-color:var(--sky)}.timeline .now .dot:after{content:"";width:10px;height:10px;border-radius:50%;background:var(--navy)}.timeline .now .dot:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:50%;border:2px solid var(--sky);animation:ping 2s ease-out calc(var(--d) + .5s) infinite}@keyframes ping{0%{transform:scale(1);opacity:.9}to{transform:scale(1.7);opacity:0}}.timeline b{display:block;color:var(--ink);font-weight:800;line-height:1.3;padding-top:3px}.timeline small{display:block;color:var(--muted);font-size:14px;margin-top:2px}.next{margin-top:16px;padding-top:16px;border-top:1px solid var(--line);font-size:15px;line-height:1.55}.foot{margin-top:auto;padding-top:32px;font-size:12px;line-height:1.7;color:#ffffff80}.foot b{color:#fffc;font-weight:700;display:block}.foot .svc{white-space:nowrap}.foot .svc:not(:last-child):after{content:" ·"}.center-load{flex:1;display:grid;place-items:center}.loader{width:36px;height:36px;border-radius:50%;border:3px solid rgba(255,255,255,.18);border-top-color:var(--sky);animation:spin .9s linear infinite}@media (min-width: 560px){.panel{padding:26px}}@media (max-width: 360px){.row2{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-delay:0ms!important;transition-duration:.001ms!important}}
