/* ============================================================
   a11y.css — 无障碍与移动端体验增强层
   在 styles.css 之后加载。目标：手机触控友好 + 老年用户可读。
   原则：
   1) 可读字号下限：用 max(Npx, 1em) 只抬高过小的字，绝不缩小已够大的字。
   2) WCAG AA 对比：次要文字统一加深，摆脱浅灰。
   3) 触控目标 ≥44px（触屏设备与手机断点）。
   4) 移动端信息减负：更大字、更大留白、更少拥挤控件。
   仅新增覆盖，不修改 styles.css 的原有精细布局，便于回退。
   ============================================================ */

/* ---------- 1. 更高对比的中性色阶（全局 token） ---------- */
:root{
  --muted:#5b5d63;   /* was #777980 — 次要文字，约 6.5:1 */
  --faint:#6f7178;   /* was #a2a4aa — 更弱文字，约 5:1 */
}

/* ---------- 2. 可读字号下限（桌面 + 全局） ---------- */
/* 任务标题是主要内容，原本仅 10px */
.task-title,
.task-title-button{font-size:max(14px,1em)}
/* 标签 chip 原本 7px；日期原本 8px */
.task-tag{font-size:max(11.5px,1em);max-width:120px;padding:3px 8px}
.due{font-size:max(12px,1em);color:#5b5d63}
.due.urgent{color:#c9463f}
/* 侧栏导航与标签 */
.nav-item{font-size:max(13px,1em)}
.side-tag{font-size:max(12.5px,1em)}
.nav-item b,.side-tag b{font-size:max(11px,1em);color:#6f7178}
.section-label{font-size:max(11px,1em);color:#5b5d63}
.workspace-switcher strong{font-size:max(14px,1em)}
.sidebar-footer strong{font-size:max(12px,1em)}
.sidebar-footer small{font-size:max(11px,1em);color:#5b5d63}
/* 顶栏 */
.breadcrumb{font-size:max(12px,1em);color:#5b5d63}
.breadcrumb strong{color:#3a3c42}
.search-box input{font-size:max(12px,1em)}
.language-picker select{font-size:max(12px,1em)}
.language-picker>span{font-size:max(12px,1em)}
/* 视图头与工具栏 */
.view-header p{font-size:max(13px,1em);color:#5b5d63}
.segmented button{font-size:max(12px,1em)}
.list-toolbar{font-size:max(12px,1em);color:#5b5d63}
.group-select,.group-select select{font-size:max(12px,1em)}
.sync-banner strong{font-size:max(13px,1em)}
.sync-banner small{font-size:max(12px,1em);color:#5b5d63}
.sync-banner button{font-size:max(12px,1em)}

/* ---------- 3. 更大的完成按钮（复选框） ---------- */
.status-button{width:22px;height:22px;border-width:2px}
.status-button svg{width:12px;stroke-width:3}

/* ---------- 4. 触屏设备：触控目标 ≥44px ---------- */
/* 仅放大不会破坏固定网格列宽的控件；任务行的放大在移动段统一处理。 */
@media (hover:none){
  .nav-item{min-height:44px}
  .side-tag{min-height:42px}
  .quick-create{min-height:44px}
  .notification-button,.help-button,.vision-mode-button{min-width:44px;min-height:44px}
  .segmented button{min-height:38px}
}

/* ---------- 5. 移动端体验增强（≤760px） ---------- */
@media (max-width:760px){
  body{font-size:16px}

  /* 视图头 */
  .view-header p{font-size:14px}
  .title-line h1{font-size:26px}
  .side-tag{font-size:14px}
  .nav-item{font-size:15px}

  /* ---- 任务行：为放大的字与控件重排网格，避免重叠 ---- */
  .task-item{
    grid-template-columns:40px 42px minmax(0,1fr) 46px;
    min-height:auto;
    align-items:center;
    column-gap:8px;
    row-gap:8px;
    padding:14px 12px;
  }
  .priority-button{grid-column:1;grid-row:1;width:30px;height:30px;font-size:13px}
  .status-button{grid-column:2;grid-row:1;width:30px;height:30px}
  .status-button svg{width:16px}
  .task-copy{grid-column:3;grid-row:1}
  .task-title,.task-title-button{font-size:16px;white-space:normal;line-height:1.35;font-weight:600}
  .owner{grid-column:4;grid-row:1;width:34px;height:34px;font-size:11px}
  /* 标签 chip 换到内容下方独立一行，取消负边距叠压 */
  .task-tag{grid-column:3;grid-row:2;margin-top:0;justify-self:start;font-size:13px;max-width:none;padding:4px 10px}

  /* 顶栏减负：隐藏冗余面包屑与成员头像堆叠 */
  .breadcrumb{display:none}
  .member-button{display:none}
  .topbar{min-height:56px;gap:8px}

  /* 触控目标放大 */
  .primary-button{min-height:46px;font-size:15px;padding:0 18px}
  .mobile-menu{min-width:44px;min-height:44px}
  .language-picker{min-height:42px}
  .language-picker select{font-size:14px}
  .segmented button{min-height:42px;font-size:13px;padding:0 14px}
  .list-toolbar{font-size:13px}
  .group-select select{min-height:40px}

  /* 卡片/横幅更松弛 */
  .sync-banner{padding:14px 16px}
  .sync-banner strong{font-size:14px}
  .sync-banner small{font-size:13px}
  .view{padding:24px 18px 96px}
}

/* ============================================================
   登录页（login.html，data-page="login"）适老化
   ============================================================ */
[data-page="login"]{--muted:#5b5d63}
[data-page="login"] .form-heading h2{font-size:28px}
[data-page="login"] .form-heading p{font-size:15px;color:#5b5d63}
/* 输入框：更高更大字（若未来启用密码登录） */
[data-page="login"] .login-card input{height:52px;font-size:16px}
[data-page="login"] .login-card form>label{font-size:13px}
/* Google 登录按钮区 */
[data-page="login"] .google-button{min-height:52px}
[data-page="login"] .login-status{font-size:14px;color:#5b5d63}
/* 安全提示卡片 */
[data-page="login"] .security-note{padding:16px}
[data-page="login"] .security-note>span{width:34px;height:34px;font-size:15px}
[data-page="login"] .security-note strong{font-size:15px;color:#3a3c42}
[data-page="login"] .security-note small{font-size:13px;color:#5b5d63}
/* 语言选择与页脚 */
[data-page="login"] .login-language{min-height:42px}
[data-page="login"] .login-language select{font-size:14px}
[data-page="login"] .form-panel footer{font-size:13px;color:#6f7178}
[data-page="login"] .mobile-brand strong{font-size:19px}
/* 品牌面板（桌面可见）文案对比 */
[data-page="login"] .brand-copy p{font-size:14px;color:#b9bec6}

@media(max-width:820px){
  [data-page="login"] .form-panel{padding:36px 22px}
  [data-page="login"] .form-heading h2{font-size:30px}
}

/* ============================================================
   表单弹窗（.sheet-dialog）适老化 —— 老人创建/编辑任务的关键路径
   ============================================================ */
.sheet-dialog label,.sheet-dialog legend{font-size:13px;color:#54565c}
.sheet-dialog input,.sheet-dialog select{height:46px;font-size:16px}
.sheet-dialog textarea{font-size:16px;line-height:1.5}
.dialog-header h2{font-size:20px}
.dialog-header span{font-size:12px;color:#6f7178}
.dialog-header button{width:38px;height:38px;font-size:20px}
.field-label-row small{font-size:12px;color:#6f7178}
.field-label-row button,.field-label-row>button#openDrivePicker{font-size:12px}
.inline-tag-heading strong{font-size:13px}
.inline-tag-heading small{font-size:12px;color:#6f7178}
.inline-tag-footer button{height:40px;padding:0 16px;font-size:14px}

@media(max-width:760px){
  .sheet-dialog form{padding:20px}
  .sheet-dialog input,.sheet-dialog select{height:48px}
  .dialog-header button{width:44px;height:44px}
  /* 优先级选择按钮放大到可触控 */
  .priority-button{width:40px;height:40px;font-size:15px}
}

/* ============================================================
   次要视图字号下限与对比（标签进度 / 内容日历 / 文件中心）
   这些视图残留大量 7–11px 小字，真机上对老人过小。
   用 max() 只抬高不缩小，并统一加深浅灰。
   ============================================================ */

/* ---- 标签进度 ---- */
.progress-toolbar{font-size:max(12px,1em);color:#54565c}
.progress-toolbar small{font-size:max(12px,1em);color:#6f7178}
.progress-tag strong{font-size:max(14px,1em)}
.progress-tag small{font-size:max(12px,1em);color:#5b5d63}
.progress-owners em{font-size:max(12px,1em);color:#6f7178}
.progress-status{font-size:max(12px,1em);color:#54565c}

/* ---- 内容发布 / 日历 ---- */
.publishing-summary small{font-size:max(12px,1em);color:#5b5d63}
.content-copy strong{font-size:max(14px,1em)}
.content-copy small{font-size:max(12px,1em);color:#5b5d63}
.content-state{font-size:max(12px,1em)}
.content-empty strong{font-size:max(14px,1em)}
.content-empty span{font-size:max(13px,1em);color:#5b5d63}
.calendar-toolbar span{font-size:max(12px,1em);color:#5b5d63}
.calendar-toolbar button{font-size:max(12px,1em)}
.calendar-weekdays span{font-size:max(12px,1em);color:#54565c}
.calendar-date{font-size:max(13px,1em)}

/* ---- 文件中心（Drive）---- */
.drive-connected strong{font-size:max(14px,1em)}
.drive-connected small{font-size:max(12px,1em);color:#5b5d63}
.drive-empty-state p{font-size:max(13px,1em);color:#54565c}
.drive-empty-state a{font-size:max(13px,1em);height:auto;min-height:40px;padding:0 16px}
.drive-toolbar nav button,.drive-picker-breadcrumbs button,.drive-toolbar>button{font-size:max(12px,1em)}
.drive-table-head{font-size:max(12px,1em);color:#6f7178}
.drive-file-row{font-size:max(12px,1em);color:#54565c}
.drive-file-name span{font-size:max(14px,1em)}
.drive-file-row time{font-size:max(12px,1em)}
.drive-list-empty{font-size:max(13px,1em);color:#5b5d63}
.drive-picker-file span{font-size:max(13px,1em)}

@media(max-width:760px){
  /* 主要可读文本在手机上再放大一档 */
  .progress-tag strong{font-size:16px}
  .content-copy strong{font-size:16px}
  .drive-file-name span{font-size:16px}
  .content-empty strong{font-size:16px}
  .calendar-weekdays span{font-size:13px}
  .calendar-date{font-size:14px}
  /* 触控目标 */
  .calendar-toolbar button{min-height:40px;min-width:40px}
  .drive-empty-state a{min-height:46px}
  .drive-file-row{min-height:54px}
  .progress-tag{min-height:56px}
}
