/*font:start*/@font-face{font-family:"NumeraSerif";src:url(../fonts/serif-bold-0.woff2?v=94d787a9) format("woff2");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+20-7E,U+B1,U+B7,U+D7,U+F7,U+2014,U+2018-2019,U+201C-201D,U+2026,U+2103,U+2190-2193,U+2264-2265,U+2460-2465,U+2713,U+3001-3002,U+300A-300B,U+3010-3011,U+4E00,U+4E09-4E0B,U+4E0D-4E0E,U+4E2A,U+4E2D,U+4E34,U+4E3A,U+4E8E,U+4EA4,U+4EA7,U+4EBA,U+4EE5,U+4EF7,U+4F53,U+4F5C,U+5165,U+5168,U+516C,U+5173,U+5185,U+51C6,U+51FA,U+5206,U+5212,U+5230,U+524D,U+52A1,U+52A8,U+5316,U+5355,U+539F,U+53C2,U+53D1,U+53E3,U+53EF,U+53F8,U+5408,U+540C,U+540E,U+548C,U+54C1,U+56FD,U+5728,U+5B57,U+5B9E,U+5BF9,U+5DE5,U+5DF2,U+5E74,U+5E76,U+5E8A,U+5E94,U+5F00,U+5F0F,U+5FC3,U+610F,U+6210,U+6216,U+6253,U+62A5,U+636E,U+63A5,U+63D0,U+6570,U+6574,U+6587,U+65AD,U+65B0,U+65B9,U+65E0,U+65F6,U+660E,U+662F,U+667A,U+6708-6709,U+670D,U+671F,U+672C,U+6784,U+67E5,U+6807,U+6838,U+6848,U+6A21,U+6CBF,U+6CD5,U+6D4B,U+70B9,U+73B0,U+7406,U+7528,U+7531,U+754C,U+7684,U+76EE,U+770B,U+77E5,U+7814,U+793A,U+7AD9,U+7B2C,U+7B49,U+7B97,U+7BA1,U+7CFB,U+7EA6,U+7EBF,U+7EDF,U+80FD,U+81EA,U+8425,U+8868,U+8981,U+89C2,U+89C4,U+8BA1,U+8BBF,U+8BC6,U+8BCA,U+8BD5,U+8BF4,U+8FD0,U+9009,U+90E8,U+95EE,U+95F4,U+9879,U+9884,U+9A8C,U+FF01,U+FF05,U+FF08-FF09,U+FF0C,U+FF1A-FF1B,U+FF1F,U+FF5E}
@font-face{font-family:"NumeraSerif";src:url(../fonts/serif-bold-1.woff2?v=4149f2ba) format("woff2");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+4E1A,U+4EF6,U+4F1A,U+4F9B,U+5148,U+5177,U+53CA,U+573A,U+57FA,U+5907,U+5927,U+5B8C,U+5B9A,U+5BB9,U+5E73,U+5EA6,U+5EFA,U+6280,U+6309,U+6458,U+65E5,U+666F,U+672A,U+673A,U+6761,U+6765,U+751F,U+7559,U+7A0B,U+7A76,U+7EC4,U+7ECF,U+7ED3,U+7F51,U+8005,U+8282,U+836F,U+884C,U+89E3,U+8BBE,U+8BC4,U+8F83,U+8FDB,U+8FF0,U+91CD,U+91CF,U+94FE,U+9645,U+9650,U+9762}
@font-face{font-family:"NumeraSerif";src:url(../fonts/serif-bold-2.woff2?v=e5046c37) format("woff2");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+4ECE,U+4ED8,U+4EEC,U+4F30,U+4F7F,U+505A,U+5176,U+529B,U+529E,U+52A9,U+533B,U+53F0,U+53F7,U+5458,U+56DE,U+5904,U+590D,U+591A,U+5BA1,U+5E93,U+5F55,U+6027,U+6162,U+6211,U+627F,U+628A,U+6548,U+66F4,U+679C,U+6B65,U+6BCF,U+6D41,U+7269,U+73AF,U+7533,U+76D1,U+79D1,U+7B54,U+7EDC,U+7F72,U+8003,U+8054,U+89C1,U+8BAE,U+8D28,U+8D39,U+8FD9,U+901A,U+9700,U+9898}
@font-face{font-family:"NumeraSerif";src:url(../fonts/serif-bold-3.woff2?v=47e423cb) format("woff2");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+4E13,U+4E3B,U+4E48,U+4E5F,U+4E92,U+4EC5,U+4F8B,U+4F9D,U+4FE1,U+53EA,U+5411,U+544A,U+56E2,U+5747,U+578B,U+5B66,U+5B89,U+5E03,U+5F84,U+603B,U+60C5,U+6539,U+6700,U+6B21,U+6B63,U+6BD4,U+6C42,U+6CE8,U+6E05,U+6E90,U+6F14,U+76F8,U+786E,U+79C1,U+79F0,U+7ACB,U+7B7E,U+8303,U+8BA2,U+8BA4,U+8BB0,U+8BC1,U+8C03,U+8D1F,U+8D35,U+8D44,U+8F6C,U+8FC7,U+91CC,U+9690}
@font-face{font-family:"NumeraSerif";src:url(../fonts/serif-bold-4.woff2?v=c38d9982) format("woff2");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+3000,U+4E86,U+4E9B,U+4EC0,U+4FDD,U+4FEE,U+503C,U+5143,U+518D,U+51B3,U+540D,U+542F,U+5468,U+5916,U+5BA2,U+5BB6,U+5BFC,U+5C42,U+5E38,U+5F85,U+6237,U+624B,U+6267,U+6295,U+6301,U+6307,U+63A8,U+6536,U+6743,U+68C0,U+6BB5,U+6CA1,U+6D77,U+7248,U+7387,U+75D5,U+76F4,U+7EC3,U+7ED9,U+8272,U+89D2,U+8BFA,U+8D23,U+8D85,U+9002,U+9053,U+9605,U+961F,U+9996,U+9AD8}
@font-face{font-family:"NumeraSerif";src:url(../fonts/serif-bold-5.woff2?v=0897ccce) format("woff2");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+4E8B-4E8C,U+4F20,U+4F4D,U+5199,U+5224,U+522B,U+5236,U+53D7-53D8,U+5404,U+542B,U+54EA,U+56F4,U+5730,U+5982,U+5B98,U+5C55,U+5E26,U+5E95,U+5F53,U+600E,U+606F,U+6263,U+6279,U+62AB,U+6392,U+63A7,U+653E,U+6559,U+672F,U+6B3E,U+771F,U+7A3F,U+7C7B,U+7EED,U+800C,U+8BAD,U+8BF7,U+8D22,U+8D77,U+8F93,U+9010,U+9074,U+9500,U+968F,U+96C6,U+9732,U+975E,U+987E}
@font-face{font-family:"NumeraSerif";src:url(../fonts/serif-bold-6.woff2?v=229f6b0d) format("woff2");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+4E24,U+4E4B,U+4EE3,U+4EFB,U+4EFD,U+5019,U+504F,U+51B5,U+5217,U+5219,U+52A0,U+5305,U+5546,U+56E0,U+59CB,U+5B58,U+5C06,U+5EA7,U+5F15,U+5F97,U+5FEB,U+60A8,U+60F3,U+62B5,U+62E9,U+6599,U+6837,U+683C,U+6863,U+6CAA,U+72EC,U+76D6,U+7AE0,U+7D22,U+7F6E,U+83DC,U+843D,U+88AB,U+89C6,U+8BBA,U+8C01,U+8EAB,U+8FFD,U+90FD,U+957F,U+9636,U+9662,U+9669,U+9875,U+98CE}
@font-face{font-family:"NumeraSerif";src:url(../fonts/serif-bold-7.woff2?v=fdea2f73) format("woff2");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+4E07,U+4E94,U+4ECD,U+4ED6,U+4F01,U+4F18,U+4F55,U+4FA7,U+529F,U+52DF,U+5373,U+53BB,U+53D6,U+5426,U+56DB,U+56FE,U+589E,U+5C11,U+5C5E,U+5DEE,U+6001,U+60A3,U+62DB,U+652F,U+663E,U+67B6,U+6821,U+6C9F,U+6EAF,U+7EC6,U+7EC8,U+7EF4,U+7F16,U+7F3A,U+8017,U+804C,U+865A,U+8BA9,U+8BE5,U+8DDF,U+8FBE,U+8FD8,U+901F,U+914D,U+91C7,U+9519,U+95E8,U+95FB,U+9644,U+9760}
@font-face{font-family:"NumeraSerif";src:url(../fonts/serif-bold-8.woff2?v=4e57a516) format("woff2");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+4E91,U+4ECB,U+4F26,U+5047,U+5171,U+518C,U+51CF,U+5207,U+533A,U+534F,U+5386,U+53CD,U+5668,U+5757,U+57F9,U+5929,U+5931,U+5B50,U+5C0F,U+5C31,U+5C40,U+5E8F,U+5F62,U+5F71,U+6240,U+6362,U+6388,U+6750,U+6790,U+6B64,U+6C47,U+6D89,U+72B6,U+7597,U+79BB,U+7AEF,U+7F8E,U+81F3,U+8986,U+8BA8,U+8BFB,U+8D70,U+8DE8,U+8F7D,U+8F85,U+8FD1,U+91D1,U+95ED,U+987B,U+989D}
@font-face{font-family:"NumeraSerif";src:url(../fonts/serif-bold-9.woff2?v=5f33cce3) format("woff2");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+4E49,U+4E66,U+4F4F,U+5065,U+51E0,U+521B,U+5229,U+53E6,U+53F2,U+552E,U+57DF,U+5DF1,U+5E08,U+5FC5,U+624D,U+627E,U+62C6,U+62DF,U+62EC,U+65BD,U+65E9,U+6613,U+677F,U+6C89,U+6CBB,U+6DC0,U+7167,U+7535,U+75C5,U+77ED,U+7968,U+7A3D,U+7A97,U+7B56,U+7EA7,U+7ECD,U+82F1,U+8349,U+83B7,U+8861,U+8BDD,U+8BEF,U+8D56,U+8DEF,U+8E2A,U+8FB9,U+91CA,U+949F,U+9664,U+96BE}
@font-face{font-family:"NumeraSerif";src:url(../fonts/serif-bold-10.woff2?v=72f06bd0) format("woff2");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+4E25,U+4EBF,U+4F46,U+50CF,U+514D,U+51C0,U+521D,U+5341,U+5357,U+547D,U+54CD,U+5584,U+586B,U+5883,U+5934,U+597D,U+5BDF,U+5C1A,U+5E2E,U+5F02,U+5F52,U+5F80,U+622A,U+62C5,U+63A2,U+6563,U+65C5,U+6682,U+695A,U+6DF1,U+7591,U+76CA,U+7B5B,U+7BC7,U+7EA0,U+7F29,U+826F,U+8865,U+8A00,U+8B66,U+8BB2,U+8BD1,U+8BE2,U+8BED,U+8C08,U+8D26,U+9192,U+9501,U+987A,U+9886}
@font-face{font-family:"NumeraSerif";src:url(../fonts/serif-bold-11.woff2?v=19c1990b) format("woff2");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+4E60,U+4F4E,U+4F60,U+534A,U+5360,U+53CC,U+5417,U+54A8,U+592A,U+5957,U+59D4,U+5B88,U+5E02,U+5E2D,U+5F3A,U+6212,U+6298,U+63CF,U+642D,U+680F,U+68B3,U+69DB,U+6D4F,U+6EE1,U+7403,U+7565,U+75C7,U+75DB,U+767B,U+7801,U+7840,U+7A33,U+7B26,U+7D20,U+7D2F,U+7EE7,U+7EE9,U+8377,U+89C8,U+8BE6,U+8F68,U+8F6E,U+8FD4,U+8FDE,U+8FF9,U+9000,U+900F,U+952E,U+964D,U+9ED8}
@font-face{font-family:"NumeraSerif";src:url(../fonts/serif-bold-12.woff2?v=ec49dfda) format("woff2");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+300C-300D,U+4E14,U+4E16,U+4E1C,U+4E3E,U+4E50,U+4EAB,U+4F59,U+4FBF,U+501F,U+5151,U+516D,U+51FB,U+5267,U+5347,U+5370,U+5382,U+575B,U+59D3,U+5B63,U+5BA3,U+5BC6,U+5C3E,U+5E7F,U+5EB7,U+5EF6,U+62A4,U+65E2,U+67D0,U+6F0F,U+719F,U+7247,U+732E,U+7624,U+7701,U+79FB,U+7B14,U+7EB3,U+7EC7,U+7EFC,U+7FFB,U+80BF,U+82B1,U+89E6,U+8D2D,U+8DB3,U+904D,U+969C,U+9F50}
@font-face{font-family:"NumeraSerif";src:url(../fonts/serif-bold-13.woff2?v=4683a3fb) format("woff2");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+4ECA,U+4F34,U+4F3C,U+5145,U+5348,U+535A,U+538B,U+53E5,U+56FA,U+5761,U+5C3D,U+5F20,U+5F31,U+5F88,U+5FAE,U+6258,U+6269,U+62D6,U+63AA,U+63ED,U+64B0,U+654F,U+65AF,U+665A,U+66FF,U+671B,U+675F,U+6839,U+6982,U+6B62,U+6D88,U+6DA6,U+6E20,U+7136,U+7279,U+73ED,U+7532,U+7740,U+79CD,U+79EF,U+7B80,U+7FA4,U+80CC,U+8111,U+81F4,U+82E5,U+907F,U+9488,U+9988,U+9AA4}
@font-face{font-family:"NumeraSerif";src:url(../fonts/serif-bold-14.woff2?v=6f0b4822) format("woff2");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+4E8F,U+4F19,U+505C,U+5141,U+514B,U+516B,U+51B2,U+52BF,U+5361,U+53EC,U+5448,U+5609,U+5B83,U+5B9C,U+5BBE,U+5C14,U+5F81,U+5FF5,U+626B,U+642C,U+64CD,U+684C,U+6D4E,U+7126,U+753B,U+764C,U+76C8,U+76D8,U+76F2,U+7763,U+77FD,U+788D,U+7891,U+7A7A,U+7ADE,U+7CBE,U+8001,U+822C,U+8584,U+878D,U+8854,U+8BB8,U+8D21,U+8D2F,U+8D4B,U+8D8A,U+8F6F,U+9047,U+9632,U+96F7}
@font-face{font-family:"NumeraSerif";src:url(../fonts/serif-bold-15.woff2?v=63896275) format("woff2");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+3014-3015,U+4E89,U+50AC,U+5170,U+517C,U+5220,U+526F,U+52FF,U+5317,U+534E,U+53D9,U+58EB,U+5979,U+5A92,U+5BBD,U+5C4F,U+5D4C,U+5E0C,U+5F8B,U+6025,U+614E,U+6218,U+62BD,U+62FF,U+6311,U+6316,U+635F,U+6398,U+65D7,U+65E8,U+672B,U+6C34,U+6D3B,U+6D3E,U+6E21,U+6EDA,U+6EE4,U+722C,U+77BB,U+786C,U+79D2,U+7A0E,U+7A7F,U+7D27,U+7EAA,U+8FDC,U+9014,U+9020,U+9A71}
@font-face{font-family:"NumeraSerif";src:url(../fonts/serif-bold-16.woff2?v=bb6e42fd) format("woff2");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+4E45,U+4E5D,U+4E88,U+4EAE,U+500D,U+51FD,U+52B3,U+53E0,U+5438,U+547C,U+559C,U+5706,U+5740,U+5854,U+591F,U+592B,U+592E,U+5939,U+594F,U+5BA4,U+5C97,U+5DDE,U+5E45,U+5E72,U+5E97,U+5FD7,U+601D,U+62E5,U+62FC,U+6377,U+63A9,U+63E1,U+63F4,U+653F,U+65E7,U+6740,U+7ED5,U+80B2,U+80BA,U+8131,U+8840,U+88C1,U+8D8B,U+8DD1,U+8DF3,U+8F91,U+903E,U+963F,U+9648,U+98DE}
@font-face{font-family:"NumeraSerif";src:url(../fonts/serif-bold-17.woff2?v=42064623) format("woff2");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+6742,U+67D3,U+6846,U+6865,U+68B0,U+6B27,U+6BCD,U+6BDB,U+6CF0,U+6D1E,U+6D6A,U+6DB5,U+6DE1,U+6DF7,U+6E32,U+6ED1,U+6EDE,U+724C,U+738B,U+74F6,U+75AB,U+75BE,U+76DF,U+7949,U+798F,U+7A0D,U+7A81,U+7C73,U+7EAF,U+805A,U+80A1,U+80DC,U+8109,U+8350,U+88C5,U+8C22,U+8D25,U+8D62,U+8F7B,U+8FED,U+9001,U+9012,U+903B,U+906E,U+90AE,U+9152,U+9769,U+9888,U+9891,U+9AA8}
@font-face{font-family:"NumeraSerif";src:url(../fonts/serif-bold-18.woff2?v=fa4d4794) format("woff2");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+4E03,U+4E22,U+4E39,U+4E58,U+4E70,U+4E9A,U+4EA6,U+4ED3,U+4EEA,U+4F10,U+4F17,U+50A8,U+513F,U+517B,U+51ED,U+51EF,U+520A,U+5238,U+523A,U+5242,U+5251,U+5254,U+5256,U+5269,U+52FE,U+5339,U+533F,U+5374,U+5377,U+53EB,U+53F3,U+5427,U+56F0,U+5708,U+571F,U+593A,U+5A01,U+5B8F,U+5B9D,U+5BBF,U+5BCC,U+5BFF,U+5C0A,U+5C4A,U+5C51,U+5CF0,U+5E15,U+5E55,U+5E86,U+9CB8}
@font-face{font-family:"NumeraSerif";src:url(../fonts/serif-bold-19.woff2?v=aad3aa8d) format("woff2");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+5E9C,U+5E9F,U+5F39,U+5FAA,U+5FB7,U+6062,U+6069,U+60E0,U+611F,U+613F,U+6167,U+61C2,U+624E,U+626E,U+62AC,U+62D3,U+6389,U+638C,U+63D2,U+644A,U+6469,U+64A4,U+64CE,U+653B,U+661F,U+6653,U+6670,U+675C,U+6768,U+676D,U+6797,U+67CF,U+6B8A,U+6C2A,U+6C60,U+6CCC,U+6CDB,U+6D1B,U+6D32,U+6D66,U+6E7E,U+6F5C,U+6FC0,U+7075-7076,U+70E6,U+71B5,U+7231,U+7280,U+7545}
@font-face{font-family:"NumeraSerif";src:url(../fonts/serif-bold-20.woff2?v=d23c534d) format("woff2");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+767D,U+76AE,U+773C,U+77E9,U+78B0,U+78C5,U+793E,U+7B79,U+7BB1,U+7C97,U+7EA2,U+7EBD,U+7EEA,U+7F55,U+7FFC,U+8058,U+80BE,U+810F,U+811A,U+817E,U+8328,U+8354,U+84DD,U+8651,U+8BAF,U+8C31,U+8C41,U+8D27,U+8D2E,U+8D54,U+8D5B,U+8D74,U+8DDD,U+8DF5,U+8F74,U+8F9E,U+8FC1,U+8FC4,U+8FEA,U+9080,U+90A3,U+94AE,U+94F6,U+9608,U+9633,U+9635,U+963B,U+9694,U+96F6,U+9759}
@font-face{font-family:"NumeraSerif";src:url(../fonts/serif-bold-21.woff2?v=1513d1de) format("woff2");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+4E4E,U+4E59,U+4E71,U+4EAC,U+4EE4,U+503E,U+508D,U+5149,U+5178,U+51E1,U+5200,U+521A,U+523B,U+52C9,U+5356,U+5371,U+53C8,U+542C,U+54B1,U+54E6,U+55EF,U+561B,U+5792,U+57CB,U+57CE,U+5821,U+58C1,U+58F0,U+5938,U+5B55,U+5BB3,U+5C01,U+5C45,U+5C65,U+5DE1,U+5DE6,U+5F2F,U+5FD9,U+5FFD,U+6015,U+97E9,U+987F,U+98DF,U+9A76,U+9A7B,U+9A7E,U+9B54,U+9EA6,U+9EBB,U+9EC4}
@font-face{font-family:"NumeraSerif";src:url(../fonts/serif-bold-22.woff2?v=8db40b4a) format("woff2");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+6050,U+6170,U+6233,U+623F,U+6284,U+62C9,U+62CD,U+62E8,U+6302,U+6321,U+6325,U+641C,U+6478,U+6491,U+6551,U+6591,U+6597,U+65C1,U+65E6,U+6628,U+666E,U+6734,U+674E,U+67DC,U+6A2A,U+6B7B,U+6BC1,U+6C49,U+6E17,U+6E29,U+6E38,U+6E7F,U+7089,U+708E,U+7410,U+7434,U+76EF,U+76FE,U+7792,U+77DB,U+788E,U+795E,U+7ADF,U+7BE1,U+7E41,U+7EB8,U+7ED1,U+7ED8,U+7EDD,U+80A4}
@font-face{font-family:"NumeraSerif";src:url(../fonts/serif-bold-23.woff2?v=bdff9ac3) format("woff2");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+80DE,U+827A,U+827E,U+8457,U+854A,U+8679,U+897F,U+89C9,U+8BC9,U+8C13,U+8C28,U+8C61,U+8D75-8D76,U+8FA8,U+8FCE,U+8FDD,U+8FDF,U+9057,U+90BB,U+9489,U+94B1,U+94C1-94C2,U+95EA,U+966A,U+9686,U+9910,U+996E,U+9A6C,U+9F84,U+FF0B,U+FF1D}/*font:end*/
/* 数界智研官网 · 基础与变量 */
:root{--bg:#EDF1F0;--panel:#FBFCFB;--ink:#13232A;--dim:#5C6B70;--line:#C3CDCC;--accent:#2A7A70;--accent-ink:#1E5A55;--on-accent:#fff;--warn:#9a5b00;--warn-bg:#fbefd6;--bad:#B23F2E;--amber:#C08417;--amber-ink:#8A5F06;--green:#3A8A58;--deep:#11212A;--deep2:#183039;--serif:"NumeraSerif","Songti SC","STSong","Noto Serif CJK SC","Source Han Serif SC","SimSun",serif}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0F1A1E;--panel:#16252B;--ink:#DCE6E4;--dim:#8FA3A6;--line:#2A3B41;--accent:#27786E;--accent-ink:#7CCBBE;--warn:#e8b36a;--warn-bg:#3a2d14;--bad:#F08A7A;--amber:#D9A441;--amber-ink:#D9A441;--green:#5DB57E}}
:root[data-theme="dark"]{--bg:#0F1A1E;--panel:#16252B;--ink:#DCE6E4;--dim:#8FA3A6;--line:#2A3B41;--accent:#27786E;--accent-ink:#7CCBBE;--warn:#e8b36a;--warn-bg:#3a2d14;--bad:#F08A7A;--amber:#D9A441;--amber-ink:#D9A441;--green:#5DB57E}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.7 -apple-system,"PingFang SC","Microsoft YaHei",sans-serif;font-variant-numeric:tabular-nums}
h1,h2,h3,.brand{font-family:var(--serif)}
h1,h2{font-weight:700}
a{color:var(--accent-ink)}
.wrap{max-width:1440px;margin:0 auto;padding:0 clamp(16px,3vw,48px)}
.narrow{max-width:1080px}
.wrap.prose{max-width:860px}
h1{font-size:32px;line-height:1.3;margin:40px 0 8px}
h2{font-size:22px;margin:36px 0 12px}
h3{font-size:17px;margin:20px 0 8px}
.lead{color:var(--dim);margin:0 0 24px;font-size:17px}
.note{font-size:13px;color:var(--dim);margin:8px 0}
.tag{display:inline-block;font-size:12px;color:var(--warn);background:var(--warn-bg);border-radius:4px;padding:0 6px;margin-left:6px}
.pill{display:inline-block;font-size:12px;border:1px solid var(--line);border-radius:99px;padding:1px 10px;color:var(--dim);margin-right:6px}
.pill.on{border-color:var(--accent);color:var(--accent-ink)}
.sec{padding:48px 0}
.sec h2{margin-top:0}
.sec .kicker{font-size:13px;color:var(--accent-ink);border-left:2px solid var(--accent);padding-left:8px;margin-bottom:6px}
/* 头部与导航 */
header.top{position:sticky;top:0;z-index:20;background:var(--panel);border-bottom:1px solid var(--line)}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;height:58px;gap:12px}
.brand{font-weight:700;letter-spacing:.5px;color:var(--ink);text-decoration:none;white-space:nowrap}
.brand small{color:var(--dim);font-weight:400;margin-left:6px}
nav.main{display:flex;align-items:center;gap:4px}
nav.main a{color:var(--dim);text-decoration:none;font-size:14px;padding:6px 10px;border-radius:3px}
nav.main a:hover,nav.main a.on{color:var(--accent-ink);background:rgba(42,122,112,.12)}
.burger{display:none;background:none;border:1px solid var(--line);color:var(--ink);padding:6px 10px;border-radius:8px;font-size:18px;line-height:1}
@media (max-width:860px){
  .burger{display:block}
  nav.main{display:none;position:absolute;left:0;right:0;top:58px;background:var(--panel);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;padding:8px 16px 12px}
  nav.main.open{display:flex}
  nav.main a{padding:12px 10px;font-size:16px}
  .top .cta-top{display:none}
  h1{font-size:26px}
}
/* 按钮 */
button,.btn{display:inline-block;padding:11px 20px;min-height:44px;border-radius:3px;border:1px solid var(--accent);background:var(--accent);color:var(--on-accent);font:inherit;font-weight:600;cursor:pointer;text-decoration:none;text-align:center}
button.ghost,.btn.ghost{background:transparent;color:var(--accent-ink)}
.btn.sm{padding:6px 14px;min-height:36px;font-size:14px}
button:disabled{opacity:.5;cursor:not-allowed}
.cta-bar{display:none}
@media (max-width:860px){
  .cta-bar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:15;padding:10px 16px;background:var(--panel);border-top:1px solid var(--line)}
  .cta-bar .btn{display:block;width:100%}
  body{padding-bottom:70px}
}
/* 卡片与网格 */
.card{background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:18px 20px;margin:12px 0}
.grid{display:grid;gap:14px}
.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
@media (max-width:860px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.g2,.g3,.g4{grid-template-columns:1fr}}
a.tile{display:block;text-decoration:none;color:inherit;background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:18px 20px;transition:border-color .2s,transform .2s}
a.tile:hover{border-color:var(--accent);transform:translateY(-2px)}
a.tile b{display:block;font-size:17px;margin-bottom:4px}
a.tile span{color:var(--dim);font-size:14px}
/* 表单 */
label{display:block;font-size:14px;color:var(--dim);margin:12px 0 4px}
input[type=number],input[type=text],input[type=password],select,textarea{width:100%;padding:10px 12px;min-height:44px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);font:inherit}
.chk{display:flex;gap:16px;flex-wrap:wrap;margin:8px 0}
.chk label{display:flex;align-items:center;gap:6px;margin:0;color:var(--ink);font-size:15px}
.hp{position:absolute;left:-9999px;opacity:0}
.warn{background:var(--warn-bg);color:var(--warn);border-radius:8px;padding:10px 14px;font-size:14px}
/* 弹窗 */
.modal{position:fixed;inset:0;background:rgba(0,0,0,.5);display:none;align-items:center;justify-content:center;padding:16px;z-index:50}
.modal.on{display:flex}.modal .card{max-width:420px;width:100%;max-height:92vh;overflow:auto}
/* 页脚 */
footer.site{margin-top:56px;padding:28px 0;border-top:1px solid var(--line);color:var(--dim);font-size:13px}
footer.site a{color:var(--dim);margin-right:14px}
footer.site .row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
/* 首屏 */
.hero{background:linear-gradient(180deg,var(--deep),var(--deep2));color:#DCE6E4;border-bottom:3px solid var(--accent)}
.hero .wrap{padding-top:36px;padding-bottom:32px}
.hero-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(24px,3vw,48px);align-items:center}
.hero h1{font-size:clamp(26px,2.5vw,38px);margin:0 0 12px;line-height:1.35;color:#F2F6F5;letter-spacing:.5px}
.hero h1 span{display:block;white-space:nowrap}
.hero h1 .em{color:#8FD3C6;margin-top:4px;font-size:1.15em}
@media(max-width:600px){.hero h1 span{white-space:normal}}
.hero p{max-width:40em;color:#9FB2B5;font-size:17px;margin:0 0 6px}
.hero .btn{background:var(--accent);border-color:var(--accent);color:#fff}
.hero .btn.ghost{background:transparent;color:#DCE6E4;border-color:#8FD3C6}
.hero .row{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.tl{background:rgba(255,255,255,.03);border:1px solid rgba(220,230,228,.14);border-radius:4px;padding:14px 14px 10px}
.tl svg{width:100%;height:auto;display:block}
.tl .cap{font-size:12px;color:#8FA3A6;display:flex;gap:6px 16px;flex-wrap:wrap;margin-top:6px}
.tl .cap i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;vertical-align:-1px}
.ops{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);background:var(--panel);margin-top:-1px}
.ops div{padding:14px 18px;border-right:1px solid var(--line)}.ops div:last-child{border-right:0}
.ops b{display:block;font-size:24px;font-weight:600}.ops span{font-size:13px;color:var(--dim)}
.ops .w b{color:var(--amber-ink)}.ops .r b{color:var(--bad)}
.ops.kpi div{padding:16px 20px}.ops.kpi em{display:block;font-style:normal;font-size:12px;color:var(--accent-ink);letter-spacing:.5px;margin-bottom:4px}.ops.kpi b{font-family:var(--serif);font-size:20px;margin-bottom:4px}.ops.kpi .tot{background:rgba(42,122,112,.08)}.ops.kpi b{white-space:nowrap}.ops-note .stamp{margin-right:6px;font-size:12px}
.ops.kpi span{display:block;line-height:1.55}
.ops-note a{margin-left:10px}
.ops-note{font-size:12px;color:var(--dim);margin:6px 0 0}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr}.ops{grid-template-columns:repeat(2,1fr)}.ops div:nth-child(2){border-right:0}.ops div:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:600px){br.d{display:none}.hero .wrap{padding-top:36px;padding-bottom:32px}.hero p{font-size:16px}}
/* 产品清单表（文档风） */
table.plist{width:100%;border-collapse:collapse;font-size:15px}
table.plist th{font-weight:400;color:var(--dim);font-size:13px;text-align:left;border-bottom:1.5px solid var(--ink);padding:8px 10px}
table.plist td{border-bottom:1px solid var(--line);padding:12px 10px;vertical-align:top}
table.plist td:first-child{font-family:var(--serif);font-weight:700;white-space:nowrap}
table.plist td:first-child a{color:var(--ink);text-decoration:none}table.plist td:first-child a:hover{color:var(--accent-ink);text-decoration:underline}
.stamp{display:inline-block;border:1.5px solid var(--accent);color:var(--accent-ink);padding:0 8px;font-size:13px;border-radius:2px;white-space:nowrap}
.stamp.pilot{border-color:var(--bad);color:var(--bad)}.stamp.plan{border-color:var(--dim);color:var(--dim)}
@media(max-width:760px){table.plist .c3{display:none}}
/* 新闻卡片 */
.news{display:block;text-decoration:none;color:inherit;background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:16px 18px}
.news:hover{border-color:var(--accent)}
.news .meta{font-size:12px;color:var(--dim)}
.news b{display:block;margin:4px 0;font-size:16px;line-height:1.4}
.news p{margin:0;color:var(--dim);font-size:14px}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.filters button{background:transparent;color:var(--ink);border-color:var(--line);min-height:36px;padding:4px 14px;font-weight:400}
.filters button.on{border-color:var(--accent);color:var(--accent-ink);background:rgba(42,122,112,.12)}
/* 四层结构（Agent 规划 · 方法与文章）：左列层定义逐层加深，右两列为临床运营 / 临床研究 */
.layers{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(0,1fr) minmax(0,1fr);gap:8px}
.ly-colh{font-family:var(--serif);font-weight:700;font-size:16px;padding:4px 4px 2px;border-bottom:1.5px solid var(--ink)}
.ly-colh span{font-family:inherit;font-weight:400;font-size:12px;color:var(--dim);margin-left:8px}
.ly-name{border-radius:4px;padding:14px 16px}
.ly-name b{display:block;font-size:17px;letter-spacing:.3px}.ly-name em{font-style:normal;font-family:var(--serif);font-weight:700;font-size:15px}
.ly-name p{margin:6px 0 0;font-size:13px;line-height:1.6;opacity:.85}
.ly-name.l1{background:rgba(42,122,112,.08);color:var(--ink)}.ly-name.l2{background:rgba(42,122,112,.18);color:var(--ink)}
.ly-name.l3{background:var(--deep2);color:#DCE6E4}.ly-name.l4{background:var(--deep);color:#DCE6E4}
.ly-name.l3 b,.ly-name.l4 b{color:#fff}
.ly-cell{background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:14px 16px;font-size:14px}
.ly-cell p{margin:8px 0 0;color:var(--dim);font-size:13px}
.ly-tag{display:none;font-style:normal;font-size:12px;color:var(--accent-ink);margin-bottom:6px}
.ly-flow{display:flex;flex-wrap:wrap;align-items:center;gap:6px 0}
.ly-flow span{position:relative;padding:4px 10px;border:1px solid var(--accent);border-radius:3px;background:rgba(42,122,112,.06);color:var(--accent-ink)}
.ly-flow span+span{margin-left:24px}
.ly-flow span+span::before{content:"→";position:absolute;left:-19px;top:4px;color:var(--dim)}
.ly-chips{display:flex;flex-wrap:wrap;gap:6px}
.ly-chip{display:inline-block;padding:4px 10px;border:1px solid var(--line);border-radius:3px;color:var(--ink);text-decoration:none;background:var(--bg)}
.ly-chip.live{border-color:var(--accent);color:var(--accent-ink);background:rgba(42,122,112,.08)}
.ly-chip.plan{border-style:dashed;border-color:var(--dim);color:var(--dim);background:transparent}
.ly-chip.pilot{border-color:var(--bad);color:var(--bad);background:transparent}
a.ly-chip:hover{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
@media(max-width:860px){.layers{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.ly-name{grid-column:1/-1;margin-top:8px}.ly-corner{display:none}}
@media(max-width:560px){.layers{grid-template-columns:minmax(0,1fr)}.ly-colh{display:none}.ly-tag{display:block}.ly-name{margin-top:12px}}
/* 测验题 */
.q{margin:18px 0}.q .m{font-size:12px;color:var(--dim)}
.opts{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}
.opts label{flex:1;min-width:70px;margin:0;text-align:center;border:1px solid var(--line);border-radius:8px;padding:10px 4px;font-size:13px;color:var(--ink);cursor:pointer}
.opts input{display:none}.opts input:checked+span{color:var(--accent-ink);font-weight:700}
.opts label:has(input:checked){border-color:var(--accent);background:rgba(42,122,112,.12)}
/* 结果 */
.big{font-size:34px;font-weight:700;line-height:1.2}
.big small{font-size:14px;font-weight:400;color:var(--dim);margin-left:4px}
.bar{height:10px;background:var(--line);border-radius:6px;overflow:hidden}.bar i{display:block;height:100%;background:var(--accent)}
.locked{filter:blur(5px);user-select:none;pointer-events:none}
.disclaimer{font-size:12px;color:var(--dim);margin-top:12px}
#radar{width:100%;height:320px}
table.t{width:100%;border-collapse:collapse;font-size:14px}table.t td,table.t th{border-bottom:1px solid var(--line);padding:8px 6px;text-align:left;vertical-align:top}
/* Demo */
.chat{background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:14px;min-height:240px}
.msg{max-width:86%;margin:8px 0;padding:10px 14px;border-radius:4px;font-size:15px}
.msg.ai{background:var(--bg);border:1px solid var(--line)}.msg.me{background:rgba(42,122,112,.18);margin-left:auto}
.steps{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}
.steps span{font-size:12px;border:1px solid var(--line);border-radius:99px;padding:2px 12px;color:var(--dim)}.steps span.on{border-color:var(--accent);color:var(--accent-ink)}
/* 文章 */
article.post h2{font-size:20px}article.post p,article.post li{font-size:16px}
article.post blockquote{margin:12px 0;padding:8px 16px;border-left:3px solid var(--accent);color:var(--dim)}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{header.top,.cta-bar,.noprint,.modal,button,.btn,footer.site{display:none!important}body{background:#fff;color:#000;padding:0}.card{break-inside:avoid}.locked{filter:none}}
/* 新闻详情弹层：电脑上宽度适中，手机上占满 */
.modal .card.wide{max-width:720px;font-size:15px;line-height:1.75}
.modal .card.wide h2{font-size:20px}
.modal .card.wide ul{padding-left:20px;margin:6px 0}
.modal .card.wide li{margin:4px 0}
@media (max-width:560px){.modal .card.wide{font-size:14.5px;padding:16px}}
/* 报价单：对外版只在打印时出现 */
.ext{display:none}
@media print{.internal{display:none!important}.ext{display:block!important}.ext h1{margin:0 0 4px}}
/* Agent 规划：三栏联动 / 手机手风琴 */
.ag{display:grid;grid-template-columns:200px minmax(0,1fr) minmax(0,1.15fr);gap:14px;align-items:start}
.ag .col{background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:12px}
.ag .roles button{display:block;width:100%;text-align:left;background:transparent;color:var(--ink);border:1px solid transparent;font-weight:400;min-height:40px;padding:6px 10px;margin:2px 0;border-radius:8px}
.ag .roles button.on{border-color:var(--accent);background:rgba(42,122,112,.12);color:var(--accent-ink);font-weight:600}
.ag .roles .grp{font-size:12px;color:var(--dim);margin:10px 4px 2px}
.ag .scene{display:block;width:100%;text-align:left;background:transparent;color:var(--ink);border:1px solid var(--line);font-weight:400;padding:8px 10px;margin:6px 0;border-radius:8px;min-height:40px}
.ag .scene.on{border-color:var(--accent);background:rgba(42,122,112,.12)}
.ag .part{border-left:3px solid var(--accent);padding:2px 0 2px 10px;margin:8px 0}
.ag .part b{font-size:14px}.ag .part ul{margin:2px 0;padding-left:18px;font-size:14px}
.ag .gate{background:var(--warn-bg);color:var(--warn);border-radius:8px;padding:8px 12px;font-size:14px}.ag .gate ul{margin:4px 0;padding-left:18px}
.ag-acc details{background:var(--panel);border:1px solid var(--line);border-radius:4px;margin:8px 0;padding:0 14px}
.ag-acc summary{cursor:pointer;padding:12px 0;font-weight:600;color:var(--ink);font-size:16px}
.ag-acc details[open] summary{border-bottom:1px solid var(--line);margin-bottom:8px}
.ag-acc .box{padding-bottom:12px}
.radar svg{width:100%;max-width:260px;display:block;margin:0 auto}
@media (max-width:860px){.ag{display:none}}
@media (min-width:861px){.ag-acc{display:none}}

/* ---- 第 3 批：知识库 / Demo ---- */
.layer{opacity:1;transform:none;transition:opacity .6s,transform .6s}
.js-anim .layer{opacity:0;transform:translateY(24px)}.js-anim .layer.in{opacity:1;transform:none}
.layer .no{font-size:13px;letter-spacing:2px;color:var(--accent-ink)}
.layer ul{margin:8px 0 0;padding-left:20px}
.tree{font-size:14px;line-height:1.9}.tree details{margin-left:16px}.tree summary{cursor:pointer;padding:2px 0}
.tree .leaf{margin-left:34px;color:var(--dim)}
.qa-wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:16px}
.qa-list{display:flex;flex-direction:column;gap:6px}
.qa-list button{text-align:left;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:3px;padding:10px 12px;font-weight:400;font-size:14px;min-height:44px}
.qa-list button.on{border-color:var(--accent);background:rgba(42,122,112,.12)}
.src{font-size:13px;border-top:1px dashed var(--line);margin-top:12px;padding-top:8px}
.src li{margin:4px 0}.src .qt{color:var(--dim)}
@media(max-width:760px){.qa-wrap{grid-template-columns:1fr}}
.opt-btn{display:block;width:100%;text-align:left;margin:6px 0;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:3px;padding:10px 12px;font-weight:400;font-size:14px;min-height:44px}
.opt-btn:hover:not(:disabled){border-color:var(--accent)}.opt-btn:disabled{opacity:1;cursor:default}
.opt-btn.good{border-color:var(--accent);background:rgba(42,122,112,.16)}.opt-btn.part{border-color:#c99a2e;background:rgba(201,154,46,.12)}.opt-btn.bad{border-color:#c0584c;background:rgba(192,88,76,.1)}
.sc-card{cursor:pointer}
.score-row{display:flex;align-items:center;gap:10px;margin:6px 0;font-size:14px}.score-row .bar{flex:1}.score-row b{width:56px}
.chk-row{display:flex;gap:6px;flex-wrap:wrap;align-items:center;border-bottom:1px solid var(--line);padding:8px 0;font-size:14px}.chk-row .t{flex:1;min-width:200px}
.chk-row label{display:inline-flex;align-items:center;gap:3px;margin:0;font-size:13px;border:1px solid var(--line);border-radius:99px;padding:3px 10px;cursor:pointer}
.chk-row label:has(input:checked){border-color:var(--accent);background:rgba(42,122,112,.14)}.chk-row input{margin:0}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.num-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}@media(max-width:560px){.num-cards{grid-template-columns:repeat(2,1fr)}}
.num-cards .card b{display:block;font-size:26px}
/* 知识库滚动叙事（桌面 + 允许动效时启用；手机与减弱动效退回三张卡片） */
.story{margin:8px 0 24px}
.story-wrap{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:clamp(20px,2vw,40px);height:var(--sh,540px);align-items:stretch}
.story-cap{position:relative}
.story-cap .cap{position:absolute;inset:0 0 auto 0;opacity:0}
.story-cap .cap .no{font-size:clamp(13px,.9vw,17px);letter-spacing:2px;color:var(--accent-ink)}
.story-cap .cap b{display:block;font-size:clamp(22px,1.7vw,36px);line-height:1.35;margin:6px 0 10px}
.story-cap .cap p{color:var(--dim);font-size:clamp(15px,1.05vw,21px);margin:0}
.story-dots{position:absolute;left:0;bottom:0;display:flex;gap:8px}
.story-dots i{width:28px;height:4px;border-radius:2px;background:var(--line)}
.story-dots i b{display:block;height:100%;width:0;background:var(--accent);border-radius:2px}
.story-stage{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:4px;overflow:hidden}
.story-graph{position:absolute;inset:4% 3%;transform-origin:0 50%}
.story-graph svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.story-graph svg path{fill:none;stroke:var(--accent);stroke-opacity:.6;stroke-width:.35;opacity:0}
.st-doc{position:absolute;width:19%;height:34%;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:10px;font-size:clamp(13px,1vw,20px);font-weight:600;box-shadow:0 4px 14px rgba(0,0,0,.06)}
.st-doc i{display:block;height:5px;border-radius:3px;background:var(--line);margin-top:8px}
.st-doc i:nth-child(odd){width:72%}
.st-chunk{position:absolute;width:27%;height:15%;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:6px 10px;font-size:clamp(12.5px,.98vw,20px);line-height:1.35;display:flex;flex-direction:column;justify-content:center;opacity:0}
.st-chunk .tg{font-size:.82em;color:var(--accent-ink)}
.st-chunk .hl{position:absolute;inset:-1px;border:2px solid var(--accent);border-radius:8px;background:rgba(42,122,112,.14);opacity:0;pointer-events:none}
.st-chunk .bd{position:absolute;right:-8px;top:-8px;width:20px;height:20px;border-radius:50%;background:var(--accent);color:var(--on-accent);font-size:12px;font-weight:700;text-align:center;line-height:20px;opacity:0}
.st-side{position:absolute;left:66%;right:2.5%;top:6%;bottom:6%;display:flex;flex-direction:column;gap:12px}
.st-q,.st-a{opacity:0;border-radius:4px;padding:clamp(12px,1vw,22px);font-size:clamp(14px,1vw,21px);line-height:1.65}
.st-q{background:rgba(42,122,112,.18);align-self:flex-end;max-width:92%}
.st-a{background:var(--bg);border:1px solid var(--line)}
.st-a sup,.qa-cite{display:inline-block;min-width:18px;height:18px;line-height:18px;border-radius:9px;background:var(--accent);color:var(--on-accent);font-size:11px;font-weight:700;text-align:center;padding:0 4px;margin:0 2px;vertical-align:2px}
.st-a .srcs{font-size:.85em;color:var(--dim);margin-top:8px;border-top:1px dashed var(--line);padding-top:6px}
/* 知识库问答：检索过程与出处角标 */
.rt{margin:8px 0 4px;font-size:13px}
.rt-head{color:var(--dim);margin-bottom:6px;display:flex;align-items:center;gap:6px}
.rt-spin{width:12px;height:12px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:rtspin .8s linear infinite}
@keyframes rtspin{to{transform:rotate(360deg)}}
.rt-card{border:1px solid var(--line);border-radius:8px;padding:5px 8px;margin:4px 0;opacity:0;transform:translateX(-8px);transition:opacity .3s,transform .3s,border-color .3s}
.rt-card.in{opacity:1;transform:none;border-color:var(--accent)}
button.qa-cite{min-height:0;min-width:18px;height:18px;line-height:18px;padding:0 4px;border:0;border-radius:9px;margin:0 1px;font-size:11px;cursor:pointer;vertical-align:2px}
ol.src{padding-left:20px}
.src li{border-radius:6px;padding:2px 4px;transition:background .6s}
.src li.flash{background:rgba(42,122,112,.28)}
@media (prefers-reduced-motion:reduce){.rt-card{opacity:1;transform:none}.src li{transition:none}}
/* 中心遴选：排名行（FLIP 换位） */
.rk{margin-top:10px;font-size:14px}
.rk-row{display:grid;grid-template-columns:28px minmax(0,1fr) 70px minmax(0,1.1fr);gap:8px;align-items:center;padding:9px 6px;border-bottom:1px solid var(--line);background:var(--panel)}
.rk-h{font-weight:600;color:var(--dim);font-size:13px}
.rk-s{font-variant-numeric:tabular-nums}.rk-d{color:var(--dim);font-size:13px}
@media(max-width:560px){.rk-row{grid-template-columns:24px minmax(0,1fr) 56px}.rk-d{display:none}}
/* 费控报销：票据飞入、扫描识别、超标闪动 */
.rc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}@media(max-width:560px){.rc-grid{grid-template-columns:1fr}}
.rc{position:relative;border:1px solid var(--line);border-radius:3px;padding:10px;background:var(--panel);overflow:hidden}
.rc-img{position:relative;height:88px;border-radius:6px;background:repeating-linear-gradient(0deg,var(--line) 0 2px,transparent 2px 12px);background-color:var(--bg);margin-bottom:8px;overflow:hidden}
.rc-img b{position:absolute;left:8px;top:8px;font-size:12px;background:var(--panel);padding:0 6px;border-radius:4px}
.rc-scan{position:absolute;left:0;right:0;top:0;height:3px;background:var(--accent);box-shadow:0 0 12px 3px rgba(42,122,112,.55);opacity:0}
.rc-f{display:flex;justify-content:space-between;gap:8px;font-size:13px;padding:3px 0;border-bottom:1px dashed var(--line);opacity:0;transform:translateX(-6px);transition:opacity .3s,transform .3s}
.rc-f.in{opacity:1;transform:none}.rc-f span:first-child{color:var(--dim)}
.rc.over{animation:rcflash .9s ease 2}
@keyframes rcflash{0%,100%{box-shadow:0 0 0 0 rgba(185,28,28,0)}50%{box-shadow:0 0 0 3px rgba(185,28,28,.55)}}
.rc.over{border-color:var(--bad)}
@media(prefers-reduced-motion:reduce){.rc-f{opacity:1;transform:none;transition:none}.rc.over{animation:none}}
/* 第二档动效：输入中、环形评分 */
.msg.typing{display:inline-flex;gap:5px;padding:12px 16px}
.msg.typing i{width:7px;height:7px;border-radius:50%;background:var(--dim);animation:tp 1s infinite}
.msg.typing i:nth-child(2){animation-delay:.15s}.msg.typing i:nth-child(3){animation-delay:.3s}
@keyframes tp{0%,60%,100%{opacity:.3;transform:none}30%{opacity:1;transform:translateY(-4px)}}
.ring-card{display:flex;gap:18px;align-items:center}.ring-card>div:last-child{flex:1;min-width:0}
.ring{position:relative;width:96px;height:96px;flex:none}.ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.ring circle{fill:none;stroke-width:7}.rg-bg{stroke:var(--line)}.rg-fg{stroke:var(--accent);stroke-linecap:round}
.rg-t{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1}.rg-t b{font-size:26px}.rg-t span{font-size:12px;color:var(--dim)}
@media(max-width:480px){.ring-card{flex-direction:column;align-items:flex-start}}
.pg{height:8px;background:var(--line);border-radius:4px;overflow:hidden;margin:10px 0}.pg i{display:block;height:100%;width:0;background:var(--accent)}
@media(prefers-reduced-motion:reduce){.msg.typing i{animation:none}}
/* Agent 规划：选择连线 */
.ag{position:relative}
.ag svg.lk{position:absolute;left:0;top:0;pointer-events:none;overflow:visible;z-index:2}
.ag svg.lk path{fill:none;stroke:var(--accent);stroke-width:2;stroke-linecap:round;opacity:.75}
@media(max-width:900px){.ag svg.lk{display:none}}
.story-hint{position:absolute;left:0;right:0;bottom:2%;text-align:center;font-size:13px;color:var(--dim);letter-spacing:1px;animation:hintbob 1.6s ease-in-out infinite}
@keyframes hintbob{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
@media(prefers-reduced-motion:reduce){.story-hint{animation:none}}

/* 全站放宽版心：文字页分栏（正文阅读宽度 + 侧栏），列表页自动多列 */
.wrap.article-page{max-width:1240px}
.post-grid{display:grid;grid-template-columns:minmax(0,780px) minmax(260px,320px);gap:clamp(32px,4vw,64px);justify-content:center;align-items:start}
.post-side{position:sticky;top:78px;display:flex;flex-direction:column;gap:14px}
.post-side .card{margin:0}
.toc{font-size:14px}.toc b{display:block;margin-bottom:6px}
.toc a{display:block;color:var(--dim);text-decoration:none;padding:5px 0 5px 10px;border-left:2px solid var(--line);line-height:1.45}
.toc a:hover,.toc a.on{color:var(--accent-ink);border-left-color:var(--accent)}
article.post{font-size:17px;line-height:1.85}
article.post h1{font-size:clamp(28px,2.6vw,38px);line-height:1.3}
article.post h2{font-size:clamp(20px,1.6vw,24px);margin-top:1.8em;scroll-margin-top:80px}
article.post p,article.post li{font-size:17px}
.prod-grid{align-items:start}
.prod-grid h2:first-child{margin-top:0}
.g-auto{grid-template-columns:repeat(auto-fill,minmax(min(100%,380px),1fr))}
@media(min-width:1500px){.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}}
@media(max-width:1000px){.post-grid{grid-template-columns:minmax(0,1fr)}.post-side{position:static}.toc{display:none}}
@media print{.post-grid{display:block}.post-side{display:none}}
.st-chips{margin-top:auto;display:flex;flex-direction:column;gap:6px;opacity:0;font-size:clamp(12px,.85vw,16px)}
.st-chips span{color:var(--dim)}
.st-chips button{text-align:left;min-height:0;padding:7px 12px;font-weight:400;font-size:inherit;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:8px;line-height:1.4}
.st-chips button.on{border-color:var(--accent);background:rgba(42,122,112,.14);color:var(--accent-ink)}
.src .zh{display:block;margin:2px 0 6px;color:var(--ink)}

/* 诊断分步 */
.prog{margin:16px 0 12px}.prog-t{font-weight:600;margin-bottom:6px}
.prog .bar{height:6px;background:var(--line);border-radius:3px;overflow:hidden}.prog .bar i{display:block;height:100%;background:var(--accent);transition:width .35s}
.prog-s{display:flex;gap:6px 14px;flex-wrap:wrap;margin-top:8px;font-size:13px;color:var(--dim)}
.prog-s .on{color:var(--accent-ink);font-weight:600;border-bottom:2px solid var(--accent)}.prog-s .ok{color:var(--accent-ink)}.prog-s .ok::before{content:"✓ "}
.stepnav{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:8px 0 12px}
@media(max-width:600px){.prog-s span:not(.on){display:none}}
@media(prefers-reduced-motion:reduce){.prog .bar i{transition:none}}

/* 无障碍：焦点可见、跳到正文 */
:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}
.hero :focus-visible{outline-color:#8FD3C6}
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--panel);color:var(--ink);padding:8px 14px;border:2px solid var(--accent)}
.skip:focus{left:8px}
fieldset.q{border:0;margin:0;padding:0;min-width:0}fieldset.q legend{padding:0;font:inherit;margin-bottom:2px}
/* 提示条（取代 alert） */
.toast{position:fixed;left:50%;bottom:84px;transform:translateX(-50%);z-index:80;max-width:min(92vw,520px);background:var(--deep);color:#F2F6F5;border-left:4px solid var(--green);padding:12px 18px;border-radius:3px;box-shadow:0 6px 24px rgba(0,0,0,.25);font-size:15px;animation:toastIn .25s}
.toast.err{border-left-color:var(--bad)}
@keyframes toastIn{from{opacity:0;transform:translate(-50%,8px)}}
@media(prefers-reduced-motion:reduce){.toast{animation:none}}
@media(min-width:861px){.toast{bottom:32px}}
/* 订阅与内参入口 */
.sub-box{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.sub-box .card{margin:0}
[data-subscribe]:empty{display:none}
.sub-form{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.sub-form input[type=text]{flex:1 1 220px;width:auto}
.sub-form .chk{flex-basis:100%;margin:2px 0 0}
@media(max-width:760px){.sub-box{grid-template-columns:1fr}}
/* 手机宽度溢出修复（smoke_browser 发现） */
.rc-grid{overflow:hidden}
@media(max-width:600px){
  .ops.kpi{grid-template-columns:1fr}
  .ops.kpi div{border-right:0;border-bottom:1px solid var(--line)}.ops.kpi div:last-child{border-bottom:0}
  .ops.kpi b{white-space:normal}
}
@media(max-width:760px){table.plist td:first-child{white-space:normal}table.plist td,table.plist th{padding-left:6px;padding-right:6px}}
/* 产品总览：分组卡片 + 线性图标 + 平台承载图 */
.p-sum{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-top:1.5px solid var(--ink);border-bottom:1px solid var(--line);margin:8px 0 8px}
.p-cnt{display:flex;gap:8px;flex-wrap:wrap}
.p-jump{display:flex;gap:4px;flex-wrap:wrap}.p-jump a{font-size:14px;color:var(--dim);text-decoration:none;padding:6px 12px;border:1px solid var(--line);border-radius:99px}.p-jump a:hover{color:var(--accent-ink);border-color:var(--accent)}
.pgrp{margin:44px 0 0;scroll-margin-top:72px}.pgrp h2{margin:2px 0 4px}.pgrp>.note{margin:0 0 18px;font-size:14px}
.pgrp .kicker{font-size:13px;color:var(--accent-ink);border-left:2px solid var(--accent);padding-left:8px}
.pc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media(max-width:1000px){.pc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.pc-grid{grid-template-columns:minmax(0,1fr)}}
.pc{position:relative;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:4px;padding:20px 22px 16px;transition:border-color .2s,transform .2s,box-shadow .2s}
.pc:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 10px 24px -14px rgba(17,33,42,.35)}
.pc.plan{border-top-color:var(--dim);border-style:dashed;border-top-style:solid}.pc.pilot{border-top-color:var(--bad)}
.pc-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:14px}
.pi{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:4px;background:rgba(42,122,112,.11);color:var(--accent-ink);transition:background .2s,color .2s}
.pi svg{width:26px;height:26px}
.pc:hover .pi{background:var(--accent);color:var(--on-accent)}
.pc.plan .pi{background:transparent;border:1.5px dashed var(--line);color:var(--dim)}.pc.plan:hover .pi{background:transparent;color:var(--ink)}
.pc.pilot .pi{background:rgba(178,63,46,.10);color:var(--bad)}.pc.pilot:hover .pi{background:var(--bad);color:#fff}
.pc h3{font-size:19px;margin:0 0 6px}
.pc-link{color:var(--ink);text-decoration:none}.pc-link::after{content:"";position:absolute;inset:0}
.pc-tag{margin:0 0 10px;color:var(--dim);font-size:15px}
.pc-who{margin:0 0 10px}.pc-who .pill{margin:0 4px 6px 0}
.pc-caps{list-style:none;margin:0 0 14px;padding:10px 0 0;border-top:1px dashed var(--line);font-size:14px}
.pc-caps li{position:relative;padding-left:16px;margin:4px 0}.pc-caps li::before{content:"";position:absolute;left:2px;top:.72em;width:6px;height:6px;border-radius:1px;background:var(--accent)}
.pc.plan .pc-caps li::before{background:var(--line)}
.pc-foot{margin-top:auto;display:flex;gap:16px;font-size:14px;font-weight:600}.pc-foot a,.pc-foot span{color:var(--accent-ink);text-decoration:none}
.pc-foot .pc-demo{position:relative;z-index:1}.pc-foot .pc-demo:hover{text-decoration:underline}
a.pc-cta{text-decoration:none;color:inherit;background:transparent;border:1.5px dashed var(--accent);border-top-width:3px;border-top-style:solid;justify-content:center}
a.pc-cta h3{color:var(--ink)}
.pc.wide{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);grid-template-areas:"main x" "foot x";grid-template-rows:auto 1fr;column-gap:28px;align-items:start;padding:24px 26px}
.pw-main{grid-area:main}.pw-x{grid-area:x}.pc.wide .pc-foot{grid-area:foot;align-self:end;padding-top:6px}
.pc.wide .pc-caps{border-top:0;padding-top:0;margin:0;font-size:15px}.pc.wide .pc-caps li{margin:8px 0}
@media(max-width:900px){.pc.wide{grid-template-columns:minmax(0,1fr);grid-template-areas:"main" "x" "foot";grid-template-rows:auto;row-gap:14px}}
.stack{position:relative;z-index:1;display:grid;gap:8px;font-size:14px}
.sk-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
@media(max-width:560px){.sk-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
.sk-mod{display:flex;align-items:center;gap:6px;padding:7px 8px;border:1px solid var(--accent);border-radius:3px;color:var(--accent-ink);text-decoration:none;background:rgba(42,122,112,.06);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sk-mod:hover{background:var(--accent);color:var(--on-accent)}
.sk-mod.plan{border-style:dashed;border-color:var(--line);color:var(--dim);background:transparent}.sk-mod.pilot{border-color:var(--bad);color:var(--bad);background:transparent}
.sk-i svg{width:16px;height:16px;display:block}.sk-i{flex:none}
.sk-layer{padding:10px 14px;border-radius:3px;background:var(--deep);color:#DCE6E4}
.sk-layer b{display:block;font-family:var(--serif);font-size:16px;color:#fff}.sk-layer span{font-size:13px;opacity:.85}
.sk-layer.kb{background:var(--deep2)}
.sk-sys{font-size:13px;color:var(--dim);text-align:center;border:1px dashed var(--line);border-radius:3px;padding:6px 8px}
.js-rv .rv{opacity:0;transform:translateY(18px);transition:opacity .5s ease var(--d,0ms),transform .5s cubic-bezier(.2,.8,.2,1) var(--d,0ms),border-color .2s,box-shadow .2s}
.js-rv .rv.in{opacity:1;transform:none}
.js-rv .rv.in:hover{transform:translateY(-3px);transition-delay:0ms}
@media print{.js-rv .rv{opacity:1;transform:none}.pc{break-inside:avoid}}
/* 栏目内子页签（Agent 规划：角色拆解 / 方法与文章） */
.subnav{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:0 0 16px;overflow-x:auto}
.subnav a{padding:10px 16px;font-size:15px;color:var(--dim);text-decoration:none;border-bottom:2.5px solid transparent;margin-bottom:-1px;white-space:nowrap}
.subnav a:hover{color:var(--accent-ink)}.subnav a.on{color:var(--accent-ink);border-bottom-color:var(--accent);font-weight:600}
h2[id]{scroll-margin-top:72px}
/* 角色列表：产品状态点 */
.pdot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);vertical-align:middle;margin-left:6px;position:relative;top:-1px}
.pdot.plan{background:transparent;border:1.5px solid var(--dim)}
.pdot-legend{border-top:1px dashed var(--line);margin:12px 4px 0;padding-top:10px;font-size:12px;color:var(--dim);display:flex;flex-wrap:wrap;gap:4px 12px}
.pdot-legend .pdot{margin:0 5px 0 0}
/* 品牌标志：用遮罩着色，浅色模式为品牌深蓝，深色模式自动变浅（原图 CRO/数界.png → tools/build_brand.py） */
:root{--brand:#041D3B}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--brand:#DCE6E4}}
:root[data-theme="dark"]{--brand:#DCE6E4}
.brand{display:inline-flex;align-items:center}
.logo-mark,.logo-lockup{display:inline-block;flex:none;background:var(--brand);-webkit-mask:url(../assets/brand/sj-mark.png?v=fee154e0) center/contain no-repeat;mask:url(../assets/brand/sj-mark.png?v=fee154e0) center/contain no-repeat}
.logo-mark{width:28px;height:28px;margin-right:9px}
.logo-lockup{width:57px;height:48px;-webkit-mask-image:url(../assets/brand/lockup.png?v=01d97a69);mask-image:url(../assets/brand/lockup.png?v=01d97a69)}
.foot-brand{display:flex;align-items:center;gap:14px}
.logo-lg{display:block;width:116px;height:97px}
@media print{.logo-mark,.logo-lockup{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
.about-head{display:flex;align-items:center;gap:22px;margin:32px 0 36px}.about-head h1{margin-top:0}
@media(max-width:560px){.about-head{gap:14px}.about-head .logo-lg{width:72px;height:64px}}
.ext-logo{height:56px;width:auto;display:block;margin-bottom:8px}
.export-brand{display:flex;align-items:center;gap:12px;margin-top:16px;padding:10px 14px;background:#fff;border-radius:4px;color:#041D3B;font-size:13px}
.export-brand img{height:40px;width:auto}
/* 知识库 · 权限四卡 */
.kp{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.kp .card{margin:0;border-top:3px solid var(--accent)}.kp .card b{display:block;font-size:16px;margin:10px 0 4px}.kp .card p{margin:0;font-size:14px;color:var(--dim)}
.kp-ico{display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;border-radius:4px;background:rgba(42,122,112,.11);color:var(--accent-ink)}
.kp-ico svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:1000px){.kp{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.kp{grid-template-columns:minmax(0,1fr)}}
/* 知识库 · 自学习闭环 */
.loop{margin:8px 0 18px}
.loop ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:28px}
.loop li{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:16px 16px 14px}
.loop li+li::before{content:"→";position:absolute;left:-22px;top:50%;transform:translateY(-50%);color:var(--accent-ink);font-weight:700}
.loop li i{display:inline-flex;width:24px;height:24px;border-radius:50%;align-items:center;justify-content:center;font-style:normal;font-size:13px;font-weight:700;background:var(--accent);color:var(--on-accent);margin-right:8px}
.loop li b{font-family:var(--serif);font-size:17px}.loop li span{display:block;margin-top:6px;font-size:13.5px;color:var(--dim)}
.loop li.human{border-color:var(--amber);background:var(--warn-bg)}.loop li.human i{background:var(--amber-ink)}
.loop-back{position:relative;height:30px;margin:0 9% 0;border:2px dashed var(--accent);border-top:0;border-radius:0 0 14px 14px}
.loop-back::before{content:"▲";position:absolute;left:-8px;top:-12px;font-size:12px;color:var(--accent)}
.loop-back span{position:absolute;left:50%;bottom:-11px;transform:translateX(-50%);background:var(--bg);padding:0 10px;font-size:13px;color:var(--accent-ink);white-space:nowrap}
@media(max-width:900px){.loop ol{grid-template-columns:minmax(0,1fr);gap:22px}.loop li+li::before{content:"↓";left:50%;top:-20px;transform:translateX(-50%)}
  .loop-back{height:auto;border:0;margin:14px 0 0;text-align:center}.loop-back::before{content:"↺ ";position:static;font-size:15px}.loop-back span{position:static;transform:none;background:none;padding:0}}
/* 知识库 · 目录与权限 */
.kc-ids{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:6px 0 14px}
.kc-ids button{text-align:left;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:4px;padding:10px 14px;font-weight:400}
.kc-ids button b{display:block;font-size:16px}.kc-ids button span{display:block;font-size:12.5px;color:var(--dim);margin-top:2px}
.kc-ids button.on{border-color:var(--accent);background:rgba(42,122,112,.12);box-shadow:inset 0 -3px 0 var(--accent)}.kc-ids button.on b{color:var(--accent-ink)}
@media(max-width:760px){.kc-ids{grid-template-columns:repeat(2,minmax(0,1fr))}}
.kc-wrap{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:16px;align-items:start}.kc-wrap .card{margin:0}
@media(max-width:900px){.kc-wrap{grid-template-columns:minmax(0,1fr)}}
.kc-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;border-bottom:1px dashed var(--line);padding-bottom:6px;margin-bottom:6px}
.kc-lock{margin-left:16px;padding:2px 0;color:var(--dim);opacity:.75;display:flex;align-items:center;gap:6px}
.kc-ico svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;display:block}
.kc-no{font-size:11.5px;border:1px solid var(--line);border-radius:99px;padding:0 8px;margin-left:4px}
.kc-perm h3{margin:0 0 6px}.kc-rule{margin:0 0 12px;padding-left:18px;font-size:14px}
.kc-asks{border-top:1px dashed var(--line);padding-top:10px}
.kc-ask{margin:10px 0}.kc-q{display:inline-block;background:rgba(42,122,112,.12);border-radius:4px;padding:6px 10px;font-size:14px;margin-bottom:6px}
.kc-a{font-size:14px;border-left:3px solid var(--accent);padding:4px 0 4px 10px}.kc-a .note{margin:4px 0 0}
.kc-a.deny{border-left-color:var(--bad);color:var(--bad);display:flex;gap:6px;align-items:flex-start}.kc-a.deny .kc-ico{margin-top:3px}
/* 知识库 · 自学习演示（js/learn.js） */
.ld{background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:6px 20px 14px}
.ld-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:0 -4px 14px;overflow-x:auto}
.ld-tabs button{background:transparent;color:var(--dim);border:0;border-bottom:2.5px solid transparent;border-radius:0;font-weight:400;padding:10px 14px;min-height:44px;white-space:nowrap}
.ld-tabs button.on{color:var(--accent-ink);border-bottom-color:var(--accent);font-weight:600}
.ld button.sm{min-height:34px;padding:5px 14px;font-size:14px;margin-top:8px}
.ld-body{min-height:250px}
.ld-cap{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;font-weight:600;margin-bottom:12px}
.ld-dots i{display:inline-block;width:22px;height:4px;border-radius:2px;background:var(--line);margin-left:4px}.ld-dots i.on{background:var(--accent)}
.ld-q{display:inline-block;background:rgba(42,122,112,.12);border-radius:4px;padding:8px 12px;margin:4px 0 10px}
.ld-a{border-left:3px solid var(--accent);padding:4px 0 4px 12px;max-width:820px}.ld-a mark{background:var(--warn-bg);color:inherit;padding:0 2px}
.ld-fb{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px;font-size:14px;color:var(--dim)}.ld-fb button{margin-top:0!important}
.ld .ld-hl{animation:ldPulse 1.6s ease-in-out infinite}@keyframes ldPulse{50%{box-shadow:0 0 0 6px rgba(42,122,112,.18)}}
.ld-form,.ld-review,.ld-entry,.ld-rec{border:1px solid var(--line);border-radius:4px;padding:14px 16px;max-width:820px;background:var(--bg)}
.ld-form label{display:block;font-size:13px;color:var(--dim);margin:8px 0 2px}.ld-in{border:1px solid var(--line);background:var(--panel);border-radius:3px;padding:7px 10px;font-size:14px}
.ld-review{border-color:var(--amber);background:var(--warn-bg)}.ld-review ul{margin:6px 0;padding-left:18px;font-size:14px}
.ld-entry{border-color:var(--accent)}.ld-entry p,.ld-rec p{margin:6px 0;font-size:14.5px}
.ld-tag{display:inline-block;font-size:12px;border-radius:99px;padding:1px 10px;margin-bottom:6px;border:1px solid}
.ld-tag.ok{color:var(--accent-ink);border-color:var(--accent);background:rgba(42,122,112,.08)}.ld-tag.warn{color:var(--amber-ink);border-color:var(--amber);background:var(--warn-bg)}
.ld-table{display:flex;flex-direction:column;gap:6px;max-width:980px}
.ld-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) 150px;gap:12px;align-items:center;border:1px solid var(--line);border-radius:4px;padding:10px 14px;background:var(--bg);transition:background .3s}
.ld-row b{display:block;font-weight:600;font-size:14.5px}.ld-row .note{margin:2px 0 0}.ld-row button.sm{margin-top:0}
.ld-row.done{background:rgba(42,122,112,.07);border-color:var(--accent)}.ld-sug{font-size:14px;color:var(--dim)}
@media(max-width:700px){.ld-row{grid-template-columns:minmax(0,1fr)}}
.ld-ver{display:flex;align-items:center;gap:14px;margin:4px 0 6px}.ld-ver>div:not(.ld-arrow){border:1px solid var(--accent);border-radius:4px;padding:10px 16px;background:var(--bg)}
.ld-ver>div b{display:block;font-family:var(--serif);font-size:18px}.ld-ver .dash{border-style:dashed!important;border-color:var(--dim)!important}
.ld-arrow{color:var(--accent-ink);font-weight:700}.ld-arrow.down{margin:8px 0;font-weight:400;font-size:13px}
.ld-ok{color:var(--accent-ink)!important}.ld-ok button{margin-left:10px}
.ld-foot{margin:14px 0 0;border-top:1px dashed var(--line);padding-top:8px}
.loop li{transition:border-color .3s,box-shadow .3s}.loop li.now{border-color:var(--accent);box-shadow:0 0 0 3px rgba(42,122,112,.22)}
@media (prefers-reduced-motion:reduce){.ld .ld-hl{animation:none}}
@media(max-width:560px){.ld-tabs{flex-wrap:wrap;overflow:visible}.ld-tabs button{flex:1 1 45%;padding:8px 6px}}
/* 知识库首页 · 三部分导览、右侧进度、动画结尾接引 */
.kchap{list-style:none;margin:4px 0 6px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.kchap a{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding:12px 16px;border:1px solid var(--line);border-radius:4px;background:var(--panel);color:var(--ink);text-decoration:none;transition:border-color .2s,transform .2s}
.kchap a:hover{border-color:var(--accent);transform:translateY(-2px)}
.kchap i{font-style:normal;display:inline-flex;width:24px;height:24px;border-radius:50%;align-items:center;justify-content:center;background:var(--accent);color:var(--on-accent);font-size:13px;font-weight:700;flex:none}
.kchap b{font-family:var(--serif);font-size:17px}.kchap span{color:var(--dim);font-size:13.5px}
@media(max-width:700px){.kchap{grid-template-columns:minmax(0,1fr)}}
.kno{display:inline-block;color:var(--accent-ink);margin-right:8px}
.krail{display:none}
@media(min-width:1200px){
  .krail{display:flex;flex-direction:column;gap:14px;position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:12}
  .krail a{display:flex;flex-direction:row-reverse;align-items:center;gap:8px;text-decoration:none;color:var(--dim);font-size:13px}
  .krail i{width:11px;height:11px;border-radius:50%;border:2px solid var(--line);background:var(--bg);transition:all .2s;flex:none}
  .krail a.past i{border-color:var(--accent)}
  .krail a.on i{border-color:var(--accent);background:var(--accent);transform:scale(1.25)}
  .krail a.on{color:var(--accent-ink);font-weight:600}
  .krail span{background:var(--panel);border:1px solid var(--line);border-radius:3px;padding:2px 8px;opacity:0;transform:translateX(6px);transition:opacity .2s,transform .2s;white-space:nowrap}
  .krail a:hover span,.krail a.on span{opacity:1;transform:none}
}
@media(min-width:1700px){.krail span{opacity:1;transform:none}.krail a:not(.on) span{border-color:transparent;background:transparent}}
.st-next{display:block;margin-top:14px;padding:10px 14px;border:1px dashed var(--accent);border-radius:4px;color:var(--accent-ink);text-decoration:none;font-weight:600;font-size:14.5px}
.st-next:hover{background:rgba(42,122,112,.08)}
@media print{.kchap{display:none}}
.story-cap .st-next{position:absolute;left:0;right:0;bottom:22px;margin:0}
/* Demo 首页 / 运营自测首页：沿用产品卡片 .pc，补充时间、两栏输入输出、推荐顺序 */
.pc-meta{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--accent-ink);margin:0 0 10px}
.pc-meta::before{content:"";width:12px;height:12px;border:1.6px solid currentColor;border-radius:50%;box-sizing:border-box;background:linear-gradient(currentColor,currentColor) 50% 30%/1.6px 4px no-repeat}
.pc-top>span{display:flex;gap:6px;align-items:center}
.hub-facts{display:flex;gap:6px 18px;flex-wrap:wrap;font-size:14px;color:var(--accent-ink)}
.pc-cta button.sm{min-height:38px;padding:6px 16px;font-size:14px}
.tk-path{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.tk-path li{position:relative}.tk-path li+li::before{content:"→";position:absolute;left:-20px;top:50%;transform:translateY(-50%);color:var(--accent-ink);font-weight:700}
@media(max-width:900px){.tk-path{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tk-path li+li::before{display:none}}
@media(max-width:560px){.tk-path{grid-template-columns:minmax(0,1fr)}}
.tk-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:760px){.tk-grid{grid-template-columns:minmax(0,1fr)}}
.pc-io{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:16px;border-top:1px dashed var(--line);padding-top:12px;margin-bottom:14px}
.pc-io b{display:block;font-size:13px;color:var(--dim);font-weight:600;margin-bottom:4px}.pc-io p{margin:0;font-size:14px}
.pc-io .pc-caps{border-top:0;padding-top:0;margin:0}
@media(max-width:560px){.pc-io{grid-template-columns:minmax(0,1fr)}}
.tk-trust .card{border-top-color:var(--accent)}
/* 专栏系列标签（frontmatter series） */
a.tile .tile-series{display:inline-block;font-style:normal;font-size:12.5px;color:var(--accent-ink);border-left:2px solid var(--accent);padding-left:8px;margin-bottom:8px}
.post-series{font-size:14px;color:var(--accent-ink);border-left:2px solid var(--accent);padding-left:8px;margin:14px 0 -26px}
#cols a.tile{display:flex;flex-direction:column}#cols a.tile .note{margin-top:auto;padding-top:8px}
@media(min-width:861px) and (max-width:1200px){.cols4{grid-template-columns:repeat(2,1fr)}}
/* AI 前沿：专题、常设专栏与新闻筛选 */
.frontier-report{display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:4px;padding:16px 20px;margin:28px 0 36px}
.frontier-report b{display:block;font-family:var(--serif);font-size:18px}.frontier-report p{color:var(--dim);font-size:14px;margin:2px 0 0}.frontier-report .btn{flex:none}
.frontier-section{margin:36px 0 0}.frontier-section-head{display:flex;align-items:baseline;gap:16px;border-bottom:1px solid var(--line);margin-bottom:16px;padding-bottom:8px}
.frontier-section-head h2{margin:0}.frontier-section-head p{color:var(--dim);font-size:14px;margin:0}
.frontier-featured{grid-template-columns:repeat(3,minmax(0,1fr))}.frontier-featured .tile{border-top:3px solid var(--accent);background:color-mix(in srgb,var(--panel) 94%,var(--accent) 6%)}
.frontier-more{grid-template-columns:repeat(2,minmax(0,1fr))}.frontier-more .tile{padding:16px 20px}.frontier-more .tile span{font-size:13px}
.frontier-filters{display:flex;flex-wrap:wrap;gap:4px 24px;align-items:start}.frontier-filters>div{display:flex;align-items:center;gap:10px}.frontier-filters>div>span{flex:none;color:var(--dim);font-size:13px}
.frontier-filters .filters{margin:0}.frontier-news #count{margin:12px 0 8px}
@media(max-width:900px){.frontier-featured{grid-template-columns:repeat(2,minmax(0,1fr))}.frontier-filters{display:block}.frontier-filters>div{margin:8px 0}}
@media(max-width:600px){.frontier-report{align-items:flex-start;flex-direction:column}.frontier-featured,.frontier-more{grid-template-columns:minmax(0,1fr)}.frontier-section-head{display:block}.frontier-section-head p{margin-top:2px}}
/* 404 页 */
.nf{padding-top:24px}.nf-code{font-family:var(--serif);font-size:72px;line-height:1;color:var(--accent);opacity:.35;margin-top:24px}
.nf h1{margin-top:8px}
/* 产品页 · 临床试验流程地图 */
.pmap{display:grid;grid-template-columns:118px repeat(5,minmax(0,1fr));gap:8px 6px;margin:12px 0 10px;align-items:stretch}
.pm-stage{grid-row:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px 12px 24px;background:var(--deep);color:#fff;font-family:var(--serif);font-weight:700;font-size:15px;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,0 100%,14px 50%)}
.pm-stage:nth-child(2){clip-path:polygon(0 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,0 100%)}
.pm-stage i{font-style:normal;display:inline-flex;width:20px;height:20px;border-radius:50%;align-items:center;justify-content:center;background:var(--accent);font-family:inherit;font-size:12px}
.pm-lane{grid-column:1;display:flex;align-items:center;font-size:13px;color:var(--dim);font-weight:600}
.pm-bar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"ic nm st" "nt nt nt";gap:2px 8px;align-items:center;padding:10px 12px;border:1px solid var(--accent);border-left:4px solid var(--accent);border-radius:4px;background:var(--panel);color:var(--ink);text-decoration:none;transition:transform .2s,box-shadow .2s}
.pm-bar:hover{transform:translateY(-2px);box-shadow:0 8px 18px -12px rgba(17,33,42,.4)}
.pm-ic{grid-area:ic;color:var(--accent-ink)}.pm-bar b{grid-area:nm;font-size:15px}.pm-bar .stamp{grid-area:st;font-size:12px}
.pm-note{grid-area:nt;font-size:13px;color:var(--dim)}.pm-when{display:none}
.pm-bar.plan{border-style:dashed;border-color:var(--dim);border-left-style:solid}.pm-bar.plan .pm-ic{color:var(--dim)}
.pm-bar.pilot{border-color:var(--bad)}.pm-bar.pilot .pm-ic{color:var(--bad)}
.pm-base{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px;padding:12px 16px;border-radius:4px;background:var(--deep2);color:#DCE6E4;text-decoration:none}
.pm-base b{font-family:var(--serif);color:#fff;font-size:16px}.pm-base span{font-size:13px;opacity:.85}
@media(max-width:900px){
  .pmap{display:flex;flex-direction:column;gap:8px}
  .pm-stage,.pm-corner{display:none}
  .pm-lane:empty{display:none}.pm-lane{margin-top:8px}
  .pm-when{display:block;grid-column:1/-1;font-size:12px;color:var(--accent-ink)}
}
/* 产品页 · 规格表（文档式） */
table.pspec{width:100%;border-collapse:collapse;font-size:14.5px;margin-top:6px}
table.pspec thead th{font-weight:400;color:var(--dim);font-size:13px;text-align:left;border-bottom:1.5px solid var(--ink);padding:8px 10px}
table.pspec .ps-grp th{text-align:left;font-family:var(--serif);font-size:18px;padding:22px 10px 8px;border-bottom:1px solid var(--line);scroll-margin-top:72px}
table.pspec .ps-grp th span{font-family:-apple-system,"PingFang SC",sans-serif;font-weight:400;font-size:13px;color:var(--dim);margin-left:12px}
table.pspec td{padding:14px 10px;border-bottom:1px solid var(--line);vertical-align:top}
table.pspec td ul{margin:0;padding-left:16px}table.pspec td li{margin:2px 0}
.ps-row{scroll-margin-top:72px}.ps-row:target td{background:rgba(42,122,112,.10);transition:background .6s}
.ps-name{display:flex;gap:12px;align-items:flex-start;min-width:200px}.ps-name .pi{width:40px;height:40px;flex:none}.ps-name .pi svg{width:22px;height:22px}
.ps-name b{display:block;font-family:var(--serif);font-size:16px;margin-bottom:4px}.ps-name .stamp{font-size:12px}
.ps-row.plan td:not(:first-child){color:var(--dim)}
.ps-go a{display:block;font-weight:600;color:var(--accent-ink);text-decoration:none;white-space:nowrap;margin-bottom:4px}
@media(max-width:900px){
  table.pspec thead{display:none}table.pspec,table.pspec tbody,table.pspec tr,table.pspec td,table.pspec th{display:block;width:100%}
  table.pspec .ps-grp th{padding-top:18px}
  .ps-row{border:1px solid var(--line);border-radius:4px;background:var(--panel);margin:10px 0;padding:6px 4px}
  table.pspec td{border-bottom:0;padding:6px 12px}
  table.pspec td:not(:first-child)::before{content:attr(data-k);display:block;font-size:12px;color:var(--dim)}
  .ps-go a{display:inline-block;margin-right:14px}
}
/* Demo 首页：卡片顶部真实界面截图（与产品页的流程地图 / 规格表区分） */
.pc.dm{padding-top:0;overflow:hidden}
.dm-shot{margin:0 -22px 16px;height:200px;overflow:hidden;border-bottom:1px solid var(--line);background:var(--bg);position:relative}
.dm-shot img{display:block;width:100%;height:100%;object-fit:cover;object-position:top left;transition:transform .4s}
.pc.dm:hover .dm-shot img{transform:scale(1.03)}
.dm-shot::after{content:"";position:absolute;left:0;right:0;bottom:0;height:40px;background:linear-gradient(transparent,var(--panel))}
@media(max-width:600px){.dm-shot{height:170px}}
/* 首页：决策路径 01–06（是什么 → 看得见 → 靠得住 → 算得清 → 跟得上 → 怎么开始） */
.hs .lead{max-width:900px}
.hs-more{margin:16px 0 0}.hs-more a{margin-right:22px;font-weight:600;color:var(--accent-ink);text-decoration:none}.hs-more a:hover{text-decoration:underline}
.hs-shots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.hs-shot{display:block;background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:0 16px 14px;color:var(--ink);text-decoration:none;overflow:hidden;transition:border-color .2s,transform .2s}
.hs-shot:hover{border-color:var(--accent);transform:translateY(-3px)}
.hs-shot .dm-shot{display:block;margin:0 -16px 12px;height:150px}
.hs-shot b{display:block;font-family:var(--serif);font-size:16px;margin-bottom:4px}.hs-shot .note{display:block;margin:0}
.hs-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.hs-trust{margin:0;display:flex;flex-direction:column;border-top:3px solid var(--accent)}.hs-trust b{font-family:var(--serif);font-size:18px}
.hs-trust>a{margin-top:auto;padding-top:10px;font-weight:600;color:var(--accent-ink);text-decoration:none}
.hs-qa{margin:4px 0 6px;font-size:14px}.hs-qa .ld-q{margin:0 0 8px}
.hs-news{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:18px;align-items:start}
.hs-side{display:flex;flex-direction:column;gap:12px}.hs-side .card{margin:0}
.hs-start{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.hs-start li{position:relative;background:var(--bg);border:1px solid var(--line);border-radius:4px;padding:18px 20px;display:flex;flex-direction:column;gap:6px}
.hs-start li+li::before{content:"→";position:absolute;left:-21px;top:50%;transform:translateY(-50%);color:var(--accent-ink);font-weight:700}
.hs-start i{font-style:normal;display:inline-flex;width:26px;height:26px;border-radius:50%;align-items:center;justify-content:center;background:var(--accent);color:var(--on-accent);font-weight:700;font-size:13px}
.hs-start b{font-family:var(--serif);font-size:18px}.hs-start span{color:var(--dim);font-size:14px}
.hs-start a{margin-top:auto;font-weight:600;color:var(--accent-ink);text-decoration:none}
@media(max-width:1000px){.hs-shots{grid-template-columns:repeat(2,minmax(0,1fr))}.hs-3{grid-template-columns:minmax(0,1fr)}.hs-news{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){.hs-start{grid-template-columns:minmax(0,1fr);gap:22px}.hs-start li+li::before{content:"↓";left:50%;top:-19px;transform:translateX(-50%)}}
@media(max-width:560px){.hs-shots{grid-template-columns:minmax(0,1fr)}}
/* 产品详情页：场景 / 流程 / 人工把关 / 常见问题 / 相关问答 */
.pd-head{display:flex;gap:16px;align-items:center;margin-top:6px}.pd-head h1{margin:0}
.pd-ic{flex:none;width:52px;height:52px;border:1.5px solid var(--accent);border-radius:4px;color:var(--accent-ink);display:grid;place-items:center}.pd-ic svg{width:28px;height:28px}
.pd-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:6px 0 0;color:var(--dim);font-size:14px}
.pd-toc{margin:4px 0 26px}
.pd-facts{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:14px}.pd-facts>div{border-left:2px solid var(--accent);padding:2px 0 2px 14px}
.pd-facts em{font-style:normal;font-size:12px;color:var(--accent-ink);letter-spacing:.5px}.pd-facts p{margin:4px 0 0}
.pd-shot{margin:0;border:1px solid var(--line);border-radius:4px;overflow:hidden;background:var(--panel)}.pd-shot img{display:block;width:100%;height:auto}
.pd-shot figcaption{font-size:13px;color:var(--dim);padding:8px 14px;border-top:1px solid var(--line)}
.pd-scenes{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.pd-scenes .card{margin:0}
.pd-scenes i{display:block;font-style:normal;font-family:var(--serif);color:var(--accent-ink);font-size:20px}.pd-scenes b{display:block;margin:4px 0 6px}.pd-scenes p{margin:0;font-size:14.5px;color:var(--dim)}
.pd-flow{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px 0;counter-reset:f}
.pd-flow li{counter-increment:f;display:flex;align-items:center;font-size:14.5px}
.pd-flow li span{border:1px solid var(--line);background:var(--panel);border-radius:4px;padding:8px 12px}
.pd-flow li span::before{content:counter(f);display:inline-block;width:20px;height:20px;line-height:20px;text-align:center;border-radius:50%;background:var(--accent);color:var(--on-accent);font-size:12px;margin-right:8px}
.pd-flow li:not(:last-child)::after{content:"→";color:var(--dim);margin:0 8px}
.pd-gates{list-style:none;padding:0}.pd-gates li{position:relative;padding:8px 0 8px 30px;border-bottom:1px dashed var(--line)}
.pd-gates li::before{content:"";position:absolute;left:4px;top:12px;width:14px;height:14px;border:1.5px solid var(--bad);border-radius:2px}
.pd-gates li::after{content:"";position:absolute;left:9px;top:14px;width:4px;height:7px;border:solid var(--bad);border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}
.pd-faq details{background:var(--panel);border:1px solid var(--line);border-radius:4px;margin:8px 0;padding:0 16px}
.pd-faq summary{cursor:pointer;padding:12px 0;font-weight:600}.pd-faq details[open] summary{border-bottom:1px solid var(--line)}.pd-faq p{margin:10px 0 14px}
.pd-kb{padding-left:20px}.pd-kb li{margin:6px 0}
.pd-roles{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 4px}.pd-roles a{border:1px solid var(--line);border-radius:99px;padding:2px 12px;font-size:14px;text-decoration:none}.pd-roles a:hover{border-color:var(--accent)}
@media(max-width:600px){.pd-facts{grid-template-columns:minmax(0,1fr)}.pd-flow{flex-direction:column;align-items:flex-start}.pd-flow li:not(:last-child)::after{content:"↓";margin:2px 0 2px 14px;display:block}.pd-flow li{flex-direction:column;align-items:flex-start}.pd-ic{width:44px;height:44px}}
@media print{.pd-faq details{display:block}.pd-toc{display:none}}
.demo-book{display:flex;align-items:center;justify-content:space-between;gap:12px 20px;flex-wrap:wrap;margin:6px 0 18px;padding:12px 16px;border:1px solid var(--accent);border-left:4px solid var(--accent);border-radius:4px;background:rgba(42,122,112,.08);font-size:15px}
.demo-book b{margin-right:6px}
.demo-book button{flex:none}
