:root{--kraft-deep:#9c7f54;--kraft:#bfa276;--paper:#e9dcbe;--paper-edge:#d8c69e;--ink:#3a2f25;--ink-soft:#6d5c45;--wax:#8a3324;--thread:#5b4a36;--font-typewriter:"Special Elite", "Courier New", monospace;--font-serif-sc:"Songti SC", "STSong", "Noto Serif SC", Georgia, serif}*{box-sizing:border-box}html,body{height:100%;margin:0}body{color:var(--ink);font-family:var(--font-serif-sc), Georgia, serif;background-color:var(--kraft);background-image:radial-gradient(circle at 12% 20%,#463c1e2e,#0000 22%),radial-gradient(circle at 82% 12%,#3c503224,#0000 18%),radial-gradient(circle at 70% 84%,#50371e29,#0000 24%),radial-gradient(circle at 30% 92%,#323c281f,#0000 20%),radial-gradient(at 50% 0,#0000001a,#0000 60%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.06'/%3E%3C/svg%3E")}.app{grid-template-columns:260px 1fr minmax(300px,32%);height:100vh;display:grid;overflow:hidden}.rail-left,.rail-right{height:100vh;overflow-y:auto}.center{justify-content:center;align-items:flex-start;height:100vh;padding:32px 24px 96px;display:flex;overflow-y:auto}@media (max-width:1180px){.app{grid-template-columns:240px 1fr 300px}}@media (max-width:920px){.app{grid-template-columns:1fr}.rail-left,.rail-right{display:none}}.rail-left{border-right:1px solid var(--thread);background:var(--paper);padding:22px 16px}.brand{font-family:var(--font-typewriter);letter-spacing:1px}.brand h1{margin:0 0 2px;font-size:17px}.brand .sub{color:var(--ink-soft);letter-spacing:2px;text-transform:uppercase;font-size:11px}.rail-sep{border:0;border-top:2px double var(--thread);margin:16px 2px}.search-box{margin-top:14px}.search-box input{width:100%;font-family:var(--font-serif-sc), serif;background:var(--paper);border:1px solid var(--thread);color:var(--ink);padding:7px 10px;font-size:12px}.search-box input::placeholder{color:var(--ink-soft)}.search-hit{color:inherit;border-bottom:1px dashed var(--thread);padding:12px 2px;text-decoration:none;display:block}.search-hit:hover{background:#8a33240d}.search-hit .src{letter-spacing:1px;text-transform:uppercase;color:var(--ink-soft);font-size:10px}.search-hit .hit-title{color:var(--wax);margin:3px 0;font-size:15px;line-height:1.4}.search-hit .hit-one{color:var(--ink-soft);font-size:12px;line-height:1.5}.card{color:inherit;background:var(--paper);border:1px solid var(--paper-edge);box-shadow:0 1px 0 var(--thread), 2px 3px 6px #0000002e;margin-bottom:12px;padding:10px 12px;text-decoration:none;transition:transform 80ms;display:block;position:relative}.card:hover{transform:translateY(-1px)rotate(-.2deg)}.card.active{outline:1px solid var(--wax);outline-offset:2px}.card .rank{font-family:var(--font-typewriter);color:var(--wax);border:1px solid var(--wax);float:right;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;display:inline-flex}.card .src{letter-spacing:1px;text-transform:uppercase;color:var(--ink-soft);font-size:10px}.card .title{margin:4px 0 2px;font-size:13px;line-height:1.4}.card .one{color:var(--ink-soft);font-size:11px;line-height:1.4}.sheet{background:var(--paper);width:100%;max-width:768px;color:var(--ink);overflow-wrap:break-word;word-break:break-word;box-shadow:0 0 0 1px var(--wax),  0 0 0 6px var(--paper),  0 0 0 7px var(--wax),  6px 10px 24px #00000052;background-image:radial-gradient(circle at 90% 8%,#50371e1a,#0000 16%),radial-gradient(circle at 8% 96%,#3c462d1a,#0000 18%);padding:52px 60px 60px 74px;position:relative}.sheet:before{content:"";background-image:radial-gradient(circle,#0000008c 0 5px,#00000026 5px 7px,#0000 7px);background-repeat:repeat-y;background-size:16px 46px;width:16px;position:absolute;top:40px;bottom:40px;left:22px}.sheet .stamp{font-family:var(--font-typewriter);color:var(--wax);border:2px solid var(--wax);letter-spacing:2px;margin-bottom:18px;padding:2px 10px;font-size:12px;display:inline-block;transform:rotate(-4deg)}.sheet h1.headline{font-family:var(--font-typewriter);margin:6px 0 10px;font-size:26px;line-height:1.25}.sheet .meta{color:var(--ink-soft);border-bottom:1px dashed var(--thread);margin-bottom:20px;padding-bottom:12px;font-size:12px}.sheet .meta a{color:var(--wax);word-break:break-all}.section-label{font-family:var(--font-typewriter);letter-spacing:3px;text-transform:uppercase;color:var(--wax);border-bottom:2px double var(--thread);margin:26px 0 8px;padding-bottom:4px;font-size:13px}.prose{font-size:15px;line-height:1.85}.prose p{margin:0 0 12px}.prose strong{color:var(--ink)}.prose a{color:var(--wax);text-underline-offset:2px;word-break:break-all}.prose ul,.prose ol{margin:0 0 12px;padding-left:22px}.prose li{margin:4px 0}.prose code{font-family:var(--font-typewriter);background:#0000000f;border-radius:2px;padding:1px 5px;font-size:13px}.prose blockquote{border-left:3px solid var(--wax);color:var(--ink-soft);margin:12px 0;padding:2px 0 2px 14px;font-style:italic}.rationale{color:var(--ink-soft);border-top:1px dashed var(--thread);margin-top:24px;padding-top:10px;font-size:12px}.rail-right{border-left:1px solid var(--thread);background:var(--paper);flex-direction:column;padding:22px 18px;display:flex}.tele-head{font-family:var(--font-typewriter);letter-spacing:2px;text-transform:uppercase;color:var(--ink-soft);border-bottom:2px double var(--thread);margin-bottom:14px;padding-bottom:8px;font-size:13px}.tele-body{flex:1;font-size:13px;line-height:1.7;overflow-y:auto}.tele-stub{color:var(--ink-soft);font-style:italic}.tele-input{margin-top:12px}.tele-input input{width:100%;font-family:var(--font-serif-sc), serif;background:var(--paper);border:1px solid var(--thread);color:var(--ink);padding:10px 12px;font-size:13px}.tele-input input:disabled{opacity:.6}.msg{white-space:pre-wrap;border:1px solid var(--thread);margin:0 0 10px;padding:8px 11px;font-size:13px;line-height:1.65}.msg.user{border-color:var(--wax);background:#8a332417}.msg.user:before{content:"问 ";color:var(--wax);font-family:var(--font-typewriter)}.msg.assistant{background:#0000000b}.msg.assistant:before{content:"答 ";color:var(--ink-soft);font-family:var(--font-typewriter)}.empty{color:var(--ink-soft);text-align:center;margin-top:80px;font-style:italic}.anno-svg{position:absolute;top:0;left:0;overflow:visible}.sheet[data-tool=pen],.sheet[data-tool=box]{cursor:crosshair}.sheet[data-tool=note]{cursor:cell}.sheet[data-tool=erase]{cursor:not-allowed}.sheet[data-tool=highlight]{cursor:text}.anno-note{background:var(--paper);border:1.5px solid var(--wax);cursor:pointer;z-index:5;justify-content:center;align-items:center;width:22px;height:22px;font-size:13px;display:flex;position:absolute;transform:translate(-4px,-22px);box-shadow:1px 2px 3px #00000040}.anno-toolbar{z-index:50;background:var(--paper);border:1px solid var(--wax);box-shadow:0 0 0 4px var(--paper), 0 0 0 5px var(--wax), 3px 5px 14px #00000059;font-family:var(--font-typewriter);align-items:center;gap:6px;padding:7px 12px;font-size:13px;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}.anno-toolbar button,.anno-toolbar a{font-family:var(--font-typewriter);color:var(--ink);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:2px;padding:3px 8px;font-size:12px;text-decoration:none}.anno-toolbar button:hover,.anno-toolbar a:hover{border-color:var(--thread)}.anno-toolbar button.on{background:var(--wax);color:var(--paper)}.anno-toolbar .swatch{border:1px solid var(--thread);width:18px;height:18px;padding:0}.anno-toolbar .swatch.on{outline:2px solid var(--ink);outline-offset:1px}.anno-toolbar .tb-sep{background:var(--thread);align-self:stretch;width:1px;margin:2px 4px}@media print{.rail-left,.rail-right,.anno-toolbar{display:none!important}.app{height:auto;display:block;overflow:visible}.center{height:auto;padding:0;display:block;overflow:visible}.sheet{width:100%;box-shadow:none;padding:24px 32px}.sheet:before{display:none}body{background:#fff}}.demo-badge{z-index:100;background:var(--wax);color:var(--paper);font-family:var(--font-typewriter);letter-spacing:1px;border-radius:2px;padding:5px 14px;font-size:12px;text-decoration:none;position:fixed;top:10px;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #0000004d}.demo-badge:hover{filter:brightness(1.12)}.demo-badge{text-align:center;box-shadow:none;margin:0 0 12px;padding:6px 8px;font-size:11px;display:block;position:static;transform:none}
