/* 设计稿 · 止 —— 稿一为底，落全部裁定。白夜无际，苦昼神秘。 */

:root {
  --ease: cubic-bezier(.2, .8, .2, 1);   /* 水·余波 */
  --t-fast: .18s; --t-mid: .4s; --t-slow: .9s;
  --side-w: 232px; --tq-w: 340px;
  --r: 6px; --row-gap: 4px; --head-r: 14px;
  --water-img: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='640' height='480' viewBox='0 0 640 480' fill='none' stroke='%23000' stroke-opacity='.045' stroke-width='.8' stroke-linecap='round'><circle cx='120' cy='100' r='10' pathLength='100' stroke-dasharray='88 12' stroke-dashoffset='0'/><circle cx='120' cy='100' r='26' pathLength='100' stroke-dasharray='40 10 30 20' stroke-dashoffset='15'/><circle cx='120' cy='100' r='44' pathLength='100' stroke-dasharray='55 25 10 10' stroke-dashoffset='40'/><circle cx='120' cy='100' r='62' pathLength='100' stroke-dasharray='30 70' stroke-dashoffset='70'/><circle cx='430' cy='310' r='12' pathLength='100' stroke-dasharray='90 10' stroke-dashoffset='0'/><circle cx='430' cy='310' r='28' pathLength='100' stroke-dasharray='45 15 25 15' stroke-dashoffset='30'/><circle cx='430' cy='310' r='46' pathLength='100' stroke-dasharray='35 30 15 20' stroke-dashoffset='60'/><circle cx='540' cy='90' r='8' pathLength='100' stroke-dasharray='85 15' stroke-dashoffset='0'/><circle cx='540' cy='90' r='20' pathLength='100' stroke-dasharray='50 50' stroke-dashoffset='20'/><circle cx='80' cy='390' r='14' pathLength='100' stroke-dasharray='70 30' stroke-dashoffset='50'/><circle cx='80' cy='390' r='30' pathLength='100' stroke-dasharray='40 25 15 20' stroke-dashoffset='10'/><circle cx='300' cy='215' r='6' pathLength='100' stroke-dasharray='80 20' stroke-dashoffset='0'/><circle cx='300' cy='215' r='16' pathLength='100' stroke-dasharray='55 45' stroke-dashoffset='35'/><circle cx='600' cy='440' r='10' pathLength='100' stroke-dasharray='75 25' stroke-dashoffset='5'/><circle cx='600' cy='440' r='24' pathLength='100' stroke-dasharray='30 20 25 25' stroke-dashoffset='45'/></svg>");
  --water-strong: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='640' height='480' viewBox='0 0 640 480' fill='none' stroke='%23000' stroke-opacity='.16' stroke-width='.8' stroke-linecap='round'><circle cx='120' cy='100' r='10' pathLength='100' stroke-dasharray='88 12' stroke-dashoffset='0'/><circle cx='120' cy='100' r='26' pathLength='100' stroke-dasharray='40 10 30 20' stroke-dashoffset='15'/><circle cx='120' cy='100' r='44' pathLength='100' stroke-dasharray='55 25 10 10' stroke-dashoffset='40'/><circle cx='120' cy='100' r='62' pathLength='100' stroke-dasharray='30 70' stroke-dashoffset='70'/><circle cx='430' cy='310' r='12' pathLength='100' stroke-dasharray='90 10' stroke-dashoffset='0'/><circle cx='430' cy='310' r='28' pathLength='100' stroke-dasharray='45 15 25 15' stroke-dashoffset='30'/><circle cx='430' cy='310' r='46' pathLength='100' stroke-dasharray='35 30 15 20' stroke-dashoffset='60'/><circle cx='540' cy='90' r='8' pathLength='100' stroke-dasharray='85 15' stroke-dashoffset='0'/><circle cx='540' cy='90' r='20' pathLength='100' stroke-dasharray='50 50' stroke-dashoffset='20'/><circle cx='80' cy='390' r='14' pathLength='100' stroke-dasharray='70 30' stroke-dashoffset='50'/><circle cx='80' cy='390' r='30' pathLength='100' stroke-dasharray='40 25 15 20' stroke-dashoffset='10'/><circle cx='300' cy='215' r='6' pathLength='100' stroke-dasharray='80 20' stroke-dashoffset='0'/><circle cx='300' cy='215' r='16' pathLength='100' stroke-dasharray='55 45' stroke-dashoffset='35'/><circle cx='600' cy='440' r='10' pathLength='100' stroke-dasharray='75 25' stroke-dashoffset='5'/><circle cx='600' cy='440' r='24' pathLength='100' stroke-dasharray='30 20 25 25' stroke-dashoffset='45'/></svg>");
}

/* ---------- 白夜 · 无际 ---------- */
[data-theme="day"] {
  color-scheme: light; --ambient: none;
  --paper: #eef2f4; --panel: #f9fbfc; --top: #eef2f4;
  --ink: #1e2a30; --ink-2: #5b6b72; --ink-3: #93a2a8;
  --line: #d6dee2; --line-2: #c3cdd2; --hover: rgba(30, 42, 48, .05);
  --xline: rgba(30, 42, 48, .26);
  --qing: #4a7d88; --qing-wash: rgba(74, 125, 136, .10);
  --search-hover: #e3f0f2; --search-selected: #cde5e9;
  --mist: rgba(74, 125, 136, .075); --code: rgba(30, 42, 48, .05); --noted: rgba(74, 125, 136, .16);
  --user-bg: rgba(255, 255, 255, .62); --user-line: rgba(30, 42, 48, .09);
  --side: #e9eef0; --side-ink: #1e2a30; --side-line: #d6dee2; --side-hover: rgba(30,42,48,.05); --side-active: rgba(74,125,136,.13); --plat: rgba(30,42,48,.06);
  --row: #f9fbfc; --row-line: #e1e8eb; --row-hover: var(--search-hover); --row-focus: #9bc5ce;
  --closed: #4a7d88; --open: #b8925a;
  --zhu: #a8453b; --blood: #9b2d26; --blood-wash: rgba(155, 45, 38, .08);
  --lan: #567ea2; --lan-wash: rgba(86, 126, 162, .05); --lan-line: rgba(86, 126, 162, .16);
  --annot: rgba(30, 42, 48, .05); --tag: rgba(30, 42, 48, .06);
  --shadow: 0 1px 3px rgba(20, 30, 32, .06), 0 6px 20px rgba(20, 30, 32, .06);
}
/* ---------- 苦昼 · 神秘 ---------- */
[data-theme="night"] {
  color-scheme: dark;
  --water-img: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='640' height='480' viewBox='0 0 640 480' fill='none' stroke='%23fff' stroke-opacity='.035' stroke-width='.8' stroke-linecap='round'><circle cx='120' cy='100' r='10' pathLength='100' stroke-dasharray='88 12' stroke-dashoffset='0'/><circle cx='120' cy='100' r='26' pathLength='100' stroke-dasharray='40 10 30 20' stroke-dashoffset='15'/><circle cx='120' cy='100' r='44' pathLength='100' stroke-dasharray='55 25 10 10' stroke-dashoffset='40'/><circle cx='120' cy='100' r='62' pathLength='100' stroke-dasharray='30 70' stroke-dashoffset='70'/><circle cx='430' cy='310' r='12' pathLength='100' stroke-dasharray='90 10' stroke-dashoffset='0'/><circle cx='430' cy='310' r='28' pathLength='100' stroke-dasharray='45 15 25 15' stroke-dashoffset='30'/><circle cx='430' cy='310' r='46' pathLength='100' stroke-dasharray='35 30 15 20' stroke-dashoffset='60'/><circle cx='540' cy='90' r='8' pathLength='100' stroke-dasharray='85 15' stroke-dashoffset='0'/><circle cx='540' cy='90' r='20' pathLength='100' stroke-dasharray='50 50' stroke-dashoffset='20'/><circle cx='80' cy='390' r='14' pathLength='100' stroke-dasharray='70 30' stroke-dashoffset='50'/><circle cx='80' cy='390' r='30' pathLength='100' stroke-dasharray='40 25 15 20' stroke-dashoffset='10'/><circle cx='300' cy='215' r='6' pathLength='100' stroke-dasharray='80 20' stroke-dashoffset='0'/><circle cx='300' cy='215' r='16' pathLength='100' stroke-dasharray='55 45' stroke-dashoffset='35'/><circle cx='600' cy='440' r='10' pathLength='100' stroke-dasharray='75 25' stroke-dashoffset='5'/><circle cx='600' cy='440' r='24' pathLength='100' stroke-dasharray='30 20 25 25' stroke-dashoffset='45'/></svg>");
  --water-strong: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='640' height='480' viewBox='0 0 640 480' fill='none' stroke='%23fff' stroke-opacity='.09' stroke-width='.8' stroke-linecap='round'><circle cx='120' cy='100' r='10' pathLength='100' stroke-dasharray='88 12' stroke-dashoffset='0'/><circle cx='120' cy='100' r='26' pathLength='100' stroke-dasharray='40 10 30 20' stroke-dashoffset='15'/><circle cx='120' cy='100' r='44' pathLength='100' stroke-dasharray='55 25 10 10' stroke-dashoffset='40'/><circle cx='120' cy='100' r='62' pathLength='100' stroke-dasharray='30 70' stroke-dashoffset='70'/><circle cx='430' cy='310' r='12' pathLength='100' stroke-dasharray='90 10' stroke-dashoffset='0'/><circle cx='430' cy='310' r='28' pathLength='100' stroke-dasharray='45 15 25 15' stroke-dashoffset='30'/><circle cx='430' cy='310' r='46' pathLength='100' stroke-dasharray='35 30 15 20' stroke-dashoffset='60'/><circle cx='540' cy='90' r='8' pathLength='100' stroke-dasharray='85 15' stroke-dashoffset='0'/><circle cx='540' cy='90' r='20' pathLength='100' stroke-dasharray='50 50' stroke-dashoffset='20'/><circle cx='80' cy='390' r='14' pathLength='100' stroke-dasharray='70 30' stroke-dashoffset='50'/><circle cx='80' cy='390' r='30' pathLength='100' stroke-dasharray='40 25 15 20' stroke-dashoffset='10'/><circle cx='300' cy='215' r='6' pathLength='100' stroke-dasharray='80 20' stroke-dashoffset='0'/><circle cx='300' cy='215' r='16' pathLength='100' stroke-dasharray='55 45' stroke-dashoffset='35'/><circle cx='600' cy='440' r='10' pathLength='100' stroke-dasharray='75 25' stroke-dashoffset='5'/><circle cx='600' cy='440' r='24' pathLength='100' stroke-dasharray='30 20 25 25' stroke-dashoffset='45'/></svg>");
  --paper: #1a1918; --panel: #222020; --top: #1a1918;
  --ink: #c4bab0; --ink-2: #8a8177; --ink-3: #5c564f;
  --line: #2e2b29; --line-2: #3a3633; --hover: rgba(196, 186, 176, .06);
  --xline: rgba(216, 208, 196, .3);
  --qing: #7c9f9b; --qing-wash: rgba(124, 159, 155, .12);
  --search-hover: #293737; --search-selected: #344b4b;
  --mist: rgba(124, 159, 155, .07); --code: rgba(0, 0, 0, .28); --noted: rgba(124, 159, 155, .2);
  --user-bg: rgba(40, 37, 36, .62); --user-line: rgba(196, 186, 176, .08);
  --side: #161514; --side-ink: #b3a99e; --side-line: #292624; --side-hover: rgba(196,186,176,.05); --side-active: rgba(124,159,155,.13); --plat: rgba(196,186,176,.06);
  --row: #222020; --row-line: #2b2826; --row-hover: var(--search-hover); --row-focus: #729c99;
  --closed: #7c9f9b; --open: #ad8d5c;
  --zhu: #b8604f; --blood: #bd5a53; --blood-wash: rgba(189, 90, 83, .12);
  --lan: #7b97b3; --lan-wash: rgba(123, 151, 179, .055); --lan-line: rgba(123, 151, 179, .18);
  --annot: rgba(196, 186, 176, .05); --tag: rgba(196, 186, 176, .07);
  --shadow: 0 1px 3px rgba(0,0,0,.35), 0 8px 24px rgba(0,0,0,.32);
}
[data-theme="night"] { --ambient: radial-gradient(ellipse 70% 45% at 85% -8%, rgba(214, 204, 190, .045), transparent); }
/* ---------- 滚动条：无槽，只留淡淡一条，靠在栏线 ---------- */
[data-theme="day"] { --scroll: rgba(30, 42, 48, .16); }
[data-theme="night"] { --scroll: rgba(196, 186, 176, .14); }
* { scrollbar-width: thin; scrollbar-color: var(--scroll) transparent; }



/* 产品共用字系；子集保留 GB2312 汉字、常用符号及界面用字，缺字由系统后备。文楷只随包 Regular／Medium（己②回销裁定③）。 */
@font-face { font-family: "ZhishuiWenKai"; src: url("fonts/wenkai-regular.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "ZhishuiWenKai"; src: url("fonts/wenkai-medium.woff2") format("woff2"); font-weight: 500; font-display: swap; }
@font-face { font-family: "ZhishuiSarasa"; src: url("fonts/sarasa-regular.woff2") format("woff2"); font-weight: 400; font-display: swap; }
:root {
  --font-display: "ZhishuiWenKai", "KaiTi", serif;
  --font-body: "Microsoft YaHei UI", "Microsoft YaHei", "Segoe UI", sans-serif;
  --font-mono: "ZhishuiSarasa", Consolas, monospace;
  --stroke: 1px;
  --scrim: rgba(0, 0, 0, .18);
  --focus-flash: color-mix(in srgb, var(--zhu) 26%, transparent);
}
/* 动效由应用偏好独立控制，覆盖后载样式与伪元素。 */
[data-animations="off"], [data-animations="off"] *, [data-animations="off"] *::before, [data-animations="off"] *::after {
  animation: none !important; transition: none !important; scroll-behavior: auto !important;
}

/* 44-D：设计稿六 token，两主题同形异色。 */
:root {
  --col-page: 640px; --col-read: 680px;
  --wave-lan: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='8' viewBox='0 0 120 8' fill='none' stroke='%23567ea2' stroke-width='1' stroke-linecap='round'><path d='M0 4C20 1 40 1 60 4S100 7 120 4'/></svg>");
  --wave-ink: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='8' viewBox='0 0 120 8' fill='none' stroke='%2393a2a8' stroke-width='1' stroke-linecap='round'><path d='M0 4C20 1 40 1 60 4S100 7 120 4'/></svg>");
  --wave-qing: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='8' viewBox='0 0 120 8' fill='none' stroke='%234a7d88' stroke-width='1' stroke-linecap='round'><path d='M0 4C20 1 40 1 60 4S100 7 120 4'/></svg>");
  /* 观澜页底水纹：澜色勾线，比观澜块淡 */
  --water-lan: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='640' height='480' viewBox='0 0 640 480' fill='none' stroke='%23567ea2' stroke-opacity='.11' stroke-width='.8' stroke-linecap='round'><circle cx='120' cy='100' r='10' pathLength='100' stroke-dasharray='88 12'/><circle cx='120' cy='100' r='26' pathLength='100' stroke-dasharray='40 10 30 20' stroke-dashoffset='15'/><circle cx='120' cy='100' r='44' pathLength='100' stroke-dasharray='55 25 10 10' stroke-dashoffset='40'/><circle cx='120' cy='100' r='62' pathLength='100' stroke-dasharray='30 70' stroke-dashoffset='70'/><circle cx='430' cy='310' r='12' pathLength='100' stroke-dasharray='90 10'/><circle cx='430' cy='310' r='28' pathLength='100' stroke-dasharray='45 15 25 15' stroke-dashoffset='30'/><circle cx='430' cy='310' r='46' pathLength='100' stroke-dasharray='35 30 15 20' stroke-dashoffset='60'/><circle cx='540' cy='90' r='8' pathLength='100' stroke-dasharray='85 15'/><circle cx='540' cy='90' r='20' pathLength='100' stroke-dasharray='50 50' stroke-dashoffset='20'/><circle cx='80' cy='390' r='14' pathLength='100' stroke-dasharray='70 30' stroke-dashoffset='50'/><circle cx='80' cy='390' r='30' pathLength='100' stroke-dasharray='40 25 15 20' stroke-dashoffset='10'/><circle cx='300' cy='215' r='6' pathLength='100' stroke-dasharray='80 20'/><circle cx='300' cy='215' r='16' pathLength='100' stroke-dasharray='55 45' stroke-dashoffset='35'/><circle cx='600' cy='440' r='10' pathLength='100' stroke-dasharray='75 25' stroke-dashoffset='5'/><circle cx='600' cy='440' r='24' pathLength='100' stroke-dasharray='30 20 25 25' stroke-dashoffset='45'/></svg>");
}
[data-theme="night"] {
  --wave-lan: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='8' viewBox='0 0 120 8' fill='none' stroke='%237b97b3' stroke-width='1' stroke-linecap='round'><path d='M0 4C20 1 40 1 60 4S100 7 120 4'/></svg>");
  --wave-ink: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='8' viewBox='0 0 120 8' fill='none' stroke='%235c564f' stroke-width='1' stroke-linecap='round'><path d='M0 4C20 1 40 1 60 4S100 7 120 4'/></svg>");
  --wave-qing: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='8' viewBox='0 0 120 8' fill='none' stroke='%237c9f9b' stroke-width='1' stroke-linecap='round'><path d='M0 4C20 1 40 1 60 4S100 7 120 4'/></svg>");
  --water-lan: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='640' height='480' viewBox='0 0 640 480' fill='none' stroke='%237b97b3' stroke-opacity='.075' stroke-width='.8' stroke-linecap='round'><circle cx='120' cy='100' r='10' pathLength='100' stroke-dasharray='88 12'/><circle cx='120' cy='100' r='26' pathLength='100' stroke-dasharray='40 10 30 20' stroke-dashoffset='15'/><circle cx='120' cy='100' r='44' pathLength='100' stroke-dasharray='55 25 10 10' stroke-dashoffset='40'/><circle cx='120' cy='100' r='62' pathLength='100' stroke-dasharray='30 70' stroke-dashoffset='70'/><circle cx='430' cy='310' r='12' pathLength='100' stroke-dasharray='90 10'/><circle cx='430' cy='310' r='28' pathLength='100' stroke-dasharray='45 15 25 15' stroke-dashoffset='30'/><circle cx='430' cy='310' r='46' pathLength='100' stroke-dasharray='35 30 15 20' stroke-dashoffset='60'/><circle cx='540' cy='90' r='8' pathLength='100' stroke-dasharray='85 15'/><circle cx='540' cy='90' r='20' pathLength='100' stroke-dasharray='50 50' stroke-dashoffset='20'/><circle cx='80' cy='390' r='14' pathLength='100' stroke-dasharray='70 30' stroke-dashoffset='50'/><circle cx='80' cy='390' r='30' pathLength='100' stroke-dasharray='40 25 15 20' stroke-dashoffset='10'/><circle cx='300' cy='215' r='6' pathLength='100' stroke-dasharray='80 20'/><circle cx='300' cy='215' r='16' pathLength='100' stroke-dasharray='55 45' stroke-dashoffset='35'/><circle cx='600' cy='440' r='10' pathLength='100' stroke-dasharray='75 25' stroke-dashoffset='5'/><circle cx='600' cy='440' r='24' pathLength='100' stroke-dasharray='30 20 25 25' stroke-dashoffset='45'/></svg>");
}
