.profile-modal{position:absolute;inset:0;z-index:var(--z-overlay);display:flex;align-items:flex-end;justify-content:center}.profile-modal__backdrop{position:absolute;inset:0;border:0;background:rgba(17,17,17,.5);cursor:pointer}.profile-modal__sheet{position:relative;z-index:1;width:100%;max-height:min(92%,calc(100% - 12px));display:flex;flex-direction:column;background:#fff;border-radius:18px 18px 0 0;padding:14px 14px 0;box-shadow:0 -10px 32px rgba(17,17,17,.16);animation:profile-modal-up .28s var(--ease) both}.profile-modal__head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px;flex-shrink:0}.profile-modal__head h2{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;letter-spacing:-.02em}.profile-modal__head p{margin-top:3px;font-size:var(--text-md);color:var(--muted)}.profile-modal__close{width:var(--icon-btn);height:var(--icon-btn);border-radius:10px;background:var(--cream);border:1px solid var(--border);font-size:var(--text-lg);line-height:1;color:var(--foreground);flex-shrink:0}.profile-modal__body,.profile-modal__form{display:flex;flex-direction:column;min-height:0;flex:1}.profile-modal__body{gap:10px;overflow-y:auto;padding-bottom:6px;-webkit-overflow-scrolling:touch}.profile-modal__field{display:flex;flex-direction:column;gap:5px}.profile-modal__field-label{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.profile-modal__field .field-label,.profile-modal__field span{font-size:var(--text-sm);font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.profile-modal__optional{font-style:normal;font-size:var(--text-xs);font-weight:500;letter-spacing:0;text-transform:none;color:var(--muted-soft)}.profile-modal__field-hint{margin:-2px 0 0;font-size:var(--text-sm);line-height:1.4;color:var(--muted)}.profile-modal__field input,.profile-modal__field textarea{width:100%;border:1px solid var(--border);background:var(--cream);border-radius:10px;padding:10px 12px;font-size:var(--text-lg);color:var(--foreground);outline:none;resize:vertical;min-height:var(--control-h)}.profile-modal__field textarea{min-height:72px}.profile-modal__field input:focus,.profile-modal__field textarea:focus{background-color:#fff;border-color:#cfcfcf;box-shadow:0 0 0 3px rgba(17,17,17,.06)}.edit__readonly,.profile-modal__readonly{background:#f3f3f3;color:var(--muted);cursor:default}.profile-modal__row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.profile-modal__footer{flex-shrink:0;padding:10px 0 calc(14px + env(safe-area-inset-bottom, 0px));background:linear-gradient(180deg,rgba(255,255,255,.7),#fff 35%);display:flex;flex-direction:column;gap:6px}.profile-modal__submit{width:100%;height:var(--control-h);border-radius:12px;background:var(--charcoal);color:#fff;font-size:var(--text-md);font-weight:600;letter-spacing:.05em;text-transform:uppercase}.profile-modal__submit:disabled{opacity:.45}.profile-modal__skip{width:100%;height:40px;border-radius:12px;background:transparent;color:var(--muted);font-size:var(--text-md);font-weight:600;text-decoration:underline;text-underline-offset:3px}@keyframes profile-modal-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.welcome-bonus{z-index:var(--z-overlay);padding:20px;background:rgba(255,255,255,.55);backdrop-filter:blur(2px);animation:welcome-bonus-in .3s var(--ease) both}.welcome-bonus,.welcome-bonus__confetti{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.welcome-bonus__confetti{z-index:2;pointer-events:none;overflow:hidden}.welcome-bonus__lottie{width:140%;height:140%;max-width:none}.welcome-bonus__card{position:relative;z-index:1;width:min(100%,260px);padding:22px 18px 16px;border-radius:16px;background:#fff;border:1px solid var(--border);box-shadow:0 14px 32px rgba(17,17,17,.14);text-align:center;animation:welcome-bonus-pop .45s var(--ease) both}.welcome-bonus__eyebrow{font-size:var(--text-sm);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.welcome-bonus__points{font-family:var(--font-display);font-size:36px;font-weight:700;line-height:1;letter-spacing:-.03em;color:var(--foreground)}.welcome-bonus__unit{margin-top:6px;font-size:var(--text-base);font-weight:500;color:var(--muted)}.welcome-bonus__btn{margin-top:16px;width:100%;height:var(--control-h);border-radius:12px;background:var(--charcoal);color:#fff;font-size:var(--text-md);font-weight:600;letter-spacing:.05em;text-transform:uppercase}@keyframes welcome-bonus-in{0%{opacity:0}to{opacity:1}}@keyframes welcome-bonus-pop{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}