:root{color:#171513;font-synthesis:none;-webkit-font-smoothing:antialiased;--ink:#171513;--muted:#6f675e;--accent:oklch(48% .12 32);background:#f5f5ee;font-family:Hanken Grotesk,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100svh;margin:0}body{background:radial-gradient(at 49% 43%,#fff 4%,#f5f5ee 52%,#e9ece8 100%) fixed}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default}a{color:var(--ink);text-underline-offset:4px;text-decoration-color:oklch(52% .11 32);text-decoration-thickness:1.5px}a:hover{color:var(--accent)}input::placeholder,textarea::placeholder{color:#9a9186}input,textarea,select{min-width:0}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}input:focus,textarea:focus,select:focus{outline:none}.text-box:focus-within,.select-box:focus-within,.recipient-grid input:focus,.recipient-grid textarea:focus,.money>div:focus-within{border-color:#17151399}.app{flex-direction:column;min-height:100svh;display:flex}.logo-wrap{justify-content:center;padding-top:22px;padding-bottom:0;transition:padding .65s cubic-bezier(.3,.7,.2,1);display:flex}.logo{background:0 0;border:0;height:53px;padding:0;transition:height .65s cubic-bezier(.3,.7,.2,1);display:block;overflow:hidden}.logo img{width:80px;height:auto;transition:width .65s cubic-bezier(.3,.7,.2,1);display:block}.landing .logo-wrap{padding-top:11vh;padding-bottom:clamp(32px,5vh,48px)}.landing .logo{height:260px}.landing .logo img{width:193px}.content{opacity:1;flex-direction:column;flex:1;transition:opacity .26s,transform .42s cubic-bezier(.2,.7,.2,1);display:flex;position:relative;transform:none}.content.leaving{opacity:0;transform:translateY(6px)}.landing-content{flex-direction:column;align-items:center;gap:clamp(32px,5vh,48px);padding:0 24px 80px;display:flex}.landing-content p{text-align:center;text-wrap:balance;max-width:820px;margin:0;font-family:Newsreader,serif;font-size:clamp(26px,2.8vw,32px);font-weight:350;line-height:1.35}.primary{background:var(--ink);color:#f6f2ec;letter-spacing:.02em;border:0;border-radius:4px;height:56px;padding:0 34px;font-family:IBM Plex Mono,monospace;font-size:15px;font-weight:500;transition:transform .2s,background .2s}.primary:hover{background:#2c2825;transform:translateY(-1px)}.primary:disabled{opacity:.4}.questions{flex-direction:column;gap:clamp(36px,6vh,56px);width:100%;max-width:680px;margin:0 auto;padding:clamp(28px,7vh,72px) 24px 80px;display:flex}.rail{gap:6px;width:calc(100% - 48px);max-width:632px;margin:clamp(28px,7vh,72px) auto 12px;display:flex}.rail+.questions{padding-top:clamp(36px,6vh,56px)}.rail button{text-align:left;color:#8a8278;background:0 0;border:0;border-top:2px solid #1715131f;flex:1;align-items:baseline;gap:8px;min-width:0;padding:10px 0 0;display:flex}.rail button span:first-child{color:#8a8278;font-variant-numeric:tabular-nums;font-size:12px}.rail button span+span{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.rail .current{border-color:var(--ink);color:var(--ink)}.rail .done{color:#3d3833;border-color:#17151361}.transcript{flex-direction:column;gap:22px;margin:0;padding:0;list-style:none;display:flex}.transcript li{border-bottom:1px solid #17151314;justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:22px;display:flex}.transcript li>div{flex-direction:column;gap:12px;min-width:0;display:flex}.transcript span{color:var(--muted);font-size:13px}.transcript p{overflow-wrap:anywhere;margin:0;font-family:Newsreader,serif;font-size:19px;line-height:1.3}.text-button{letter-spacing:.04em;color:var(--ink);text-underline-offset:3px;background:0 0;border:0;flex:none;padding:6px 0;font-family:IBM Plex Mono,monospace;font-size:11px;-webkit-text-decoration:underline #1715134d;text-decoration:underline #1715134d}.question{flex-direction:column;gap:28px;animation:.3s rise;display:flex}h1{letter-spacing:-.01em;text-wrap:balance;margin:0;font-family:Newsreader,serif;font-size:clamp(28px,3.8vw,42px);font-weight:350;line-height:1.12}.hint{color:#5f574f;text-wrap:pretty;max-width:44ch;margin:8px 0 0;font-family:Newsreader,serif;font-size:clamp(19px,2vw,21px);font-style:italic;font-weight:350;line-height:1.45}.text-box{border:1px solid #1715132e;border-radius:6px;align-items:flex-end;gap:12px;padding:6px 12px 12px 18px;transition:border-color .2s;display:flex}.text-box textarea{resize:none;field-sizing:content;background:0 0;border:0;flex:1;min-height:96px;max-height:280px;padding:10px 0 0;font-size:17px;line-height:1.5}.recipient-form{align-items:flex-end;gap:12px;display:flex}.recipient-grid{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px;min-width:0;display:grid}.recipient-grid label{flex-direction:column;gap:7px;min-width:0;display:flex}.recipient-grid label>span{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:11px}.recipient-grid input,.recipient-grid textarea{background:0 0;border:1px solid #1715132e;border-radius:6px;width:100%;min-height:50px;padding:11px 14px;font-size:16px;line-height:1.4;transition:border-color .2s}.recipient-grid textarea{resize:vertical}.recipient-wide{grid-column:1/-1}.recipient-form>.round{margin-bottom:3px}.round{background:var(--ink);color:#f6f2ec;border:0;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;font-size:18px;display:grid}.round:disabled{background:#17151333}.select-box{border:1px solid #1715132e;border-radius:6px;align-items:center;gap:12px;padding:6px 12px 6px 18px;display:flex}.select-box input,.select-box select{appearance:none;background:0 0;border:0;flex:1;width:100%;height:52px;padding:0;font-size:17px}.budget-row{align-items:flex-end;gap:12px;display:flex}.money{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.money>span{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:11px}.money>div{border:1px solid #1715132e;border-radius:6px;align-items:center;gap:6px;height:56px;padding:0 16px;display:flex}.money input{font-variant-numeric:tabular-nums;background:0 0;border:0;flex:1;width:100%;height:100%;padding:0;font-size:17px}.range-sep{color:#8a8278;place-items:center;height:56px;display:grid}.budget-next{width:56px;height:56px}.error{color:var(--accent);font-size:14px}.thinking-content{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:24px;padding:24px 24px 120px;display:flex}.thinking-content p{color:var(--muted);margin:0;font-family:Newsreader,serif;font-size:22px;font-style:italic}.dots{gap:10px;display:flex}.dots span{background:var(--ink);border-radius:2px;width:12px;height:12px;animation:1.2s ease-in-out infinite dot}.results-content{flex-direction:column;flex:1;gap:clamp(36px,6vh,56px);width:100%;max-width:1160px;margin:0 auto;padding:clamp(28px,6vh,64px) clamp(20px,4vw,40px) 96px;display:flex}.result-heading{flex-direction:column;gap:20px;padding-top:clamp(16px,3vh,32px);display:flex}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-family:IBM Plex Mono,monospace;font-size:11px}.result-heading>div{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px 40px;display:flex}.result-heading h1{letter-spacing:-.015em;overflow-wrap:anywhere;min-width:0;max-width:720px;font-size:clamp(40px,6vw,68px);line-height:1.04}.revise{letter-spacing:.08em;text-transform:uppercase;background:0 0;border:1px solid #17151333;border-radius:999px;flex:none;height:44px;margin-top:6px;padding:0 20px;font-family:IBM Plex Mono,monospace;font-size:12px}.revise:hover{background:var(--ink);color:#f6f2ec}.gift-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:clamp(16px,2.4vw,28px);display:grid}.gift-card{background:#ffffff9e;border:1px solid #17151314;border-radius:6px;flex-direction:column;display:flex;overflow:hidden}.photo{aspect-ratio:4/3;background:#eeeee6;place-items:center;text-decoration:none;display:grid;position:relative;overflow:hidden}.photo>img{object-fit:contain;width:100%;height:100%;display:block;position:absolute}.no-photo{color:#8a8278;flex-direction:column;align-items:center;gap:18px;font-family:IBM Plex Mono,monospace;font-size:11px;display:flex}.no-photo img{opacity:.18;width:58px;height:auto}.card-body{flex-direction:column;flex:1;gap:12px;padding:22px 22px 20px;display:flex}.card-body h2{letter-spacing:-.01em;margin:0;font-family:Newsreader,serif;font-size:27px;font-weight:400;line-height:1.12}.card-body h2 a{text-decoration:none}.card-body p{color:#3d3833;text-wrap:pretty;margin:0;font-size:15px;line-height:1.55}.card-bottom{color:#000;border-top:1px solid #1715131a;margin-top:auto;padding-top:14px;font-size:13px}.card-bottom a{color:inherit;text-decoration-color:#1715138c}@keyframes dot{0%,to{opacity:.18;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (width>=1240px){.rail{flex-direction:column;width:auto;margin:0;display:flex;position:absolute;top:clamp(28px,7vh,72px);left:clamp(28px,3.4vw,56px)}.rail button{border-top:0;border-left:2px solid #1715131f;grid-template-columns:44px auto;gap:0;padding:2px 0 48px 30px;display:grid}.rail button span:first-child{font-size:15px}.rail button span+span{font-size:18px}.rail+.questions{padding-top:clamp(28px,7vh,72px)}}@media (width<=759px){.rail button:not(.current) span+span{display:none}.rail .current{flex:2.8}}@media (width<=599px){.recipient-form{flex-direction:column;align-items:stretch}.recipient-grid{grid-template-columns:1fr}.recipient-form>.round{align-self:flex-end;margin:0}.landing .logo-wrap{padding-top:9vh}.landing .logo{height:242px}.landing .logo img{width:180px}.result-heading h1{font-size:44px}.money>div{padding:0 10px}.budget-row{gap:8px}.landing-content p{font-size:27px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.review-form{flex-direction:column;gap:14px;margin:20px 0 36px;display:flex}.review-form label{flex-direction:column;gap:6px;font-size:13px;display:flex}.review-form input,.review-form select,.review-form textarea{background:#ffffffa6;border:1px solid #1715132e;border-radius:4px;width:100%;padding:12px}.review-form .check{flex-direction:row;align-items:center}.review-form .check input{width:auto}.review-source{white-space:pre-wrap;font-family:Newsreader,serif;font-size:18px;line-height:1.5}.admin-summary{font-size:14px;line-height:1.7}.review-form fieldset{border:1px solid #1715131a;flex-direction:column;gap:12px;padding:16px;display:flex}
