/* Paper editor layout */
.ed { display: grid; gap: 12px; }
.ed-bar { position: sticky; top: 56px; z-index: 14; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 8px; background: var(--c-surface); border: 1px solid var(--c-line); border-radius: var(--r-md); box-shadow: var(--shadow-1); }
.ed-title { flex: 1 1 180px; min-width: 0; font-weight: 600; }
.ed-save { font-size: 12px; color: var(--c-muted); white-space: nowrap; }
.ed-tabs { display: flex; }
.ed-main { display: grid; gap: 12px; align-items: start; grid-template-columns: minmax(0, 1fr); }
.ed-main[data-view='preview'] .ed-blocks, .ed-main[data-view='edit'] .ed-preview { display: none; }
.ed-blocks { position: relative; display: grid; gap: 8px; align-content: start; min-width: 0; }
.blk { position: relative; background: var(--c-surface); border: 1px solid var(--c-line); border-radius: var(--r-md); padding: 8px 10px 10px; transition: box-shadow var(--t-fast); }
.blk:focus-within { border-color: var(--c-accent); box-shadow: 0 0 0 1px var(--c-accent); }
.blk.is-dragging { opacity: .85; z-index: 30; box-shadow: var(--shadow-2); pointer-events: none; }
.blk.flash { animation: flash 1.2s; }
@keyframes flash { 0%, 60% { background: color-mix(in srgb, var(--c-warn) 25%, var(--c-surface)); } }
.blk-head { display: flex; align-items: center; gap: 6px; margin-bottom: 6px; }
.blk-kind { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; color: var(--c-muted); }
.blk-label { font-weight: 700; color: var(--c-accent); }
.blk-spacer { flex: 1; }
.drag-handle { cursor: grab; touch-action: none; width: 34px; height: 34px; }
.blk.is-section { background: color-mix(in srgb, var(--c-accent) 7%, var(--c-surface)); }
.blk-warn { border-color: var(--c-warn); }
.blk-opts { display: grid; gap: 6px; margin-top: 8px; }
.blk-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 8px; }
.blk-row .input { width: auto; min-width: 70px; max-width: 160px; }
.ed-blocks.is-sorting { user-select: none; }
.drop-line { position: absolute; left: 0; right: 0; height: 4px; background: var(--c-accent); border-radius: 2px; pointer-events: none; z-index: 25; }
.add-row { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; padding: 12px; border: 1px dashed var(--c-line); border-radius: var(--r-md); }
.ed-preview { min-width: 0; }
.pv-bar { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-bottom: 8px; }
.pv-stage { background: var(--c-surface-2); border: 1px solid var(--c-line); border-radius: var(--r-md); padding: 12px; overflow: auto; max-height: calc(100dvh - 190px); }
.pv-sheet { margin: 0 auto 14px; box-shadow: 0 2px 10px rgb(0 0 0 / .25); background: #fff; position: relative; }
.pv-sheet .paper-page { position: absolute; left: 0; top: 0; transform-origin: top left; }
.pv-sheet-label { text-align: center; font-size: 12px; color: var(--c-muted); margin: -8px 0 10px; }
.warn-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 4px; }
.warn-list button { all: unset; cursor: pointer; display: flex; gap: 6px; align-items: flex-start; font-size: 13px; padding: 4px 6px; border-radius: var(--r-sm); width: calc(100% - 12px); }
.warn-list button:hover { background: var(--c-surface-2); }
.insp { display: grid; gap: 12px; }
.insp h3 { margin: 0; font-size: 14px; }
.insp-sec { border: 1px solid var(--c-line); border-radius: var(--r-md); background: var(--c-surface); }
.insp-sec > summary { cursor: pointer; padding: 10px 12px; font-weight: 600; }
.insp-sec > div { padding: 4px 12px 12px; display: grid; gap: 10px; }
@media (min-width: 1100px) {
  .ed-tabs { display: none; }
  .ed-main[data-view] { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); }
  .ed-main[data-view='preview'] .ed-blocks, .ed-main[data-view='edit'] .ed-preview { display: grid; }
  .ed-preview { position: sticky; top: 120px; }
  .pv-stage { max-height: calc(100dvh - 190px); }
}
