:root{
  --bg:#0f1724;
  --card:#0b1220;
  --accent:#7dd3fc;
  --muted:#9fb3c8;
  --glass: rgba(255,255,255,0.03);
  --radius:12px;
  --glass-2: rgba(125,211,252,0.07);
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:Inter,Segoe UI,system-ui,Roboto,"Helvetica Neue",Arial;
  background: linear-gradient(180deg,#08101a 0%,#071827 50%, #022032 100%);
  color:#e6f0f6;
  -webkit-font-smoothing:antialiased;
  line-height:1.45;
  padding-bottom:48px;
}
.site-header{
  display:flex;
  gap:20px;
  align-items:center;
  justify-content:space-between;
  padding:28px 6%;
  background:linear-gradient(90deg, rgba(125,211,252,0.06), transparent);
  border-bottom:1px solid rgba(255,255,255,0.03);
}
.site-header h1{margin:0;font-size:1.4rem;letter-spacing:0.6px}
.tagline{color:var(--muted);margin:0;font-size:0.95rem}
.site-header nav a{
  color:var(--muted);text-decoration:none;margin-left:16px;font-size:0.95rem;
}
.container{max-width:1100px;margin:28px auto;padding:0 6%;display:grid;grid-template-columns:1fr;gap:20px}
.card{
  background:linear-gradient(180deg, rgba(255,255,255,0.02), transparent);
  border-radius:var(--radius);
  padding:18px;
  box-shadow: 0 6px 20px rgba(2,6,23,0.6);
  border:1px solid rgba(255,255,255,0.02);
}
.lesson-grid{display:flex;gap:18px;align-items:stretch;flex-wrap:wrap}
.lesson-grid article{flex:1;min-width:220px}
.lesson-grid aside{width:260px;background:var(--glass);padding:12px;border-radius:10px}
.math{font-weight:600;color:var(--accent)}
.badge{margin-top:8px;background:var(--glass-2);padding:6px;border-radius:8px;color:var(--accent);font-size:0.9rem}

.interactive{margin-top:12px}
#lightRange{width:100%}
.sim{display:flex;align-items:center;gap:16px;margin-top:12px}
.plant{
  width:120px;height:120px;border-radius:24px;
  background:linear-gradient(180deg,#0b9  #060);
  box-shadow: 0 10px 30px rgba(11,153,100,0.18);
  position:relative;
  transition:transform 0.25s ease, filter 0.25s ease;
}
.plant::after{
  content:"";position:absolute;left:10px;right:10px;bottom:8px;height:14px;border-radius:50%;
  background:rgba(255,255,255,0.03);
}
.oxygen{font-weight:700;color:var(--accent)}

.timeline{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px}
.event{background:rgba(255,255,255,0.02);padding:12px;border-radius:10px;min-width:160px;flex:1}
.event time{display:block;color:var(--accent);font-weight:700}
.event.highlight{transform:translateY(-6px);box-shadow:0 10px 40px rgba(125,211,252,0.08)}

#quiz .choices button,
.choices button{
  background:transparent;border:1px solid rgba(255,255,255,0.06);color:var(--muted);
  padding:8px 12px;border-radius:8px;margin:6px;cursor:pointer;
}
.choices button:hover{border-color:var(--accent);color:var(--accent)}
.result{margin-top:8px;font-weight:700}

.quiz-edit{margin-top:12px;background:rgba(255,255,255,0.01);padding:10px;border-radius:10px}
#qText{width:100%;height:64px;margin-bottom:8px;border-radius:8px;padding:8px;background:transparent;color:inherit;border:1px solid rgba(255,255,255,0.04)}
#correct{padding:8px;border-radius:8px;width:140px;margin-right:8px;border:1px solid rgba(255,255,255,0.04)}

#playground textarea#code{width:100%;height:140px;border-radius:10px;padding:10px;background:#07121a;border:1px solid rgba(255,255,255,0.03);color:#dbeafe;font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, "Roboto Mono", monospace}
.play-controls{display:flex;align-items:center;gap:12px;margin-top:8px}
.play-controls button{padding:8px 12px;border-radius:8px;background:linear-gradient(90deg,var(--accent),#60a5fa);border:none;color:#012;}

.site-footer{position:fixed;left:0;right:0;bottom:0;padding:12px 6%;background:linear-gradient(180deg,transparent, rgba(0,0,0,0.4));text-align:center;color:var(--muted);font-size:0.9rem}
@media(min-width:900px){
  .container{grid-template-columns:1fr 1fr;align-items:start}
  #lesson{grid-column:1 / span 2}
  #playground{grid-column:1 / span 2}
}
