/* Watch streak — karta v chatu, nabídka nad polem (core/watch-streak.js). Předloha 1:1: docs/mockups/2026-10-25-watch-streak.html
   (artifact PdvPsayVo9bYjDFerG1BpS v12). Vše pod kořenem .ucws, animace s prefixem ucws-. Jen tmavé (UnityChat). */
@property --ucws-hca { syntax: "<angle>"; inherits: false; initial-value: 0deg; }
@property --ucws-oa { syntax: "<angle>"; inherits: false; initial-value: 0deg; }

.ucws { --panel: #18181b; --panel2: #1f1f23; --line: #2f2f35; --fg: #efeff1; --muted: #adadb8; --a1: #ffc800; --a2: #ff8c00;
  --mono: "JetBrains Mono", ui-monospace, monospace; color: var(--fg); font-size: 13.5px; line-height: 1.45; padding: 4px 0; }
.ucws * { box-sizing: border-box; }

/* barvy úrovní: --c1 hlavní, --c2 světlá, --c3 tmavá */
.ucws-c-bronze { --c1: #d08a4f; --c2: #f0b27a; --c3: #8a5025; }
.ucws-c-silver { --c1: #c9d2e0; --c2: #ffffff; --c3: #7d8797; }
.ucws-c-gold { --c1: #ffcf3d; --c2: #fff1a8; --c3: #c98a00; }
.ucws-c-platinum { --c1: #8fe6dc; --c2: #e6fffb; --c3: #3fa79c; }
.ucws-c-diamond { --c1: #3b82f6; --c2: #67e8f9; --c3: #1e3a8a; }
.ucws-c-ruby { --c1: #e8263b; --c2: #ff5a7e; --c3: #460418; }
.ucws-c-amethyst { --c1: #9b5de5; --c2: #d6b4ff; --c3: #3d1466; }
.ucws-c-holo { --c1: #ffb627; --c2: #fff1c2; --c3: #e9a23b; --ha: #ffd36b; --hb: #ffb627; --hc: #fff1c2; --hd: #e9a23b; --he: #fff8e6; --r1: #a8ffcf; --r2: #9eeaff; --r3: #ffb0dc; }
.ucws .ucws-c-holo .grad, .ucws .ucws-c-holo.grad { background: linear-gradient(90deg, var(--ha), var(--hb), var(--hc), var(--hd), var(--ha)); background-size: 200% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: ucws-holo 3s linear infinite; }
.ucws .X.ucws-c-holo { background: radial-gradient(120% 90% at 50% 0%, rgba(255, 211, 107, .26), transparent 60%), radial-gradient(80% 60% at 50% 110%, rgba(233, 162, 59, .3), transparent 70%), #17120a; box-shadow: 0 0 36px rgba(255, 182, 39, .4); }
.ucws .X .hsweep { position: absolute; inset: -20% -60%; background: linear-gradient(100deg, transparent 42%, rgba(255, 248, 230, .35) 50%, transparent 58%); transform: translateX(-60%); animation: ucws-hsw 4.2s ease-in-out infinite; mix-blend-mode: plus-lighter; pointer-events: none; }
.ucws .X.ucws-c-holo .spark { background: var(--sc); box-shadow: 0 0 8px var(--sc); }
@keyframes ucws-holo { to { background-position: 200% 0; } }
@keyframes ucws-hsw { 55%, 100% { transform: translateX(60%); } }

/* ---- Holografická XL jako odznak v3 (core/badge-v3-card.css) ---- */
.ucws .xlw { position: relative; animation: ucws-hbob 5.5s ease-in-out infinite; margin: 6px 10px; }
@keyframes ucws-hbob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }
.ucws .X.ucws-c-holo { transform: perspective(700px) rotateX(var(--tx, 0deg)) rotateY(var(--ty, 0deg)); transition: transform .25s ease-out; }
.ucws .hx { position: absolute; inset: 0; pointer-events: none; }
.ucws .hx.front { z-index: 4; }
.ucws .prism { position: absolute; inset: -46px -40px; pointer-events: none; background: repeating-conic-gradient(from var(--ucws-hca), color-mix(in srgb, var(--ha) 0%, transparent) 0deg 9deg, color-mix(in srgb, var(--ha) 22%, transparent) 12deg, color-mix(in srgb, var(--hb) 20%, transparent) 15deg, color-mix(in srgb, var(--hc) 20%, transparent) 18deg, color-mix(in srgb, var(--hd) 0%, transparent) 22deg 30deg); -webkit-mask: radial-gradient(closest-side, transparent 42%, #000 62%, transparent 100%); mask: radial-gradient(closest-side, transparent 42%, #000 62%, transparent 100%); filter: blur(5px); animation: ucws-hring 40s linear infinite; opacity: .55; }
.ucws .shards { position: absolute; left: 50%; top: 50%; width: 0; height: 0; transform: scaleY(1.25); }
.ucws .hrg { position: absolute; width: var(--d); height: var(--d); left: calc(var(--d) / -2); top: calc(var(--d) / -2); animation: ucws-hspin var(--t) linear infinite; animation-direction: var(--dir, normal); }
@keyframes ucws-hspin { to { transform: rotate(360deg); } }
.ucws .shard { position: absolute; left: 50%; top: -6px; width: var(--w, 7px); height: calc(var(--w, 7px) * 1.6); margin-left: calc(var(--w, 7px) / -2); clip-path: polygon(50% 0, 100% 45%, 50% 100%, 0 45%); background: linear-gradient(160deg, var(--he), var(--ha) 30%, var(--r2) 52%, var(--hb) 68%, var(--r3) 86%, var(--hc)); filter: drop-shadow(0 0 4px color-mix(in srgb, var(--ha) 80%, transparent)); animation: ucws-hshard 2.8s ease-in-out infinite; }
@keyframes ucws-hshard { 0%, 100% { opacity: .25; transform: scale(.6) rotate(0); } 50% { opacity: .8; transform: scale(1) rotate(25deg); } }
.ucws .holor { position: absolute; inset: -1.5px; z-index: 3; border-radius: 17.5px; padding: 1.5px; pointer-events: none; background: conic-gradient(from var(--ucws-hca), var(--ha), var(--hb) 18%, var(--r1) 23%, var(--he) 27%, var(--hc) 34%, var(--ha) 46%, var(--hd) 58%, var(--r2) 63%, var(--r3) 67%, var(--hb) 72%, var(--hc) 85%, var(--ha)); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; animation: ucws-hring 9s linear infinite; }
.ucws .holor.aura { inset: -5px; border-radius: 21px; padding: 5px; filter: blur(7px); opacity: .55; }
@keyframes ucws-hring { to { --ucws-hca: 360deg; } }
.ucws .hfoil { position: absolute; inset: 0; mix-blend-mode: screen; background: linear-gradient(115deg, transparent 36%, color-mix(in srgb, var(--r1) 8%, transparent) 43%, color-mix(in srgb, var(--ha) 14%, transparent) 47%, color-mix(in srgb, var(--he) 16%, transparent) 50%, color-mix(in srgb, var(--hb) 14%, transparent) 53%, color-mix(in srgb, var(--r2) 8%, transparent) 56%, color-mix(in srgb, var(--r3) 6%, transparent) 59%, transparent 64%); background-size: 260% 100%; background-position: var(--mx, 30%) 0; opacity: var(--fo, .55); transition: background-position .2s ease-out, opacity .25s ease-out; }
.ucws .glit { position: absolute; width: 7px; height: 7px; background: var(--gc); clip-path: polygon(50% 0, 61% 39%, 100% 50%, 61% 61%, 50% 100%, 39% 61%, 0 50%, 39% 39%); filter: drop-shadow(0 0 3px var(--gc)); opacity: 0; animation: ucws-hglit var(--gd) ease-in-out infinite; }
@keyframes ucws-hglit { 0%, 100% { opacity: 0; transform: scale(.3) rotate(0); } 45% { opacity: .95; transform: scale(1) rotate(45deg); } 60% { opacity: .2; transform: scale(.6) rotate(90deg); } }
.ucws .htex { position: absolute; inset: 0; background-image: radial-gradient(circle, color-mix(in srgb, var(--ha) 20%, transparent) 0 .9px, transparent 1.2px); background-size: 7px 7px; -webkit-mask-image: linear-gradient(225deg, #000 0%, transparent 55%); mask-image: linear-gradient(225deg, #000 0%, transparent 55%); animation: ucws-hbreath 4s ease-in-out infinite; }
@keyframes ucws-hbreath { 0%, 100% { opacity: .7; } 50% { opacity: 1; } }
.ucws .htwk { position: absolute; inset: 0; -webkit-mask-image: linear-gradient(225deg, #000 0%, transparent 70%); mask-image: linear-gradient(225deg, #000 0%, transparent 70%); }
.ucws .htwk i { position: absolute; inset: 0; background-image: radial-gradient(circle, var(--tc) 0 .95px, transparent 1.35px); opacity: 0; animation: ucws-htw var(--td) ease-in-out infinite; }
@keyframes ucws-htw { 0%, 100% { opacity: 0; } 50% { opacity: .38; } }
.ucws .hinset { position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 26px 6px rgba(0, 0, 0, .6), inset 0 -14px 22px -6px rgba(0, 0, 0, .45), inset 0 14px 22px -6px rgba(0, 0, 0, .45), inset 0 0 0 1px color-mix(in srgb, var(--ha) 18%, transparent); }
.ucws .numw { position: relative; display: grid; }
.ucws .numw > * { grid-area: 1 / 1; }
/* Stín má 3D transformaci = vlastní vrstva nad běžným textem → číslo musí být nad ním, jinak ho zakalí. */
.ucws .numw > .grad { position: relative; z-index: 1; }
/* Ražba jako jméno holografického odznaku (core/badge-v3-card.js emboss): číslo je ~2× větší, kroky po 2 px. */
/* Vrstvy = kopie čísla posunuté transformací (subpixelově plynulé) opačně ke straně náklonu; --ex / --ey −1…1 z wireStreakCard.
   Svisle na krok: klid 2 px, kurzor nahoře 3 px, kurzor dole −2 px (hloubka nad číslem). Maketa v16. */
.ucws .X.ucws-c-holo .numw { --dx: calc(var(--ex, 0) * -2px); --dy: calc(2px + max(calc(var(--ey, 0) * -1), 0) * 1px - max(var(--ey, 0), 0) * 4px); }
.ucws .numw > .emb { position: relative; color: var(--ec); will-change: transform; pointer-events: none; transform: translate3d(calc(var(--dx) * var(--k)), calc(var(--dy) * var(--k)), 0); }
.ucws .numw > .emb.e4 { filter: blur(1px); }
.ucws .nshadow { font-family: var(--mono); font-weight: 900; color: rgba(0, 0, 0, .9); filter: blur(4px); transform-origin: 50% 100%; transform: translate(var(--sx, 0px), var(--sy, 4px)) perspective(260px) rotateX(calc(var(--tx, 0deg) * 1.6)) rotateY(calc(var(--ty, 0deg) * 1.6)) skewX(calc(var(--ty, 0deg) * -1.2)); transition: transform .25s ease-out; pointer-events: none; }

/* Postupné efekty L: platina odlesk, ametyst + pulzující záře, diamant + jiskry, rubín + paprsky. */
.ucws .lclip { position: absolute; inset: 0; border-radius: inherit; overflow: hidden; pointer-events: none; }
/* plus-lighter (.hsweep) v nakloněné kartě se jinak prolíná s pozadím z jiné kompozitní vrstvy → problikne kopie levého okraje */
.ucws .X .lclip { isolation: isolate; }
.ucws .L.fx1 .lclip::after { content: ""; position: absolute; inset: 0; background: linear-gradient(110deg, transparent 35%, color-mix(in srgb, var(--c2) 22%, transparent) 50%, transparent 65%); transform: translateX(-100%); animation: ucws-sweep 3.6s ease-in-out infinite; pointer-events: none; }
.ucws .L.fx2 { animation: ucws-pulse 2.8s ease-in-out infinite; }
.ucws .L .spark { position: absolute; width: 4px; height: 4px; border-radius: 50%; background: var(--c2); box-shadow: 0 0 8px var(--c2); animation: ucws-rise var(--d) ease-in infinite; opacity: 0; pointer-events: none; }
.ucws .L .lrays { position: absolute; inset: -60%; background: conic-gradient(from 0deg, transparent 0 8%, color-mix(in srgb, var(--c2) 14%, transparent) 10%, transparent 12% 25%, color-mix(in srgb, var(--c2) 10%, transparent) 27%, transparent 29% 42%, color-mix(in srgb, var(--c2) 14%, transparent) 44%, transparent 46% 59%, color-mix(in srgb, var(--c2) 10%, transparent) 61%, transparent 63% 76%, color-mix(in srgb, var(--c2) 14%, transparent) 78%, transparent 80% 100%); animation: ucws-spin 22s linear infinite; pointer-events: none; }
.ucws .L > :not(.lclip) { position: relative; }
/* Mimo kartu (obal .ow): ametyst záře kolem, diamant + odlétající jiskry, rubín + kometa po obvodu, holo vše. */
.ucws .ow { position: relative; isolation: isolate; margin: 4px 10px; }
.ucws .ow .ohalo { position: absolute; inset: -14px; z-index: -1; border-radius: 26px; background: radial-gradient(closest-side, color-mix(in srgb, var(--c1) 45%, transparent), transparent); filter: blur(14px); animation: ucws-halo 3.2s ease-in-out infinite; pointer-events: none; }
.ucws .ow .ocomet { position: absolute; inset: -3px; z-index: 2; border-radius: 17px; padding: 3px; pointer-events: none;
  background: conic-gradient(from var(--ucws-oa), transparent 0 78%, color-mix(in srgb, var(--c2) 60%, transparent) 90%, #fff 96%, transparent 100%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude;
  filter: drop-shadow(0 0 6px var(--c2)); animation: ucws-orbit 3.4s linear infinite; }
.ucws .ow .osp { position: absolute; z-index: 3; width: 4px; height: 4px; border-radius: 50%; background: var(--oc, var(--c2)); box-shadow: 0 0 8px var(--oc, var(--c2)); opacity: 0; pointer-events: none; animation: ucws-ofly var(--d) ease-out infinite; animation-delay: var(--dl); }
.ucws .ow > .L, .ucws .ow > .X { margin: 0; }
@keyframes ucws-halo { 50% { opacity: .55; transform: scale(1.03); } }
@keyframes ucws-orbit { to { --ucws-oa: 360deg; } }
@keyframes ucws-ofly { 0% { opacity: 0; transform: translate(0, 0) scale(1); } 15% { opacity: 1; } 100% { opacity: 0; transform: translate(var(--x), var(--y)) scale(.3); } }
@keyframes ucws-pulse { 50% { box-shadow: 0 0 0 1.5px var(--c2), 0 0 40px color-mix(in srgb, var(--c1) 60%, transparent), inset 0 0 30px color-mix(in srgb, var(--c1) 16%, transparent); } }

.ucws .gg { font: 700 12px inherit; font-family: inherit; color: var(--fg); background: var(--panel2); border: 1px solid var(--line); border-radius: 999px; padding: 4px 11px; cursor: pointer; display: inline-flex; gap: 5px; align-items: center; white-space: nowrap; }
.ucws .gg .emote, .ucws .gg img { height: 18px; width: auto; vertical-align: middle; }
.ucws .gg .cnt { color: var(--a1); font-variant-numeric: tabular-nums; }
.ucws .gg .cnt.bump { animation: ucws-bump .4s ease-out; }
@keyframes ucws-bump { 40% { transform: scale(1.35); } }
.ucws .gg.mine { border-color: rgba(255, 200, 0, .6); background: rgba(255, 200, 0, .12); }
.ucws .gg:focus-visible { outline: 2px solid var(--a2); outline-offset: 2px; }
.ucws span.gg { cursor: default; }
.ucws .faces { display: inline-flex; } .ucws .faces i { width: 16px; height: 16px; border-radius: 50%; border: 2px solid var(--panel); margin-left: -5px; background: var(--f); } .ucws .faces i:first-child { margin-left: 0; }
.ucws .num { font-family: var(--mono); font-weight: 900; font-variant-numeric: tabular-nums; }
.ucws .grad { background: linear-gradient(135deg, var(--c2), var(--c1)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ucws .pi { display: inline-block; width: 15px; height: 15px; border-radius: 3px; vertical-align: -2px; margin-right: 5px; background: #9146ff; }
.ucws .pi.ki { background: #53fc18; } .ucws .pi.yt { background: #ff0033; }
.ucws .who b { font-weight: 700; }

/* Plamen podle úrovně: lv0 klid → lv1 mihotání → lv2 víc → lv3+ gradující oheň, jiskry, záře. */
.ucws .flm { position: relative; display: inline-block; width: var(--fs, 1em); height: var(--fs, 1em); vertical-align: -.14em; flex: none; }
.ucws .flm svg { position: absolute; inset: 0; width: 100%; height: 100%; transform-origin: 50% 88%; overflow: visible; }
.ucws .flm .bk { opacity: 0; }
.ucws .flm .em { position: absolute; left: 50%; top: 18%; width: max(2px, calc(var(--fs) * .07)); aspect-ratio: 1; border-radius: 50%; background: var(--ec, var(--c2)); box-shadow: 0 0 6px var(--ec, var(--c2)); opacity: 0; animation: ucws-ember var(--d, 1.6s) ease-out infinite; animation-delay: var(--dl, 0s); pointer-events: none; }
.ucws .flm.lv1 .fo { animation: ucws-fl1 2.6s ease-in-out infinite; } .ucws .flm.lv1 { filter: drop-shadow(0 0 3px color-mix(in srgb, var(--c1) 45%, transparent)); }
.ucws .flm.lv2 .fo { animation: ucws-fl2 1.9s ease-in-out infinite; } .ucws .flm.lv2 .fm { animation: ucws-sway 2.3s ease-in-out infinite; } .ucws .flm.lv2 { filter: drop-shadow(0 0 5px color-mix(in srgb, var(--c1) 55%, transparent)); }
.ucws .flm.lv3 .fo, .ucws .flm.lv4 .fo, .ucws .flm.lv5 .fo, .ucws .flm.lv6 .fo, .ucws .flm.lv7 .fo { animation: ucws-fl3 1.4s ease-in-out infinite; }
.ucws .flm.lv3 .fm, .ucws .flm.lv4 .fm, .ucws .flm.lv5 .fm, .ucws .flm.lv6 .fm, .ucws .flm.lv7 .fm { animation: ucws-sway 1.1s ease-in-out infinite reverse; }
.ucws .flm.lv3 .fc, .ucws .flm.lv4 .fc, .ucws .flm.lv5 .fc, .ucws .flm.lv6 .fc, .ucws .flm.lv7 .fc { animation: ucws-core .9s ease-in-out infinite; }
.ucws .flm.lv3 { filter: drop-shadow(0 0 8px color-mix(in srgb, var(--c1) 65%, transparent)); }
.ucws .flm.lv4, .ucws .flm.lv5 { animation: ucws-heat 1.6s ease-in-out infinite; }
.ucws .flm.lv4 .fo, .ucws .flm.lv5 .fo { animation-duration: 1.1s; }
.ucws .flm.lv5 .bk, .ucws .flm.lv6 .bk, .ucws .flm.lv7 .bk { opacity: .45; transform: scale(1.28) translateY(-4%); animation: ucws-fl3 1.7s ease-in-out infinite reverse; }
.ucws .flm.lv6, .ucws .flm.lv7 { animation: ucws-heat2 1.2s ease-in-out infinite; }
.ucws .flm.lv6 .fo, .ucws .flm.lv7 .fo { animation: ucws-flare .95s ease-in-out infinite; }
@keyframes ucws-fl1 { 50% { transform: scale(1.03, 1.04); } }
@keyframes ucws-fl2 { 30% { transform: scale(1.04, 1.07) rotate(-2deg); } 70% { transform: scale(.98, 1.02) rotate(1.5deg); } }
@keyframes ucws-fl3 { 25% { transform: scale(1.06, 1.12) rotate(-3deg); } 55% { transform: scale(.96, 1.02) rotate(2deg); } 80% { transform: scale(1.03, 1.09) rotate(-1deg); } }
@keyframes ucws-flare { 20% { transform: scale(1.1, 1.22) rotate(-4deg); } 45% { transform: scale(.95, 1.04) rotate(3deg); } 70% { transform: scale(1.08, 1.18) rotate(-2deg); } }
@keyframes ucws-sway { 50% { transform: translateX(4%) scale(1.04, 1.08) rotate(3deg); } }
@keyframes ucws-core { 50% { transform: scale(1.12, 1.2); opacity: .7; } }
/* Záře plamene: ve všech fázích stejná dvojice stínů (jinak prohlížeč nepřechodí plynule a záře problikne). */
@keyframes ucws-heat { 0%, 100% { filter: drop-shadow(0 0 7px color-mix(in srgb, var(--c1) 60%, transparent)) drop-shadow(0 0 1px color-mix(in srgb, var(--c2) 0%, transparent)); } 50% { filter: drop-shadow(0 0 12px color-mix(in srgb, var(--c1) 80%, transparent)) drop-shadow(0 0 2px color-mix(in srgb, var(--c2) 100%, transparent)); } }
@keyframes ucws-heat2 { 0%, 100% { filter: drop-shadow(0 0 12px color-mix(in srgb, var(--c1) 80%, transparent)) drop-shadow(0 0 2px color-mix(in srgb, var(--c2) 30%, transparent)); } 50% { filter: drop-shadow(0 0 20px color-mix(in srgb, var(--c1) 100%, transparent)) drop-shadow(0 0 4px color-mix(in srgb, var(--c2) 100%, transparent)); } }
@keyframes ucws-ember { 0% { opacity: 0; transform: translate(-50%, 0) scale(1); } 15% { opacity: 1; } 100% { opacity: 0; transform: translate(calc(-50% + var(--x, 0px)), calc(var(--fs) * -1.1)) scale(.4); } }

/* S — lehký řádek */
.ucws .S { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 7px 10px; margin: 0 10px; border-radius: 10px; background: linear-gradient(90deg, color-mix(in srgb, var(--c1) 20%, transparent), transparent 70%); border-left: 3px solid var(--c1); }
.ucws .S .pill { display: inline-flex; align-items: center; gap: 4px; font: 800 13px var(--mono); color: #1a1205; background: linear-gradient(135deg, var(--c2), var(--c1)); border-radius: 999px; padding: 2px 9px; }
.ucws .S .txt { font-size: 13.5px; min-width: 0; }
.ucws .S .gg { margin-left: auto; padding: 2px 9px; }

/* M — kompaktní karta */
.ucws .M { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 10px 12px; margin: 0 10px; border-radius: 12px; background: linear-gradient(135deg, color-mix(in srgb, var(--c1) 22%, var(--panel)), var(--panel) 65%); box-shadow: 0 0 0 1px color-mix(in srgb, var(--c1) 50%, transparent); }
.ucws .M .ico { width: 42px; height: 42px; flex: none; border-radius: 12px; display: grid; place-items: center; font-size: 28px; background: radial-gradient(circle at 50% 70%, color-mix(in srgb, var(--c1) 40%, transparent), transparent 70%); }
.ucws .M .body { display: grid; gap: 2px; flex: 1 1 160px; min-width: 0; }
.ucws .M .n { font-size: 22px; line-height: 1; } .ucws .M .lbl { font-size: 12.5px; color: var(--muted); }
.ucws .M .who { font-size: 13px; }

/* L — karta s plamenem */
.ucws .L { position: relative; border-radius: 14px; padding: 12px 14px; margin: 0 10px; display: grid; gap: 9px; overflow: visible; background: linear-gradient(160deg, color-mix(in srgb, var(--c1) 22%, transparent), rgba(24, 24, 27, .96) 48%), var(--panel); box-shadow: 0 0 0 1px color-mix(in srgb, var(--c1) 60%, transparent), 0 0 20px color-mix(in srgb, var(--c1) 22%, transparent); }
.ucws .L.glow { box-shadow: 0 0 0 1.5px var(--c2), 0 0 28px color-mix(in srgb, var(--c1) 45%, transparent), inset 0 0 30px color-mix(in srgb, var(--c1) 12%, transparent); }
.ucws .L .bh { display: flex; gap: 12px; align-items: center; min-width: 0; }
.ucws .L .bh > div:last-child { min-width: 0; }
.ucws .L .big, .ucws .X .big { width: 64px; height: 64px; flex: none; border-radius: 16px; display: grid; place-items: center; position: relative; background: radial-gradient(circle at 50% 70%, color-mix(in srgb, var(--c1) 45%, transparent), transparent 70%); }
.ucws .X .big { width: auto; height: auto; background: none; }
.ucws .L .eb { font-family: var(--mono); font-size: 10.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--c2); }
.ucws .L .title { font-size: 21px; font-weight: 900; letter-spacing: -.01em; }
.ucws .L .who { font-size: 13px; color: var(--muted); }
.ucws .L .stats { display: flex; gap: 6px; flex-wrap: wrap; }
.ucws .chip { display: inline-flex; align-items: center; gap: 5px; padding: 2px 9px; border-radius: 999px; font-size: 11.5px; font-weight: 600; color: var(--muted); background: rgba(255, 255, 255, .05); border: 1px solid var(--line); white-space: nowrap; }
.ucws .chip.hot { color: var(--c2); background: color-mix(in srgb, var(--c1) 14%, transparent); border-color: color-mix(in srgb, var(--c1) 40%, transparent); }
.ucws .L .bf, .ucws .X .bf { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }

/* XL — slavnostní */
.ucws .X { position: relative; border-radius: 16px; padding: 16px; display: grid; gap: 12px; overflow: visible; text-align: center; justify-items: center;
  background: radial-gradient(120% 90% at 50% 0%, color-mix(in srgb, var(--c1) 38%, transparent), transparent 60%), radial-gradient(80% 60% at 50% 110%, color-mix(in srgb, var(--c3) 70%, transparent), transparent 70%), #120a0d;
  box-shadow: 0 0 0 1.5px var(--c2), 0 0 36px color-mix(in srgb, var(--c1) 55%, transparent); }
.ucws .X .rays { position: absolute; inset: -50%; background: conic-gradient(from 0deg, transparent 0 8%, color-mix(in srgb, var(--c2) 18%, transparent) 10%, transparent 12% 25%, color-mix(in srgb, var(--c2) 14%, transparent) 27%, transparent 29% 42%, color-mix(in srgb, var(--c2) 18%, transparent) 44%, transparent 46% 59%, color-mix(in srgb, var(--c2) 14%, transparent) 61%, transparent 63% 76%, color-mix(in srgb, var(--c2) 18%, transparent) 78%, transparent 80% 100%); animation: ucws-spin 18s linear infinite; pointer-events: none; }
.ucws .X > :not(.lclip):not(.holor) { position: relative; }
/* Světlo na obvodu holo XL je uvnitř nakloněné karty (pravidlo .ow .ocomet platí dál, .X leží v .ow). */
.ucws .X > .ocomet { position: absolute; }
.ucws .X .eb { font-family: var(--mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--c2); }
.ucws .X .n { font-size: 44px; line-height: 1; }
.ucws .X .title { font-size: 16px; font-weight: 800; }
.ucws .X .who { font-size: 13.5px; color: var(--muted); }
.ucws .X .spark { position: absolute; width: 4px; height: 4px; border-radius: 50%; background: var(--c2); box-shadow: 0 0 8px var(--c2); animation: ucws-rise var(--d) ease-in infinite; opacity: 0; }
.ucws .X:not(.ucws-c-holo) { margin: 0 10px; }

@keyframes ucws-sweep { 60%, 100% { transform: translateX(100%); } }
@keyframes ucws-spin { to { transform: rotate(1turn); } }
@keyframes ucws-rise { 0% { opacity: 0; transform: translateY(0); } 20% { opacity: 1; } 100% { opacity: 0; transform: translateY(-70px); } }

/* Nabídka divákovi nad polem (jen jemu, při milníku). */
.ucws-offer { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 8px 10px; margin: 4px 8px; border-radius: 12px; background: #1f1f23; color: #efeff1;
  border: 1px solid color-mix(in srgb, var(--c1) 55%, transparent); box-shadow: 0 0 18px color-mix(in srgb, var(--c1) 18%, transparent); }
.ucws-offer[hidden] { display: none; }
.ucws-offer .o-ico { font-size: 22px; display: inline-flex; }
.ucws-offer .o-txt { display: grid; flex: 1 1 160px; min-width: 0; }
.ucws-offer .o-txt b { font-size: 14px; }
.ucws-offer .o-txt span { font-size: 12.5px; color: #adadb8; }
.ucws-offer .btn { font: 800 13px inherit; font-family: inherit; border-radius: 999px; padding: 6px 13px; cursor: pointer; border: 1px solid #2f2f35; color: #efeff1; background: #18181b; }
.ucws-offer .btn.p { border: 0; color: #1a1205; background: linear-gradient(135deg, var(--c2), var(--c1)); }
.ucws-offer .btn:disabled { opacity: .6; cursor: default; }
.ucws-offer .o-err { flex-basis: 100%; font-size: 12px; color: #ff8a8a; }

/* Profil diváka: decentní údaj v hlavičce (rozhodnutí usera 2026-10-25: nepoutat pozornost). */
/* Profil: pilulka v pravém sloupci pod Plísní (.uc-uh-side), velikost jako zůstatek Plísně (číslo 15 px, plamen 26 px), barva úrovně — pokyn usera 2026-10-25. */
.uc-uh-streak { display: inline-flex; }
.uc-uh-streak[hidden] { display: none; }
/* Číslo zarovnané doprava s číslem Plísně nad ním — pilulka přečnívá o svůj pravý padding (pokyn usera 2026-10-25). */
/* margin-top: číslo streaku stejně daleko pod číslem Plísně jako číslo Plísně pod částkou (měřeno na písmech, 22 px) — okraj pilulky je jen tlumený. */
.uc-uh-side > .uc-uh-streak { margin: -6px -10px 0 0; }
/* Karta podporovatele: malá pilulka (streakChipHtml), číslo od 3 / 4 číslic menší, ať pilulka neroste. */
.ucws.ucws-prof.ucws-chip { flex: none; font-size: 12px; gap: 3px; padding: 1px 7px 1px 4px; letter-spacing: 0; text-transform: none; }
.ucws-chip .ucws-chip-n { font-weight: 700; }
.ucws-chip .ucws-chip-n.d3 { font-size: 11px; }
.ucws-chip .ucws-chip-n.d4 { font-size: 10px; }
.ucws.ucws-prof { display: inline-flex; align-items: center; gap: 5px; padding: 2px 10px 2px 6px; border-radius: 999px; font-size: 15px; font-weight: 700; line-height: 1.2;
  color: var(--c2); white-space: nowrap; cursor: default; background: color-mix(in srgb, var(--c1) 14%, transparent); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--c1) 40%, transparent); }

@media (prefers-reduced-motion: reduce) {
  .ucws .flm, .ucws .flm *, .ucws .ow .ohalo, .ucws .ow .ocomet, .ucws .ow .osp, .ucws .X .rays, .ucws .X .spark, .ucws .L .spark, .ucws .L .lrays, .ucws .L.fx1 .lclip::after, .ucws .L.fx2,
  .ucws .X .hsweep, .ucws .ucws-c-holo .grad, .ucws .xlw, .ucws .X.ucws-c-holo, .ucws .prism, .ucws .hrg, .ucws .shard, .ucws .holor, .ucws .glit, .ucws .htex, .ucws .htwk i, .ucws .nshadow { animation: none !important; }
}
