.goal-card{position:relative;isolation:isolate;overflow:hidden;box-sizing:border-box;width:100%;max-width:680px;padding:12px 16px;border:1px solid var(--lfl-border,rgba(255,255,255,.15));border-radius:12px;background:var(--lfl-surface-soft,#222);color:var(--lfl-text,#fff);font:16px/1.4 system-ui,sans-serif}
.goal-card[hidden],.goal-card [hidden]{display:none!important}.goal-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;position:relative;z-index:1}.goal-title{margin:0;font-size:1.12em;overflow-wrap:anywhere}.goal-state{font-size:.82em;color:var(--lfl-muted,#b7bcc5);white-space:nowrap}.goal-values{position:relative;z-index:1;margin-top:6px;font-variant-numeric:tabular-nums}.goal-progress{position:relative;height:9px;margin-top:8px;overflow:hidden;background:var(--lfl-wash-strong,rgba(255,255,255,.12));border-radius:999px}.goal-progress span{display:block;height:100%;width:0;background:#8a2be2;border-radius:inherit}.goal-description{white-space:pre-wrap;overflow-wrap:anywhere;position:relative;z-index:1}.goal-delta{margin-left:10px;color:var(--lfl-blue-text,#58b6ff);font-size:.85em}.goal-card[data-layout="vertical"]{max-width:280px;min-height:150px}.goal-card[data-layout="vertical"] .goal-topline{align-items:flex-start;flex-direction:column;gap:4px}.goal-confetti{position:absolute;inset:0;pointer-events:none;z-index:0;display:none}.goal-card[data-state="reached"] .goal-confetti{display:block}.goal-confetti span{position:absolute;top:-8px;left:8%;width:3px;height:5px;background:#8a2be2;opacity:.55;animation:lfl-goal-confetti 7s linear infinite}.goal-confetti span:nth-child(2){left:26%;background:#0057ff;animation-delay:-2s}.goal-confetti span:nth-child(3){left:44%;background:#ffc83d;animation-delay:-4s}.goal-confetti span:nth-child(4){left:62%;background:#8a2be2;animation-delay:-1s}.goal-confetti span:nth-child(5){left:78%;background:#0057ff;animation-delay:-5s}.goal-confetti span:nth-child(6){left:92%;background:#ffc83d;animation-delay:-3s}@keyframes lfl-goal-confetti{from{transform:translateY(0) rotate(0)}to{transform:translateY(220px) rotate(160deg)}}.goal-card.goal-bump .goal-values{animation:lfl-goal-bump .45s ease-out}@keyframes lfl-goal-bump{50%{transform:translateY(-2px)}}html[data-goal-paused] .goal-card *{animation-play-state:paused!important}@media(prefers-reduced-motion:reduce){.goal-confetti{display:none!important}.goal-card *{animation:none!important;transition:none!important}}.goals-page{width:100%;max-width:960px;margin:0 auto 60px 0;padding:0;color:var(--lfl-text,#eee)}.goals-page table{border-collapse:collapse;width:100%;margin:12px 0}.goals-page th,.goals-page td{text-align:left;padding:10px 6px;border-bottom:1px solid var(--lfl-border,#444);overflow-wrap:anywhere}.goal-history-list{padding-left:20px}.goal-history-list li{margin:10px 0}.goal-pagination{display:flex;gap:15px;flex-wrap:wrap;margin:12px 0}.goal-table-scroll{overflow-x:auto}.goal-dates{font-size:.9em;color:var(--lfl-muted,#bbb)}#liveGoalPill{font-variant-numeric:tabular-nums;white-space:nowrap;min-height:32px}#liveGoalPill[hidden]{display:none!important}.goal-contribution-tag{font-size:.85em;color:var(--lfl-purple-text,#c8a4ff)}
/* Compact OBS goal: two horizontal lines, or an upward-filling thermometer. */
.goal-widget{display:grid;grid-template-columns:auto auto minmax(80px,1fr);align-items:center;gap:7px 10px;padding:10px 12px;font-size:15px;max-width:680px}
.goal-widget-label{display:flex;flex-direction:row-reverse;align-items:center;gap:5px;font-weight:600;white-space:nowrap;position:relative;z-index:1}.goal-percentage{font-size:.85em;border:1px solid var(--lfl-border,#555);border-radius:999px;padding:1px 6px;font-variant-numeric:tabular-nums}
.goal-widget .goal-progress{margin:0;height:10px;overflow:visible;min-width:0}.goal-widget .goal-progress::after{content:"";position:absolute;left:clamp(2px,var(--goal-progress,0%),calc(100% - 2px));top:-4px;bottom:-4px;width:2px;background:var(--lfl-text,#fff);border-radius:2px;transform:translateX(-1px)}
.goal-widget-details{grid-column:1/-1;display:flex;align-items:baseline;gap:6px;min-width:0;position:relative;z-index:1}.goal-widget .goal-values{margin:0;white-space:nowrap;font-size:.88em}.goal-widget .goal-title{font-size:.95em;font-weight:600}.goal-widget .goal-description{font-size:.84em;margin:0;color:var(--lfl-muted,#b7bcc5);white-space:normal}.goal-widget .goal-title::before,.goal-widget .goal-description:not(:empty)::before{content:"· ";font-weight:400}.goal-widget .goal-state{display:none}.goal-widget[data-state="reached"] .goal-state,.goal-widget[data-state="empty"] .goal-state{display:block;grid-column:1/-1}.goal-widget[data-state="empty"] .goal-widget-details{display:none}.goal-widget .goal-delta:empty{display:none}
.goal-widget[data-layout="vertical"]{width:80px;max-width:80px;min-height:0;grid-template-columns:1fr;text-align:center;justify-items:center;gap:8px;padding:10px 4px}.goal-widget[data-layout="vertical"] .goal-widget-label{flex-direction:column;gap:2px}.goal-widget[data-layout="vertical"] .goal-widget-label>span:first-child{font-size:1.4em}.goal-widget[data-layout="vertical"] .goal-progress{width:18px;height:160px;grid-row:3;border:1px solid var(--lfl-border,#555);background:repeating-linear-gradient(to top,transparent 0,transparent 19px,var(--lfl-border,#555) 20px)}.goal-widget[data-layout="vertical"] .goal-progress span{position:absolute;bottom:0;width:100%!important;height:var(--goal-progress,0%);border-radius:999px;background:#8a2be2}.goal-widget[data-layout="vertical"] .goal-progress::after{left:-5px;right:-5px;top:auto;bottom:clamp(1px,var(--goal-progress,0%),calc(100% - 1px));width:auto;height:2px;transform:none}.goal-widget[data-layout="vertical"] .goal-widget-details{display:flex;flex-direction:column;align-items:center;gap:5px}.goal-widget[data-layout="vertical"] .goal-title{order:-1}.goal-widget[data-layout="vertical"] .goal-title::before,.goal-widget[data-layout="vertical"] .goal-description::before{content:none}
.goal-card.goal-celebrate:not([data-state="reached"]) .goal-confetti{display:block}.goal-card.goal-celebrate:not([data-state="reached"]) .goal-confetti span{animation-duration:1.8s;animation-iteration-count:1;animation-delay:0s}.goal-card.goal-celebrate .goal-progress span{transition:width .45s ease-out,height .45s ease-out}
.card .goal-admin-banner{background:#18733b;color:#fff;border-radius:8px;padding:12px 14px;font-weight:600;overflow-wrap:anywhere}.goal-admin-banner[hidden]{display:none}
.goal-live-link{display:flex;align-items:center;justify-content:center;align-self:center;height:36px;box-sizing:border-box;padding:2px 10px;border:1px solid var(--lfl-border,#46505d);border-radius:999px;background:var(--lfl-surface-soft,#20262e);color:var(--lfl-text,#eef4fb);text-decoration:none;font-weight:600;flex:0 0 auto}.goal-live-link:hover{border-color:#8a2be2}.goal-live-link:focus-visible{outline:2px solid #8a2be2;outline-offset:2px}
@media(max-width:700px){.stats-actions{gap:8px}.stats-actions .stats-box--pulse{flex:0 1 30%;min-width:55px}.stats-actions .stats-box--zap{flex:1 1 auto;min-width:75px}.goal-live-link{padding-inline:8px}}
@media(prefers-reduced-motion:reduce){.goal-card.goal-celebrate .goal-progress span{transition:none}}

/* Keep the vertical text column narrow without changing the 18px gauge. */
.goal-widget[data-layout="vertical"] .goal-widget-details{width:100%;max-width:70px;min-width:0}.goal-widget[data-layout="vertical"] .goal-title,.goal-widget[data-layout="vertical"] .goal-description{max-width:100%;overflow-wrap:anywhere}.goal-widget[data-layout="vertical"] .goal-values{max-width:100%;white-space:normal;overflow-wrap:anywhere}
/* Target marks the endpoint in horizontal mode; vertical keeps it above its label. */
.goal-widget:not([data-layout="vertical"]){grid-template-columns:auto auto minmax(80px,1fr) auto}.goal-widget:not([data-layout="vertical"]) .goal-widget-label{display:contents}.goal-widget:not([data-layout="vertical"]) .goal-widget-label>span:last-child{grid-column:1;grid-row:1;white-space:nowrap}.goal-widget:not([data-layout="vertical"]) .goal-percentage{grid-column:2;grid-row:1}.goal-widget:not([data-layout="vertical"]) .goal-progress{grid-column:3;grid-row:1}.goal-widget:not([data-layout="vertical"]) .goal-widget-target{grid-column:4;grid-row:1;font-size:1.2em;line-height:1}
.goals-layout .sidebar-item{text-decoration:none}.goals-page #goalDetailView[hidden],.goals-page #goalPastView[hidden]{display:none!important}.goals-page .goal-card{max-width:100%}
.goal-widget[data-layout="vertical"] .goal-description{max-width:100%}
.goal-widget[data-layout="vertical"] .goal-widget-label{white-space:normal;max-width:100%;min-width:0}.goal-widget[data-layout="vertical"] .goal-widget-label>span{max-width:100%;overflow-wrap:anywhere}
.goal-widget[data-layout="vertical"] .goal-state{white-space:normal;max-width:100%;overflow-wrap:anywhere}.goal-widget[data-layout="vertical"] .goal-delta{margin-left:0;max-width:100%;overflow-wrap:anywhere}
/* Native details provides a keyboard-accessible goal menu without a UI dependency. */
.goals-page .network-page-header{display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;gap:12px}.goal-menu{position:relative;flex:none;z-index:5}.goal-menu[hidden]{display:none}.goal-menu summary{list-style:none;cursor:pointer;border:1px solid var(--lfl-border,#46505d);border-radius:8px;padding:2px 12px;font-size:24px;line-height:1.3;background:var(--lfl-surface-soft,#20262e);color:var(--lfl-text,#eef4fb)}.goal-menu summary::-webkit-details-marker{display:none}.goal-menu>div{position:absolute;right:0;top:100%;min-width:195px;padding:6px;border:1px solid var(--lfl-border,#46505d);border-radius:8px;background:var(--lfl-surface,#20262e);box-shadow:0 5px 18px #0004}.goal-menu button{display:block;width:100%;border:0;border-radius:5px;padding:10px;text-align:left;white-space:nowrap;color:var(--lfl-text,#eef4fb);background:transparent;cursor:pointer}.goal-menu button:hover{background:var(--lfl-wash-strong,#ffffff1f)}.goal-menu summary:focus-visible,.goal-menu button:focus-visible{outline:2px solid var(--lfl-blue-text,#58b6ff);outline-offset:2px}

.chat-event-sats{display:inline-block;margin-left:6px;color:var(--lfl-amber-text,#ffd166);font-weight:700;white-space:nowrap}

/* Event-payment badges and comments match sidebar and OBS. */
.chat-event-sats{margin-left:4px;padding:1px 5px;border:1px solid var(--lfl-border,rgba(255,255,255,.2));border-radius:10px;font-size:.8em}
.chat-event-zap-comments{display:block;margin-top:4px;min-width:0}
.chat-event-zap-comment{font-size:.8925em;line-height:1.35;overflow-wrap:anywhere;white-space:pre-wrap;margin-top:2px}
.chat-event-zap-dialog [data-zap-create]{background:var(--lfl-amber-text,#ffd400);color:#111;border:1px solid var(--lfl-amber-text,#ffd400)}
.chat-event-zap-dialog[data-zap-identity="ghost"] [data-zap-create]{background:var(--lfl-blue-solid,#1479e8);color:#fff;border-color:var(--lfl-blue-border,#78baff)}

/* Reaction and payment pills share the same icon/count geometry in both chats. */
.msg-react-count,.chat-reaction,.chat-event-sats{display:inline-flex;box-sizing:border-box;min-height:24px;align-items:center;justify-content:center;gap:3.75px;padding:1.5px 6px;border:1px solid var(--lfl-border,#2a2a2a);border-radius:10.5px;background:var(--lfl-surface,#141414);font:400 12px/18px system-ui,sans-serif;vertical-align:middle;white-space:nowrap}
.chat-event-badge-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:18px;height:18px;font-size:18px;line-height:18px}
.chat-event-badge-count{font-size:12px;line-height:18px;font-variant-numeric:tabular-nums}
.msg .chat-event-badge-icon img.emoji,.chat-message .chat-event-badge-icon img.emoji{display:block;width:18px;height:18px;vertical-align:middle;margin:0}
.chat-event-badge-icon .native-ghost-emoji{font-size:18px;line-height:18px;vertical-align:middle}
.chat-reactions{gap:4px;vertical-align:middle}
.msg-reaction-counts{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px}
.msg-reaction-counts>.chat-event-sats{margin-left:0}

/* Keep country columns aligned while reducing only the fallback globe graphic. */
.msg-identity .msg-country{width:1.7em;height:1.7em;justify-content:center}
.msg .msg-country--globe img.emoji,.chat-message .msg-country--globe img.emoji{width:16px;height:16px;vertical-align:middle;margin:0}

.chat-event-zap-dialog .chat-zap-identity{display:flex;flex-wrap:wrap;gap:12px;border:1px solid var(--lfl-border,#46505d);border-radius:8px;padding:8px 10px}
.chat-event-zap-dialog .chat-zap-identity legend{font-size:14px;padding:0 4px}
.chat-event-zap-dialog .chat-zap-identity label{display:inline-flex;align-items:center;gap:6px}
.chat-event-zap-dialog .chat-zap-identity input[type="radio"]{width:18px;height:18px;min-width:18px;min-height:18px;flex:0 0 18px;padding:0;margin:0}
.chat-event-zap-dialog .chat-zap-identity-note{font-size:.85em;color:var(--lfl-muted,#b7bcc5)}
