.course-json-dialog { width:min(1050px, calc(100vw - 28px)); max-width:none; max-height:calc(100dvh - 28px); padding:0; border:1px solid var(--line, #c7d9d2); border-radius:16px; color:var(--ink, #172b39); background:var(--paper, #f6faf8); box-shadow:0 20px 70px #162f2c44; }
.course-json-dialog::backdrop { background:#142e32a6; }
.course-json-panel { padding:24px; overflow:auto; }
.course-json-panel header { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; }
.course-json-panel h2 { margin:0 0 6px; }
.course-json-panel p { line-height:1.6; }
.course-json-panel .toolbar { display:flex; flex-wrap:wrap; gap:8px; margin:14px 0; }
.course-json-field { display:grid; gap:8px; }
.course-json-field textarea { width:100%; box-sizing:border-box; min-height:300px; resize:vertical; padding:14px; border:1px solid var(--line, #c7d9d2); border-radius:8px; font:13px/1.6 Consolas, monospace; background:#fff; color:#172b39; }
.course-json-options { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:16px 0; }
.course-json-options label { display:grid; gap:8px; }
.course-json-options input,.course-json-options select { width:100%; box-sizing:border-box; padding:10px; border:1px solid var(--line, #c7d9d2); border-radius:8px; background:#fff; color:#172b39; }
.course-json-preview:not(:empty) { padding:14px; border:1px solid #a6cfba; border-radius:8px; background:#edf8f0; line-height:1.7; }
.course-json-message { white-space:pre-wrap; overflow-wrap:anywhere; }
@media(max-width:650px) { .course-json-panel { padding:16px; } .course-json-options { grid-template-columns:1fr; } .course-json-field textarea { min-height:240px; } }
