/* @@ui1-tokens-begin */
/* ===== 界面改版1(2026-10-20,第四版示意):颜色变量。全站颜色只认这里,浅色=:root,深色=html[data-theme=dark]。
   取色来源=织网台工作资料/UI审美诊断-2026-10-20/05-正文站改版示意-第四版.html 顶部取色表。
   名字含义:bg页面底板 face卡片面 face2次一档面 paper稿纸/最亮面 sunk凹槽 sunk2深凹槽 row-on列表选中行
   ink正文字 ink2次要字 ink3说明字(界面改版4:说明字也得清楚,对比度>=7:1) ink-off按不动/占位提示专用浅字 line分隔线 line2描边 pri主色(按钮/当前站) accent主色字 on-pri主色上的字
   ok成功绿 warn提醒橙 danger危险红 info说明蓝;各带 -soft浅底 -line浅边 -ink深字
   BUILD507(页面设置,用户10-21点头示意图=织网台工作资料/UI审美诊断-2026-10-20/页面设置示意-2026-10-21.html):
   ·主题色5套(深绿/棕/藏蓝/墨灰/胭脂)浅深各一套,住本段末尾 [data-pri=…] 那几块;页面只给<html>挂 data-pri,一处颜色不另改。
     默认:浅色=深绿(就是下面:root那套),深色=棕(就是下面深色那套)。按钮阴影/按下/描边/猫大侠头像圈里的主题色也在块里
     (pri-deep阴影暗色 pri-glow深色按钮顶高光 pri-edge深色按钮外圈 ava-ring深色猫大侠头像圈 inset-edge深色凹槽外圈 disabled按不动的主按钮底)。
   ·字的颜色可挑的几样=--ink-opt-*(浅3深4);字的亮度=页面照挑的那样和拉条算出 --ink/--ink2/--ink3 挂在<html>上(public/ui-prefs.js)。
     --ink-off(按不动的字、占位提示)永远不跟着走。
   ·门户页(我的项目/登录/我的账号/后台)不吃本文件,吃 /theme-tokens.css=网站从本段(@@ui1-tokens-begin~end)原样切出来发的,颜色仍只住这里。 ===== */
:root {
  color-scheme: light;
  --bg:#ECE4D6; --face:#F1EAE0; --face2:#EDE5D8; --paper:#F8F3EA; --sunk:#E5DBCA; --sunk2:#D5C5AC; --row-on:#E0D5C3;
  --ink:#221E17; --ink2:#3D372E; --ink3:#4A4339; --ink-off:#A0968A; --line:#DCD2C2; --line2:#D0C7B5;
  --pri:#035055; --pri-hi:#06585F; --pri-lo:#014B53; --pri-press-hi:#023E43; --pri-press-lo:#035258; --on-pri:#F4EEE3;
  --accent:#035055; --pri-soft:#DDE3D8; --pri-line:#A9C0BA; --pri-deep:1 38 42;
  /* 字的颜色可挑的几样(浅色3样/深色4样,默认各是第一样);页面设置照这几个取 */
  --ink-opt-ink:#221E17; --ink-opt-brown:#3B2516; --ink-opt-slate:#1E2B38;
  --ink-opt-warm:#ECEAE6; --ink-opt-cream:#EBDFC4; --ink-opt-grey:#D9DADC; --ink-opt-green:#D3E6D0;
  --ok:#3E8A5A; --ok-soft:#E3EBDC; --ok-line:#B7CFB2; --ok-ink:#1F4E2A;
  --warn:#B8864E; --warn-soft:#F4E8D2; --warn-line:#E0C79A; --warn-ink:#5E400E;
  --danger:#B4473A; --danger-soft:#F6E1DA; --danger-line:#E3B4A9; --danger-ink:#7A2A21;
  --info:#3F6F8E; --info-soft:#DFE7EB; --info-line:#B5C8D3; --info-ink:#244A62;
  --tip-bg:#3E372F; --disabled:#CBC3B6; --rail:#C9BEAA; --badge:#A33A2E; --on-badge:#FFFFFF;
  /* 圆角三档 */
  --r-sm:8px; --r-md:12px; --r-lg:16px;
  /* 立体感:亮影(左上)/暗影(右下) */
  --hi:rgba(255,250,241,.95); --lo:rgba(166,142,106,.40); --lo2:rgba(120,98,66,.22);
  /* 阴影两档:大=栏卡片(地方宽,软而大);小=按钮/小卡(真站挤,短而实:小偏移小模糊+顶内高光+底暗边) */
  --sh-lg:-5px -5px 12px var(--hi), 6px 7px 16px var(--lo);
  --sh-sm:0 1px 1.5px rgba(96,74,40,.38), 0 2px 4px -1px rgba(96,74,40,.30), inset 0 1px 0 rgba(255,255,255,.85), inset 0 -1px 0 rgba(120,94,58,.20);
  --btn-face:linear-gradient(180deg,#FCF8F1 0%,#F3ECE1 100%); --btn-face-hover:linear-gradient(180deg,#FFFCF6 0%,#F7F1E7 100%); --btn-edge:#CDBFA8;
  --pri-face:linear-gradient(180deg,var(--pri-hi) 0%,var(--pri) 55%,var(--pri-lo) 100%);
  --pri-sh:0 1px 1.5px rgb(var(--pri-deep) / .55), 0 2px 5px -1px rgb(var(--pri-deep) / .40), inset 0 1px 0 rgba(255,255,255,.28), inset 0 -1px 0 rgba(0,0,0,.25);
  --pri-press:inset 0 2px 4px rgba(0,0,0,.45), inset 0 -1px 0 rgba(255,255,255,.12);
  --inset:inset 2px 2px 5px rgba(166,142,106,.42), inset -2px -2px 4px rgba(255,250,241,.9);
  --inset-sm:inset 1px 1px 3px rgba(150,126,90,.45), inset -1px -1px 2px rgba(255,250,241,.9);
  --top-sh:0 3px 10px -4px var(--lo);
  --paper-ink:#2A251D; --scene:#EDE5D7;
  --panel:var(--paper); --text:var(--ink); --muted:var(--ink3); --soft:var(--sunk);
}
html[data-theme="dark"] {
  color-scheme: dark;
  --bg:#1E1E20; --face:#2A2A2D; --face2:#242426; --paper:#262628; --sunk:#1E1F22; --sunk2:#18181A; --row-on:#323234;
  --ink:#ECEAE6; --ink2:#CFCCC7; --ink3:#BDBAB5; --ink-off:#77746F; --line:#38383B; --line2:#46464A;
  --pri:#84402A; --pri-hi:#8E482E; --pri-lo:#7A3B24; --pri-press-hi:#431704; --pri-press-lo:#6E3520; --on-pri:#FFF4EC;
  --accent:#F2B495; --pri-soft:#3A2A23; --pri-line:#6A4334;
  --pri-deep:60 20 5; --pri-deep2:30 8 0; --pri-glow:255 214 190; --pri-edge:#553F32; --ava-ring:#A85A3C; --inset-edge:#3A2A26;
  --ok:#7EB583; --ok-soft:#232E26; --ok-line:#3D5A43; --ok-ink:#B9DABC;
  --warn:#D9955F; --warn-soft:#3A2F22; --warn-line:#6B5333; --warn-ink:#E6C08A;
  --danger:#D17B79; --danger-soft:#3A2524; --danger-line:#6A3B3A; --danger-ink:#F0B3B0;
  --info:#7FA7C7; --info-soft:#222C35; --info-line:#3E5568; --info-ink:#BCD3E5;
  --tip-bg:#0F0F10; --disabled:#4B3D3A; --rail:#46464A; --badge:#A33A2E; --on-badge:#FFFFFF;
  --hi:rgba(255,255,255,.07); --lo:rgba(0,0,0,.62); --lo2:rgba(0,0,0,.5);
  --sh-lg:inset 1px 1px 0 rgba(255,255,255,.07), inset -1px -1px 0 rgba(0,0,0,.4), 6px 8px 18px rgba(0,0,0,.55), -2px -2px 6px rgba(255,255,255,.035);
  --sh-sm:0 1px 1.5px rgba(0,0,0,.7), 0 2px 4px -1px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.10), inset 0 -1px 0 rgba(0,0,0,.45);
  --btn-face:linear-gradient(180deg,#3B3B3F 0%,#313134 100%); --btn-face-hover:linear-gradient(180deg,#434347 0%,#38383B 100%); --btn-edge:#4C4C51;
  --pri-sh:0 0 0 1px var(--pri-edge), 0 1px 1.5px rgba(0,0,0,.7), 0 2px 5px -1px rgba(0,0,0,.6), inset 0 1px 0 rgb(var(--pri-glow) / .42), inset 0 -1px 0 rgb(var(--pri-deep) / .5);
  --pri-press:0 0 0 1px var(--pri-edge), inset 0 2px 5px rgb(var(--pri-deep2) / .75), inset 0 -1px 0 rgb(var(--pri-glow) / .12);
  --inset:inset 2px 2px 6px rgba(0,0,0,.65), inset -1px -1px 0 rgba(255,255,255,.06), 0 0 0 1px var(--inset-edge);
  --inset-sm:inset 1px 1px 4px rgba(0,0,0,.6), inset -1px -1px 0 rgba(255,255,255,.05);
  --top-sh:inset 0 -1px 0 #161617, 0 4px 12px -4px rgba(0,0,0,.6);
  --paper-ink:#DCD8D2; --scene:#202022;
}
/* --- BUILD507 主题色5套(色号照页面设置示意图;浅色块写成[data-pri=…],深色块写成 html[data-theme=dark][data-pri=…];
   后面那半句 [data-pri=…] 是给设置面板里的小色块自己显出那一套用的)。阴影几样照原深绿浅/棕深的比例推,对比度:按钮上的字都在7:1上下以上 --- */
[data-pri="green"] { --pri:#035055; --pri-hi:#06585F; --pri-lo:#014B53; --on-pri:#F4EEE3; --accent:#035055; --pri-soft:#DDE3D8; --pri-line:#A9C0BA; --pri-press-hi:#023E43; --pri-press-lo:#035258; --pri-deep:1 38 42; }
html[data-theme="dark"][data-pri="green"], html[data-theme="dark"] [data-pri="green"] { --pri:#1E5C58; --pri-hi:#246762; --pri-lo:#19514D; --on-pri:#F0FAF7; --accent:#8FD0C6; --pri-soft:#1F2E2D; --pri-line:#2F5653; --pri-press-hi:#0F2E2C; --pri-press-lo:#194C49; --pri-deep:14 41 40; --pri-deep2:7 20 19; --pri-glow:193 229 224; --pri-edge:#2C4B4B; --ava-ring:#3A7974; --inset-edge:#1F2E2D; --disabled:#353E3F; }
[data-pri="brown"] { --pri:#7A3E1E; --pri-hi:#864624; --pri-lo:#6E3719; --on-pri:#FFF4EA; --accent:#7A3E1E; --pri-soft:#EEDFD0; --pri-line:#D2B49C; --pri-press-hi:#5E3017; --pri-press-lo:#7E401F; --pri-deep:59 30 14; }
html[data-theme="dark"][data-pri="brown"], html[data-theme="dark"] [data-pri="brown"] { --pri:#84402A; --pri-hi:#8E482E; --pri-lo:#7A3B24; --on-pri:#FFF4EC; --accent:#F2B495; --pri-soft:#3A2A23; --pri-line:#6A4334; --pri-press-hi:#431704; --pri-press-lo:#6E3520; --pri-deep:60 20 5; --pri-deep2:30 8 0; --pri-glow:255 214 190; --pri-edge:#553F32; --ava-ring:#A85A3C; --inset-edge:#3A2A26; --disabled:#4B3D3A; }
[data-pri="navy"] { --pri:#1F3A5F; --pri-hi:#26446C; --pri-lo:#1A3253; --on-pri:#F1F4F8; --accent:#1F3A5F; --pri-soft:#DCE3EC; --pri-line:#A8B8CC; --pri-press-hi:#182D49; --pri-press-lo:#203C62; --pri-deep:15 28 46; }
html[data-theme="dark"][data-pri="navy"], html[data-theme="dark"] [data-pri="navy"] { --pri:#2C4D78; --pri-hi:#335683; --pri-lo:#26446B; --on-pri:#F2F6FC; --accent:#A9C4EA; --pri-soft:#222B38; --pri-line:#3A5072; --pri-press-hi:#16273C; --pri-press-lo:#254064; --pri-deep:20 35 54; --pri-deep2:10 17 26; --pri-glow:208 223 243; --pri-edge:#33445B; --ava-ring:#4B6B95; --inset-edge:#222B38; --disabled:#363C45; }
[data-pri="grey"] { --pri:#3A3A3C; --pri-hi:#444447; --pri-lo:#323234; --on-pri:#F5F3EF; --accent:#2F2F31; --pri-soft:#E2DED7; --pri-line:#BDB7AD; --pri-press-hi:#2D2D2E; --pri-press-lo:#3C3C3E; --pri-deep:28 28 29; }
html[data-theme="dark"][data-pri="grey"], html[data-theme="dark"] [data-pri="grey"] { --pri:#4A4A4E; --pri-hi:#545458; --pri-lo:#414145; --on-pri:#FFFFFF; --accent:#D6D3CE; --pri-soft:#2E2E31; --pri-line:#55555A; --pri-press-hi:#252527; --pri-press-lo:#3D3D41; --pri-deep:33 33 35; --pri-deep2:16 16 17; --pri-glow:232 231 228; --pri-edge:#424246; --ava-ring:#6D6C6E; --inset-edge:#2E2E31; --disabled:#3E3E41; }
[data-pri="rouge"] { --pri:#7D2630; --pri-hi:#892C37; --pri-lo:#70212A; --on-pri:#FFF1F0; --accent:#7D2630; --pri-soft:#F0DADA; --pri-line:#D6AAAD; --pri-press-hi:#601D25; --pri-press-lo:#812731; --pri-deep:60 18 23; }
html[data-theme="dark"][data-pri="rouge"], html[data-theme="dark"] [data-pri="rouge"] { --pri:#8A2E38; --pri-hi:#953540; --pri-lo:#7E2832; --on-pri:#FFF2F3; --accent:#F0A8AE; --pri-soft:#362326; --pri-line:#6A3940; --pri-press-hi:#45171C; --pri-press-lo:#73262E; --pri-deep:62 21 25; --pri-deep2:30 10 12; --pri-glow:247 207 210; --pri-edge:#62343B; --ava-ring:#A44D56; --inset-edge:#362326; --disabled:#42373A; }
