:root {
  --bg:#080c10;--bg2:#0d1117;--bg3:#161b22;--bg4:#1c2128;
  --border:#21262d;--border2:#30363d;
  --text:#e6edf3;--text-dim:#7d8590;--text-muted:#484f58;
  --accent:#2f81f7;--accent2:#388bfd;
  --green:#3fb950;--orange:#d29922;--red:#f85149;--purple:#a371f7;
  --cyan:#79c0ff;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Outfit',sans-serif;background:var(--bg);color:var(--text);min-height:100vh;}
::-webkit-scrollbar{width:4px;}
::-webkit-scrollbar-track{background:var(--bg);}
::-webkit-scrollbar-thumb{background:var(--border2);border-radius:2px;}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:.85rem 2rem;background:rgba(8,12,16,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);}
.nav-logo{font-weight:900;font-size:1.05rem;color:var(--text);text-decoration:none;display:flex;align-items:center;gap:8px;}
.nav-logo span{color:var(--accent);}
.nav-links{display:flex;gap:1.5rem;list-style:none;}
.nav-links a{color:var(--text-dim);text-decoration:none;font-size:.85rem;font-weight:600;transition:color .2s;}
.nav-links a:hover{color:var(--accent);}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1.4rem;border-radius:8px;font-family:'Outfit',sans-serif;font-weight:700;font-size:.88rem;text-decoration:none;cursor:pointer;border:none;transition:all .2s;}
.btn-primary{background:var(--accent);color:#fff;}
.btn-primary:hover{background:var(--accent2);transform:translateY(-2px);box-shadow:0 8px 24px rgba(47,129,247,.3);}
.btn-outline{background:transparent;color:var(--text-dim);border:1px solid var(--border);}
.btn-outline:hover{border-color:var(--accent);color:var(--accent);}

/* CONTENT STYLES (shared for materi pages) */
.lesson-content{line-height:1.85;font-size:.95rem;}
.lesson-content h2{font-size:1.25rem;font-weight:800;margin:2.2rem 0 .8rem;color:var(--text);}
.lesson-content h3{font-size:1rem;font-weight:700;margin:1.6rem 0 .6rem;color:var(--accent);}
.lesson-content p{margin-bottom:1rem;color:#cdd9e5;}
.lesson-content ul,.lesson-content ol{margin:0 0 1rem 1.5rem;color:#cdd9e5;}
.lesson-content li{margin-bottom:.4rem;line-height:1.75;}
.lesson-content strong{color:var(--text);font-weight:700;}

.callout{border-radius:10px;padding:1rem 1.25rem;margin:1.5rem 0;display:flex;gap:.9rem;align-items:flex-start;}
.callout i{flex-shrink:0;margin-top:.15rem;}
.callout-info{background:rgba(47,129,247,.08);border:1px solid rgba(47,129,247,.2);}
.callout-info i{color:var(--accent);}
.callout-warn{background:rgba(210,153,34,.08);border:1px solid rgba(210,153,34,.2);}
.callout-warn i{color:var(--orange);}
.callout-success{background:rgba(63,185,80,.08);border:1px solid rgba(63,185,80,.2);}
.callout-success i{color:var(--green);}
.callout-danger{background:rgba(248,81,73,.08);border:1px solid rgba(248,81,73,.2);}
.callout-danger i{color:var(--red);}
.callout-content{font-size:.88rem;line-height:1.7;color:var(--text-dim);}
.callout-content strong{color:var(--text);}

.code-block{background:var(--bg2);border:1px solid var(--border2);border-radius:10px;padding:1.2rem 1.4rem;margin:1.2rem 0;font-family:'Space Mono',monospace;font-size:.82rem;line-height:1.7;overflow-x:auto;color:#79c0ff;white-space:pre;}
.code-block .cmt{color:var(--text-muted);}
.code-block .key{color:var(--purple);}
.code-block .str{color:var(--green);}
.code-block .val{color:var(--orange);}

.table-wrap{overflow-x:auto;margin:1.2rem 0;}
table{width:100%;border-collapse:collapse;font-size:.85rem;}
th{background:var(--bg3);padding:.7rem 1rem;text-align:left;font-weight:700;border:1px solid var(--border2);color:var(--text-dim);font-family:'Space Mono',monospace;font-size:.72rem;letter-spacing:.05em;}
td{padding:.7rem 1rem;border:1px solid var(--border);color:#cdd9e5;vertical-align:top;}
tr:nth-child(even) td{background:rgba(255,255,255,.02);}

/* QUIZ */
.mini-quiz{background:var(--bg3);border:1px solid var(--border);border-radius:14px;padding:1.8rem;margin:2rem 0;}
.mini-quiz-title{font-size:.75rem;font-family:'Space Mono',monospace;color:var(--accent);letter-spacing:.1em;margin-bottom:1.2rem;}
.mq-question{font-weight:700;font-size:.95rem;margin-bottom:1rem;line-height:1.55;}
.mq-options{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.8rem;}
.mq-opt{background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:.75rem 1rem;cursor:pointer;font-size:.88rem;transition:all .15s;display:flex;align-items:center;gap:.7rem;}
.mq-opt:hover:not(.disabled){border-color:var(--accent);background:rgba(47,129,247,.06);}
.mq-opt.correct{border-color:var(--green);background:rgba(63,185,80,.1);color:var(--green);}
.mq-opt.wrong{border-color:var(--red);background:rgba(248,81,73,.1);color:var(--red);}
.mq-opt.disabled{pointer-events:none;}
.mq-letter{width:24px;height:24px;border-radius:6px;background:var(--border);display:flex;align-items:center;justify-content:center;font-family:'Space Mono',monospace;font-size:.68rem;font-weight:700;flex-shrink:0;color:var(--text-dim);}
.mq-opt.correct .mq-letter{background:var(--green);color:#000;}
.mq-opt.wrong .mq-letter{background:var(--red);color:#fff;}
.mq-feedback{font-size:.83rem;padding:.8rem 1rem;border-radius:8px;display:none;line-height:1.6;margin-top:.5rem;}
.mq-feedback.show{display:block;}
.mq-feedback.ok{background:rgba(63,185,80,.08);border:1px solid rgba(63,185,80,.25);color:var(--green);}
.mq-feedback.no{background:rgba(248,81,73,.08);border:1px solid rgba(248,81,73,.25);color:var(--red);}

footer{border-top:1px solid var(--border);padding:1.5rem 2rem;text-align:center;font-size:.78rem;color:var(--text-muted);}
footer span{color:var(--accent);}

@keyframes fadeIn{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}
.fade-in{animation:fadeIn .35s ease both;}

@media(max-width:640px){
  nav{padding:.85rem 1rem;}
  .nav-links{display:none;}
}
