:root{--bg: var(--tg-theme-bg-color, #121212);--bg-elev: #1e1e1e;--bg-elev-2: #222;--border: #333;--border-hover: #555;--text: var(--tg-theme-text-color, #ffffff);--text-muted: #888;--text-dim: #666;--accent: #FFD700;--accent-soft: rgba(255, 215, 0, .1);--accent-glow: rgba(255, 215, 0, .3);--green: #2dcc70;--red: #FF4D4D;--blue: #5d5dff}*{box-sizing:border-box;margin:0;padding:0;font-family:Inter,Segoe UI,sans-serif}html,body,#root{height:100%;min-height:100dvh;background:var(--bg);color:var(--text);overscroll-behavior:none;-webkit-tap-highlight-color:transparent}body{display:flex;justify-content:center;align-items:stretch}.app-container{background:var(--bg);width:100%;max-width:420px;min-height:100dvh;display:flex;flex-direction:column;position:relative;overflow:hidden}.header{padding:20px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.balance-pill{display:flex;align-items:center;background:var(--bg-elev);padding:5px 5px 5px 15px;border-radius:15px;border:1px solid var(--border)}.balance-text{color:var(--accent);font-weight:800;font-size:14px;letter-spacing:.5px}.plus-btn{margin-left:12px;background:#2dcc701a;color:var(--green);width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:10px;font-weight:700;border:1px solid var(--green);cursor:pointer;transition:.2s}.plus-btn:active{transform:scale(.95)}.bell-container{position:relative;cursor:pointer;background:var(--bg-elev);width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border)}.bell-icon{font-size:20px;display:inline-block;animation:ring 4s infinite;transform-origin:top}.badge{position:absolute;top:-5px;right:-5px;background:var(--red);color:#fff;border-radius:6px;padding:2px 5px;font-size:10px;font-weight:900;border:2px solid var(--bg)}@keyframes ring{0%,to{transform:rotate(0)}5%{transform:rotate(15deg)}10%{transform:rotate(-15deg)}15%{transform:rotate(10deg)}20%{transform:rotate(-10deg)}25%{transform:rotate(0)}}.view{flex:1;padding:10px 20px;display:flex;flex-direction:column;gap:15px;animation:fadeIn .3s ease;overflow-y:auto;scrollbar-width:none}.view::-webkit-scrollbar{display:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.raffle-card{background:linear-gradient(145deg,#1e1e1e,#181818);border-radius:25px;border:1px solid var(--border);padding:30px 20px;display:flex;flex-direction:column;align-items:center;gap:20px;position:relative;overflow:hidden}.raffle-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,transparent,var(--accent),transparent)}.chest{width:140px;height:140px;display:flex;align-items:center;justify-content:center;font-size:90px;filter:drop-shadow(0 0 20px var(--accent-glow));transition:transform .2s ease}.chest.spinning{animation:chestShake .15s infinite}@keyframes chestShake{0%,to{transform:rotate(-5deg) scale(1)}50%{transform:rotate(5deg) scale(1.05)}}.chest.pulse{animation:chestPulse 2.5s ease-in-out infinite}@keyframes chestPulse{0%,to{transform:scale(1);filter:drop-shadow(0 0 15px var(--accent-glow))}50%{transform:scale(1.05);filter:drop-shadow(0 0 30px rgba(255,215,0,.6))}}.raffle-btn{width:100%;padding:18px;background:var(--accent);color:#000;border:none;border-radius:18px;font-weight:900;font-size:16px;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:transform .15s,opacity .2s;box-shadow:0 0 20px var(--accent-glow)}.raffle-btn:active:not(:disabled){transform:scale(.97)}.raffle-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.attempts-line{color:var(--text-muted);font-size:12px;letter-spacing:1px;text-transform:uppercase;font-weight:700}.attempts-line b{color:var(--accent)}.ticker{background:var(--bg-elev);border-radius:20px;border:1px solid var(--border);padding:12px 15px;display:flex;gap:10px;align-items:center;overflow:hidden;font-size:12px}.ticker-label{color:var(--text-muted);font-weight:800;letter-spacing:1px;flex-shrink:0}.ticker-track{display:flex;gap:18px;animation:scroll 35s linear infinite;white-space:nowrap}.ticker-track:hover{animation-play-state:paused}@keyframes scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.ticker-item{color:#ccc}.ticker-item b{color:var(--accent)}.rarity-common{color:#bbb}.rarity-rare{color:#5d9dff}.rarity-epic{color:#c15dff}.rarity-legendary{color:gold;text-shadow:0 0 10px var(--accent-glow)}.overlay{position:fixed;inset:0;background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn .2s ease;padding:20px}.popup{background:var(--bg-elev);width:100%;max-width:340px;border-radius:24px;border:1px solid var(--border);box-shadow:0 0 40px #000c;display:flex;flex-direction:column;animation:popIn .3s cubic-bezier(.2,.9,.4,1.2)}@keyframes popIn{0%{transform:scale(.8) translateY(20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.popup-body{padding:30px 20px;text-align:center}.popup-icon{font-size:80px;margin-bottom:15px;filter:drop-shadow(0 0 20px var(--accent-glow));animation:popIcon .5s ease}@keyframes popIcon{0%{transform:scale(0) rotate(-180deg)}to{transform:scale(1) rotate(0)}}.popup-title{font-weight:900;font-size:18px;letter-spacing:1px;margin-bottom:8px;text-transform:uppercase}.popup-desc{color:var(--text-muted);font-size:13px;line-height:1.5;margin-bottom:20px}.popup-btn{width:100%;padding:14px;background:var(--accent);color:#000;border:none;border-radius:14px;font-weight:900;letter-spacing:2px;text-transform:uppercase;cursor:pointer}.popup-btn:active{transform:scale(.97)}.inventory{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.inv-cell{aspect-ratio:1;background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:28px;position:relative}.inv-cell.empty{opacity:.3}.inv-cell .corner{position:absolute;top:3px;right:5px;font-size:8px;font-weight:900;letter-spacing:.5px;text-transform:uppercase}.logo{text-align:center;font-size:18px;letter-spacing:8px;color:var(--accent);font-weight:900;animation:pulseGlow 3s ease-in-out infinite;padding:15px}@keyframes pulseGlow{0%,to{text-shadow:0 0 15px rgba(255,215,0,.2)}50%{text-shadow:0 0 30px rgba(255,215,0,.6)}}.offline-banner{background:#ff4d4d1a;border:1px solid var(--red);color:var(--red);padding:8px 15px;border-radius:12px;font-size:12px;text-align:center;font-weight:700}
