/* Shared visual language with the DWW shop. Review and publishing rules are unchanged. */
:root { --paper:#f8f9fb; --white:#fff; --ink:#242426; --muted:#707075; --line:#dedee2; --wine:#561d26; --soft:#ededee; --radius:6px; }
body { -webkit-font-smoothing:antialiased; }
#content h1:focus-visible { outline:2px solid #b88391; outline-offset:4px; border-radius:2px; }
.hero h1,.detail-heading h1,.compare-heading h1,.empty h2,.modal-head h2,.login-form h2,.editorial-quote h2,.task-summary h2 {
  font-family:Manrope,sans-serif; font-weight:600; letter-spacing:-.035em; color:var(--ink); line-height:1.25;
}
.hero h1,.compare-heading h1 { font-size:36px; }
.detail-heading h1 { font-size:30px; }
.hero { border-bottom:1px solid var(--line); margin-bottom:24px; }
.hero p,.compare-heading p { font-size:14px; line-height:1.7; }
.sidebar { background:var(--white); border-right:1px solid var(--line); }
.sidebar .brand { color:var(--wine); }
.nav button { border-radius:4px; color:var(--muted); }
.nav button:hover { background:var(--paper); color:var(--wine); }
.nav button.active { color:var(--wine); background:#f3ecee; box-shadow:inset 2px 0 var(--wine); }
.sidebar-note { border-top:1px solid var(--line); color:var(--muted); }
.button { border-radius:6px; font-weight:600; box-shadow:none; }
.button.primary { background:var(--wine); border-color:var(--wine); color:white; }
.button:not(.primary):hover { background:var(--soft); }
input,textarea,select { border-radius:6px; border-color:#d5d6dc; color:var(--ink); }
input:focus,textarea:focus,select:focus { border-color:var(--wine); }
.search { border-radius:5px; background:var(--soft); border-color:transparent; }
.card,.panel,.photo-gallery,.import-job,.plan-list,.plan-day,.plan-card,.guide-event,.rubric-panel,.compare-card { border-radius:6px; box-shadow:none; border-color:var(--line); }
.card { background:var(--white); }
.card:hover { border-color:#b5a0a5; box-shadow:none; }
.card-body h3 { font-weight:600; letter-spacing:-.02em; }
.cover { background:var(--soft); border-radius:0; }
.cover img,.cover video { border-radius:0; }
.tag { border-radius:3px; background:var(--soft); color:var(--muted); }
.badge { border-radius:4px; }
.view-toggle { border-radius:6px; background:var(--white); }
.view-toggle button { border-radius:4px; }
.view-toggle button[aria-pressed=true] { background:var(--wine); color:white; }
.connections,.plan-focus { background:var(--paper); border-color:var(--line); border-radius:6px; }
.related-link,.vote-buttons button { border-radius:4px; }
.vote-buttons button.selected { background:#f3ecee; border-color:var(--wine); }
.decision-panel { border-left:2px solid var(--wine); }
.board-column { border-radius:6px; background:var(--soft); }
.task-groups { gap:20px; }
.task-groups section { background:var(--white); border:1px solid var(--line); border-top:2px solid var(--wine); border-radius:6px; padding:20px; }
.task-summary h2 { font-size:20px; }
.task-category { text-decoration:none; }
.task-groups progress { margin:18px 0 8px; }
.task-groups li { border-bottom-color:var(--line); padding:14px 0; }
.login-art { background:var(--wine); background-image:none; }
.login-art h1 { font-family:Manrope,sans-serif; font-weight:500; letter-spacing:-.04em; }
.login-art h1 em { color:#ebc8d0; }
.login-form h2 { font-size:30px; }
.modal-head h2 { font-size:24px; }
dialog { border-radius:8px; }
.compare-heading { border-bottom:1px solid var(--line); margin-bottom:24px; }
.compare-progress { padding:10px 14px; background:var(--soft); border-radius:4px; }
.editorial-quote { background:var(--white); border:1px solid var(--line); border-left:2px solid var(--wine); border-radius:6px; }
.photo-stage { background:var(--soft); }
@media(max-width:700px) {
  .hero h1,.compare-heading h1 { font-size:28px; }
  .detail-heading h1 { font-size:26px; }
  .sidebar { border-right:0; }
  .nav button { min-height:44px; }
  .task-groups section { padding:16px; }
  .compare-heading { align-items:start; }
  .login-art h1 { font-size:32px; }
}
