
:root{--bg:#0d0d0d;--panel:#171717;--panel2:#202020;--text:#f6f6f6;--muted:#a7a7a7;--line:#343434;--green:#98e47a;--blue:#45dce8;--yellow:#f2cf45;--danger:#8b3d3d;--white:#fff}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}a{color:inherit}.hidden{display:none!important}
.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 15px;background:rgba(8,8,8,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}
.brand{font-weight:1000;letter-spacing:.055em}.brand a{text-decoration:none}.top-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.muted{color:var(--muted)}
.page{max-width:1280px;margin:0 auto;padding:20px 16px 60px}.page-narrow{max-width:920px}.section{margin:26px 0}.section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}.section-title h1,.section-title h2{margin:0}.eyebrow{font-size:12px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.btn{border:0;border-radius:11px;padding:11px 14px;font-weight:900;cursor:pointer;background:#333;color:white}.btn.primary{background:var(--blue);color:#071416}.btn.green{background:var(--green);color:#0a1408}.btn.yellow{background:var(--yellow);color:#171300}.btn.danger{background:var(--danger);color:white}.btn.ghost{background:transparent;border:1px solid var(--line)}.btn.small{padding:7px 9px;font-size:12px}.btn:disabled{opacity:.42;cursor:not-allowed}
.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:15px}.grid{display:grid;gap:14px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:12px;font-weight:900;color:#cfcfcf}.input,.select,.textarea{width:100%;border:1px solid #444;border-radius:10px;background:#0f0f0f;color:white;padding:10px 11px;outline:none}.textarea{min-height:92px;resize:vertical}.input:focus,.select:focus,.textarea:focus{border-color:var(--blue)}
.pill{display:inline-flex;align-items:center;border:1px solid #444;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:900;letter-spacing:.035em}.pill.green{color:var(--green);border-color:rgba(152,228,122,.5)}.pill.blue{color:var(--blue);border-color:rgba(69,220,232,.5)}.pill.yellow{color:var(--yellow);border-color:rgba(242,207,69,.5)}.pill.used{color:#ffaaaa}.pill.available{color:#ddd}
.team-green{--team:var(--green)}.team-blue{--team:var(--blue)}.team-yellow{--team:var(--yellow)}
.team-accent{color:var(--team)}
/* landing */
.landing-shell{min-height:100svh;padding:16px;display:flex;flex-direction:column;gap:14px}.landing-title{text-align:center;padding:20px 10px 8px}.landing-title h1{margin:0;font-size:clamp(32px,8vw,72px);letter-spacing:.05em}.landing-title p{margin:8px 0 0;color:var(--muted)}.landing-grid{flex:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:1100px;width:100%;margin:0 auto 18px}.landing-tile{min-height:190px;border-radius:22px;text-decoration:none;padding:22px;display:flex;flex-direction:column;justify-content:flex-end;border:1px solid rgba(255,255,255,.14);overflow:hidden;position:relative}.landing-tile h2{margin:0;font-size:clamp(28px,5vw,56px);line-height:.95;text-transform:uppercase}.landing-tile p{margin:8px 0 0;max-width:520px}.landing-challenges{background:var(--green);color:#050505}.landing-tasks{background:var(--yellow);color:#050505}.landing-players{background:#161616;border-color:#3e3e3e}.landing-scores{background:#f3f3f3;color:#080808}.landing-power{background:#000;color:var(--blue);border-color:#244a4d}.landing-ref{background:#161616;color:#fff}.landing-tile:hover{filter:brightness(1.04)}
/* challenges */
.view-toggle{display:flex;border:1px solid var(--line);border-radius:10px;overflow:hidden}.view-toggle button{border:0;background:#151515;color:#aaa;padding:8px 10px;font-weight:900}.view-toggle button.active{background:#363636;color:#fff}.challenge-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.challenge-item{background:#151515;border:1px solid #2d2d2d;border-radius:14px;padding:7px;cursor:pointer;position:relative}.challenge-item img{display:block;width:100%;border-radius:9px}.challenge-meta{display:none}.challenge-completions{display:flex;gap:5px;flex-wrap:wrap;padding:8px 3px 2px}.challenge-completions .pill{padding:4px 6px}.challenge-grid.list-mode{grid-template-columns:1fr;max-width:820px;margin:auto}.challenge-grid.list-mode .challenge-item{display:flex;align-items:center;gap:10px;padding:11px 13px}.challenge-grid.list-mode .challenge-item img{display:none}.challenge-grid.list-mode .challenge-meta{display:flex;flex:1;flex-direction:column;gap:3px}.challenge-grid.list-mode .challenge-completions{padding:0;justify-content:flex-end}.challenge-title{font-weight:900}.challenge-default{font-size:12px;color:var(--muted)}
.viewer{position:fixed;inset:0;z-index:100;display:none;background:rgba(0,0,0,.96)}.viewer.open{display:block}.viewer-bar{height:52px;position:absolute;left:0;right:0;top:0;display:flex;align-items:center;justify-content:space-between;padding:0 12px 0 16px;background:#090909;border-bottom:1px solid #333}.viewer-stage{position:absolute;inset:52px 0 66px;display:flex;align-items:center;justify-content:center;padding:8px 58px}.viewer-stage img{max-width:min(95vw,720px);max-height:100%;object-fit:contain;border-radius:10px}.viewer-close,.nav-arrow{border:0;background:#333;color:#fff;cursor:pointer}.viewer-close{width:38px;height:38px;border-radius:50%;font-size:23px}.nav-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:44px;height:54px;border-radius:12px;font-size:30px}.nav-arrow.left{left:7px}.nav-arrow.right{right:7px}.viewer-foot{position:absolute;left:0;right:0;bottom:0;min-height:66px;padding:9px 15px;background:#0c0c0c;border-top:1px solid #333;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.viewer-title{font-weight:900;margin-right:auto}
/* players */
.player-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.player-tile{background:#151515;border:1px solid #303030;border-radius:16px;overflow:hidden;cursor:pointer}.player-tile img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center}.player-tile-body{padding:12px}.player-name{font-weight:1000;font-size:20px}.player-stats{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.profile-modal{position:fixed;inset:0;z-index:100;display:none;background:rgba(0,0,0,.96);overflow:auto;padding:60px 14px 30px}.profile-modal.open{display:block}.profile-box{max-width:1060px;margin:0 auto;display:grid;grid-template-columns:minmax(260px,460px) 1fr;gap:18px}.profile-box img{width:100%;border-radius:14px}.progress-list{display:flex;flex-direction:column;gap:7px}.progress-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;border-radius:9px;background:#151515;border:1px solid #2e2e2e}.profile-close{position:fixed;top:10px;right:12px;z-index:101}
/* scoreboards */
.score-mode{text-align:center;padding:10px;border:1px solid #333;border-radius:12px;background:#151515;margin-bottom:16px}.score-table{width:100%;border-collapse:collapse;background:#151515;border-radius:14px;overflow:hidden}.score-table th,.score-table td{padding:11px 10px;border-bottom:1px solid #2d2d2d;text-align:left}.score-table th{color:#aaa;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.score-table tr:last-child td{border-bottom:0}.score-rank{font-weight:1000;font-size:20px}.avatar{width:42px;height:54px;object-fit:cover;border-radius:6px;vertical-align:middle;margin-right:9px}.score-big{font-weight:1000;font-size:19px}
/* tasks */
.task-list{display:flex;flex-direction:column;gap:14px}.task-public{border-left:5px solid var(--yellow)}.task-statuses{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.answer-box{margin-top:14px;padding:13px;background:#101010;border:1px solid #333;border-radius:12px}.answer-team-row{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:10px}.answer-team-row button.active{outline:3px solid white}.answer-result{margin-top:9px;font-weight:900}.answer-result.correct{color:var(--green)}.answer-result.wrong{color:#ff9c9c}
/* ref */
.ref-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px;position:sticky;top:57px;z-index:20;background:var(--bg);padding:9px 0}.ref-tabs button.active{background:var(--blue);color:#071416}.ref-panel{display:none}.ref-panel.active{display:block}.ref-head{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}.clock-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.clock-card{background:#151515;border:1px solid #333;border-top:5px solid var(--team);border-radius:16px;padding:14px}.clock-time{font-variant-numeric:tabular-nums;font-size:clamp(27px,5vw,44px);font-weight:1000;letter-spacing:.02em}.clock-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.ref-table-wrap{overflow:auto}.ref-table{width:100%;border-collapse:collapse;min-width:720px}.ref-table th,.ref-table td{padding:8px;border-bottom:1px solid #303030;text-align:left}.ref-table th{font-size:11px;text-transform:uppercase;color:#aaa}.task-admin{margin-bottom:14px}.task-admin summary{cursor:pointer;font-weight:900}.task-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.task-result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:12px}.task-result-team{padding:10px;border:1px solid #333;border-radius:10px}.history{display:flex;flex-direction:column;gap:6px}.history-row{padding:9px 10px;background:#151515;border:1px solid #2f2f2f;border-radius:9px}.history-row small{color:#999}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
/* powerups */
.power-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.metric{padding:13px;background:#151515;border:1px solid #333;border-radius:12px}.metric span{font-size:11px;color:#aaa;text-transform:uppercase}.metric strong{display:block;font-size:22px;margin-top:4px}.draw-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.power-card{background:#151515;border:1px solid #333;border-radius:12px;padding:7px}.power-card img{width:100%;border-radius:8px;display:block}.power-card .btn{width:100%;margin-top:7px}.power-team-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.power-team{border-top:4px solid var(--team)}.power-mini{display:grid;grid-template-columns:90px 1fr;gap:9px;padding:8px;border:1px solid #333;border-radius:10px;margin-top:8px}.power-mini img{width:90px;border-radius:7px}.power-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.power-all{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.power-all-item{position:relative}.power-all-item img{width:100%;border-radius:9px}.power-badge{position:absolute;left:10px;right:10px;bottom:10px;background:rgba(0,0,0,.84);padding:6px;border-radius:7px;text-align:center;font-size:11px;font-weight:900}
/* auth */
.auth-gate{position:fixed;inset:0;z-index:200;background:#090909;display:flex;align-items:center;justify-content:center;padding:18px}.auth-box{width:min(92vw,390px);background:#171717;border:1px solid #3a3a3a;border-radius:18px;padding:23px;text-align:center}.auth-box h2{margin:0 0 7px}.auth-box .input{font-size:22px;text-align:center;letter-spacing:.16em}.auth-box .btn{width:100%;margin-top:10px}.auth-error{min-height:20px;color:#ff9999;margin-top:8px;font-size:13px}
.modal{position:fixed;inset:0;z-index:120;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.94);padding:14px}.modal.open{display:flex}.modal img{max-width:96vw;max-height:94svh;object-fit:contain;border-radius:10px}.modal-close{position:absolute;top:10px;right:12px;width:42px;height:42px;border:0;border-radius:50%;background:#333;color:white;font-size:24px}
.toast{position:fixed;bottom:14px;left:50%;transform:translateX(-50%);z-index:250;background:#222;border:1px solid #444;border-radius:999px;padding:9px 13px;font-size:13px;display:none}.toast.show{display:block}
@media(max-width:980px){.challenge-grid,.player-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.draw-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.power-all{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-box{grid-template-columns:360px 1fr}.clock-grid,.power-team-board{grid-template-columns:1fr}.landing-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.landing-grid{grid-template-columns:1fr}.landing-tile{min-height:145px}.challenge-grid,.player-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.page{padding:14px 10px 44px}.topbar{padding:9px 10px}.brand{font-size:13px}.profile-box{grid-template-columns:1fr}.profile-box img{max-width:480px;margin:auto}.grid-2,.grid-3,.grid-4,.form-row,.settings-grid,.task-admin-grid,.task-result-grid{grid-template-columns:1fr}.score-table th,.score-table td{padding:8px 6px;font-size:13px}.avatar{width:34px;height:45px;margin-right:5px}.draw-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.power-all{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.power-summary{grid-template-columns:1fr 1fr}.viewer-stage{padding:8px}.nav-arrow{background:rgba(20,20,20,.58)}.challenge-grid.list-mode .challenge-completions{display:none}.ref-tabs{top:49px}}
