:root{--bg: #faf7f2;--bg-card: #ffffff;--text: #2b2620;--text-dim: #6b6359;--accent: #8b5e3c;--accent-dark: #6e4527;--border: #e4dccf;--err: #c0392b;--err-bg: #fdf0ef;--ping: #c0392b;--zhe: #1d6f42;--any: #7d6b4f;--font-serif: "KaiTi", "STKaiti", "Kaiti SC", "Noto Serif SC", "Songti SC", serif;--font-sym: "CiSym", "KaiTi", "STKaiti", "Kaiti SC", "Noto Serif SC", "Songti SC", serif}@font-face{font-family:CiSym;font-weight:400;font-display:swap;src:url(data:font/woff2;base64,d09GMgABAAAAAAOIABAAAAAAB5AAAAMsAAIAxQAAAAAAAAAAAAAAAAAAAAAAAAAAGYFkBmA/U1RBVC4ARBEICoR8hFwBNgIkAwwLDAAEIAWCWgcgDAcXJBgMG1AGCB4HuUnzShQLMUAcPKUigObCZrO5KzCgbHUtK0B8JIu2OVzTSwltVXnErNJntrMs1DfKTrKwk1si1tpbNZ1NQpHMWVwfj5AIG6d2oiAaR3d0V0pXTTiM/kG1roLDtfFopEOdrm1kQ3xaZ9Qxyw7B6/ErBUFRiwFmi8n37b9/Dp1zAlOG6QUmI8H0QqwK0LkEqxg6l2JbhWkJkEhV19SLyIMoVVRpJc9idslW0TiAC2UHpcqLLZrDtqTT/m/C/E1NUeeKDRunsrpeI7ngbfnM3bWTgGCjWPw5nJQjOZxMBIa0mWG60dAWJGpHV5OCASOOtmC59ul6r+PKDOmOUB0IDPNff7qmhCAoKKAshKoiGxbwNgpIRCSScJLkBkgQUVZUbotpCRRUUELt0/We13udZYR7Vfo9/02Hb9pB7MlByDJFkAOFUQIvCCMASEFOlEiFNMYYy5YtWlaOK1l2XLJUfvGCwrx5yY0l5s9PLNjy8FEIdn6gzOFPhHZ9puDIZ0K7PlHm8AeCnR8X3x2+FXbdLnLkpp03ptzukX2gHzNat38UlxmuqyNn0jIG7MxkUhv+a/51omq3U1unve1CrRvdn7K14sjR2pap0Wd8ath3g7ceTp28TlYwqEy4gUyeuh7CmLkzXUc9dFkszh0ZNSoCMGgNnhg5X/1gdc/UZcvdWnvjxnafKXcRAOs1hbMutx3z2m2ZsnByzBgAQK8xYHrf0r3ZkpMTaaB7dwBAr0XM9KnbrMzRTwPWbmzYW1sRbecWa/IdfwcQkHh47/dveEax6/8FQ/wLfnlMbsAfb+S/dc3Es3ElkJeAQLrjyy/Ev3TNjv8InJQXnete160UIWeoeEpt3VXQfFEhLYSJgFmDwiZaE8XN7ozXnalac6bTLXmV/VwcgqL+0hClR9WoYSOmDBRE5eOqVtA0LYyqbjybTTdryBCv+AfhXjBbikYxpOcxawRnAopTDI5DhpkuMUwWgUad7xysNGxsg20j5vA0Nqov2VU1YjDmz1FgEqYzmcXwMVnyZF6H6b0GKn/lFnCv+VkUyNKa23QlZPsupseEktB/X3IfqyJO0AIAAA==) format("woff2")}@font-face{font-family:CiSym;font-weight:700;font-display:swap;src:url(data:font/woff2;base64,d09GMgABAAAAAAOYABAAAAAAB5AAAAM+AAIAxQAAAAAAAAAAAAAAAAAAAAAAAAAAGYFkBmA/U1RBVCoARBEICoR8hFwBNgIkAwwLDAAEIAWCYAcgDAcXJBgMG1IGEC4KYzdCEYVmzTZaBojWfZGLB2gt9m929g5R8SgWIVM1mmrlS2X///3cfTOtJHX5IrJKEwtp+6VwaNagmYREo+ECFXl1IaLpv0K0t/p71XTMrMY6VsCAfqOdTykaz8Qal9KpgUX4JlSqvwAlQAGOYMCi4LabID5UE41a+UhBUNRigNkC8n37z65C+ZyMLkLnAp0SoHMhJnNQvgSTMShfipkydAqBRKq6UtU8eRCliiotz4WYZSt/HM2GMqXKCyyaQ+Nk3Pw7Yfe6IsnXtRq1Il+xQ3WJ9F35LPHUTgKCjQLxS7IcyZ5kIjAkXx6maw5tQUIj2GtSGDBiYQIKax+p9yiSId0RqgOBJe9/g5pCgqCggLIQqvJtWMCaKCARIJRNzoMEEWX5BYaAllcVVFBC7SP17tV7lK0ND5s/sG87vG0H4S8OQrY0yIHCKIH7hBEApCAnSqRCGmOMZcsWLUseK1l2XLhUfvGC1Lx54Y0l5s8PLdhy+kEAO58j1ksgXyGz9wvIl4j1HLDzxf6dPbdh16Uiey/YeX5K35T4rFnUhp5Ty1jflNzY26KLFWDnZpHY8Ffz98Gq3Q5vnfaQzLRudG3KVs1KtDU7pEaf1qnZ0Q3OaHZ38qhnCaRxD53e9tTRLJmYO9ph5EnPAqZnz8iROXKy+EgE27ObvHnhwuOeEc01z9UUoi5bdkZy7sbcyJQdyjyBtAtKN23HXPUtk/oOjRmTIyNMG8NFT1u6N1uytCTUde/Oycmn9fOtnvddLB99PrF2bMycmMgxPz4BA77zdwAISNx48v/7fFCi6/8FQ/wNX2955+HnY/GPrpl4LK6E5CUgkO74+5X4W9ds/EeQ0Lfm5zrS1X8FIWeoIAjYtUJW8wtpIUwE4AsKm+hLFDR7PHaNp+DLmY735lX26BeCor4mym49X4lQpVCzRk061AXMqbcqNISkwFEKVWKZTKpuDRo4qVQ9bIIQTlBIGlSpjuCsyJAMU4hI6yg6A0chP8AhhmjUcsakJj1YChPRXWgr1KQ+V9tDghFQYSGN4qI2xtu3jrn+s+osozAsIoxuA4XDYJn8QHattcS50yHjVLpfKAn997fol820CTY=) format("woff2")}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,PingFang SC,Microsoft YaHei,Noto Sans SC,sans-serif;background:var(--bg);color:var(--text);line-height:1.6}.container{max-width:860px;margin:0 auto;padding:0 16px}.site-header{background:var(--bg-card);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.header-inner{display:flex;align-items:center;justify-content:space-between;height:52px}.site-logo{font-family:var(--font-serif);font-size:20px;font-weight:700;color:var(--accent-dark);text-decoration:none}.site-nav a{margin-left:18px;color:var(--text-dim);text-decoration:none;font-size:15px}.site-nav a.router-link-active{color:var(--accent-dark);font-weight:600}.site-nav a:hover{color:var(--accent)}main.container{min-height:calc(100vh - 160px);padding-top:22px;padding-bottom:40px}.site-footer{border-top:1px solid var(--border);color:var(--text-dim);font-size:13px;padding:16px 0 24px}.site-footer p{margin:0}.site-record{margin-top:8px!important;font-size:12px}.site-record a{color:var(--text-dim);text-decoration:none;border-bottom:1px dotted var(--border)}.site-record a:hover{color:var(--accent-dark, var(--text))}.site-record .sep{margin:0 6px;opacity:.6}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:18px;margin-bottom:16px}textarea,input[type=text]{width:100%;border:1px solid var(--border);border-radius:8px;padding:10px 12px;font-size:16px;font-family:var(--font-serif);background:#fffdf9;color:var(--text)}textarea{min-height:180px;resize:vertical}textarea:focus,input:focus{outline:2px solid var(--accent);outline-offset:-1px}button.btn{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:10px 22px;font-size:16px;cursor:pointer}button.btn:hover{background:var(--accent-dark)}button.btn.secondary{background:var(--text-dim)}button.btn:disabled{opacity:.5;cursor:not-allowed}.opt-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin:10px 0;font-size:14px;color:var(--text-dim)}.opt-row label{display:inline-flex;align-items:center;gap:5px;cursor:pointer}.legend{display:flex;flex-wrap:wrap;gap:12px;font-size:13px;color:var(--text-dim);margin:8px 0}.legend span{display:inline-flex;align-items:center;gap:3px}.sym-ping{color:var(--zhe);font-weight:700;font-family:var(--font-sym)}.sym-zhe{color:var(--ping);font-weight:700;font-family:var(--font-sym)}.sym-any{color:var(--any);font-weight:700;font-family:var(--font-sym)}.msg-err{background:var(--err-bg);color:var(--err);border:1px solid #eec7c0;border-radius:8px;padding:10px 14px;margin:10px 0;font-size:14px}.rule-sym{font-family:var(--font-sym);letter-spacing:1px}.ch{font-family:var(--font-serif);font-size:17px}.ch.err{color:var(--err);font-weight:700;text-decoration:underline;text-underline-offset:3px}.update-bar{background:#fbf6ef;border-bottom:1px solid var(--border)}.update-bar .container{display:flex;align-items:center;gap:10px;padding:8px 16px;font-size:13.5px;color:var(--accent-dark);flex-wrap:wrap}.update-bar a{color:var(--accent-dark);font-weight:600}.update-bar .update-close{margin-left:auto;border:none;background:none;font-size:18px;line-height:1;cursor:pointer;color:var(--text-dim)}h1.page-title{font-family:var(--font-serif);font-size:22px;margin:4px 0 6px}.sub{color:var(--text-dim);font-size:14px}
