@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&family=Syne:wght@400;500;600;700&display=swap');

:root {
  --bg:#0d0f14;--bg2:#13161e;--bg3:#1a1e28;
  --border:#252a38;--text:#e8eaf0;--muted:#6b7280;
  --accent:#4ade80;--accent2:#60a5fa;--accent3:#f59e0b;
  --danger:#f87171;--purple:#a78bfa;--code-bg:#0a0c10;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{background:var(--bg);color:var(--text);font-family:'Syne',sans-serif;line-height:1.7;min-height:100vh;}

nav{position:sticky;top:0;z-index:100;background:rgba(13,15,20,0.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:0 1.5rem;display:flex;align-items:center;gap:1rem;height:54px;}
.nav-logo{font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:700;color:var(--accent);text-decoration:none;letter-spacing:.06em;white-space:nowrap;}
.nav-links{display:flex;gap:0;margin-left:auto;list-style:none;overflow-x:auto;}
.nav-links a{display:block;padding:0 10px;height:54px;line-height:54px;font-size:11px;font-weight:500;color:var(--muted);text-decoration:none;white-space:nowrap;transition:color .15s;border-bottom:2px solid transparent;}
.nav-links a:hover{color:var(--text);}
.nav-links a.active{color:var(--accent);border-bottom-color:var(--accent);}

.progress-bar{height:2px;background:var(--border);position:fixed;top:54px;left:0;right:0;z-index:99;}
.progress-fill{height:100%;background:var(--accent);width:0%;transition:width .1s;}

.container{max-width:820px;margin:0 auto;padding:2.5rem 1.5rem 6rem;}

.hero{padding:2.5rem 0 2rem;border-bottom:1px solid var(--border);margin-bottom:2.5rem;}
.level-badge{display:inline-flex;align-items:center;gap:8px;font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;letter-spacing:.1em;padding:3px 10px;border-radius:4px;margin-bottom:.8rem;}
.hero h1{font-size:clamp(1.6rem,4vw,2.4rem);font-weight:700;line-height:1.2;margin-bottom:.6rem;}
.hero p{font-size:.95rem;color:var(--muted);max-width:540px;}

h2{font-size:1.1rem;font-weight:600;color:var(--text);margin:2.5rem 0 .9rem;padding-bottom:.4rem;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px;}
h2::before{content:'';display:inline-block;width:3px;height:16px;background:var(--accent);border-radius:2px;flex-shrink:0;}
h3{font-size:.95rem;font-weight:600;color:var(--accent2);margin:1.5rem 0 .5rem;}
p{color:#a8b4c8;margin-bottom:.9rem;font-size:.93rem;}

pre{background:var(--code-bg);border:1px solid var(--border);border-radius:8px;padding:1.1rem 1.3rem;overflow-x:auto;margin:.8rem 0 1.3rem;position:relative;}
pre code{font-family:'JetBrains Mono',monospace;font-size:.78rem;line-height:1.9;color:#c9d1d9;}
.lang{position:absolute;top:7px;right:10px;font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--muted);letter-spacing:.08em;}
code:not(pre code){font-family:'JetBrains Mono',monospace;font-size:.8em;background:var(--bg3);border:1px solid var(--border);padding:1px 5px;border-radius:3px;color:var(--accent3);}

.kw{color:#ff7b72;}.fn{color:#d2a8ff;}.str{color:#a5d6ff;}.cm{color:#4a5568;font-style:italic;}.num{color:#79c0ff;}.op{color:#ffa657;}

.callout{border-radius:8px;padding:.9rem 1.1rem;margin:1.1rem 0;font-size:.88rem;border-left:3px solid;display:flex;gap:10px;align-items:flex-start;}
.callout.info{background:rgba(96,165,250,.07);border-color:var(--accent2);color:#93c5fd;}
.callout.warn{background:rgba(245,158,11,.07);border-color:var(--accent3);color:#fcd34d;}
.callout.good{background:rgba(74,222,128,.07);border-color:var(--accent);color:#86efac;}
.callout.bad{background:rgba(248,113,113,.07);border-color:var(--danger);color:#fca5a5;}

.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:1.1rem 0;}
.card{background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:.9rem 1rem;}
.card-title{font-size:.83rem;font-weight:600;color:var(--text);margin-bottom:3px;}
.card-body{font-size:.78rem;color:var(--muted);line-height:1.5;}

table{width:100%;border-collapse:collapse;font-size:.8rem;margin:.9rem 0 1.3rem;}
th{background:var(--bg3);color:var(--muted);font-family:'JetBrains Mono',monospace;font-size:.7rem;letter-spacing:.06em;padding:7px 10px;text-align:left;border-bottom:1px solid var(--border);}
td{padding:7px 10px;border-bottom:1px solid var(--border);color:#a8b4c8;vertical-align:top;}
tr:last-child td{border-bottom:none;}
td:first-child{font-family:'JetBrains Mono',monospace;color:var(--accent2);font-size:.76rem;}

.practice{background:var(--bg2);border:1px solid var(--border);border-radius:10px;padding:1.4rem;margin-top:3rem;}
.practice h2{margin-top:0;border:none;padding:0;}
.q{background:var(--bg3);border:1px solid var(--border);border-radius:6px;padding:.9rem 1rem;margin:.6rem 0;font-size:.86rem;color:#a8b4c8;}
.q strong{color:var(--accent3);font-family:'JetBrains Mono',monospace;font-size:.78rem;}

.page-nav{display:flex;justify-content:space-between;align-items:center;margin-top:3.5rem;padding-top:1.5rem;border-top:1px solid var(--border);}
.page-nav a{display:flex;align-items:center;gap:8px;font-size:.82rem;font-weight:500;color:var(--muted);text-decoration:none;padding:7px 14px;border-radius:6px;border:1px solid var(--border);transition:all .15s;}
.page-nav a:hover{color:var(--text);border-color:var(--accent);}
.page-nav span{color:var(--muted);font-size:.8rem;}

.index-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:2rem;}
.index-card{background:var(--bg2);border:1px solid var(--border);border-radius:10px;padding:1.3rem;text-decoration:none;display:block;transition:border-color .15s,transform .15s;}
.index-card:hover{border-color:var(--accent);transform:translateY(-2px);}
.lnum{font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:700;letter-spacing:.12em;margin-bottom:7px;display:block;}
.index-card h3{font-size:.95rem;font-weight:600;color:var(--text);margin:0 0 5px;}
.index-card p{font-size:.78rem;color:var(--muted);line-height:1.5;margin:0;}
.tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:10px;}
.tag{font-family:'JetBrains Mono',monospace;font-size:10px;padding:2px 6px;border-radius:3px;background:var(--bg3);color:var(--muted);border:1px solid var(--border);}

@media(max-width:600px){.container{padding:1.5rem 1rem 5rem;}nav{padding:0 1rem;}.nav-links a{padding:0 7px;font-size:10px;}}
