html,body,#root{width:100%;min-height:100%;margin:0}body{min-width:320px}:root{--bg:#050505;--bg-2:#0c0c0f;--panel:#ffffff0f;--panel-strong:#ffffff17;--border:#ffffff1a;--text:#f7f7f7;--muted:#b8b8bf;--red:#e53935;--red-2:#ff4c43;--red-soft:#e539352e;--white:#fff;--shadow:0 20px 60px #00000059}*{box-sizing:border-box}body{color:var(--text);background:radial-gradient(circle at 0 0,#e539352e,#0000 30%),radial-gradient(circle at 100% 0,#ffffff0d,#0000 18%),linear-gradient(#040404 0%,#101014 100%);margin:0;font-family:Arial,Helvetica,sans-serif}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh}.page-wrap{max-width:1580px;margin:0 auto;padding:28px 20px 40px}.hero{grid-template-columns:1fr 320px;align-items:stretch;gap:20px;margin-bottom:20px;display:grid}.hero-left{border:1px solid var(--border);box-shadow:var(--shadow);background:linear-gradient(#ffffff0f,#ffffff08);border-radius:24px;align-items:center;gap:20px;padding:20px;display:flex}.logo-wrap{background:radial-gradient(circle,#e5393524,#ffffff08);border-radius:20px;flex:0 0 300px;justify-content:center;align-items:center;max-width:300px;min-height:180px;padding:12px;display:flex}.logo-wrap img{object-fit:contain;width:100%;height:auto;display:block}.hero-copy .eyebrow{letter-spacing:.22em;color:#ff9b95;margin-bottom:10px;font-size:12px;font-weight:700}.hero-copy h1{margin:0 0 12px;font-size:42px;line-height:1.06}.hero-copy p{color:var(--muted);max-width:760px;margin:0;font-size:17px;line-height:1.5}.hero-stats{gap:14px;display:grid}.stat-card{border:1px solid var(--border);box-shadow:var(--shadow);background:linear-gradient(#ffffff14,#ffffff0a);border-radius:20px;padding:18px}.stat-card span{color:var(--muted);margin-bottom:8px;font-size:14px;display:block}.stat-card strong{color:var(--white);font-size:28px}.top-nav{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.top-nav button{color:var(--text);border:1px solid var(--border);cursor:pointer;background:#ffffff0f;border-radius:14px;padding:12px 16px;transition:all .2s}.top-nav button:hover{background:#ffffff17;border-color:#ffffff38}.top-nav button.active{background:linear-gradient(90deg, var(--red), var(--red-2));color:#fff;border-color:#0000;font-weight:700}.flash-message{background:var(--red-soft);color:#fff;border:1px solid #e5393566;border-radius:14px;margin-bottom:16px;padding:14px 16px}.content-grid{align-items:start;gap:18px;display:grid}.profile-grid{grid-template-columns:1.4fr .8fr}.vote-grid,.admin-grid{grid-template-columns:290px 1fr 320px}.results-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.panel{border:1px solid var(--border);box-shadow:var(--shadow);background:linear-gradient(#ffffff0f,#ffffff0a);border-radius:22px;padding:18px}.panel-head{margin-bottom:16px}.panel-head h2,.panel-head h3{margin:0 0 6px}.panel-head p{color:var(--muted);margin:0;line-height:1.45}.field{margin-bottom:14px}.field label{color:#fff;margin-bottom:7px;font-size:14px;font-weight:700;display:block}.field input,.field textarea,.field select,.search-input{color:#fff;background:#00000047;border:1px solid #ffffff24;border-radius:12px;outline:none;width:100%;padding:12px 13px}.field textarea{resize:vertical;min-height:96px}.field input:focus,.field textarea:focus,.field select:focus,.search-input:focus{border-color:#e539358c;box-shadow:0 0 0 3px #e5393529}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.summary-block{background:#ffffff0d;border:1px solid #ffffff14;border-radius:16px;margin-bottom:14px;padding:14px}.summary-title{letter-spacing:.08em;text-transform:uppercase;color:#ffb3af;margin-bottom:12px;font-size:13px;font-weight:700}.summary-line{border-bottom:1px solid #ffffff0f;justify-content:space-between;gap:12px;padding:8px 0;display:flex}.summary-line:last-child{border-bottom:none}.summary-line span{color:var(--muted)}.winner-inline,.live-winner{align-items:center;gap:12px;display:flex}.winner-inline p,.live-winner p{color:var(--muted);margin:4px 0 0}.link-btn{background:linear-gradient(90deg, var(--red), var(--red-2));color:#fff;border-radius:12px;justify-content:center;align-items:center;margin-top:8px;padding:11px 14px;font-weight:700;display:inline-flex}.player-list{flex-direction:column;gap:10px;display:flex}.player-card{text-align:left;color:#fff;cursor:pointer;background:#00000047;border:1px solid #ffffff1a;border-radius:14px;padding:13px;transition:all .2s}.player-card:hover{background:#ffffff12;border-color:#ffffff38}.player-card.active{background:#e5393529;border-color:#e53935b8}.player-card strong,.player-card span,.player-card small{display:block}.player-card span,.player-card small{color:var(--muted);margin-top:4px}.toolbar{align-items:center;gap:10px;margin-bottom:16px;display:flex}.toolbar-note{color:var(--muted);white-space:nowrap;font-size:14px}.pokemon-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;max-height:68vh;padding-right:4px;display:grid;overflow:auto}.admin-pokemon-grid{max-height:56vh}.pokemon-card{color:#fff;cursor:pointer;background:#00000038;border:1px solid #ffffff1a;border-radius:16px;padding:12px;transition:all .2s}.pokemon-card:hover{background:#ffffff14;border-color:#ffffff38;transform:translateY(-2px)}.pokemon-card.active{background:#e5393529;border-color:#e53935bf}.pokemon-meta{text-align:center;flex-direction:column;gap:4px;margin-top:10px;display:flex}.pokemon-meta span{color:var(--muted);font-size:13px}.pokemon-thumb{background:radial-gradient(circle,#e5393524,#ffffff08);border:1px solid #ffffff14;border-radius:14px;justify-content:center;align-items:center;width:100%;height:112px;display:flex;position:relative;overflow:hidden}.pokemon-thumb.small{flex:0 0 70px;width:70px;height:70px}.pokemon-thumb img{object-fit:contain;z-index:2;width:88%;height:88%}.pokemon-fallback{color:#ffffff73;z-index:1;justify-content:center;align-items:center;font-weight:700;display:flex;position:absolute;inset:0}.vote-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:18px;display:flex}.selected-box{background:#ffffff0d;border:1px solid #ffffff14;border-radius:14px;padding:12px 14px}.selected-box span{color:var(--muted);margin-bottom:4px;font-size:13px;display:block}.primary-btn,.danger-btn{color:#fff;cursor:pointer;border:none;border-radius:12px;padding:12px 16px;font-weight:700;transition:all .2s}.primary-btn{background:linear-gradient(90deg, var(--red), var(--red-2))}.primary-btn:hover{filter:brightness(1.05)}.danger-btn{background:#ffffff1a;margin-top:14px}.danger-btn:hover{background:#ffffff29}.ranking-list{flex-direction:column;gap:10px;margin-top:16px;display:flex}.ranking-item{background:#ffffff0d;border-radius:12px;padding:10px 12px}.ranking-top{justify-content:space-between;gap:12px;margin-bottom:8px;display:flex}.progress-bar-wrap{background:#ffffff14;border-radius:999px;width:100%;height:9px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg, var(--red), #ff8a80);height:100%}.result-card-top{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.result-card h3{margin:0 0 4px}.result-card p{color:var(--muted);margin:0}.mini-placeholder{background:#ffffff0d;border:1px solid #ffffff14;border-radius:14px;justify-content:center;align-items:center;width:70px;height:70px;display:flex}.top3{background:#ffffff0d;border-radius:14px;margin-top:14px;padding:12px}.top3-title{color:#ffb3af;margin-bottom:10px;font-weight:700}.top3-item{border-bottom:1px solid #ffffff0f;justify-content:space-between;gap:12px;padding:7px 0;display:flex}.top3-item:last-child{border-bottom:none}.admin-note-box{background:#ffffff0d;border-radius:14px;margin-top:14px;padding:12px}.admin-note-box p{color:var(--muted);margin-top:8px;line-height:1.45}.admin-top-grid{grid-template-columns:240px 1fr;gap:14px;margin-bottom:14px;display:grid}.muted{color:var(--muted)}@media (width<=1450px){.pokemon-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1180px){.hero,.vote-grid,.admin-grid,.profile-grid{grid-template-columns:1fr}.pokemon-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-height:none}}@media (width<=780px){.hero-left{flex-direction:column;align-items:flex-start}.logo-wrap{flex:initial;width:100%;max-width:100%}.hero-copy h1{font-size:32px}.form-grid,.admin-top-grid{grid-template-columns:1fr}.toolbar{flex-direction:column;align-items:stretch}.pokemon-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.results-grid{grid-template-columns:1fr}}@media (width<=520px){.pokemon-grid{grid-template-columns:1fr}.vote-footer{flex-direction:column;align-items:stretch}}.login-shell{justify-content:center;align-items:center;padding:24px;display:flex}.login-card{width:100%;max-width:520px}.login-logo{width:100%;max-width:none;min-height:180px;margin-bottom:18px}.login-head h1{margin:0 0 8px;font-size:32px}.full-btn{width:100%}.error-message{color:#fff;background:#ff464624;border:1px solid #ff464673;border-radius:14px;margin-bottom:16px;padding:14px 16px}.loading-message{color:#fff;background:#ffffff14;border:1px solid #ffffff1f;border-radius:14px;margin-bottom:16px;padding:14px 16px}.primary-btn:disabled,.top-nav button:disabled{opacity:.45;cursor:not-allowed;filter:grayscale()}.helper-text{color:var(--muted);margin-top:6px;font-size:13px;display:block}.vote-comment-field{margin-top:18px}.jury-box{background:#e539351f;border:1px solid #e5393559;border-radius:16px;margin-top:14px;padding:14px}.jury-box p{color:var(--muted);margin:4px 0 0;line-height:1.45}
