/* Observed prediction-card rules, scoped to the local group page; original rem base 28px. */
.group-layout .predict-card{--app-surface:#fff;--app-bg:#f4f5f7;--app-border:#e2e8f0;--app-text:#334155;--app-text-secondary:#475569;--app-text-muted:#94a3b8;--app-surface-2:#f1f5f9;--chat-fs-xs:12px}
.group-layout .chat-header .chat-predict-toggle{position:absolute;top:50%;right:12px;bottom:auto;left:auto;height:28px;min-height:0;max-height:28px;max-width:80px;margin:0;transform:translateY(-50%);z-index:1}
.group-layout .chat-header #groupName{min-width:0;max-width:calc(100% - 224px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}
.group-layout .group-message[data-chat-prediction] .predict-card{width:100%;max-width:480px;margin-top:4px}
.group-layout .chat-predict-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;padding:4px 10px;border-radius:14px;font-size:11px;font-weight:600;line-height:1.2;color:#fff;background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 1px 4px #2563eb59;cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent}
.group-layout .chat-predict-toggle:active{opacity:.88}
.group-layout .chat-predict-toggle--off{background:linear-gradient(135deg,#94a3b8,#64748b);box-shadow:0 1px 4px #64748b4d}
.group-layout .predict-card{display:block;max-width:96%;border-radius:10px;overflow:hidden;background:var(--app-surface);border:1px solid color-mix(in srgb,#3b82f6 18%,var(--app-border));box-shadow:0 2px 10px color-mix(in srgb,#2563eb 10%,transparent)}
.group-layout .predict-card__header{position:relative;display:flex;align-items:center;gap:5px;padding:4px 8px;min-height:0;background:linear-gradient(135deg,#1e40af,#2563eb 48%,#3b82f6);overflow:hidden}
.group-layout .predict-card__header:before{content:"";position:absolute;top:-18px;right:-12px;width:48px;height:48px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.14) 0%,transparent 70%);pointer-events:none}
.group-layout .predict-card__header-icon{flex-shrink:0;opacity:.95}
.group-layout .predict-card__title{position:relative;z-index:1;flex:1;min-width:0;font-size:12px;font-weight:700;color:#fff;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.group-layout .predict-card__body{padding:0;background:var(--app-bg)}
.group-layout .predict-table-wrap{overflow:visible}
.group-layout .predict-table{width:100%}
.group-layout .predict-table__head,.group-layout .predict-table__row{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,.8fr) minmax(0,.85fr) 22px;align-items:center;-moz-column-gap:4px;column-gap:4px;padding:0 8px}
.group-layout .predict-table__head{position:sticky;top:0;z-index:2;padding-top:7px;padding-bottom:6px;font-size:10px;font-weight:600;color:var(--app-text-muted);background:var(--app-bg);border-bottom:1px solid var(--app-border)}
.group-layout .predict-table__head span{text-align:center}
.group-layout .predict-table__head span.col-period{text-align:left}
.group-layout .predict-table__row{min-height:26px;padding-top:5px;padding-bottom:5px;font-size:10px;border-bottom:1px solid color-mix(in srgb,var(--app-border) 50%,transparent)}
.group-layout .predict-table__row:last-child{border-bottom:none}
.group-layout .predict-table__row:nth-child(2n){background:color-mix(in srgb,var(--app-surface) 50%,var(--app-bg))}
.group-layout .predict-table__row.is-win{background:color-mix(in srgb,#22c55e 7%,var(--app-bg));box-shadow:inset 2px 0 #22c55e}
.group-layout .predict-table__row.is-lose{background:color-mix(in srgb,#ef4444 5%,var(--app-bg));box-shadow:inset 2px 0 #ef4444}
.group-layout .predict-table__row.is-pending{opacity:.82}
.group-layout .predict-table__row .col-period{font-variant-numeric:tabular-nums;font-weight:500;color:var(--app-text-secondary);font-size:10px;line-height:1.3;word-break:break-all;white-space:normal}
.group-layout .predict-table__row .col-nums,.group-layout .predict-table__row .col-type,.group-layout .predict-table__row .col-result{display:flex;justify-content:center}
.group-layout .predict-balls{display:inline-flex;align-items:center;gap:2px}
.group-layout .predict-ball{width:16px;height:16px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:#fff;background:linear-gradient(145deg,#64748b,#475569);line-height:1}
.group-layout .predict-tags{display:inline-flex;flex-wrap:wrap;justify-content:center;gap:2px}
.group-layout .predict-tag{padding:1px 5px;border-radius:3px;font-size:9px;font-weight:700;line-height:1.35;white-space:nowrap}
.group-layout .predict-tag--big{color:#c2410c;background:color-mix(in srgb,#fb923c 28%,var(--app-surface))}
.group-layout .predict-tag--small{color:#1d4ed8;background:color-mix(in srgb,#60a5fa 28%,var(--app-surface))}
.group-layout .predict-tag--odd{color:#7c3aed;background:color-mix(in srgb,#a78bfa 28%,var(--app-surface))}
.group-layout .predict-tag--even{color:#0f766e;background:color-mix(in srgb,#2dd4bf 28%,var(--app-surface))}
.group-layout .predict-result{width:17px;height:17px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;line-height:1}
.group-layout .predict-result--win{color:#fff;background:linear-gradient(145deg,#22c55e,#16a34a);box-shadow:0 1px 4px #22c55e73}
.group-layout .predict-result--lose{color:#fff;background:linear-gradient(145deg,#f87171,#ef4444);box-shadow:0 1px 4px #ef444466}
.group-layout .predict-result--pending{font-size:9px;font-weight:600;color:var(--app-text-muted);background:var(--app-surface-2)}
.group-layout .predict-card__footer{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:3px;padding:5px 8px;font-size:9px;color:var(--app-text-muted);background:var(--app-surface);border-top:1px solid var(--app-border)}
.group-layout .predict-card__footer strong{font-weight:700;color:var(--app-text)}
.group-layout .predict-stat--win strong{color:#16a34a}
.group-layout .predict-stat-dot{opacity:.45}
.group-layout .predict-card__plain{padding:8px 10px;font-size:var(--chat-fs-xs);line-height:1.45;color:var(--app-text-secondary);white-space:pre-line;word-break:break-word}
