:root{--white:#fff;--cream:#fffdf6;--butter:#fff6c9;--sun:#ffd84d;--sun-deep:#f5b700;--blush:#ffeef4;--pink-soft:#ffd3e1;--pink:#ff9ebb;--pink-deep:#f0628e;--ink:#6b4e5e;--ink-soft:#9c7f8e;--line:#fbe3ec;--radius:22px;--radius-sm:14px;--shadow:0 6px 0 #ff9ebb2e, 0 10px 30px #f5b70014;--font-head:"Quicksand", "Nunito", system-ui, sans-serif;--font-body:"Nunito", system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-body);color:var(--ink);background:radial-gradient(circle at 8% 0%, var(--butter) 0, transparent 34%), radial-gradient(circle at 100% 30%, var(--blush) 0, transparent 30%), var(--cream);-webkit-font-smoothing:antialiased;background-attachment:fixed;font-weight:400;line-height:1.6}img{max-width:100%;display:block}a{color:var(--pink-deep);text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:2px}h1,h2,h3,h4{font-family:var(--font-head);color:var(--ink);margin:0 0 .4em;font-weight:600;line-height:1.25}h1{font-size:clamp(1.6rem,4vw,2.3rem)}h2{font-size:1.4rem}h3{font-size:1.1rem}h4{margin-bottom:.15em;font-size:1rem}p{margin:0 0 .7em}ul,ol{margin:.3em 0 .7em;padding-left:1.2em}b,strong{font-weight:600}.muted{color:var(--ink-soft)}.small{font-size:.92rem}.tiny{font-size:.8rem}.center{text-align:center}.mt{margin-top:1.2rem}.hide-sm{display:inline}.shell{flex-direction:column;min-height:100vh;display:flex}.page{flex:1;width:100%;max-width:960px;margin:0 auto;padding:24px 16px 120px}.stack{flex-direction:column;gap:16px;display:flex}.narrow{max-width:680px;margin:0 auto}.row-between{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.center-pad{place-items:center;padding:80px 0;display:grid}.page-title{margin-bottom:.1em}.topbar{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:2px dashed var(--pink-soft);background:#ffffffd9;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex;position:sticky;top:0}.brand{color:var(--ink);align-items:center;gap:8px;display:flex}.brand:hover{text-decoration:none}.brand-name{font-family:var(--font-head);letter-spacing:.2px;font-size:1.35rem;font-weight:600}.toptabs{gap:4px;display:flex}.toptab{color:var(--ink);border-radius:999px;padding:8px 14px;font-weight:500}.toptab:hover{background:var(--butter);text-decoration:none}.toptab.active{background:var(--sun)}.account{align-items:center;gap:10px;display:flex}.credit-pill{background:var(--butter);color:var(--ink);border:2px solid var(--sun);white-space:nowrap;border-radius:999px;padding:4px 12px;font-size:.9rem;font-weight:600}.credit-pill:hover{background:var(--sun);text-decoration:none}.bottomtabs{display:none}.footer{text-align:center;color:var(--ink-soft);padding:24px 16px 110px;font-size:.9rem}.footer p{margin:.2em 0}.card{background:var(--white);border:2px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.card.soft{background:var(--butter);box-shadow:none;border-color:#ffeaa0}.notice{background:var(--butter);border-color:var(--sun)}.notice-pink{background:var(--blush);border-color:var(--pink-soft)}.gate{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:36px 20px;display:flex}.btn{font-family:var(--font-body);color:var(--white);background:var(--pink-deep);cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:11px 20px;font-size:1rem;font-weight:600;transition:transform .12s,box-shadow .12s,background .2s;display:inline-flex;box-shadow:0 4px #d94a76;text-decoration:none!important}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(3px);box-shadow:0 1px #d94a76}.btn:disabled{opacity:.65;cursor:wait;transform:none}.btn-soft{background:var(--sun);color:var(--ink);box-shadow:0 4px 0 var(--sun-deep)}.btn-soft:active{box-shadow:0 1px 0 var(--sun-deep)}.btn-big{padding:14px 26px;font-size:1.08rem}.btn-small{padding:7px 14px;font-size:.9rem}.btn.full{width:100%}.btn-row{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.link-btn{color:var(--ink-soft);font:inherit;cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:4px;text-decoration:underline}.link-btn:hover{color:var(--pink-deep)}.back{font-weight:600}.label{margin:14px 0 6px;font-weight:600;display:block}.input{width:100%;font:inherit;color:var(--ink);background:var(--cream);border:2px solid var(--pink-soft);border-radius:var(--radius-sm);resize:vertical;outline:none;margin-bottom:12px;padding:11px 14px}.input:focus{border-color:var(--pink);background:var(--white);box-shadow:0 0 0 4px var(--blush)}.input::placeholder{color:#c3a9b6}.error{color:var(--pink-deep);font-weight:600}.chips{flex-wrap:wrap;gap:8px;margin:6px 0;display:flex}.chip{font:inherit;color:var(--ink);cursor:pointer;background:var(--white);border:2px solid var(--pink-soft);border-radius:999px;padding:7px 14px;font-size:.95rem;transition:background .15s,border-color .15s,transform .1s}.chip:hover{background:var(--blush)}.chip:active{transform:scale(.97)}.chip.on{background:var(--sun);border-color:var(--sun-deep);font-weight:600}.chip-static{background:var(--blush);border-radius:999px;padding:4px 11px;font-size:.85rem;display:inline-block}.tag{vertical-align:middle;text-transform:capitalize;border-radius:999px;margin-right:6px;padding:2px 10px;font-size:.75rem;font-weight:600;display:inline-block}.tag-yellow{background:var(--butter);border:1.5px solid var(--sun)}.tag-pink{background:var(--pink-soft)}.tag-outline{border:1.5px dashed var(--pink)}.status{border-radius:999px;padding:5px 13px;font-size:.92rem;font-weight:600;display:inline-block}.status-good{background:var(--sun)}.status-meh{background:var(--pink-soft)}.status-bad{background:var(--pink);color:var(--white)}.hero{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:30px 8px 10px;display:flex;position:relative;overflow:hidden}.hero .lead{max-width:560px;font-size:1.12rem}.hl{background:linear-gradient(transparent 55%, var(--sun) 55%);border-radius:4px;padding:0 4px}.feature-row{grid-template-columns:repeat(4,1fr);gap:12px;width:100%;margin-top:28px;display:grid}.feature{background:var(--white);border:2px solid var(--line);border-radius:var(--radius);flex-direction:column;align-items:center;gap:2px;padding:16px 12px;display:flex}.feature span{font-size:1.8rem}.feature p{color:var(--ink-soft);margin:0;font-size:.88rem}.greeting{align-items:center;gap:14px;display:flex}.upload-card{padding:18px}.dropzone{border:3px dashed var(--pink-soft);border-radius:var(--radius);background:var(--blush);text-align:center;padding:30px 16px}.dz-emoji{font-size:2.4rem}.preview-wrap{flex-direction:column;align-items:center;gap:6px;display:flex}.preview{border-radius:var(--radius);object-fit:contain;border:3px solid var(--butter);max-height:380px}.tips ul{margin-bottom:0}.result{flex-direction:column;gap:16px;display:flex}.result-hero{background:linear-gradient(135deg, var(--white), var(--butter));align-items:center;gap:18px;display:flex;position:relative}.result-photo{object-fit:cover;border:3px solid var(--white);width:140px;height:140px;box-shadow:0 4px 0 var(--pink-soft);border-radius:18px;flex-shrink:0}.result-hero-text{flex:1;min-width:0}.result-mascot{opacity:.95;position:absolute;bottom:8px;right:12px}.eyebrow{text-transform:uppercase;letter-spacing:1.5px;color:var(--pink-deep);margin-bottom:2px;font-size:.75rem;font-weight:600}.sci{color:var(--ink-soft);margin-bottom:4px;font-style:italic}.issue-list{padding:0;list-style:none}.issue-list li{border-top:1.5px dashed var(--line);padding:8px 0}.segmented{background:var(--white);border:2px solid var(--pink-soft);border-radius:999px;gap:4px;padding:4px;display:flex}.segmented button{font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:none;border-radius:999px;flex:1;padding:9px 8px;font-weight:600}.segmented button.on{background:var(--sun)}.steps{padding-left:1.3em}.steps li{margin-bottom:12px}.steps li::marker{color:var(--pink-deep);font-weight:600}.step-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.steps p{margin:2px 0 0}.care-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.care-item{align-items:flex-start;gap:12px;display:flex}.care-icon{background:var(--butter);border-radius:14px;flex-shrink:0;place-items:center;width:42px;height:42px;font-size:1.3rem;display:grid}.care-item p{margin:0;font-size:.95rem}.funfact{background:linear-gradient(135deg, var(--blush), var(--white));border-color:var(--pink-soft)}.cheer{text-align:center;font-family:var(--font-head);color:var(--pink-deep);font-size:1.15rem}.expert-card{background:var(--cream);border-style:dashed}.garden-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;display:grid}.plant-card{background:var(--white);border:2px solid var(--line);border-radius:var(--radius);color:var(--ink);box-shadow:var(--shadow);transition:transform .15s;overflow:hidden}.plant-card:hover{text-decoration:none;transform:translateY(-3px)rotate(-.5deg)}.plant-thumb{aspect-ratio:4/3;background:var(--butter);place-items:center;font-size:2.5rem;display:grid}.plant-thumb img{object-fit:cover;width:100%;height:100%}.plant-info{padding:12px 14px}.plant-info h3{margin-bottom:2px}.plant-info p{margin:0}.history{gap:10px;padding:8px 0 2px;display:flex;overflow-x:auto}.history-item{color:var(--ink);flex-direction:column;flex-shrink:0;align-items:center;gap:4px;display:flex}.history-item img,.history-item>span:first-child{object-fit:cover;border:3px solid var(--white);background:var(--white);border-radius:14px;place-items:center;width:64px;height:64px;display:grid}.history-item.on img{border-color:var(--pink)}.loc-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.loc-row .input{flex:1;min-width:200px;margin:0}.match-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.match-head{align-items:center;gap:12px;margin-bottom:6px;display:flex}.match-emoji{background:var(--butter);border-radius:18px;flex-shrink:0;place-items:center;width:54px;height:54px;font-size:2rem;display:grid}.match h3{margin:0}.match .sci{margin:0;font-size:.9rem}.mini{padding:0;font-size:.92rem;list-style:none}.fun-tip{background:var(--blush);border-radius:var(--radius-sm);margin:0;padding:8px 12px;font-size:.92rem}.pack-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.pack{text-align:center;flex-direction:column;align-items:center;gap:2px;display:flex;position:relative}.pack-best{border-color:var(--sun);background:linear-gradient(180deg, var(--butter), var(--white) 60%)}.pack-emoji{font-size:2.6rem}.pack-credits{margin:0;font-weight:600}.pack-price{font-family:var(--font-head);color:var(--pink-deep);margin:4px 0;font-size:2.2rem;font-weight:600}.ribbon{background:var(--pink-deep);color:var(--white);border-radius:999px;padding:3px 12px;font-size:.8rem;font-weight:600;position:absolute;top:-12px;right:16px}.policy{max-width:720px;margin:0 auto}.policy h3{margin-top:1.2em}.mascot{flex-shrink:0}.bounce{animation:2.4s ease-in-out infinite bounce}.wiggle{animation:.6s ease-in-out infinite wiggle}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes wiggle{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}@media (prefers-reduced-motion:reduce){.bounce,.wiggle{animation:none}.plant-card:hover,.btn:hover{transform:none}}@media (max-width:720px){.toptabs,.hide-sm{display:none}.bottomtabs{z-index:30;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:2px dashed var(--pink-soft);padding:6px 6px calc(6px + env(safe-area-inset-bottom));background:#fffffff2;display:flex;position:fixed;bottom:0;left:0;right:0}.bottomtab{color:var(--ink);border-radius:16px;flex-direction:column;flex:1;align-items:center;gap:1px;padding:6px 2px;font-size:.75rem;font-weight:600;display:flex}.bottomtab:hover{text-decoration:none}.bottomtab.active{background:var(--sun)}.bt-icon{font-size:1.3rem}.feature-row{grid-template-columns:1fr 1fr}.care-grid,.match-grid,.pack-grid{grid-template-columns:1fr}.result-hero{flex-direction:column;align-items:flex-start}.result-photo{width:100%;height:220px}.result-mascot{display:none}.card{padding:16px}.segmented button{white-space:nowrap;padding:9px 4px;font-size:.88rem}.greeting .mascot{width:52px;height:52px}}
