.v4-root{
  --ink:#1f2b29;--ink-2:#4a5a55;--muted:#6f817a;--line:#e3e9e5;--line-2:#eef2ef;
  --bg:#f6f8f7;--surface:#fff;--green:#216b5b;--green-d:#185646;--green-soft:#eaf3ee;--green-tint:#f2f8f4;
  --warm:#9a7a3e;--warm-soft:#fbf5ea;--warm-line:#ead9b6;--red:#b4483c;
  font-family:"Segoe UI Variable Text","Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  color:var(--ink);background:var(--bg);font-size:14px;line-height:1.55;
}
.v4-root *{box-sizing:border-box}
.v4-root{margin:0}
.v4-root button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
.v4-root .icon{width:18px;height:18px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.v4-root .btn{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 16px;border-radius:9px;font-weight:600;font-size:14px;white-space:nowrap}
.v4-root .btn.primary{background:var(--green);color:#fff;box-shadow:0 2px 6px #216b5b22}
.v4-root .btn.ghost{border:1px solid var(--line);background:#fff;color:var(--ink)}
.v4-root .btn.text{padding:0 8px;color:var(--green)}
.v4-root .tag{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}
.v4-root .tag.warm{background:var(--warm-soft);color:var(--warm)}
.v4-root .tag.green{background:var(--green-soft);color:var(--green)}
.v4-root .tag.grey{background:#eef1ef;color:var(--ink-2)}
.v4-root .brand{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:.02em}
.v4-root .brand-mark{width:34px;height:34px;border-radius:9px;background:var(--green);color:#fff;display:grid;place-items:center}
.v4-root .brand small{display:block;font-weight:400;color:var(--muted);font-size:12px;letter-spacing:0}
.v4-root .note-banner{position:fixed;left:50%;bottom:10px;transform:translateX(-50%);z-index:99;background:#1f2b29e6;color:#fff;font-size:12px;padding:6px 12px;border-radius:999px;pointer-events:none}
.v4-root .app{display:grid;grid-template-columns:232px 1fr;min-height:100vh}
.v4-root .side{background:#fff;border-right:1px solid var(--line);padding:18px 14px;display:flex;flex-direction:column;gap:18px;position:sticky;top:0;height:100vh}
.v4-root .back{display:flex;align-items:center;gap:6px;color:var(--ink-2);font-size:13px;padding:4px 6px}
.v4-root .cur{padding:0 6px}
.v4-root .cur span{font-size:12px;color:var(--muted)}
.v4-root .cur strong{display:block;font-size:15px;margin-top:2px}
.v4-root .nav{display:flex;flex-direction:column;gap:2px}
.v4-root .nav a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:9px;color:var(--ink-2);text-decoration:none;font-size:14px}
.v4-root .nav a.on{background:var(--green-soft);color:var(--green);font-weight:600}
.v4-root .nav a .n{margin-left:auto;font-size:12px;color:var(--muted)}
.v4-root .nav .sep{height:1px;background:var(--line);margin:10px 6px}
.v4-root .nav .cap{font-size:12px;color:var(--muted);padding:2px 10px}
.v4-root .main{display:flex;flex-direction:column;min-width:0}
.v4-root .top{display:flex;align-items:center;gap:12px;padding:14px 40px;border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:5}
.v4-root .crumb{color:var(--muted);font-size:13px}
.v4-root .crumb b{color:var(--ink);font-weight:500}
.v4-root .top .sp{flex:1}
.v4-root .ver{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-2);border:1px solid var(--line);border-radius:9px;height:38px;padding:0 12px;background:#fff}
.v4-root .page{max-width:920px;width:100%;margin:0 auto;padding:30px 40px 120px;display:flex;flex-direction:column;gap:28px}
.v4-root .h1{font-size:28px;font-weight:700;margin:0}
.v4-root .meta{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px;margin-top:8px;flex-wrap:wrap}
.v4-root .meta .dot{width:3px;height:3px;border-radius:50%;background:#b8c4bf}
.v4-root .hero{background:var(--green-tint);border:1px solid #dcebe2;border-radius:16px;padding:22px 26px}
.v4-root .hero .cap{color:var(--green);font-size:13px;font-weight:600}
.v4-root .hero h2{font-size:22px;line-height:1.45;margin:8px 0 6px}
.v4-root .hero p{margin:0;color:var(--ink-2);font-size:14px}
.v4-root .facts{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:18px;border-top:1px solid #d6e6dc;padding-top:14px}
.v4-root .facts div{padding-right:14px}
.v4-root .facts span{display:block;font-size:12px;color:var(--muted)}
.v4-root .facts b{font-size:14px;font-weight:600}
.v4-root .facts b.miss{color:var(--warm);font-weight:500}
.v4-root .sec-h{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.v4-root .sec-h h3{margin:0;font-size:18px}
.v4-root .sec-h .c{color:var(--muted);font-size:13px}
.v4-root .sec-h .sp{flex:1}
.v4-root .list{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.v4-root .row{display:grid;grid-template-columns:34px 1fr auto;gap:14px;align-items:center;padding:14px 18px;border-top:1px solid var(--line-2)}
.v4-root .row:first-child{border-top:0}
.v4-root .num{width:28px;height:28px;border-radius:50%;background:var(--green-soft);color:var(--green);display:grid;place-items:center;font-weight:700;font-size:13px}
.v4-root .num.c{background:#eef1ef;color:var(--ink-2)}
.v4-root .row b{display:block;font-size:15px;font-weight:600}
.v4-root .row small{display:block;color:var(--muted);font-size:13px;margin-top:2px}
.v4-root .row small .cond{color:var(--warm)}
.v4-root .ev{display:flex;align-items:center;gap:6px;color:var(--green);font-size:13px;font-weight:600;padding-left:14px;border-left:1px solid var(--line);height:32px}
.v4-root .sub{font-size:13px;color:var(--muted);font-weight:600;margin:16px 0 8px}
.v4-root .gaps{background:var(--warm-soft);border:1px solid var(--warm-line);border-radius:14px;display:grid;grid-template-columns:repeat(3,1fr) auto;align-items:stretch}
.v4-root .gaps div{padding:16px 20px;border-left:2px solid var(--warm-line)}
.v4-root .gaps div:first-child{border-left:0}
.v4-root .gaps b{display:block;font-size:14px}
.v4-root .gaps span{font-size:13px;color:var(--ink-2)}
.v4-root .gaps a{align-self:center;padding:0 20px;color:var(--green);font-weight:600;font-size:13px;white-space:nowrap}
.v4-root .fold{display:flex;flex-direction:column;gap:10px}
.v4-root .fold details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 18px}
.v4-root .fold summary{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none;font-weight:600}
.v4-root .fold summary::-webkit-details-marker{display:none}
.v4-root .fold summary .c{color:var(--muted);font-weight:400;font-size:13px}
.v4-root .fold summary .peek{color:var(--ink-2);font-weight:400;font-size:13px;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v4-root .player{position:fixed;left:232px;right:0;bottom:0;height:64px;background:#fff;border-top:1px solid var(--line);display:flex;align-items:center;gap:16px;padding:0 40px;z-index:6}
.v4-root .play{width:40px;height:40px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center}
.v4-root .bar{flex:1;height:4px;background:#e4ebe7;border-radius:4px;position:relative}
.v4-root .bar i{position:absolute;left:0;top:0;bottom:0;width:22%;background:var(--green);border-radius:4px}
.v4-root .bar i::after{content:"";position:absolute;right:-6px;top:-4px;width:12px;height:12px;border-radius:50%;background:var(--green)}
.v4-root .tm{font-size:13px;color:var(--ink-2);font-variant-numeric:tabular-nums}
.v4-root .drawer{position:fixed;top:0;right:0;bottom:64px;width:440px;background:#fff;border-left:1px solid var(--line);box-shadow:-12px 0 30px #1f2b2912;z-index:8;display:flex;flex-direction:column}
.v4-root .drawer header{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--line)}
.v4-root .drawer header b{flex:1}
.v4-root .claim{padding:16px 20px;background:var(--green-tint);border-bottom:1px solid var(--line);font-size:14px}
.v4-root .claim span{display:block;font-size:12px;color:var(--green);font-weight:600;margin-bottom:4px}
.v4-root .quotes{padding:16px 20px;display:flex;flex-direction:column;gap:14px;overflow:auto}
.v4-root .q{border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.v4-root .q .t{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);margin-bottom:6px}
.v4-root .q .t button{margin-left:auto;color:var(--green);font-weight:600;font-size:12px;display:flex;align-items:center;gap:4px}
.v4-root .q p{margin:0;font-size:14px;line-height:1.75;color:var(--ink-2)}
.v4-root mark{background:#f3e6c8;color:var(--ink);padding:1px 2px;border-radius:3px}
.v4-root .drawer footer{margin-top:auto;padding:12px 20px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.v4-root .main.shift{padding-right:440px}
.v4-root .main.shift .top{margin-right:0}
@media (max-width:760px){.v4-root .app{grid-template-columns:1fr}
.v4-root .side{display:none}
.v4-root .top{padding:10px 16px}
.v4-root .top .crumb,.v4-root .top .ver,.v4-root .top .ghost{display:none}
.v4-root .page{padding:18px 16px 140px;gap:22px}
.v4-root .h1{font-size:21px}
.v4-root .hero{padding:18px}
.v4-root .hero h2{font-size:19px}
.v4-root .facts{grid-template-columns:1fr 1fr;row-gap:12px}
.v4-root .row{grid-template-columns:28px 1fr 36px;padding:12px 14px;gap:10px}
.v4-root .ev{border-left:0;padding:0;justify-content:center}
.v4-root .ev span{display:none}
.v4-root .gaps{grid-template-columns:1fr}
.v4-root .gaps div{border-left:0;border-top:1px solid var(--warm-line)}
.v4-root .gaps div:first-child{border-top:0}
.v4-root .gaps a{padding:12px 20px}
.v4-root .player{left:0;padding:0 16px;height:60px}
.v4-root .drawer{width:100%;top:auto;height:72vh;bottom:0;border-radius:18px 18px 0 0}
.v4-root .main.shift{padding-right:0}
.v4-root .mobile-tabs{display:flex}
}
.v4-root .mback{display:none;color:var(--ink-2)}
@media (max-width:760px){.v4-root .mback{display:inline-flex}
}
.v4-root .mobile-tabs{display:none;gap:6px;overflow:auto;padding:8px 16px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:59px;z-index:4}
.v4-root .mobile-tabs a{flex:none;padding:6px 12px;border-radius:999px;background:#eef1ef;font-size:13px;color:var(--ink-2);text-decoration:none}
.v4-root .mobile-tabs a.on{background:var(--green);color:#fff}
.v4-root .page{max-width:980px}
.v4-root .pj{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-bottom:12px}
.v4-root .pj.main{border-color:#cfe3d7}
.v4-root .pj-h{display:flex;align-items:center;gap:10px;padding:14px 20px;border-bottom:1px solid var(--line-2)}
.v4-root .pj-h b{font-size:16px}
.v4-root .pj-h .alias{font-size:12px;color:var(--warm)}
.v4-root .pj-h .sp{flex:1}
.v4-root .pj-body{display:grid;grid-template-columns:1fr 1fr;gap:0}
.v4-root .cell{padding:14px 20px;border-top:1px solid var(--line-2)}
.v4-root .cell:nth-child(odd){border-right:1px solid var(--line-2)}
.v4-root .cell:nth-child(1),.v4-root .cell:nth-child(2){border-top:0}
.v4-root .cell h4{margin:0 0 8px;font-size:12px;color:var(--muted);font-weight:600;letter-spacing:.03em;display:flex;align-items:center;gap:6px}
.v4-root .cell h4 .icon{width:15px;height:15px}
.v4-root .li{display:flex;gap:8px;font-size:14px;line-height:1.55;margin-bottom:6px;align-items:baseline}
.v4-root .li::before{content:"";width:4px;height:4px;border-radius:50%;background:#b8c4bf;flex:none;margin-top:9px}
.v4-root .li .q{margin-left:auto;color:var(--green);flex:none}
.v4-root .li .q .icon{width:15px;height:15px}
.v4-root .params{display:flex;flex-wrap:wrap;gap:6px}
.v4-root .param{display:inline-flex;gap:6px;align-items:baseline;border:1px solid var(--line);border-radius:8px;padding:4px 10px;font-size:13px;background:#fbfcfb}
.v4-root .param span{color:var(--muted);font-size:12px}
.v4-root .miss{color:var(--warm)}
.v4-root .opp{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:var(--green-tint);padding:12px 20px}
.v4-root .opp div span{display:block;font-size:12px;color:var(--muted)}
.v4-root .opp div b{font-size:13px}
.v4-root .pj.mini .pj-h{border-bottom:0}
.v4-root .pj.mini .pj-h small{color:var(--ink-2);font-size:13px;font-weight:400}
.v4-root .pj-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.v4-root .mirror{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.v4-root .mirror-top{display:grid;grid-template-columns:1.1fr 1fr;gap:0}
.v4-root .checks{padding:16px 20px;border-right:1px solid var(--line-2)}
.v4-root .checks h4,.v4-root .tips h4{margin:0 0 10px;font-size:13px;color:var(--muted);font-weight:600}
.v4-root .ck{display:grid;grid-template-columns:92px 1fr auto;gap:10px;align-items:center;padding:6px 0;border-top:1px dashed var(--line-2);font-size:13px}
.v4-root .ck:first-of-type{border-top:0}
.v4-root .ck b{font-weight:600;font-size:13px}
.v4-root .ck .why{color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v4-root .st{font-size:12px;font-weight:600;border-radius:999px;padding:1px 9px;white-space:nowrap}
.v4-root .st.ok{background:var(--green-soft);color:var(--green)}
.v4-root .st.part{background:#fdf3e1;color:#9a6b17}
.v4-root .st.no{background:#f8e9e6;color:var(--red)}
.v4-root .tips{padding:16px 20px;background:#fcfaf5}
.v4-root .tip{display:grid;grid-template-columns:24px 1fr;gap:10px;margin-bottom:14px}
.v4-root .tip i{font-style:normal;width:22px;height:22px;border-radius:50%;background:var(--warm);color:#fff;font-size:12px;font-weight:700;display:grid;place-items:center}
.v4-root .tip b{display:block;font-size:14px;margin-bottom:3px}
.v4-root .tip p{margin:0;font-size:13px;color:var(--ink-2);line-height:1.6}
.v4-root .tip p q{color:var(--ink);background:#f3e6c8;border-radius:3px;padding:0 3px;quotes:"“" "”"}
.v4-root .mirror-foot{display:flex;align-items:center;gap:10px;padding:10px 20px;border-top:1px solid var(--line-2);font-size:12px;color:var(--muted)}
.v4-root .mirror-foot .sp{flex:1}
.v4-root .lock{display:inline-flex;align-items:center;gap:4px}
.v4-root .lock .icon{width:14px;height:14px}
.v4-root .sec-h .tag{margin-left:4px}
.v4-root .nav a.new::after{content:"新";margin-left:auto;font-size:11px;color:#fff;background:var(--warm);border-radius:999px;padding:0 6px}
@media (max-width:760px){.v4-root .pj-body,.v4-root .pj-row,.v4-root .mirror-top{grid-template-columns:1fr}
.v4-root .cell:nth-child(odd){border-right:0}
.v4-root .cell:nth-child(2){border-top:1px solid var(--line-2)}
.v4-root .opp{grid-template-columns:1fr 1fr;row-gap:8px}
.v4-root .checks{border-right:0}
.v4-root .ck{grid-template-columns:84px 1fr auto}
}
.v4-root.is-review .top{display:flex;align-items:center;gap:14px;padding:12px 28px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.v4-root.is-review .top .sp{flex:1}
.v4-root.is-review .back{display:flex;align-items:center;gap:6px;color:var(--ink-2);font-size:13px}
.v4-root.is-review .title{display:flex;flex-direction:column}
.v4-root.is-review .title b{font-size:16px}
.v4-root.is-review .title span{font-size:12px;color:var(--muted)}
.v4-root.is-review .progress{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ink-2)}
.v4-root.is-review .pbar{width:140px;height:6px;border-radius:6px;background:#e4ebe7;overflow:hidden}
.v4-root.is-review .pbar i{display:block;height:100%;width:36%;background:var(--green)}
.v4-root.is-review .wrap{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:0;height:calc(100vh - 63px)}
.v4-root.is-review .queue{overflow:auto;padding:22px 28px 40px}
.v4-root.is-review .concl{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 18px;margin-bottom:22px}
.v4-root.is-review .concl .ic{width:32px;height:32px;border-radius:9px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;flex:none}
.v4-root.is-review .concl b{font-size:16px;display:block}
.v4-root.is-review .concl span{font-size:13px;color:var(--ink-2)}
.v4-root.is-review .concl .e{margin-left:auto;color:var(--green);font-size:13px;font-weight:600;white-space:nowrap}
.v4-root.is-review .group{margin-bottom:22px}
.v4-root.is-review .gh{display:flex;align-items:center;gap:10px;margin:0 0 10px}
.v4-root.is-review .gh h3{margin:0;font-size:15px}
.v4-root.is-review .gh .c{font-size:12px;color:var(--muted)}
.v4-root.is-review .gh .done{margin-left:auto;font-size:12px;color:var(--muted)}
.v4-root.is-review .card{display:grid;grid-template-columns:22px 1fr auto;gap:12px;align-items:start;background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px 16px;margin-bottom:8px;cursor:pointer}
.v4-root.is-review .card.sel{border-color:var(--green);box-shadow:0 0 0 3px #216b5b1a}
.v4-root.is-review .card.ok{background:#fbfcfb}
.v4-root.is-review .card.ok .txt b{color:var(--ink-2)}
.v4-root.is-review .card.ign{opacity:.5}
.v4-root.is-review .card.ign .txt b{text-decoration:line-through}
.v4-root.is-review .st{width:20px;height:20px;border-radius:50%;border:1.6px solid #c4d0cb;margin-top:2px;display:grid;place-items:center}
.v4-root.is-review .st.ok{background:var(--green);border-color:var(--green);color:#fff}
.v4-root.is-review .st.ed{background:var(--warm-soft);border-color:var(--warm);color:var(--warm)}
.v4-root.is-review .st .icon{width:13px;height:13px;stroke-width:2.4}
.v4-root.is-review .txt b{display:block;font-size:15px;font-weight:600;line-height:1.5}
.v4-root.is-review .txt small{display:block;font-size:13px;color:var(--muted);margin-top:3px}
.v4-root.is-review .txt small .cond{color:var(--warm)}
.v4-root.is-review .txt .edited{font-size:12px;color:var(--warm);margin-top:4px}
.v4-root.is-review .acts{display:flex;gap:4px;opacity:0}
.v4-root.is-review .card:hover .acts,.v4-root.is-review .card.sel .acts{opacity:1}
.v4-root.is-review .acts button{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;color:var(--ink-2)}
.v4-root.is-review .acts button:hover{background:#eef1ef}
.v4-root.is-review .acts button.y{color:var(--green)}
.v4-root.is-review .more{font-size:13px;color:var(--green);font-weight:600;padding:4px 2px}
.v4-root.is-review .ctx{background:#fff;border-left:1px solid var(--line);display:flex;flex-direction:column;overflow:auto}
.v4-root.is-review .ctx header{padding:18px 22px 12px;border-bottom:1px solid var(--line-2)}
.v4-root.is-review .ctx header span{font-size:12px;color:var(--muted)}
.v4-root.is-review .ctx header b{display:block;font-size:16px;margin-top:4px;line-height:1.5}
.v4-root.is-review .full{padding:14px 22px;font-size:14px;color:var(--ink-2);line-height:1.7;border-bottom:1px solid var(--line-2)}
.v4-root.is-review .full .lab{font-size:12px;color:var(--muted);display:block;margin-bottom:4px}
.v4-root.is-review .qs{padding:14px 22px;display:flex;flex-direction:column;gap:12px}
.v4-root.is-review .q{border-left:3px solid var(--warm-line);padding:2px 0 2px 12px}
.v4-root.is-review .q .t{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:6px;margin-bottom:4px}
.v4-root.is-review .q .t button{color:var(--green);font-weight:600;display:flex;align-items:center;gap:4px;font-size:12px}
.v4-root.is-review .q p{margin:0;font-size:14px;line-height:1.75}
.v4-root.is-review mark{background:#f3e6c8;color:var(--ink);border-radius:3px;padding:0 2px}
.v4-root.is-review .decide{margin-top:auto;padding:14px 22px;border-top:1px solid var(--line);display:flex;gap:8px;background:#fff;position:sticky;bottom:0}
.v4-root.is-review .decide .btn{flex:1;justify-content:center}
.v4-root.is-review .mini{display:flex;align-items:center;gap:10px;padding:10px 22px;border-top:1px solid var(--line-2);font-size:12px;color:var(--muted)}
.v4-root.is-review .mini .play{width:30px;height:30px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center}
.v4-root.is-review .kbd{font-size:11px;border:1px solid var(--line);border-bottom-width:2px;border-radius:4px;padding:0 4px;color:var(--muted);background:#fff}
@media (max-width:760px){.v4-root.is-review .top{padding:10px 14px;flex-wrap:wrap;gap:8px}
.v4-root.is-review .top .btn.ghost,.v4-root.is-review .kbdhint{display:none}
.v4-root.is-review .progress{order:5;width:100%}
.v4-root.is-review .pbar{flex:1}
.v4-root.is-review .wrap{grid-template-columns:1fr;height:auto}
.v4-root.is-review .queue{padding:14px 14px 150px}
.v4-root.is-review .ctx{display:none}
.v4-root.is-review .acts{opacity:1}
.v4-root.is-review .acts button{width:40px;height:40px}
.v4-root.is-review .card{grid-template-columns:22px 1fr;}
.v4-root.is-review .card .acts{grid-column:2;justify-content:flex-start;margin-left:-8px}
.v4-root.is-review .sheet{display:flex}
}
.v4-root.is-review .sheet{display:none;position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--line);box-shadow:0 -10px 24px #1f2b2914;padding:10px 14px calc(10px + env(safe-area-inset-bottom));flex-direction:column;gap:8px;z-index:9}
.v4-root.is-review .sheet .row1{display:flex;align-items:center;gap:10px;font-size:13px}
.v4-root.is-review .sheet .row1 .play{width:34px;height:34px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center}
.v4-root.is-review .sheet .row1 .bar{flex:1;height:4px;background:#e4ebe7;border-radius:4px}
.v4-root.is-review .sheet .btn{justify-content:center}
/* Product integration. All rules are scoped to v4; v3 keeps its original CSS. */
body.v4-active{height:auto;overflow:auto;background:#f6f8f7}
body.v4-active>.app-bar,body.v4-active>.shell{display:none!important}
.v4-root[hidden],.v4-root [hidden]{display:none!important}
.v4-root{min-height:100vh;font-family:"Segoe UI Variable Text","Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#1f2b29;background:#f6f8f7;font-size:14px;line-height:1.55}
.v4-root a{text-decoration:none;color:inherit}.v4-root button{border:0;box-shadow:none;min-height:0;letter-spacing:normal;line-height:1.55}
.v4-root h1,.v4-root h2,.v4-root h3,.v4-root h4,.v4-root p{letter-spacing:normal}
.v4-root .btn{min-height:38px}.v4-root .btn.ghost{border:1px solid var(--line)}.v4-root .btn.primary{background:var(--green);color:#fff}
.v4-root .side{width:232px;overflow:auto}.v4-root .brand{margin:0}.v4-root .brand-mark{margin:0}.v4-root .back{justify-content:flex-start}
.v4-root .nav button{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:9px;color:var(--ink-2);text-align:left;font-size:14px;min-height:40px;width:100%}
.v4-root .nav button.on{background:var(--green-soft);color:var(--green);font-weight:600}
.v4-root .top{min-height:66px;gap:10px;padding:12px 28px}.v4-root .crumb{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v4-root .top .v4-back{display:none}
.v4-root .ver{width:auto;max-width:220px;min-width:130px;font:inherit;font-size:13px;flex-shrink:1}
.v4-root .page{width:100%;max-width:980px;min-width:0;gap:28px}.v4-root .page>section{scroll-margin-top:90px}
.v4-root .v4-hero-cap{display:flex;align-items:center;justify-content:space-between;gap:8px}
.v4-root .v4-hero-cap .btn{font-size:12px;min-height:28px;height:28px;padding:0 4px}
.v4-root .hero h2{color:var(--ink);font-weight:700}.v4-root .v4-summary-detail{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.v4-root .v4-summary-detail.open{display:block}
.v4-root .v4-summary-expand{font-size:12px;padding:0;min-height:28px;height:28px}
.v4-root .row>div{min-width:0}.v4-root .row .cond{color:var(--warm)}.v4-root .row small{line-height:1.6}
.v4-root .ev{background:transparent;border-radius:0;min-width:56px;white-space:nowrap;border-left:1px solid var(--line)}
.v4-root .pj.main{display:block}.v4-root .pj-h{flex-wrap:wrap}.v4-root .pj-h small{min-width:0;flex:1}.v4-root .pj.mini .pj-h{cursor:pointer}
.v4-root .pj-body .cell{min-width:0}.v4-root .cell .li{align-items:center}.v4-root .li>span{min-width:0;flex:1}.v4-root .li::before{display:none}
.v4-root .fact-evidence{margin-left:auto;padding:0;width:28px;height:28px;flex:none;color:var(--green);display:grid;place-items:center}
.v4-root .param{margin:0 5px 7px 0;max-width:100%;flex-wrap:wrap}.v4-root .param small{font-size:11px;color:var(--warm)}.v4-root .param .fact-evidence{width:22px;height:22px}
.v4-root .gaps{grid-template-columns:repeat(3,minmax(0,1fr)) auto}.v4-root .gaps div{min-width:0}.v4-root .gaps span{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.v4-root .gaps .btn{height:auto;padding:12px}
.v4-root .mirror-top{grid-template-columns:1.1fr 1fr}.v4-root .checks,.v4-root .tips{min-width:0}
.v4-root .ck{width:100%;text-align:left;background:transparent;border-radius:0;grid-template-columns:84px minmax(0,1fr) auto;min-height:34px}.v4-root .ck .st{height:auto;font-size:12px}
.v4-root .tip{align-items:start}.v4-root .v4-tip-quote{display:inline;color:var(--ink);background:#f3e6c8;text-align:left;font-size:13px;border-radius:3px;padding:0 3px;margin-bottom:4px}
.v4-root .mirror-foot{flex-wrap:wrap}.v4-root .v4-empty{font-size:13px;color:var(--muted);padding:8px 0;margin:0}.v4-root .list>.v4-empty{padding:14px 18px}
.v4-root .player{gap:14px;height:64px;padding:0 32px}.v4-root .player .play{padding:0;width:40px;height:40px;flex:none}.v4-root .player input{min-width:40px;flex:1;width:auto;height:24px;accent-color:var(--green);padding:0;border:0;background:none}
.v4-root .player .tm{white-space:nowrap}.v4-root .v4-mobile-confirm{display:none}
.v4-root .drawer{z-index:80;max-width:100vw}.v4-root .drawer header .btn{padding:0 8px}.v4-root .drawer .claim{font-weight:600}
.v4-root .quote-card{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#fff}.v4-root .quote-card p{font-size:14px;line-height:1.75;color:var(--ink-2);margin:0;overflow-wrap:anywhere}.v4-root .quote-time{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted);gap:8px;margin-bottom:6px}.v4-root .quote-time .btn{font-size:12px;padding:0 4px}.v4-root .quotes{flex:1;min-height:0}.v4-root .drawer footer{margin-top:0}
.v4-root .v4-more{position:relative}.v4-root .v4-more summary{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:9px;cursor:pointer;font-size:20px;list-style:none}.v4-root .v4-more summary::-webkit-details-marker{display:none}
.v4-root .v4-more[open]{z-index:15}.v4-root .v4-more-panel{display:none;position:absolute;right:0;top:calc(100% + 8px);width:220px;max-width:calc(100vw - 28px);padding:8px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 20px #163b2520;border-radius:9px}.v4-root .v4-more[open]>.v4-more-panel{display:grid;gap:4px}.v4-root .v4-more-panel>.btn,.v4-root .v4-more-panel>.ver{width:100%;margin:0}.v4-root .v4-more-panel>.btn{justify-content:flex-start}.v4-root .v4-more-panel>.ver{display:block}
.v4-root .v4-message{position:sticky;top:66px;z-index:12;background:#edf5ef;color:var(--green);padding:12px 24px;margin:0}.v4-root .v4-message.fail{background:#fff0e8;color:#8f392e}
.v4-root .v4-data-table{width:100%;border-collapse:collapse;background:#fff;font-size:13px}.v4-root .v4-data-table th,.v4-root .v4-data-table td{padding:12px 8px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere}.v4-root .v4-data-table th{font-weight:600;color:var(--muted);background:var(--green-tint)}.v4-root .v4-data-table .acts{display:flex;gap:2px}.v4-root .v4-data-table .acts button{width:28px;height:32px;display:grid;place-items:center;padding:0;color:var(--green)}.v4-root .v4-data-table .review-state{margin-bottom:5px}
.v4-root .review-state{width:20px;height:20px;border-radius:50%;border:1.6px solid #c4d0cb;display:grid;place-items:center;flex:none}.v4-root .review-state .icon{width:13px;height:13px}.v4-root .review-state.accepted{background:var(--green);color:#fff;border-color:var(--green)}.v4-root .review-state.edited{background:var(--warm-soft);color:var(--warm);border-color:var(--warm)}
.v4-root.is-review .top .v4-back{display:flex}.v4-root.is-review .top{padding:12px 28px}.v4-root.is-review .top .progress{white-space:nowrap}.v4-root progress{accent-color:var(--green);width:140px;height:7px}
.v4-root.is-review .wrap{height:calc(100vh - 130px);grid-template-columns:minmax(0,1fr) 420px}.v4-root.is-review .queue{margin:0;min-width:0;max-width:none}.v4-root.is-review .group{border:0;background:none;padding:0}.v4-root.is-review .gh{list-style:none;cursor:pointer}.v4-root.is-review .card .txt{min-width:0}.v4-root.is-review .card .acts{min-width:0}.v4-root.is-review .card .edited{overflow-wrap:anywhere}
.v4-root.is-review .ctx{position:relative;min-width:0}.v4-root.is-review .ctx .quotes{overflow:visible}.v4-root .v4-context-close{display:none}.v4-root.is-review .player{left:0}.v4-root.is-review .decide{position:static}.v4-root.is-review .ctx .full p{margin:0}.v4-root.is-review .ctx header b{overflow-wrap:anywhere}
.v4-root .v4-edit-form{padding:18px 22px;display:flex;flex-direction:column;gap:12px}.v4-root .v4-edit-form label{display:flex;flex-direction:column;gap:6px;font-size:13px}.v4-root .v4-edit-form input,.v4-root .v4-edit-form textarea{border:1px solid var(--line);border-radius:8px;padding:10px;font:inherit;max-width:100%}.v4-root .v4-edit-form textarea{min-height:140px}.v4-root .v4-edit-form small{color:var(--muted)}
.v4-root .v4-transcript-list{display:flex;flex-direction:column;gap:16px}.v4-root button:focus-visible,.v4-root a:focus-visible{outline:2px solid var(--green);outline-offset:3px}.v4-root [aria-disabled=true]{opacity:.5;cursor:not-allowed}
@media(max-width:1100px){.v4-root .top .crumb{display:none}.v4-root .page{padding-left:24px;padding-right:24px}.v4-root .main.shift .top .ver{display:none}.v4-root .main.shift .mirror-top{grid-template-columns:1fr}.v4-root .main.shift .pj-body{grid-template-columns:1fr}.v4-root .main.shift .gaps{grid-template-columns:1fr}}
@media(max-width:760px){
 .v4-root .app{display:block}.v4-root .side{display:none}.v4-root .top{min-height:56px;height:56px;padding:6px 14px;gap:6px}.v4-root .top .v4-back{display:flex;font-size:13px;min-height:44px}.v4-root .top>.ver,.v4-root .top>#v4StartReview,.v4-root .top>.v4-confirm{display:none}.v4-root .top .crumb{display:block;flex:1;font-size:13px}.v4-root .top .sp{display:none}.v4-root .top>.v4-export{font-size:13px}
 .v4-root .mobile-tabs{display:flex;top:56px;gap:4px;padding:4px 12px}.v4-root .mobile-tabs button{min-height:44px;padding:6px 10px;flex:none;border-radius:999px;font-size:13px}.v4-root .mobile-tabs button.on{background:var(--green);color:#fff}
 .v4-root .page{padding:18px 16px 90px;gap:22px}.v4-root .page>section{scroll-margin-top:112px}.v4-root .h1{font-size:21px}.v4-root .hero{padding:18px}.v4-root .hero h2{font-size:19px}.v4-root .v4-hero-cap .btn{min-height:44px;height:44px}.v4-root .facts{grid-template-columns:1fr 1fr;row-gap:12px}.v4-root .sec-h{flex-wrap:wrap;gap:6px}.v4-root .sec-h h3{font-size:18px}
 .v4-root .btn,.v4-root .fact-evidence,.v4-root .param .fact-evidence,.v4-root .ev,.v4-root .v4-more summary{min-height:44px;min-width:44px}.v4-root .ev{border:0;padding:0}.v4-root .ev span{display:none}.v4-root .pj-body,.v4-root .pj-row,.v4-root .mirror-top{grid-template-columns:1fr}.v4-root .pj-h{padding:14px 16px}.v4-root .cell{padding:14px 16px}.v4-root .param{font-size:13px}.v4-root .opp{grid-template-columns:1fr 1fr;gap:10px}.v4-root .gaps{grid-template-columns:1fr}.v4-root .checks{padding:14px 16px}.v4-root .ck{min-height:44px;grid-template-columns:80px minmax(0,1fr) auto;gap:6px}.v4-root .ck b{font-size:12px}.v4-root .st{padding:2px 6px}.v4-root .v4-tip-quote{min-height:44px}
 .v4-root .player{left:0;right:0;height:calc(64px + env(safe-area-inset-bottom));padding:8px 10px calc(8px + env(safe-area-inset-bottom));gap:6px}.v4-root .player .play{width:44px;height:44px;min-width:44px}.v4-root .player .tm{font-size:11px;width:38px;white-space:normal;line-height:1.3}.v4-root .player input{flex:1;min-width:32px;height:44px}.v4-root .player .v4-transcript{display:none}.v4-root .player .v4-mobile-confirm{display:flex;padding:0 10px;font-size:13px;min-width:84px;min-height:44px}.v4-root .player .btn{padding:0 6px}
 .v4-root .drawer{height:72vh;top:auto;bottom:0;border-radius:18px 18px 0 0}.v4-root .drawer header{touch-action:none}.v4-root .main.shift{padding-right:0}.v4-root .quote-time{flex-wrap:wrap}.v4-root .v4-message{top:56px;font-size:13px}
 .v4-root.is-review .top{height:auto;min-height:56px;flex-wrap:wrap;padding:6px 14px}.v4-root.is-review .top .progress{order:5;width:100%;height:28px}.v4-root.is-review .progress progress{flex:1}.v4-root.is-review .wrap{height:auto;display:block}.v4-root.is-review .queue{padding:14px 14px 90px}.v4-root.is-review .card{grid-template-columns:22px minmax(0,1fr);padding:13px}.v4-root.is-review .card .acts{grid-column:2;opacity:1}.v4-root.is-review .acts button{width:44px;height:44px}.v4-root.is-review .ctx{display:none;position:fixed;left:0;right:0;bottom:0;height:72vh;z-index:70;border-radius:18px 18px 0 0;box-shadow:0 -10px 24px #1f2b2920}.v4-root.is-review .ctx.shown{display:flex}.v4-root .v4-context-close{display:flex}.v4-root.is-review .ctx header{position:relative}.v4-root.is-review .ctx header .v4-context-close{position:absolute;right:8px;top:8px}.v4-root.is-review .ctx header b{padding-right:50px}.v4-root.is-review .decide{margin-top:8px;flex:none}.v4-root.is-review .decide .btn{padding:0 10px}.v4-root.is-review .ctx .quotes{overflow:auto;flex:1;min-height:100px}
 .v4-root .v4-data-table{display:block}.v4-root .v4-data-table thead{display:none}.v4-root .v4-data-table tbody{display:flex;flex-direction:column;gap:12px}.v4-root .v4-data-table tr{display:block;border:1px solid var(--line);border-radius:12px;padding:10px}.v4-root .v4-data-table td{display:flex;gap:12px;padding:8px 2px;border:0;min-width:0}.v4-root .v4-data-table td::before{content:attr(data-label);min-width:70px;color:var(--muted)}.v4-root .v4-data-table .acts button{width:44px;height:44px}.v4-root .v4-data-table small{display:block}
}
.v4-root .nav button{font-weight:400}.v4-root .nav button.on{font-weight:600}
@media(max-width:760px){.v4-root .v4-more .ver{min-height:44px}.v4-root .v4-summary-expand{min-height:44px}}
/* Fidelity corrections: legacy .top height and h1 line-height must not leak into v4. */
@media(min-width:761px){.v4-root .top{height:67px;min-height:67px}.v4-root .v4-hero-cap .btn{height:20px;min-height:20px}.v4-root.is-review .top{height:67px}.v4-root.is-review .wrap{height:calc(100vh - 131px)}}
.v4-root .h1{line-height:1.55}
.v4-root.is-review .group>summary.gh{flex-wrap:wrap}.v4-root .v4-background-note{flex-basis:100%;font-size:12px;font-weight:400;color:var(--muted)}
.v4-root .v4-state-toggle{padding:0;min-width:28px;min-height:28px;display:grid;place-items:center}.v4-root .v4-state-toggle .review-state{margin:0}
@media(max-width:760px){.v4-root .v4-state-toggle{min-width:44px;min-height:44px}}
