.field-list button{flex-direction:column;align-items:stretch;gap:4px;min-height:44px}
.field-list button .field-name{flex:none;font-weight:600;overflow-wrap:anywhere}
.field-list button .field-meta{flex:none;display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.field-list button .field-meta span{flex:none}
.type-tag,.mark{display:inline-flex;font-size:12px;line-height:18px;padding:1px 6px;border-radius:4px;background:white;border:1px solid var(--color-border);color:var(--color-muted)}
.mark-required{color:var(--color-danger);border-color:var(--color-danger)}
.editor-controls .btn{min-height:44px}
.child-list{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}
.child-row{border:1px solid var(--color-border);border-radius:8px;padding:12px 16px;margin:0;min-width:0;background:#fafbf8}
.child-row legend{font-weight:600;font-size:14px;padding:0 6px}
.child-row .form-field{margin-bottom:12px}
.child-actions{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.child-actions .btn{min-height:44px}
.child-add{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.var-chip,.var-list code,.diff-line code{font-family:ui-monospace,SFMono-Regular,monospace;font-size:13px}
.var-chip{background:var(--color-primary-soft);color:var(--color-primary);padding:1px 6px;border-radius:4px}
.var-title{font-size:15px;margin:16px 0 8px}
.var-list{list-style:none;margin:0 0 8px;padding:0;font-size:13px}
.var-list li{padding:4px 0}
.var-list .var-bad{color:var(--color-danger)}
.var-list .var-bad .var-chip{background:var(--color-danger-soft);color:var(--color-danger)}
.diff-panel h4{margin:16px 0 8px}
.diff-list,.diff-affected{margin:0;padding-left:0;list-style:none}
.diff-affected{padding-left:20px;list-style:disc}
.diff-list>li{padding:10px 0;border-bottom:1px solid var(--color-border)}
.diff-detail{margin:4px 0 0;font-size:13px}
.diff-kind{display:inline-block;font-size:12px;font-weight:600;padding:1px 8px;border-radius:4px;border:1px solid currentColor}
.diff-kind-add{color:var(--color-primary)}.diff-kind-del{color:var(--color-danger)}.diff-kind-change{color:var(--color-info)}
.diff-row{display:grid;grid-template-columns:96px minmax(0,1fr);gap:4px 12px;margin-top:6px;font-size:13px}
.diff-row .diff-prop{font-weight:600;grid-row:span 2}
.diff-before,.diff-after{overflow-wrap:anywhere}
.diff-tag{display:inline-block;min-width:22px;margin-right:6px;font-size:12px;color:var(--color-muted)}
.diff-before del{background:var(--color-danger-soft);color:var(--color-danger)}
.diff-after ins{background:white;text-decoration:none;font-weight:600}
.diff-lines{max-height:320px;overflow:auto;background:white;border:1px solid var(--color-border);border-radius:6px}
.diff-line{display:flex;gap:8px;padding:2px 8px;white-space:pre-wrap;overflow-wrap:anywhere}
.diff-line code{flex:1}
.diff-line-add{background:#e3f1e6;color:var(--color-primary)}
.diff-line-del{background:var(--color-danger-soft);color:var(--color-danger);text-decoration:line-through}
.diff-sign{width:12px;flex:none;font-family:ui-monospace,monospace}
.editor-prompt .save-state{margin:12px 0 8px}
@media(max-width:767px){.diff-row{grid-template-columns:1fr}.diff-row .diff-prop{grid-row:auto}}
.editor-list-head{flex-wrap:wrap;gap:8px}
.editor-list-head h2,.editor-list-head .btn{white-space:nowrap}
.editor-review-note strong{margin-right:6px}
.editor-ai{margin-top:20px}
[data-editor-readonly-value=true] .editor-layout .card :is(input,select,textarea):is(:disabled,[readonly]){background:var(--color-surface-muted);color:var(--color-muted);border-color:var(--color-border)}
[data-editor-readonly-value=true] .btn:disabled{cursor:not-allowed;background:var(--color-surface-muted);color:var(--color-muted);border-color:var(--color-border);opacity:1}
.editor-drawer{position:fixed;inset:auto 0 0 0;width:100%;max-width:100%;max-height:85vh;margin:0;padding:0;border:0;border-radius:12px 12px 0 0;background:var(--color-surface);color:var(--color-ink);overflow:auto;overscroll-behavior:contain}
.editor-drawer::backdrop{background:rgba(32,51,47,.45)}
.editor-drawer-inner{padding:8px 16px calc(16px + env(safe-area-inset-bottom))}
.editor-drawer-head{display:flex;justify-content:flex-end;position:sticky;top:-8px;padding:8px 0;background:var(--color-surface);z-index:1}
.editor-drawer .editor-ai{margin-top:0}
.editor-drawer .alert{margin-bottom:16px}
@media(max-width:767px){
.editor-tabs{display:flex;border-bottom:1px solid var(--color-border);margin-bottom:16px}
.editor-tabs [role=tab]{flex:1;min-height:48px;padding:8px 4px;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;background:none;color:var(--color-muted);font-weight:600;font-size:15px;white-space:nowrap}
.editor-tabs [role=tab][aria-selected=true]{color:var(--color-primary);border-bottom-color:var(--color-primary)}
.editor-savebar{position:sticky;bottom:0;z-index:10;display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:16px -20px 0;padding:10px 20px calc(10px + env(safe-area-inset-bottom));background:var(--color-surface);border-top:1px solid var(--color-border)}
.editor-savebar .editor-save{display:contents}
.editor-savebar .save-state{order:-1;flex-basis:100%;margin:0}
.editor-savebar .btn{min-height:48px;padding:10px 12px}
.editor-savebar>.btn{flex:none}
.editor-savebar .has-proposal{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent)}
.editor-savebar .btn-block{flex:1;width:auto}
}
@media(max-width:360px){.editor-savebar{margin-inline:-16px;padding-inline:16px}}
