/* Studio additions on top of styles.css */
.studio main { padding-top: 24px; }
.narrow { max-width: 28rem; }
.card { background: var(--card); border: 1px solid var(--rule); border-radius: var(--radius); padding: 18px; margin: 0 0 20px; }
.stack { display: grid; gap: 14px; }
.grid2 { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
label { display: grid; gap: 6px; font: 600 0.875rem/1.3 var(--sans); color: var(--ink-2); }
input[type=text], input[type=password], input[type=number], input:not([type]), select, textarea {
  font: 400 1rem/1.5 var(--sans); color: var(--ink); background: var(--paper); border: 1px solid var(--rule); border-radius: 8px; padding: 10px 12px; width: 100%; min-width: 0;
}
textarea { min-height: 8rem; resize: vertical; }
textarea.manuscript { font: 400 1.0625rem/1.7 var(--serif); min-height: 60vh; }
button, .btn { font-family: var(--sans); }
button.small, .btn.small { padding: 8px 12px; font-size: 0.8125rem; }
button.danger { background: transparent; border: 1px solid #b4322a; color: #b4322a; border-radius: 999px; padding: 8px 12px; font: 600 0.8125rem/1 var(--sans); cursor: pointer; }
button.plain { background: var(--paper-2); border: 1px solid var(--rule); color: var(--ink); border-radius: 999px; padding: 8px 12px; font: 600 0.8125rem/1 var(--sans); cursor: pointer; }
.linkish { background: none; border: 0; color: var(--muted); font: inherit; cursor: pointer; text-decoration: underline; padding: 0; }
.flash { background: color-mix(in srgb, var(--accent) 12%, var(--card)); border: 1px solid color-mix(in srgb, var(--accent) 40%, transparent); border-radius: 8px; padding: 12px 14px; font: 500 0.9375rem/1.45 var(--sans); }
.flash.warn, .error { color: #b4322a; }
.list { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--rule); }
.list > li { display: flex; gap: 10px 14px; align-items: center; flex-wrap: wrap; padding: 12px 0; border-bottom: 1px solid var(--rule); font-family: var(--sans); }
.list .grow { flex: 1 1 14rem; min-width: 0; }
.list .grow a { font: 600 1rem/1.3 var(--display); }
.handle { cursor: grab; color: var(--muted); padding: 4px 6px; user-select: none; touch-action: none; font-size: 1.1rem; }
.sortable-ghost { opacity: 0.4; }
.inline { display: inline; }
.st-draft { background: #f3e3c4; color: #6b4b12; } .st-published { background: #d5ead8; color: #1f5a2b; }
.st-upcoming { background: #dfe3f4; color: #2c3a74; } .st-archived { background: #e6e2dc; color: #6a645c; }
:root[data-theme="dark"] .badge[class*=st-] { filter: invert(0.88) hue-rotate(180deg); }
.stats { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); margin-bottom: 24px; }
.stat { background: var(--card); border: 1px solid var(--rule); border-radius: var(--radius); padding: 14px; font-family: var(--sans); }
.stat b { display: block; font: 600 1.6rem/1.1 var(--display); }
details { margin: 0 0 16px; } summary { cursor: pointer; font: 600 0.9375rem/1.4 var(--sans); padding: 6px 0; }
.note { font: 0.9375rem/1.5 var(--sans); padding: 8px 0; border-bottom: 1px solid var(--rule); white-space: pre-wrap; }
.note .who { font-weight: 700; color: var(--accent); margin-right: 6px; }
.chat { display: grid; gap: 10px; margin-bottom: 16px; }
.chat .me, .chat .ai { padding: 10px 14px; border-radius: 14px; max-width: 85%; font: 1rem/1.5 var(--sans); white-space: pre-wrap; }
.chat .me { justify-self: end; background: var(--accent); color: var(--accent-ink); }
.chat .ai { justify-self: start; background: var(--card); border: 1px solid var(--rule); }
.cand { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 10px; padding: 12px 0; border-bottom: 1px solid var(--rule); }
.cand p { margin: 4px 0 0; color: var(--muted); font: 0.875rem/1.45 var(--sans); }
code { font-size: 0.9em; background: var(--paper-2); padding: 1px 5px; border-radius: 4px; }
table { border-collapse: collapse; width: 100%; font: 0.9375rem/1.4 var(--sans); }
td, th { text-align: left; padding: 8px 6px; border-bottom: 1px solid var(--rule); vertical-align: top; }

.studio .site-foot { padding: 24px 0 40px; }
