.app{flex-direction:column;width:100%;max-width:430px;min-height:100dvh;margin:0 auto;display:flex;position:relative}.app header{justify-content:space-between;align-items:center;padding:16px 20px 10px;display:flex}.brand{font-family:var(--font-maru), sans-serif;letter-spacing:.06em;color:var(--green-deep);align-items:center;gap:8px;font-size:15px;font-weight:900;display:flex}.brand .mark{background:var(--green);color:#fff;border-radius:50% 50% 50% 6px;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;font-weight:900;display:inline-flex}.remain{color:var(--ink-soft);background:var(--card);border:1px solid var(--line);border-radius:99px;padding:4px 12px;font-size:12px;font-weight:500}.progress{background:var(--line);border-radius:99px;height:5px;margin:0 20px;overflow:hidden}.progress i{background:var(--green);border-radius:99px;width:0%;height:100%;transition:width .45s cubic-bezier(.3,.9,.3,1);display:block}.app main{flex-direction:column;flex:1;padding:20px;display:flex;overflow:hidden}.screen{flex-direction:column;flex:1;animation:.4s cubic-bezier(.25,.9,.3,1) both rise;display:flex}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.screen{animation:none}.app *{transition:none!important}}.bubble{background:var(--card);border:1.5px solid var(--line);border-radius:var(--radius);padding:26px 22px;position:relative;box-shadow:0 6px 24px #20241f0d}.bubble:after{content:"";background:var(--card);border-right:1.5px solid var(--line);border-bottom:1.5px solid var(--line);border-bottom-right-radius:5px;width:20px;height:20px;position:absolute;bottom:-11px;left:34px;transform:rotate(45deg)skew(8deg,8deg)}.q-eyebrow{letter-spacing:.14em;color:var(--green);margin-bottom:8px;font-size:12px;font-weight:700}.q-title{font-family:var(--font-maru), sans-serif;font-size:21px;font-weight:700;line-height:1.5}.q-title .q-note{color:var(--ink-soft);font-size:13px;font-weight:500}.answers{flex-direction:column;gap:12px;margin-top:34px;display:flex}.opt{font-family:var(--font-maru), sans-serif;color:var(--ink);background:var(--card);border:1.5px solid var(--line);cursor:pointer;text-align:center;border-radius:18px;padding:18px;font-size:17px;font-weight:700;transition:transform .12s,border-color .12s,background .12s}.opt:active{transform:scale(.97)}.opt.on{border-color:var(--green);color:var(--green-deep);background:#edf4ef}.opt:focus-visible,.star:focus-visible,.chip:focus-visible,.cta:focus-visible,.ghost:focus-visible,.pick-card:focus-visible{outline:3px solid var(--amber);outline-offset:2px}.stars{justify-content:center;gap:6px;margin-top:36px;display:flex}.star{cursor:pointer;color:#dddbcf;background:0 0;border:none;width:56px;height:56px;padding:0;font-size:44px;line-height:1;transition:transform .15s,color .1s}.star.on{color:var(--amber);transform:scale(1.08)}.star-label{text-align:center;min-height:26px;font-family:var(--font-maru), sans-serif;color:var(--green-deep);margin-top:14px;font-size:16px;font-weight:700}.chips{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:30px;display:flex}.chip{font-family:var(--font-maru), sans-serif;background:var(--card);border:1.5px solid var(--line);cursor:pointer;border-radius:99px;padding:12px 18px;font-size:15px;font-weight:700;transition:transform .12s,border-color .12s,background .12s}.chip:active{transform:scale(.95)}.chip.on{border-color:var(--green);color:var(--green-deep);background:#edf4ef}.cta{font-family:var(--font-maru), sans-serif;color:#fff;background:var(--green);cursor:pointer;border:none;border-radius:99px;width:100%;padding:19px;font-size:18px;font-weight:700;transition:transform .12s,background .12s;box-shadow:0 8px 20px #2f6b4f47}.cta:active{background:var(--green-deep);transform:scale(.97)}.cta:disabled{opacity:.4;box-shadow:none}.ghost{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;padding:14px;font-size:14px;font-weight:500;text-decoration:underline}.footer-act{flex-direction:column;align-items:center;gap:4px;margin-top:auto;padding-top:24px;display:flex}.footer-act .cta{max-width:100%}.welcome{text-align:center;justify-content:center;gap:0}.shop-tag{letter-spacing:.28em;color:var(--ink-soft);margin-bottom:10px;font-size:12px;font-weight:500}.welcome h1{font-family:var(--font-maru), sans-serif;letter-spacing:.02em;font-size:30px;font-weight:900;line-height:1.5}.welcome h1 em{color:var(--green);font-style:normal}.welcome p{color:var(--ink-soft);margin-top:16px;font-size:14.5px}.time-pill{background:var(--amber-soft);color:#8a6320;font-family:var(--font-maru), sans-serif;border-radius:99px;align-items:center;gap:8px;margin:26px auto 0;padding:8px 18px;font-size:14px;font-weight:700;display:inline-flex}.gen{text-align:center;justify-content:center;align-items:center}.gen .mark-big{background:var(--green);color:#fff;width:74px;height:74px;font-family:var(--font-maru), sans-serif;border-radius:50% 50% 50% 12px;justify-content:center;align-items:center;font-size:30px;font-weight:900;animation:1.2s ease-in-out infinite bob;display:flex}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.gen h2{font-family:var(--font-maru), sans-serif;margin-top:22px;font-size:19px;font-weight:700}.dots:after{content:"…";animation:1.4s steps(4,end) infinite dots}@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}.gen p{color:var(--ink-soft);margin-top:8px;font-size:13.5px}.pick-list{flex-direction:column;gap:12px;display:flex}.pick-card{text-align:left;cursor:pointer;background:var(--card);border:1.5px solid var(--line);width:100%;font-family:var(--font-kaku), sans-serif;border-radius:18px;padding:16px 18px;transition:transform .12s,border-color .12s,background .12s}.pick-card:active{transform:scale(.98)}.pick-tag{font-family:var(--font-maru), sans-serif;color:var(--green-deep);background:#edf4ef;border-radius:99px;align-items:center;gap:6px;margin-bottom:8px;padding:3px 12px;font-size:12px;font-weight:700;display:inline-flex}.pick-body{color:var(--ink);font-size:14px;line-height:1.85}.result-bubble{background:var(--card);border:1.5px solid var(--line);border-radius:var(--radius);padding:6px;position:relative;box-shadow:0 6px 24px #20241f0d}.result-bubble textarea{resize:none;width:100%;font-family:var(--font-kaku), sans-serif;color:var(--ink);background:0 0;border:none;min-height:220px;padding:18px 16px;font-size:15.5px;line-height:1.9}.result-bubble textarea:focus{outline:none}.edit-hint{color:var(--ink-soft);align-items:center;gap:6px;margin:10px 4px 0;font-size:12px;display:flex}.steps-note{background:var(--amber-soft);color:#6e4f19;border-radius:16px;margin-top:22px;padding:14px 16px;font-size:13px;line-height:1.8}.steps-note b{font-weight:700}.toast{background:var(--ink);color:#fff;opacity:0;pointer-events:none;z-index:50;white-space:nowrap;border-radius:99px;padding:12px 22px;font-size:14px;font-weight:500;transition:all .3s;position:fixed;bottom:110px;left:50%;transform:translate(-50%)translateY(20px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.done{text-align:center;justify-content:center}.done .check{width:78px;height:78px;color:var(--green);background:#edf4ef;border-radius:50%;justify-content:center;align-items:center;margin:0 auto;font-size:38px;display:flex}.done h2{font-family:var(--font-maru), sans-serif;margin-top:20px;font-size:24px;font-weight:900}.done p{color:var(--ink-soft);margin-top:10px;font-size:14px}.error-note{color:#a04a2a;text-align:center;margin-top:16px;font-size:13px}
