/* ==========================================================================
   登阶 Ascent AI · V4 Crisp Console
   Tier 1 · PRIMITIVES  (raw values - never referenced by components)
   Tier 2 · SEMANTIC    (purpose-named aliases - the only layer components use)
   Tier 3 · COMPONENT   (component-scoped tokens, defined next to components)
   ========================================================================== */
:root{
  /* -- primitives · light neutrals (cool grey) -- */
  --p-white:#FFFFFF;
  --p-grey-25:#F4F5F7;
  --p-grey-50:#EFF1F5;
  --p-grey-75:#F2F4F8;
  --p-grey-100:#E2E5EA;
  --p-grey-200:#C9CFD8;
  --p-grey-300:#8A92A0;
  --p-grey-400:#9AA1AC;
  --p-grey-600:#636C7B;
  --p-grey-700:#4A5261;
  --p-grey-900:#14181F;
  /* -- primitives · indigo (disciplined single accent) -- */
  --p-indigo-50:#EEF1FE;
  --p-indigo-600:#3444C0;
  --p-indigo-700:#2A38A6;
  --p-indigo-800:#222E86;
  /* -- primitives · mature semantics (desaturated, never traffic-light) -- */
  --p-emerald-600:#1F7A5C;
  --p-emerald-50:#E7F4EF;
  --p-amber-600:#94601A;
  --p-amber-50:#F7EFE2;
  --p-red-600:#AE3434;
  --p-red-50:#F8E9E9;
  /* -- primitives · dark surfaces (stepped by lightness, shadow is weak) -- */
  --p-d-page:#0F1216;
  --p-d-surface:#161A20;
  --p-d-sunken:#1C2128;
  --p-d-hover:#1E232B;
  --p-d-selected:#1D2340;
  --p-d-border:#282E37;
  --p-d-border-strong:#5F6A7A;
  --p-d-text1:#E7EBF1;
  --p-d-text2:#A9B2C0;
  --p-d-text3:#8A94A4;
  --p-d-text-disabled:#5B6472;
  --p-d-indigo:#8E9BFF;
  --p-d-indigo-fill:#4353D6;
  --p-d-emerald:#4FD1A5;
  --p-d-emerald-50:#152A22;
  --p-d-amber:#DDAA5E;
  --p-d-amber-50:#2B2418;
  --p-d-red:#F08B8B;
  --p-d-red-50:#2C1C1E;
  /* -- primitives · type -- */
  --font-ui:-apple-system, "Segoe UI Variable Text", "Segoe UI", "Microsoft YaHei UI", "Microsoft YaHei", Inter, system-ui, sans-serif;
  --font-mono:"JetBrains Mono", "Cascadia Mono", Consolas, ui-monospace, monospace;
  --fs-11:11px; --fs-12:12px; --fs-13:13px; --fs-14:14px; --fs-16:16px; --fs-20:20px; --fs-40:40px;
  --fw-regular:400; --fw-medium:500; --fw-semibold:600;
  /* -- primitives · space (4px base) -- */
  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:24px; --sp-6:32px;
  /* -- primitives · radius (one personality: precise 4-6px) -- */
  --radius-1:4px; --radius-2:6px; --radius-bar:2px;
  /* -- primitives · motion (instrument-grade, shortest meaningful) -- */
  --dur-1:100ms; --dur-2:140ms; --dur-3:180ms;
  --ease:cubic-bezier(.2,.8,.2,1);
  /* -- primitives · layout -- */
  --topbar-h:52px; --strip-h:34px; --nav-w:208px; --panel-w:372px;
  --pad-main:var(--sp-5); --row-h:42px;
}

/* -- Tier 2 · SEMANTIC (light) ------------------------------------------- */
:root{
  --surface-page:var(--p-grey-25);
  --surface:var(--p-white);
  --surface-sunken:var(--p-grey-50);
  --surface-hover:var(--p-grey-75);
  --surface-selected:var(--p-indigo-50);
  --border:var(--p-grey-100);
  --border-strong:var(--p-grey-300);
  --text-1:var(--p-grey-900);
  --text-2:var(--p-grey-700);
  --text-3:var(--p-grey-600);
  --text-disabled:var(--p-grey-400);
  --accent:var(--p-indigo-600);
  --accent-hover:var(--p-indigo-700);
  --accent-active:var(--p-indigo-800);
  --accent-soft:var(--p-indigo-50);
  --on-accent:var(--p-white);
  --success:var(--p-emerald-600);
  --success-soft:var(--p-emerald-50);
  --warning:var(--p-amber-600);
  /* 手写纸面：墨是深色，所以纸面在明暗两套主题下都保持浅色 */
  --ink-paper:var(--p-white);
  --warning-soft:var(--p-amber-50);
  --danger:var(--p-red-600);
  --danger-soft:var(--p-red-50);
  --track:var(--p-grey-100);
  --shadow-flat:none;
  --shadow-raise:0 10px 28px rgba(16,20,28,.16), 0 1px 2px rgba(16,20,28,.08);
  --shadow-focus:0 0 0 2px var(--surface), 0 0 0 4px var(--accent);
  --chart-accent:var(--p-indigo-600);
  --chart-soft:rgba(52,68,192,.10);
}

/* -- Tier 2 · SEMANTIC (dark: same primitives, swapped at the semantic layer)
      Dark hierarchy = surface lightness steps + edge definition, not shadow. -- */
html[data-theme="dark"]{
  --surface-page:var(--p-d-page);
  --surface:var(--p-d-surface);
  --surface-sunken:var(--p-d-sunken);
  --surface-hover:var(--p-d-hover);
  --surface-selected:var(--p-d-selected);
  --border:var(--p-d-border);
  --border-strong:var(--p-d-border-strong);
  --text-1:var(--p-d-text1);
  --text-2:var(--p-d-text2);
  --text-3:var(--p-d-text3);
  --text-disabled:var(--p-d-text-disabled);
  --accent:var(--p-d-indigo);
  --accent-hover:var(--p-d-indigo);
  --accent-active:var(--p-d-indigo);
  --accent-soft:var(--p-d-selected);
  --on-accent:var(--p-d-page);
  --success:var(--p-d-emerald);
  --success-soft:var(--p-d-emerald-50);
  --warning:var(--p-d-amber);
  --ink-paper:var(--p-white);
  --warning-soft:var(--p-d-amber-50);
  --danger:var(--p-d-red);
  --danger-soft:var(--p-d-red-50);
  --track:var(--p-d-border);
  --shadow-raise:0 12px 32px rgba(0,0,0,.55), 0 1px 2px rgba(0,0,0,.4);
  --shadow-focus:0 0 0 2px var(--surface), 0 0 0 4px var(--p-d-indigo);
  --chart-accent:var(--p-d-indigo);
  --chart-soft:rgba(142,155,255,.12);
}

/* -- Tier 3 · COMPONENT tokens ------------------------------------------- */
:root{
  /* 对话页（ChatGPT / DeepSeek 式布局）。这些是**尺寸与节奏**，不涉及颜色，
     明暗两套共用一套值 —— 但按「一个主题一个真相源」，令牌定义放在这里（Tier 3），
     不在 app.css 里另起一份；上一轮曾误放在 app.css，已归位。
     --chat-measure  消息列的行宽上限：正文可读性，跟主流对话产品同量级
     --bubble-max    用户气泡自己的行宽上限：比消息列窄，一眼看出「这句是我说的」
     --composer-lh   输入框行高倍数：自动长高的计算基准，必须与 .a-composer__input 一致
     --composer-min  输入框起始高度 = 上下内边距 + 1 行
     --composer-max  输入框自动长高的上限 = 上下内边距 + 6 行，超过 6 行改为框内滚动
     --chat-send     发送键的正方形边长（内联在输入框右下角）
     --act-hit       消息操作按钮（复制 / 重新生成）的点击区，不小于 WCAG 2.5.8 要求的 24px */
  --chat-measure:768px; --bubble-max:52ch;
  --composer-lh:1.6;
  --composer-min:calc(var(--sp-2) * 2 + var(--fs-14) * var(--composer-lh));
  --composer-max:calc(var(--sp-2) * 2 + var(--fs-14) * var(--composer-lh) * 6);
  --chat-send:32px; --act-hit:24px;
  --btn-h:28px; --field-h:32px;
  /* 题库三分区（总览 / 专项练习 / 错题本）的「落点带」。按「一个主题一个真相源」，
     尺寸只在这里定义一份，app.css 只引用；上一轮把尺寸令牌写进 app.css 属于偏差。
     --focus-pad     落点带的内边距
     --focus-min     落点带的最小高度：数字、事实与动作必须在同一眼域里
     --focus-gap     落点带里事实条目的间距 */
  --focus-pad:var(--sp-4); --focus-min:104px; --focus-gap:var(--sp-3);
  --nav-row-h:36px; --kbdbar-h:28px;
  --task-row-h:40px;
  /* 「我的」→ AI 模型的折叠标题行最小高度：它是这张卡唯一露在外面的一行，
     必须够高够好点（WCAG 2.5.8 目标尺寸），又不能让「我的」破一屏。
     尺寸只在这里定义一份，app.css 只引用。 */
  --modelcfg-sum-h:36px;
  /* 对话页的多会话侧栏（会话列表 + 「我记住的」）。尺寸与节奏，不涉及颜色；
     窄屏（≤900px）会话栏改成横向一条，宽度不再使用这个令牌。
     --rail-w      侧栏宽度：够放「09-21 · 12 条」这一行，又不至于挤掉消息列
     --rail-row-h  会话行的最小高度：满足 WCAG 2.5.8 的目标尺寸
     --mem-maxh    「我记住的」列表的最大高度，超出自己滚，不把侧栏撑长 */
  --rail-w:264px; --rail-row-h:44px; --mem-maxh:220px;
  /* 助手回答的 Markdown 排版。正文是 --fs-14 = 14px，标题必须一眼高出一档，
     所以单独立三个字号（20 / 17 / 15）；4~6 级标题不再放大，改用字重 + 次级文字色，
     避免「层级全靠字号」把长回答做成噪声。
     --md-fs-code  行内代码/代码块的等宽字号：比正文小一档，代码块才不会横冲直撞
     --md-gap      块与块之间的节奏，列表、段落、表格共用同一个值
     --md-table-pad 表格单元格内边距：360px 下表格自己横向滚，靠的是这个紧凑值 */
  --md-fs-h1:20px; --md-fs-h2:17px; --md-fs-h3:15px; --md-fs-code:12px;
  --md-gap:var(--sp-3); --md-table-pad:var(--sp-2);
  /* 单词打卡（学习页 + 学习记录）的组件令牌。按「一个主题一个真相源」，尺寸只在这里定一份，
     app.css 只引用；颜色一律走 Tier 2 语义令牌，明暗两套自动一致。
     --word-spell 词条拼写的字号：它是这一页的绝对主角（doctrine 要求 ≥ 2.5× 正文 14px）
     --word-phon  音标行、--word-mean 释义、--word-gap 词条内部段落间距
     --word-row-h 词表每一行的高度：整行可点，高度不小于 WCAG 2.5.8 的 24px 目标尺寸 */
  --word-spell:40px; --word-phon:var(--fs-13); --word-mean:var(--fs-16);
  --word-gap:var(--sp-3); --word-row-h:44px;
  /* 词数输入框与记录页首字母分组的宽度：两个都只放一两个字，不抢主角 */
  --word-count-w:84px; --letter-w:44px;
  /* 对话附件（上传入口 / 待发送附件条 / 消息里的附件）。尺寸与节奏，不涉及颜色；
     颜色一律走 Tier 2 语义令牌（--warning / --border / --surface-*），明暗两套自动一致。
     --attach-thumb    待发送附件条里的缩略图边长（正方形，不撑高整条）
     --attach-thumb-lg 消息里附件缩略图的边长：翻看历史时也该看得清
     --attach-name     附件名的最大宽度：长文件名截断，不把一行撑破（360px 也不横向溢出）
     --attach-max      单个待发送附件的最大宽度 */
  --attach-thumb:32px; --attach-thumb-lg:56px; --attach-name:18ch; --attach-max:240px;
  /* 认证屏的「邮箱验证码」流程（注册两步式 / 自助找回）。尺寸与节奏，不涉及颜色；
     颜色一律走 Tier 2 语义令牌（--danger / --text-1 / --text-2 / --border），明暗两套自动一致。
     按「一个主题一个真相源」，这几个值只在这里定义一份，app.css 只引用。
     --auth-code-max  验证码输入框的最大宽度：6 位数字够用，宽屏下不让它跟着整行拉伸
     --auth-msg-min   状态行（已发送 / 倒计时 / 失败原因）的最小高度：出现与消失时版面不跳
     --auth-msg-fs    状态行字号：比正文小一档，不与 #auth-err 的错误行抢注意力 */
  --auth-code-max:128px; --auth-msg-min:18px; --auth-msg-fs:var(--fs-12);
}
/* density modes change rhythm only - never colour, hierarchy or meaning */
html[data-density="compact"]{
  --row-h:34px; --nav-row-h:32px; --task-row-h:40px; --pad-main:var(--sp-4);
}
html[data-density="compact"] .a-row{min-height:96px;padding:var(--sp-2)}
html[data-density="compact"] .a-tools{gap:var(--sp-2);padding:var(--sp-2)}
html[data-density="compact"] .a-row__ico{width:24px;height:24px;padding:4px}
html[data-theme="light"] .a-ico-sun{display:none}
html[data-theme="dark"] .a-ico-moon{display:none}
/* 窄屏（360px 档）：对话附件不许横向溢出 —— 缩略图收小、附件名收窄、单个附件最多占满整行。
   改的是令牌本身（一个主题一个真相源），app.css 里不另写一套窄屏尺寸。 */
@media (max-width:560px){
  :root{ --attach-thumb-lg:44px; --attach-name:14ch; --attach-max:100%; }
  /* 360px 档：验证码输入框不再限宽（整行给它），发送按钮另起一行铺满 ——
     这两个元素并排时的最小宽度加起来会顶破 360px。改令牌本身，不在 app.css 里另写一套尺寸。 */
  :root{ --auth-code-max:100%; }
}

/* ==========================================================================
   Base
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html,body{height:100%}
body{
  margin:0;background:var(--surface-page);color:var(--text-1);
  font-family:var(--font-ui);font-size:var(--fs-14);line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
button,input{font:inherit;color:inherit}
button{background:none;border:0;padding:0;cursor:pointer}
h1,h2,h3,p{margin:0}
ul{margin:0;padding:0;list-style:none}
svg{display:block}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
::selection{background:var(--surface-selected);color:var(--text-1)}
.a-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
.a-eyebrow{font-size:var(--fs-11);font-weight:var(--fw-semibold);letter-spacing:.09em;color:var(--text-3)}
.a-i{width:16px;height:16px;flex:none}
.a-i--14{width:14px;height:14px}
.a-i--18{width:18px;height:18px}
.a-i--20{width:20px;height:20px}
.a-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.a-main::-webkit-scrollbar,.a-panel__scroll::-webkit-scrollbar,.a-nav::-webkit-scrollbar{width:10px;height:10px}
.a-main::-webkit-scrollbar-thumb,.a-panel__scroll::-webkit-scrollbar-thumb,.a-nav::-webkit-scrollbar-thumb{
  background:var(--border-strong);border:3px solid transparent;background-clip:content-box;border-radius:6px;
}
.a-main::-webkit-scrollbar-track,.a-panel__scroll::-webkit-scrollbar-track,.a-nav::-webkit-scrollbar-track{background:transparent}
.a-main,.a-panel__scroll,.a-nav{scrollbar-width:thin}

/* ==========================================================================
   Shell: console grid
   ========================================================================== */
.a-app{
  height:100vh;display:grid;
  grid-template-rows:var(--topbar-h) var(--strip-h) minmax(0,1fr);
  background:var(--surface-page);overflow:hidden;
}
.a-body{
  display:grid;grid-template-columns:var(--nav-w) minmax(0,1fr) var(--panel-w);
  min-height:0;transition:grid-template-columns var(--dur-2) var(--ease);
}
html[data-nav="collapsed"]{--nav-w:56px}

/* -- Command bar ---------------------------------------------------------- */
.a-topbar{
  display:flex;align-items:center;gap:var(--sp-4);
  padding:0 var(--sp-4);background:var(--surface);border-bottom:1px solid var(--border);
}
.a-brand{display:flex;align-items:center;gap:var(--sp-2);flex:none}
.a-brand__mark{width:22px;height:22px;color:var(--accent)}
.a-brand__name{font-size:var(--fs-14);font-weight:var(--fw-semibold);letter-spacing:.02em}
.a-brand__en{font-size:var(--fs-11);color:var(--text-3);letter-spacing:.06em;font-family:var(--font-mono)}
.a-brand__sep{width:1px;height:16px;background:var(--border);margin:0 var(--sp-1)}

.a-cmd{
  display:flex;align-items:center;gap:var(--sp-2);
  flex:1 1 auto;min-width:0;max-width:560px;height:var(--field-h);
  padding:0 var(--sp-2) 0 var(--sp-3);
  border:1px solid var(--border);border-radius:var(--radius-2);background:var(--surface);
  transition:border-color var(--dur-1) var(--ease),box-shadow var(--dur-1) var(--ease);
}
.a-cmd:hover{border-color:var(--border-strong)}
.a-cmd:focus-within{border-color:var(--accent);box-shadow:var(--shadow-focus)}
.a-cmd__ico{color:var(--text-3)}
.a-cmd__input{flex:1;min-width:0;border:0;background:none;outline:none;font-size:var(--fs-13);color:var(--text-1)}
.a-cmd__input::placeholder{color:var(--text-3)}
.a-cmd__kbd{display:flex;align-items:center;gap:2px;flex:none}
.a-kbd{
  font-family:var(--font-mono);font-size:10px;line-height:1;
  padding:3px 4px;border:1px solid var(--border-strong);border-bottom-width:2px;
  border-radius:var(--radius-1);background:var(--surface-sunken);color:var(--text-2);
}
.a-cmd__div{width:1px;height:16px;background:var(--border);flex:none}
.a-cmd__ask{
  display:inline-flex;align-items:center;gap:5px;flex:none;height:26px;padding:0 var(--sp-2);
  border-radius:var(--radius-1);color:var(--accent);font-size:var(--fs-12);font-weight:var(--fw-medium);
  transition:background var(--dur-1) var(--ease);
}
.a-cmd__ask:hover{background:var(--accent-soft)}
.a-cmd__ask:active{background:var(--surface-selected)}

.a-topbar__actions{display:flex;align-items:center;gap:var(--sp-2);margin-left:auto;flex:none}
.a-seg{display:flex;align-items:center;gap:2px;padding:2px;border:1px solid var(--border);border-radius:var(--radius-2);background:var(--surface-sunken)}
.a-seg__btn{
  display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 var(--sp-2);
  border-radius:var(--radius-1);color:var(--text-2);font-size:var(--fs-12);
  transition:background var(--dur-1) var(--ease),color var(--dur-1) var(--ease);
}
.a-seg__btn:hover{background:var(--surface-hover);color:var(--text-1)}
.a-seg__btn[aria-pressed="true"]{background:var(--surface);color:var(--accent);font-weight:var(--fw-medium);box-shadow:0 0 0 1px var(--border-strong)}

.a-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  height:var(--btn-h);padding:0 var(--sp-3);border:1px solid transparent;border-radius:var(--radius-2);
  font-size:var(--fs-12);font-weight:var(--fw-medium);white-space:nowrap;
  transition:background var(--dur-1) var(--ease),border-color var(--dur-1) var(--ease),color var(--dur-1) var(--ease);
}
.a-btn--primary{background:var(--accent);color:var(--on-accent)}
.a-btn--primary:hover{background:var(--accent-hover)}
.a-btn--primary:active{background:var(--accent-active)}
.a-btn--secondary{background:var(--surface);border-color:var(--border-strong);color:var(--text-1)}
.a-btn--secondary:hover{background:var(--surface-hover)}
.a-btn--secondary:active{background:var(--surface-sunken)}
.a-btn--ghost{background:var(--surface);border-color:var(--border);color:var(--text-2)}
.a-btn--ghost:hover{background:var(--surface-hover);color:var(--text-1)}
.a-btn[disabled],.a-btn[aria-disabled="true"]{
  background:var(--surface-sunken);border-color:var(--border);color:var(--text-disabled);cursor:not-allowed;
}
.a-iconbtn{
  display:inline-flex;align-items:center;justify-content:center;width:var(--btn-h);height:var(--btn-h);
  border-radius:var(--radius-2);color:var(--text-2);flex:none;
  transition:background var(--dur-1) var(--ease),color var(--dur-1) var(--ease);
}
.a-iconbtn:hover{background:var(--surface-hover);color:var(--text-1)}
.a-iconbtn:active{background:var(--surface-sunken)}
.a-theme{width:auto;gap:6px;padding:0 var(--sp-3);font-size:var(--fs-12)}
.a-spin{animation:a-spin 640ms linear infinite}
@keyframes a-spin{to{transform:rotate(360deg)}}

/* -- Countdown strip ------------------------------------------------------ */
.a-strip{
  display:flex;align-items:center;gap:var(--sp-3);
  padding:0 var(--sp-4);background:var(--surface-sunken);border-bottom:1px solid var(--border);
  font-size:var(--fs-12);color:var(--text-2);
}
.a-strip__ico{color:var(--text-3)}
.a-strip__days{font-family:var(--font-mono);font-size:var(--fs-14);font-weight:var(--fw-semibold);color:var(--accent);font-variant-numeric:tabular-nums}
.a-strip__sep{width:1px;height:14px;background:var(--border)}
.a-path{
  display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 var(--sp-2);
  border:1px solid var(--border);border-radius:var(--radius-2);color:var(--text-2);font-size:var(--fs-12);
  transition:background var(--dur-1) var(--ease),border-color var(--dur-1) var(--ease),color var(--dur-1) var(--ease);
}
.a-path:hover{background:var(--surface-hover);border-color:var(--border-strong);color:var(--text-1)}
.a-strip__right{margin-left:auto;display:flex;align-items:center;gap:var(--sp-2);color:var(--text-3);font-family:var(--font-mono);font-size:var(--fs-11)}

/* -- Left navigation ----------------------------------------------------- */
.a-nav{
  min-width:0;overflow-y:auto;overflow-x:hidden;background:var(--surface);border-right:1px solid var(--border);
  display:flex;flex-direction:column;padding:var(--sp-2);gap:var(--sp-1);
}
.a-nav__item{
  position:relative;display:flex;align-items:center;gap:var(--sp-3);width:100%;
  height:var(--nav-row-h);padding:0 var(--sp-3);border-radius:var(--radius-2);
  color:var(--text-2);font-size:var(--fs-13);text-align:left;
  transition:background var(--dur-1) var(--ease),color var(--dur-1) var(--ease);
}
.a-nav__item:hover{background:var(--surface-hover);color:var(--text-1)}
.a-nav__item:active{background:var(--surface-sunken)}
.a-nav__item[aria-current="page"]{background:var(--surface-selected);color:var(--accent);font-weight:var(--fw-medium)}
.a-nav__item[aria-current="page"]::before{
  content:"";position:absolute;left:0;top:9px;bottom:9px;width:2px;border-radius:1px;background:var(--accent);
}
.a-nav__ico{color:currentColor;opacity:.85}
.a-nav__label{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.a-nav__foot{margin-top:auto;padding-top:var(--sp-2);border-top:1px solid var(--border)}
.a-user{
  display:flex;flex-direction:column;gap:var(--sp-2);min-width:0;
  margin-top:var(--sp-2);padding:var(--sp-2) var(--sp-2) 0;border-top:1px solid var(--border);
}
.a-user__top{display:flex;align-items:center;gap:var(--sp-2);min-width:0}
.a-user__avatar{
  flex:none;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--border);border-radius:var(--radius-2);background:var(--surface-sunken);
  font-size:var(--fs-13);font-weight:var(--fw-medium);color:var(--text-1);
}
.a-user__main{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.a-user__row{display:flex;align-items:center;gap:6px;min-width:0}
.a-user__name{font-size:var(--fs-13);font-weight:var(--fw-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.a-user__plan{
  flex:none;padding:0 5px;border:1px solid var(--border-strong);border-radius:var(--radius-1);
  font-size:var(--fs-11);color:var(--text-3);letter-spacing:.04em;white-space:nowrap;
}
.a-user__track{flex:1;min-width:24px}
.a-user__quota{font-family:var(--font-mono);font-size:var(--fs-11);color:var(--text-3);white-space:nowrap}
.a-user__cta{width:100%;justify-content:flex-start}
html[data-nav="collapsed"] .a-nav__label,
html[data-nav="collapsed"] .a-user__main,
html[data-nav="collapsed"] .a-user__cta{display:none}
html[data-nav="collapsed"] .a-user{align-items:center;padding:var(--sp-2) 0 0}
html[data-nav="collapsed"] .a-nav__item,html[data-nav="collapsed"] .a-nav__foot .a-nav__item{justify-content:center;padding:0}

/* -- Centre · workspace -------------------------------------------------- */
.a-main{min-width:0;overflow-y:auto;padding:var(--pad-main);background:var(--surface-page)}
.a-greet{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-4);margin-bottom:var(--sp-3)}
.a-greet__title{font-size:var(--fs-20);font-weight:var(--fw-semibold);line-height:1.25;letter-spacing:-.01em}
.a-greet__sub{margin-top:2px;font-size:var(--fs-13);color:var(--text-2)}
.a-greet__meta{font-size:var(--fs-11);color:var(--text-3);font-family:var(--font-mono);white-space:nowrap;text-align:right}

.a-toolbar{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4);flex-wrap:wrap}
.a-field{
  display:flex;align-items:center;gap:var(--sp-2);flex:0 1 300px;min-width:220px;height:var(--field-h);
  padding:0 var(--sp-3);border:1px solid var(--border);border-radius:var(--radius-2);background:var(--surface);
  transition:border-color var(--dur-1) var(--ease),box-shadow var(--dur-1) var(--ease);
}
.a-field:hover{border-color:var(--border-strong)}
.a-field:focus-within{border-color:var(--accent);box-shadow:var(--shadow-focus)}
.a-field__ico{color:var(--text-3)}
.a-field__input{flex:1;min-width:0;border:0;background:none;outline:none;font-size:var(--fs-13);color:var(--text-1)}
.a-field__input::placeholder{color:var(--text-3)}
.a-tabs{display:flex;align-items:center;gap:var(--sp-1);min-width:0;flex-wrap:wrap}
.a-tab{
  display:inline-flex;align-items:center;gap:6px;height:var(--btn-h);padding:0 var(--sp-3);
  border:1px solid transparent;border-radius:var(--radius-2);color:var(--text-2);font-size:var(--fs-12);
  transition:background var(--dur-1) var(--ease),color var(--dur-1) var(--ease);
}
.a-tab:hover{background:var(--surface-hover);color:var(--text-1)}
.a-tab:active{background:var(--surface-sunken)}
.a-tab[aria-selected="true"]{background:var(--surface-selected);color:var(--accent);font-weight:var(--fw-medium)}
.a-tab__count{font-family:var(--font-mono);font-size:var(--fs-11);color:var(--text-3)}
.a-tab[aria-selected="true"] .a-tab__count{color:var(--accent)}
.a-toolbar__count{margin-left:auto;font-size:var(--fs-11);color:var(--text-3);font-family:var(--font-mono);white-space:nowrap}

.a-banner{
  display:flex;align-items:center;gap:var(--sp-3);min-height:40px;
  padding:var(--sp-2) var(--sp-3);margin-bottom:var(--sp-4);
  background:var(--surface);border:1px solid var(--border);border-left:2px solid var(--accent);
  border-radius:var(--radius-2);
}
.a-banner[hidden]{display:none}
.a-banner__ico{color:var(--accent)}
.a-banner__text{min-width:0;font-size:var(--fs-13)}
.a-banner__note{color:var(--text-3);font-size:var(--fs-12)}
.a-banner__actions{margin-left:auto;display:flex;align-items:center;gap:var(--sp-2);flex:none}

.a-surface{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-2);overflow:hidden}
.a-tools{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-3);padding:var(--sp-3)}

.a-row{
  position:relative;display:grid;grid-template-columns:28px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;
  align-items:start;gap:var(--sp-1) var(--sp-2);width:100%;min-height:112px;padding:var(--sp-3);
  border:1px solid var(--border);border-radius:var(--radius-2);background:var(--surface);text-align:left;
  transition:background var(--dur-1) var(--ease),border-color var(--dur-1) var(--ease);
}
.a-row:hover{background:var(--surface-hover);border-color:var(--border-strong)}
.a-row:active{background:var(--surface-sunken)}
.a-row.is-open{background:var(--surface-selected);border-color:var(--accent)}
.a-row__ico{grid-column:1;grid-row:1;width:28px;height:28px;padding:5px;border-radius:var(--radius-1);background:var(--surface-sunken);color:var(--text-2)}
.a-row:hover .a-row__ico{background:var(--surface);color:var(--accent)}
.a-row__name{grid-column:2;grid-row:1;align-self:center;font-size:var(--fs-13);font-weight:var(--fw-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.a-row__desc{grid-column:1/-1;grid-row:2;font-size:var(--fs-12);line-height:1.45;color:var(--text-2);white-space:normal;overflow:hidden}
.a-row__foot{grid-column:1/-1;grid-row:3;display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}
.a-row__cat{font-size:var(--fs-11);color:var(--text-3);letter-spacing:.04em;white-space:nowrap}
.a-row__meta{display:inline-flex;align-items:center;gap:4px;padding:1px 6px;border:1px solid var(--border);border-radius:var(--radius-1);background:var(--surface-sunken);font-size:var(--fs-11);color:var(--text-3);white-space:nowrap}
.a-row__meta--warn{color:var(--warning);border-color:var(--warning)}
.a-row__meta:not(.a-row__meta--warn) svg{display:none}
.a-row__label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.a-row__go{position:absolute;right:var(--sp-2);bottom:var(--sp-2);color:var(--text-3);opacity:0;transform:translateX(-3px);transition:opacity var(--dur-1) var(--ease),transform var(--dur-1) var(--ease)}
.a-row:hover .a-row__go,.a-row:focus-visible .a-row__go,.a-row.is-open .a-row__go{opacity:1;transform:none}
@media (hover:none){.a-row__go{opacity:1}}
.a-row[disabled]{color:var(--text-disabled);cursor:not-allowed;background:var(--surface)}

.a-card{margin-top:var(--sp-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-2);overflow:hidden}
.a-card__head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:var(--surface-sunken);border-bottom:1px solid var(--border)}
.a-pad{padding:var(--sp-2) var(--sp-3) var(--sp-3)}
.a-empty{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-3);color:var(--text-2);font-size:var(--fs-13)}
.a-empty__ico{color:var(--text-3)}
.a-empty__actions{margin-left:auto;flex:none}

.a-kbdbar{
  display:flex;align-items:center;gap:var(--sp-4);height:var(--kbdbar-h);padding:0 var(--sp-3);
  border-top:1px solid var(--border);background:var(--surface-sunken);font-size:var(--fs-11);color:var(--text-3);
}
.a-kbdhint{display:inline-flex;align-items:center;gap:4px}
.a-kbdhint .a-kbd{margin-right:1px}
.a-kbdbar__note{margin-left:auto;color:var(--text-3)}

/* -- Right · status panel ------------------------------------------------ */
.a-panel{
  min-width:0;display:flex;flex-direction:column;overflow:hidden;
  background:var(--surface);border-left:1px solid var(--border);
}
.a-panel__scroll{flex:1;min-height:0;overflow-y:auto}
.a-block{padding:var(--sp-4);border-bottom:1px solid var(--border)}
.a-block__head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);margin-bottom:var(--sp-3)}
.a-block__note{font-size:var(--fs-11);color:var(--text-3);font-family:var(--font-mono);white-space:nowrap}

.a-metric{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-3)}
.a-metric__num{
  font-family:var(--font-mono);font-size:var(--fs-40);font-weight:var(--fw-semibold);
  line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums;
}
.a-metric__spark{flex:none;width:140px;height:40px}
.a-metric__foot{display:flex;align-items:center;gap:var(--sp-2);margin-top:var(--sp-2)}
.a-delta{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:var(--fs-12);font-weight:var(--fw-medium);color:var(--success)}
.a-metric__vs{font-size:var(--fs-12);color:var(--text-3)}
.a-metric__vs--right{margin-left:auto;font-family:var(--font-mono);font-size:var(--fs-11)}

.a-statusline{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3)}
.a-chip{
  display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 var(--sp-2);
  border:1px solid transparent;border-radius:var(--radius-2);font-size:var(--fs-12);font-weight:var(--fw-medium);
}
.a-chip--success{background:var(--success-soft);color:var(--success)}
.a-chip--warning{background:var(--warning-soft);color:var(--warning)}
/* 「批准复用」既不是本省内容（success）也不是超纲警告（warning），用主题色中性表达：
   它要说明的是「对齐本省纲要、可练但不计覆盖」，颜色上不该像在报错。 */
.a-chip--info{background:var(--accent-soft);color:var(--accent)}
.a-chip--danger{background:var(--danger-soft);color:var(--danger)}
.a-scale{display:flex;align-items:center;gap:var(--sp-1);margin-bottom:var(--sp-3)}
.a-scale__cell{
  flex:1;min-width:0;height:26px;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--border);border-radius:var(--radius-1);
  font-size:var(--fs-11);color:var(--text-3);white-space:nowrap;overflow:hidden;
}
.a-scale__cell[aria-current="true"]{background:var(--accent-soft);border-color:transparent;color:var(--accent);font-weight:var(--fw-medium)}
.a-evidence{font-size:var(--fs-13);color:var(--text-2);line-height:1.55}
.a-disclosure{
  display:inline-flex;align-items:center;gap:4px;margin-top:var(--sp-2);height:26px;padding:0 var(--sp-2) 0 4px;
  border-radius:var(--radius-1);color:var(--accent);font-size:var(--fs-12);font-weight:var(--fw-medium);
  transition:background var(--dur-1) var(--ease);
}
.a-disclosure:hover{background:var(--accent-soft)}
.a-disclosure__ico{transition:transform var(--dur-2) var(--ease)}
.a-disclosure[aria-expanded="true"] .a-disclosure__ico{transform:rotate(180deg)}
.a-why{max-height:0;overflow:hidden;transition:max-height var(--dur-3) var(--ease)}
.a-why.is-open{max-height:320px}
.a-why__inner{padding-top:var(--sp-3);border-top:1px solid var(--border);margin-top:var(--sp-3)}
.a-why__quote{
  font-size:var(--fs-12);line-height:1.6;color:var(--text-2);
  padding-left:var(--sp-3);border-left:2px solid var(--border-strong);
}
.a-factor{display:grid;grid-template-columns:96px minmax(0,1fr) 44px;align-items:center;gap:var(--sp-2);margin-top:var(--sp-2)}
.a-factor__name{font-size:var(--fs-11);color:var(--text-3);white-space:nowrap}
.a-factor__val{font-family:var(--font-mono);font-size:var(--fs-11);color:var(--text-2);text-align:right}
.a-factor__formula{margin-top:var(--sp-3);font-family:var(--font-mono);font-size:var(--fs-11);color:var(--text-3)}

.a-bar{position:relative;height:6px;border-radius:var(--radius-bar);background:var(--track);overflow:hidden}
.a-bar__fill{position:absolute;left:0;top:0;bottom:0;border-radius:var(--radius-bar);background:var(--accent)}
.a-bar__fill--success{background:var(--success)}
.a-bar__fill--warning{background:var(--warning)}
.a-bar__fill--danger{background:var(--danger)}

.a-progress{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-2)}
.a-card__head .a-progress{flex:0 1 240px;min-width:140px;margin:0}
.a-progress__text{font-family:var(--font-mono);font-size:var(--fs-11);color:var(--text-3);white-space:nowrap}
.a-progress__track{flex:1;height:2px;border-radius:1px;background:var(--track);overflow:hidden}
.a-progress__fill{display:block;height:100%;background:var(--accent);transition:width var(--dur-2) var(--ease)}

.a-table__head{
  display:grid;grid-template-columns:16px minmax(0,1fr) 56px 26px;align-items:center;gap:var(--sp-2);
  padding:0 0 var(--sp-2);border-bottom:1px solid var(--border);margin-bottom:2px;
}
.a-table__head span{white-space:nowrap}
.a-table__head span:last-child{visibility:hidden}
.a-task{
  display:grid;grid-template-columns:16px minmax(0,1fr) 56px 26px;align-items:center;gap:var(--sp-2);
  min-height:var(--task-row-h);padding:var(--sp-1) 0;border-bottom:1px solid var(--border);
}
.a-task:last-child{border-bottom:0}
.a-task.is-done .a-task__name{color:var(--text-3);text-decoration:line-through}
.a-task.is-done .a-task__meta{color:var(--text-3)}
.a-check{position:relative;width:16px;height:16px;display:inline-flex}
.a-check__input{
  position:absolute;inset:0;margin:0;width:16px;height:16px;appearance:none;cursor:pointer;
  border:1px solid var(--border-strong);border-radius:var(--radius-1);background:var(--surface);
  transition:background var(--dur-1) var(--ease),border-color var(--dur-1) var(--ease);
}
.a-check__input:hover{border-color:var(--accent)}
.a-check__input:checked{background:var(--accent);border-color:var(--accent)}
.a-check__input:active{background:var(--surface-sunken)}
.a-check__input:checked:active{background:var(--accent-active);border-color:var(--accent-active)}
.a-check__ico{position:absolute;inset:0;color:var(--on-accent);opacity:0;transform:scale(.6);pointer-events:none;transition:opacity var(--dur-1) var(--ease),transform var(--dur-1) var(--ease)}
.a-check__input:checked ~ .a-check__ico{opacity:1;transform:scale(1)}
.a-task__main{min-width:0}
.a-task__name{display:block;font-size:var(--fs-13);font-weight:var(--fw-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.a-task__meta{display:block;font-size:var(--fs-11);color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.a-task__dur{font-family:var(--font-mono);font-size:var(--fs-12);color:var(--text-2);text-align:right;font-variant-numeric:tabular-nums}
.a-task.is-done .a-task__dur{color:var(--text-3)}
.a-task__go{
  display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:var(--radius-1);
  color:var(--text-3);transition:background var(--dur-1) var(--ease),color var(--dur-1) var(--ease);
}
.a-task__go:hover{background:var(--surface-hover);color:var(--accent)}

.a-weak{
  display:block;width:100%;padding:var(--sp-2) var(--sp-2);border-radius:var(--radius-1);text-align:left;
  transition:background var(--dur-1) var(--ease);
}
.a-weak:hover{background:var(--surface-hover)}
.a-weak:active{background:var(--surface-sunken)}
.a-weak__top{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-2);margin-bottom:6px}
.a-weak__name{font-size:var(--fs-13);color:var(--text-1);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.a-weak__pct{font-family:var(--font-mono);font-size:var(--fs-12);font-weight:var(--fw-medium);flex:none}
.a-weak__pct--danger{color:var(--danger)}
.a-weak__pct--warning{color:var(--warning)}
.a-weak__track{position:relative;overflow:visible}
.a-weak__ref{position:absolute;top:-2px;bottom:-2px;left:60%;width:1px;background:var(--border-strong)}
.a-weak__row{display:flex;align-items:center;gap:var(--sp-2)}
.a-weak__row .a-bar{flex:1;min-width:0}
.a-weak__hint{font-size:var(--fs-11);color:var(--text-3);white-space:nowrap;flex:none}
/* 依据行：薄弱点必须能说出「凭什么」，所以每一条都带样本量/口径/证据条数 */
.a-weak__basis{display:block;margin-top:6px;font-size:var(--fs-11);color:var(--text-3);line-height:1.5}
.a-weak__basis--warn{color:var(--warning)}

.a-metric__stats{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3);margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--border)}
.a-metric__stats .a-stat__value{font-size:var(--fs-16)}
.a-stat{display:flex;flex-direction:column;gap:4px}
.a-stat__label{display:flex;align-items:center;gap:5px;font-size:var(--fs-11);color:var(--text-3)}
.a-stat__ico{color:var(--text-3)}
.a-stat__value{font-family:var(--font-mono);font-size:var(--fs-20);font-weight:var(--fw-semibold);line-height:1;letter-spacing:-.02em}
.a-stat__unit{font-size:var(--fs-12);font-weight:var(--fw-regular);color:var(--text-2);margin-left:3px}
.a-week{display:flex;align-items:flex-end;gap:var(--sp-2)}
.a-week__col{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:4px}
.a-week__bar{width:100%;max-width:18px;border-radius:var(--radius-bar);background:var(--border-strong)}
.a-week__bar--today{background:var(--accent)}
.a-week__day{font-size:var(--fs-11);color:var(--text-3);font-family:var(--font-mono)}
.a-week__day--today{color:var(--accent);font-weight:var(--fw-medium)}

.a-dock{flex:none;padding:var(--sp-3) var(--sp-4) var(--sp-4);border-top:1px solid var(--border);background:var(--surface)}
.a-dock__head{display:flex;align-items:center;gap:6px;margin-bottom:var(--sp-2);font-size:var(--fs-11);color:var(--text-3)}
.a-dock__head svg{color:var(--accent)}
.a-dock__row{display:flex;align-items:center;gap:var(--sp-2)}
.a-dock__field{
  display:flex;align-items:center;flex:1;min-width:0;height:var(--field-h);padding:0 var(--sp-3);
  border:1px solid var(--border-strong);border-radius:var(--radius-2);background:var(--surface);
  transition:border-color var(--dur-1) var(--ease),box-shadow var(--dur-1) var(--ease);
}
.a-dock__field:focus-within{border-color:var(--accent);box-shadow:var(--shadow-focus)}
.a-dock__input{flex:1;min-width:0;border:0;background:none;outline:none;font-size:var(--fs-13)}
.a-dock__input::placeholder{color:var(--text-3)}
.a-dock__send{
  display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex:none;
  border-radius:var(--radius-2);background:var(--accent);color:var(--on-accent);
  transition:background var(--dur-1) var(--ease);
}
.a-dock__send:hover{background:var(--accent-hover)}
.a-dock__send:active{background:var(--accent-active)}
.a-dock__send[disabled]{background:var(--surface-sunken);color:var(--text-disabled);cursor:not-allowed}
.a-dock__chips{display:flex;gap:var(--sp-1);margin-top:var(--sp-2);flex-wrap:wrap}
.a-chipbtn{
  height:22px;padding:0 var(--sp-2);border:1px solid var(--border);border-radius:var(--radius-1);
  font-size:var(--fs-11);color:var(--text-2);white-space:nowrap;
  transition:background var(--dur-1) var(--ease),border-color var(--dur-1) var(--ease),color var(--dur-1) var(--ease);
}
.a-chipbtn:hover{background:var(--surface-hover);border-color:var(--border-strong);color:var(--text-1)}

.a-toast{
  position:fixed;left:50%;bottom:var(--sp-5);transform:translate(-50%,8px);
  display:flex;align-items:center;gap:var(--sp-2);max-width:min(560px,90vw);
  padding:var(--sp-2) var(--sp-3);border:1px solid var(--border);border-radius:var(--radius-2);
  background:var(--surface);box-shadow:var(--shadow-raise);
  font-size:var(--fs-12);color:var(--text-1);
  opacity:0;pointer-events:none;z-index:40;
  transition:opacity var(--dur-2) var(--ease),transform var(--dur-2) var(--ease);
}
.a-toast.is-on{opacity:1;transform:translate(-50%,0)}
.a-toast__ico{color:var(--accent)}

/* ==========================================================================
   Responsive · desktop-first (1440x900 base, no horizontal scroll)
   ========================================================================== */
@media (max-width:1320px){
  :root{--panel-w:344px;--nav-w:200px}
}
@media (max-width:1180px){
  :root{--panel-w:324px;--nav-w:56px}
  .a-nav__label,.a-user__main,.a-user__cta{display:none}
  .a-nav__item{justify-content:center;padding:0}
  .a-tools{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:1024px){
  :root{--pad-main:var(--sp-4);--panel-w:312px}
  .a-brand__en,.a-cmd__ask{display:none}
  .a-tools{grid-template-columns:repeat(3,minmax(0,1fr))}
  .a-toolbar__count{display:none}
}
@media (max-width:900px){
  /* 窄屏仍然要有落点：36px 相对正文 14px 是 2.57×，不因为屏幕小而取消主角 */
  :root{--word-spell:36px}
  .a-app{height:auto;min-height:100vh;grid-template-rows:auto auto auto;overflow:visible}
  .a-topbar{flex-wrap:wrap;height:auto;padding:var(--sp-2) var(--sp-3);gap:var(--sp-2)}
  .a-cmd{max-width:none;order:3;flex:1 1 100%}
  .a-topbar__actions{margin-left:auto}
  .a-strip{flex-wrap:wrap;height:auto;padding:var(--sp-2) var(--sp-3);gap:var(--sp-2)}
  .a-strip__right{margin-left:0}
  .a-body{grid-template-columns:minmax(0,1fr)}
  .a-nav{
    flex-direction:row;overflow-x:auto;overflow-y:hidden;border-right:0;border-bottom:1px solid var(--border);
    padding:var(--sp-2);gap:var(--sp-1);
  }
  .a-nav__label{display:inline}
  .a-user{flex-direction:row;align-items:center;gap:var(--sp-2);margin:0 0 0 auto;padding:0;border-top:0}
  .a-user__main{display:flex;flex-direction:row;align-items:center;gap:6px;flex:none}
  .a-user__row--quota,.a-user__cta{display:none}
  .a-nav__item{width:auto;flex:none;padding:0 var(--sp-3);justify-content:flex-start}
  .a-nav__item[aria-current="page"]::before{top:auto;bottom:0;left:var(--sp-3);right:var(--sp-3);height:2px;width:auto}
  .a-nav__foot{margin-top:0;padding-top:0;border-top:0}
  .a-main{overflow:visible;padding:var(--sp-4) var(--sp-3)}
  .a-panel{border-left:0;border-top:1px solid var(--border)}
  .a-panel__scroll{overflow:visible}
  .a-tools{grid-template-columns:repeat(2,minmax(0,1fr))}
  .a-metric__num{font-size:var(--fs-20)}
  .a-toast{left:var(--sp-3);right:var(--sp-3);transform:translate(0,8px);max-width:none}
  .a-toast.is-on{transform:translate(0,0)}
}
@media (max-width:560px){
  .a-user__main{display:none}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}
}
