/* Semantics added to the unchanged prototype CSS. */
body { margin: 0; }
a { color: inherit; }
a.btn, .brand, .side-nav a, .tabbar a { text-decoration: none; }
.side-nav a { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 0 12px; border-radius: 10px; font-weight: 600; font-size: 14px; color: var(--muted); }
.side-nav a:hover, .side-nav a[aria-current="page"] { background: var(--sunk); color: var(--ink); }
.tabbar > a { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 48px; font-size: 11.5px; font-weight: 600; color: var(--muted); }
.tabbar a[aria-current="page"] { color: var(--ink); }
.setup-wrap { max-width: 780px; width: 100%; margin: 32px auto; display: flex; flex-direction: column; gap: 24px; }
.skip-link { position: fixed; left: 12px; top: -100px; z-index: 100; padding: 12px; background: var(--surface); }
.skip-link:focus { top: 12px; }
.btn.sm, .icon-btn.sm, .seg button, .linkbtn { min-height: 44px; }
.icon-btn.sm { min-width: 44px; }
.errorlist, .error { color: var(--bad); }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
.card-photo { width: 100%; max-height: 160px; object-fit: cover; border-radius: 10px; }
@media (max-width: 899px) { .empty-column { display: none; } }
#board-content, #project-content, #templates-content { display: flex; flex-direction: column; gap: 20px; }
.thumb { object-fit: cover; }
.seg a { display:inline-flex; align-items:center; min-height:44px; padding:0 14px; border-radius:9px; font-size:13px; font-weight:600; color:var(--muted); text-decoration:none; white-space:nowrap; }
.seg a[aria-pressed="true"] { background:var(--surface); color:var(--ink); box-shadow:0 1px 2px rgba(0,0,0,.08); }
.tabs a { display:inline-flex; align-items:center; gap:6px; min-height:44px; padding:0 12px; font-size:14px; font-weight:600; text-decoration:none; color:var(--muted); white-space:nowrap; }
.tabs a[aria-current] { border-bottom:2px solid var(--accent); color:var(--ink); }
.dl-list a { display:flex; justify-content:space-between; gap:12px; min-height:44px; padding:12px 4px; text-decoration:none; border-bottom:1px solid var(--line); }
.project-dialog { border:0; background:transparent; color:var(--ink); padding:0; max-width:100%; max-height:92vh; margin:auto 0 0; width:100%; overflow:visible; }
.project-dialog:not([open]) { display:none; }
.project-dialog::backdrop { background:var(--scrim); }
@media(min-width:700px) { .project-dialog { margin:auto; width:540px; } }
.tpl-steps .chip form { display:inline-flex; }
.tpl-steps .chip button { min-width:44px; min-height:44px; }
.tpl .inline-form { flex-wrap:wrap; }
.loss { color:var(--bad); }
fieldset.seg-radio { margin:0; padding:0; border:0; }

.board-move-help { margin:0; font-size:13px; max-width:75ch; }
.card-move { position:relative; z-index:1; border-top:1px solid var(--line); }
.card-move summary { display:flex; align-items:center; min-height:44px; cursor:pointer; font-size:13px; font-weight:600; }
.card-move form { display:flex; flex-direction:column; gap:10px; padding-bottom:4px; }
.drag-handle { color:var(--muted); cursor:grab; font-size:22px; }
.card.is-dragging { opacity:.55; }
.col.is-drop-target { outline:2px dashed var(--accent); outline-offset:2px; }
