:root {
  color-scheme:light;
  --bg:#f3f5f8;
  --panel:#fff;
  --text:#182334;
  --muted:#647185;
  --line:#dce2ea;
  --accent:#c72c3a;
  --accent-hover:#a41e2b;
  --soft:#fff0f1;
  --input:#fff;
  --sidebar:#142237;
  --nav:#c6d1e0;
  --focus:#246cce;
}
html[data-theme=dark] {
  color-scheme:dark;
  --bg:#101721;
  --panel:#1a2432;
  --text:#e9edf4;
  --muted:#a7b4c7;
  --line:#344155;
  --accent:#f25f6b;
  --accent-hover:#ff7984;
  --soft:#3e2630;
  --input:#131d2a;
  --sidebar:#0b121d;
  --nav:#c6d1e0;
  --focus:#79b4ff;
}
* {
  box-sizing:border-box;
}
body {
  margin:0;
  background:var(--bg);
  color:var(--text);
  font:16px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif;
}
a {
  color:var(--accent);
  text-decoration:none;
}
a:hover {
  text-decoration:underline;
}
button,input,select,textarea {
  font:inherit;
}
button,.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid transparent;
  border-radius:6px;
  padding:.62rem 1rem;
  background:var(--accent);
  color:#fff;
  font-weight:650;
  cursor:pointer;
  line-height:1.4;
}
html[data-theme=dark] button,html[data-theme=dark] .button {
  color:#141923;
}
button:hover,.button:hover {
  background:var(--accent-hover);
  text-decoration:none;
}
button.secondary {
  background:var(--panel);
  border-color:var(--line);
  color:var(--text);
}
button.secondary:hover {
  background:var(--bg);
}
button.danger {
  margin-left:auto;
  background:transparent;
  color:var(--accent);
  border-color:var(--accent);
}
button.link {
  padding:0;
  background:none;
  color:inherit;
  border:0;
  font-weight:400;
}
button:disabled {
  opacity:.6;
  cursor:wait;
}
:focus-visible {
  outline:3px solid var(--focus);
  outline-offset:3px;
}
.sidebar {
  position:fixed;
  inset:0 auto 0 0;
  width:244px;
  background:var(--sidebar);
  color:#fff;
  display:flex;
  flex-direction:column;
  padding:24px 16px 16px;
  overflow:auto;
}
.brand {
  font-size:30px;
  font-weight:850;
  letter-spacing:-1.4px;
  color:inherit;
  line-height:1.2;
}
.sidebar .brand {
  padding-left:12px;
}
.brand span {
  color:#f35865;
  font-size:17px;
  margin-left:3px;
}
.desk {
  margin:8px 12px 24px;
  color:var(--nav);
  font-size:14px;
}
.nav-label {
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:#8fa4be;
  padding:18px 12px 6px;
}
.sidebar nav a {
  display:block;
  padding:8px 12px;
  color:var(--nav);
  font-size:14px;
  border-radius:5px;
  margin:2px 0;
}
.sidebar nav a:hover,.sidebar nav a[aria-current] {
  background:#283950;
  color:#fff;
  text-decoration:none;
}
.sidebar nav a[aria-current] {
  box-shadow:inset 3px 0 #f35865;
}
.account {
  margin-top:auto;
  border-top:1px solid #344156;
  padding:18px 12px 0;
}
.account strong {
  display:block;
  font-size:14px;
}
.account button {
  color:#b4c2d5!important;
  font-size:14px;
  margin-top:8px;
}
.workspace {
  margin-left:244px;
}
.workspace.anonymous {
  margin-left:0;
}
.topbar {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  background:var(--panel);
  padding:14px 32px;
  border-bottom:1px solid var(--line);
  font-size:14px;
}
.preferences {
  display:flex;
  gap:8px;
  align-items:center;
}
.preferences select {
  padding:.35rem .6rem;
  font-size:14px;
}
.preferences button {
  font-size:14px;
  padding:.4rem .7rem;
}
main {
  width:100%;
  margin:auto;
  padding:32px;
}
h1 {
  font-size:30px;
  line-height:1.2;
  letter-spacing:-.65px;
  margin:0 0 24px;
}
h2 {
  font-size:18px;
  margin:0 0 16px;
}
p {
  margin:0 0 16px;
}
.page-heading {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  margin-bottom:26px;
}
.page-heading h1 {
  margin:0;
}
.eyebrow {
  font-size:12px;
  letter-spacing:.14em;
  color:var(--accent);
  font-weight:700;
  margin:0 0 6px;
}
.muted {
  color:var(--muted);
}
.stats {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin-bottom:24px;
}
.stats section {
  background:var(--panel);
  border:1px solid var(--line);
  padding:22px;
  border-top:3px solid var(--accent);
  border-radius:6px;
}
.stats p {
  font-size:14px;
  color:var(--muted);
  margin:0 0 12px;
}
.stats strong {
  font-size:30px;
  font-weight:700;
  letter-spacing:-1px;
}
.panel {
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:8px;
  padding:24px;
  margin-bottom:24px;
  min-width:0;
}
.panel.moderation {
  display:block;
}
.moderation strong {
  font-size:24px;
  margin:0 15px;
}
.table-scroll {
  overflow:auto;
}
table {
  width:100%;
  border-collapse:collapse;
  font-size:14px;
  text-align:left;
}
th {
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:var(--muted);
  font-weight:650;
  white-space:nowrap;
  padding:12px;
  border-bottom:1px solid var(--line);
}
td {
  padding:15px 12px;
  border-bottom:1px solid var(--line);
  max-width:400px;
  overflow-wrap:anywhere;
}
tbody tr:last-child td {
  border-bottom:0;
}
tbody tr:hover {
  background:var(--bg);
}
td:last-child {
  text-align:right;
  white-space:nowrap;
}
.empty {
  padding:48px 20px;
  text-align:center;
  color:var(--muted);
}
.badges {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.badge {
  font-size:12px;
  letter-spacing:.04em;
  border:1px solid var(--line);
  border-radius:4px;
  padding:5px 9px;
  color:var(--muted);
}
.form-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
}
.full {
  grid-column:1/-1;
}
.field {
  display:flex;
  flex-direction:column;
  gap:7px;
  min-width:0;
  margin-bottom:18px;
}
.form-grid .field {
  margin-bottom:0;
}
.field>span,legend {
  font-weight:600;
  font-size:14px;
}
input,textarea,select {
  background:var(--input);
  border:1px solid var(--line);
  border-radius:5px;
  padding:.65rem .75rem;
  max-width:100%;
  color:var(--text);
}
textarea {
  width:100%;
  resize:vertical;
}
select {
  width:100%;
}
.checkbox {
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:9px;
  font-weight:400;
  font-size:14px;
}
.checkbox input {
  width:18px;
  height:18px;
  accent-color:var(--accent);
  flex-shrink:0;
}
.choices {
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  max-height:240px;
  overflow:auto;
}
fieldset {
  border:1px solid var(--line);
  border-radius:6px;
  padding:16px;
  min-width:0;
}
legend {
  padding:0 7px;
}
.form-actions {
  display:flex;
  gap:12px;
  align-items:center;
  margin-bottom:24px;
}
.notice {
  border:1px solid #4a9565;
  border-left:4px solid #4a9565;
  background:var(--panel);
  padding:16px;
  margin-bottom:24px;
  border-radius:5px;
}
.notice.error {
  border-color:var(--accent);
}
.back {
  display:inline-block;
  font-size:14px;
  margin-bottom:12px;
}
.pagination {
  display:flex;
  justify-content:flex-end;
  gap:24px;
}
.login-card {
  max-width:430px;
  margin:7vh auto;
  padding:36px;
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:10px;
}
.login-card .brand {
  margin-bottom:36px;
}
.login-card h1 {
  margin-bottom:12px;
}
.login-card>p {
  font-size:14px;
  margin-bottom:26px;
}
.login-card button {
  width:100%;
}
.content-block {
  border:1px solid var(--line);
  background:var(--bg);
  border-radius:6px;
  padding:16px;
  margin-bottom:14px;
}
.content-block>input,.content-block>select {
  width:100%;
  margin:8px 0;
}
.block-header {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:12px;
}
.block-header strong {
  font-size:14px;
}
.block-actions {
  display:flex;
  gap:6px;
}
.block-actions button {
  font-size:12px;
  padding:4px 8px;
}
.block-toolbar {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.block-toolbar button {
  font-size:14px;
}
.article-image-preview {
  display:block;
  max-height:250px;
  max-width:100%;
  object-fit:contain;
  margin:12px 0;
}
.article-image-preview[hidden] {
  display:none;
}
.media-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.media-grid figure {
  margin:0;
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:7px;
  overflow:hidden;
}
.media-grid img {
  width:100%;
  height:210px;
  object-fit:cover;
}
.media-grid figcaption {
  padding:16px;
  font-size:14px;
  color:var(--muted);
}
dialog {
  max-width:820px;
  width:calc(100% - 32px);
  max-height:90vh;
  overflow:auto;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--panel);
  color:var(--text);
  padding:28px;
}
dialog::backdrop {
  background:#061322bf;
}
#crop-preview {
  display:block;
  max-width:100%;
  max-height:350px;
  margin:0 auto 20px;
  border:1px solid var(--line);
}
.crop-controls {
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:10px;
  margin-bottom:20px;
}
.crop-controls label {
  font-size:14px;
  min-width:0;
}
.crop-controls input {
  width:100%;
  margin-top:5px;
}
#upload-error {
  color:var(--accent);
}
pre {
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  font:14px/1.6 ui-monospace,monospace;
}
dt {
  font-weight:650;
  margin-top:16px;
}
dd {
  margin:8px 0;
}
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
blockquote {
  border-left:3px solid var(--accent);
  margin:0;
  padding:16px;
  background:var(--bg);
  overflow-wrap:anywhere;
}
@media(max-width:1100px) {
  .stats {
    grid-template-columns:repeat(2,1fr);
  }
  main {
    padding:24px;
  }
  .topbar {
    padding:14px 24px;
  }
  .media-grid {
    grid-template-columns:repeat(2,1fr);
  }
}
@media(max-width:760px) {
  .sidebar {
    position:static;
    width:auto;
    padding:16px;
  }
  .sidebar .brand {
    padding:0;
  }
  .desk {
    margin:4px 0 8px;
  }
  .sidebar nav {
    display:flex;
    flex-wrap:wrap;
    gap:4px;
  }
  .nav-label {
    display:none;
  }
  .sidebar nav a {
    padding:6px 9px;
  }
  .account {
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-top:12px;
    padding:12px 0 0;
  }
  .account button {
    margin:0;
  }
  .workspace {
    margin:0;
  }
  .topbar {
    flex-wrap:wrap;
    padding:12px 16px;
  }
  .preferences {
    flex-wrap:wrap;
  }
  main {
    padding:20px 16px;
  }
  .page-heading {
    align-items:flex-start;
  }
  .page-heading h1 {
    font-size:26px;
  }
  .form-grid {
    grid-template-columns:1fr;
    padding:18px;
  }
  .full {
    grid-column:1;
  }
  .panel {
    padding:16px;
  }
  .block-header {
    align-items:flex-start;
    flex-direction:column;
  }
  .block-actions {
    flex-wrap:wrap;
  }
  .crop-controls {
    grid-template-columns:repeat(2,1fr);
  }
  .form-actions {
    flex-wrap:wrap;
  }
  .login-card {
    padding:26px;
    margin:4vh auto;
  }
  .media-grid {
    grid-template-columns:1fr;
  }
  .stats {
    gap:10px;
  }
  .stats section {
    padding:16px;
  }
  .stats strong {
    font-size:26px;
  }
}
/* Full-width post fields and image workflows. */
[hidden] { display: none !important; }
.edit-icon { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 5px; }
.edit-icon:hover { background: var(--input); }
.edit-icon:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.slug-row { display: flex; align-items: flex-end; gap: 12px; }
.slug-row .field { flex: 1; }
.slug-input { display: flex; align-items: stretch; }
.slug-input input { min-width: 0; flex: 1; }
.slug-prefix { display: flex; align-items: center; padding: 0 12px; border: 1px solid var(--line); border-right: 0; border-radius: 5px 0 0 5px; color: var(--muted); }
.slug-prefix + input { border-top-left-radius: 0; border-bottom-left-radius: 0; }
.slug-row button { flex-shrink: 0; min-height: 46px; }
.cover-upload h2 { font-size: 14px; margin-bottom: 12px; }
#cover-preview { display: block; max-width: 100%; max-height: 360px; object-fit: contain; border-radius: 6px; margin-bottom: 14px; }
.cover-actions { display: flex; gap: 10px; }
.body-editor { padding: 0; border: 0; }
.body-editor legend { padding: 0; margin-bottom: 12px; }
.ql-toolbar.ql-snow { border: 1px solid var(--line); border-radius: 6px 6px 0 0; background: var(--bg); display: flex; align-items: center; flex-wrap: wrap; gap: 4px; }
.ql-container.ql-snow { border: 1px solid var(--line); border-radius: 0 0 6px 6px; background: var(--input); font: inherit; }
.ql-editor { min-height: 380px; padding: 24px; line-height: 1.75; color: var(--text); }
.ql-editor p { margin: 0 0 12px; }
.ql-editor h2 { margin: 20px 0 12px; }
.ql-editor h3 { margin: 16px 0 10px; }
.ql-toolbar.ql-snow .editor-custom { width: auto; height: auto; padding: 6px 12px; border: 1px solid var(--line); background: var(--panel); color: var(--text); font: 600 14px/1.5 system-ui, sans-serif; }
.ql-toolbar.ql-snow .editor-custom:hover { background: var(--soft); color: var(--accent); }
.ql-toolbar.ql-snow button { border-radius: 4px; }
.ql-toolbar.ql-snow button.ql-active,
.ql-toolbar.ql-snow button:active,
.ql-toolbar.ql-snow .ql-picker-label.ql-active {
  background: var(--soft);
  color: var(--accent);
  border-radius: 4px;
  box-shadow: inset 0 2px 4px #0005, inset 0 0 0 1px var(--line);
}
.ql-toolbar.ql-snow button.ql-active svg,
.ql-toolbar.ql-snow button:active svg { transform: translateY(1px); }
.ql-snow .ql-stroke { stroke: var(--text); }
.ql-snow .ql-fill { fill: var(--text); }
.ql-snow .ql-picker { color: var(--text); }
.ql-snow .ql-picker-options { background: var(--panel); border-color: var(--line); }
.ql-snow .ql-picker.ql-header { width: 140px; }
.ql-snow .ql-picker-label { padding-right: 24px; }
.ql-snow .ql-picker-item:hover, .ql-snow .ql-picker-item.ql-selected, .ql-snow .ql-picker-label:hover, .ql-snow .ql-picker-label.ql-active { color: var(--accent); }
.ql-editor figure.news-image { display: block; margin: 20px 0; white-space: normal; }
.ql-editor figure.news-image img { max-width: 100%; max-height: 500px; display: block; object-fit: contain; }
.ql-editor figure.news-image figcaption { font-size: 14px; line-height: 1.5; color: var(--muted); margin-top: 8px; }
.ql-editor .news-embed { border: 1px solid var(--line); border-left: 4px solid var(--accent); padding: 18px; margin: 18px 0; background: var(--bg); white-space: normal; overflow-wrap: anywhere; }
.ql-editor .news-embed strong { text-transform: capitalize; }
.ql-editor .news-embed p { margin: 6px 0 0; color: var(--muted); font-size: 14px; }
.editor-help { font-size: 14px; margin: 10px 0 0; }
.editor-error, #embed-error { color: var(--accent); }
@media (max-width: 600px) {
  .slug-row { flex-wrap: wrap; }
  .slug-row .field { flex-basis: 100%; }
  .ql-editor { padding: 16px; }
}
.field-hint { font-size: 14px; margin: 7px 0 0; }
.cover-caption input { padding: .4rem .65rem; font-size: 14px; }
.taxonomy-input { position: relative; min-width: 0; }
.taxonomy-input > label { display: block; font-size: 14px; font-weight: 600; margin-bottom: 7px; }
.taxonomy-control { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; padding: 7px; min-height: 46px; border: 1px solid var(--line); border-radius: 5px; background: var(--input); cursor: text; }
.taxonomy-control:focus-within { outline: 2px solid var(--focus); outline-offset: 1px; }
.taxonomy-tokens { display: contents; }
.taxonomy-token { display: inline-flex; align-items: center; gap: 5px; padding: 3px 6px 3px 10px; border-radius: 4px; background: var(--soft); color: var(--text); font-size: 14px; max-width: 100%; }
.taxonomy-token > span { overflow-wrap: anywhere; }
.taxonomy-token button { padding: 0 4px; background: transparent; color: var(--muted); font-size: 20px; line-height: 1; border: 0; }
.taxonomy-token button:hover { color: var(--accent); }
.taxonomy-search { flex: 1; width: 100px; min-width: 100px; border: 0; outline: none; padding: 3px; background: transparent; }
.taxonomy-search:focus-visible { outline: none; }
.taxonomy-suggestions { position: absolute; z-index: 10; top: 100%; left: 0; right: 0; max-height: 230px; overflow: auto; margin: 5px 0 0; padding: 5px; list-style: none; border: 1px solid var(--line); border-radius: 5px; background: var(--panel); box-shadow: 0 6px 18px #0002; }
.taxonomy-suggestions li { padding: 8px 10px; border-radius: 3px; cursor: pointer; font-size: 14px; }
.taxonomy-suggestions li:hover, .taxonomy-suggestions li[aria-selected=true] { background: var(--soft); }
.taxonomy-suggestions .taxonomy-empty { color: var(--muted); cursor: default; }

/* Post composition: identity, headline, then cover and publication details. */
.post-editor-panel { gap: 24px; }
.post-meta-strip { display: flex; align-items: center; justify-content: space-between; padding-bottom: 16px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 13px; }
.post-meta-strip strong { color: var(--text); }
.post-status { display: inline-flex; align-items: center; gap: 7px; border-radius: 20px; padding: 5px 11px; background: var(--soft); color: var(--text); font-weight: 600; }
.post-status::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--muted); }
.post-status.is-published::before { background: #27996b; }
.post-byline { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; align-items: start; padding: 18px; border: 1px solid var(--line); border-radius: 8px; background: var(--bg); }
.post-byline .field > span { font-size: 12px; color: var(--muted); }
.post-byline .field strong { font-size: 14px; font-weight: 500; padding: 8px 0; }
.post-byline select, .post-byline input { padding: 8px 10px; font-size: 14px; width: 100%; min-width: 0; }
.post-byline .field-hint { font-size: 12px; }
.post-editor-panel .slug-input { font-weight: 400; }
.post-editor-panel .slug-input input { font: 400 14px/1.5 system-ui,sans-serif; }
.post-editor-panel .slug-row { gap: 8px; }
.post-editor-panel .slug-row button { font-size: 13px; min-height: 43px; padding: 9px 12px; }
.post-details { min-width: 0; }
.post-cover-card { min-width: 0; border: 1px solid var(--line); border-radius: 8px; padding: 18px; background: var(--panel); }
.post-details h2 { margin: 0 0 14px; font-size: 14px; }
.post-cover-card #cover-preview { width: 100%; height: 220px; object-fit: contain; background: var(--bg); margin-bottom: 12px; }
.post-cover-card .cover-actions button { padding: 7px 12px; font-size: 13px; }
.post-cover-card .cover-caption { margin-top: 18px; }
.post-cover-card .cover-caption .field > span { color: var(--muted); font-size: 12px; }
@media (max-width: 1200px) { .post-byline { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 540px) { .post-byline { grid-template-columns: 1fr; gap: 14px; } .post-cover-card #cover-preview { height: 180px; } }
#crop-preview { touch-action: none; user-select: none; border: 0; }
.crop-help { font-size: 14px; }
.crop-reset { margin-bottom: 16px; padding: 6px 12px; font-size: 13px; }
.crop-presets { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.crop-presets button { padding: 7px 14px; font-size: 14px; }
.crop-presets button[aria-pressed="true"] { background: var(--text); color: var(--panel); border-color: var(--text); }

table .count-column { text-align: center; }
table .count-column svg { vertical-align: middle; }
.post-filters { display: grid; grid-template-columns: 2fr repeat(4,minmax(0,1fr)); gap: 14px; margin-bottom: 20px; }
.post-filters .field { margin-bottom: 0; }
.post-filters input, .post-filters select { width: 100%; min-width: 0; }
.filter-actions { grid-column: 1/-1; display: flex; align-items: center; gap: 18px; }
.filter-hint { grid-column: 1/-1; margin: 0; font-size: 12px; }
.post-pagination { flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 12px; }
.post-pagination a, .page-current { padding: 6px 10px; border-radius: 4px; }
.page-current { background: var(--soft); font-weight: 700; }
@media (max-width: 1200px) { .post-filters { grid-template-columns: repeat(2,minmax(0,1fr)); } .post-filters > .field:first-child { grid-column: 1/-1; } }
@media (max-width: 600px) { .post-filters { grid-template-columns: 1fr; } }
.cover-stage { position: relative; width: 100%; }
.cover-stage.has-cover { width: fit-content; max-width: 100%; margin: 0; }
.post-cover-card .cover-stage #cover-preview { width: auto; max-width: 100%; margin: 0; }
.cover-stage .cover-actions { position: absolute; top: 10px; right: 10px; gap: 6px; }
.post-cover-card .cover-actions button { display: inline-flex; align-items: center; justify-content: center; min-height: 36px; background: #ffffffed; color: #18212f; border: 1px solid #0002; box-shadow: 0 2px 6px #0002; }
.post-cover-card .cover-actions button:hover { background: #fff; color: #9b2437; }
.post-cover-card .cover-actions .cover-remove { width: 36px; padding: 0; }
.cover-placeholder { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; width: 100%; min-height: 220px; border: 1px dashed var(--line); border-radius: 6px; background: var(--bg); color: var(--muted); }
.cover-placeholder:hover { background: var(--soft); color: var(--text); border-color: var(--muted); }
@media (max-width: 540px) { .cover-placeholder { min-height: 180px; } }

.posts-table th:first-child, .posts-table td:first-child { width: 200px; min-width: 200px; max-width: 200px; white-space: nowrap; overflow-wrap: normal; }

.menu-actions { display:flex; align-items:center; gap:.4rem; flex-wrap:wrap; }
.menu-tree-list { list-style:none; padding:0; margin:0; }
.menu-tree-list .menu-tree-list { margin-left:2rem; border-left:1px solid var(--line); padding-left:1rem; }
.menu-tree-list:empty { display:none; }
.menu-tree-row { display:flex; align-items:center; gap:1rem; padding:.8rem; margin:.65rem 0; border:1px solid var(--line); border-radius:6px; background:var(--panel); box-shadow:0 2px 4px #0000000a; }
.menu-tree-title { display:flex; align-items:center; gap:.65rem; flex:1; min-width:0; }
.menu-tree-title a { overflow-wrap:anywhere; font-weight:600; }
.menu-tree-title small { white-space:nowrap; }
.menu-tree-row button { padding:.35rem .6rem; min-width:2rem; }
.menu-drag { cursor:grab; font-size:1.25rem; }
.menu-status { font-size:.8rem; color:var(--muted); }
.menu-tree-row.drop-before { border-top:3px solid var(--focus); }
.menu-tree-row.drop-after { border-bottom:3px solid var(--focus); }
.menu-tree-row.drop-inside { outline:2px solid var(--focus); background:var(--soft); }
.menu-tree-list .is-dragging { opacity:.5; }
@media(max-width:800px) {
  .menu-tree-row { flex-wrap:wrap; gap:.5rem; }
  .menu-tree-title { flex-basis:100%; }
  .menu-tree-list .menu-tree-list { margin-left:.6rem; padding-left:.4rem; }
}
