:root{--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-accent: #f59e0b;--color-accent-hover: #d97706;--color-sky: #7dd3fc;--color-sky-deep: #38bdf8;--color-bg: #f4f6fb;--color-card-bg: #ffffff;--color-text: #0f172a;--color-text-muted: #64748b;--color-border: #dbe2ea;--color-success: #16a34a;--color-danger: #dc2626;--font-pixel: "Press Start 2P", "Space Mono", monospace;--font-family: "Space Mono", "Courier New", monospace;--pixel-shadow: 4px 4px 0 #0f172a;--pixel-shadow-sm: 2px 2px 0 #0f172a;--card-shadow: 0 1px 3px rgba(15, 23, 42, .08), 0 1px 2px rgba(15, 23, 42, .06)}*,*:before,*:after{box-sizing:border-box}*{margin:0}body{line-height:1.6;font-family:var(--font-family);background-color:var(--color-bg);background-image:linear-gradient(rgba(15,23,42,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(15,23,42,.035) 1px,transparent 1px);background-size:24px 24px;background-attachment:fixed;color:var(--color-text);image-rendering:pixelated;overflow-x:hidden}.pixel-title{font-family:var(--font-pixel);line-height:1.6;letter-spacing:1px;text-transform:uppercase}.hero-sky{position:relative;background:linear-gradient(180deg,#bfe8ff 0%,var(--color-sky) 55%,var(--color-sky-deep) 100%);border-bottom:6px solid #000;color:#0a0a12;overflow:hidden}.hero-sky:before,.hero-sky:after{content:"";position:absolute;width:18px;height:18px;background:var(--color-primary);border:2px solid #000}.hero-sky:before{top:18%;left:6%}.hero-sky:after{top:30%;right:8%}.pixel-tag{display:inline-block;background:var(--color-accent);color:#0a0a12;border:2px solid #000;padding:.15rem .5rem;font-weight:700;box-decoration-break:clone;-webkit-box-decoration-break:clone}.pixel-tag-pink{background:var(--color-primary);color:#fff}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}button{cursor:pointer}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}.container{max-width:1280px;margin:0 auto;padding:0 1rem}.btn{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:.65rem 1.2rem;border-radius:2px;font-weight:700;font-family:var(--font-family);text-transform:uppercase;letter-spacing:.5px;text-decoration:none;border:3px solid #000;box-shadow:var(--pixel-shadow);transition:transform .1s steps(2),box-shadow .1s steps(2);cursor:pointer}.btn:hover{transform:translate(2px,2px);box-shadow:var(--pixel-shadow-sm)}.btn:active{transform:translate(4px,4px);box-shadow:none}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:var(--color-primary-hover)}.btn-secondary{background-color:#4b5563;color:#fff}.btn-secondary:hover{background-color:#374151}.btn-accent{background-color:var(--color-accent);color:#0a0a12}.btn-accent:hover{background-color:var(--color-accent-hover)}.btn-outline{background-color:var(--color-card-bg);border:3px solid #0f172a;color:var(--color-text)}.btn-outline:hover{background-color:#f1f5f9}.btn-sm{padding:.4rem .75rem;font-size:.8rem}.btn-success{background-color:var(--color-success);color:#0a0a12}.btn-success:hover{background-color:#16a34a}.btn-warning{background-color:var(--color-accent);color:#0a0a12}.btn-warning:hover{background-color:var(--color-accent-hover)}.btn-danger{background-color:var(--color-danger);color:#fff}.btn-danger:hover{background-color:var(--color-primary-hover)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:var(--pixel-shadow)!important}.card{background-color:var(--color-card-bg);color:var(--color-text);border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--card-shadow);padding:1.5rem;margin-bottom:1.5rem}.form-input{width:100%;padding:.75rem;background-color:#fff;border:2px solid var(--color-border);border-radius:8px;color:var(--color-text);font-family:var(--font-family);font-size:1rem}.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb26}.form-input::placeholder{color:#94a3b8}.alert{padding:1rem;border-radius:8px;border:1px solid transparent;margin-bottom:1rem}.alert-success{background-color:#f0fdf4;color:#15803d;border-color:#86efac}.alert-error{background-color:#fef2f2;color:#b91c1c;border-color:#fca5a5}.alert-info{background-color:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.spinner{width:1.25rem;height:1.25rem;border:2px solid #e2e8f0;border-top:2px solid var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.pulse-dot{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.table{width:100%;border-collapse:collapse;background-color:var(--color-card-bg);border:1px solid var(--color-border);border-radius:12px;overflow:hidden}.table th,.table td{padding:1rem;text-align:left;border-bottom:1px solid var(--color-border)}.table th{background-color:#f8fafc;font-weight:700;text-transform:uppercase;font-size:.75rem;letter-spacing:.5px;color:#475569}.table tbody tr:hover{background-color:#f8fafc}.badge{display:inline-flex;align-items:center;padding:.25rem .6rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;border-radius:2px;border:2px solid currentColor}.badge-green{background-color:#f0fdf4;color:#15803d}.badge-yellow{background-color:#fffbeb;color:#b45309}.badge-red{background-color:#fef2f2;color:#b91c1c}.badge-purple{background-color:#faf5ff;color:#7e22ce}.badge-blue{background-color:#eff6ff;color:#1d4ed8}@media(max-width:768px){.container{padding:0 .5rem}.card{padding:1rem;margin-bottom:1rem}.btn{padding:.75rem 1.5rem;font-size:1rem}}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-4{gap:1rem}.min-h-screen{min-height:100vh}.text-center{text-align:center}.text-right{text-align:right}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mt-4{margin-top:1rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}@keyframes shimmer{0%{opacity:0;transform:translate(-100%)}50%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@keyframes slideShine{0%{transform:translate(-100%)}50%{transform:translate(100%)}to{transform:translate(200%)}}.leaderboard-container{min-height:100vh;background-color:var(--color-bg);background-image:radial-gradient(circle at 15% 50%,rgba(37,99,235,.06) 0%,transparent 25%),radial-gradient(circle at 85% 30%,rgba(245,158,11,.05) 0%,transparent 25%);display:flex;align-items:center;justify-content:center;padding:2rem}.leaderboard-layout{display:grid;gap:2rem;align-items:start;width:100%;max-width:1400px}@media(min-width:1024px){.leaderboard-layout{grid-template-columns:minmax(0,1fr) 350px}}@media(max-width:1023px){.leaderboard-layout{grid-template-columns:1fr}.leaderboard-layout-timer{order:-1}}.leaderboard-header-row{flex-wrap:wrap;gap:.85rem}.leaderboard-header-actions{flex-wrap:wrap}@media(max-width:480px){.leaderboard-header-action-label,.leaderboard-live-indicator{display:none}}.admin-header{padding:.85rem 1.25rem}.admin-header-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem}.admin-header-nav{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.75rem}.admin-nav-btn{display:inline-flex;align-items:center;padding:.5rem .85rem;min-height:40px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--color-text-muted);font-size:.8rem;font-weight:600;white-space:nowrap;transition:background-color .15s ease,color .15s ease}.admin-nav-btn:hover{background-color:#f1f5f9;color:var(--color-text)}@media(max-width:640px){.admin-header-top h1{font-size:.7rem!important}.admin-nav-btn{padding:.5rem .6rem;font-size:.72rem}}@media(min-width:900px){.admin-stats-grid{grid-template-columns:minmax(0,2fr) minmax(280px,1fr)!important;align-items:start}}.event-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}@media(min-width:640px){.event-stat-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}.event-stat-tile{background:#fff9;border:1px solid var(--color-border);border-radius:10px;padding:.75rem .9rem;text-align:center}.event-stat-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);font-weight:700;margin:0 0 .3rem}.event-stat-value{font-size:1.1rem;font-weight:700;color:var(--color-text);margin:0;font-family:var(--font-family);word-break:break-word}.event-timeline{display:flex;gap:0}.event-timeline-step{flex:1;position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:1.25rem}.event-timeline-dot{position:absolute;top:0;left:50%;transform:translate(-50%);width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid var(--color-border);z-index:2}.event-timeline-step.is-done .event-timeline-dot{background:var(--color-success);border-color:var(--color-success)}.event-timeline-step.is-active .event-timeline-dot{background:var(--color-primary);border-color:var(--color-primary);box-shadow:0 0 0 4px #2563eb33}.event-timeline-line{position:absolute;top:7px;left:50%;width:100%;height:2px;background:var(--color-border);z-index:1}.event-timeline-step.is-done .event-timeline-line{background:var(--color-success)}.event-timeline-content{margin-top:.6rem}.event-timeline-time{font-size:.85rem;font-weight:700;margin:0;color:var(--color-text)}.event-timeline-label{font-size:.75rem;color:var(--color-text-muted);margin:.15rem 0 0}@media(max-width:640px){.event-timeline{flex-direction:column;align-items:flex-start;gap:1.25rem}.event-timeline-step{flex-direction:row;align-items:center;text-align:left;padding-top:0;padding-left:1.5rem;width:100%}.event-timeline-dot{top:50%;left:0;transform:translateY(-50%)}.event-timeline-line{top:100%;left:7px;width:2px;height:1.25rem}.event-timeline-content{margin-top:0;margin-left:1rem}}.event-control-buttons{display:grid;grid-template-columns:1fr;gap:.75rem}@media(min-width:560px){.event-control-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}}.event-control-buttons .btn{min-height:48px;width:100%}.event-schedule-inputs{display:grid;grid-template-columns:1fr;gap:.85rem}@media(min-width:560px){.event-schedule-inputs{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}.event-schedule-field{display:flex;flex-direction:column;gap:.4rem;font-size:.8rem;font-weight:600;color:var(--color-text-muted)}.phase-adjust-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.phase-adjust-buttons .btn{min-height:44px;min-width:72px;flex:1 1 auto}@media(min-width:640px){.phase-adjust-buttons .btn{flex:0 0 auto}}.schedule-preview{border:1px solid var(--color-border);border-radius:10px;padding:1rem;background:#2563eb0a}.schedule-preview-title{font-size:.7rem;font-weight:700;letter-spacing:.5px;color:var(--color-text-muted);margin:0 0 .75rem}.schedule-preview-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem 0;border-top:1px solid var(--color-border);font-size:.85rem;font-weight:600}.schedule-preview-row:first-of-type{border-top:none}.schedule-preview-duration{color:var(--color-text-muted);font-weight:500;font-size:.78rem}.audit-log-list{display:flex;flex-direction:column;gap:.6rem;max-height:320px;overflow-y:auto}.audit-log-row{display:flex;gap:.75rem;padding:.5rem 0;border-bottom:1px solid var(--color-border);font-size:.82rem}.audit-log-row:last-child{border-bottom:none}.audit-log-time{flex-shrink:0;color:var(--color-text-muted);font-family:var(--font-family);min-width:5.5rem}.audit-log-detail{color:var(--color-text)}@media(max-width:480px){.audit-log-row{flex-direction:column;gap:.15rem}}
