:root{--pbg: #f56a4b;--pink: #ffffff;--ring: #f56a4b;--tint: #ffe6de;--atext: #c7482b;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;padding:0;background:#f6f6f3;color:#1a1d14;font-family:Onest,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}a{color:var(--atext);text-decoration:none}a:hover{opacity:.8}button{font-family:inherit;-webkit-tap-highlight-color:transparent}::-webkit-scrollbar{width:0;height:0}#app{min-height:100vh;min-height:100dvh;background:#f6f6f3}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slideUp{0%{transform:translateY(48px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes enterRight{0%{opacity:0;transform:translate(26px)}to{opacity:1;transform:translate(0)}}@keyframes pulseRing{0%{box-shadow:0 0 #f56a4b73}70%{box-shadow:0 0 0 16px #f56a4b00}to{box-shadow:0 0 #f56a4b00}}@keyframes popNum{0%{transform:scale(1)}40%{transform:scale(1.22)}to{transform:scale(1)}}@keyframes floatEmoji{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-7px) rotate(3deg)}}.stagger>*{opacity:0;animation:rise .5s cubic-bezier(.2,.8,.2,1) forwards}.press{transition:transform .12s cubic-bezier(.3,.7,.3,1)}.press:active{transform:scale(.95)}.scr{width:100%;max-width:440px;margin:0 auto;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;position:relative}.welcome{padding:70px 24px 28px;flex:1;display:flex;flex-direction:column;animation:fadeIn .4s ease}.welcome .inner{flex:1;display:flex;flex-direction:column;justify-content:center}.welcome .badge{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;background:var(--tint);border:1px solid var(--ring);padding:6px 13px;border-radius:999px;margin-bottom:26px;font-size:12.5px;font-weight:600;color:var(--atext)}.welcome h1{font-size:44px;line-height:1.02;letter-spacing:-.035em;font-weight:800;margin:0 0 14px}.welcome .lead{font-size:16.5px;line-height:1.45;color:#6d6e66;margin:0 0 34px;max-width:320px}.welcome .perks{display:flex;flex-direction:column;gap:11px}.welcome .perk{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid #ecebe6;border-radius:18px;padding:15px 16px}.welcome .perk span.e{font-size:22px}.welcome .perk span.t{font-size:14.5px;font-weight:500}.cta{width:100%;padding:18px;border:none;border-radius:999px;background:var(--pbg);color:var(--pink);font-size:17px;font-weight:700;cursor:pointer;box-shadow:0 8px 20px -8px var(--ring)}.cta.pulse{animation:pulseRing 2.4s ease-out 1s 2}.cta.dark{background:#1a1d14;color:#fff}.cta.ghost{background:transparent;color:#1a1d14;border:1px solid #e6e5e0;box-shadow:none}.onboard{padding:58px 24px 24px;flex:1;display:flex;flex-direction:column}.onboard .top{display:flex;align-items:center;gap:14px;margin-bottom:28px}.icon-btn{width:38px;height:38px;flex:none;border:1px solid #e6e5e0;background:#fff;border-radius:50%;font-size:17px;cursor:pointer;color:#1a1d14;display:flex;align-items:center;justify-content:center}.progress{flex:1;height:5px;background:#e6e5e0;border-radius:3px;overflow:hidden}.progress .bar{height:100%;background:var(--ring);border-radius:3px;transition:width .35s cubic-bezier(.4,0,.2,1)}.step-wrap{animation:enterRight .4s cubic-bezier(.2,.8,.2,1)}.step-wrap h2{font-size:28px;line-height:1.08;letter-spacing:-.03em;font-weight:700;margin:0 0 6px}.step-wrap p.sub{font-size:15px;color:#6d6e66;margin:0 0 24px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:11px}.tile{padding:15px 13px;border-radius:17px;border:1.6px solid #ecebe6;background:#fff;cursor:pointer;transition:all .15s}.tile.on{border-color:var(--ring);background:var(--tint)}.tile.v{display:flex;flex-direction:column;gap:8px}.tile .row-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.tile .e{font-size:24px}.tile .kind{font-size:10px;font-weight:600;padding:3px 8px;border-radius:999px;background:#f0efe9;color:#9a9b92}.tile.on .kind{background:var(--ring);color:#fff}.tile .nm{font-size:14.5px;font-weight:600}.tile.v .e-small{font-size:22px}.tile.v .lbl{font-size:13.5px;font-weight:600}.stepper{display:flex;flex-direction:column;align-items:center;gap:4px;padding:34px 0 10px}.stepper .row{display:flex;align-items:center;gap:30px}.stepper .btn{width:58px;height:58px;border:1px solid #e6e5e0;background:#fff;border-radius:50%;font-size:28px;cursor:pointer;color:#1a1d14}.stepper .num{min-width:70px;text-align:center;font-size:60px;font-weight:700;line-height:1;letter-spacing:-.04em;animation:popNum .3s ease}.stepper .word{font-size:14px;color:#6d6e66;margin-top:10px}.budget-pane{padding:12px 0 4px}.budget-pane .bignum{display:flex;align-items:baseline;justify-content:center;gap:6px;margin-bottom:26px}.budget-pane .bignum .n{font-size:52px;font-weight:700;letter-spacing:-.04em;animation:popNum .25s ease;background:transparent;border:none;outline:none;width:5ch;text-align:center;font-family:inherit;color:inherit;padding:0;margin:0;caret-color:var(--ring)}.budget-pane .bignum .n:focus{background:var(--tint);border-radius:10px}.budget-pane .bignum .n::-webkit-outer-spin-button,.budget-pane .bignum .n::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.budget-pane .bignum .cur{font-size:26px;font-weight:600;color:#9a9b92}.budget-pane input[type=range]{width:100%;accent-color:var(--ring);height:6px;cursor:pointer}.budget-pane .range-caps{display:flex;justify-content:space-between;font-size:12px;color:#9a9b92;margin-top:8px}.budget-pane .hint{text-align:center;margin-top:28px;background:#fff;border:1px solid #ecebe6;border-radius:16px;padding:16px}.budget-pane .hint .h1{font-size:13px;color:#6d6e66}.budget-pane .hint .h2{font-size:22px;font-weight:700;margin-top:3px}.budget-pane .hint .h2 .sm{font-size:14px;font-weight:500;color:#6d6e66}.loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:24px;animation:fadeIn .3s ease}.loading .ring{position:relative;width:88px;height:88px;display:flex;align-items:center;justify-content:center}.loading .ring:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:4px solid #e6e5e0;border-top-color:var(--ring);border-radius:50%;animation:spin .8s linear infinite}.loading .ring .emo{font-size:34px;animation:floatEmoji 1.6s ease-in-out infinite}.loading .ttl{font-size:20px;font-weight:700;letter-spacing:-.02em;text-align:center}.loading .msg{font-size:14px;color:#6d6e66;margin-top:4px;animation:fadeIn .4s ease;text-align:center}.result{padding-bottom:96px;animation:fadeIn .4s ease}.result .hd{padding:60px 22px 18px}.result .hd .row{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.result .hd h1{font-size:32px;letter-spacing:-.03em;font-weight:800;margin:0}.result .hd .sub{font-size:14.5px;color:#6d6e66;margin:5px 0 0}.summary{margin:0 22px;background:linear-gradient(150deg,var(--tint),#fff 85%);border:1px solid var(--ring);border-radius:22px;padding:18px 18px 16px;animation:rise .5s cubic-bezier(.2,.8,.2,1) both}.summary .r1{display:flex;justify-content:space-between;align-items:center}.summary .r1 .lbl{font-size:14px;color:#54564d;font-weight:500}.summary .r1 .v{font-size:24px;font-weight:800;letter-spacing:-.02em}.summary .r2{display:flex;justify-content:space-between;align-items:center;margin-top:7px;padding-top:11px;border-top:1px solid rgba(0,0,0,.07)}.summary .r2 .lbl{font-size:13.5px;color:#54564d}.summary .r2 .v{font-size:15px;font-weight:700;color:var(--atext)}.summary .macros{display:flex;gap:7px;margin-top:13px}.summary .macros .m{flex:1;background:#fff;border-radius:12px;padding:9px 4px;text-align:center}.summary .macros .m .n{font-size:16px;font-weight:700}.summary .macros .m .l{font-size:10.5px;color:#9a9b92;margin-top:1px}.sec-head{display:flex;align-items:baseline;justify-content:space-between;padding:26px 22px 12px}.sec-head h2{font-size:20px;font-weight:700;letter-spacing:-.02em;margin:0}.sec-head .side{font-size:13px;color:#9a9b92}.menu-list{display:flex;flex-direction:column;gap:11px;padding:0 22px}.menu-card{background:#fff;border:1px solid #ecebe6;border-radius:20px;padding:13px;display:flex;gap:13px;cursor:pointer;align-items:center}.menu-card .thumb{width:68px;height:68px;flex:none;border-radius:15px;background:var(--tint);display:flex;align-items:center;justify-content:center;font-size:34px;overflow:hidden}.menu-card .thumb img{width:100%;height:100%;object-fit:cover;display:block}.menu-card .thumb-emoji{background:var(--tint)}.menu-card .mid{flex:1;min-width:0}.menu-card .mid .ttl{font-size:15.5px;font-weight:600;letter-spacing:-.01em;line-height:1.2}.menu-card .mid .row{display:flex;gap:11px;margin-top:5px;font-size:12.5px;color:#6d6e66}.menu-card .mid .macros{display:flex;gap:9px;margin-top:7px;font-size:11.5px;color:#9a9b92}.menu-card .mid .macros b{color:#1a1d14;font-weight:700}.menu-card .pick-btn{align-self:center;flex:none;width:36px;height:36px;border-radius:50%;border:1.5px solid #e6e5e0;background:#fff;font-size:20px;line-height:1;color:#9a9b92;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;transition:all .15s}.menu-card .pick-btn.on{background:var(--pbg);color:var(--pink);border-color:var(--ring)}.menu-card .pick-btn:active{transform:scale(.9)}.menu-card.fixed{border-color:var(--ring);background:linear-gradient(180deg,#fff,var(--tint) 400%)}.shop{padding:0 22px}.shop .cat{font-size:12px;font-weight:700;color:#9a9b92;text-transform:uppercase;letter-spacing:.05em;margin:16px 0 8px}.shop .box{background:#fff;border:1px solid #ecebe6;border-radius:18px;overflow:hidden}.shop .it{display:flex;align-items:center;gap:12px;padding:12px 15px;border-bottom:1px solid #f0efe9;cursor:pointer;transition:opacity .15s}.shop .it:last-child{border-bottom:none}.shop .it.done{opacity:.45}.shop .ck{width:22px;height:22px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;transition:all .15s;border:1.5px solid #dcdbd3;color:transparent}.shop .it.done .ck{background:var(--pbg);color:var(--pink);border:1.5px solid var(--ring)}.shop .nm{flex:1;min-width:0}.shop .nm .n{font-size:14px;font-weight:500}.shop .it.done .nm .n{text-decoration:line-through;color:#9a9b92}.shop .nm .q{font-size:12px;color:#9a9b92;margin-top:1px}.shop .pr{font-size:14px;font-weight:700;white-space:nowrap}.result .bottom-cta{padding:22px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#14160f80;z-index:60;display:flex;align-items:flex-end;animation:fadeIn .2s ease}.sheet{background:#f6f6f3;width:100%;max-height:92dvh;border-radius:28px 28px 0 0;overflow-y:auto;animation:slideUp .3s cubic-bezier(.2,.8,.2,1);padding:0 22px 30px;max-width:440px;margin:0 auto}.sheet .grip{position:sticky;top:0;background:#f6f6f3;padding:12px 0 6px;display:flex;justify-content:center;z-index:2}.sheet .grip>div{width:40px;height:5px;border-radius:3px;background:#d8d7cf}.sheet .hero{height:200px;margin:4px 0 14px;border-radius:20px;background:var(--tint);display:flex;align-items:center;justify-content:center;font-size:60px;overflow:hidden}.sheet .hero img{width:100%;height:100%;object-fit:cover;display:block}.sheet .hero-emoji{background:var(--tint)}.sheet h2{font-size:23px;font-weight:700;letter-spacing:-.025em;margin:0 0 7px;line-height:1.1}.sheet .chips{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}.sheet .chip{font-size:12px;font-weight:600;padding:5px 11px;border-radius:999px;background:var(--tint);color:var(--atext)}.sheet .mac-row{display:flex;gap:8px;margin-bottom:6px}.sheet .mac-row .m{flex:1;background:#fff;border:1px solid #ecebe6;border-radius:14px;padding:11px 4px;text-align:center}.sheet .mac-row .m .n{font-size:17px;font-weight:700}.sheet .mac-row .m .l{font-size:10.5px;color:#9a9b92}.sheet h3{font-size:16px;font-weight:700;margin:22px 0 10px}.sheet h3 .side{font-weight:500;color:#9a9b92;font-size:13px}.sheet .ingbox{background:#fff;border:1px solid #ecebe6;border-radius:18px;overflow:hidden}.sheet .ingrow{display:flex;align-items:center;gap:11px;padding:12px 15px;border-bottom:1px solid #f0efe9}.sheet .ingrow:last-child{border-bottom:none}.sheet .ingrow .e{font-size:19px;width:24px;text-align:center}.sheet .ingrow .n{flex:1;font-size:14px}.sheet .ingrow .q{font-size:13px;color:#9a9b92;font-variant-numeric:tabular-nums}.sheet .steps{display:flex;flex-direction:column;gap:11px}.sheet .steprow{display:flex;gap:12px;align-items:flex-start}.sheet .steprow .n{width:27px;height:27px;flex:none;border-radius:50%;background:var(--pbg);color:var(--pink);font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center}.sheet .steprow .t{font-size:14px;line-height:1.5;padding-top:3px}.profile-head{display:flex;align-items:center;gap:13px;margin-bottom:20px}.profile-head .av{width:54px;height:54px;border-radius:50%;background:var(--tint);display:flex;align-items:center;justify-content:center;font-size:24px}.profile-head .nm{font-size:18px;font-weight:700}.profile-head .tar{font-size:13px;color:#9a9b92}.pro-card{background:linear-gradient(140deg,var(--tint),var(--pbg) 240%);border-radius:20px;padding:20px}.pro-card .ttl{font-size:17px;font-weight:800;margin-bottom:11px}.pro-card .perks{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:500}.pro-card .price{font-size:23px;font-weight:800;margin:15px 0 12px}.pro-card .price .sm{font-size:14px;font-weight:600;opacity:.65}.empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;text-align:center}.empty .e{font-size:54px}.empty h2{font-size:22px;font-weight:700;margin:0}.empty p{font-size:14.5px;color:#6d6e66;margin:0 0 10px;max-width:320px}
