/* Quiet, readable feedback. Semantic color is limited to the icon and edge. */
:root{--feedback-bg:var(--surface,#171a1e);--feedback-border:var(--line,#373d46);--feedback-ink:var(--ivory,#f5f6f7)}
.umbra-feedback,.notice,.form-error-summary{--feedback-tone:var(--primary);color:var(--feedback-ink);background:var(--feedback-bg);border:1px solid var(--feedback-border);border-radius:10px;box-shadow:none;font-size:13px;line-height:1.6}
.umbra-feedback[data-feedback-tone=error],.notice.error,.form-error-summary{--feedback-tone:var(--error)}
.umbra-feedback[data-feedback-tone=warning],.notice.warning{--feedback-tone:var(--warning)}
.umbra-feedback[data-feedback-tone=success],.notice.success{--feedback-tone:var(--success)}
.umbra-feedback:not([hidden]){display:flex;align-items:flex-start;gap:12px;padding:15px 17px;margin-block:16px;border-left:3px solid var(--feedback-tone);text-align:left}
.feedback-mark{display:grid;place-items:center;flex:none;width:21px;height:21px;border:1px solid currentColor;border-radius:50%;color:var(--feedback-tone);font-size:12px;font-weight:650;line-height:1;margin-top:1px}
.feedback-copy{display:grid;gap:3px;min-width:0}
.feedback-copy>strong{font-size:13px;font-weight:600;color:var(--ivory);line-height:1.5}
.feedback-copy>span{color:var(--muted);font-size:13px;overflow-wrap:anywhere}
.notice,.auth-page .notice.error{position:relative;padding:15px 18px 15px 48px;background:var(--feedback-bg);border-color:var(--feedback-border);color:var(--muted);animation:none}
.notice::before{content:'i';position:absolute;left:17px;top:17px;width:18px;height:18px;border:1px solid var(--feedback-tone);border-radius:50%;color:var(--feedback-tone);text-align:center;font-size:11px;font-weight:650;line-height:17px}
.notice.error::before,.notice.warning::before{content:'!'}
.notice.success::before{content:'✓'}
.notice strong,.notice b{color:var(--ivory)}
.notice a{color:var(--primary);text-decoration:underline;text-underline-offset:3px}
.form-error-summary{padding:16px 18px 16px 48px;border-left:3px solid var(--error);animation:none}
.form-error-summary::before{inset:17px auto auto 16px;width:19px;height:19px;border-color:var(--error);color:var(--error);font-family:inherit;font-size:12px;font-style:normal;font-weight:600;line-height:1}
.form-error-summary>strong{font-size:13px;line-height:1.5;color:var(--ivory)}
.form-error-summary>p{color:var(--muted)!important;font-size:13px!important}
.form-error-summary li{font-size:12px}.form-error-summary a{color:var(--ivory);text-decoration-color:var(--line)}.form-error-summary a:hover{color:var(--primary)}
.form-field-error{color:var(--error);font-size:12px;line-height:1.5;margin:7px 0 10px}
.form-field-error::before{border-color:currentColor;font-family:inherit}
.has-field-error{border-color:var(--error)!important;box-shadow:0 0 0 2px rgba(var(--error-rgb),.08)!important}
.has-field-error:focus-visible{outline-color:var(--error)!important}
.field-help{color:var(--muted);line-height:1.6}
.community-empty{padding:28px 22px;border:1px dashed var(--line);border-radius:10px;background:transparent;color:var(--muted);text-align:center;line-height:1.65;font-size:13px}
.community-empty strong{display:block;margin-bottom:5px;color:var(--ivory);font-size:14px;font-weight:550}
.community-empty .text-link{display:inline-flex;margin-top:10px}
.toast.umbra-feedback{position:fixed;z-index:1200;bottom:24px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 32px);margin:0;box-shadow:0 12px 36px #0006}
.password-guide{background:var(--surface);border-color:var(--line);border-radius:10px;box-shadow:none}
.password-guide[data-complete=true]{--password-accent:var(--success);border-color:var(--line)}
.password-variety-item[data-met=true]{background:transparent;border-color:var(--line);color:var(--success)}
.password-variety-item[data-met=true]>b{color:var(--success)}
.password-variety-item>b{color:var(--muted)}
.registration-route [aria-current=step] b{background:rgba(var(--accent-rgb),.1);box-shadow:none}
@media(max-width:600px){.umbra-feedback:not([hidden]){padding:13px;gap:10px}.feedback-copy>span{font-size:12px}.toast.umbra-feedback{bottom:16px}.notice{padding-right:13px}}
@media(prefers-reduced-motion:reduce){.umbra-feedback{animation:none}}
