html{font-size:112.5%}:root{--bg: #050816;--text: #f9fafb;--card: #020617;--card-strong: #0b1220;--border: rgba(30, 64, 175, .6);--muted: #9ca3af}html.theme-light{--bg: #edf1f5;--text: #111827;--card: #f6f8fb;--card-strong: #ffffff;--border: rgba(148, 163, 184, .35);--muted: #475569}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,sans-serif}.home-buttons{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.guest-button{background-color:transparent;color:#d1d5db;padding:.7rem 1.4rem;border-radius:9999px;border:1px solid #4b5563;font-size:.95rem;cursor:pointer;transition:.2s ease}.guest-button:hover{background:#ffffff1a;transform:translateY(-2px)}.continue-button{background-color:#3b82f6;color:#fff;padding:.8rem 1.6rem;border-radius:9999px;font-size:1rem;cursor:pointer;transition:.2s ease;text-decoration:none}.continue-button:hover{background-color:#60a5fa;transform:translateY(-2px)}.home-wrapper{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px}.home-wrapper--top{justify-content:flex-start;padding-top:32px}.title{font-size:3rem;font-weight:800;color:#6366f1;margin-bottom:.5rem}.subtitle{font-size:1.2rem;color:var(--muted);margin-bottom:2rem}.start-button{background-color:#6366f1;color:#fff;padding:.8rem 1.6rem;border-radius:9999px;border:1px solid rgba(15,23,42,.9);font-size:1rem;cursor:pointer;transition:.2s ease}.start-button:hover{background-color:#818cf8;transform:translateY(-2px)}.path-page{min-height:100vh;background:var(--bg);color:var(--text);padding:2rem 1rem 3rem}.path-header{max-width:1100px;margin:0 auto 2rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem}.path-header-left{max-width:480px}.path-title{font-size:2rem;font-weight:700;margin-bottom:.25rem}.path-subtitle{font-size:.95rem;color:var(--muted)}.path-header-stats{display:flex;flex-wrap:wrap;gap:.75rem}.path-header-link{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .9rem;border-radius:9999px;border:1px solid rgba(255,255,255,.2);background:#ffffff0f;color:var(--text);font-size:.85rem;text-decoration:none}.path-header-link:hover{background:#ffffff1f;transform:translateY(-1px)}.stat-pill{padding:.4rem .9rem;border-radius:9999px;font-size:.85rem;display:inline-flex;align-items:center;gap:.35rem;background:var(--card);border:1px solid #1f2937}.stat-pill--xp{border-color:#facc15}.stat-pill--streak{border-color:#fb923c}.stat-pill--hearts{border-color:#f97373}.stats-pills{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.path-layout{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,2.8fr);gap:2rem;align-items:flex-start}.section-title{font-size:1.1rem;font-weight:600;margin-bottom:.25rem}.section-subtitle{font-size:.9rem;color:var(--muted)}.path-timeline{background:radial-gradient(circle at top left,#111827,var(--card) 60%);border-radius:1.5rem;padding:1.5rem 1.75rem;border:1px solid rgba(15,23,42,.7);box-shadow:0 18px 40px #0f172ab3}.path-steps{position:relative;margin-top:1.2rem;padding-left:1.5rem}.path-steps:before{content:"";position:absolute;top:.4rem;left:.65rem;bottom:1.5rem;width:2px;background:linear-gradient(to bottom,#4f46e5,#22c55e);opacity:.5}.path-step{display:flex;align-items:center;margin-bottom:1.3rem}.path-step:last-child{margin-bottom:0}.path-step-dot{width:20px;height:20px;border-radius:9999px;background:#020617;border:2px solid #4b5563;margin-right:.75rem}.path-step-dot{width:20px;height:20px;border-radius:9999px;margin-right:.75rem;border:2px solid #4b5563;background:var(--card)}.path-step-content{display:flex;flex-direction:column}.path-step-label{font-size:.75rem;color:var(--muted);margin:0}.path-step-title{font-size:.95rem;font-weight:600;margin:.1rem 0 0}.difficulty-badge{display:inline-flex;align-items:center;font-size:.7rem;font-weight:700;padding:.15rem .5rem;border-radius:9999px;margin-top:.4rem;width:fit-content}.difficulty-badge--easy{background:#22c55e26;color:#86efac;border:1px solid rgba(34,197,94,.5)}.difficulty-badge--medium{background:#fb923c26;color:#fdba74;border:1px solid rgba(251,146,60,.5)}.difficulty-badge--hard{background:#f8717126;color:#fecaca;border:1px solid rgba(248,113,113,.5)}.path-step--completed .path-step-dot{background:radial-gradient(circle,#22c55e,#16a34a 60%,#020617 80%);border-color:#22c55e;box-shadow:0 0 12px #22c55eb3}.path-step--completed .path-step-title{color:#bbf7d0}.path-step--current .path-step-dot{color:#6366f1;background:radial-gradient(circle,#a855f7,#6366f1 60%,#020617 80%);box-shadow:0 0 16px #818cf8cc}.path-step--current .path-step-title{color:#e5e7eb}.path-step--locked .path-step-title{border-color:#4b5563;background:#020617;opacity:.7}.path-step--locked .path-step-title{color:#6b7280}.big-project-card{margin-top:1.75rem;background:#0f172ae6;border-radius:1rem;padding:1.1rem 1.3rem;border:1px dashed rgba(148,23,42,.9)}.big-project-title{font-size:.95rem;font-weight:600;margin-bottom:.35rem}.big-project-text,.big-project-subtitle{font-size:.85rem;color:var(--muted)}.path-dashboard{min-height:0}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem}.dashboard-card{background:var(--card);border-radius:1.2rem;padding:1rem 1.3rem;border:1px solid var(--border);box-shadow:0 12px 30px #0f172acc;font-size:.9rem}.dashboard-card:hover{border-color:#6366f1;transform:translateY(-2px);transition:all .15s ease-out}.dashboard-title{font-size:.95rem;font-weight:600;margin-bottom:.5rem}.dashboard-text{font-size:.85rem;color:var(--muted)}.dashboard-list{list-style:none;padding-left:0;margin:.2rem 0 0;font-size:.85rem}.dashboard-list li+li{margin-top:.25rem}.path-step-link{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:inherit;width:100%}.path-step-link--disabled{opacity:.6;cursor:not-allowed}@media(max-width:900px){.path-layout{grid-template-columns:minmax(0,1fr)}.path-header{align-items:flex-start}.path-header-stats{justify-content:flex-start}.dashboard-grid{grid-template-columns:minmax(0,1fr)}}.lesson-card{width:100%;max-width:900px;background:var(--card);border-radius:1.2rem;padding:1.2rem 1.3rem;border:1px solid var(--border);box-shadow:0 12px 30px #0f172acc;margin-top:1rem;text-align:left}.lesson-card-title{font-size:1rem;font-weight:700;margin-bottom:.5rem}.lesson-actions{display:flex;gap:12px;margin-top:12px;align-items:center}.lesson-textarea--code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.95rem;line-height:1.4;white-space:pre}.lesson-output{display:grid;gap:12px}.lesson-output-block{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px}.lesson-output-label{font-size:.8rem;opacity:.8;margin-bottom:8px}.lesson-output-pre{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.9rem;white-space:pre-wrap}.sandbox-output,.settings-card{max-width:720px}.settings-section{margin-top:1.25rem;text-align:left}.settings-row{display:flex;gap:.5rem;margin-top:.5rem;flex-wrap:wrap}.settings-pill{background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:var(--text);border-radius:9999px;padding:.35rem .8rem;font-size:.85rem;cursor:pointer}.settings-pill--active{border-color:#6366f1;box-shadow:0 0 0 2px #6366f140}.settings-pill--disabled{opacity:.6;cursor:not-allowed}.lesson-code{white-space:pre-wrap;background:#0f172ae6;border:1px solid rgba(148,163,184,.2);border-radius:.75rem;padding:.9rem;font-size:.9rem;color:var(--text)}.lesson-textarea{width:100%;background:#0f172ae6;border:1px solid rgba(148,163,184,.25);border-radius:.75rem;padding:.8rem;color:var(--text);font-size:.95rem;margin:.75rem 0 1rem;resize:vertical}.lesson-card-hint{color:var(--muted);font-size:.85rem;margin-bottom:.5rem}.path-menu{position:relative;margin-left:1rem}.leaderboard-page{min-height:100vh;padding:2rem 1rem 3rem}.leaderboard-topbar,.leaderboard-header,.leaderboard-podium,.leaderboard-list{max-width:900px;margin:0 auto}.leaderboard-header{margin-top:1.5rem;margin-bottom:1.5rem}.leaderboard-podium{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;align-items:end}.podium-card{background:var(--card);border-radius:1.2rem;border:1px solid var(--border);padding:1rem;text-align:center;box-shadow:0 12px 30px #0f172a99}.podium-card--first{border-color:#facc1599;transform:translateY(-8px)}.podium-card--current{box-shadow:0 0 0 2px #6366f159}.podium-rank{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--muted)}.podium-rank-text{font-weight:600}.leaderboard-icon{width:20px;height:20px}.podium-card--first .leaderboard-icon{color:#facc15}.medal--silver{color:#d1d5db}.medal--bronze{color:#f59e0b}.podium-avatar{margin:.6rem auto .4rem;color:#9ca3af}.podium-avatar svg,.podium-avatar .avatar-icon svg{width:56px;height:56px}.podium-name{font-size:1rem;font-weight:600;margin:.2rem 0 .1rem}.podium-xp{font-size:.85rem;color:var(--muted);margin:0}.leaderboard-list{margin-top:1.5rem}.leaderboard-table{display:grid;gap:.5rem;margin-top:.8rem}.leaderboard-row{display:grid;grid-template-columns:80px 1fr 80px;align-items:center;padding:.6rem .8rem;border-radius:.9rem;border:1px solid var(--border);background:var(--card);font-size:.9rem}.leaderboard-row--header{border:0;background:transparent;color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.leaderboard-row--current{border-color:#6366f180;box-shadow:0 0 0 1px #6366f140}.leaderboard-player{display:inline-flex;align-items:center;gap:.6rem}.leaderboard-avatar{color:#9ca3af}.leaderboard-avatar svg,.leaderboard-avatar .avatar-icon svg{width:32px;height:32px}@media(max-width:640px){.leaderboard-row{grid-template-columns:60px 1fr 60px;font-size:.85rem}}.avatar-button{display:inline-flex;align-items:center;justify-content:center;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:var(--text);border-radius:12px;padding:.5rem .75rem;cursor:pointer;font-size:1rem}.avatar-button:hover{background:#ffffff1a}.avatar-icon svg{width:28px;height:28px;display:block}.menu-dropdown{position:absolute;top:calc(100% + 10px);right:0;width:220px;background:var(--card-strong);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:.35rem;box-shadow:0 12px 30px #00000073;z-index:20}.menu-item{width:100%;text-align:left;background:transparent;border:0;color:var(--text);padding:.6rem .7rem;border-radius:10px;cursor:pointer;font-size:.95rem}.menu-item:hover{background:#ffffff14}.menu-divider{height:1px;background:#ffffff1a;margin:.35rem 0}.menu-item--danger{color:#fca5a5}.auth-wrapper{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg);color:var(--text)}.auth-card{width:100%;max-width:420px;background:radial-gradient(circle at top left,#111827,var(--card) 60%);border-radius:1.5rem;padding:1.5rem 1.5rem 1.25rem;border:1px solid rgba(15,23,42,.7);box-shadow:0 18px 40px #0f172ab3;display:flex;flex-direction:column;gap:.9rem}.auth-title{margin:0;font-size:1.7rem;font-weight:800;color:#6366f1}.auth-subtitle{margin:0;font-size:.95rem;color:var(--muted);line-height:1.4}.auth-field{display:flex;flex-direction:column;gap:.35rem}.auth-label{font-size:.85rem;color:var(--muted)}.auth-input{width:100%;padding:.7rem .85rem;border-radius:.75rem;border:1px solid rgba(148,163,184,.25);background:#0f172ae6;color:var(--text);outline:none;font-size:.95rem}.auth-input::placeholder{color:#9ca3afb3}.auth-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f133}.auth-error{margin:0;color:#f97373;font-size:.9rem}.auth-primary{background-color:#6366f1;color:#fff;padding:.85rem 1.2rem;border-radius:9999px;border:1px solid rgba(15,23,42,.9);font-size:1rem;font-weight:700;cursor:pointer;transition:.2s ease}.auth-primary:hover{background-color:#818cf8;transform:translateY(-2px)}.auth-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-secondary{background:transparent;color:#d1d5db;padding:.75rem 1.1rem;border-radius:9999px;border:1px solid #4b5563;font-size:.95rem;cursor:pointer;transition:.2s ease}.auth-secondary:hover{background:#ffffff14;transform:translateY(-2px)}.auth-secondary:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-divider{display:flex;align-items:center;gap:.75rem;color:#9ca3af;font-size:.85rem;margin:.25rem 0 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:#ffffff1a}.auth-ghost{background-color:transparent;color:#d1d5db;padding:.8rem 1.2rem;border-radius:9999px;border:1px solid #4b5563;font-size:.95rem;cursor:pointer;transition:.2s ease}.auth-ghost:hover{background:#ffffff1a;transform:translateY(-2px)}.auth-ghost:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-footnote{margin:0;font-size:.85rem;color:#9ca3af;text-align:center}.onboarding-card{gap:1.1rem}.onboarding-step{display:flex;flex-direction:column;gap:.75rem}.onboarding-question{font-size:1.1rem;margin:0}.onboarding-option{display:flex;gap:.6rem;align-items:center;font-size:.95rem;color:#e5e7eb}.onboarding-actions{display:flex;gap:.75rem;margin-top:.5rem}.onboarding-avatar-grid{margin-top:.5rem}.lesson-stats-bar{display:flex;gap:1rem;margin-left:1rem;font-size:.9rem;color:#e5e7eb}.lesson-stats-bar span{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);padding:.35rem .7rem;border-radius:9999px}.lesson-topbar{width:100%;max-width:900px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.topbar-back{text-decoration:none}.lesson-topbar-stats{flex:1;display:flex;justify-content:center}.topbar-center{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;flex:1}.topbar-right{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;min-width:110px;justify-content:flex-end}.topbar-pill{background:transparent;border:1px solid rgba(255,255,255,.12);padding:.35rem .7rem;border-radius:9999px;font-size:.85rem}.lesson-topbar a,.lesson-topbar a:visited{color:inherit;text-decoration:none}.topbar-hearts-count{opacity:.8;font-size:.85rem;margin-left:4px}.start-button,.continue-button,.guest-button,.topbar-back{text-decoration:none}.journey-list-scroll{height:320px;max-height:320px;overflow-y:auto;padding-right:.5rem;margin-top:1rem}.journey-list-scroll::-webkit-scrollbar{width:6px}.journey-list-scroll::-webkit-scrollbar-thumb{background:#94a3b859;border-radius:9999px}.journey-list-scroll::-webkit-scrollbar-track{background:transparent}.accessibility-widget{position:fixed;left:18px;bottom:18px;display:flex;gap:6px;padding:8px;border-radius:14px;background:#0f172ae6;border:1px solid rgba(148,163,184,.25);box-shadow:0 12px 30px #0f172ab3;z-index:50}.accessibility-button{background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:var(--text);border-radius:10px;padding:.35rem .6rem;font-size:.85rem;cursor:pointer}.accessibility-button:hover{background:#ffffff29}.profile-card{max-width:760px}.profile-grid{display:grid;grid-template-columns:180px 1fr;gap:1.25rem;align-items:start}.profile-left{display:flex;flex-direction:column;gap:.75rem;align-items:center}.profile-right{display:flex;flex-direction:column;gap:.75rem}.profile-avatar--xl svg{width:120px;height:120px}.profile-metrics{margin-top:.25rem}.profile-tag{display:inline-flex;margin-top:.5rem;padding:.2rem .6rem;border-radius:9999px;background:#6366f126;color:#c7d2fe;font-size:.75rem;font-weight:600}.avatar-picker{margin-top:1rem}.avatar-change-button{background:transparent;border:0;color:var(--muted);font-size:.85rem;cursor:pointer;padding:0;margin-bottom:.6rem;text-align:left}.avatar-change-button:hover{color:var(--text)}.avatar-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(52px,1fr));gap:.5rem}.avatar-option{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:6px;cursor:pointer}.avatar-option--active{border-color:#6366f1;box-shadow:0 0 0 2px #6366f140}@media(max-width:640px){.profile-grid{grid-template-columns:1fr}.profile-left{align-items:center}}.sandbox-card{max-width:720px}.sandbox-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:.5rem}.sandbox-control{display:flex;flex-direction:column;gap:.35rem}.sandbox-output{max-width:720px}html.theme-light .auth-footnote,html.theme-light .auth-subtitle,html.theme-light .auth-label,html.theme-light .dashboard-text,html.theme-light .path-subtitle,html.theme-light .path-step-label{color:var(--muted)}html.theme-light .auth-card,html.theme-light .dashboard-card,html.theme-light .lesson-card,html.theme-light .path-timeline{box-shadow:0 12px 30px #0f172a1f}html.theme-light .auth-input,html.theme-light .lesson-textarea{background:#fff;color:#111827}html.theme-light .path-timeline{background:radial-gradient(circle at top left,#ffffff,var(--card) 60%)}html.theme-light .accessibility-widget{background:#ffffffe6;border-color:#94a3b840}html.theme-light .menu-dropdown{background:var(--card-strong);border-color:var(--border)}html.theme-light .guest-button,html.theme-light .auth-secondary,html.theme-light .auth-ghost{color:#1f2937;border-color:#cbd5e1}html.theme-light .start-button,html.theme-light .continue-button{box-shadow:0 6px 16px #6366f140}
