*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--pink: #FF3D87;--blue: #2563FF;--green: #16A34A;--yellow: #FFD600;--orange: #F97316;--purple: #7C3AED;--teal: #0891B2;--cream: #FFFBEF;--white: #FFFFFF;--ink: #12082A;--text: #1E0D45;--muted: #7C6FA0;--outline: 3px solid #12082A;--shadow: 5px 5px 0 #12082A;--font-d: "Boogaloo", cursive;--font-b: "Nunito", sans-serif}html{scroll-behavior:smooth}body{background-color:var(--cream);background-image:radial-gradient(circle,rgba(18,8,42,.07) 1.5px,transparent 1.5px);background-size:28px 28px;color:var(--text);font-family:var(--font-b);min-height:100vh;overflow-x:hidden}@keyframes bounceIn{0%{opacity:0;transform:translateY(-16px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes popUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.25)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes ring-pulse{0%{box-shadow:0 0 #16a34ab3}70%{box-shadow:0 0 0 8px #16a34a00}to{box-shadow:0 0 #16a34a00}}@keyframes countIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.page-wrap{max-width:1200px;margin:0 auto;padding:36px 20px 80px}.site-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:40px;padding-bottom:28px;border-bottom:var(--outline);animation:bounceIn .45s cubic-bezier(.34,1.56,.64,1) both;position:sticky;top:0;z-index:10;background:#fffbefeb;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.logo{display:flex;align-items:baseline;gap:14px}.logo-name{font-family:var(--font-d);font-size:54px;color:var(--blue);line-height:1;-webkit-text-stroke:2px var(--ink);paint-order:stroke fill;text-shadow:4px 4px 0 var(--ink)}.logo-name em{font-style:normal;color:var(--pink);text-shadow:4px 4px 0 var(--ink);display:inline-block;animation:float 3s ease-in-out infinite}.logo-sub{font-family:var(--font-b);font-size:11px;font-weight:800;letter-spacing:3px;text-transform:uppercase;color:var(--ink);background:var(--yellow);border:2px solid var(--ink);padding:3px 12px;border-radius:20px;box-shadow:2px 2px 0 var(--ink)}.live-indicator{display:flex;align-items:center;gap:8px;font-family:var(--font-b);font-size:14px;font-weight:800;color:var(--ink);background:var(--white);border:var(--outline);border-radius:40px;padding:8px 20px;box-shadow:var(--shadow)}.live-dot{width:10px;height:10px;border-radius:50%;background:var(--green);border:2px solid var(--ink);animation:pulse 1.6s ease-in-out infinite,ring-pulse 2s ease-out infinite}.controls-bar{display:none}.toggle-group{display:flex;gap:6px;background:var(--white);border:var(--outline);border-radius:50px;padding:5px;box-shadow:var(--shadow)}.toggle-btn{padding:9px 28px;font-family:var(--font-d);font-size:20px;border:2px solid transparent;border-radius:40px;background:transparent;color:var(--muted);cursor:pointer;transition:all .2s cubic-bezier(.34,1.56,.64,1)}.toggle-btn.active{background:var(--blue);color:var(--white);border-color:var(--ink);box-shadow:3px 3px 0 var(--ink);transform:translateY(-1px)}.toggle-btn:hover:not(.active){color:var(--text);background:#2563ff1a;transform:translateY(-1px)}.section-label{display:flex;align-items:center;gap:14px;margin-bottom:28px;margin-top:16px}.section-label-text{font-family:var(--font-d);font-size:24px;color:var(--ink);white-space:nowrap;background:var(--yellow);border:var(--outline);padding:4px 18px;border-radius:10px;box-shadow:3px 3px 0 var(--ink)}.section-label:after{content:"";flex:1;height:3px;background:repeating-linear-gradient(90deg,var(--ink) 0,var(--ink) 8px,transparent 8px,transparent 18px)}#contest-section{margin-bottom:48px;background:var(--white);border:var(--outline);border-radius:22px;padding:36px 32px 28px;position:relative;box-shadow:6px 6px 0 var(--ink);animation:popUp .4s cubic-bezier(.34,1.56,.64,1) both}#contest-section:before{content:"🏆 CONTEST RANKINGS";position:absolute;top:-17px;left:28px;font-family:var(--font-d);font-size:14px;letter-spacing:.5px;background:var(--yellow);border:2px solid var(--ink);padding:4px 16px;border-radius:20px;box-shadow:2px 2px 0 var(--ink);color:var(--ink)}.contest-header{display:flex;align-items:center;gap:14px;margin-bottom:24px;padding-top:8px}.contest-title{font-family:var(--font-d);font-size:34px;color:var(--orange);-webkit-text-stroke:1.5px var(--ink);paint-order:stroke fill;text-shadow:3px 3px 0 var(--ink)}.contest-badge{font-family:var(--font-b);font-size:11px;font-weight:800;padding:5px 14px;border-radius:30px;border:2px solid var(--ink);background:var(--green);color:var(--white);text-transform:uppercase;letter-spacing:1px;box-shadow:2px 2px 0 var(--ink)}.winner-banner{display:none;background:var(--yellow);border:var(--outline);border-radius:12px;padding:12px 20px;margin-bottom:20px;font-family:var(--font-d);font-size:22px;color:var(--ink);box-shadow:3px 3px 0 var(--ink)}.contest-table{width:100%;border-collapse:separate;border-spacing:0}.contest-table th{text-align:left;padding:12px 16px;font-family:var(--font-b);font-size:11px;font-weight:800;letter-spacing:2px;color:var(--white);text-transform:uppercase;background:var(--blue)}.contest-table th:first-child{border-radius:12px 0 0}.contest-table th:last-child{border-radius:0 12px 0 0}.contest-table td{padding:12px 16px;font-family:var(--font-b);font-size:14px;font-weight:700;white-space:nowrap;border-bottom:2px solid rgba(18,8,42,.07);color:var(--text);background:var(--white)}.contest-table td:nth-child(2){font-family:var(--font-d);font-size:18px}.contest-table tr:hover td{background:#2563ff0d}.contest-table tr:nth-child(2n) td{background:#12082a06}.contest-table .medal-gold td{background:#ffd6001f}.contest-table .medal-silver td{background:#b4c8dc26}.contest-table .medal-bronze td{background:#c88c501a}.contest-table .medal-gold td:first-child{border-left:4px solid var(--yellow)}.contest-table .medal-silver td:first-child{border-left:4px solid #B4C8D8}.contest-table .medal-bronze td:first-child{border-left:4px solid #C8896A}.categories-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}@media (max-width: 760px){.categories-grid{grid-template-columns:1fr}.logo-name{font-size:38px}.controls-bar{flex-direction:column;align-items:flex-start}}.cat-card{background:var(--white);border:var(--outline);border-radius:20px;overflow:hidden;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s;box-shadow:var(--shadow);animation:popUp .5s cubic-bezier(.34,1.56,.64,1) both}.cat-card:nth-child(1){animation-delay:.05s}.cat-card:nth-child(2){animation-delay:.1s}.cat-card:nth-child(3){animation-delay:.15s}.cat-card:nth-child(4){animation-delay:.2s}.cat-card:hover{transform:translateY(-5px);box-shadow:8px 10px 0 var(--ink)}.cat-header{padding:20px 24px 18px;border-bottom:3px solid var(--ink);display:flex;align-items:center;gap:14px}.cat-card:nth-child(1) .cat-header{background:#ebf5ff}.cat-card:nth-child(2) .cat-header{background:#fff0f7}.cat-card:nth-child(3) .cat-header{background:#f0fdf4}.cat-card:nth-child(4) .cat-header{background:#fff7ed}.cat-icon{font-size:32px;line-height:1;flex-shrink:0}.cat-meta{flex:1;min-width:0}.cat-title{font-family:var(--font-d);font-size:24px;line-height:1}.cat-card:nth-child(1) .cat-title{color:var(--blue)}.cat-card:nth-child(2) .cat-title{color:var(--pink)}.cat-card:nth-child(3) .cat-title{color:var(--green)}.cat-card:nth-child(4) .cat-title{color:var(--orange)}.cat-desc{font-size:12px;font-weight:700;color:var(--muted);margin-top:4px}.rank-list{padding:4px 24px 20px;max-height:300px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--ink) transparent}.rank-list::-webkit-scrollbar{width:6px}.rank-list::-webkit-scrollbar-track{background:transparent}.rank-list::-webkit-scrollbar-thumb{background:var(--ink);border-radius:3px;opacity:.4}.rank-row{display:grid;grid-template-columns:32px 1fr auto 60px;align-items:center;padding:10px 8px;gap:12px;border-bottom:2px dashed rgba(18,8,42,.1);border-radius:8px;transition:all .15s}.rank-row:hover{background:#2563ff0f;transform:translate(4px)}.rank-row.medal-gold{background:#ffd60038;border-bottom-color:#ffd60080;border-left:4px solid var(--yellow)}.rank-row.medal-silver{background:#cbd5e14d;border-bottom-color:#cbd5e199;border-left:4px solid #B4C8D8}.rank-row.medal-bronze{background:#e8a97e38;border-bottom-color:#e8a97e80;border-left:4px solid #C8896A}.rank-row.medal-gold .rank-name,.rank-row.medal-silver .rank-name,.rank-row.medal-bronze .rank-name{font-size:20px}.rank-row.medal-gold .rank-value{color:#92620a}.rank-row.medal-silver .rank-value{color:#4a5568}.rank-row.medal-bronze .rank-value{color:#7a3b0f}.rank-num{font-family:var(--font-d);font-size:18px;color:var(--muted);text-align:center;line-height:1.2}.rank-row.medal-gold .rank-num,.rank-row.medal-silver .rank-num,.rank-row.medal-bronze .rank-num{font-size:22px}.rank-name{font-family:var(--font-d);font-size:18px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-value{font-family:var(--font-b);font-size:14px;font-weight:800;color:var(--blue);text-align:right;animation:countIn .3s ease-out both}.rank-row:nth-child(1) .rank-value{animation-delay:.04s}.rank-row:nth-child(2) .rank-value{animation-delay:.08s}.rank-row:nth-child(3) .rank-value{animation-delay:.12s}.rank-row:nth-child(4) .rank-value{animation-delay:.16s}.rank-row:nth-child(5) .rank-value{animation-delay:.2s}.rank-row:nth-child(6) .rank-value{animation-delay:.24s}.rank-row:nth-child(7) .rank-value{animation-delay:.28s}.rank-row:nth-child(8) .rank-value{animation-delay:.32s}.rank-row:nth-child(9) .rank-value{animation-delay:.36s}.rank-row:nth-child(10) .rank-value{animation-delay:.4s}.rank-wr{font-family:var(--font-b);font-size:11px;font-weight:700;color:var(--muted);text-align:right}.rank-list-empty{padding:32px 20px;font-family:var(--font-d);font-size:20px;color:var(--muted);text-align:center}.contest-meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}.meta-chip{display:flex;flex-direction:column;gap:2px;background:var(--cream);border:2px solid var(--ink);border-radius:10px;padding:8px 14px;box-shadow:2px 2px 0 var(--ink)}.meta-chip-label{font-family:var(--font-b);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.meta-chip-value{font-family:var(--font-d);font-size:18px;color:var(--text);line-height:1.1}.past-contest-card{background:var(--white);border:var(--outline);border-radius:22px;padding:28px 28px 24px;margin-bottom:32px;box-shadow:var(--shadow);animation:popUp .4s cubic-bezier(.34,1.56,.64,1) both}.past-contest-header{display:flex;align-items:center;gap:14px;margin-bottom:16px}.past-contest-title{font-family:var(--font-d);font-size:30px;color:var(--purple);-webkit-text-stroke:1.5px var(--ink);paint-order:stroke fill;text-shadow:3px 3px 0 var(--ink)}.ended-badge{font-family:var(--font-b);font-size:11px;font-weight:800;padding:5px 14px;border-radius:30px;border:2px solid var(--ink);background:#cbd5e1;color:var(--ink);text-transform:uppercase;letter-spacing:1px;box-shadow:2px 2px 0 var(--ink)}.past-contest-meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.past-contest-categories{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 760px){.past-contest-categories{grid-template-columns:1fr}}.past-cat-card{background:var(--cream);border:var(--outline);border-radius:14px;overflow:hidden;box-shadow:3px 3px 0 var(--ink)}.past-cat-header{padding:12px 16px 10px;border-bottom:2px solid var(--ink);background:#f3f0ff}.past-cat-title{font-family:var(--font-d);font-size:18px;color:var(--purple)}.past-podium{padding:8px 16px 12px}.past-podium-row{display:flex;align-items:center;gap:10px;padding:5px 0;font-family:var(--font-b);font-size:13px;font-weight:700;color:var(--text);border-bottom:1px dashed rgba(18,8,42,.08)}.past-podium-row:last-child{border-bottom:none}.past-podium-medal{font-size:16px;flex-shrink:0}.past-podium-name{font-family:var(--font-d);font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.past-podium-score{font-family:var(--font-b);font-size:12px;font-weight:800;color:var(--blue);white-space:nowrap;flex-shrink:0}.history-empty{padding:48px 20px;font-family:var(--font-d);font-size:24px;color:var(--muted);text-align:center}
