@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600&display=swap";@import"https://fonts.googleapis.com/css2?family=Orbitron:wght@400;600;700&display=swap";:root{font-family:Space Grotesk,Inter,system-ui,-apple-system,sans-serif;color:#0f172a;background-color:#eef1f6;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 20% 20%,#f1f5f9,#e5e9f2 35%),radial-gradient(circle at 80% 0%,#dfe8ff,#eef1f6 45%)}a{color:inherit;text-decoration:none}button{font-family:inherit}body{min-height:100vh;background-color:#0b0f1f;background-image:url(/bg.png),radial-gradient(circle at 20% 20%,rgba(0,255,255,.08),transparent 25%),radial-gradient(circle at 80% 10%,rgba(255,0,255,.07),transparent 22%),radial-gradient(circle at 50% 80%,rgba(124,58,237,.06),transparent 28%);background-size:100%,100% 100%,100% 100%,100% 100%;background-repeat:no-repeat;background-attachment:fixed;background-position:fit;color:#0ff;font-family:Orbitron,sans-serif;margin:0;padding:0}#root{max-width:1100px;margin:0 auto;padding:2.5rem 1.5rem 3.5rem}.page{display:flex;flex-direction:column;gap:1.5rem}.hero{background:linear-gradient(135deg,#0b1024,#11162f);color:#e5f9ff;padding:1.5rem 1.25rem;border-radius:18px;display:flex;align-items:center;justify-content:space-between;gap:1rem;box-shadow:0 0 35px #00ffff40,0 0 45px #ff00ff26,0 0 20px #00000080;border:1px solid rgba(0,255,255,.35)}.header-content{display:flex;align-items:center;gap:1rem}.cyberpunk-logo{width:80px;height:80px;border-radius:16px;display:grid;place-items:center;background:radial-gradient(circle at 30% 30%,#ff0,#0ff 60%,transparent 75%);color:#0d0d0d;font-weight:800;font-size:1.1rem;letter-spacing:.05em;filter:drop-shadow(0 0 10px #0ff) drop-shadow(0 0 20px #ff0);animation:neon-glow 3s infinite alternate;transition:transform .3s ease-in-out}.cyberpunk-logo:hover{transform:scale(1.05) rotate(3deg)}@keyframes neon-glow{0%{filter:drop-shadow(0 0 10px #ff0) drop-shadow(0 0 20px #0ff)}50%{filter:drop-shadow(0 0 20px #f0f) drop-shadow(0 0 40px #ff0)}to{filter:drop-shadow(0 0 30px #0ff) drop-shadow(0 0 50px #f0f)}}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;opacity:.85;margin:0 0 .4rem}.hero h1{margin:0 0 .35rem;font-size:clamp(2rem,3vw,2.8rem);color:#ff0;text-shadow:0 0 10px #ff0,0 0 20px #f00}.hero .lede{margin:0;max-width:760px;opacity:.9;color:#d0f6ff}.api-chip{background:#00ffff26;padding:.55rem .8rem;border-radius:12px;font-size:.95rem;border:1px solid rgba(255,255,255,.18);box-shadow:0 0 10px #0ff6}.hero .header-actions{display:flex;align-items:center;gap:.75rem}.leaderboard-wrap{overflow-x:auto}.card{background:linear-gradient(145deg,#0d1124,#0e142b);padding:1.6rem;border-radius:18px;box-shadow:0 0 22px #00000073;border:1px solid rgba(0,255,255,.1)}.card h2{margin:0 0 .5rem;color:#ff0;text-shadow:0 0 10px #ff0}.wide{grid-column:1 / -1}.form{display:flex;flex-direction:column;gap:.9rem}label{display:flex;flex-direction:column;gap:.35rem;font-weight:600;color:#bde8ff}input,select{padding:.7rem .8rem;border:1px solid rgba(0,255,255,.35);border-radius:10px;font-size:1rem;background:#0a0e1ae6;transition:border .18s ease,box-shadow .18s ease;color:#e5f9ff}input:focus,select:focus{outline:none;border-color:#00e5ff;box-shadow:0 0 12px #00e5ff80,0 0 18px #00ffff40}.card button{background:linear-gradient(135deg,#00e5ff,#7c3aed);color:#0d0d0d;border:none;border-radius:12px;padding:.8rem 1rem;font-weight:600;letter-spacing:.01em;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease;box-shadow:0 0 12px #0ff6,0 0 16px #7c3aed59}.card button:disabled{opacity:.65;cursor:not-allowed;transform:none;box-shadow:none}.card button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 24px #00ffff4d}.ghost{background:#ffffff0d!important;color:#bde8ff!important;border:1px solid rgba(0,255,255,.3)!important;box-shadow:none!important}.token-row{display:flex;justify-content:space-between;align-items:center;margin-top:.75rem}.pill{background:#0d0d0d;color:#7cf2ff;padding:.4rem .75rem;border-radius:999px;font-weight:600;font-size:.9rem;letter-spacing:.01em;box-shadow:0 0 10px #00ffff40}.hint{margin:0 0 .5rem;color:#9bd8ff}.limit-warning{color:#f43054;text-align:center;margin-top:40px;margin-bottom:40px;font-size:3.1rem!important;font-weight:1000;text-shadow:0 0 12px rgba(255,77,109,.8),0 0 22px rgba(255,77,109,.6),0 0 32px rgba(255,77,109,.45);animation:limit-blink 1.05s ease-in-out infinite}.exhausted-warning{color:#ff4d6d;text-align:center;margin-top:40px;margin-bottom:40px;font-size:2.2rem!important;font-weight:900;text-shadow:0 0 10px rgba(255,77,109,.5);animation:none}.active-day-glow{font-size:2rem;color:#ff9d40;font-weight:900;text-shadow:0 0 12px rgba(255,157,64,.8),0 0 22px rgba(255,157,64,.6),0 0 32px rgba(255,157,64,.45);letter-spacing:.03em}.submitted-info{color:#6dffb8;font-size:1.15rem;font-weight:800;text-shadow:0 0 10px rgba(109,255,184,.7),0 0 18px rgba(109,255,184,.55),0 0 28px rgba(109,255,184,.45)}.submitted-block{display:grid;gap:.4rem;margin-top:.25rem}.glow-actions{display:flex;gap:.5rem;flex-wrap:wrap}.glow-btn{display:inline-flex;align-items:center;justify-content:center;padding:.55rem .9rem;border-radius:12px;font-weight:800;letter-spacing:.03em;color:#0d0d0d;background:linear-gradient(135deg,#6dffb8,#0ff);box-shadow:0 0 14px #6dffb899,0 0 18px #00ffff73;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease}.glow-btn:hover{transform:translateY(-1px) scale(1.01);box-shadow:0 0 18px #6dffb8cc,0 0 22px #0ff9}.glow-btn.secondary{background:linear-gradient(135deg,#ff9d40,#ff4d6d);color:#0b0b0b;box-shadow:0 0 14px #ff9d4099,0 0 18px #ff4d6d73}.glow-btn.secondary:hover{box-shadow:0 0 18px #ff9d40cc,0 0 22px #ff4d6d99}@keyframes limit-blink{0%,to{opacity:1;text-shadow:0 0 12px rgba(255,77,109,.85),0 0 24px rgba(255,77,109,.65),0 0 36px rgba(255,77,109,.5)}50%{opacity:.55;text-shadow:0 0 6px rgba(255,77,109,.6),0 0 12px rgba(255,77,109,.45),0 0 18px rgba(255,77,109,.35)}}.profile{background:#ffffff05;border:1px solid rgba(0,255,255,.15);border-radius:12px;padding:1rem;display:grid;gap:.65rem}.profile-row{display:grid;grid-template-columns:140px 1fr;gap:.5rem;align-items:center}.label{font-weight:600;color:#bde8ff}.value{color:#e5f9ff;word-break:break-all}.placeholder{margin:0;color:#7ef5ff}.actions{display:flex;gap:.6rem;margin-top:.9rem}.status{margin:.6rem 0 0;padding:.5rem .65rem;border-radius:10px;font-weight:600;background:#0ff3;border:1px solid rgba(0,255,255,.35);box-shadow:0 0 10px #0ff}.status.success{color:#ff0}.status.error{color:#f99}.status.info{color:#7ef58f}.notifications{position:fixed;top:1rem;right:1rem;display:flex;flex-direction:column;gap:.75rem;z-index:9999}.notification{min-width:260px;max-width:360px;display:flex;align-items:flex-start;gap:.65rem;padding:.9rem 1rem;border-radius:14px;color:#0b0f1f;background:linear-gradient(140deg,#ff4d6df5,#ffc400eb);border:1px solid rgba(255,255,255,.25);box-shadow:0 14px 30px #ff4d6d73,0 0 24px #ffc40059;animation:slide-in .18s ease-out}.notification.error{background:linear-gradient(135deg,#ff3c64fa,#ff9900e6);border-color:#ffffff59}.notification-close{background:#00000026;border:1px solid rgba(0,0,0,.25);color:#0b0f1f;border-radius:50%;width:28px;height:28px;cursor:pointer;display:grid;place-items:center;font-weight:800;margin-left:auto}.notification-close:hover{background:#00000038}@keyframes slide-in{0%{opacity:0;transform:translateY(-8px) translate(8px)}to{opacity:1;transform:translateY(0) translate(0)}}.user-menu{position:relative}.user-btn{display:flex;align-items:center;gap:.5rem;background:#0006;color:#0ff;border:1px solid rgba(0,255,255,.35);border-radius:12px;padding:.5rem .65rem;cursor:pointer;box-shadow:0 0 10px #00ffff40}.user-btn:hover{border-color:#0ff9}.avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#0ff,#ff0);display:grid;place-items:center;font-weight:700;color:#0d0d0d;box-shadow:0 0 10px #00ffff59}.user-email{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chevron{font-size:.8rem;opacity:.85}.dropdown{position:absolute;right:0;top:calc(100% + .35rem);background:#0f0f18;border:1px solid rgba(0,255,255,.2);border-radius:12px;min-width:200px;box-shadow:0 0 20px #00ffff40;display:grid}.dropdown a,.dropdown button{text-align:left;background:none;border:none;padding:.85rem 1rem;font-weight:600;cursor:pointer;color:#0ff}.dropdown a:hover,.dropdown button:hover{background:#00ffff14}.main-nav{display:flex;justify-content:center;gap:.75rem;padding:.6rem 0}.main-nav a{padding:.45rem .85rem;border-radius:10px;background:#00000059;color:#0ff;border:1px solid rgba(0,255,255,.3);font-weight:1000;font-size:3.1rem;font-family:MagikMarker W90 Free,Rock Salt,cursive;text-decoration:none;box-shadow:0 0 12px #00ffff40;transition:transform .15s ease,box-shadow .15s ease;text-shadow:0 0 10px currentColor,0 0 18px currentColor,0 0 28px currentColor}.main-nav a:hover{transform:translateY(-1px);box-shadow:0 0 16px #00ffff73}.main-nav a:nth-child(1){color:#00e5ff;border-color:#00e5ff80;box-shadow:0 0 18px #00e5ff99}.main-nav a:nth-child(2){color:#ff4d8a;border-color:#ff4d8a80;box-shadow:0 0 18px #ff4d8a99}.main-nav a:nth-child(3){color:#7eff6c;border-color:#7eff6c80;box-shadow:0 0 18px #7eff6c99}.main-nav a:nth-child(4){color:#ffd166;border-color:#ffd16680;box-shadow:0 0 18px #ffd16699}.user-links{display:flex;gap:.5rem}.submissions-grid{display:flex;gap:.85rem;flex-wrap:wrap}.submission-item{display:flex;align-items:center;justify-content:space-between;width:auto;gap:.75rem;padding:.85rem 1rem;background:#ffffff08;border:1px solid rgba(0,255,255,.25);border-radius:12px}.submission-item .actions{margin:0}.pill-link{display:inline-block;padding:.55rem .9rem;background:linear-gradient(135deg,#0ff,#f0f);color:#0d0d0d;border-radius:10px;text-decoration:none;font-weight:700;border:none;cursor:pointer;box-shadow:0 0 12px #0ff6}.pill-link:hover{opacity:.88}.windows{margin:1rem 0;padding:.75rem;border:1px solid rgba(0,255,255,.25);border-radius:12px;background:#ffffff08}.windows-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.windows-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.6rem}.window-chip{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:.55rem;padding:1rem .9rem;border-radius:10px;border:1px solid rgba(0,255,255,.25);background:#0e0e1ee6;font-weight:700}.window-chip.enabled{border-color:#00ffff8c;background:#00ffff14}.window-chip.disabled{border-color:#ff000059;background:#ff00000d}.window-chip button{background:#0f172a;color:#fff;padding:.4rem .6rem;border-radius:8px;border:none;cursor:pointer;font-weight:700}.window-info{display:flex;align-items:center;gap:.75rem}.window-limit{display:flex;align-items:center;gap:.35rem;font-weight:600;color:#0ff}.window-limit input{width:64px;padding:.3rem .4rem;border-radius:8px;border:1px solid rgba(0,255,255,.35);background:#ffffff08;color:#0ff}.window-actions{display:flex;flex-direction:column;gap:.45rem;align-items:stretch;width:100%}.window-actions button{padding:.3rem .45rem;font-size:.88rem;width:100%}.challenge-admin{margin-top:1rem;padding:1rem;border:1px solid rgba(0,255,255,.2);border-radius:14px;background:#ffffff05;box-shadow:0 0 20px #00ffff14}.challenge-grid{display:grid;gap:.75rem}.day-range{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem}.extra-challenges{margin-top:1rem}.challenge-stack{display:flex;flex-direction:column;gap:.85rem}.challenge-card{border:1px solid rgba(0,255,255,.2);border-radius:12px;padding:.85rem;background:#0f0f18cc;box-shadow:0 0 16px #00ffff1f}.challenge-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.35rem}.challenge-head h4{margin:0}.challenge-points{background:linear-gradient(135deg,#6dffb8,#0ff);color:#0d0d0d;padding:.3rem .6rem;border-radius:10px;font-weight:800;font-size:.95rem;box-shadow:0 0 10px #6dffb880}.challenge-submitted{margin-bottom:.35rem}.challenge-submitted-pill{display:inline-flex;align-items:center;padding:.25rem .8rem;border-radius:999px;background:#7ced7c26;color:#7ef58f;font-size:.85rem;font-weight:600;border:1px solid rgba(124,237,124,.5)}.challenge-submitted-under{margin-top:.75rem;display:flex;align-items:center;gap:.5rem}.challenge-submitted-under button{padding:.1rem .7rem}.challenge-submitted button{margin-left:.5rem;font-size:.85rem}.challenge-actions{margin-top:.5rem;display:flex;justify-content:flex-start}.challenge-submissions-admin{margin-top:1rem}.challenge-submission-list{display:grid;gap:.65rem}.solve-box{margin-top:.65rem;display:grid;gap:.4rem}.solve-box input{width:100%;padding:.45rem .6rem;border-radius:10px;border:1px solid rgba(0,255,255,.25);background:#ffffff0a;color:#e8f7ff}.solve-box button{width:fit-content}.solved-pill{margin-left:.5rem;background:linear-gradient(135deg,#6dffb8,#38ff88);color:#0d0d0d;padding:.25rem .6rem;border-radius:999px;font-weight:800}.modal-backdrop{position:fixed;inset:0;background:#0a0a10cc;display:grid;place-items:center;padding:1rem;z-index:50}.modal{background:#0f0f18;border-radius:14px;max-width:900px;width:min(90vw,900px);max-height:85vh;display:flex;flex-direction:column;box-shadow:0 0 30px #00ffff59,0 0 40px #ff00ff40;border:1px solid rgba(0,255,255,.2)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:.9rem 1.1rem;border-bottom:1px solid rgba(0,255,255,.2)}.modal-body{padding:1rem;overflow:auto;display:grid;place-items:center}.modal-body img{max-width:100%;max-height:70vh;border-radius:12px;border:1px solid rgba(0,255,255,.2);box-shadow:0 10px 30px #00ffff40}.leaderboard{overflow-x:auto;background:#ffffff0d;padding:1rem;border-radius:12px;box-shadow:0 0 20px #0ff,0 0 30px #0000ff4d}.leaderboard-table{width:100%;min-width:min(380px,100%);border-collapse:collapse;font-size:.95rem;table-layout:fixed}.leaderboard-table th,.leaderboard-table td{padding:.75rem .6rem;border-bottom:1px solid rgba(255,255,255,.2);text-align:left;word-break:break-word}.leaderboard-table .rank-col{width:3.2rem;text-align:center;padding-left:.35rem;padding-right:.35rem}.leaderboard-table .email-col{word-break:break-all}.leaderboard-table .user-col{word-break:break-all;min-width:10rem}.leaderboard-table .name-col{min-width:10rem}.leaderboard-table .status-col{min-width:12rem}.status-pill{display:inline-flex;align-items:center;padding:.25rem .6rem;border-radius:999px;font-size:.8rem;letter-spacing:.02em;margin-right:.5rem}.status-pill.read{background:#7ced7c33;color:#7ef58f;border:1px solid rgba(124,237,124,.5)}.status-pill.unread{background:#ffa35526;color:#ffc772;border:1px solid rgba(255,163,85,.4)}.leaderboard-table .tag-col{width:3.6rem;text-align:center}.leaderboard-table .file-col,.leaderboard-table .action-col{width:5.2rem;text-align:center}.leaderboard-table .challenge-col{min-width:9rem}.leaderboard-table .submitted-col{min-width:10rem}.leaderboard-table th{font-weight:700;color:#ff0;background:#ffffff14}.leader-user{display:flex;flex-direction:column;gap:.2rem}.inline-input{width:140px;padding:.35rem .4rem;border-radius:8px;border:1px solid rgba(0,255,255,.25);background:#0c0e1ae6;color:#e5f9ff;font-size:.9rem}.dashboard-submission{margin-top:1rem;padding:1rem;border:1px dashed #d7deea;border-radius:12px;background:#ffffff0a}.aoc-box{margin-bottom:1rem;padding:1rem;border-radius:12px;border:1px solid rgba(0,255,255,.2);background:#ffffff05;box-shadow:0 0 18px #00ffff26}.aoc-box h3{margin:0 0 .5rem;color:#7cf2ff}.aoc-box h4{margin:.4rem 0;color:#bde8ff}.aoc-list ul{margin:.25rem 0 .5rem 1rem;padding:0;color:#e5f9ff}.aoc-list li{margin:.15rem 0}.aoc-list a{color:#00e5ff}.dashboard-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.5rem}.inline-link{color:#0ff;font-weight:700;text-decoration:underline}.register-step{border:1px solid rgba(0,255,255,.2);padding:.75rem;border-radius:10px;background:#ffffff05;margin-bottom:.8rem}.register-step h3{margin:0 0 .5rem;color:#bde8ff}.small{font-size:.9rem}.view{display:grid;gap:1rem}.leaderboard-table tr:hover{background:#00ffff14}@media(max-width:640px){#root{padding:1.5rem 1rem 2.5rem}.hero{flex-direction:column;align-items:flex-start}.profile-row{grid-template-columns:1fr}.main-nav{flex-wrap:wrap;gap:.5rem}.main-nav a{flex:1 1 45%;justify-content:center;text-align:center}.dashboard-head{flex-direction:column;align-items:flex-start}.submission-item{flex-direction:column;align-items:flex-start;width:100%}.submission-item .actions{width:100%}.submission-item .actions .pill-link{width:100%;text-align:center}.submissions-grid{flex-direction:column;gap:.75rem}.leaderboard-table{min-width:100%;font-size:clamp(.88rem,2.5vw,.95rem);table-layout:fixed}.leaderboard-table th,.leaderboard-table td{padding:.6rem .5rem}.leaderboard-table .rank-col{width:2.8rem}.leaderboard-table .tag-col{width:3.1rem}.leaderboard-table .file-col,.leaderboard-table .action-col{width:4.6rem}.aoc-box{padding:.85rem}.aoc-box *{word-break:break-word}.active-day-glow{font-size:clamp(1.2rem,4vw,1.4rem)}.submitted-info{font-size:clamp(.95rem,3.5vw,1.05rem)}.glow-actions{flex-direction:column;align-items:flex-start}}@media(max-width:480px){.leaderboard-table{min-width:100%;font-size:clamp(.82rem,4vw,.9rem)}.leaderboard-table th,.leaderboard-table td{padding:.5rem .4rem}.leaderboard-table .rank-col{width:2.5rem;padding-left:.3rem;padding-right:.3rem}.leaderboard-table .tag-col{width:2.75rem}.leaderboard-table .file-col,.leaderboard-table .action-col{width:4rem;padding-left:.25rem;padding-right:.25rem}.leaderboard-table .submitted-col,.leaderboard-table .last-submission-col{display:none}.aoc-box{padding:.75rem}.dashboard-submission{padding:.8rem}.dashboard-head{gap:.5rem}}@media(max-width:420px){.leaderboard{padding:.7rem}.leaderboard-table{font-size:clamp(.76rem,4vw,.84rem)}.leaderboard-table th,.leaderboard-table td{padding:.45rem .35rem}.actions{flex-wrap:wrap}.actions button,.actions .ghost,.actions .pill-link{width:100%;text-align:center}.leaderboard-table .email-col{word-break:break-all}.leaderboard-table .tag-col{width:2.5rem}.leaderboard-table .file-col,.leaderboard-table .action-col{width:3.6rem}.submission-item{width:100%;padding:.8rem}.submissions-grid{gap:.65rem}.pill{font-size:clamp(.78rem,3.8vw,.85rem);padding:.3rem .55rem}}
