.guide{max-width:560px;padding-top:1rem}.guide__card{display:grid;grid-gap:1rem;gap:1rem;padding:.9rem;background:var(--white);border:2px solid var(--navy);border-radius:24px;box-shadow:0 6px 0 rgba(43,35,80,.18)}.guide__copy{display:grid;grid-gap:.6rem;gap:.6rem;padding:0 .3rem}.guide__step{font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#6a4ce0}.guide__title{margin:0;font-family:var(--font-display);font-size:clamp(1.35rem,5.2vw,1.7rem);line-height:1.15;color:var(--navy)}.guide__say{display:grid;grid-template-columns:44px 1fr;grid-gap:.6rem;gap:.6rem;align-items:start}.guide__avatar{width:44px;height:44px;object-fit:cover;object-position:50% 6%;background:var(--cream-2);border:2px solid var(--navy);border-radius:50%}.guide__say p{margin:0;padding:.55rem .75rem;font-size:.95rem;line-height:1.5;color:var(--ink);background:var(--paper);border-radius:4px 16px 16px 16px}.guide__name{display:block;font-size:.75rem;color:#c2410c}.guide__points{display:grid;grid-gap:.35rem;gap:.35rem;margin:0;padding:0;list-style:none}.guide__points li{display:grid;grid-template-columns:1.6rem 1fr;align-items:center;grid-gap:.5rem;gap:.5rem;font-size:.88rem;line-height:1.4;color:var(--ink-2);animation:guide-point .4s calc(.15s + var(--i) * .08s) ease-out both}.guide__points b{color:var(--navy)}.guide__icon{display:grid;place-items:center;width:1.6rem;height:1.6rem;font-size:.85rem;background:var(--cream-2);border-radius:8px}@keyframes guide-point{0%{opacity:0;translate:0 6px}}.guide__actions{display:flex;align-items:center;flex-wrap:wrap-reverse;justify-content:space-between;gap:.6rem;padding:.75rem .3rem .1rem;border-top:2px dashed var(--line)}.guide__actions .btn{flex:1 1 auto;min-width:7.5rem;white-space:nowrap}.psetup{gap:.65rem;overflow:hidden;max-height:min(100dvh - 5.5rem,720px)}.psetup__head{display:grid;grid-template-columns:64px 1fr;align-items:center;grid-gap:.55rem;gap:.55rem;margin:-.9rem -.9rem 0;padding:.7rem .85rem .65rem;background:radial-gradient(circle at 12% 120%,rgba(255,201,60,.5),transparent 55%),linear-gradient(180deg,#e9f7ff,#fff8e7);border-bottom:2px dashed var(--line)}.psetup__mascot{width:64px;height:72px;object-fit:contain;object-position:bottom;filter:drop-shadow(0 3px 0 rgba(43,35,80,.12));transform-origin:50% 100%;animation:psetup-bob 2.6s ease-in-out infinite}@keyframes psetup-bob{50%{translate:0 -4px;rotate:-2deg}}.psetup__intro{min-width:0}.psetup__title{margin:.05rem 0 .15rem;font-family:var(--font-display);font-size:clamp(1.05rem,4.2vw,1.25rem);line-height:1.15;color:var(--navy)}.psetup__lead{margin:0;font-size:.82rem;line-height:1.35;color:var(--ink-2)}@keyframes psetup-pop{0%{opacity:0;scale:.85;translate:-6px 3px}}.psetup__main{display:grid;grid-template-columns:auto 1fr;align-items:start;grid-gap:.75rem .85rem;gap:.75rem .85rem;padding:.15rem .2rem 0}.psetup__fields{display:grid;grid-gap:.55rem;gap:.55rem;min-width:0}.psetup__main .field{margin:0}.psetup__main .field>.label,.psetup__main .field>label{margin-bottom:.25rem;font-size:.78rem}.psetup__genders{display:flex;flex-wrap:wrap;gap:.35rem}.psetup__gender-btn{flex:1 1 auto;min-height:34px;padding:.2rem .65rem;border:2px solid var(--navy);border-radius:999px;background:var(--white);color:var(--ink);font:inherit;font-size:.82rem;font-weight:800;cursor:pointer;box-shadow:0 2px 0 var(--navy)}.psetup__gender-btn:active:not(:disabled){transform:translateY(2px);box-shadow:none}.psetup__gender-btn[aria-checked=true]{background:var(--gold)}.psetup__photo-field{display:grid;justify-items:center;grid-gap:.25rem;gap:.25rem;text-align:center}.psetup__drop{position:relative;display:grid;place-items:center;width:88px;height:88px;padding:0;overflow:hidden;border:3px dashed var(--purple);border-radius:50%;background:radial-gradient(circle at 50% 35%,#fff,#f1ecff);color:var(--purple-2);font:inherit;font-weight:800;cursor:pointer;transition:scale .15s var(--spring),border-color .15s ease}.psetup__drop.is-drag,.psetup__drop:hover:not(:disabled){scale:1.04;border-color:var(--orange)}.psetup__drop:focus-visible{outline:3px solid var(--orange);outline-offset:3px}.psetup__drop.is-bad{border-color:var(--pink-2);animation:field-shake .32s ease}.psetup__drop.has-photo{border:3px solid var(--navy);box-shadow:0 3px 0 rgba(43,35,80,.18)}.psetup__drop:not(.has-photo){animation:psetup-call 2.4s ease-in-out infinite}@keyframes psetup-call{50%{box-shadow:0 0 0 6px rgba(138,108,255,.16)}}.psetup__drop img{width:100%;height:100%;object-fit:cover}.psetup__drop-empty{display:grid;justify-items:center;grid-gap:.1rem;gap:.1rem;font-size:.72rem}.psetup__drop-empty span{font-size:1.55rem;line-height:1}.psetup__drop-edit{position:absolute;inset:auto 0 0;padding:.15rem 0 .28rem;background:rgba(43,35,80,.72);color:var(--white);font-size:.68rem}.psetup__photo-field .field-error,.psetup__photo-field .field-hint{font-size:.72rem;line-height:1.25}.psetup__name{position:relative}.psetup__name .input{padding-right:2.4rem}.psetup__ok{position:absolute;top:50%;right:.6rem;display:grid;place-items:center;width:1.35rem;height:1.35rem;translate:0 -50%;border-radius:50%;background:var(--green);color:var(--white);font-size:.78rem;font-weight:900;animation:psetup-pop .3s var(--spring) both}.psetup__name-hint{display:flex;justify-content:space-between;gap:.4rem;font-size:.72rem}.psetup__save-error{margin:0 .2rem}.psetup__actions{margin-top:.15rem;padding-top:.55rem}.psetup__actions .btn--brass{order:-1;flex:1.4 1 auto}@media (max-width:360px){.psetup__main{grid-template-columns:1fr;justify-items:center}.psetup__fields{width:100%}}@media (max-height:700px){.psetup__head{padding-block:.5rem .45rem}.psetup__mascot{width:52px;height:58px}.psetup__title{font-size:1.05rem}.psetup__lead{font-size:.78rem}.psetup__drop{width:76px;height:76px}}@media (prefers-reduced-motion:reduce){.psetup__drop,.psetup__mascot{animation:none}}.g-scene{position:relative;display:grid;justify-items:center;align-content:center;grid-gap:.5rem;gap:.5rem;width:100%;min-height:160px;padding:.8rem;overflow:hidden;background:linear-gradient(180deg,var(--paper),#fff);border-radius:16px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.g-tag{padding:.2rem .7rem;font-size:.8rem;font-weight:800;color:var(--navy);background:var(--white);border:2px solid var(--navy);border-radius:999px}.g-tag--gold{background:var(--cream-2)}.g-gift__box{font-size:3.6rem;line-height:1;filter:drop-shadow(0 4px 0 rgba(43,35,80,.25));animation:g-wiggle 2.4s ease-in-out 1s infinite}.g-gift__amount{font-family:var(--font-display);font-size:clamp(1.8rem,8vw,2.6rem);line-height:1;color:var(--green-2);text-shadow:0 3px 0 rgba(43,35,80,.15)}@keyframes g-wiggle{0%,80%,to{rotate:0deg}85%{rotate:-10deg}90%{rotate:8deg}95%{rotate:-4deg}}.coach{position:fixed;inset:0;z-index:1200;pointer-events:none;animation:coach-fade .2s ease-out both}.coach__shade{position:fixed;background:rgba(20,16,48,.7);pointer-events:auto}.coach__ring{position:fixed;border:3px solid var(--gold);border-radius:16px;box-shadow:0 0 0 3px var(--navy)}.coach__finger{position:fixed;translate:-50% 0;font-size:2.2rem;line-height:1;filter:drop-shadow(0 3px 0 rgba(20,16,48,.45));animation:coach-tap 1.1s ease-in-out infinite}.coach.is-gliding :is(.coach__shade,.coach__ring,.coach__finger,.coach__bubble){transition:top .32s cubic-bezier(.22,1,.36,1),left .32s cubic-bezier(.22,1,.36,1),right .32s cubic-bezier(.22,1,.36,1),bottom .32s cubic-bezier(.22,1,.36,1),width .32s cubic-bezier(.22,1,.36,1),height .32s cubic-bezier(.22,1,.36,1)}.coach__bubble{position:fixed;padding:.8rem .9rem .75rem;color:var(--ink);background:var(--white);border:var(--stroke) solid var(--navy);border-radius:20px;box-shadow:var(--pop);pointer-events:auto;overflow:hidden;animation:coach-in .24s var(--spring) both}.coach__body,.coach__bubble{display:grid;grid-gap:.6rem;gap:.6rem}.coach__body{animation:coach-swap .22s ease-out both}.coach__progress{position:absolute;inset:0 0 auto;height:4px;background:var(--paper)}.coach__progress:after{content:"";position:absolute;inset:0 auto 0 0;width:calc(var(--done, 0) * 100%);background:linear-gradient(90deg,var(--gold),var(--orange));transition:width .3s ease}.coach__head{display:grid;grid-template-columns:48px 1fr auto;align-items:center;grid-gap:.6rem;gap:.6rem}.coach__avatar{width:48px;height:48px;object-fit:cover;object-position:50% 6%;background:var(--cream-2);border:2px solid var(--navy);border-radius:50%}.coach__titles{display:grid;min-width:0}.coach__step{font-size:.72rem;font-weight:800;letter-spacing:.03em;color:#c2410c}.coach__titles strong{font-family:var(--font-display);font-size:1.12rem;line-height:1.15;color:var(--navy)}.coach__skip{align-self:start;padding:.25rem .6rem;font:inherit;font-size:.78rem;font-weight:800;color:var(--ink-2);background:var(--paper);border:0;border-radius:999px;cursor:pointer}.coach__text{margin:0;padding:.55rem .7rem;font-size:.92rem;line-height:1.5;color:var(--ink);background:var(--paper);border-radius:4px 14px 14px 14px}.coach__video{position:relative;flex:none;width:100%;aspect-ratio:16/9;overflow:hidden;background:#111;border-radius:12px}.coach__video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.coach__html{max-height:45vh;margin:0;padding:.55rem .7rem;overflow-y:auto;font-size:.92rem;line-height:1.5;color:var(--ink);background:var(--paper);border-radius:4px 14px 14px 14px;-webkit-overflow-scrolling:touch}.coach__bubble--intro{display:flex;flex-direction:column;gap:.55rem;overflow:hidden;border-radius:22px}.coach__bubble--intro .coach__body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.coach__bubble--intro .coach__html{flex:1 1 auto;min-height:0;max-height:none;overflow-x:hidden;overflow-y:auto}.coach__bubble--intro .coach__actions{flex:none;padding-top:.15rem}.coach__html b,.coach__html strong{color:var(--navy)}.coach__ways{display:grid;grid-gap:.3rem;gap:.3rem;font-size:.84rem;line-height:1.35}.coach__ways>span{display:block}.coach__text b{color:var(--navy)}.coach__nudge{margin:0;padding:.45rem .6rem;border-radius:12px;background:#ffe8b0;border:2px solid #c97a00;color:#7a4500;font-size:.84rem;font-weight:800;line-height:1.35}.coach__actions{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.coach__actions .btn{min-width:6.5rem}.coach__ring:after{content:"";position:absolute;inset:-6px;border-radius:20px;box-shadow:0 0 0 10px rgba(255,201,60,.35);opacity:0;animation:coach-pulse 1.4s ease-in-out infinite}@keyframes coach-pulse{50%{opacity:1}}@keyframes coach-tap{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes coach-in{0%{opacity:0;scale:.94}}@keyframes coach-swap{0%{opacity:0;translate:0 6px}}@keyframes coach-fade{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.coach,.coach__body,.coach__bubble,.coach__finger,.coach__ring:after{animation:none}.coach.is-gliding :is(.coach__shade,.coach__ring,.coach__finger,.coach__bubble){transition:none}.g-scene,.g-scene *,.guide__points li{animation-duration:.01ms!important;animation-iteration-count:1!important}}