.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#0e0e0e}.auth-card{background:#151515;padding:40px;border-radius:12px;width:320px;display:flex;flex-direction:column;gap:12px}.auth-card input{padding:12px;border-radius:6px;border:none;background:#222;color:#fff}.auth-card button{padding:12px;background:#7613ff;border:none;border-radius:6px;color:#fff;font-weight:700;cursor:pointer}.auth-card p{color:#aaa;text-align:center;cursor:pointer;transition:transform .25s ease}.auth-card p:hover{transform:scale(1.05)}.auth-error{background:#3a0000;color:#ff6b6b;padding:8px;border-radius:6px;text-align:center}.app-header{position:fixed;top:0;left:0;right:0;height:60px;padding:0 30px;display:flex;align-items:center;justify-content:space-between;background:#1a1a1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 1px 50px #0006;z-index:1000}.header-left{flex:1}.header-user{font-weight:600;color:#fff;font-size:1.1rem;font-weight:700}.header-center{flex:1;text-align:center}.header-center h2{margin:0;font-size:1.8rem;font-weight:800;letter-spacing:2px;background:#fff;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 20px rgba(255,255,255,.2)}.header-right{flex:1;display:flex;justify-content:flex-end}.logout-btn{background:#242424;border:1px solid #242424;border-radius:10px;padding:8px 16px;color:#fff;font-weight:700;cursor:pointer;transition:all .25s ease}.logout-btn:hover{border:1px solid #7c3aed}.logout-btn:active{transform:scale(.96)}.stats-btn{background:#242424;border:1px solid #242424;border-radius:10px;margin-right:10px;padding:8px 16px;color:#fff;font-weight:700;cursor:pointer;transition:all .25s ease}.stats-btn:hover{border:1px solid #7c3aed}.stats-btn:active{transform:scale(.96)}.layout{width:100%;max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;gap:40px;align-items:start}.title{width:100%;text-align:center}.wheel-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:0;width:100%}.wheel-placeholder{width:300px;height:300px;border-radius:50%;border:3px dashed #999;display:flex;align-items:center;justify-content:center;color:#999}.wheel-group{transform-origin:150px 150px;transition:transform 5s cubic-bezier(.33,1,.68,1)}.character-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;justify-items:center;margin-left:50px;margin-right:auto;height:0}.character-card{padding:20px;border-radius:12px;border:1px solid transparent;background:#1a1a1a;color:#fff;font-weight:700;font-size:1.2em;cursor:pointer;width:140px;height:140px;transition:border-color .2s}button:focus{outline:none}.character-card.in-wheel{opacity:.8;box-shadow:inset 0 0 0 2px #7613ff}.character-card.in-history{opacity:.8;cursor:not-allowed;border:0;color:#444}.character-card:hover{border-color:#7613ff}.winner-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.winner-modal{background:#111;color:#fff;padding:60px;border-radius:16px;width:300px;text-align:center;animation:popIn .3s ease-out}.winner-name{margin:20px 0;padding:15px;border-radius:12px;font-size:1.4rem;font-weight:700;height:300px}.winner-image{width:30px;height:30px;object-fit:cover;border-radius:50%;margin-bottom:4px}.winner-actions{display:flex;gap:10px;justify-content:center}.remove-btn{background:#e53935;border:none;padding:10px 16px;border-radius:8px;color:#fff;cursor:pointer}.close-btn{background:#444;border:none;padding:10px 16px;border-radius:8px;color:#fff;cursor:pointer}@keyframes popIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.winner-history{gap:10px;margin-top:0;margin-left:auto;margin-right:50px;justify-content:center;display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.winner-slot{width:200px;height:200px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;background:#1a1a1a;overflow:hidden;border:2px solid #1a1a1a;transition:border .25s}.winner-slot:hover{border:2px solid #7613ff}.winner-image-full{width:100%;height:100%;object-fit:cover}.wheel-center{display:flex;flex-direction:column;align-items:center;gap:20px;margin-left:auto;margin-right:auto}.wheel-svg{border-radius:50%;background:#f5f5f5}.main-layout{display:grid;grid-template-columns:repeat(3,1fr);margin:0;padding:0;width:100%}.spin-btn{padding:14px 34px;font-size:1.5rem;font-weight:900;color:#fff;background:#7c3aed;border-radius:14px;border:1px solid rgba(124,58,237,.45);cursor:pointer;letter-spacing:.5px;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.spin-btn:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.08)}.spin-btn:active:not(:disabled){transform:translateY(0) scale(.97)}.spin-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.reset-btn{padding:14px 22px;font-size:1.2rem;font-weight:900;color:#ffffffe6;background:#ffffff0f;border-radius:14px;border:1px solid rgba(255,255,255,.18);cursor:pointer;letter-spacing:.4px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,filter .18s ease}.reset-btn:hover:not(:disabled){transform:translateY(-2px);border-color:#ef4444a6;filter:brightness(1.05)}.reset-btn:active:not(:disabled){transform:translateY(0) scale(.97)}.reset-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.reset-overlay{position:fixed;inset:0;z-index:2500;display:flex;align-items:center;justify-content:center;background:#000000a6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.reset-panel{width:520px;max-width:92vw;background:#0a0a0feb;border:1px solid rgba(124,58,237,.35);border-radius:20px;padding:22px 24px;box-shadow:0 30px 80px #000000d9,0 0 40px #7c3aed2e;animation:resetPop .2s ease-out}.reset-panel h2{margin:0 0 10px;font-size:1.5rem;font-weight:900;background:#7c3aed;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.reset-panel p{margin:0 0 18px;color:#ffffffbf;font-weight:600;line-height:1.4}.reset-actions{display:flex;gap:12px;justify-content:flex-end}.reset-ok{padding:10px 16px;border-radius:12px;border:none;font-weight:900;color:#fff;cursor:pointer;background:#7c3aed;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.reset-ok:hover{transform:translateY(-1px);filter:brightness(1.06)}.reset-ok:active{transform:scale(.97)}.reset-cancel{padding:10px 16px;border-radius:12px;background:#ffffff14;border:1px solid rgba(255,255,255,.14);color:#fff;font-weight:900;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.reset-cancel:hover{transform:translateY(-1px);border-color:#ffffff38;background:#ffffff1a}.reset-cancel:active{transform:scale(.97)}@keyframes resetPop{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.stats-overlay{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;background:#000000a6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.stats-panel{width:900px;max-width:95vw;max-height:85vh;background:#0a0a0feb;border:1px solid rgba(124,58,237,.35);border-radius:20px;padding:24px 28px;box-shadow:0 30px 80px #000c,0 0 40px #7c3aed40;overflow-y:auto;animation:statsPop .25s ease-out}.stats-panel h3{margin:10px 0 12px;font-size:1.25rem;font-weight:800;letter-spacing:.6px;background:#fff;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.stats-list{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.stats-row{display:grid;grid-template-columns:44px 36px 1fr 44px;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.stats-row:hover{transform:translateY(-1px);border-color:#7c3aed59;box-shadow:0 8px 18px #7c3aed2e}.rank{color:#ffffffa6;font-weight:800}.avatar{width:34px;height:34px;border-radius:10px;object-fit:cover;border:1px solid rgba(255,255,255,.12);box-shadow:0 6px 16px #00000073}.name{color:#ffffffe6;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wins{justify-self:end;font-weight:900;color:#fff;background:#7c3aed2e;border:1px solid rgba(124,58,237,.35);padding:4px 10px;border-radius:999px}.recent-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.recent-item{width:100%;aspect-ratio:1 / 1;border-radius:12px;overflow:hidden;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);transition:transform .18s ease,border-color .18s ease}.recent-item:hover{transform:translateY(-1px);border-color:#a855f759}.recent-item img{width:100%;height:100%;object-fit:cover;display:block}.stats-panel--loading{display:flex;align-items:center;justify-content:center;min-height:420px}.stats-loading{display:flex;flex-direction:column;align-items:center;gap:12px}.loading-text{color:#ffffffbf;font-weight:700;letter-spacing:.4px}.spinner{width:54px;height:54px;border-radius:50%;border:4px solid rgba(255,255,255,.12);border-top-color:#7c3aedf2;box-shadow:0 0 16px #7c3aed59;animation:spin .85s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.stats-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.stats-header-row h3{margin:0}.stats-top{margin-bottom:14px;display:flex;justify-content:flex-end}.stats-chip{padding:8px 12px;border-radius:999px;background:#7c3aed24;border:1px solid rgba(124,58,237,.35);color:#ffffffe6;font-weight:800}.stats-chip span{color:#fff;margin-left:6px}.right-metrics{justify-self:end;display:flex;align-items:center;gap:10px}.pct{font-weight:900;color:#ffffffe6;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);padding:4px 10px;border-radius:999px}.stats-panel{overflow-y:auto;scrollbar-width:none;scroll-behavior:smooth}.stats-panel::-webkit-scrollbar{display:none}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#7613ff}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#7613ff}}
