/* Plain view: no period chrome. For long reading, zoom, and screen readers. */
:root { --ink: #1b1b1b; --muted: #5a5a5a; --line: #d8d8d8; --link: #0b57d0; --bg: #ffffff; --select: #eef3fd; }
html { background: var(--bg); }
body { color: var(--ink); font: 17px/1.55 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
:focus-visible { outline: 2px solid var(--link); outline-offset: 2px; }

.desktop { padding: 0 20px 40px; }
.ctl, .sizer { display: none; }
.titlebar { order: 1; }
.titlebar-text { font-size: 1.7rem; line-height: 1.2; white-space: normal; margin: 28px 0 18px; }
.menubar { order: 0; border-bottom: 1px solid var(--line); padding: 12px 0; gap: 18px; }
.menubar > a { color: var(--ink); }
.menubar > a[aria-current="page"] { font-weight: 700; }
.menubar > a u { text-decoration: none; }
.client { order: 2; }
.statusbar { order: 3; border-top: 1px solid var(--line); margin-top: 32px; padding-top: 12px; color: var(--muted); font-size: 15px; gap: 18px; }
.panel a { color: var(--link); }

.btn, .auth-page .client button { display: inline-block; font: 600 15px/1 system-ui, sans-serif; color: var(--ink); background: #f3f3f3; text-decoration: none;
  border: 1px solid #b9b9b9; border-radius: 6px; padding: 9px 14px; cursor: pointer; }
.btn:hover { background: #e9e9e9; }
.btn-default { background: var(--ink); color: #fff; border-color: var(--ink); }
input[type="search"], input[type="text"], input[type="email"], input[type="password"], textarea, select { font: 16px system-ui, sans-serif; color: var(--ink); background: #fff;
  border: 1px solid #b9b9b9; border-radius: 6px; padding: 7px 10px; }
input[type="checkbox"] { width: 18px; height: 18px; margin: 0; }

.group { border: 0; margin: 34px 0 0; padding: 0; }
.group > legend, .group > h2 { font-size: 1.15rem; font-weight: 700; margin: 0 0 12px; padding: 0; }
.filters .group { margin-top: 0; }
.sunken { margin: 0; }

.jump, .help a, .details dd a { color: var(--link); text-decoration: underline; text-underline-offset: 2px; }

.tile { color: var(--ink); }
.tile-noart { background: #eee; border-radius: 4px; }
.tile-year, .result-meta, .aka td + td, .shot figcaption, .game-cover figcaption, .covers figure { color: var(--muted); font-size: 14px; }
.tile:hover .tile-label, .tile:focus-visible .tile-label { text-decoration: underline; }
.details dt { font-weight: 600; }
.help { max-width: 40em; }
.help p { margin: 0 0 1em; }
.collection-groups dt { font-weight: 600; margin-top: 6px; }
.result { color: var(--ink); border-radius: 6px; }
.result-title { font-weight: 600; }
.result-aka { font-style: italic; }
.result:hover, .result:focus-visible { background: var(--select); }
.empty { max-width: 40em; }

/* Stories */
.editor { font: 18px/1.6 Georgia, serif; border: 1px solid #b9b9b9; border-radius: 6px; background: #fff; }
.editor:focus-visible { outline: 2px solid var(--link); }
.tag-chip { color: var(--link); background: var(--select); border-radius: 3px; }
.tag-picker { background: #fff; border: 1px solid var(--line); border-radius: 8px; box-shadow: 0 6px 18px rgba(0,0,0,.12); }
.tag-option { border-radius: 6px; }
.tag-option[aria-selected="true"] { background: var(--select); }
.message, .notice { background: #f6f8fc; border-color: var(--line); border-radius: 6px; }
.field-error, .errorlist { color: #b3261e; }
.story-card-title { color: var(--link); }
.story-card-meta, .hint, .story-byline { color: var(--muted); }
.menubar-link { color: var(--ink); padding: 0; }
.story-body { font: 19px/1.65 Georgia, serif; }


/* ---------- Main menu: plain bar ---------- */
.taskbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 50; min-height: 52px; display: flex; align-items: center; gap: 12px;
  padding: 6px 14px; background: var(--bg); border-top: 1px solid var(--line); box-shadow: 0 -2px 8px rgba(0,0,0,.06); font-size: 16px; }
.taskbar .start { position: relative; }
.taskbar .start-mark { display: none; }
.taskbar .start-button { display: inline-block; padding: 8px 16px; border: 1px solid var(--line); border-radius: 8px; background: var(--bg);
  font-weight: 600; color: var(--ink); }
.taskbar .start[open] .start-button { background: var(--select); }
.taskbar .start-menu { position: absolute; bottom: 52px; left: 0; min-width: 240px; margin: 0; padding: 6px;
  background: var(--bg); border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 8px 24px rgba(0,0,0,.15); }
.taskbar .start-menu a, .taskbar .start-menu button { display: block; width: 100%; padding: 8px 12px; border-radius: 6px; color: var(--ink);
  text-decoration: none; text-align: left; border: 0; background: none; font: inherit; cursor: pointer; }
.taskbar .start-menu a:hover, .taskbar .start-menu a:focus-visible, .taskbar .start-menu button:hover, .taskbar .start-menu button:focus-visible { background: var(--select); }
.taskbar .start-menu .sep { border-top: 1px solid var(--line); margin-top: 6px; padding-top: 6px; }
.taskbar .task-buttons { flex: 1; min-width: 0; color: var(--muted); }
.taskbar .task { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.taskbar .tray { display: flex; align-items: center; gap: 8px; }
.taskbar .tray-search input { width: 12rem; padding: 7px 10px; border: 1px solid var(--line); border-radius: 6px; font: inherit; font-size: 15px; }
.taskbar .clock { color: var(--muted); font-size: 14px; min-width: 60px; text-align: right; }
body.has-taskbar { padding-bottom: 64px; }
@media (max-width: 700px) {
  .taskbar .task-buttons, .taskbar .clock { display: none; }
  .taskbar .tray { flex: 1; }
  .taskbar .tray-search { flex: 1; min-width: 0; }
  .taskbar .tray-search input { width: 100%; }
}
.taskbar .start-menu { max-height: calc(100vh - 90px); }
