.brand-logo{width:56px;height:56px;object-fit:cover;border-radius:50%;filter:drop-shadow(0 0 12px #fff5)}
.avatar{width:112px;height:112px;border-radius:50%;clip-path:none;background:#000;box-shadow:0 0 48px #ffffff28}.avatar img{width:112px;height:112px;object-fit:cover;border-radius:50%;border:1px solid #ffffff35}.avatar i{right:5px;bottom:9px;border-color:#111}
.roulette-brand{display:flex;align-items:center;gap:13px}.roulette-brand img{width:72px;height:72px;border-radius:50%;object-fit:cover;filter:drop-shadow(0 0 16px #fff7)}
.slot.spinning,.mini.spinning{border-color:#f27b22;box-shadow:inset 0 0 24px #0009,0 0 14px #f27b2240}.slot.spinning .reel,.mini.spinning .mini-reel{animation:reel-pulse .12s linear infinite}.mini-reel{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}.empty-slot{font:10px Arial;color:#687074;letter-spacing:.15em}@keyframes reel-pulse{50%{transform:translateY(3px);filter:blur(.6px);opacity:.7}}
.twitch-bar{min-height:62px;margin:0 10px 10px;padding:10px 13px;display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;background:linear-gradient(90deg,#21183c,#151920);border:1px solid #684bb0}.twitch-badge{width:38px;height:38px;display:grid;place-items:center;background:#9147ff;color:#fff;font:800 13px Arial}.twitch-bar strong,.twitch-bar span{display:block;font-family:Arial}.twitch-bar strong{font-size:11px;letter-spacing:.12em}.twitch-bar span{font-size:9px;color:#a8a1b5;margin-top:4px}.twitch-bar>a{padding:10px 13px;background:#9147ff;color:#fff;font:700 9px Arial;letter-spacing:.1em}.twitch-bar>a:not([href]){opacity:.45;cursor:not-allowed}.twitch-bar span a{display:inline;color:#bda1ee;text-decoration:underline}.twitch-bar.connected{border-color:#8d6dd3}.twitch-bar.connected .twitch-badge{box-shadow:0 0 15px #9147ff88}
.class-library .class-row{height:auto;min-height:62px;margin:0 0 7px;padding:10px 12px;display:grid;grid-template-rows:auto auto;align-content:center;gap:5px;overflow:hidden;clip-path:none}.class-library .class-row span{display:block;margin:0;font:700 14px/1.15 Arial,sans-serif;letter-spacing:.04em;color:#f0f0ed;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.class-library .class-row small{display:block;margin:0;font:700 8px/1.2 Arial,sans-serif;letter-spacing:.08em;color:#858b8d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.class-library .class-row.active span{color:#111;text-shadow:none}.class-library .class-row.active small{color:#48210b}
.class-name b{font:inherit;letter-spacing:inherit}.bo2-c0{color:#111}.bo2-c1{color:#f04444}.bo2-c2{color:#53d769}.bo2-c3{color:#ffe052}.bo2-c4{color:#5aa6ff}.bo2-c5{color:#4ee8e8}.bo2-c6{color:#f36fc5}.bo2-c7{color:#f0f0ed}.bo2-c8{color:#9da3a5}.bo2-c9{color:#ff8a2b}.class-row.active .bo2-c0{color:#111}.class-row.active .bo2-c1{color:#8d1010}.class-row.active .bo2-c2{color:#145b24}.class-row.active .bo2-c3{color:#725600}.class-row.active .bo2-c4{color:#123f7c}.class-row.active .bo2-c5{color:#0c5555}.class-row.active .bo2-c6{color:#762558}.class-row.active .bo2-c7{color:#fff}.class-row.active .bo2-c8{color:#4f5557}.class-row.active .bo2-c9{color:#713100}
.controls button:disabled{opacity:.35;cursor:not-allowed}.library-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.library-head h2{margin:0 0 4px}.library-head small{font:9px Arial;color:#70777a}.library-head button{border:0;background:transparent;color:#777;font:9px Arial;letter-spacing:.12em;cursor:pointer}.class-library{max-height:480px;overflow-y:auto;padding-right:4px}.class-library::-webkit-scrollbar{width:4px}.class-library::-webkit-scrollbar-thumb{background:#4e5558}.class-row{width:100%;display:flex;flex-direction:column;justify-content:center;text-align:left;color:#ddd;font-family:inherit;cursor:pointer}.class-row span{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.class-row small{font:8px Arial;color:#777;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.class-row.active small{color:#3a1d0d}.library-empty{border:1px dashed #343a3d;color:#596063;text-align:center;padding:30px 8px;font:10px/1.7 Arial;letter-spacing:.14em}.library-tip{font:9px Arial;color:#747b7d;margin:10px 0 0}.class-menu{position:fixed;z-index:1000;width:170px;background:#101416;border:1px solid #687074;box-shadow:0 12px 35px #000;padding:5px}.class-menu button{display:block;width:100%;border:0;background:transparent;color:#ddd;text-align:left;padding:11px;font:10px Arial;letter-spacing:.1em;cursor:pointer}.class-menu button:hover{background:#f27b22;color:#111}
@media(max-width:850px){.roulette-brand img{width:58px;height:58px}.class-library{max-height:190px}}@media(max-width:650px){.twitch-bar{grid-template-columns:38px 1fr}.twitch-bar>a{grid-column:1/-1;text-align:center}}
.twitch-connect-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,#30204d,#080a0c 62%);font-family:Arial,sans-serif}.twitch-connect-card{width:min(460px,calc(100% - 32px));padding:36px;text-align:center;background:#11151a;border:1px solid #684bb0;box-shadow:0 30px 80px #000}.twitch-connect-card img{width:90px;height:90px;border-radius:50%;object-fit:cover;filter:drop-shadow(0 0 18px #fff5)}.twitch-connect-card>span{display:block;margin-top:20px;color:#b7accd;font-size:10px;font-weight:700;letter-spacing:.16em}.twitch-connect-card h1{margin:16px 0;color:#fff;font-size:54px;letter-spacing:.1em}.twitch-connect-card p{color:#a6aab0;font-size:13px;line-height:1.7}.twitch-connect-card a{display:block;margin-top:22px;padding:14px;background:#9147ff;color:#fff;font-size:11px;font-weight:700;letter-spacing:.1em;text-decoration:none}.twitch-connect-card small{display:block;margin-top:22px;color:#8c849a;font-size:9px;letter-spacing:.1em}.twitch-connect-card .cancel{display:inline-block;margin-top:18px;padding:0;background:none;color:#777}
.twitch-connect-card .data-note{font-size:10px;color:#777}.twitch-connect-card .data-note a{display:inline;margin:0;padding:0;background:none;color:#bda1ee;text-decoration:underline}.privacy-card{text-align:left}.privacy-card>img{display:block;margin:auto}.privacy-card>span,.privacy-card h2{text-align:center}.privacy-card h2{font:700 28px Arial;margin:14px 0}.privacy-card ul{color:#d7d7d4;font-size:12px;line-height:2}.privacy-card form button{width:100%;margin-top:15px;padding:13px;background:#b53535;border:0;color:#fff;font-weight:700;cursor:pointer}.privacy-success{margin:15px 0;padding:12px;background:#173d27;color:#7ee49d;text-align:center;font-size:10px;font-weight:700}
