.lm-machine{border-radius:var(--radius);padding:16px;background:linear-gradient(160deg,#ff8a3d,#ff4f6d);box-shadow:inset 0 -4px 0 rgba(0,0,0,.12)}
.lm-window{position:relative;height:192px;overflow:hidden;border-radius:12px;background:var(--surface);box-shadow:inset 0 6px 12px rgba(0,0,0,.12)}
.lm-window::before,.lm-window::after{content:"";position:absolute;left:0;right:0;height:64px;z-index:1;pointer-events:none}
.lm-window::before{top:0;background:linear-gradient(var(--surface),color-mix(in srgb,var(--surface) 40%,transparent))}
.lm-window::after{bottom:0;background:linear-gradient(color-mix(in srgb,var(--surface) 40%,transparent),var(--surface))}
.lm-window{background-image:linear-gradient(transparent 63px,var(--brand-soft) 63px,var(--brand-soft) 129px,transparent 129px)}
.lm-reel{will-change:transform}
.lm-item{height:64px;display:flex;align-items:center;justify-content:center;gap:10px;font-size:22px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 10px}
.lm-item .e{font-size:28px}
.lm-result{text-align:center;color:#fff;margin-top:12px;min-height:62px;display:grid;place-items:center;gap:4px}
.lm-q{margin:0;font-size:18px;font-weight:700;opacity:.95}
.lm-name{font-size:clamp(26px,7vw,34px);font-weight:900;letter-spacing:-.02em;text-shadow:0 2px 6px rgba(0,0,0,.18)}
.lm-result .badge{background:rgba(255,255,255,.25);color:#fff}
.lm-result.show{animation:lm-pop .5s cubic-bezier(.2,1.6,.4,1)}
@keyframes lm-pop{from{transform:scale(.7);opacity:0}}
.lm-after{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
#lm-cats .chip{min-height:38px;font-weight:600}
#lm-cats .chip small{color:var(--faint);font-weight:500;margin-left:2px}
#lm-cats .chip[aria-pressed=false]{color:var(--faint);text-decoration:line-through;background:var(--surface-2)}
.lm-recent{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.lm-recent span{font-size:13px;padding:3px 10px;border-radius:99px;background:var(--surface-2);color:var(--muted)}
@media (prefers-reduced-motion:reduce){.lm-result.show{animation:none}}
.lm-idle{color:var(--faint);letter-spacing:.1em}
