:root{--ink:#17332b;--muted:#5f706b;--paper:#f7faf3;--panel:#fff;--fox:#e96f31;--leaf:#24735a;--line:#dfe8df;--danger:#9e2f2f;--shadow:0 16px 45px rgba(29,66,53,.09)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 90% 0,#ffead9 0,transparent 30%),var(--paper);color:var(--ink);font:16px/1.55 system-ui,-apple-system,Segoe UI,sans-serif}.topbar{display:flex;align-items:center;gap:24px;padding:14px max(20px,calc((100vw - 1240px)/2));background:#17332b;color:#fff;position:sticky;top:0;z-index:5;box-shadow:0 5px 22px #17332b33}.brand{display:flex;align-items:center;gap:9px;color:#fff;text-decoration:none;font-size:1.25rem}.brand span{font-size:1.7rem}.topbar nav{display:flex;gap:5px;flex:1;flex-wrap:wrap}.topbar nav a,.account a{color:#e7f4ec;text-decoration:none;padding:8px 10px;border-radius:9px}.topbar nav a:hover,.account a:hover{background:#ffffff18}.account{display:flex;align-items:center;gap:4px;font-size:.9rem}.account span{color:#b8d4c8}main{max-width:1240px;margin:auto;padding:34px 20px 70px}.page-head{margin-bottom:24px}.page-head h1{font-size:clamp(2rem,4vw,3.2rem);margin:.1em 0}.eyebrow{color:var(--fox);font-weight:800;letter-spacing:.11em;font-size:.76rem;text-transform:uppercase}.panel,.metric-grid article,.mini-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:var(--shadow)}.hero{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#fff,#fff7eb)}.hero h2{font-size:1.8rem;margin:0}.button,button{display:inline-block;border:0;border-radius:11px;background:var(--leaf);color:#fff;padding:11px 16px;font:inherit;font-weight:750;text-decoration:none;cursor:pointer}button:hover,.button:hover{filter:brightness(.92)}button:disabled{opacity:.45;cursor:not-allowed}.secondary{background:#e8f2ed;color:var(--leaf)}.metric-grid,.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin:18px 0}.metric-grid article{display:flex;flex-direction:column}.metric-grid strong,.big{font-size:2.3rem;color:var(--leaf)}.metric-grid span,.muted,small{color:var(--muted)}.notice{padding:14px 18px;border-radius:12px;margin:12px 0 20px}.success{background:#ddf4e7;color:#155a40}.error{background:#fde5e2;color:var(--danger)}.lesson-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:18px}.lesson h2{font-size:1.7rem}.answer{display:flex;gap:12px;align-items:center;border:1px solid var(--line);padding:14px;border-radius:12px;margin:10px 0;cursor:pointer}.answer:has(input:checked){border-color:var(--fox);background:#fff4eb}.answer input{accent-color:var(--fox)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;align-items:end}label{display:flex;flex-direction:column;gap:6px;font-weight:650}input,select{width:100%;border:1px solid #bfcfc5;border-radius:10px;padding:10px 12px;background:#fff;color:var(--ink);font:inherit}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line)}th{color:var(--muted);font-size:.85rem}.relation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:8px}.relation{flex-direction:row;justify-content:space-between;align-items:center;border:1px solid var(--line);border-radius:11px;padding:10px}.relation span{display:flex;flex-direction:column}.relation input{width:auto}.empty{padding:42px;text-align:center;border:2px dashed #c8d7cd;border-radius:18px;color:var(--muted)}.test-question{border:0;border-top:1px solid var(--line);padding:20px 0;margin:0}.test-question legend{font-weight:800;padding-top:20px}.game-icon{font-size:3rem}.prose{max-width:850px}.prose h2{margin-top:1.6em}footer{text-align:center;color:var(--muted);padding:30px}footer a{color:var(--leaf)}@media(max-width:850px){.topbar{align-items:flex-start;flex-wrap:wrap}.topbar nav{order:3;width:100%;overflow:auto;flex-wrap:nowrap}.account span{display:none}.lesson-grid{grid-template-columns:1fr}.hero{align-items:flex-start;gap:20px;flex-direction:column}}
