:root{--teal:#14b6a4;--teal-dark:#0f9b8c;--cream:#ffe6c0;--navy:#0e3a4b;--orange:#f4a22f;--paper:#fbf7ef;--line:rgba(14,58,75,0.12)}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--navy);background:var(--paper);line-height:1.5}.wrap{max-width:560px;margin:0 auto;padding:32px 20px 64px}.brand{margin-bottom:8px;font-weight:700;letter-spacing:.18em;color:var(--teal-dark);font-size:14px;text-transform:uppercase}.brand,h1{text-align:center}h1{font-size:26px;line-height:1.2;margin-bottom:6px}.sub{text-align:center;color:rgba(14,58,75,.7);font-size:15px;margin-bottom:28px}.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;margin-bottom:16px}.label{font-weight:600;font-size:16px;margin-bottom:12px;display:block}.optional{font-weight:400;color:rgba(14,58,75,.5);font-size:14px}select,textarea{width:100%;font:inherit;color:var(--navy);padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff}select:focus,textarea:focus{outline:2px solid var(--teal);border-color:var(--teal)}textarea{resize:vertical;min-height:84px}.stars{display:flex;gap:8px}.star{flex:1 1;aspect-ratio:1;max-width:56px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:24px;line-height:1;cursor:pointer;color:rgba(14,58,75,.25);transition:transform .05s ease,background .15s ease,color .15s ease}.star:active{transform:scale(.94)}.star.on{color:var(--orange);background:#fff7ea;border-color:var(--orange)}.scalehint{display:flex;justify-content:space-between;font-size:12px;color:rgba(14,58,75,.5);margin-top:8px}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}button.submit{width:100%;font:inherit;font-weight:700;font-size:17px;color:#fff;background:var(--teal);border:none;border-radius:999px;padding:16px;cursor:pointer;margin-top:8px}button.submit:disabled{opacity:.5;cursor:not-allowed}button.submit:hover:not(:disabled){background:var(--teal-dark)}.err{color:#c0392b;font-size:14px;margin-top:12px}.err,.foot{text-align:center}.foot{color:rgba(14,58,75,.45);font-size:13px;margin-top:18px}.done{text-align:center;padding:48px 8px}.done .check{width:64px;height:64px;border-radius:999px;background:var(--teal);color:#fff;font-size:34px;display:grid;place-items:center;margin:0 auto 20px}.done h2{font-size:24px;margin-bottom:8px}.done p{color:rgba(14,58,75,.7)}