*{box-sizing:border-box}:root{--bg:#0b0f1a;--panel:#131a2b;--text:#e8ecf5;--muted:#8b93a8;--accent:#fc3;--accent-2:#ff4d6d}html,body{background:radial-gradient(ellipse at top, #1a2240 0%, var(--bg) 60%);color:var(--text);min-height:100vh;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Inter,system-ui,sans-serif}.wrap{text-align:center;max-width:520px;margin:0 auto;padding:32px 20px 80px}h1{letter-spacing:-.02em;margin:0 0 24px;font-size:32px}.reel-frame{background:var(--panel);border-radius:16px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0f,0 20px 60px -20px #0009}.reel{will-change:transform}.item{border-bottom:1px solid #ffffff0a;flex-direction:column;justify-content:center;align-items:center;padding:0 16px;display:flex}.item .name{text-align:center;letter-spacing:-.01em;font-size:20px;font-weight:600;line-height:1.2}.item .meta{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-top:4px;font-size:12px}.cat{color:var(--accent)}.reel-mask{pointer-events:none;z-index:2;height:80px;position:absolute;left:0;right:0}.reel-mask.top{background:linear-gradient(to bottom, var(--panel), transparent);top:0}.reel-mask.bottom{background:linear-gradient(to top, var(--panel), transparent);bottom:0}.reel-pointer{border-top:2px solid var(--accent);border-bottom:2px solid var(--accent);pointer-events:none;z-index:1;height:80px;margin-top:-40px;position:absolute;top:50%;left:0;right:0;box-shadow:inset 0 0 30px #ffcc3340}button#spin{background:linear-gradient(135deg, var(--accent), #ff8a3d);color:#1a1208;letter-spacing:.1em;cursor:pointer;border:none;border-radius:999px;margin-top:28px;padding:16px 48px;font-size:20px;font-weight:800;transition:transform .1s;box-shadow:0 10px 30px -10px #ff8a3d99}button#spin:hover{transform:translateY(-1px)}button#spin:active{transform:translateY(1px)}.result{opacity:0;margin-top:28px;transition:opacity .4s,transform .4s;transform:translateY(8px)}.result.show{opacity:1;transform:translateY(0)}.result-name{color:var(--accent);letter-spacing:-.01em;font-size:28px;font-weight:700}.result-cat{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:6px;font-size:13px}.result-desc{color:var(--text);opacity:.85;margin-top:10px;font-size:15px;line-height:1.4}
