:root{--paper: #F7F5F0;--field: #FFFDF9;--ink: #14181B;--body: #4A463E;--quote-ink: #2B2820;--muted: #6E6A60;--faint: #9A9589;--line: #CFC9BC;--line-2: #E2DDD2;--meter-bg: #E7E2D8;--teal: #0C6B5E;--teal-dark: #095349;--red: #A8452A;--red-line: #C89C8A}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,system-ui,sans-serif;font-size:15px;line-height:1.8;-webkit-font-smoothing:antialiased}.mono{font-family:SF Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums}.song{font-family:Songti SC,STSong,Georgia,serif}a{color:var(--teal);text-decoration:none;border-bottom:1px solid #0C6B5E44}a:hover{color:var(--teal-dark);border-bottom-color:var(--teal-dark)}::selection{background:#0c6b5e22}:focus-visible{outline:2px solid var(--teal);outline-offset:2px;border-radius:2px}input:focus,input:focus-visible,textarea:focus,textarea:focus-visible{outline:none}[role=region]:focus{outline:none}[role=region]:focus-visible{outline:2px solid #0C6B5E33;outline-offset:6px}textarea,input,button{font:inherit;color:inherit}textarea,input{background:none;border:none;outline:none;resize:none}textarea::placeholder,input::placeholder{color:var(--faint)}button{background:none;border:none;padding:0;cursor:pointer}.page{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:0 clamp(16px,4vw,40px) 96px}.bar{width:100%;max-width:900px;display:flex;align-items:center;gap:14px;row-gap:6px;padding:16px 0;font-size:13px;color:var(--muted);border-bottom:1px solid var(--ink);flex-wrap:wrap}.bar .name{color:var(--ink);letter-spacing:.04em}.bar .links{margin-left:auto;display:flex;gap:16px}.col{width:100%;max-width:900px;display:flex;flex-direction:column;gap:28px;padding:clamp(30px,6vh,58px) 0 0}.hero{display:flex;flex-direction:column;gap:16px}.kicker{font-size:11px;letter-spacing:.22em;color:var(--teal)}.headline{margin:0;font-family:Songti SC,STSong,Georgia,serif;font-weight:400;font-size:clamp(28px,4.4vw,44px);line-height:1.34;letter-spacing:-.01em;max-width:23em;text-wrap:pretty}.sub{margin:0;font-size:15px;line-height:2;color:var(--body);max-width:38em}.tabs{display:flex;align-items:center;gap:18px;border-bottom:1px solid var(--ink)}.tab{font-size:15px;color:var(--muted);border-bottom:2px solid transparent;padding:9px 2px 11px;margin-bottom:-1px}.tab.on{color:var(--ink);border-bottom-color:var(--teal)}.tabs .hint{margin-left:auto;font-size:11px;color:var(--muted);letter-spacing:.1em}.panel{display:flex;flex-direction:column;gap:20px}.panel-jd{gap:18px}.field{display:flex;align-items:center;gap:8px;border:1px solid var(--ink);background:var(--field);padding:5px 5px 5px 16px;transition:border-color .16s,box-shadow .16s}.field:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px #0c6b5e24}.field input{flex:1;min-width:60px;font-size:16px;padding:11px 0}.char-count{font-size:11px;color:var(--muted);flex:none}.jd-error{color:var(--red)}.clear{font-size:15px;line-height:1;color:var(--muted);padding:0 6px;width:34px;height:34px;border-radius:999px;transition:background .15s,color .15s}.clear:hover{background:#eeeae1;color:var(--ink)}.go{font-size:14px;font-weight:700;color:var(--paper);background:var(--ink);padding:12px 22px;min-height:44px;transition:transform .12s,opacity .15s}.go:hover:enabled{opacity:.88}.go:active:enabled{transform:translateY(1px)}.go:disabled{background:var(--line-2);color:var(--faint);cursor:not-allowed}.panel-jd .go{padding:11px 20px}.chips{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.cap{font-size:12px;color:var(--muted);margin-right:2px}.cap.gap{margin-left:10px}.chip{font-size:13px;color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:7px 15px}.chip.oos{color:var(--red);border:1px dashed var(--red-line)}.chip.ghost{color:var(--muted);border-color:var(--line-2);padding:6px 14px}.scan{border-top:1px solid var(--ink);padding-top:18px;display:flex;flex-direction:column;gap:12px}.scan-q{font-size:15px;color:var(--ink)}.scan-head{display:flex;align-items:center;gap:10px}.scan-head .pill-btn{margin-left:auto}.scan-label{display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.14em;color:var(--muted)}.scan-label i{width:6px;height:6px;border-radius:50%;background:var(--teal)}.scan-track{position:relative;overflow:hidden;display:flex;align-items:flex-end;gap:5px;height:46px;padding:0 2px}.scan-track .tick{flex:1;height:100%;background:var(--line);transform-origin:bottom;animation:scanTick .9s ease-in-out infinite}.scan-sweep{position:absolute;top:0;bottom:0;left:0;width:16%;background:linear-gradient(90deg,#0c6b5e00,#0c6b5e33,#0c6b5e00);animation:scanSweep .9s linear infinite}.scan .trace{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.trace-line{animation:fadeUp .25s ease-out both}.a-meta{font-size:11px;letter-spacing:.08em;color:var(--faint)}.src-badge{font-size:12px;color:var(--faint)}.answer{border-top:1px solid var(--ink);padding-top:18px;scroll-margin-top:16px;display:flex;flex-direction:column;gap:16px}.a-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.a-tag{font-size:11px;letter-spacing:.14em;padding:2px 8px;border:1px solid currentColor;animation:fadeUp .26s ease-out both}.a-tag.ok{color:var(--teal)}.a-tag.no{color:var(--red)}.a-q{font-size:15px;color:var(--body)}.pill-btn{margin-left:auto;font-size:13px;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:6px 14px;min-height:36px}.a-text{font-size:clamp(15.5px,1.7vw,17px);line-height:2;color:var(--ink);max-width:42em;animation:fadeUp .34s ease-out both}.mark{font-size:.6em;color:var(--teal);border-bottom:1px solid #0C6B5E66;padding:0 2px;vertical-align:super;line-height:1;transition:background .2s;animation:markPop .3s ease-out both}.evidence{display:flex;flex-direction:column;border-top:1px solid var(--line)}.ev-row{display:grid;grid-template-columns:34px 1fr;gap:14px;align-items:start;padding:14px 12px 14px 0;border-bottom:1px solid var(--line-2);transition:background .25s;animation:fadeUp .34s ease-out both}.ev-mark{font-size:12px;color:var(--teal);padding-left:4px}.ev-main{display:flex;flex-direction:column;gap:8px}.ev-quote{font-size:15px;line-height:1.9;color:var(--quote-ink)}.ev-meta{display:flex;gap:14px;align-items:center;font-size:12px;color:var(--muted);flex-wrap:wrap}.refusal{display:flex;flex-direction:column;gap:12px;border-left:2px solid var(--red);padding:2px 0 2px 16px;transform-origin:top;animation:ruleIn .32s .1s ease-out both}.refusal p{margin:0;font-size:14px;color:var(--body);line-height:1.9;max-width:38em}.hist{display:flex;gap:8px;flex-wrap:wrap;align-items:center;border-top:1px solid var(--line-2);padding-top:16px}.note{font-size:12px;color:var(--muted);line-height:1.9}.note-strong{font-size:12.5px;color:var(--body);line-height:1.9;padding-top:14px}.jd-intro{margin:0;font-size:15px;line-height:2;color:var(--body);max-width:40em}.jd-box{border:1px solid var(--ink);background:var(--field);padding:14px 16px;display:flex;flex-direction:column;gap:12px;transition:border-color .16s,box-shadow .16s}.jd-box:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px #0c6b5e24}.jd-box textarea{width:100%;font-size:15px;line-height:1.95}.jd-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line-2);padding-top:12px}.jd-actions .hint{font-size:12px;color:var(--muted);margin-left:auto}.btn{font-size:14px;color:var(--ink);border:1px solid var(--line);padding:11px 18px;min-height:44px}.btn.quiet{color:var(--muted);border-color:var(--line-2)}.jd-results{scroll-margin-top:16px}.jd-summary{display:flex;gap:14px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:14px 0}.jd-count{font-size:12px;letter-spacing:.1em;color:var(--ink)}.meter{display:flex;height:8px;width:min(280px,40vw);background:var(--meter-bg)}.meter .m-hit{display:block;height:100%;background:var(--teal);transform-origin:left;animation:growX .7s .1s cubic-bezier(.2,.8,.2,1) both}.meter .m-miss{display:block;height:100%;background:var(--red);transform-origin:left;animation:growX .7s .45s cubic-bezier(.2,.8,.2,1) both}.jd-summary .pill-btn{padding:7px 15px}.jd-row{display:grid;grid-template-columns:34px 1fr;gap:14px;align-items:start;padding:16px 0;border-bottom:1px solid var(--line-2);animation:fadeUp .36s ease-out both}.jd-idx{font-size:12px;color:var(--muted)}.jd-main{display:flex;flex-direction:column;gap:9px}.jd-line-row{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}.r-label{font-size:11px;letter-spacing:.1em;border:1px solid currentColor;padding:1px 7px}.jd-row.hit .r-label{color:var(--teal)}.jd-row.miss .r-label{color:var(--red)}.jd-line{font-size:16px;line-height:1.8;flex:1;min-width:200px}.jd-note-row{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:end}.r-note{font-size:13px;line-height:1.9;color:var(--muted);border-left:2px solid;padding-left:12px}.jd-row.hit .r-note{border-left-color:var(--teal)}.jd-row.miss .r-note{border-left-color:var(--red)}.jd-src{font-size:12px;white-space:nowrap}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes markPop{0%{opacity:0;transform:translateY(3px) scale(.8)}60%{transform:translateY(0) scale(1.12)}to{opacity:1;transform:none}}@keyframes growX{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes scanTick{0%,to{opacity:.25;transform:scaleY(.45)}50%{opacity:1;transform:scaleY(1)}}@keyframes scanSweep{0%{transform:translate(-100%)}to{transform:translate(725%)}}@keyframes ruleIn{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@media(max-width:560px){.tabs .hint,.jd-actions .hint{display:none}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
