/* 站酷快乐体 ZCOOL KuaiLe（SIL Open Font License 1.1），只含界面用到的字，按批拆成多个文件，浏览器只下载页面上实际出现的字所在的那几批 */
@font-face{font-family:'NwKuaile';src:url('/web/fonts/kuaile-00.v1.woff2') format('woff2');font-display:swap;unicode-range:U+20-21,U+23,U+25-26,U+28-3b,U+3d,U+3f-5b,U+5d,U+61-7a,U+7e,U+b7,U+d7,U+2014,U+2026,U+3001-3002,U+300a-300d,U+3010-3011,U+4e00,U+4e09-4e0b,U+4e0d-4e0e,U+4e13-4e14,U+4e18,U+4e24,U+4e2a,U+4e2d,U+4e3a-4e3b,U+4e45,U+4e48-4e49,U+4e4b,U+4e50,U+4e5f,U+4e66,U+4e70,U+4e86,U+4e8b-4e8c;}
@font-face{font-family:'NwKuaile';src:url('/web/fonts/kuaile-01.v1.woff2') format('woff2');font-display:swap;unicode-range:U+4e92,U+4e94,U+4e9a-4e9b,U+4ea1,U+4ea4,U+4eac,U+4eae,U+4eba,U+4ec0,U+4eca,U+4ecd-4ece,U+4ed3,U+4ed8-4ed9,U+4ee3-4ee5,U+4eec,U+4ef6-4ef7,U+4efb,U+4efd,U+4f0f,U+4f19-4f1a,U+4f20,U+4f30,U+4f34,U+4f38,U+4f46,U+4f4d,U+4f4f,U+4f53,U+4f55,U+4f5b-4f5c,U+4f60,U+4f73,U+4f7f,U+4f8b,U+4f9d,U+4fa0,U+4fa7,U+4fbf,U+4fdd,U+4fe1,U+500d,U+5012,U+5019,U+503c,U+505a,U+505c,U+50cf,U+513f,U+5143,U+5148-5149,U+514d,U+5154,U+5165,U+5168,U+516b-516d,U+5170-5171,U+5173,U+5176-5178,U+5185,U+518c-518d,U+5199,U+519b,U+51a0,U+51ac,U+51b2-51b3,U+51c6,U+51e0,U+51f8-51fb,U+51fd,U+5206-5207,U+5212,U+5217,U+5219-521b,U+5220,U+5224,U+5229,U+522b,U+5230,U+5236-5237,U+523b,U+524d,U+529b,U+529f-52a1,U+52a8-52a9,U+52b1,U+52cb,U+5305,U+5317,U+5339-533b,U+5341,U+534a,U+5355;}
@font-face{font-family:'NwKuaile';src:url('/web/fonts/kuaile-02.v1.woff2') format('woff2');font-display:swap;unicode-range:U+5360-5361,U+5373,U+5378,U+5385,U+538b,U+539f,U+53bb,U+53c2,U+53ca-53cc,U+53d1,U+53d6,U+53d8,U+53e3-53e4,U+53e6,U+53ea-53eb,U+53ed,U+53ef-53f0,U+53f3,U+53f6-53f7,U+5404,U+5408,U+540c-540e,U+5411,U+5417,U+5426-5427,U+542b-542c,U+542f,U+544a,U+5458,U+5468,U+5473,U+547d,U+548c,U+5496,U+54cd,U+54ea,U+5546,U+5561,U+5587,U+559c,U+5668,U+56db,U+56de,U+56e0,U+56e2,U+56f1,U+56f4,U+56fa,U+56fd-56fe,U+5706,U+5708,U+571f,U+5728,U+5730,U+573a,U+574f-5750,U+5757,U+5761,U+578b,U+57ce,U+57df,U+5806,U+5854,U+586b,U+5899,U+589e,U+58c1,U+58f0,U+5904,U+5907,U+590d,U+5916,U+591a,U+591c,U+5927,U+5929-592a,U+5931,U+5934,U+5939-593a,U+5954,U+5956-5957,U+5965,U+5973,U+5976,U+597d,U+5982,U+59cb,U+5a01,U+5b50,U+5b57-5b59,U+5b5f,U+5b63,U+5b83,U+5b85,U+5b8c,U+5b9a,U+5b9d-5b9e,U+5ba2,U+5bb6,U+5bb9,U+5bbd;}
@font-face{font-family:'NwKuaile';src:url('/web/fonts/kuaile-03.v1.woff2') format('woff2');font-display:swap;unicode-range:U+5bc6,U+5bd3,U+5bf9,U+5c01,U+5c04,U+5c06,U+5c0f,U+5c11,U+5c14,U+5c16,U+5c31,U+5c3c,U+5c40,U+5c42,U+5c45,U+5c4b,U+5c4f,U+5c55,U+5c5e,U+5c71,U+5de6,U+5dee,U+5df1-5df2,U+5df4,U+5e01-5e03,U+5e26-5e27,U+5e2e,U+5e38,U+5e45,U+5e55,U+5e73,U+5e76,U+5e7b,U+5e8f,U+5e93-5e95,U+5e97,U+5ea6-5ea7,U+5ef6,U+5efa,U+5f00,U+5f0f,U+5f20,U+5f27,U+5f39,U+5f53,U+5f55,U+5f62,U+5f69,U+5f71,U+5f80,U+5f84-5f85,U+5f8b,U+5f97,U+5faa,U+5fbd,U+5fc3,U+5feb,U+5ffd,U+6001,U+6027,U+603b,U+6062,U+606d,U+606f,U+60ac,U+60f3,U+610f,U+620f-6211,U+6216,U+6218,U+622a,U+6237,U+623f-6241,U+624b,U+624d,U+6253-6254,U+6267,U+626b,U+627e-627f,U+628a,U+62a4-62a5,U+62ac,U+62c6,U+62c9,U+62d2,U+62d6,U+62db,U+62e5,U+62e9,U+62ec,U+62f1,U+62fc,U+62ff,U+6301-6302,U+6307,U+6309,U+6311,U+6321,U+632a,U+6362,U+636e,U+6389,U+638c,U+6392;}
@font-face{font-family:'NwKuaile';src:url('/web/fonts/kuaile-04.v1.woff2') format('woff2');font-display:swap;unicode-range:U+63a5,U+63a7-63a8,U+63cf-63d0,U+63d2,U+641c,U+6446,U+6454,U+64ad,U+64cd,U+652f,U+6536,U+6539,U+653e-653f,U+6548,U+6563,U+6566,U+6570,U+6574,U+6587,U+659c,U+65ad,U+65af-65b0,U+65b9,U+65c1,U+65cb,U+65e0,U+65e5,U+65e7,U+65f6,U+660e,U+6620,U+6628,U+662f,U+663e,U+6643,U+666e-666f,U+6682,U+6696-6697,U+66b4,U+66f2,U+66ff-6700,U+6708-6709,U+670d,U+6717,U+671d,U+671f,U+6728,U+672a,U+672c,U+672f,U+673a,U+674f-6750,U+675f,U+6761,U+6765,U+677e-677f,U+6784,U+6795,U+679a,U+679c,U+67b6,U+67d0,U+67d3-67d4,U+67f1,U+6807,U+680b,U+680f,U+6811,U+6821,U+6837-6839,U+683c,U+6842,U+6846,U+6863,U+6881,U+68a6,U+68af,U+68c2,U+68d5,U+68da,U+68f5,U+697c,U+699c,U+6a21,U+6a2a,U+6a59,U+6a71,U+6a90,U+6b21-6b22,U+6b3e,U+6b62-6b65,U+6b7b,U+6b8a-6b8b,U+6bb5,U+6bbf,U+6bcd,U+6bcf,U+6bd4,U+6c34,U+6c42,U+6c99,U+6ca1;}
@font-face{font-family:'NwKuaile';src:url('/web/fonts/kuaile-05.v1.woff2') format('woff2');font-display:swap;unicode-range:U+6ca5,U+6cb3,U+6cb9,U+6cbf,U+6cd5,U+6ce2,U+6ce8,U+6d1e,U+6d3b,U+6d41,U+6d45,U+6d4f,U+6d6e,U+6d77,U+6d88,U+6df1,U+6dfb,U+6e05,U+6e10,U+6e20,U+6e32,U+6e38,U+6e90,U+6ed1,U+6ee1,U+6ee8,U+6ef4,U+706f-7070,U+70b9,U+70d8,U+70df,U+7119,U+7126,U+712f,U+7136,U+714c,U+7167,U+7247-7248,U+724c,U+7279,U+72b6,U+72d7,U+732a-732b,U+7387,U+73a9,U+73af-73b0,U+73bb,U+7403,U+7406,U+7483,U+751f,U+7528,U+7531,U+7533,U+7535,U+753b,U+754c,U+7559,U+755c,U+7565,U+75ae,U+767b,U+767d-767e,U+7684,U+76ae,U+76d2,U+76d4,U+76d6,U+76d8,U+76ee,U+76f4,U+770b,U+771f,U+7740,U+77ac,U+77e5,U+77ed-77ee,U+77f3,U+77ff,U+7801,U+7816,U+786e,U+78b0,U+78c1,U+793a,U+793c,U+7956,U+795e,U+79bb,U+79c1,U+79cd,U+79d2,U+79d8,U+79ef,U+79fb,U+7a0b,U+7a0d,U+7a3f,U+7a7a,U+7a7f,U+7a81,U+7a84,U+7a97,U+7acb,U+7ad6,U+7ad9,U+7ade,U+7ae0,U+7aef,U+7b11,U+7b26,U+7b2c,U+7b3c,U+7b49;}
@font-face{font-family:'NwKuaile';src:url('/web/fonts/kuaile-06.v1.woff2') format('woff2');font-display:swap;unicode-range:U+7b4b,U+7b52,U+7b5b,U+7b7e,U+7b97,U+7ba1,U+7bad,U+7bb1,U+7bf7,U+7c73,U+7c7b,U+7c89,U+7c97,U+7cbe,U+7cca,U+7cfb,U+7d20,U+7d22,U+7d2b,U+7d2f,U+7ea2,U+7eaa,U+7eaf,U+7eb9,U+7ebf,U+7ec6,U+7ecf,U+7ed1,U+7ed3,U+7ed9,U+7edc-7edd,U+7edf,U+7ee7,U+7ee9-7eea,U+7eed,U+7ef8,U+7eff-7f00,U+7f13,U+7f16,U+7f18,U+7f1d,U+7f29,U+7f51,U+7f69,U+7f6e,U+7f8e,U+7fa4,U+7ffc,U+8001,U+8003,U+8005,U+800c,U+8036,U+804a,U+8054,U+80a1,U+80cc,U+80dc,U+80fd,U+810a,U+8111,U+811a,U+81ea,U+81f3-81f4,U+821e,U+8239,U+8272,U+8282,U+82b1,U+82f1,U+82f9,U+8303,U+8349,U+8377,U+838e,U+83b7,U+83dc,U+843d,U+84dd,U+8549,U+85cf,U+864e,U+8679,U+86d9,U+8759,U+884c,U+8857,U+8865,U+8868,U+88ab,U+88c1,U+88c5,U+897f,U+8981,U+89c1,U+89c4,U+89c6,U+89c8,U+89d2,U+89e3,U+89e6,U+8ba1,U+8ba4,U+8ba9,U+8bb0,U+8bbe-8bbf,U+8bc9,U+8bd5,U+8bdd,U+8be2,U+8bef,U+8bf4,U+8bf7,U+8bfb,U+8c03;}
@font-face{font-family:'NwKuaile';src:url('/web/fonts/kuaile-07.v1.woff2') format('woff2');font-display:swap;unicode-range:U+8c37,U+8c6a,U+8d1f,U+8d23,U+8d25-8d26,U+8d28,U+8d34,U+8d39,U+8d44,U+8d4b,U+8d56,U+8d5b,U+8d70,U+8d77,U+8d85,U+8d8a,U+8d9f,U+8dc3,U+8dd1,U+8ddd,U+8ddf,U+8de8,U+8def,U+8df3,U+8eab,U+8f66,U+8f6c,U+8f6e,U+8f7b,U+8f7d,U+8f89,U+8f91,U+8f93,U+8fb9,U+8fc7,U+8fce,U+8fd0-8fd1,U+8fd4,U+8fd8-8fd9,U+8fdb-8fdc,U+8fde-8fdf,U+8ff9,U+8ffd,U+9000-9001,U+9009,U+900f-9010,U+9012,U+901a,U+901f,U+903b,U+9053,U+9057,U+906e,U+907f-9080,U+90a3,U+90ae,U+90e8,U+90fd,U+914d,U+9152,U+9177,U+91cc-91cf,U+91d1,U+949f,U+94a2,U+94ae,U+94b1,U+94c1,U+94f6,U+94fa,U+94fe,U+9501,U+9519,U+952e,U+9547,U+955c,U+957f,U+95e8,U+95ea,U+95ed-95ee,U+95f2,U+95f4,U+9632-9633,U+9636,U+9645,U+964d,U+9650,U+9662,U+9664,U+968f-9690,U+9699,U+96a7,U+96c4,U+96e8,U+96ea,U+96f6,U+9700,U+9713,U+9732,U+9752,U+9759,U+9760,U+9762,U+978b,U+97f3,U+9875;}
@font-face{font-family:'NwKuaile';src:url('/web/fonts/kuaile-08.v1.woff2') format('woff2');font-display:swap;unicode-range:U+9876,U+9879-987a,U+9884,U+9886,U+9898,U+989c-989d,U+98ce,U+98d8,U+9970,U+9986,U+9996,U+9999,U+9a6c,U+9ad8,U+9c7c,U+9ccd,U+9cde,U+9e3d,U+9ec4,U+9ed1,U+9ed8,U+9f50,U+9f7f,U+9f9b,U+9fa5,U+ff01,U+ff08-ff09,U+ff0c,U+ff1a-ff1b,U+ff1f;}
/* ===== 界面主题「漫画手绘」 theme.v2.css（用户 2026-10-17 在风格样张页选了 A）=====
   跟首页那张手绘画一个路数：粗墨线（#1d2233）、平涂、网点，边框圆角故意不对称像手画的，标题 / 按钮 / 页签用站酷快乐体（NwKuaile，只含界面用到的字）。
   聊天内容、名字、输入框仍是系统字体（玩家打的字不一定在字体子集里）。只改外观，不改布局和逻辑；各弹窗样式是运行时插的 <style>，这里一律 "html body ..." 覆盖。
   v3（2026-10-17 用户：「双人对战的界面你恢复成之前的」）：mp-* 只套在 .mp-modal:first-child 上。签到 / 设置 / 账号 / 邀请的 .mp-root 里只有弹窗一个孩子；
   双人对战（multiplayer）的 .mp-root 里弹窗排在 .mp-entry / .mp-board / .mp-labels 后面，不是 first-child，所以对战界面回到它自己原来的样式。 */
:root{--ink:#1d2233;--paper:#fffdf4;--sun:#ffd23f;--sun2:#ffb21f;--tomato:#ff7a59;--sky:#9ee0ff;--cream:#fff4c2;--kl:'NwKuaile','ZCOOL KuaiLe','PingFang SC','Microsoft YaHei',sans-serif;}

/* ---- 遮罩：墨色压暗 + 一层网点 ---- */
html body .mp-modal:first-child,html body .nf-root,html body .nm-root{background:radial-gradient(rgba(29,34,51,.28) 1.2px,transparent 1.8px) 0 0/9px 9px,rgba(29,34,51,.5)!important}

/* ---- 卡片：纸色 + 粗墨线 + 不对称圆角 + 墨色硬投影 ---- */
html body .mp-modal:first-child .mp-card,html body .nf-card,html body .nm-card{background:var(--paper)!important;border:4px solid var(--ink)!important;border-radius:22px 30px 18px 32px/30px 18px 28px 20px!important;box-shadow:6px 7px 0 var(--ink)!important;color:var(--ink)!important}

/* ---- 标题栏：黄底网点 + 底下一道粗墨线（不再是渐变横幅） ---- */
html body .nf-hd,html body .nm-hd{background:var(--sun) radial-gradient(var(--sun2) 1.2px,transparent 1.8px) 0 0/7px 7px!important;border-bottom:4px solid var(--ink)!important;box-shadow:none!important}
html body .nf-hd b,html body .nm-hd b,html body .nm-hd2 b{font-family:var(--kl)!important;font-weight:400!important;font-size:28px!important;color:#fff!important;-webkit-text-stroke:2px var(--ink)!important;paint-order:stroke fill;text-shadow:3px 3px 0 var(--ink)!important;letter-spacing:3px!important}
/* 只有一个 h2 的卡片（签到 / 设置 / 账号）：黄字粗描边，下面一道手画波浪线 */
html body .mp-modal:first-child .mp-card h2{font-family:var(--kl)!important;font-weight:400!important;font-size:30px!important;color:var(--sun)!important;-webkit-text-stroke:2px var(--ink)!important;paint-order:stroke fill;text-shadow:3px 3px 0 var(--ink)!important;letter-spacing:3px;padding-bottom:10px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='8' viewBox='0 0 40 8'%3E%3Cpath d='M0 4 Q5 0 10 4 T20 4 T30 4 T40 4' fill='none' stroke='%231d2233' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E") repeat-x left bottom/40px 8px}
html body .mp-modal:first-child .mp-sub{color:#5a5f72!important}

/* ---- 关闭 / 圆形图标钮：番茄红、粗墨线、歪一点 ---- */
html body .nf-ic,html body .nm-x{background:var(--tomato)!important;color:#fff!important;border:3px solid var(--ink)!important;border-radius:50% 45% 52% 48%!important;box-shadow:2px 3px 0 var(--ink)!important;transform:rotate(6deg);font-family:var(--kl)!important}
html body .nf-ic.sm{background:#fff!important;color:var(--ink)!important;transform:none}
html body .nf-ic.ghost{visibility:hidden}

/* ---- 页签 / 选项片 ---- */
html body .nf-tab,html body .nm-tab,html body .st-chip,html body .fs-tab{background:#fff!important;color:var(--ink)!important;border-color:var(--ink)!important;box-shadow:2px 3px 0 var(--ink)!important;font-family:var(--kl)!important;font-weight:400!important}
html body .nf-tab.on,html body .nm-tab.on,html body .st-chip.on,html body .fs-tab.on{background:var(--sun)!important;color:var(--ink)!important}
html body .nm-tabs{background:#fff!important;border-color:var(--ink)!important;box-shadow:2px 3px 0 var(--ink)!important}
html body .nm-tabs .nm-tab{box-shadow:none!important}

/* ---- 按钮：黄色主按钮 / 天蓝次按钮，粗墨线 + 不对称圆角 + 硬投影 ---- */
html body .mp-modal:first-child .mp-btn{font-family:var(--kl)!important;font-weight:400!important;font-size:19px!important;letter-spacing:1px;border:3px solid var(--ink)!important;border-radius:16px 22px 14px 20px!important;background:var(--sky)!important;color:var(--ink)!important;text-shadow:none!important;box-shadow:3px 4px 0 var(--ink)!important}
html body .mp-modal:first-child .mp-btn.mp-primary,html body .nf-btn:not(.w),html body .nm-btn:not(.g){background:var(--sun)!important;color:var(--ink)!important;border:3px solid var(--ink)!important;text-shadow:none!important;box-shadow:3px 4px 0 var(--ink)!important;font-family:var(--kl)!important;font-weight:400!important}
html body .nf-btn.w,html body .nm-btn.g{background:#fff!important;color:var(--ink)!important;border:3px solid var(--ink)!important;box-shadow:2px 3px 0 var(--ink)!important;font-family:var(--kl)!important;font-weight:400!important}
html body .mp-modal:first-child .mp-btn.mp-ghost{background:transparent!important;box-shadow:none!important;border-color:transparent!important;color:#5a5f72!important;font-size:16px!important}
html body .mp-modal:first-child .mp-btn:active,html body .nf-btn:active,html body .nm-btn:active{transform:translate(2px,3px);box-shadow:1px 1px 0 var(--ink)!important}

/* ---- 列表卡片：白底墨线，奇偶行轻微歪 ---- */
html body .nf-row,html body .nm-mail,html body .nm-fr{background:#fff!important;border:3px solid var(--ink)!important;border-radius:12px 16px 11px 15px!important;box-shadow:3px 3px 0 var(--ink)!important}
html body .nf-row:nth-child(odd),html body .nm-mail:nth-child(odd){transform:rotate(-.4deg)}
html body .nf-row:nth-child(even),html body .nm-mail:nth-child(even){transform:rotate(.4deg)}
html body .nm-mail.unread{background:var(--cream)!important}
html body .nm-ico{background:var(--sun)!important;border-color:var(--ink)!important;box-shadow:2px 2px 0 var(--ink)!important}
html body .nm-ico.n{background:var(--sky)!important}
html body .nf-body,html body .nm-body{background:transparent!important}
html body .nf-empty,html body .nm-empty{color:#5a5f72!important;font-family:var(--kl)!important;font-weight:400!important;font-size:18px!important}
html body .nf-nm,html body .nm-t{color:var(--ink)!important}
html body .nf-sub,html body .nm-s{color:#6a6f82!important}
html body .nf-dot,html body .nm-dot{background:var(--tomato)!important;border:2px solid var(--ink)!important}

/* ---- 聊天：漫画对话框（带尾巴），我说的天蓝、对方白 ---- */
html body .nf-chat{gap:16px}
html body .nf-m{position:relative;border:2.5px solid var(--ink)!important;border-radius:16px!important;box-shadow:none!important;overflow:visible!important}
html body .nf-m.he{background:#fff!important;color:var(--ink)!important}
html body .nf-m.me{background:var(--sky)!important;color:var(--ink)!important}
html body .nf-m.he:after,html body .nf-m.me:after{content:"";position:absolute;bottom:-9px;width:11px;height:11px;background:inherit;border-right:2.5px solid var(--ink);border-bottom:2.5px solid var(--ink)}
html body .nf-m.he:after{left:14px;transform:skewX(30deg) rotate(45deg)}
html body .nf-m.me:after{right:14px;transform:skewX(-30deg) rotate(45deg)}
html body .nf-m.inv:after,html body .nf-m.bad:after{display:none}
html body .nf-time{color:#6a6f82!important}
html body .nf-ft{background:#fff8dc!important;border-top:4px solid var(--ink)!important}
html body .nf-in,html body .mp-modal:first-child .mp-card input{background:#fff!important;border:3px solid var(--ink)!important;border-radius:12px!important;color:var(--ink)!important}

/* ---- 签到：格子像便利贴，今天黄底网点 ---- */
html body .ci-day{background:#fff!important;border:2.5px solid var(--ink)!important;border-radius:10px 14px 9px 13px!important;box-shadow:2px 2px 0 var(--ink)!important;color:#3a3f52!important}
html body .ci-day:nth-child(odd){transform:rotate(-1.4deg)}
html body .ci-day:nth-child(even){transform:rotate(1.1deg)}
html body .ci-day b{font-family:var(--kl)!important;font-weight:400!important;font-size:14px!important;color:var(--ink)!important}
html body .ci-big{background:var(--cream)!important}
html body .ci-today{background:var(--sun) radial-gradient(var(--sun2) 1.1px,transparent 1.7px) 0 0/6px 6px!important;box-shadow:3px 3px 0 var(--ink)!important;animation:none!important}
html body .ci-claimed{opacity:.5}
html body .ci-check{color:#2f9e44!important;font-family:var(--kl)!important}
html body .ci-got{color:#2f9e44!important;font-family:var(--kl)!important;font-weight:400!important;font-size:18px}

/* ---- 设置 ---- */
html body .st-top{color:var(--ink)!important;font-family:var(--kl)!important;font-weight:400!important;font-size:18px!important}
html body .st-top span{color:#d9480f!important}
html body .st-tip{color:#6a6f82!important}
html body .st-sub{border-left:3px dashed var(--ink)!important}
html body .st-mute{background:#fff!important;border:2.5px solid var(--ink)!important;color:var(--ink)!important;box-shadow:2px 2px 0 var(--ink);font-family:var(--kl)!important;font-weight:400!important}
html body .st-mute.on{background:var(--ink)!important;color:var(--sun)!important}
html body .st-fold{background:#fff!important;border:2px solid var(--ink)!important;color:var(--ink)!important;font-family:var(--kl)!important;font-weight:400!important}
html body .st-line input[type=range]{accent-color:var(--tomato)}
