/* Editor sad: světlý pracovní režim. */
.editor-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 20px; align-items: start; }
.editor-side { position: sticky; top: 12px; display: flex; flex-direction: column; gap: 14px; }
.editor-side .panel { padding: 16px; }
.editor-side h3 { margin-bottom: 8px; }

.qlist { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.qitem { border: 1px solid #dfe2ea; border-radius: var(--radius-sm); background: #fff; }
.qitem summary { display: flex; align-items: center; gap: 10px; padding: 10px 12px; cursor: pointer; list-style: none; }
.qitem summary::-webkit-details-marker { display: none; }
.qitem summary .num { font-family: var(--font-head); font-weight: 600; color: var(--blue); min-width: 28px; }
.qitem summary .txt { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.qitem[open] summary .txt { white-space: normal; }
.qitem summary .diff { font-size: 12px; padding: 2px 8px; border-radius: 999px; background: #e7e9f2; color: #333; }
.qitem summary .diff.d1 { background: #dcefdc; color: #1b5e20; }
.qitem summary .diff.d2 { background: #fff3cd; color: #7a5b00; }
.qitem summary .diff.d3 { background: #f8d7da; color: #842029; }
.qitem summary .warn { color: var(--err); font-size: 13px; }
.qitem .body { padding: 6px 12px 12px; border-top: 1px solid #eef0f6; }
.qitem .answers-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 8px 12px; }
.qitem .ans { display: flex; align-items: center; gap: 8px; }
.qitem .ans input[type="radio"] { width: 20px; height: 20px; accent-color: var(--ok); flex: 0 0 auto; }
.qitem .ans .lt { font-family: var(--font-head); font-weight: 600; width: 18px; color: var(--blue); }
.qitem .tools { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.qitem .tools .btn { min-height: 34px; padding: 5px 10px; font-size: 13px; }
.qitem.invalid { border-color: var(--err-light); }

.ladder-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(90px, 1fr)); gap: 6px; }
.ladder-grid label { font-size: 11px; color: #666; display: block; }
.ladder-grid input { min-height: 36px; padding: 6px 8px; }

.publish-box { text-align: center; }
.publish-box .qr { margin: 10px auto; width: 200px; height: 200px; background: #fff; padding: 8px; border-radius: 8px; border: 1px solid #ddd; }
.publish-box .qr svg { width: 100%; height: 100%; }
.errors { color: var(--err); font-size: 14px; }
.errors li { margin-bottom: 4px; }
.import-area textarea { font-family: ui-monospace, Menlo, monospace; font-size: 13px; min-height: 180px; }
.status-line { font-size: 13px; color: #666; }

@media (max-width: 900px) {
  .editor-layout { grid-template-columns: 1fr; }
  .editor-side { position: static; }
}
