:root{--tcm-bg: #f5f1e8;--tcm-card: #fffdf8;--tcm-text: #2d2a26;--tcm-muted: #8a8378;--tcm-line: #e8e0d0;--tcm-sidebar: #1d3a32;--tcm-sidebar-hover: #274d42;--tcm-primary: #2f6b5e;--tcm-accent: #c0392b}html.tcm-dark{--tcm-bg: #181c1a;--tcm-card: #20272400;--tcm-text: #e8e4da;--tcm-muted: #8a8378;--tcm-line: #2c3530;--tcm-sidebar: #14241f}*{box-sizing:border-box}html,body,#app{margin:0;height:100%}body{background:var(--tcm-bg);color:var(--tcm-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,system-ui,sans-serif}.tcm-layout{display:flex;min-height:100vh}.tcm-sidebar{width:236px;background:var(--tcm-sidebar);color:#cfe0d8;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:20;transition:width .2s}.tcm-brand{padding:20px 22px;font-size:17px;font-weight:700;color:#fff;display:flex;align-items:center;gap:10px;border-bottom:1px solid rgba(255,255,255,.08);font-family:"Noto Serif SC",Songti SC,serif}.tcm-brand .seal{width:26px;height:26px;border-radius:7px;background:var(--tcm-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;flex:0 0 auto;box-shadow:0 0 0 3px #c0392b2e}.tcm-brand .txt small{display:block;font-size:11px;font-weight:400;color:#7d9b90;margin-top:2px}.tcm-nav{flex:1;padding:14px 0;overflow-y:auto}.tcm-nav a{display:flex;align-items:center;gap:12px;padding:12px 22px;color:#cfe0d8;text-decoration:none;border-left:3px solid transparent;transition:.15s;cursor:pointer}.tcm-nav a:hover{background:var(--tcm-sidebar-hover);color:#fff}.tcm-nav a.active{background:var(--tcm-sidebar-hover);color:#fff;border-left-color:var(--tcm-accent)}.tcm-nav .ico{width:18px;text-align:center;font-size:16px;flex:0 0 auto}.tcm-side-foot{padding:12px 14px;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:4px}.tcm-side-foot button{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;color:#a9c2b8;background:none;border:0;font:inherit;cursor:pointer;border-radius:8px;text-align:left}.tcm-side-foot button:hover{background:var(--tcm-sidebar-hover);color:#fff}.tcm-side-foot .ico{width:18px;text-align:center;flex:0 0 auto}.tcm-main{margin-left:236px;flex:1;display:flex;flex-direction:column;min-width:0}.tcm-topbar{background:var(--tcm-card);border-bottom:1px solid var(--tcm-line);padding:0 28px;height:60px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10}.tcm-topbar h1{margin:0;font-size:17px;font-weight:600;font-family:"Noto Serif SC",Songti SC,serif}.tcm-topbar .who{font-size:13px;color:var(--tcm-muted)}.tcm-content{padding:24px 28px;max-width:1320px;width:100%;margin:0 auto}.tcm-foot{text-align:center;padding:10px;font-size:12px;color:var(--tcm-muted)}.tcm-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap;line-height:1.6}.tcm-pill:before{content:"";width:6px;height:6px;border-radius:50%}.tcm-pill.green{background:#dcefe6;color:#1f6b58}.tcm-pill.green:before{background:#2f6b5e}.tcm-pill.red{background:#f8e3e0;color:#a82f22}.tcm-pill.red:before{background:#c0392b}.tcm-pill.amber{background:#f6ecd2;color:#8a6314}.tcm-pill.amber:before{background:#c9912b}.tcm-pill.muted{background:#ece7da;color:#8a8378}.tcm-pill.muted:before{background:#b3ab9b}.tcm-serif{font-family:"Noto Serif SC",Songti SC,serif}.tcm-infocard{position:relative;background:var(--tcm-card);border:1px solid var(--tcm-line);border-radius:10px;padding:14px 16px 14px 18px;overflow:hidden;height:100%;box-sizing:border-box}.tcm-infocard:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--tcm-primary)}.tcm-infocard.red:before{background:var(--tcm-accent)}.tcm-infocard.amber:before{background:#c9912b}.tcm-infocard.muted:before{background:#b3ab9b}.tcm-ic-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}.tcm-ic-head .ico{font-size:17px;line-height:1}.tcm-ic-title{font-family:"Noto Serif SC",Songti SC,serif;font-size:16px;font-weight:700;color:var(--tcm-text);flex:1;min-width:0}.tcm-ic-extra{margin-left:auto}.tcm-field{margin-bottom:9px;font-size:13px;line-height:1.65}.tcm-field:last-child{margin-bottom:0}.tcm-field .lbl{color:var(--tcm-muted);font-size:12px;font-weight:600;margin-bottom:1px;display:block}.tcm-field .val{color:var(--tcm-text);white-space:pre-wrap;word-break:break-word}.tcm-field.key .val{color:var(--tcm-primary);font-weight:600;font-size:14px}.tcm-danger{background:#f8e3e0;color:#a82f22;border-radius:8px;padding:8px 12px;font-size:13px;line-height:1.6;margin-top:8px}.tcm-danger .lbl{font-weight:700;margin-right:4px}.tcm-classic{font-family:"Noto Serif SC",Songti SC,serif;font-size:14px;line-height:1.9;color:var(--tcm-text);white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;text-align:justify}.tcm-srclist{display:flex;flex-direction:column;gap:8px}.tcm-src{position:relative;background:#2f6b5e0a;border:1px solid var(--tcm-line);border-left:3px solid var(--tcm-primary);border-radius:6px;padding:8px 10px 9px}.tcm-src.weak{border-left-color:#c9912b;background:#c9912b0d}.tcm-src-head{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:5px}.tcm-src-no{flex:0 0 auto;width:18px;height:18px;border-radius:50%;background:var(--tcm-primary);color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center}.tcm-src.weak .tcm-src-no{background:#c9912b}.tcm-src-from{font-size:12px;font-weight:600;color:var(--tcm-muted);word-break:break-all}.tcm-src-weak{font-size:11px;color:#8a6314;background:#f6ecd2;padding:1px 7px;border-radius:999px}.tcm-src-toggle{margin-left:auto;flex:0 0 auto}.tcm-points{list-style:none;padding:0;margin:4px 0 0}.tcm-points li{display:flex;gap:7px;align-items:flex-start;font-size:13px;line-height:1.6;margin-bottom:5px}.tcm-points li:before{content:"";flex:0 0 auto;margin-top:6px;width:6px;height:6px;border-radius:50%}.tcm-points.consensus li:before{background:#2f6b5e}.tcm-points.divergence li:before{background:#c9912b}@media (max-width: 768px){.tcm-sidebar{width:60px}.tcm-brand .txt,.tcm-nav a span:not(.ico),.tcm-side-foot button span:not(.ico){display:none}.tcm-brand{padding:18px 0;justify-content:center}.tcm-nav a{justify-content:center;padding:12px 0}.tcm-main{margin-left:60px}.tcm-content{padding:16px}}
