html.ap-open{overflow:hidden}dialog.ap{width:min(1120px,calc(100vw - 32px));max-width:none;height:min(760px,calc(100dvh - 32px));max-height:none;margin:auto;padding:0;overflow:visible;border:0;background:transparent;color:var(--ink)}dialog.ap::backdrop{background:#0c0e1180;-webkit-backdrop-filter:blur(6px) saturate(1.2);backdrop-filter:blur(6px) saturate(1.2)}.ap.is-open::backdrop{animation:ap-fade .26s ease both}.ap.is-open .ap__panel{animation:ap-in .62s cubic-bezier(.2,1,.3,1.06) both}.ap.is-closing .ap__panel{animation:ap-out .2s ease both}.ap.is-closing::backdrop{animation:ap-fade .2s ease reverse both}.ap__panel{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);height:100%;overflow:hidden;border:1px solid var(--line);border-radius:26px;background:var(--raised);box-shadow:0 40px 120px -30px #0000008c,0 2px 6px #00000014}.ap__form{display:flex;flex-direction:column;min-width:0;min-height:0}.ap__form>*{flex-shrink:0}.ap__form>.ap__body{flex:1 1 auto}.ap__head{display:flex;align-items:flex-start;gap:12px;padding:26px 30px 16px}.ap__heading{flex:1;min-width:0}.ap__kicker{margin:0 0 8px;color:var(--accent);font-size:.8125rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.ap__kicker [data-ap-count-label]{color:var(--faint);letter-spacing:.02em;text-transform:none}.ap h2{margin:0;font-size:clamp(1.6rem,1.2rem + 1.4vw,2.25rem);font-weight:640;font-stretch:84%;line-height:1.02;letter-spacing:-.024em;text-wrap:balance;outline:none}.ap__close,.ap__brief-toggle{display:inline-grid;place-items:center;flex:0 0 auto;width:40px;height:40px;border:1px solid var(--line);border-radius:999px;background:var(--raised);color:var(--muted);cursor:pointer;transition:color .2s ease,background-color .2s ease,transform .3s var(--lp-ease)}.ap__close:hover{color:var(--ink);background:var(--soft);transform:rotate(90deg)}.ap__close svg,.ap__brief-toggle svg{width:18px;height:18px}.ap__brief-toggle{display:none;width:auto;gap:6px;padding:0 12px;font:600 .8125rem/1 var(--font)}.ap__brief-toggle svg{width:16px;height:16px}.ap__track{position:relative;display:inline-grid;grid-template-columns:repeat(2,minmax(0,1fr));align-self:flex-start;margin:0 30px 16px;padding:4px;border:1px solid var(--line);border-radius:999px;background:var(--surface)}.ap__track[hidden]{display:none}.ap__track button{position:relative;z-index:1;min-height:36px;padding:0 16px;border:0;border-radius:999px;background:transparent;color:var(--muted);font:600 .8125rem/1 var(--font);white-space:nowrap;cursor:pointer;transition:color .3s ease}.ap__track button[aria-checked=true]{color:var(--paper)}.ap__track button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ap__track i{position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:999px;background:var(--ink);transition:transform .5s var(--lp-ease)}.ap[data-track=advice] .ap__track i{transform:translate(100%)}.ap[data-track=build] [data-ap-only=advice],.ap[data-track=advice] [data-ap-only=build]{display:none}.ap__facts [data-ap-optional]:not([data-filled]){display:none}.ap.is-sent .ap__facts>div:has(dd:empty){display:none}.ap__steps{display:grid;grid-template-columns:repeat(var(--ap-steps, 5),minmax(0,1fr));gap:6px;margin:0;padding:0 30px;list-style:none}.ap__steps li[hidden]{display:none}.ap__steps button{display:flex;align-items:center;gap:8px;width:100%;padding:6px 4px;border:0;border-radius:10px;background:transparent;color:var(--faint);font:600 .8125rem/1 var(--font);cursor:pointer}.ap__steps button:disabled{cursor:default}.ap__steps button:not(:disabled):hover{color:var(--ink)}.ap__steps b{position:relative;display:inline-grid;place-items:center;flex:0 0 auto;width:24px;height:24px;border:1.5px solid var(--line-strong);border-radius:999px;font-size:.75rem;transition:background-color .3s ease,border-color .3s ease,color .3s ease}.ap__steps b svg{position:absolute;width:14px;height:14px;stroke-width:2.6;opacity:0;transform:scale(.4);transition:opacity .25s ease,transform .4s var(--lp-spring)}.ap__steps [aria-current=step]{color:var(--ink)}.ap__steps [aria-current=step] b{border-color:var(--ink);background:var(--ink);color:var(--paper)}.ap__steps .is-done b{border-color:var(--lp-live);background:var(--lp-live);color:transparent}.ap__steps .is-done b svg{color:#fff;opacity:1;transform:none}.ap__bar{height:3px;margin:12px 30px 0;overflow:hidden;border-radius:3px;background:var(--soft)}.ap__bar i{display:block;height:100%;background:linear-gradient(90deg,var(--lp-t1),var(--lp-t2),var(--lp-t3));transform:scaleX(.2);transform-origin:left;transition:transform .6s var(--lp-ease)}.ap__body{position:relative;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:22px 30px 24px;scrollbar-gutter:stable}.ap__step{display:grid;gap:18px;min-width:0;margin:0;padding:0;border:0}.ap__step[hidden],.ap__done[hidden]{display:none}.ap__step.is-from-right{animation:ap-from-right .5s var(--lp-ease) both}.ap__step.is-from-left{animation:ap-from-left .5s var(--lp-ease) both}.ap__field{display:grid;gap:7px;min-width:0}.ap__label{color:var(--ink);font-size:.9375rem;font-weight:600}.ap__label small{margin-left:6px;color:var(--faint);font-size:.8125rem;font-weight:500}.ap__label--group{margin:6px 0 -6px}.ap input:not([type=checkbox]):not([type=radio]),.ap textarea{width:100%;min-width:0;padding:13px 15px;border:1.5px solid var(--line-strong);border-radius:14px;background:var(--surface);color:var(--ink);font:500 1rem/1.4 var(--font);transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.ap input[name=oneLiner]{padding:16px 17px;font-size:1.1875rem;font-weight:560}.ap textarea{resize:vertical;min-height:84px;font-family:var(--font)}.ap input::placeholder,.ap textarea::placeholder{color:color-mix(in srgb,var(--muted) 70%,transparent)}.ap input:not([type=checkbox]):not([type=radio]):focus,.ap textarea:focus{outline:none;border-color:var(--accent);background:var(--raised);box-shadow:0 0 0 4px var(--focus-ring)}.ap [aria-invalid]{border-color:var(--danger)}.ap__hint{display:flex;justify-content:space-between;gap:12px;color:var(--faint);font-size:.8125rem}.ap__hint i{font-style:normal;font-variant-numeric:tabular-nums}.ap__error{color:var(--danger);font-size:.8125rem;font-style:normal;font-weight:560}.ap__error:empty{display:none}.ap__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.ap-card,.ap-chip{position:relative;display:block;cursor:pointer}.ap-card input,.ap-chip input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.ap__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ap__cards--budget{grid-template-columns:repeat(5,minmax(0,1fr))}.ap-card>span{display:grid;gap:4px;height:100%;padding:15px 16px 14px;border:1.5px solid var(--line-strong);border-radius:16px;background:var(--surface);transition:border-color .2s ease,background-color .2s ease,transform .35s var(--lp-ease),box-shadow .3s ease}.ap-card b{font-size:.9375rem;font-weight:640}.ap-card small{color:var(--muted);font-size:.8125rem;line-height:1.35}.ap-card--offer>span{align-content:start;gap:6px;padding:16px 16px 15px}.ap-card--offer b{font-size:1rem}.ap-card--offer strong{font-size:1.375rem;font-weight:650;font-stretch:86%;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.ap-card--offer strong small{color:var(--muted);font-size:.8125rem;font-weight:560;letter-spacing:0}.ap-card--small>span{place-items:center;padding:14px 8px;text-align:center}.ap-card--small b{font-variant-numeric:tabular-nums}.ap-card:hover>span{border-color:var(--ink)}.ap-card input:checked+span{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--raised));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent);transform:translateY(-2px)}.ap-card input:focus-visible+span,.ap-chip input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.ap__chips{display:flex;flex-wrap:wrap;gap:8px}.ap-chip>span{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 15px;border:1.5px solid var(--line-strong);border-radius:999px;background:var(--surface);font-size:.875rem;font-weight:560;transition:border-color .2s ease,background-color .2s ease,color .2s ease,transform .3s var(--lp-spring)}.ap-chip>span:before{content:"";width:0;height:10px;margin-left:-2px;border-radius:999px;background:currentColor;transition:width .3s var(--lp-spring),margin .3s ease}.ap-chip:hover>span{border-color:var(--ink)}.ap-chip input:checked+span{border-color:var(--ink);background:var(--ink);color:var(--paper)}.ap-chip input:checked+span:before{width:6px;height:6px;margin-left:0;background:var(--lp-live);box-shadow:0 0 0 3px color-mix(in srgb,var(--lp-live) 30%,transparent)}.ap-chip input:active+span{transform:scale(.96)}.ap__note{display:flex;align-items:flex-start;gap:10px;margin:0;padding:12px 14px;border:1.5px dashed color-mix(in srgb,var(--lp-beta) 55%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--lp-beta) 7%,transparent);font-size:.875rem;line-height:1.45}.ap__note[hidden]{display:none}.ap__note svg{flex:0 0 auto;width:18px;height:18px;margin-top:1px;color:var(--lp-beta)}.ap__trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.ap__privacy{margin:0;color:var(--faint);font-size:.8125rem}.ap__privacy a{color:inherit}.ap__alert{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 30px 10px;padding:11px 14px;border-radius:12px;background:color-mix(in srgb,var(--danger) 10%,var(--raised));color:var(--ink);font-size:.875rem}.ap__alert[hidden]{display:none}.ap__alert-copy{padding:6px 12px;border:1.5px solid var(--ink);border-radius:999px;background:transparent;color:var(--ink);font:600 .8125rem/1 var(--font);cursor:pointer}.ap__foot{display:flex;align-items:center;gap:12px;padding:16px 30px 20px;border-top:1px solid var(--line)}.ap__foot>[hidden]{display:none}.ap__back{display:inline-flex;align-items:center;gap:6px;padding:10px 12px;border:0;border-radius:999px;background:transparent;color:var(--muted);font:600 .9375rem/1 var(--font);cursor:pointer}.ap__back:hover{background:var(--soft);color:var(--ink)}.ap__back svg{width:17px;height:17px}.ap__saved{display:inline-flex;align-items:center;gap:6px;margin:0 auto 0 0;color:var(--faint);font-size:.8125rem}.ap__saved:before{content:"";width:6px;height:6px;border-radius:999px;background:var(--lp-live)}.ap__saved.is-pulse:before{animation:ap-pulse .7s ease-out}.ap__back:not([hidden])+.ap__saved{margin-left:4px}.ap__next-btn kbd{padding:2px 6px;border-radius:6px;background:color-mix(in srgb,var(--paper) 18%,transparent);font:600 .75rem/1.2 var(--font)}.ap__next-btn.is-busy{cursor:progress;opacity:.8}.ap__next-btn.is-busy kbd{display:none}.ap__foot [data-ap-another]{margin-right:auto;color:var(--ink)}.ap__foot [data-ap-another] svg{width:16px;height:16px}.ap__again{margin:-4px 30px 14px;padding:10px 14px;border-radius:12px;background:color-mix(in srgb,var(--accent) 8%,var(--surface));color:var(--ink);font-size:.875rem;line-height:1.45}.ap__again[hidden]{display:none}.ap__when .ap__chips+.ap__chips{margin-top:2px}.ap-chip--soft>span{min-height:34px;padding:0 13px;font-size:.8125rem}.ap__done{display:grid;justify-items:start;gap:10px;outline:none;animation:ap-from-right .6s var(--lp-ease) both}.ap .ap__done-ring{width:72px;height:72px;fill:none;stroke:var(--lp-live);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.ap__done-ring circle{stroke-dasharray:214;stroke-dashoffset:214;animation:ap-draw .8s cubic-bezier(.6,0,.3,1) .15s forwards}.ap__done-ring path{stroke-dasharray:50;stroke-dashoffset:50;animation:ap-draw .45s cubic-bezier(.5,0,.3,1) .8s forwards}.ap__done h3{margin:0;font-size:1.75rem;font-weight:640;font-stretch:86%;letter-spacing:-.02em}.ap__done>p{max-width:32rem;margin:0;color:var(--muted);line-height:1.55}.ap__done>p b{color:var(--ink)}.ap__next{display:grid;gap:10px;width:100%;margin:10px 0 0;padding:0;list-style:none;counter-reset:ap}.ap__next li{display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:12px;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface);counter-increment:ap;animation:ap-from-right .6s var(--lp-ease) both}.ap__next li:nth-child(2){animation-delay:.1s}.ap__next li:nth-child(3){animation-delay:.2s}.ap__next li:before{content:counter(ap);grid-row:span 2;display:grid;place-items:center;width:30px;height:30px;border-radius:999px;background:var(--ink);color:var(--paper);font-size:.8125rem;font-weight:700}.ap__next b{font-size:.9375rem}.ap__next span{color:var(--muted);font-size:.875rem}.ap__brief{position:relative;display:grid;min-width:0;min-height:0;padding:26px 26px 26px 0;background:radial-gradient(60% 40% at 80% 0%,color-mix(in srgb,var(--lp-t2) 10%,transparent),transparent 70%),radial-gradient(50% 40% at 10% 100%,color-mix(in srgb,var(--lp-t1) 10%,transparent),transparent 70%)}.ap__paper{position:relative;display:flex;flex-direction:column;gap:16px;min-height:0;overflow-y:auto;padding:26px 26px 22px;border:1px solid var(--line);border-radius:6px 18px 18px 6px;background:linear-gradient(90deg,color-mix(in srgb,var(--danger) 26%,transparent) 0 1px,transparent 1px) 30px 0 / 100% 100% no-repeat,var(--surface);box-shadow:0 30px 60px -36px #0a0c1073,0 1px 0 var(--line);transform:rotate(.6deg);transition:transform .6s var(--lp-ease)}.ap.is-sent .ap__paper{transform:rotate(-1.2deg) translateY(-4px)}.ap__paper>*{flex-shrink:0}.ap__paper-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-left:18px}.ap__paper-head p{margin:0;color:var(--muted);font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.ap__stamp{padding:4px 10px;border:2px solid var(--line-strong);border-radius:6px;color:var(--faint);font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;transform:rotate(-4deg)}.ap.is-sent .ap__stamp{border-color:var(--lp-live);color:var(--lp-live);animation:ap-stamp .5s cubic-bezier(.2,1.4,.4,1) .3s both}.ap__meter{display:flex;align-items:center;gap:10px;padding-left:18px;color:var(--muted);font-size:.8125rem}.ap__meter svg{width:30px;height:30px;transform:rotate(-90deg)}.ap__meter circle{fill:none;stroke:var(--line);stroke-width:3.5}.ap__meter circle+circle{stroke:var(--lp-live);stroke-linecap:round;stroke-dasharray:97.4;stroke-dashoffset:97.4;transition:stroke-dashoffset .6s var(--lp-ease)}.ap__meter b{color:var(--ink);font-variant-numeric:tabular-nums}.ap__one{min-height:1.3em;margin:4px 0 0;padding-left:18px;font-family:var(--font-serif);font-size:1.5rem;font-weight:500;line-height:1.22;letter-spacing:-.01em;text-wrap:balance;overflow-wrap:anywhere}.ap__one:empty:before{content:attr(data-empty);color:color-mix(in srgb,var(--muted) 55%,transparent);font-style:italic}.ap__facts{display:grid;gap:0;margin:0;padding-left:18px}.ap__facts>div{display:grid;grid-template-columns:6.2rem minmax(0,1fr);gap:12px;padding:10px 0;border-top:1px dashed var(--line)}.ap__facts dt{color:var(--faint);font-size:.75rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase}.ap__facts dd{min-width:0;margin:0;font-size:.9375rem;line-height:1.4;overflow-wrap:anywhere}.ap__facts dd:empty:before{content:"";display:block;width:72%;height:.7em;margin-top:.3em;border-radius:4px;background:linear-gradient(90deg,var(--soft) 0%,color-mix(in srgb,var(--ink) 10%,transparent) 40%,var(--soft) 80%) 0 0 / 300% 100%;animation:ap-shimmer 2.4s ease-in-out infinite}.ap__facts dd[data-chips]{display:flex;flex-wrap:wrap;gap:5px}.ap__facts dd[data-chips] span{padding:3px 9px;border-radius:999px;background:var(--soft);font-size:.8125rem;font-weight:560}.ap [data-b].is-new{animation:ap-ink .7s var(--lp-ease)}.ap__paper-foot{margin-top:auto;padding:12px 0 0 18px;border-top:1px solid var(--line);color:var(--faint);font-size:.75rem}@keyframes ap-fade{0%{opacity:0}}@keyframes ap-in{0%{opacity:0;transform:translateY(24px) scale(.97)}}@keyframes ap-out{to{opacity:0;transform:translateY(12px) scale(.98)}}@keyframes ap-from-right{0%{opacity:0;transform:translate(28px)}}@keyframes ap-from-left{0%{opacity:0;transform:translate(-28px)}}@keyframes ap-draw{to{stroke-dashoffset:0}}@keyframes ap-stamp{0%{opacity:0;transform:rotate(-4deg) scale(2.2)}}@keyframes ap-shimmer{50%{background-position:100% 0}}@keyframes ap-ink{0%{opacity:.2;filter:blur(4px);transform:translateY(4px)}}@keyframes ap-pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--lp-live) 55%,transparent)}to{box-shadow:0 0 0 8px transparent}}@media (max-width: 900px){dialog.ap{width:100vw;height:100dvh;max-height:100dvh;margin:0}.ap__panel{grid-template-columns:minmax(0,1fr);border:0;border-radius:0}.ap__head{padding:calc(18px + env(safe-area-inset-top,0px)) max(18px,env(safe-area-inset-right,0px)) 12px max(18px,env(safe-area-inset-left,0px))}.ap__track{margin:0 max(18px,env(safe-area-inset-left,0px)) 12px}.ap__again{margin-inline:max(18px,env(safe-area-inset-left,0px))}.ap__foot [data-ap-another]{padding-inline:6px;font-size:.875rem}.ap__steps,.ap__bar{padding:0;margin-inline:max(18px,env(safe-area-inset-left,0px)) max(18px,env(safe-area-inset-right,0px))}.ap__steps{gap:2px}.ap__steps button{justify-content:center}.ap__steps button>span{display:none}.ap__body{padding:18px max(18px,env(safe-area-inset-right,0px)) 20px max(18px,env(safe-area-inset-left,0px))}.ap__foot{padding:12px max(18px,env(safe-area-inset-right,0px)) calc(14px + env(safe-area-inset-bottom,0px)) max(18px,env(safe-area-inset-left,0px))}.ap__alert{margin-inline:18px}.ap__brief-toggle{display:inline-flex}.ap__brief{position:absolute;inset:auto 0 0;z-index:5;max-height:82dvh;padding:18px;border-top:1px solid var(--line);border-radius:22px 22px 0 0;background-color:var(--raised);box-shadow:0 -30px 60px -30px #0006;transform:translateY(105%);transition:transform .5s var(--lp-ease)}.ap.is-brief .ap__brief,.ap__paper{transform:none}.ap__saved{display:none}.ap__next-btn{margin-left:auto}.ap__next-btn kbd{display:none}}@media (max-width: 640px){.ap__cards{grid-template-columns:minmax(0,1fr)}.ap__cards--budget{grid-template-columns:repeat(2,minmax(0,1fr))}.ap__cards--budget .ap-card:last-child{grid-column:span 2}.ap__row{grid-template-columns:minmax(0,1fr)}.ap h2{font-size:1.6rem}.ap__done-btn{flex:1}}@media (prefers-reduced-motion: reduce){.ap.is-open .ap__panel,.ap.is-open::backdrop,.ap__step.is-from-right,.ap__step.is-from-left,.ap__done,.ap__next li,.ap.is-sent .ap__stamp{animation:none}.ap__done-ring circle,.ap__done-ring path{animation:none;stroke-dashoffset:0}.ap__facts dd:empty:before{animation:none}}
