:root{--ink:#29282d;--muted:#77737b;--line:#e8e2dc;--card:#fff;--bg:#fcfaf7;--accent:#ec6f2d;--accent-dark:#d9581c;--soft:#fff1e8;--green:#2c9b67;--shadow:0 8px 30px rgba(50,35,25,.08)}
*{box-sizing:border-box}html{min-height:100%;background:var(--bg)}body{margin:0;min-height:100vh;color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 50% -15%,#fff 0,#fcfaf7 45%,#f8f3ee 100%)}button,input{font:inherit}.shell{width:min(100%,560px);min-height:100vh;margin:auto;padding:18px 18px 42px}.topbar{display:grid;grid-template-columns:42px 1fr 74px;align-items:center;gap:12px;margin-bottom:18px}.logo{display:block;width:156px;max-height:44px;object-fit:contain;justify-self:center}.back{width:38px;height:38px;border:0;border-radius:50%;background:transparent;color:#777;font-size:25px;cursor:pointer}.back:disabled{opacity:0}.points{justify-self:end;color:var(--accent);font-size:13px;font-weight:800;background:var(--soft);border-radius:999px;padding:8px 10px;white-space:nowrap}.progress{height:6px;background:#eee7e0;border-radius:20px;overflow:hidden;margin:0 0 28px}.progress>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#f3a55b,var(--accent));transition:width .35s ease}.stage{animation:enter .3s ease}@keyframes enter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}h1{font-size:clamp(25px,6.5vw,34px);line-height:1.12;letter-spacing:-.035em;text-align:center;margin:0 auto 10px;max-width:520px}h2{font-size:21px;line-height:1.25;margin:0 0 10px}.subtitle{text-align:center;color:var(--muted);line-height:1.5;margin:0 auto 24px;max-width:440px}.options{display:grid;gap:12px}.options.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.option{position:relative;width:100%;min-height:64px;border:2px solid var(--line);border-radius:18px;background:var(--card);color:var(--ink);box-shadow:0 2px 10px rgba(50,35,25,.035);cursor:pointer;padding:14px 16px;text-align:left;font-weight:700;display:flex;align-items:center;gap:14px;transition:.18s ease}.option:hover{border-color:#f0a67f;transform:translateY(-1px);box-shadow:var(--shadow)}.option.selected{border-color:var(--accent);background:var(--soft);box-shadow:0 0 0 3px rgba(236,111,45,.12)}.option img{width:66px;height:66px;object-fit:cover;border-radius:13px;flex:none}.option .emoji{margin-left:auto;font-size:27px}.option small{display:block;color:var(--muted);font-weight:500;line-height:1.35;margin-top:4px}.grid-2 .option{min-height:138px;flex-direction:column;text-align:center;justify-content:center;padding:10px}.grid-2 .option img{width:100%;height:100px;object-fit:contain}.continue{width:100%;height:52px;margin-top:18px;border:0;border-radius:999px;background:linear-gradient(135deg,#f28a48,var(--accent));color:#fff;font-weight:800;font-size:16px;cursor:pointer;box-shadow:0 9px 22px rgba(236,111,45,.25)}.continue:disabled{opacity:.42;cursor:not-allowed}.reward{text-align:center;color:var(--accent);font-weight:800;font-size:13px;margin-top:16px}.info-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:20px;box-shadow:var(--shadow);text-align:center}.info-card img{display:block;width:100%;max-height:310px;object-fit:contain;border-radius:16px;margin:0 auto 16px}.info-card p{color:var(--muted);line-height:1.55}.quote{font-style:italic}.foods{display:grid;gap:15px}.food-group{background:#fff;border:1px solid var(--line);border-radius:17px;padding:14px}.food-group h2{font-size:17px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1.5px solid var(--line);background:#fff;border-radius:12px;padding:10px 12px;font-weight:650;cursor:pointer}.chip.selected{background:var(--soft);border-color:var(--accent);color:var(--accent-dark)}.range-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:var(--shadow);text-align:center}.range-value{font-size:34px;font-weight:850;color:var(--accent);margin:12px 0 20px}.range-card input{width:100%;accent-color:var(--accent)}.range-labels{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;margin-top:6px}.summary-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:var(--shadow)}.bmi{font-size:17px;text-align:center}.bmi strong{display:block;font-size:38px;color:var(--accent);margin:8px}.scale{height:14px;border-radius:30px;background:linear-gradient(90deg,#51bf86 0 34%,#f4c44e 34% 66%,#ed735b 66%);position:relative;margin:30px 0}.scale:after{content:"▲";position:absolute;left:66%;top:-25px;transform:translateX(-50%);color:var(--ink)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stat{background:#faf6f1;border-radius:14px;padding:12px 8px;text-align:center;font-size:12px;color:var(--muted)}.stat b{display:block;color:var(--ink);margin-top:5px}.forecast{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.milestone{text-align:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px 8px}.ring{width:70px;height:70px;margin:auto;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--accent) var(--p),#eee 0);position:relative}.ring:before{content:"";position:absolute;inset:7px;border-radius:50%;background:#fff}.ring b{position:relative}.milestone small{display:block;margin-top:10px;color:var(--muted)}.loader{text-align:center;padding:36px 4px}.spinner{width:118px;height:118px;margin:20px auto;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--accent) var(--load),#eee 0);transition:background .25s}.spinner:before{content:"";position:absolute;width:94px;height:94px;background:var(--bg);border-radius:50%}.spinner b{position:relative;font-size:23px}.final{background:#fff;border:1px solid var(--line);border-radius:28px;padding:34px 22px;text-align:center;box-shadow:var(--shadow)}.final .check{width:82px;height:82px;border-radius:50%;margin:0 auto 20px;background:#e7f7ef;color:var(--green);display:grid;place-items:center;font-size:44px}.final p{color:var(--muted);line-height:1.55}.privacy-note{margin-top:22px;font-size:12px;color:#969097;text-align:center}.privacy-note b{color:#6d686f}.empty-link{color:var(--accent);font-weight:700}
@media(max-width:430px){.shell{padding:14px 14px 32px}.logo{width:136px}.topbar{grid-template-columns:36px 1fr 66px}.points{font-size:12px;padding:7px 8px}.grid-2 .option{min-height:120px}.grid-2 .option img{height:84px}.stats,.forecast{grid-template-columns:1fr}.milestone{display:flex;align-items:center;text-align:left;gap:14px}.milestone small{margin:0}.ring{margin:0;flex:none}}
