:root {
  color-scheme: light;
  --panel-ground: #f2f6fa;
  --panel-paper: #fff;
  --panel-ink: #1b364a;
  --panel-muted: #526879;
  --panel-line: #d9e4ec;
  --panel-accent: #1765a4;
  --panel-tint: #e9f3fb;
}
html body { background: var(--panel-ground); color: var(--panel-ink); font: 14px/1.5 "Inter", system-ui, sans-serif; }
body h1 { font-size: clamp(24px, 3vw, 32px); line-height: 1.2; letter-spacing: -.025em; }
body .topbar { background: var(--panel-paper); border-color: var(--panel-line); }
body.projects-layout { margin: 0; }
body.projects-layout .topbar { margin: 0; }
body .topbar .inner { min-height: 60px; box-sizing: border-box; gap: 20px; }
body .topbar .brand { color: var(--panel-ink); font-size: 16px; }
body .topbar nav { flex-wrap: wrap; gap: 3px; }
body .topbar nav a, .panel-exit { color: var(--panel-muted); padding: 8px 11px; border-radius: 8px; font-size: 14px; }
body .topbar nav a:hover, body .topbar nav a.on { color: var(--panel-accent); background: var(--panel-tint); }
.panel-exit { margin-left: auto; white-space: nowrap; }
body table { font-variant-numeric: tabular-nums; }
body table th { color: var(--panel-ink); background-color: var(--panel-tint); }
body table td, body table th { border-color: var(--panel-line); }
body input, body select, body textarea, body button { font-family: inherit; }
body :focus-visible { outline: 2px solid var(--panel-accent); outline-offset: 3px; }
.project-page { box-sizing: border-box; max-width: 1280px; padding: 18px 24px 52px; margin: 0 auto; }
.project-page h1 { margin: 0 0 6px; }
.project-page h2, .panel-login h1 { margin: 0 0 12px; }
.project-page h2 { font-size: 20px; }
.panel-muted { color: var(--panel-muted); }
.project-page > .panel-muted { margin: 0 0 25px; }
.project-sheet { background: var(--panel-paper); border: 1px solid var(--panel-line); border-radius: 14px; padding: 22px; margin: 0 0 18px; }
.project-sheet header p { margin: -8px 0 14px; }
.project-form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; align-items: end; gap: 14px; }
.source-form { grid-template-columns: minmax(0, 1fr) auto; }
.project-form label, .panel-login label { display: grid; gap: 5px; font-weight: 600; }
.project-form small { font: inherit; font-weight: 400; }
.project-page input, .panel-login input, .project-page button, .panel-login button { box-sizing: border-box; min-height: 42px; border: 1px solid #b9cad8; border-radius: 8px; padding: 8px 12px; font: inherit; color: var(--panel-ink); background: var(--panel-paper); }
.project-page input, .panel-login input { width: 100%; min-width: 0; font-weight: 400; }
.project-page button, .panel-login button { cursor: pointer; font-weight: 600; }
.project-page button:hover, .panel-login button:hover { background: var(--panel-tint); }
.project-page .panel-primary, .panel-login .panel-primary { background: var(--panel-accent); border-color: var(--panel-accent); color: white; }
.project-page .panel-primary:hover, .panel-login .panel-primary:hover { background: #145684; }
.review-source { display: grid; grid-template-columns: minmax(0, 1fr) 2fr auto; align-items: center; gap: 16px; border-block-start: 1px solid var(--panel-line); padding: 15px 0; }
.review-source p { margin: 3px 0 0; overflow-wrap: anywhere; }
.review-source a { color: var(--panel-accent); font-weight: 600; }
.review-source dl, .source-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 0; }
.review-source dt { color: var(--panel-muted); }
.review-source dd { margin: 2px 0 0; font-variant-numeric: tabular-nums; }
.panel-feedback { border: 1px solid var(--panel-line); border-radius: 8px; background: var(--panel-paper); padding: 10px 14px; }
.panel-error { color: #9b352d; }
.panel-login { box-sizing: border-box; width: min(420px, calc(100% - 32px)); margin: max(24px, 12vh) auto; padding: 28px; background: var(--panel-paper); border: 1px solid var(--panel-line); border-radius: 14px; }
.panel-login form { display: grid; gap: 14px; }
@media (max-width: 740px) {
  body .topbar .inner { flex-wrap: wrap; gap: 6px 12px; }
  body .topbar nav { order: 3; width: 100%; }
  .project-page { padding-inline: 14px; }
  .project-sheet { padding: 15px; }
  .project-form, .source-form, .review-source { grid-template-columns: minmax(0, 1fr); }
  body .wrap { overflow-x: auto; }
}
