.page{max-width:900px;margin:0 auto;padding:var(--space-lg) 20px 24px}.lesson-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--space-md);align-items:start}.board-column,.lesson-panel{background:var(--panel);border-radius:var(--radius-lg);padding:var(--space-sm) var(--space-md) var(--space-md);box-shadow:var(--shadow-lg)}.board-column{justify-self:center}.board-frame{margin-bottom:12px}.board,cg-container{border-radius:var(--radius-sm)}#status{padding:10px 14px;border-radius:14px;font-size:15px;background:#fffaf4;color:var(--muted);box-shadow:var(--shadow-sm)}#status.error{color:var(--danger);background:var(--danger-soft)}#status.success{color:var(--success);background:var(--success-soft)}.step-progress{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap}.step-dot{width:28px;height:28px;border-radius:50%;border:2px solid var(--line);background:var(--panel);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--muted);transition:all 0.2s}.step-dot.active{border-color:var(--accent);color:var(--accent-dark);background:var(--accent-soft)}.step-dot.done{border-color:var(--success);color:white;background:var(--success)}.lesson-panel-title{font-size:20px;margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid var(--line)}.lesson-square-highlight{box-shadow:inset 0 0 0 4px rgba(122,69,22,0.98),0 0 0 2px rgba(236,196,133,0.85);background:rgba(122,69,22,0.12);box-sizing:border-box}.lesson-legal-dot{border-radius:50%;background:rgba(230,143,0,0.45)}.lesson-content svg.cg-shapes{shape-rendering:geometricPrecision}.lesson-content svg.cg-shapes line{stroke-width:0.1!important}.lesson-content svg.cg-shapes marker path{transform:scale(0.8);transform-origin:1.5px 2px}.instruction-card{padding:16px;border-radius:16px;background:#fffaf4;margin-bottom:14px;font-size:15px;line-height:1.6;box-shadow:var(--shadow-sm)}.instruction-card h3{margin:0 0 6px;font-size:16px}.instruction-card p{margin:0;color:var(--muted)}.explanation-card{padding:16px;border-radius:16px;background:var(--success-soft);margin-bottom:14px;font-size:15px;line-height:1.6;box-shadow:var(--shadow-sm)}.explanation-card h3{margin:0 0 6px;font-size:14px;color:var(--success)}.explanation-card p{margin:0;color:var(--ink)}.explanation-card.hidden{display:none}.lesson-complete{text-align:center;padding:var(--space-md);border-radius:16px;background:var(--success-soft)}.lesson-complete h2{color:var(--success);margin:0 0 8px}.lesson-complete p{color:var(--muted);margin:0 0 14px}.lesson-complete.hidden{display:none}.btn{display:inline-flex;align-items:center;padding:10px 20px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--ink);font:inherit;font-weight:600;cursor:pointer}.btn:hover{border-color:rgba(166,112,37,0.45);box-shadow:0 0 0 3px rgba(200,145,58,0.16)}.btn.primary{background:var(--accent);color:white;border-color:var(--accent)}.btn.primary:hover{background:var(--accent-dark)}.lessons-page{min-height:100vh}.catalog-view{max-width:960px;margin:0 auto;padding:var(--space-lg) 20px 24px}.catalog-header{margin-bottom:var(--space-lg)}.catalog-header h1{margin:0 0 8px}.catalog-progress{font-size:14px;color:var(--muted)}.catalog-progress-bar{height:6px;background:var(--line);border-radius:3px;margin-top:8px;overflow:hidden}.catalog-progress-fill{height:100%;background:var(--success);border-radius:3px;transition:width 0.3s}.catalog-section{margin-bottom:var(--space-xl,40px)}.catalog-section>h2{font-size:13px;text-transform:uppercase;letter-spacing:0.08em;color:var(--muted);margin:0 0 var(--space-md);padding-bottom:8px;border-bottom:1px solid var(--line)}.catalog-topic{margin-bottom:var(--space-lg)}.catalog-topic>h3{font-size:16px;margin:0 0 10px;color:var(--ink)}.catalog-topic>h3 .topic-count{font-weight:400;color:var(--muted);font-size:13px}.catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.lesson-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:14px 16px;cursor:pointer;transition:border-color 0.15s,box-shadow 0.15s;position:relative}.lesson-card:hover{border-color:var(--accent);box-shadow:0 0 0 3px rgba(200,145,58,0.12)}.lesson-card.completed{border-color:var(--success)}.lesson-card.completed::after{content:"\2713";position:absolute;top:10px;right:12px;color:var(--success);font-weight:700;font-size:16px}.card-title{font-size:15px;font-weight:600;margin:0 0 4px;color:var(--ink);padding-right:20px}.card-desc{font-size:13px;color:var(--muted);margin:0 0 8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-meta{font-size:12px;color:var(--muted)}.lesson-view{display:flex}.lesson-sidebar{width:240px;min-width:240px;padding:var(--space-md) var(--space-sm);border-right:1px solid var(--line);overflow-y:auto;max-height:100vh;position:sticky;top:0;display:flex;flex-direction:column}.back-link{display:block;padding:8px 10px;margin-bottom:12px;font-size:13px;font-weight:600;color:var(--accent);text-decoration:none;border-radius:var(--radius-sm)}.back-link:hover{background:var(--accent-soft)}.sidebar-topic-title{font-size:12px;text-transform:uppercase;letter-spacing:0.06em;color:var(--muted);padding:0 10px 8px;margin-bottom:4px}.sidebar-lesson{display:block;padding:8px 10px;border-radius:var(--radius-sm);font-size:14px;color:var(--ink);cursor:pointer;transition:background 0.12s;text-decoration:none;position:relative}.sidebar-lesson:hover{background:rgba(0,0,0,0.04)}.sidebar-lesson.active{background:var(--accent-soft);color:var(--accent-dark);font-weight:600}.sidebar-lesson.completed::before{content:"\2713 ";color:var(--success);font-weight:700}.lesson-content{flex:1;max-width:1000px;margin:0 auto;padding:var(--space-xs) 20px 24px}.sidebar-report{margin-top:auto;padding:10px;border-top:1px solid var(--line)}.sidebar-report .report-trigger{font-size:13px}.report-modal-backdrop{position:fixed;inset:0;background:rgba(26,21,16,0.48);display:grid;place-items:center;padding:20px;z-index:40}.report-modal-backdrop[hidden]{display:none}.report-modal{width:min(100%,440px);background:#fffdf9;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow-lg);padding:22px;display:grid;gap:18px}.report-modal-header{display:flex;justify-content:space-between;align-items:center;gap:16px}.report-modal-header h3{margin:0;font-size:17px}.report-form{display:grid;gap:14px}.report-form label{display:grid;gap:8px;font-size:14px;color:var(--muted)}.report-form input{width:100%;border-radius:14px;border:1px solid var(--line);padding:12px 14px;font:inherit;color:var(--ink);background:white;box-sizing:border-box}.report-form-actions{display:flex;justify-content:flex-end}.report-modal-status{font-size:13px;line-height:1.5;color:var(--muted);margin:0}@media (max-width:768px){.lesson-grid{grid-template-columns:1fr}.catalog-grid{grid-template-columns:1fr}.lesson-view{flex-direction:column}.lesson-content{order:1;padding:2px 8px 20px}.lesson-sidebar{order:2;width:100%;min-width:100%;max-height:none;position:static;border-right:none;border-top:1px solid var(--line);padding:var(--space-sm)}.sidebar-topic-title{font-size:13px;padding:8px 10px 4px}.sidebar-lessons{display:flex;gap:4px;flex-wrap:wrap}.sidebar-lesson{font-size:13px;padding:6px 10px;border:1px solid var(--line);border-radius:var(--radius-sm)}.sidebar-report{margin-top:var(--space-sm);border-top:none;padding:4px 10px}.back-link{margin-bottom:4px}}