/* Learn Python for Kids - Styles */
:root{
  --bg: #ffffff;
  --bg-2: #f8fbff;
  --ink: #1d2433;
  --muted: #536180;
  --card: #ffffff;
  --surface: #ffffff;
  --ring: rgba(0,0,0,.06);
  --primary: #ff6ec7; /* pink */
  --primary-2: #ffa26b; /* peach */
  --accent: #ffd166; /* gold */
  --good: #10b981; /* green */
  --bad: #ef4444;  /* red */
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0; font-family:'Nunito', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color:var(--ink);
  background:
    radial-gradient(1200px 600px at 80% -10%, rgba(255, 182, 193, .4) 0%, rgba(255,255,255,0) 60%),
    radial-gradient(900px 500px at 10% 10%, rgba(173, 216, 230, .4) 0%, rgba(255,255,255,0) 60%),
    linear-gradient(180deg, #ffffff, var(--bg-2));
}

.topbar{
  position:sticky; top:0; z-index:10; background:rgba(255,255,255,.85); backdrop-filter: blur(10px);
  display:flex; align-items:center; justify-content:space-between; padding:10px 16px; border-bottom:1px solid var(--ring)
}
.brand{display:flex; align-items:center; gap:10px}
.brand .mascot{width:36px; height:36px}
.brand h1{font-family:'Fredoka', cursive; font-size:22px; margin:0; color:#111}
.nav{display:flex; gap:12px}
.nav-link{color:var(--muted); text-decoration:none; padding:8px 10px; border-radius:10px}
.nav-link:hover{background:rgba(0,0,0,.04); color:#111}
.auth{display:flex; align-items:center; gap:8px}

.container{max-width:1100px; margin:0 auto; padding:24px}
.view{display:none}
.view.active{display:block}
.muted{color:var(--muted)}

.hero{display:grid; grid-template-columns:1.3fr 1fr; gap:24px; align-items:center; background: url('assets/rainbow.svg') bottom center / cover no-repeat; border:1px solid var(--ring); border-radius:20px; padding:12px}
.hero-left h2{font-family:'Fredoka'; font-size:40px; margin:8px 0}
.cta-row{display:flex; gap:12px; margin:10px 0 18px}
.stats{display:flex; gap:18px}
.stat{background:var(--card); padding:10px 14px; border-radius:12px; box-shadow: 0 2px 0 rgba(0,0,0,.04), inset 0 0 0 1px var(--ring)}
.stat span{font-weight:800}
.hero-right .rocket{max-width:100%; filter: drop-shadow(0 8px 24px rgba(0,0,0,.15))}
.hero-right .wizard{max-width:60%; opacity:.95; display:block; margin:10px auto 0}

.badges{display:flex; gap:8px; flex-wrap:wrap; margin-top:16px}
.badge{display:flex; align-items:center; gap:6px; background:linear-gradient(135deg, #ffffff, #fff1fb); border:1px solid var(--ring); padding:8px 12px; border-radius:999px; font-weight:700; color:#111}
.badge .star{color:var(--accent)}

.lesson-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(240px, 1fr)); gap:16px; margin:18px 0}
.lesson-card{background:linear-gradient(180deg, #ffffff, #fff7fd); border:1px solid var(--ring); padding:16px; border-radius:18px; box-shadow:0 6px 0 rgba(0,0,0,.04), 0 10px 30px rgba(0,0,0,.06)}
.unit{grid-column: 1/-1; display:block; cursor:pointer; position:relative}
.unit .arrow{position:absolute; right:16px; top:16px; opacity:.6}
.unit.collapsed + .unit-body{display:none}
.unit-body{grid-column: 1/-1; display:grid; grid-template-columns:repeat(auto-fill, minmax(240px, 1fr)); gap:16px}
.lesson-card h4{margin:0 0 8px}
.lesson-card .meta{display:flex; justify-content:space-between; color:var(--muted); font-size:13px}
.lesson-card .lock{opacity:.45}
.lesson-card .stars{color:var(--accent)}
.lesson-card .btn{margin-top:10px; width:100%}

.lesson-panel{background:linear-gradient(180deg, #ffffff, #fff7fd); border:1px solid var(--ring); border-radius:18px; padding:16px; box-shadow:0 10px 30px rgba(0,0,0,.08); margin-top:12px}
.lesson-panel.hidden{display:none}
.lesson-header{display:flex; align-items:center; justify-content:space-between}
.lesson-text{background:#f6f5ff; padding:12px; border-radius:12px}
.coach{display:flex; align-items:center; gap:10px; margin:10px 0 4px; background:#fff0f6; border:1px solid var(--ring); padding:8px 10px; border-radius:12px}
.coach-avatar{width:38px; height:38px}
.coach-text{color:#7a2e5d}
.editor{margin-top:12px}
.editor-toolbar{display:flex; gap:8px; margin-bottom:8px}
textarea#code, textarea#pgCode{width:100%; min-height:200px; background:#f7fafc; color:#0f172a; border:1px solid var(--ring); border-radius:12px; padding:12px; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; font-size:14px}
.output{margin-top:8px; background:#0b1021; color:#eaf0ff; border:1px solid rgba(0,0,0,.2); border-radius:12px; padding:10px; min-height:48px; white-space:pre-wrap}
.tests{margin-top:10px; display:grid; gap:8px}
.test{display:flex; align-items:center; gap:8px; padding:8px 10px; border-radius:10px; background:#f7faff; border:1px solid var(--ring); color:#0f172a}
.test.pass{border-color:rgba(16,185,129,.6); background:#ecfdf5; color:#064e3b}
.test.fail{border-color:rgba(239,68,68,.6); background:#fef2f2; color:#7f1d1d}

.profile-card{display:flex; gap:12px; align-items:center; background:var(--card); padding:12px; border-radius:12px; border:1px solid var(--ring)}
.avatar{width:52px; height:52px; border-radius:50%; background:#16204a}
.profile-name{font-weight:800; font-size:18px}
.profile-row{color:var(--muted)}
.chip{display:inline-block; padding:4px 8px; border-radius:999px; background:#eef2ff; border:1px solid var(--ring); color:#111}
.sync{margin-top:12px}

.btn{background:#ffffff; border:1px solid var(--ring); color:#111; padding:10px 14px; border-radius:12px; cursor:pointer}
.btn:hover{filter:brightness(1.08)}
.btn.primary{background:linear-gradient(135deg, var(--primary), var(--primary-2)); color:#1d0423; font-weight:800}
.btn.secondary{background:#f3f4f6}
.btn.small{padding:6px 10px; font-size:13px}
.btn:disabled{opacity:.6; cursor:not-allowed; filter:none}

.footer{padding:20px; text-align:center; color:var(--muted)}

@media (max-width: 860px){
  .hero{grid-template-columns:1fr}
}
