:root{--red:#D8141C;--red-deep:#A90F15;--page:#FFFFFF;--panel:#FFFFFF;--ink:#17181A;--muted:#5F6368;--line:#DCDDE0;--star-off:#CFD1D6;--star-on:#F2A900;--error:#B3261E;--scrim:rgba(15,16,18,.62);--serif:Georgia,"Times New Roman",Times,serif;--sans:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;box-sizing:border-box;padding-top:env(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0);color-scheme:only light}*,:after,:before{box-sizing:inherit}body,html{height:100%}body{margin:0;background:var(--page);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.5;display:flex;flex-direction:column;min-height:100%}.topbar{height:6px;background:var(--red);flex:none}main{flex:1 1;width:100%;max-width:640px;margin:0 auto;padding:36px 20px 48px;text-align:center}.brand{display:flex;justify-content:flex-end;padding:12px 16px 0;flex:none}.brand img{display:block;width:clamp(160px,40vw,240px);height:auto}h1{font-family:var(--serif);font-weight:700;font-size:clamp(1.55rem,5.4vw,2.1rem);line-height:1.25;margin:0 0 30px;text-wrap:balance}.stars{display:flex;justify-content:center;gap:clamp(4px,2vw,12px);margin:0 auto}.star{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;padding:4px;cursor:pointer;position:relative;border-radius:12px;-webkit-tap-highlight-color:transparent}.star svg{display:block;width:clamp(48px,15vw,68px);height:clamp(48px,15vw,68px);fill:var(--star-off);transition:fill .15s ease,transform .15s ease}.star.lit svg{fill:var(--star-on)}.star:hover svg{transform:scale(1.08)}.star:focus-visible{outline:3px solid var(--red);outline-offset:2px}.star.pop svg{animation:pop .5s cubic-bezier(.3,1.6,.5,1) both}.star.pop:after{content:"";position:absolute;inset:6px;border-radius:50%;border:3px solid var(--star-on);opacity:0;animation:ring .6s ease-out both;pointer-events:none}@keyframes pop{0%{transform:scale(.6) rotate(-12deg)}60%{transform:scale(1.28) rotate(6deg)}to{transform:scale(1) rotate(0)}}@keyframes ring{0%{transform:scale(.4);opacity:.9}to{transform:scale(1.7);opacity:0}}.star{display:flex;flex-direction:column;align-items:center;gap:6px}.star .lbl{font-family:var(--sans);font-weight:700;font-size:clamp(.72rem,2.8vw,.95rem);color:var(--muted);white-space:nowrap}.star.lit .lbl{color:var(--ink)}.picked{min-height:1.6em;margin:22px 0 0;font-weight:600;font-size:1.05rem}.note{margin:26px auto 0;max-width:420px;color:var(--muted);font-size:.95rem}.panel{display:none}.panel.show{display:block;animation:rise .35s ease both}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.panel h2{font-family:var(--serif);font-size:1.6rem;margin:0 0 10px}.panel p{margin:0 auto;max-width:420px;color:var(--muted)}.panel .stars-static{font-size:2rem;letter-spacing:4px;color:var(--star-on);margin-bottom:14px}.panel .stars-static i{font-style:normal;color:var(--star-off)}.tick{width:64px;height:64px;border-radius:50%;background:var(--red);margin:0 auto 18px;display:grid;place-items:center}.tick svg{width:32px;height:32px;stroke:#fff;stroke-width:3.5;fill:none;stroke-linecap:round;stroke-linejoin:round}.scrim{position:fixed;inset:0;background:var(--scrim);display:none;align-items:center;justify-content:center;padding:20px;z-index:20}.scrim.open{display:flex;animation:fade .2s ease both}@keyframes fade{0%{opacity:0}to{opacity:1}}.modal{width:100%;max-width:400px;background:var(--panel);border-radius:16px;border-top:6px solid var(--red);padding:26px 24px 24px;text-align:left;box-shadow:0 24px 60px rgba(0,0,0,.35);animation:lift .28s cubic-bezier(.2,.9,.3,1.2) both;max-height:100%;overflow-y:auto}@keyframes lift{0%{transform:translateY(18px) scale(.97);opacity:0}to{transform:none;opacity:1}}.modal h2{font-family:var(--serif);font-size:1.35rem;margin:0 0 4px}.modal .your{color:var(--muted);margin:0 0 20px;font-size:1rem}.modal .your b{color:var(--star-on);letter-spacing:2px;font-size:1.15rem}label{display:block;font-weight:600;font-size:.95rem;margin:0 0 6px}.field{margin-bottom:16px}.input,.phone{display:flex;align-items:center;width:100%;border:1.5px solid var(--line);border-radius:10px;background:var(--page)}.phone span{padding:0 4px 0 14px;color:var(--muted);font-size:1.05rem}input{width:100%;font:inherit;font-size:1.05rem;color:var(--ink);background:transparent;border:0;padding:13px 14px;border-radius:10px;outline:none}.phone input{padding-left:6px}.input:focus-within,.phone:focus-within{border-color:var(--red);box-shadow:0 0 0 3px rgba(216,20,28,.18)}.err{color:var(--error);font-size:.95rem;min-height:1.4em;margin:-6px 0 10px}.actions{display:flex;gap:10px}button.btn{font:inherit;font-weight:700;font-size:1.05rem;border-radius:10px;padding:13px 18px;cursor:pointer;border:1.5px solid transparent}.btn.primary{background:var(--red);color:#fff;flex:1 1}.btn.primary:hover{background:var(--red-deep)}.btn.primary:disabled{opacity:.6;cursor:default}.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.share-row{display:flex;justify-content:center;gap:14px;margin-top:26px}.sic{width:52px;height:52px;border-radius:50%;border:0;padding:0;display:grid;place-items:center;cursor:pointer;color:#fff;transition:transform .15s ease}.sic:hover{transform:translateY(-2px)}.sic svg{width:24px;height:24px;fill:currentColor}.sic.share{background:var(--red)}.sic.wa{background:#25D366}.sic.fb{background:#1877F2}.sic.x{background:#000}.sic.copy{background:var(--muted)}.sic:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.panel p.copied{min-height:1.5em;margin-top:12px;color:var(--ink);font-weight:600}footer{flex:none;border-top:1px solid var(--line);padding:18px 20px 22px;text-align:center;color:var(--muted);font-size:.875rem}footer a{color:inherit}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}}