:root{--color-bg: #000000;--color-bg-elevated: #0a0f0a;--color-surface: #0d140d;--color-border: #0f3d16;--color-border-strong: #1f7a2e;--color-accent: #00ff41;--color-accent-dim: #008f2e;--color-text: #c8ffd4;--color-text-muted: #5f9e6f;--color-error: #ff4d4d;--color-error-bg: #2a0a0a;--font-mono: "Courier New", Consolas, "Liberation Mono", Menlo, monospace;--glow-accent: 0 0 6px rgba(0, 255, 65, .55);--glow-accent-strong: 0 0 12px rgba(0, 255, 65, .8)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--color-bg);background-image:repeating-linear-gradient(0deg,rgba(0,255,65,.025) 0px,rgba(0,255,65,.025) 1px,transparent 1px,transparent 3px);color:var(--color-text);font-family:var(--font-mono)}h1,h2,h3{color:var(--color-accent);text-shadow:var(--glow-accent)}a{color:var(--color-accent)}a:hover,a:focus-visible{text-shadow:var(--glow-accent)}button{font-family:inherit;color:var(--color-accent);background:var(--color-bg-elevated);border:1px solid var(--color-border-strong);border-radius:.35rem;padding:.5rem 1rem;cursor:pointer;transition:box-shadow .15s ease,background .15s ease}button:hover:not(:disabled),button:focus-visible:not(:disabled){background:var(--color-surface);box-shadow:var(--glow-accent)}button:disabled{color:var(--color-text-muted);border-color:var(--color-border);cursor:not-allowed}input,textarea,select{font-family:inherit;color:var(--color-text);background:var(--color-bg-elevated);border:1px solid var(--color-border-strong);border-radius:.35rem;padding:.5rem}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--glow-accent)}label{color:var(--color-text)}table{border-collapse:collapse;width:100%}th,td{border:1px solid var(--color-border);padding:.5rem .75rem;text-align:left}th{color:var(--color-accent)}fieldset{border-color:var(--color-border-strong)}[role=alert]{color:var(--color-error);background:var(--color-error-bg);border:1px solid var(--color-error);border-radius:.35rem;padding:.5rem .75rem}pre{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:.35rem;padding:.75rem}.exercise-outcome__action{display:inline-block;justify-self:start;padding:.5rem 1.1rem;border:1px solid var(--color-accent, var(--color-border-strong));border-radius:999px;text-decoration:none}.exercise-outcome__action--primary{padding:.85rem 1.6rem;font-size:1.15rem;font-weight:700;color:var(--color-bg);background:var(--color-accent)}.exercise-outcome__message{margin:0;font-weight:700}.submission-feedback{display:grid;gap:.5rem;padding:1.25rem 1.5rem;border:2px solid;border-radius:.75rem}.submission-feedback--passed{color:#b9f6ca;background:#2ea0432e;border-color:#2ea043}.submission-feedback--failed{color:#ffc9c9;background:#da36332e;border-color:#da3633}.submission-feedback__title{display:flex;align-items:center;gap:.75rem;margin:0;font-size:1.6rem;color:inherit;text-shadow:none}.submission-feedback__icon{font-size:2rem;line-height:1}.submission-feedback__points,.submission-feedback__hint{margin:0;font-size:1.1rem;font-weight:700}.submission-feedback__details{margin:.25rem 0 0;white-space:pre-wrap;color:var(--color-text);opacity:.85}.competition-status-badge{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.5rem .9rem;border-radius:999px;border:1px solid var(--color-border-strong);background:var(--color-bg-elevated);font-size:.85rem}.competition-status-badge--active{border-color:var(--color-accent);box-shadow:var(--glow-accent)}.competition-status-badge__label{color:var(--color-accent);font-weight:700}.competition-status-badge--active .competition-status-badge__label:before{content:"🏆 "}.competition-status-badge__cta{color:var(--color-text);text-decoration:underline;white-space:nowrap}.menu-shell{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;box-sizing:border-box;width:100%;min-height:72px;margin:0 0 1.5rem;padding:.75rem 1.5rem;background:var(--color-bg-elevated);border-bottom:1px solid var(--color-border-strong);box-shadow:0 2px 10px #00ff411a}.menu-shell__brand{width:max-content;color:var(--color-accent);font-size:1.75rem;font-weight:700;letter-spacing:.04em;text-decoration:none;white-space:nowrap;text-shadow:var(--glow-accent-strong)}.menu-shell__links{display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem}.menu-shell__link{color:var(--color-text);font-size:.95rem;text-decoration:none;white-space:nowrap}.menu-shell__link:hover,.menu-shell__link:focus-visible{color:var(--color-accent);text-shadow:var(--glow-accent)}.menu-shell__live-dot{display:inline-block;width:.5rem;height:.5rem;margin-left:.4rem;background:var(--color-accent, #00ff41);border-radius:50%;vertical-align:middle}@media (prefers-reduced-motion: no-preference){.menu-shell__live-dot{animation:menu-shell-live-dot-blink 1.2s steps(1,start) infinite}}@media (prefers-reduced-motion: reduce){.menu-shell__live-dot{opacity:1}}@keyframes menu-shell-live-dot-blink{0%,49%{opacity:1}50%,to{opacity:.15}}.menu-shell__visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.menu-shell__session{display:flex;align-items:center;gap:.75rem}.menu-shell__role{padding:.2rem .6rem;color:var(--color-accent);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--color-border-strong);border-radius:999px}.menu-shell__logout{padding:.35rem .75rem;font-size:.85rem}@media (max-width: 680px){.menu-shell{justify-content:center;text-align:center}.menu-shell__links{justify-content:center;width:100%}.menu-shell__session{width:100%;justify-content:center}}.course-page{max-width:800px;margin:3rem auto;padding:0 1.5rem 4rem;display:grid;gap:1.5rem}.course-page__hero{display:grid;gap:.5rem}.course-page__back{justify-self:start;font-size:.85rem;color:var(--color-text-muted)}.course-page__hero-row{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:.25rem}.course-page__exercises{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.courses-page{max-width:960px;margin:0 auto;padding:2rem 1.5rem 4rem}.courses-page__hero{margin-bottom:2rem;text-align:center}.courses-page__hero h1{margin-bottom:.5rem;font-size:2rem}.courses-page__tagline{color:var(--color-text-muted);font-size:1.05rem}.courses-page__empty{text-align:center;color:var(--color-text-muted)}.courses-page__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem}.course-card{display:grid;gap:.5rem;padding:1.25rem;background:var(--color-bg-elevated);border:1px solid var(--color-border-strong);border-radius:.5rem}.course-card__prompt{color:var(--color-accent);font-size:1.25rem}.course-card__title{color:var(--color-accent);font-size:1.15rem;margin:0}.course-card__description{color:var(--color-text-muted);font-size:.9rem;margin:0}.course-card__links{display:flex;gap:1rem;margin-top:.5rem}.course-card__links a{color:var(--color-accent);text-decoration:none}.course-card__links a:hover,.course-card__links a:focus-visible{text-decoration:underline}.home-page{max-width:960px;margin:0 auto;padding:2rem 1.5rem 4rem}.home-page__hero{margin-bottom:2.5rem;text-align:center}.home-page__hero h1{margin-bottom:.5rem;font-size:2.25rem}.home-page__tagline{color:var(--color-text-muted);font-size:1.1rem}.home-page__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem}.home-card{display:grid;gap:.4rem;padding:1.25rem;background:var(--color-bg-elevated);border:1px solid var(--color-border-strong);border-radius:.5rem;color:var(--color-text);text-decoration:none;transition:box-shadow .15s ease,transform .15s ease,border-color .15s ease}.home-card:hover,.home-card:focus-visible{border-color:var(--color-accent);box-shadow:var(--glow-accent);transform:translateY(-2px)}.home-card__prompt{color:var(--color-accent);font-size:1.25rem}.home-card__title{color:var(--color-accent);font-size:1.1rem;font-weight:700}.home-card__description{color:var(--color-text-muted);font-size:.9rem}.challenge-start{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;background:var(--color-bg-elevated);border:1px solid var(--color-accent, var(--color-border-strong));border-radius:.5rem}.challenge-start__progress,.challenge-start__complete{margin:0;font-weight:700}.challenge-start__button{padding:.6rem 1.4rem;font-weight:700;border:1px solid var(--color-accent, var(--color-border-strong));border-radius:999px;text-decoration:none}.competition-toggle{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;padding:1rem;background:var(--color-bg-elevated);border:1px solid var(--color-border-strong);border-radius:.5rem}.competition-toggle__status{margin:0;font-weight:700}.competition-toggle__controls{display:flex;align-items:center;gap:.5rem}.competition-toggle__actions{display:flex;flex-wrap:wrap;gap:.5rem}.leaderboard-table{width:100%;border-collapse:collapse}.leaderboard-table th,.leaderboard-table td{padding:.6rem .9rem;text-align:left;border-bottom:1px solid var(--color-border)}.leaderboard-table__row--leader td{color:var(--color-accent);text-shadow:var(--glow-accent)}.leaderboard-table__empty{color:var(--color-text-muted)}.leaderboard-page{max-width:840px;margin:0 auto;padding:2rem 1.5rem 4rem;display:grid;gap:1.25rem}.leaderboard-page__hero{display:grid;gap:.5rem}.leaderboard-page__hero h1{margin:0;font-size:1.75rem}.leaderboard-page__disconnected{color:var(--color-error)}.leaderboard-page__updated{margin:0;color:var(--color-text-muted);font-size:.85rem}.profile-settings{max-width:480px;margin:0 auto;padding:2rem 1.5rem 4rem}.profile-settings__hero{margin-bottom:1.5rem}.profile-settings__tagline{color:var(--color-text-muted)}.profile-settings__form{display:grid;gap:.75rem}.profile-settings__form input{background:var(--color-bg-elevated);border:1px solid var(--color-border-strong);color:var(--color-text);padding:.5rem;font-family:var(--font-mono)}
