:root {
  --bg: #f3efe6;
  --ink: #1e1a16;
  --muted: #6d645b;
  --line: #e2d9cc;
  --card: #fffdf8;
  --accent: #0f6e56;
  --accent-ink: #ffffff;
  --warn: #8c2f2f;
  --flash: #e7f3ee;
  --shadow: 0 1px 2px rgba(30, 26, 22, 0.06);
}

* { box-sizing: border-box; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--bg);
  font: 16px/1.5 "Segoe UI", system-ui, sans-serif;
}
a { color: var(--accent); }
h1, h2 { line-height: 1.2; }
h1 { margin: 0; font-size: 1.8rem; }
h2 { margin: 0 0 0.8rem; font-size: 1.05rem; }
.sr {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}
.app-top {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  padding: 0.45rem 0.9rem;
  background: #17241f;
  color: #f4f1ea;
}
.app-top a, .app-top summary { color: inherit; }
.top-search { flex: 1; }
.top-search input { max-width: 420px; background: white; }
.switcher, .create-menu { position: relative; }
.switcher summary, .create-menu summary {
  list-style: none;
  cursor: pointer;
  padding: 0.35rem 0.7rem;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.08);
}
.switcher summary::-webkit-details-marker, .create-menu summary::-webkit-details-marker { display: none; }
.switcher-menu {
  position: absolute;
  top: calc(100% + 0.3rem);
  left: 0;
  z-index: 20;
  min-width: 180px;
  background: white;
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 0.35rem;
  box-shadow: var(--shadow);
}
.switcher-menu a { display: block; padding: 0.4rem 0.6rem; text-decoration: none; border-radius: 6px; }
.switcher-menu a:hover { background: #f4f5f7; }
.top-user { margin-left: auto; text-decoration: none; padding: 0.3rem 0.5rem; }
.shell { display: grid; grid-template-columns: 220px 1fr; min-height: calc(100vh - 52px); }
.nav {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  padding: 1.2rem;
  background: #17241f;
  color: #f4f1ea;
}
.nav-group { display: grid; gap: 0.15rem; }
.nav-group summary { cursor: pointer; padding: 0.4rem 0.5rem; border-radius: 6px; }
.nav-group a { margin-left: 0.4rem; font-size: 0.92rem; }
.nav a { color: inherit; text-decoration: none; padding: 0.4rem 0.5rem; border-radius: 6px; }
.nav a[aria-current="page"], .nav a:hover { background: rgba(255, 255, 255, 0.08); }
.brand { font-family: Palatino, Georgia, serif; font-size: 1.25rem; margin-bottom: 1rem; }
.nav-foot { margin-top: auto; display: grid; gap: 0.3rem; }
.content, .solo { padding: 1.5rem; }
.solo { max-width: 440px; margin: 8vh auto; }
.page-head, .stats, .split, .board, .doc { margin-bottom: 1.2rem; }
.page-head { display: flex; justify-content: space-between; gap: 1rem; align-items: end; }
.eyebrow { margin: 0; color: var(--muted); text-transform: uppercase; letter-spacing: 0.04em; font-size: 0.75rem; }
.muted, .meta { color: var(--muted); }
.card, .task-card, .stats article, .cards a {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: var(--shadow);
}
.card { padding: 1rem; }
.auth h1 { margin-bottom: 0.3rem; }
.sso-callout { background: #e7f3ee; border: 1px solid #b7d8cc; border-radius: 10px; padding: 0.75rem 0.85rem; margin: 0.8rem 0; }
.sso-callout p { margin: 0.25rem 0 0; }
.sso-button { display: block; text-align: center; background: #232f3e; color: white; text-decoration: none; border-radius: 8px; padding: 0.7rem 0.8rem; margin-bottom: 0.9rem; font-weight: 650; }
.sso-button:hover { background: #1b242f; }
.cognito-button { display: block; text-align: center; background: white; color: var(--ink); text-decoration: none; border: 1px solid #cfc4b4; border-radius: 8px; padding: 0.7rem 0.8rem; margin-bottom: 0.9rem; }
.stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.8rem; }
.stats article { padding: 0.9rem 1rem; }
.stats strong { display: block; font-size: 1.6rem; }
.split { display: grid; grid-template-columns: 1.4fr 0.8fr; gap: 1rem; align-items: start; }
.doc { display: grid; grid-template-columns: 240px 1fr; gap: 1rem; align-items: start; }
.board-page { margin: -0.4rem; }
.board-top { display: flex; justify-content: space-between; gap: 1rem; align-items: end; margin-bottom: 0.8rem; }
.view-tabs { display: flex; gap: 0.3rem; }
.view-tabs a { text-decoration: none; color: var(--ink); padding: 0.35rem 0.7rem; border-bottom: 2px solid transparent; }
.view-tabs a[aria-current="page"] { border-color: var(--accent); color: var(--accent); font-weight: 650; }
.board-filters { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: end; margin-bottom: 0.8rem; background: var(--card); border: 1px solid var(--line); border-radius: 12px; padding: 0.7rem; }
.board-filters label { margin: 0; min-width: 120px; }
.board-filters input[name="q"] { min-width: 180px; }
.lane { margin-bottom: 1rem; }
.lane-title { font-size: 0.95rem; margin: 0 0 0.45rem; }
.lane-title span { color: var(--muted); font-weight: 500; }
.kanban { display: grid; grid-template-columns: repeat(5, minmax(210px, 1fr)); gap: 0.6rem; overflow-x: auto; padding-bottom: 0.4rem; }
.column { background: #ece7de; border-radius: 12px; padding: 0.55rem; min-height: 180px; }
.column header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.4rem; }
.column h3 { margin: 0; font-size: 0.78rem; letter-spacing: 0.04em; text-transform: uppercase; }
.column.drop-target { outline: 2px dashed var(--accent); }
.create-box { margin-bottom: 0.5rem; }
.create-box summary { cursor: pointer; color: var(--accent); }
.create-box form { margin-top: 0.5rem; }
.card-title { color: var(--ink); font-weight: 650; text-decoration: none; display: block; }
.label-row { display: flex; flex-wrap: wrap; gap: 0.25rem; margin: 0.35rem 0; }
.label-pill { background: #efe4ff; color: #5b3d91; border-radius: 999px; padding: 0.05rem 0.45rem; font-size: 0.75rem; }
.task-card footer { display: flex; align-items: center; gap: 0.4rem; margin-top: 0.45rem; }
.task-card footer a { font-size: 0.82rem; }
.priority-mark { font-size: 0.72rem; margin-right: auto; }
.p-expedite { color: #9a3412; }
.p-high { color: #b45309; }
.p-medium { color: #a16207; }
.p-low { color: #3f6212; }
.avatar { width: 1.7rem; height: 1.7rem; border-radius: 999px; display: inline-grid; place-items: center; color: white; font-size: 0.68rem; font-weight: 700; }
.av-0 { background: #0f6e56; }
.av-1 { background: #1d4e89; }
.av-2 { background: #7c3f12; }
.av-3 { background: #6b3fa0; }
.av-4 { background: #9f1239; }
.av-5 { background: #3f6212; }
.task-card form { display: flex; gap: 0.3rem; margin-top: 0.4rem; }
.task-card select, .task-card form button { font-size: 0.78rem; padding: 0.25rem 0.4rem; }
.empty-col { margin: 0.4rem; }
.table-wrap { overflow-x: auto; background: var(--card); border-radius: 12px; }
.board section { background: rgba(255, 255, 255, 0.35); border-radius: 12px; padding: 0.7rem; }
.task-card { padding: 0.7rem; margin-bottom: 0.6rem; }
.task-card p { margin: 0.3rem 0; }
.cards { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.7rem; }
.cards a { display: grid; padding: 0.9rem 1rem; text-decoration: none; color: inherit; }
.cards strong { color: var(--accent); }
.plain { list-style: none; padding: 0; }
.plain li { padding: 0.35rem 0; border-bottom: 1px solid var(--line); }
.pill {
  margin-left: 0.4rem;
  font-size: 0.75rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 0.1rem 0.45rem;
}
label { display: grid; gap: 0.25rem; margin-bottom: 0.7rem; font-size: 0.92rem; }
input, select, textarea {
  width: 100%;
  font: inherit;
  padding: 0.5rem 0.6rem;
  border: 1px solid #cfc4b4;
  border-radius: 8px;
  background: white;
}
button, .button {
  display: inline-block;
  background: var(--accent);
  color: var(--accent-ink);
  border: 0;
  border-radius: 8px;
  padding: 0.5rem 0.8rem;
  text-decoration: none;
  cursor: pointer;
  font: inherit;
}
button.secondary, button.linkish { background: transparent; color: inherit; }
button.linkish { padding: 0.4rem 0.5rem; text-align: left; }
.search { display: flex; gap: 0.4rem; align-items: center; }
.search input { width: 240px; }
.inline-form { display: grid; grid-template-columns: 1.4fr 0.6fr 0.8fr auto; gap: 0.6rem; align-items: end; }
.inline-form .wide { grid-column: 1 / -1; }
.tree { list-style: none; padding-left: 0.8rem; margin: 0.2rem 0; }
.tree a { text-decoration: none; }
.tree a[aria-current="page"] { font-weight: 700; }
.doc article {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 1.2rem 1.4rem;
}
.page-toc {
  margin: 1rem 0;
  padding: 0.8rem 1rem;
  background: #f7f8fa;
  border-radius: 8px;
}
.page-toc strong { display: block; margin-bottom: 0.35rem; }
.page-toc ul { margin: 0; padding-left: 1.2rem; }
.page-toc li { margin: 0.15rem 0; }
.editor-tools { display: flex; flex-wrap: wrap; gap: 0.45rem; align-items: end; margin-bottom: 0.4rem; }
.editor-tools label { margin: 0; width: auto; }
.editor-tools select, .editor-tools input { width: auto; }
.editor-tools button {
  background: white;
  color: var(--ink);
  border: 1px solid #cfc4b4;
}
.file-tool input { max-width: 220px; }
.card.drop-target { outline: 2px dashed var(--accent); outline-offset: 3px; }
.prose { margin-top: 1rem; }
.prose h2 { font-size: 1.35rem; margin: 1.4rem 0 0.5rem; }
.prose h3 { font-size: 1.12rem; margin: 1.1rem 0 0.4rem; }
.prose p { margin: 0.65rem 0; }
.prose img, .comment-editor img {
  display: block;
  max-width: 100%;
  max-height: 360px;
  width: auto;
  height: auto;
  object-fit: contain;
  margin: 0.6rem 0;
  border-radius: 8px;
  background: #f4f5f7;
}
.prose img, .comment-editor img, .attach-list img { cursor: zoom-in; }
.image-preview {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 3.2rem 1.2rem 1.2rem;
  background: rgba(9, 30, 66, 0.78);
}
.image-preview img {
  max-width: 92vw;
  max-height: 88vh;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 8px;
  background: white;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
  cursor: default;
}
.image-preview-close {
  position: absolute;
  top: 0.8rem;
  right: 0.8rem;
  width: auto;
  background: white;
  color: #172b4d;
}
.prose :not(pre) > code {
  background: #f4f5f7;
  border-radius: 4px;
  padding: 0.05rem 0.35rem;
  font-size: 0.92em;
}
.prose ol {
  margin: 0.8rem 0;
  padding: 0.7rem 0.8rem 0.7rem 2.1rem;
  background: #f4f5f7;
  border-radius: 8px;
}
.prose ol li { margin: 0.35rem 0; }
.prose ol li::marker { color: var(--accent); font-weight: 700; }
.prose blockquote {
  margin: 1rem 0;
  padding: 0.55rem 0.9rem;
  background: #e7f3ee;
  border-left: 4px solid var(--accent);
  border-radius: 0 8px 8px 0;
}
.prose .codehilitetable {
  width: 100%;
  margin: 1rem 0;
  background: #f4f5f7;
  border-collapse: collapse;
  border-radius: 8px;
  display: block;
  overflow: auto;
}
.prose .codehilitetable td { border: 0; padding: 0; vertical-align: top; }
.prose td.linenos {
  width: 1%;
  background: #ebecf0;
  color: #6b778c;
  user-select: none;
  padding: 0.75rem 0.55rem;
}
.prose td.linenos pre, .prose .codehilite pre {
  margin: 0;
  background: transparent;
  padding: 0.75rem 0.85rem;
  overflow: auto;
}
.prose td.linenos pre { padding: 0.75rem 0.35rem; color: #6b778c; }
.prose .codehilite { background: #f4f5f7; }
.prose .codehilite .hll { background-color: #ffffcc }
.prose .codehilite .c, .prose .codehilite .ch, .prose .codehilite .cm, .prose .codehilite .cpf, .prose .codehilite .c1, .prose .codehilite .cs { color: #3D7B7B; font-style: italic }
.prose .codehilite .k, .prose .codehilite .kc, .prose .codehilite .kd, .prose .codehilite .kn, .prose .codehilite .kr { color: #008000; font-weight: bold }
.prose .codehilite .kp { color: #008000 }
.prose .codehilite .kt { color: #B00040 }
.prose .codehilite .o, .prose .codehilite .m, .prose .codehilite .mb, .prose .codehilite .mf, .prose .codehilite .mh, .prose .codehilite .mi, .prose .codehilite .mo, .prose .codehilite .il { color: #666 }
.prose .codehilite .s, .prose .codehilite .sa, .prose .codehilite .sb, .prose .codehilite .sc, .prose .codehilite .dl, .prose .codehilite .s2, .prose .codehilite .sh, .prose .codehilite .s1 { color: #BA2121 }
.prose .codehilite .n { color: #1e1a16 }
.prose .codehilite .w { color: #bbb }
.error { color: var(--warn); }
.flash { background: var(--flash); padding: 0.6rem 0.8rem; border-radius: 8px; }
.narrow { max-width: 460px; }
table { width: 100%; border-collapse: collapse; background: var(--card); }
th, td { text-align: left; padding: 0.55rem; border-bottom: 1px solid var(--line); vertical-align: top; }
.comment p { white-space: pre-wrap; }
.comment-head { display: flex; gap: 0.65rem; align-items: center; margin-bottom: 0.45rem; }
.comment-head .meta { margin: 0; }
.comment-actions { margin-left: auto; display: flex; gap: 0.15rem; align-items: center; }
.comment-actions form, .attach-row form { display: inline; margin: 0; }
.comment-actions button, .attach-row button {
  width: auto;
  background: transparent;
  color: #1d4e89;
  padding: 0.15rem 0.45rem;
  font-size: 0.85rem;
}
button.danger, .comment-actions button.danger, .attach-row button.danger { color: #ae2e24; }
.attach-row { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; }
.comment-edit { margin-top: 0.55rem; }
.composer {
  position: relative;
  padding: 0;
  margin: 0.35rem 0 1rem;
  background: white;
  border: 1px solid #dfe1e6;
  border-radius: 8px;
}
.composer:focus-within { border-color: #0f6e56; }
.description-box .comment-editor { min-height: 220px; }
.description-view {
  min-height: 2.6rem;
  margin: 0.2rem 0 0.8rem;
  padding: 0.35rem 0.45rem;
  border-radius: 8px;
  cursor: text;
}
.description-view:hover { background: rgba(255, 255, 255, 0.75); outline: 1px solid #dfe1e6; }
.description-view .muted { margin: 0.2rem 0; }
.composer-tools {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.1rem;
  align-items: center;
  padding: 0.25rem 0.35rem;
  border-bottom: 1px solid #ebecf0;
  overflow-x: auto;
}
.composer-tools button {
  width: auto;
  min-width: 2rem;
  background: transparent;
  color: #44546f;
  border: 0;
  border-radius: 6px;
  padding: 0.35rem 0.5rem;
  font-weight: 650;
}
.composer-tools button:hover, .composer-tools button[aria-expanded="true"] { background: #e9f2ff; color: #1d4e89; }
.comment-editor {
  min-height: 140px;
  padding: 0.85rem 0.95rem 1rem;
  outline: none;
  font-size: 15px;
  line-height: 1.55;
}
.comment-editor:empty:before { content: attr(data-placeholder); color: #6b778c; }
.comment-editor h1, .prose h1 { font-size: 1.6rem; margin: 0.4rem 0; }
.comment-editor h2, .prose h2 { font-size: 1.35rem; }
.comment-editor h3 { font-size: 1.15rem; margin: 0.4rem 0; }
.comment-editor ul, .comment-editor ol { margin: 0.4rem 0; padding-left: 1.3rem; }
.comment-editor pre, .comment-editor .code-snippet {
  background: #f4f5f7;
  border-radius: 8px;
  padding: 0.65rem 0.75rem;
  overflow: auto;
}
.composer-actions { display: flex; gap: 0.45rem; padding: 0 0.7rem 0.75rem; }
.comment-menu {
  position: fixed;
  z-index: 40;
  background: white;
  border: 1px solid #dfe1e6;
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(9, 30, 66, 0.16);
  min-width: 220px;
  max-width: 320px;
  max-height: 340px;
  overflow: auto;
  padding: 0.35rem;
}
.comment-menu button, .comment-menu .menu-item {
  display: block;
  width: 100%;
  background: transparent;
  color: #172b4d;
  border: 0;
  border-radius: 4px;
  text-align: left;
  padding: 0.42rem 0.6rem;
  font-weight: 500;
}
.comment-menu .menu-item:hover, .comment-menu .upload:hover { background: #f1f2f4; }
.comment-menu .swatch:hover { outline: 2px solid #1d4e89; outline-offset: 1px; }
.comment-menu .upload {
  margin-top: 0.35rem;
  background: white;
  color: #1d4e89;
  border: 1px solid #1d7afc;
  border-radius: 8px;
  text-align: center;
  font-weight: 650;
}
.comment-menu .menu-note { margin: 0.35rem 0.55rem 0.2rem; color: #6b778c; font-size: 0.82rem; }
.comment-menu .tabs { display: flex; gap: 0.4rem; border-bottom: 1px solid #ebecf0; margin-bottom: 0.4rem; }
.comment-menu .tabs button[aria-selected="true"] { color: #1d4e89; box-shadow: inset 0 -2px 0 #1d7afc; border-radius: 0; }
.comment-menu .swatches { display: grid; grid-template-columns: repeat(7, 1.55rem); gap: 0.4rem; padding: 0.55rem 0.45rem 0.7rem; }
.comment-menu .swatch {
  width: 1.55rem;
  height: 1.55rem;
  min-width: 1.55rem;
  padding: 0;
  border-radius: 4px;
  border: 1px solid rgba(9, 30, 66, 0.28);
  display: block;
}
.comment-menu .swatch-0 { background: #172b4d; }
.comment-menu .swatch-1 { background: #1d4e89; }
.comment-menu .swatch-2 { background: #0f6e56; }
.comment-menu .swatch-3 { background: #216e4e; }
.comment-menu .swatch-4 { background: #a54800; }
.comment-menu .swatch-5 { background: #ae2e24; }
.comment-menu .swatch-6 { background: #5e4db2; }
.comment-menu .swatch-7 { background: #626f86; }
.comment-menu .swatch-8 { background: #1d7afc; }
.comment-menu .swatch-9 { background: #1d9aaa; }
.comment-menu .swatch-10 { background: #22a06b; }
.comment-menu .swatch-11 { background: #e56910; }
.comment-menu .swatch-12 { background: #e34935; }
.comment-menu .swatch-13 { background: #8270db; }
.comment-menu .swatch-14 { background: #758195; }
.comment-menu .swatch-15 { background: #3d6cb3; }
.comment-menu .swatch-16 { background: #1d7a8c; }
.comment-menu .swatch-17 { background: #1f7a4d; }
.comment-menu .swatch-18 { background: #8a6d00; }
.comment-menu .swatch-19 { background: #c45c55; }
.comment-menu .swatch-20 { background: #6e5dc6; }
.issue {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 1.4rem;
  align-items: start;
}
.issue-title {
  width: 100%;
  border: 0;
  background: transparent;
  font-size: 1.7rem;
  font-weight: 700;
  padding: 0.15rem 0;
  margin-bottom: 1rem;
}
.issue-title:focus { background: white; }
.issue-main { min-width: 0; }
.issue-main h2 { margin-top: 1.3rem; }
.issue-side { position: sticky; top: 0.8rem; }
.details label { margin-bottom: 0.85rem; }
.attach-box {
  border: 1px dashed #c3bdb2;
  border-radius: 10px;
  padding: 0.9rem;
  background: rgba(255, 255, 255, 0.45);
}
.attach-box form { display: flex; gap: 0.5rem; align-items: center; flex-wrap: wrap; }
.attach-box input { width: auto; }
.attach-list { list-style: none; padding: 0; margin: 0.7rem 0 0; display: grid; gap: 0.45rem; }
.attach-list img, .attach-list video { max-width: 280px; border-radius: 8px; }
.activity { margin-top: 0.4rem; }
.activity-tabs { display: flex; flex-wrap: wrap; gap: 0.35rem; margin: 0.2rem 0 0.8rem; }
.activity-tabs button {
  width: auto;
  background: transparent;
  color: #44546f;
  border: 1px solid transparent;
}
.activity-tabs button[aria-selected="true"] { background: #e9f2ff; color: #1d4e89; }
.subtask-list, .link-list, .history-list, .work-list { list-style: none; padding: 0; margin: 0.35rem 0 0.7rem; }
.subtask-list li, .link-list li, .history-list li, .work-list li {
  display: flex;
  justify-content: space-between;
  gap: 0.6rem;
  align-items: center;
  padding: 0.4rem 0;
  border-bottom: 1px solid var(--line);
}
.subtask-list form, .link-list form, .work-list form { margin: 0; }
.inline-add { display: flex; gap: 0.45rem; align-items: center; margin: 0.35rem 0 1rem; }
.inline-add input, .inline-add select { width: auto; flex: 1; }
.inline-add button { width: auto; }
.branch-name { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.85rem; word-break: break-all; }
.emoji-grid { display: grid; grid-template-columns: repeat(8, 1.8rem); gap: 0.1rem; padding: 0.2rem; }
.emoji-grid button { width: 1.8rem; min-width: 0; text-align: center; padding: 0.15rem; font-size: 1.15rem; }
.mention-search { margin-bottom: 0.35rem; }
.prose .c0, .comment-editor .c0 { color: #172b4d; }
.prose .c1, .comment-editor .c1 { color: #1d4e89; }
.prose .c2, .comment-editor .c2 { color: #0f6e56; }
.prose .c3, .comment-editor .c3 { color: #216e4e; }
.prose .c4, .comment-editor .c4 { color: #a54800; }
.prose .c5, .comment-editor .c5 { color: #ae2e24; }
.prose .c6, .comment-editor .c6 { color: #5e4db2; }
.prose .c7, .comment-editor .c7 { color: #626f86; }
.prose .c8, .comment-editor .c8 { color: #1d7afc; }
.prose .c9, .comment-editor .c9 { color: #1d9aaa; }
.prose .c10, .comment-editor .c10 { color: #22a06b; }
.prose .c11, .comment-editor .c11 { color: #e56910; }
.prose .c12, .comment-editor .c12 { color: #e34935; }
.prose .c13, .comment-editor .c13 { color: #8270db; }
.prose .c14, .comment-editor .c14 { color: #626f86; }
.prose .c15, .comment-editor .c15 { color: #3d6cb3; }
.prose .c16, .comment-editor .c16 { color: #1d7a8c; }
.prose .c17, .comment-editor .c17 { color: #1f7a4d; }
.prose .c18, .comment-editor .c18 { color: #8a6d00; }
.prose .c19, .comment-editor .c19 { color: #c45c55; }
.prose .c20, .comment-editor .c20 { color: #6e5dc6; }
.prose .mention, .comment-editor .mention { background: #e9f2ff; color: #1d4e89; border-radius: 4px; padding: 0 0.25rem; }
.prose .panel-info, .comment-editor .panel-info { background: #e9f2ff; border-left: 4px solid #1d7afc; padding: 0.55rem 0.75rem; border-radius: 4px; margin: 0.5rem 0; }
.prose .panel-decision, .comment-editor .panel-decision { background: #e7f3ee; border-left: 4px solid #0f6e56; padding: 0.55rem 0.75rem; border-radius: 4px; margin: 0.5rem 0; }
.prose a.file-card, .comment-editor a.file-card { display: inline-flex; margin: 0.25rem 0; padding: 0.35rem 0.65rem; background: #f4f5f7; border: 1px solid #dfe1e6; border-radius: 8px; text-decoration: none; }
.prose ul.task-list, .comment-editor ul.task-list { list-style: none; padding-left: 0.15rem; }
.prose .task-item input, .comment-editor .task-item input { width: auto; margin-right: 0.4rem; }
.prose video, .comment-editor video {
  display: block;
  max-width: 100%;
  max-height: 360px;
  margin: 0.8rem 0;
  border-radius: 8px;
  background: #111;
}
.composer.drop-target { outline: 2px dashed var(--accent); outline-offset: 3px; }
.home-head { margin-bottom: 1.2rem; }
.home-spaces { margin-bottom: 1.4rem; }
.home-spaces-head { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; }
.space-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 0.7rem; }
.space-card {
  display: grid;
  gap: 0.2rem;
  padding: 0.9rem 1rem;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 12px;
  text-decoration: none;
  color: inherit;
}
.space-card span, .space-card em { color: var(--muted); font-size: 0.85rem; font-style: normal; }
.home-tabs { display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0 0 1.1rem; border-bottom: 1px solid var(--line); }
.home-tabs a {
  text-decoration: none;
  color: var(--ink);
  padding: 0.45rem 0.65rem;
  border-bottom: 2px solid transparent;
}
.home-tabs a[aria-current="page"] { border-color: var(--accent); color: var(--accent); font-weight: 650; }
.work-group { margin-bottom: 1.3rem; }
.work-feed { list-style: none; padding: 0; margin: 0; }
.work-feed li {
  display: grid;
  grid-template-columns: auto 1fr auto auto;
  gap: 0.7rem;
  align-items: center;
  padding: 0.55rem 0;
  border-bottom: 1px solid var(--line);
}
.work-feed a { color: var(--ink); text-decoration: none; font-weight: 650; }
.work-feed a:hover { color: var(--accent); }
.work-kind {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  background: #e9f2ff;
  color: #1d4e89;
  border-radius: 6px;
  padding: 0.15rem 0.4rem;
}
.work-kind.page { background: #e7f3ee; color: #0f6e56; }
.star-btn {
  width: auto;
  min-width: 2rem;
  background: transparent;
  color: #a54800;
  padding: 0.2rem 0.4rem;
}
.title-row { display: flex; gap: 0.5rem; align-items: center; }
.title-row .issue-title { flex: 1; }
.work-feed .when { white-space: nowrap; }
:focus-visible { outline: 3px solid #0f6e56; outline-offset: 2px; }
@media (max-width: 900px) {
  .shell, .split, .doc, .board, .stats, .inline-form, .issue { display: block; }
  .nav { flex-direction: row; flex-wrap: wrap; }
  .nav-foot { margin-top: 0; }
  .search input, .content { width: auto; }
  .app-top { flex-wrap: wrap; }
  .work-feed li { grid-template-columns: 1fr auto; }
}
