:root{--bg: #f8f7f4;--surface: #ffffff;--text: #1c1917;--text-muted: #6b6560;--border: #e7e2dc;--accent: #4f46e5;--accent-strong: #4338ca;--accent-soft: #eef2ff;--accent-soft-text: #3730a3;--header-bg: #1c1917;--header-text: #fafaf9;--shadow: 0 1px 3px rgba(28, 25, 23, .06), 0 4px 14px rgba(28, 25, 23, .05)}@media (prefers-color-scheme: dark){:root{--bg: #16141a;--surface: #201d26;--text: #ece9f1;--text-muted: #a49faf;--border: #35313e;--accent: #a5b4fc;--accent-strong: #c7d2fe;--accent-soft: #2c2a45;--accent-soft-text: #c7d2fe;--header-bg: #100e14;--header-text: #ece9f1;--shadow: 0 1px 3px rgba(0, 0, 0, .4), 0 4px 14px rgba(0, 0, 0, .3)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;min-height:100dvh;display:flex;flex-direction:column}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.skip-link{position:absolute;left:-9999px;top:0;background:var(--accent);color:#fff;padding:.6rem 1rem;z-index:100;border-radius:0 0 8px}.skip-link:focus{left:0}.site-header{background:var(--header-bg);color:var(--header-text);padding:.85rem 1.25rem}.site-header .inner{max-width:720px;margin:0 auto;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.brand{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;font-size:1.05rem;color:var(--header-text);margin-right:auto}.brand:hover{text-decoration:none}.brand img{width:26px;height:26px;border-radius:6px;display:block}.site-nav{display:flex;gap:.25rem}.site-nav a{color:var(--header-text);opacity:.85;font-size:.92rem;padding:.3rem .65rem;border-radius:6px}.site-nav a:hover{opacity:1;background:#ffffff1f;text-decoration:none}.site-nav a[aria-current=page]{opacity:1;background:#ffffff29}main{width:100%;max-width:720px;margin:0 auto;padding:2.25rem 1.25rem 3rem;flex:1}.site-footer{border-top:1px solid var(--border);padding:1.75rem 1.25rem 2.25rem;font-size:.85rem;color:var(--text-muted)}.site-footer .inner{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:.5rem;text-align:center}.site-footer nav{display:flex;gap:1.25rem;justify-content:center;flex-wrap:wrap}.tag{display:inline-block;background:var(--accent-soft);color:var(--accent-soft-text);border-radius:999px;padding:.2rem .75rem;font-size:.8rem;font-weight:500;margin:.15rem .15rem .15rem 0}a.tag:hover{text-decoration:none;filter:brightness(.95)}@media (prefers-color-scheme: dark){a.tag:hover{filter:brightness(1.15)}}.lesson-list{list-style:none;display:flex;flex-direction:column;gap:1rem}.lesson-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.25rem 1.4rem;box-shadow:var(--shadow)}.lesson-card h2,.lesson-card h3{font-size:1.15rem;line-height:1.35;margin-bottom:.35rem}.lesson-card h2 a,.lesson-card h3 a{color:var(--text)}.lesson-card h2 a:hover,.lesson-card h3 a:hover{color:var(--accent);text-decoration:none}.lesson-meta{font-size:.82rem;color:var(--text-muted)}.lesson-excerpt{margin-top:.5rem;font-size:.95rem;color:var(--text-muted)}.lesson-tags{margin-top:.6rem}.page-title{font-size:1.9rem;line-height:1.25;margin-bottom:.5rem;letter-spacing:-.02em}.page-intro{color:var(--text-muted);margin-bottom:1.75rem;max-width:56ch}.btn{display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--border);background:var(--surface);color:var(--text);padding:.45rem .95rem;border-radius:8px;font-size:.85rem;font-weight:500;font-family:inherit;cursor:pointer;line-height:1.4}.btn:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media (max-width: 480px){.page-title{font-size:1.55rem}.lesson-card{padding:1rem 1.1rem}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
