.section-links { margin-top: 16px; }
.section-links .section-card { border: 1px solid transparent; color: var(--ink); text-decoration: none; }
.section-links .section-card:hover, .section-links .section-card.active { border-color: #9fb5be; background: var(--accent-soft); }
.preview { border-top: 1px solid var(--line); margin-top: 22px; padding-top: 22px; }
.edit-table textarea { font-family: inherit; min-width: 170px; resize: vertical; border-color: #d3dde1; background: #fff; }
.edit-table td { padding: 5px; }
.edit-table .new-row textarea { background: #fbfcfc; }
.section-editor { display: grid; gap: 14px; }
.editor-actions { display: flex; align-items: center; justify-content: space-between; gap: 18px; color: var(--muted); font-size: 13px; }
.notice { background: #edf6ef; border: 1px solid #bad8c1; color: #2f6a3d; border-radius: 8px; padding: 10px 12px; margin-bottom: 14px; }
@media (max-width: 900px) { .editor-actions { align-items: stretch; flex-direction: column; } }
.exercise-toolbar { display:flex; justify-content:flex-start; margin:-12px 0 12px; }
.exercise-layout.sidebar-hidden { grid-template-columns:minmax(0,1fr); }
.exercise-layout.sidebar-hidden .sidebar { display:none; }
.column-settings { margin:0 0 18px; border:1px solid var(--line); border-radius:12px; background:linear-gradient(180deg,#f8fafa,#f4f7f7); }
.column-settings>summary { padding:12px 14px; margin:0; }
.column-form { padding:0 14px 14px; }
.column-control-grid { display:grid; grid-template-columns:1.4fr 1fr; gap:18px; padding:0 14px 14px; }
.column-control-grid .column-form { padding:0; }
.column-control-grid h4 { margin:0 0 4px; }
.width-form { display:grid; align-content:start; gap:10px; padding-left:18px; border-left:1px solid var(--line); }
.width-form p { margin:0; color:var(--muted); font-size:13px; }
.width-form label { display:grid; gap:4px; font-size:12px; font-weight:700; }
.column-form p { color:var(--muted); font-size:13px; }
.column-chips { display:flex; flex-wrap:wrap; gap:8px; margin:10px 0 14px; }
.column-chip { display:flex; align-items:center; gap:8px; padding:8px 10px; border:1px solid #cbd6d9; border-radius:9px; background:#fff; cursor:grab; box-shadow:0 2px 6px rgba(35,52,59,.04); }
.column-chip.dragging { opacity:.45; }
.column-chip .drag-handle { color:var(--muted); }
@media(max-width:900px){.column-control-grid{grid-template-columns:1fr}.width-form{padding:14px 0 0;border-left:0;border-top:1px solid var(--line)}}
