
:root{--bg:#050505;--panel:#0b0b0b;--panel2:#101010;--text:#f5f5f5;--muted:#818181;--line:#242424;--soft:#151515;--danger:#ff5e5e}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:#050505;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-2;background:radial-gradient(circle at 50% -12%,#272727 0,#0d0d0d 26%,#050505 60%)}
body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:20;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E");mix-blend-mode:screen}
.shell{width:min(1080px,calc(100% - 32px));margin:auto}.nav{height:72px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.055)}.brand{font-weight:900;letter-spacing:-.05em;font-size:19px}.brand span{color:#777}.nav a{color:#8d8d8d;text-decoration:none;font-size:13px;transition:.2s}.nav a:hover{color:white}
.hero{text-align:center;padding:86px 0 48px;animation:rise .7s cubic-bezier(.2,.8,.2,1) both}.eyebrow{color:#aaa;font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase}.hero h1{font-size:clamp(46px,8vw,84px);line-height:.92;letter-spacing:-.07em;margin:17px auto 19px;max-width:860px;background:linear-gradient(100deg,#777 0,#fff 25%,#fff 55%,#777 75%,#fff 100%);background-size:240% auto;color:transparent;background-clip:text;-webkit-background-clip:text;animation:glint 6s linear infinite}.hero p{color:#838383;max-width:510px;margin:auto;font-size:15px;line-height:1.65}
.card{position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(17,17,17,.94),rgba(8,8,8,.96));border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 90px rgba(0,0,0,.5);padding:23px;backdrop-filter:blur(16px);animation:rise .65s .06s cubic-bezier(.2,.8,.2,1) both}
.card:before{content:"";position:absolute;left:-30%;top:-1px;width:35%;height:1px;background:linear-gradient(90deg,transparent,#fff,transparent);opacity:.55;animation:edgeglint 7s ease-in-out infinite}
.auth{max-width:610px;margin:0 auto 80px}.label{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:#777;font-weight:800;margin-bottom:9px}.row{display:flex;gap:9px}.input{width:100%;border:1px solid #252525;background:#080808;color:white;border-radius:11px;padding:13px 14px;outline:none;transition:.22s;font:inherit}.input:focus{border-color:#5b5b5b;box-shadow:0 0 0 4px rgba(255,255,255,.045)}
.btn{border:1px solid #e8e8e8;border-radius:11px;padding:13px 17px;background:#f2f2f2;color:#080808;font-weight:850;cursor:pointer;transition:transform .18s ease,background .18s,box-shadow .18s;white-space:nowrap}.btn:hover{transform:translateY(-2px);background:white;box-shadow:0 10px 34px rgba(255,255,255,.09)}.btn:active{transform:scale(.975)}.btn.dark{background:#101010;color:#ddd;border-color:#2c2c2c}.btn.danger{background:#150909;color:#ff7c7c;border-color:#482020}.btn.sm{padding:8px 11px;font-size:12px;border-radius:8px}
.msg{min-height:20px;margin-top:11px;color:#777;font-size:12px}.msg.bad{color:var(--danger)}
.vote{display:none;margin-bottom:80px}.vote.show{display:block;animation:rise .45s ease both}.grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.section-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:13px}.section-title h2{margin:0;font-size:19px;letter-spacing:-.035em}.section-title span{color:#6e6e6e;font-size:12px}
.players{display:grid;grid-template-columns:1fr 1fr;gap:8px}.player,.rank-item{border:1px solid #242424;background:#0d0d0d;border-radius:11px;padding:12px 13px;cursor:pointer;transition:transform .18s cubic-bezier(.2,.8,.2,1),border-color .18s,background .18s,opacity .18s;user-select:none}.player:hover{border-color:#4b4b4b;transform:translateY(-2px);background:#131313}.player.selected{opacity:.22;pointer-events:none;transform:scale(.97)}
.rank-list{display:flex;flex-direction:column;gap:7px;min-height:525px}.rank-item{display:flex;align-items:center;gap:11px;cursor:grab;position:relative}.rank-item:hover{border-color:#444;transform:translateX(3px)}.rank-item:active{cursor:grabbing}.rank-item.dragging{opacity:.55;transform:scale(1.025) rotate(.5deg);border-color:#777;box-shadow:0 18px 40px rgba(0,0,0,.55);z-index:10}.rank-item.drop-target{transform:translateY(5px);border-color:#777}.num{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;background:#1c1c1c;color:#d8d8d8;font-size:11px;font-weight:900}.remove{margin-left:auto;color:#666;border:0;background:none;cursor:pointer;font-size:18px;transition:.15s}.remove:hover{color:white;transform:scale(1.15)}.submit{width:100%;margin-top:13px}
.results{padding:15px 0 90px}.result-row{display:grid;grid-template-columns:48px 1fr 100px 90px;align-items:center;border-bottom:1px solid #1c1c1c;padding:14px 4px;transition:.2s}.result-row:hover{background:#0e0e0e;padding-left:9px;padding-right:9px}.result-row:last-child{border-bottom:0}.rank{font-weight:900;color:#bbb}.small{font-size:11px;color:#737373}
.admin-wrap{max-width:1000px;margin:64px auto}.admin-head{margin-bottom:25px}.admin-head h1{font-size:43px;letter-spacing:-.055em;margin:8px 0}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-top:17px}.keys,.logs{margin-top:16px;max-height:440px;overflow:auto}.key{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;padding:10px;border-bottom:1px solid #1e1e1e;display:flex;justify-content:space-between;gap:12px}.used{color:#666}
.log-head,.log-row{display:grid;grid-template-columns:1fr 1.7fr 105px;gap:12px;align-items:center}.log-head{padding:0 10px 9px;color:#666;font-size:9px;font-weight:800;letter-spacing:.12em}.log-row{padding:10px;border-top:1px solid #1d1d1d;font-size:11px}.log-key{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#777;overflow:hidden;text-overflow:ellipsis}.log-actions{display:flex;gap:6px}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(10px);display:none;align-items:center;justify-content:center;padding:20px;z-index:50}.modal.show{display:flex;animation:fade .18s ease}.modal-card{width:min(560px,100%);background:#0b0b0b;border:1px solid #303030;border-radius:18px;padding:24px;box-shadow:0 30px 100px #000;animation:pop .24s cubic-bezier(.2,.8,.2,1)}.modal-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.modal-top h2{margin:0}.close{border:0;background:none;color:#777;font-size:24px;cursor:pointer}.vote-list{display:flex;flex-direction:column;gap:7px}.vote-list div{display:flex;gap:12px;align-items:center;padding:11px;background:#101010;border:1px solid #202020;border-radius:10px}
@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes fade{from{opacity:0}to{opacity:1}}@keyframes pop{from{opacity:0;transform:scale(.97) translateY(8px)}to{opacity:1;transform:none}}@keyframes glint{0%{background-position:200% center}100%{background-position:-40% center}}@keyframes edgeglint{0%,70%{left:-35%;opacity:0}78%{opacity:.6}100%{left:110%;opacity:0}}
@media(max-width:780px){.hero{padding-top:54px}.grid,.admin-grid{grid-template-columns:1fr}.players{grid-template-columns:1fr}.row{flex-direction:column}.result-row{grid-template-columns:38px 1fr 70px}.result-row .hide-mobile{display:none}.log-head,.log-row{grid-template-columns:1fr 1fr}.log-head span:nth-child(2),.log-key{display:none}}
