/* Source: typography.css */
/* Personal Agent typography: clear, approachable, and identical across devices. */
:root {
  --agent-font: "Mail Manrope", "Mail MiSans", -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;
  --type-primary: #303846;
  --type-secondary: #596371;
  font-size: 106.25%;
}
body, body.attachment-page {
  font-family: var(--agent-font);
  font-weight: 400;
  font-optical-sizing: auto;
  letter-spacing: normal;
  line-height: 1.7;
}
body.attachment-page { font-size: 1rem; }
button, input, textarea, select { font-family: var(--agent-font); letter-spacing: normal; }
input, textarea, select { font-size: 1rem; }
.brand-name { font-size: 1rem; font-weight: 600; }
.brand-personal { font-size: .8235rem; font-weight: 500; }
.workspace-eyebrow { font-size: .8235rem; font-weight: 400; }
.preview-label { font-size: .7059rem; font-weight: 400; }
.greeting-section h1 {
  font-size: clamp(1.7rem, 3vw, 2.1rem);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0;
}
.greeting-note { font-size: .8824rem; line-height: 1.65; color: var(--type-secondary); }
.today-label { font-size: .8235rem; }
.desk-nav button, .sync-button, .filter, .attachment-filter {
  font-size: .8235rem;
  font-weight: 500;
}
.desk-nav button.active, .filter.active { font-weight: 600; }
.filter span { font-size: .7059rem; }
.search-field input { font-size: .9412rem; }
.sender-avatar, .avatar-button { font-weight: 600; }
.email-sender { font-size: .8824rem; line-height: 1.65; font-weight: 500; color: var(--type-secondary); }
.email-subject {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: 0;
}
.email-summary {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0;
  color: var(--type-primary);
}
.email-time, .priority-label, .attachment-badge { font-size: .7647rem; }
.email-time, .attachment-badge { color: var(--type-secondary); }
.priority-label { font-weight: 500; }
.email-copy { row-gap: 10px; }
.dialog-title h2, .email-context h2 {
  font-size: clamp(1.5rem, 2.6vw, 1.8824rem);
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0;
}
.dialog-title .muted, .context-kicker { font-size: .8824rem; color: var(--type-secondary); }
.dialog-kicker, #detailPosition { font-size: .8235rem; }
.priority-pill { font-size: .7647rem; font-weight: 500; }
.quick-actions button { font-size: .8824rem; font-weight: 500; }
.attachment-entry strong { font-size: .9412rem; font-weight: 500; }
.attachment-entry small { font-size: .7647rem; color: var(--type-secondary); }
.analysis-summary h3, .analysis-section h3 {
  font-size: .9412rem;
  font-weight: 500;
  letter-spacing: 0;
}
.analysis-summary p {
  font-size: 1.0588rem;
  line-height: 1.85;
  font-weight: 400;
  color: var(--type-primary);
  letter-spacing: 0;
}
.analysis-section, .analysis-section p, .analysis-section ul {
  font-size: 1rem;
  line-height: 1.85;
  color: var(--type-primary);
}
.analysis-section small { font-size: .8824rem; color: var(--type-secondary); }
.analysis-context > summary, .model-options > summary, .source-details > summary {
  font-size: .8824rem;
  font-weight: 500;
}
.draft-heading h3, .agent-dialog-heading h2 {
  font-size: 1.5294rem;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0;
}
.draft-local-note, #emailDraftHint { font-size: .8235rem; line-height: 1.7; }
.draft-workspace label { font-weight: 500; }
#draftTo, #draftSubject, #draftBody, #wechatDraft, #rewriteInstruction, #chatInput { font-size: 1rem; font-weight: 400; }
#draftBody, #wechatDraft { line-height: 1.8; }
.draft-tab, .copy-draft-button, .send-button, .rewrite-row button { font-weight: 500; }
.agent-intro, .chat-answer { font-size: 1rem; line-height: 1.8; color: var(--type-primary); }
.agent-disclaimer { font-size: .8235rem; line-height: 1.7; }
.account-menu-heading, .notification-copy p, .notification-choice, .logout-button { font-size: .8824rem; font-weight: 500; }
.notification-copy span { font-size: .8235rem; }
.attachment-page .context-note { font-size: .9412rem; line-height: 1.75; }
.attachment-page .attachment-topbar h1 { font-size: 1.0588rem; font-weight: 600; }
.attachment-page .attachment-toolbar strong { font-weight: 600; }
.attachment-page .file-heading h3, .attachment-page .file-name { font-weight: 600; letter-spacing: 0; }
.attachment-page .attachment-model-buttons button { font-weight: 500; }
.login-page h1 { font-size: 1.8824rem; font-weight: 600; letter-spacing: 0; }
.login-page label, .login-page button { font-weight: 500; }
.font-credit-link { display: block; margin-top: 12px; padding: 10px 0 0; border-top: 1px solid #e8ebef; font-size: .7647rem; line-height: 1.7; color: var(--type-secondary); text-decoration: none; }
.font-credit-link:hover { text-decoration: underline; }
@media (max-width: 760px) {
  .brand-name { font-size: .9412rem; }
  .greeting-section h1 { font-size: clamp(1.35rem, 6.5vw, 1.75rem); font-weight: 500; letter-spacing: 0; }
  .workspace-eyebrow { font-size: .7647rem; }
  .preview-label { font-size: .6471rem; }
  .greeting-note { font-size: .8235rem; }
  .email-sender { font-size: .8235rem; }
  .email-subject { font-size: 1.0588rem; font-weight: 500; line-height: 1.6; letter-spacing: 0; }
  .email-summary { font-size: 1rem; font-weight: 400; line-height: 1.75; color: var(--type-primary); }
  .email-time { font-size: .7059rem; }
  .attachment-badge, .priority-label { font-size: .7647rem; }
  .filter { font-size: .8235rem; padding-inline: 8px; }
  .filter span { font-size: .7059rem; }
  .search-field input { font-size: .9412rem; }
  .attachment-filter { font-size: .8235rem; }
  .mobile-nav-button { font-size: .7059rem; font-weight: 500; }
  .dialog-title h2 { font-size: 1.5294rem; font-weight: 500; line-height: 1.45; }
  .dialog-title .muted { font-size: .8235rem; }
  .quick-actions { flex-wrap: wrap; }
  .quick-actions button { font-size: .8235rem; padding-inline: 12px; }
  .attachment-entry strong { font-size: .8824rem; }
  .attachment-entry small { font-size: .7647rem; }
  .analysis-summary p { font-size: 1.0588rem; line-height: 1.85; }
  .analysis-section { font-size: 1rem; }
}


/* Source: colors.css */
/* Semantic accents: colour reinforces text labels, never replaces them. */
:root, body.attachment-page {
  --ink: #27364e;
  --muted: #58667d;
  --faint: #64748b;
  --blue: #355bc4;
  --blue-deep: #2c4fab;
  --blue-soft: #edf2ff;
  --accent-violet: #6850ad;
  --accent-violet-soft: #f2edfc;
  --accent-teal: #226e61;
  --accent-teal-soft: #eaf6f1;
  --accent-red: #a83742;
  --accent-red-soft: #fff0f1;
  --accent-amber: #8e5a17;
  --accent-amber-soft: #fff4df;
  --accent-slate: #536681;
  --accent-slate-soft: #eef2f7;
  --type-primary: #34435b;
  --type-secondary: #58667d;
}
.greeting-section h1, .dialog-title h2, .email-context h2,
.brand-name, .email-subject, .draft-heading h3, .file-name { color: var(--ink); }
.greeting-note, .workspace-eyebrow, .dialog-title .muted { color: var(--type-secondary); }
.email-summary, .analysis-summary p, .analysis-section p,
.analysis-section ul, .chat-answer { color: var(--type-primary); }
.brand-mark { background: var(--blue); color: #fff; box-shadow: 0 3px 9px #355bc41c; }
.avatar-button { color: var(--accent-violet); background: #eeeafa; box-shadow: inset 0 0 0 1px #dfd8f0; }
.heading-period, .sync-button, .dialog-kicker, .analysis-section h3 { color: var(--blue-deep); }
.analysis-summary h3, .agent-dialog-heading h2, .agent-dialog-heading .section-kicker { color: var(--accent-violet); }
.desk-nav button.active { color: var(--blue-deep); background: #fff; }
.desk-nav button[data-scroll-target="agentComposer"] { color: var(--accent-violet); }
.mobile-nav-button.active { color: var(--blue-deep); background: var(--blue-soft); }
.mobile-nav-button[data-scroll-target="agentComposer"] svg { color: var(--accent-violet); }
.mobile-nav-button[data-scroll-target="agentComposer"].active { color: var(--accent-violet); background: var(--accent-violet-soft); }
.mobile-nav-button#mobileSettingsButton svg { color: var(--accent-slate); }
.primary-button, .send-button, .attachment-page .analyze-all-button {
  color: #fff; background: var(--blue); border-color: var(--blue);
}
.quick-actions .secondary-button, .secondary-button.copy-draft-button,
.file-download, .attachment-page .secondary-button {
  color: var(--blue-deep); background: #f5f8ff; border-color: #dce5fa;
}
#quickWechatButton, #copyWechatButton {
  color: var(--accent-teal); background: var(--accent-teal-soft); border-color: #cde7df;
}
#chatButton { color: #fff; background: var(--accent-violet); border-color: var(--accent-violet); }
#rewriteButton { color: var(--accent-violet); background: #fff; border-color: #ded5f2; }
.rewrite-card { background: #f5f2fb; }
.draft-tab.active { color: var(--blue-deep); background: var(--blue-soft); }
#wechatDraftTab.active { color: var(--accent-teal); background: var(--accent-teal-soft); }
.quiet-button, .back-button, .reader-navigation .icon-button { color: var(--blue-deep); }
.filter[data-filter="urgent"] { --filter-ink: var(--accent-red); --filter-soft: var(--accent-red-soft); }
.filter[data-filter="high"] { --filter-ink: var(--accent-amber); --filter-soft: var(--accent-amber-soft); }
.filter[data-filter="normal"] { --filter-ink: var(--accent-slate); --filter-soft: var(--accent-slate-soft); }
.filter[data-filter="error"] { --filter-ink: var(--accent-violet); --filter-soft: var(--accent-violet-soft); }
.filter:not([data-filter="all"]) { color: var(--filter-ink); background: var(--filter-soft); }
.filter.active { color: #fff; background: var(--blue); }
.filter:not([data-filter="all"]).active { color: #fff; background: var(--filter-ink); }
.filter.active span { opacity: 1; }
.email-row { --priority-ink: var(--accent-slate); --priority-soft: var(--accent-slate-soft); color: var(--ink); background: #fff; }
.email-row.priority-urgent { --priority-ink: var(--accent-red); --priority-soft: var(--accent-red-soft); }
.email-row.priority-high { --priority-ink: var(--accent-amber); --priority-soft: var(--accent-amber-soft); }
.email-row.priority-error { --priority-ink: var(--accent-violet); --priority-soft: var(--accent-violet-soft); }
.email-row .priority-label { color: var(--priority-ink); background: var(--priority-soft); padding: 3px 8px; border-radius: 7px; line-height: 1.6; }
.email-row .priority-dot { background: currentColor; }
.priority-pill.priority-urgent { color: var(--accent-red); background: var(--accent-red-soft); }
.priority-pill.priority-high { color: var(--accent-amber); background: var(--accent-amber-soft); }
.priority-pill.priority-normal, .priority-pill.priority-low { color: var(--accent-slate); background: var(--accent-slate-soft); }
.priority-pill.priority-error { color: var(--accent-violet); background: var(--accent-violet-soft); }
.attachment-badge { color: var(--accent-violet); background: var(--accent-violet-soft); padding: 3px 7px; border-radius: 7px; line-height: 1.6; }
.attachment-badge::before { border-color: currentColor; }
.attachment-filter { color: var(--accent-violet); border-color: #ded5ef; background: #f8f5fd; }
.attachment-filter[aria-pressed="true"] { color: #fff; border-color: var(--accent-violet); background: var(--accent-violet); }
.attachment-entry { background: #f8f5fd; border-color: #e8e0f5; }
.attachment-entry-icon { color: var(--accent-violet); background: #ece5f9; }
.attachment-entry strong, .attachment-entry > svg { color: var(--accent-violet); }
.file-icon { color: var(--accent-slate); background: var(--accent-slate-soft); border-color: #dce3ed; }
.file-icon[data-file-category="pdf"] { color: var(--accent-red); background: var(--accent-red-soft); border-color: #f0d8dc; }
.file-icon[data-file-category="spreadsheet"] { color: var(--accent-teal); background: var(--accent-teal-soft); border-color: #cde7df; }
.file-icon[data-file-category="document"] { color: var(--blue-deep); background: var(--blue-soft); border-color: #dce5fa; }
.file-icon[data-file-category="drawing_2d"], .file-icon[data-file-category="model_3d"],
.file-icon[data-file-category="image"] { color: var(--accent-violet); background: var(--accent-violet-soft); border-color: #ded5ef; }
.file-analyze { color: var(--accent-violet); background: var(--accent-violet-soft); }
.file-unlock { color: var(--accent-amber); background: var(--accent-amber-soft); }
.file-status.analyzed { color: var(--accent-teal); background: var(--accent-teal-soft); }
.notification-choice.is-active { color: var(--accent-teal); background: var(--accent-teal-soft); }
@media (hover: hover) and (pointer: fine) {
  .primary-button:not(:disabled):hover, .send-button:not(:disabled):hover,
  .attachment-page .analyze-all-button:not(:disabled):hover { background: var(--blue-deep); color: #fff; }
  #chatButton:not(:disabled):hover { background: #584097; }
  #quickWechatButton:not(:disabled):hover, #copyWechatButton:not(:disabled):hover { background: #dcefe7; color: #1b594e; }
  .filter:not([data-filter="all"]):not(.active):hover { background: var(--filter-soft); box-shadow: inset 0 0 0 1px var(--filter-ink); }
  .attachment-filter:hover { box-shadow: inset 0 0 0 1px var(--accent-violet); }
}
@media (max-width: 760px) {
  /* Reserve a real footer row, including on mail without attachments. */
  .email-labels { min-height: 28px; padding-right: 76px; }
  .email-row .priority-label { bottom: 18px; }
}
@media (prefers-contrast: more) {
  .priority-label, .priority-pill, .attachment-badge { outline: 1px solid currentColor; }
}
