:root{--bg:#14091f;--p:#1f1130;--line:#3a2457;--ink:#f6ecf2;--mut:#a99bb8;--rose:#e8b4a0;--gold:#ff3d81;--ok:#2fe3a5}
*{box-sizing:border-box;margin:0}
body{background:radial-gradient(1200px 600px at 80% -10%,#3a1450,transparent),var(--bg);color:var(--ink);font:400 16px/1.5 Manrope,sans-serif;min-height:100vh}
:focus-visible{outline:3px solid var(--rose);outline-offset:2px}
.demo{background:var(--rose);color:#2a0f1f;text-align:center;font-weight:700;font-size:13px;padding:6px 12px}
header{display:flex;align-items:center;gap:20px;padding:16px 4vw;border-bottom:1px solid var(--line)}
.logo{font:700 24px 'Playfair Display',serif;margin-right:auto;letter-spacing:.04em}.logo i{color:var(--rose);font-style:normal}
#acct{display:flex;gap:14px;align-items:center}.bal{color:var(--ok);font-weight:700}
a{color:var(--rose)}.mut{color:var(--mut)}
main{padding:4vh 4vw;max-width:1200px;margin:auto}
h1,h2{font-family:'Playfair Display',serif;margin:24px 0 14px}h1{font-size:clamp(30px,4vw,48px)}h2{font-size:26px}h3{margin:20px 0 8px}
button,input,select{font:inherit;color:inherit}
button{background:var(--p);border:1px solid var(--line);border-radius:12px;padding:10px 18px;cursor:pointer;transition:transform .1s,border-color .2s}
button:hover{border-color:var(--rose)}button:active{transform:scale(.97)}button:disabled{opacity:.5;cursor:wait}
button.gold{background:var(--gold);border-color:var(--gold);font-weight:700}
input,select{background:#120820;border:1px solid var(--line);border-radius:10px;padding:10px 12px;width:100%}
#auth{max-width:440px;display:grid;gap:14px}.chk{display:flex;gap:10px;align-items:flex-start;font-size:14px}.chk input{width:20px;height:20px;accent-color:var(--gold)}
.row{display:flex;gap:10px;flex-wrap:wrap}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}
.card{display:grid;gap:4px;text-align:left;padding:18px;border-radius:18px;background:linear-gradient(160deg,var(--p),#180c26)}
.card:hover{transform:translateY(-4px)}.card .ic{font-size:38px}.card small{color:var(--mut)}.card em{font-style:normal;color:var(--ok);font-size:13px}
.card.live{border-color:#5b2d7a}
.ev{background:linear-gradient(90deg,#5a1d63,#2c1250);padding:8px 4vw;font-size:14px}.ev button{padding:2px 12px;margin-left:8px}
dialog{border:1px solid var(--line);border-radius:22px;background:var(--bg);color:var(--ink);width:min(640px,94vw);padding:26px;max-height:92vh}
dialog::backdrop{background:#000a;backdrop-filter:blur(4px)}
.x{position:absolute;right:14px;top:14px;padding:6px 12px}
.bet{display:flex;gap:10px;align-items:end;margin:18px 0 10px}.bet label{display:grid;gap:4px;font-size:13px;flex:1}
#go{width:100%;padding:14px}#res{min-height:32px;margin-top:12px;text-align:center}.win{color:var(--ok);font-size:20px}
.big{font:700 clamp(36px,8vw,64px) 'Playfair Display',serif;text-align:center;margin:14px 0}.big.boom{color:var(--gold)}
.live{display:flex;justify-content:space-between;color:var(--rose);font-weight:700}
.opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}
.opt small{display:block;color:var(--mut);font-size:12px}.opt.on{border-color:var(--rose);background:#3a2457}.res{border-color:var(--ok)!important;box-shadow:0 0 16px #2fe3a566}
.seg{display:flex;gap:8px;margin:10px 0}.seg .on{background:#3a2457;border-color:var(--rose)}
input[type=range]{accent-color:var(--gold);padding:0}
.reels{display:flex;gap:10px;justify-content:center}.reels span{font-size:56px;background:var(--p);border-radius:16px;padding:8px 16px;border:1px solid var(--line)}
.strip{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.strip span{background:var(--p);border:1px solid var(--line);border-radius:10px;padding:10px 12px;min-width:56px;text-align:center}
.strip .hot{background:#3a2457}.strip .res{background:var(--ok);color:#052;border-color:var(--ok)}
.cells{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.cells span{font-size:44px;text-align:center;background:var(--p);border-radius:14px;padding:12px}.cells .res{background:#0b3a2c}
.grid{display:grid;grid-template-columns:repeat(var(--n),1fr);gap:6px;max-width:340px;margin:auto}.grid button{aspect-ratio:1;padding:0;font-weight:700}.grid .on{background:#3a2457;border-color:var(--rose)}
#toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,40px);background:var(--gold);padding:10px 20px;border-radius:99px;opacity:0;transition:.3s;z-index:99;pointer-events:none}#toast.on{opacity:1;transform:translate(-50%,0)}
footer{padding:6vh 4vw;text-align:center;color:var(--mut);font-size:13px}
/* админка */
table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:8px 6px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}th{color:var(--mut);font-weight:400}
td input{width:90px;padding:6px 8px}.scroll{overflow-x:auto}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.stat{background:var(--p);border-radius:16px;padding:14px}.stat b{display:block;font-size:26px}
.form{display:flex;gap:8px;flex-wrap:wrap;align-items:end}.form label{display:grid;gap:3px;font-size:12px;color:var(--mut)}.form input,.form select{width:130px}
.dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#555}.dot.on{background:var(--ok)}
.pos{color:var(--ok)}.neg{color:var(--gold)}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
