:root{--lv-bg: #ffffff;--lv-muted-bg: #f5f7f8;--lv-border: #dfe3e6;--lv-input: #cbd1d6;--lv-row-border: #e8eaed;--lv-text: #000000;--lv-muted: #a1a8b3;--lv-primary: #fd5108;--lv-hover-bg: #000000;--lv-hover-text: #ffffff;--lv-danger: #dc2626;--lv-ok: #16a34a;--lv-info: #2563eb;--lv-tint: #fff5ed;--lv-tint-strong: #ffe8d4;--radius-sm: .25rem;--radius-md: .375rem;font-family:IBM Plex Sans,system-ui,-apple-system,Noto Sans TC,PingFang TC,Microsoft JhengHei,sans-serif;font-size:13px;color:var(--lv-text)}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;background:var(--lv-bg)}.app-shell{display:flex;flex-direction:column;height:100vh}.topbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:8px 14px;background:var(--lv-bg);border-bottom:1px solid var(--lv-border);flex:0 0 auto}.brand{display:flex;align-items:center;gap:7px}.brand .dot{width:11px;height:11px;border-radius:3px;background:var(--lv-primary)}.brand .brand-icon{width:18px;height:18px;display:block;flex:0 0 auto}.topbar h1{font-size:15px;margin:0;font-weight:600;letter-spacing:-.01em}.spacer{flex:1 1 auto}.hint{color:var(--lv-muted);font-size:12px}.filerow{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.filechip{display:inline-flex;align-items:center;gap:5px;font-size:13px;padding:4px 10px;border-radius:var(--radius-sm);border:1px solid var(--lv-input);background:var(--lv-bg);color:var(--lv-text);cursor:pointer;transition:background .1s,color .1s,border-color .1s;line-height:1.4}.filechip:hover{background:var(--lv-hover-bg);color:var(--lv-hover-text)}.filechip .chip-icon{width:14px;height:14px}.filechip.loaded{border-color:var(--lv-primary);background:var(--lv-tint)}.filechip.disabled{opacity:.5;background:var(--lv-muted-bg);color:var(--lv-muted);border-color:var(--lv-row-border);cursor:default;pointer-events:none}.filerow-sep{width:1px;align-self:stretch;background:var(--lv-border);margin:2px 4px}.filechip input{display:none}.filechip .tick{color:var(--lv-primary);font-weight:700}.btn{font-size:13px;padding:4px 10px;border-radius:var(--radius-sm);border:1px solid var(--lv-input);background:var(--lv-bg);color:var(--lv-text);cursor:pointer;transition:background .1s,color .1s,border-color .1s;-webkit-appearance:none;appearance:none;font-family:inherit;line-height:1.4}.btn:hover{background:var(--lv-hover-bg);color:var(--lv-hover-text)}.btn.ico{display:inline-flex;align-items:center;gap:5px}.btn.ico .chip-icon{width:14px;height:14px}.btn.primary{background:var(--lv-primary);color:#fff;border-color:var(--lv-primary)}.btn.primary:hover{background:#e5490a;border-color:#e5490a;color:#fff}.btn:disabled{opacity:.4;cursor:default}.modal-overlay{position:fixed;inset:0;z-index:100;background:#0006;display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:var(--lv-bg);border:1px solid var(--lv-border);border-radius:var(--radius-md);box-shadow:0 8px 40px #00000047;max-width:560px;width:100%;max-height:84vh;display:flex;flex-direction:column;overflow:hidden}.modal.full{width:96vw;max-width:96vw;height:94vh;max-height:94vh}.merge-tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:12.5px}.merge-tbl td{border-bottom:1px solid var(--lv-row-border);padding:4px 8px;text-align:left;vertical-align:top}.merge-tbl th{padding:4px 8px;text-align:left;vertical-align:top}.merge-tbl thead th{position:sticky;top:0;z-index:3;background:var(--lv-bg);color:var(--lv-muted);font-weight:600;box-shadow:0 1px 0 var(--lv-row-border)}.merge-tbl tr.off{opacity:.4}.merge-tbl .mono{font-variant-numeric:tabular-nums;white-space:nowrap}.merge-reason{color:var(--lv-text)}.merge-tbl .notfound{color:var(--lv-danger)}.modal-head{display:flex;align-items:center;gap:10px;padding:11px 16px;border-bottom:1px solid var(--lv-border)}.modal-head h3{margin:0;font-size:15px;font-weight:600}.modal-x{margin-left:auto}.modal-tabs{display:flex;gap:4px;padding:8px 16px 0;border-bottom:1px solid var(--lv-border)}.modal-tab{padding:6px 14px;font-size:13px;font-weight:600;color:var(--lv-muted);background:none;border:1px solid transparent;border-bottom:none;border-radius:var(--radius-md) var(--radius-md) 0 0;cursor:pointer;margin-bottom:-1px}.modal-tab:hover{color:var(--lv-fg)}.modal-tab.active{color:var(--lv-primary);background:var(--lv-bg);border-color:var(--lv-border);border-bottom-color:var(--lv-bg)}.hint-inline{color:var(--lv-muted);font-size:12px;margin-left:6px}.modal-body{flex:1 1 auto;min-height:0;padding:14px 16px;font-size:13px;line-height:1.75;overflow:auto}.modal-body p{margin:0 0 8px}.modal-body ol{margin:6px 0 10px;padding-left:22px}.modal-body li{margin:2px 0}.modal-body code{background:var(--lv-muted-bg);border:1px solid var(--lv-row-border);border-radius:3px;padding:0 4px;font-size:12px}.modal-note{color:var(--lv-muted);font-size:12px}.modal-foot{display:flex;gap:8px;justify-content:flex-end;padding:12px 16px;border-top:1px solid var(--lv-border)}.modal.full .modal-foot{justify-content:flex-end;align-items:center}.prompt-row{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin:5px 0 2px}.prompt-text{flex:0 0 auto;width:100%;box-sizing:border-box;display:flex;align-items:center;padding:5px 9px;background:var(--lv-muted-bg);border:1px solid var(--lv-row-border);border-radius:var(--radius-sm);font-size:12.5px;word-break:break-word;white-space:pre-wrap}.copy-btn{flex:0 0 auto;align-self:flex-start;font-size:12px;padding:3px 12px}.inline-dl{margin:3px 0;background:var(--lv-primary);color:#fff;border-color:var(--lv-primary)}.inline-dl:hover{background:#e5490a;border-color:#e5490a;color:#fff}.copy-btn.copied{border-color:var(--lv-ok);color:var(--lv-ok)}.prompt-hint{color:var(--lv-muted);font-size:11.5px;margin:3px 0 2px}.copy-btn.copied:hover{background:var(--lv-bg);color:var(--lv-ok)}.text-btn{position:relative}.warn-dot{position:absolute;top:-3px;right:-3px;width:8px;height:8px;border-radius:50%;background:var(--lv-danger);border:1.5px solid var(--lv-bg)}.cov-badge{font-size:12px;font-weight:600;padding:1px 8px;border-radius:var(--radius-sm);border:1px solid}.cov-badge.ok{color:var(--lv-ok);border-color:var(--lv-ok);background:#f0fdf4}.cov-badge.warn{color:var(--lv-danger);border-color:var(--lv-danger);background:#fef2f2}.cov-counts{font-size:12px;color:var(--lv-muted)}.textview{position:fixed;inset:0;z-index:200;background:var(--lv-bg);display:flex;flex-direction:column}.tv-top{display:flex;align-items:center;gap:10px;padding:9px 14px;flex:0 0 auto;border-bottom:1px solid var(--lv-border);background:var(--lv-panel, var(--lv-bg))}.tv-top h3{margin:0;font-size:15px;font-weight:600}.tv-body{flex:1 1 auto;display:flex;min-height:0}.tv-main{flex:1 1 auto;display:flex;flex-direction:column;min-width:0;min-height:0}.tv-fulltext{display:flex;flex-direction:column;min-height:0}.tv-subs{display:flex;flex-direction:column;min-height:0;background:var(--lv-muted-bg)}.splitter-h{flex:0 0 6px;width:auto;height:6px;cursor:row-resize}.tv-subs-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 16px;border-bottom:1px solid var(--lv-row-border);flex:0 0 auto}.tv-subs-head b{font-size:13px}.tv-aicomment{flex:0 0 auto;padding:6px 16px;font-size:12px;line-height:1.5;color:var(--lv-text);background:#fff7ed;border-bottom:1px solid var(--lv-row-border)}.tv-aicomment b{color:var(--lv-accent, #fd5108);font-weight:700}.tv-aicomment .ai-bot{width:14px;height:14px;vertical-align:-3px;margin:0 3px}.tv-cols{display:grid;grid-template-columns:1fr 1fr;min-height:0}.tv-cols-full{flex:1 1 auto;overflow:hidden}.tv-col{padding:8px 14px;min-width:0;overflow:auto}.tv-col+.tv-col{border-left:1px solid var(--lv-border)}.tv-col h5{margin:0 0 4px;font-size:11px;color:var(--lv-muted);font-weight:600;position:sticky;top:0;background:inherit}.tv-col span{font-size:12px;line-height:1.6;word-break:break-word}.tv-col pre{margin:0;white-space:pre-wrap;word-break:break-word;font-family:inherit;font-size:12px;line-height:1.65}.tv-sub-list{flex:1 1 auto;overflow:auto}.tv-sub{border-bottom:1px dashed var(--lv-row-border)}.tv-sub.onesided{background:#fef2f2}.tv-sub-head{display:flex;align-items:center;gap:8px;padding:6px 16px;cursor:pointer}.tv-sub-head:hover{background:var(--lv-sel, #fff4ee)}.tv-sub-head b{font-variant-numeric:tabular-nums}.tv-caret{color:var(--lv-muted);flex:0 0 auto}.tv-sub-cols{background:var(--lv-bg)}.tv-sub-cols .tv-col{padding-top:2px;padding-bottom:8px}.tv-sub-cols .tv-col pre{font-size:12px;line-height:1.6}.tv-note{color:var(--lv-muted);font-size:12px}.tv-sub.bad .tv-note{color:var(--lv-danger)}.tv-flag{font-size:11px;font-weight:600;color:#fff;background:var(--lv-danger);border-radius:var(--radius-sm);padding:0 6px}.tv-side{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--lv-border);background:var(--lv-panel, var(--lv-bg))}.tv-side-list{flex:1 1 auto;overflow:auto}.tv-li{display:flex;align-items:flex-start;gap:8px;width:100%;text-align:left;padding:7px 14px;border:none;border-bottom:1px solid var(--lv-row-border);background:none;cursor:pointer;font:inherit;color:var(--lv-text)}.tv-li:hover{background:var(--lv-muted-bg)}.tv-li.active{background:var(--lv-sel, #fff4ee);box-shadow:inset 3px 0 0 var(--lv-accent, #fd5108)}.tv-li .pl-dot{margin-top:5px}.tv-li-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:3px}.tv-li-key{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tv-li-title{font-size:11.5px;color:var(--lv-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tv-li-acc{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:3px;color:var(--lv-muted);font-variant-numeric:tabular-nums}.tv-li-acc b{font-size:12px;font-weight:600}.tv-li-acc i{font-size:11px;font-style:normal;opacity:.65}.tv-li-acc.bad{color:var(--lv-danger)}.tv-li-acc.bad b{font-weight:700}.btn:disabled:hover{background:var(--lv-bg);color:var(--lv-text)}.badge{font-size:11px;padding:1px 8px;border-radius:var(--radius-sm);border:1px solid var(--lv-border);color:var(--lv-muted);background:var(--lv-muted-bg);white-space:nowrap}.loadring{position:relative;display:inline-flex;align-items:center;outline:none}.loadring-svg{width:22px;height:22px;display:block}.lr-track{fill:none;stroke:var(--lv-row-border);stroke-width:4}.lr-fill{fill:none;stroke:var(--lv-ok);stroke-width:4;stroke-linecap:round;transition:stroke-dasharray .35s ease}.lr-check{fill:none;stroke:var(--lv-ok);stroke-width:3.6;stroke-linecap:round;stroke-linejoin:round}.lr-count{fill:var(--lv-muted);font-size:11px;font-weight:600;text-anchor:middle;dominant-baseline:central}.loadring-tip{position:absolute;top:calc(100% + 6px);left:0;z-index:30;display:none;min-width:340px;padding:6px 9px;background:var(--lv-bg);border:1px solid var(--lv-border);border-radius:var(--radius-md);box-shadow:0 2px 12px #00000024}.loadring:hover .loadring-tip,.loadring:focus-within .loadring-tip{display:block}.lrt-row{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:1.5px 0;font-size:11px;white-space:nowrap}.lrt-name code{font-size:10px;color:var(--lv-accent, #fd5108);background:#fff4ee;border-radius:3px;padding:0 4px;margin-left:4px}.lrt-name i{font-style:normal;color:var(--lv-muted);font-size:10px;margin-left:4px;font-variant-numeric:tabular-nums}.lrt-sep{margin:4px 0 2px;padding-top:4px;border-top:1px solid var(--lv-row-border);font-size:10px;color:var(--lv-muted)}.lrt-ok{color:var(--lv-ok);font-weight:700}.lrt-no{color:var(--lv-muted)}.chip-icon{width:14px;height:14px;flex:0 0 auto}.counter{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.cnt{display:inline-flex;align-items:center;gap:3px;font-size:11px;cursor:pointer;padding:1px 6px;border-radius:var(--radius-sm);font-variant-numeric:tabular-nums;border:1px solid var(--lv-border);background:var(--lv-muted-bg);color:var(--lv-muted)}.cnt .cnt-t{line-height:1}.cnt.bad{color:var(--lv-danger)}.cnt.ok{color:var(--lv-ok)}.cnt.nofix{color:var(--lv-info)}.cnt:hover{border-color:currentColor}.cnt.active{border-color:currentColor;background:var(--lv-bg);font-weight:700}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:24px;padding:0;cursor:pointer;color:var(--lv-text);border:1px solid var(--lv-input);border-radius:var(--radius-sm);background:var(--lv-bg)}.icon-btn:hover{background:var(--lv-hover-bg);color:var(--lv-hover-text)}.icon-btn .chip-icon{width:15px;height:15px}.help-wrap{position:relative;display:inline-flex}.help-tip{position:absolute;top:calc(100% + 6px);right:0;z-index:30;display:none;min-width:214px;padding:8px 11px;background:var(--lv-bg);white-space:nowrap;border:1px solid var(--lv-border);border-radius:var(--radius-md);box-shadow:0 2px 12px #00000024;font-size:12px;line-height:1.7}.help-wrap:hover .help-tip,.help-wrap:focus-within .help-tip{display:block}.help-title{font-weight:700;margin-bottom:2px}.help-tip b{display:inline-block;min-width:42px;color:var(--lv-primary)}.help-note{color:var(--lv-muted);margin-top:3px}.help-dl-standalone{display:block;margin-top:8px;padding:5px 8px;text-align:center;border:1px solid var(--lv-border);border-radius:var(--radius-md);color:var(--lv-primary);text-decoration:none;font-weight:600;cursor:pointer}.help-dl-standalone:hover{background:var(--lv-hover, rgba(37,99,235,.08))}.workspace{flex:1 1 auto;display:flex;min-height:0}.pdf-area{flex:1 1 auto;display:flex;min-width:0}.pane{display:flex;flex-direction:column;min-width:0;flex:1 1 0}.splitter{flex:0 0 6px;cursor:col-resize;background:var(--lv-border)}.splitter:hover{background:var(--lv-primary)}.pane-bar{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--lv-muted-bg);border-bottom:1px solid var(--lv-border);flex:0 0 auto}.pane-title{font-weight:600}.pageno{width:48px;text-align:center;border:1px solid var(--lv-input);border-radius:var(--radius-sm);padding:2px 4px;font-size:12px}.pane-scroll{flex:1 1 auto;overflow:auto;background:var(--lv-muted-bg);padding:14px}.canvas-wrap{position:relative;margin:0 auto;width:max-content;box-shadow:0 1px 8px #0000001f;background:#fff}canvas{display:block}.ovl{position:absolute;inset:0}.box{position:absolute;cursor:pointer;border-radius:2px;border:1.5px solid}.box.ok{border-color:var(--lv-ok);background:#16a34a1f}.box.bad{border-color:var(--lv-danger);background:#dc262624}.box.none{border-color:#9aa0a6;background:#9aa0a61f}.box.nofix{border-color:var(--lv-info);background:#2563eb24}.box.dash{border-style:dashed}.box-mark{position:absolute;top:0;right:0;transform:translate(75%,-92%);font-size:16px;line-height:1;font-weight:900;pointer-events:none;z-index:6;text-shadow:0 0 2px rgba(255,255,255,.9)}.box-mark.ok{color:#16a34aeb}.box-mark.bad{color:#dc2626eb}.box:hover{outline:2px solid #000;z-index:5}.box.sel{border-color:var(--lv-primary);background:#fd510829;outline:2px solid var(--lv-primary);outline-offset:1px;z-index:6}@keyframes flash{0%,to{box-shadow:0 0 #fd510800}50%{box-shadow:0 0 0 6px #fd510873}}.box.flash{animation:flash 1.1s ease-out 2}.pairing-list{display:flex;flex-direction:column;min-width:0;border-left:1px solid var(--lv-border);background:var(--lv-bg)}.pl-head{display:flex;gap:8px;align-items:center;padding:7px 10px;border-bottom:1px solid var(--lv-border)}.pl-head select{flex:1 1 auto;min-width:0}.pl-multi{position:relative;flex:1 1 auto;min-width:0}.pl-multi-btn{width:100%;display:flex;align-items:center;gap:6px;cursor:pointer;font-size:12px;border:1px solid var(--lv-input);border-radius:var(--radius-sm);padding:4px 8px;background:var(--lv-bg);color:var(--lv-text)}.pl-multi-btn:hover{border-color:var(--lv-primary)}.pl-multi-lbl{flex:1 1 auto;min-width:0;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pl-multi-caret{flex:0 0 auto;color:var(--lv-muted);font-size:10px}.pl-multi-backdrop{position:fixed;inset:0;z-index:40}.pl-multi-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:41;background:var(--lv-bg);border:1px solid var(--lv-border);border-radius:var(--radius-sm);box-shadow:0 6px 20px #0000002e;padding:4px}.pl-multi-opt{display:flex;align-items:center;gap:8px;padding:5px 7px;cursor:pointer;font-size:12px;border-radius:var(--radius-sm)}.pl-multi-opt:hover{background:var(--lv-muted-bg)}.pl-multi-opt input{flex:0 0 auto;cursor:pointer}.pl-multi-name{flex:1 1 auto;min-width:0}.pl-multi-cnt{flex:0 0 auto;color:var(--lv-muted);font-variant-numeric:tabular-nums}.pl-multi-foot{display:flex;gap:6px;padding:5px 4px 2px;margin-top:3px;border-top:1px solid var(--lv-row-border)}.pl-multi-foot button{flex:1 1 auto;font-size:11px;padding:3px 6px;cursor:pointer;border:1px solid var(--lv-input);border-radius:var(--radius-sm);background:var(--lv-bg);color:var(--lv-text)}.pl-multi-foot button:hover{border-color:var(--lv-primary);color:var(--lv-primary)}.pl-filters{display:flex;gap:6px;padding:6px 10px;border-bottom:1px solid var(--lv-row-border)}.pl-filters select,.pl-search{font-size:12px;border:1px solid var(--lv-input);border-radius:var(--radius-sm);padding:3px 6px;background:var(--lv-bg);color:var(--lv-text)}.pl-search{flex:1 1 auto;min-width:0}.pl-tools{display:flex;gap:6px;align-items:center;padding:5px 10px;border-bottom:1px solid var(--lv-row-border)}.pl-tools .btn{font-size:12px;padding:2px 8px}.pl-body{flex:1 1 auto;overflow:auto}.pl-item{display:flex;gap:8px;align-items:center;padding:6px 10px;height:46px;box-sizing:border-box;overflow:hidden;border-bottom:1px solid var(--lv-row-border);cursor:pointer}.pl-item:hover{background:var(--lv-muted-bg)}.pl-item.sel{background:var(--lv-tint);box-shadow:inset 3px 0 0 var(--lv-primary)}.pl-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto}.pl-dot.ok{background:var(--lv-ok)}.pl-dot.bad{background:var(--lv-danger)}.pl-dot.nofix{background:var(--lv-info)}.pl-mark{width:12px;flex:0 0 auto;text-align:center;font-size:13px;font-weight:900;line-height:1}.pl-mark.ok{color:var(--lv-ok)}.pl-mark.bad{color:var(--lv-danger)}.pl-main{flex:1 1 auto;min-width:0}.pl-line{font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pl-sub{color:var(--lv-muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pl-acts{display:flex;gap:4px;flex:0 0 auto}.pl-act{font-size:11px;padding:2px 7px;border:1px solid var(--lv-input);border-radius:var(--radius-sm);background:var(--lv-bg);color:var(--lv-text);cursor:pointer;flex:0 0 auto;white-space:nowrap}.pl-act:hover{background:var(--lv-primary);color:#fff;border-color:var(--lv-primary)}.pl-act.warn{border-color:var(--lv-danger);color:var(--lv-danger)}.pl-act.warn:hover{background:var(--lv-danger);color:#fff;border-color:var(--lv-danger)}.empty{margin:auto;color:var(--lv-muted);text-align:center;padding:40px}.detail-panel{flex:0 0 auto;border-top:1px solid var(--lv-border);background:var(--lv-bg)}.dp-head{display:flex;align-items:center;gap:14px;padding:5px 12px;font-size:12px}.dp-toggle{border:1px solid var(--lv-input);background:var(--lv-bg);color:var(--lv-text);border-radius:var(--radius-sm);width:24px;height:20px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.dp-toggle:hover{background:var(--lv-hover-bg);color:var(--lv-hover-text)}.dp-title{font-weight:600}.dp-hint{color:var(--lv-muted)}.dp-summary{color:var(--lv-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums;min-width:0}.pill{border:1px solid var(--lv-border);border-radius:var(--radius-sm);padding:1px 7px;background:var(--lv-muted-bg);white-space:nowrap}.pill.ok{color:var(--lv-ok);border-color:var(--lv-ok);background:#f0fdf4}.pill.bad{color:var(--lv-danger);border-color:var(--lv-danger);background:#fef2f2}.pill.nofix{color:var(--lv-info);border-color:var(--lv-info);background:#eff6ff}.legend{display:flex;gap:12px;align-items:center;color:var(--lv-muted)}.legend i{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:4px;vertical-align:-1px;border:1.5px solid}.legend .ok{border-color:var(--lv-ok);background:#16a34a2e}.legend .bad{border-color:var(--lv-danger);background:#dc26262e}.legend .nofix{border-color:var(--lv-info);background:#2563eb2e}.legend .none{border-color:#9aa0a6;background:#9aa0a62e}.dp-body{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--lv-row-border);max-height:32vh;overflow:auto}.dp-col{padding:8px 14px 10px}.dp-col+.dp-col{border-left:1px solid var(--lv-border)}.dp-col h4{margin:0 0 6px;font-size:11px;color:var(--lv-muted);text-transform:uppercase;letter-spacing:.05em}.dp-col.muted{color:var(--lv-muted)}.dp-field{display:flex;gap:10px;padding:2px 0;align-items:baseline}.dp-field b{color:var(--lv-muted);font-weight:600;min-width:64px;flex:0 0 auto}.dp-field span{font-variant-numeric:tabular-nums;word-break:break-all}.dp-note{color:var(--lv-text)}.tv-pairlabels{display:inline-flex;gap:6px;min-width:0;flex:0 1 auto;overflow:hidden}.tv-pairlabels>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:340px}.tv-pairsep{color:var(--lv-muted);flex:none}.phase-banner{display:flex;align-items:center;gap:10px;flex:0 0 auto;padding:6px 14px;font-size:13px;background:var(--lv-tint);border-bottom:1px solid var(--lv-tint-strong)}.phase-banner .pb-tag{font-size:11px;font-weight:700;color:#fff;background:var(--lv-primary);padding:1px 7px;border-radius:var(--radius-sm);letter-spacing:.02em}.phase-banner .pb-btn{margin-left:auto}.wiz-step{font-size:12px;font-weight:500;color:var(--muted, #6b7280)}.wiz-upload p,.wiz-section>p{margin:0 0 12px}.wiz-slots{display:flex;align-items:center;gap:14px;margin:16px 0}.wiz-slot{flex:1 1 0;display:flex;flex-direction:column;gap:4px;padding:18px 16px;border:2px dashed var(--lv-border, #d1d5db);border-radius:var(--radius-md, 8px);cursor:pointer;text-align:center}.wiz-slot.filled{border-style:solid;border-color:#16a34a;background:#16a34a0d}.wiz-slot.drag{border-style:solid;border-color:var(--lv-primary);background:#fd51080f}.wiz-slot-label{font-weight:600;font-size:13px}.wiz-slot-file{font-size:12px;color:var(--muted, #6b7280);word-break:break-all}.wiz-slot-preview{max-width:100%;max-height:440px;align-self:center;border:1px solid var(--lv-border, #d1d5db);border-radius:4px;box-shadow:0 1px 4px #0000001a}.wiz-stepnum{color:var(--lv-primary);font-weight:700}.wiz-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.btn.primary{background:#fd5108;color:#fff;border-color:#fd5108}.btn.primary:disabled{opacity:.45}.wiz-err{color:#dc2626}.wiz-progress{padding:40px 8px;text-align:center}.wiz-bar{height:10px;border-radius:6px;background:#e5e7eb;overflow:hidden;margin:12px auto;max-width:420px}.wiz-bar-fill{height:100%;background:#fd5108;transition:width .12s linear}.wiz-hint{font-size:12px;color:var(--muted, #6b7280)}.wiz-seccols{display:flex;gap:20px}.wiz-seccols4{display:flex;gap:16px;align-items:flex-start;justify-content:center}.wiz-seccol{flex:0 0 auto}.wiz-seccol h4{margin:0 0 6px;font-size:13px}.wiz-preview-pane{flex:0 0 420px;position:sticky;top:0;display:flex;flex-direction:column;gap:4px}.wiz-preview-cap{font-size:11px;font-weight:600;color:var(--muted, #6b7280)}.wiz-preview-pane img{width:100%;height:auto;border:1px solid var(--lv-border, #d1d5db);border-radius:4px;box-shadow:0 2px 8px #0000001f}.wiz-preview-empty{font-size:11px;color:var(--muted, #6b7280);border:1px dashed var(--lv-border, #d1d5db);border-radius:4px;padding:40px 8px;text-align:center}.wiz-sectable{width:auto;border-collapse:collapse;font-size:12px}.wiz-sectable th,.wiz-sectable td{border:1px solid var(--lv-border, #e5e7eb);padding:3px 8px;text-align:left}.wiz-sectable th{background:var(--lv-bg2, #f9fafb);font-weight:600}.wiz-sectable th:first-child,.wiz-sectable td:first-child{white-space:nowrap}.wiz-sectable th:nth-child(n+2),.wiz-sectable td:nth-child(n+2){text-align:center}.wiz-badges{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px}.wiz-badge{font-size:12px;padding:3px 9px;border-radius:12px;font-weight:500}.wiz-badge.ok{background:#16a34a1f;color:#15803d}.wiz-badge.bad{background:#dc26261f;color:#b91c1c}.wiz-badge-note{font-size:11px;color:var(--muted, #6b7280)}.wiz-startcell{white-space:nowrap}.wiz-stepbtn{border:1px solid var(--lv-border, #d1d5db);background:var(--lv-bg, #fff);color:var(--lv-text);border-radius:4px;width:20px;height:22px;line-height:1;font-size:13px;cursor:pointer;padding:0;vertical-align:middle}.wiz-stepbtn:hover:not(:disabled){background:var(--lv-bg2, #f3f4f6)}.wiz-stepbtn:disabled{opacity:.3;cursor:default}.wiz-nudge{border:1px solid var(--lv-border, #d1d5db);background:var(--lv-bg, #fff);border-radius:4px;width:18px;height:16px;line-height:1;font-size:9px;cursor:pointer;padding:0;vertical-align:middle}.wiz-nudge:disabled{opacity:.3;cursor:default}.wiz-startnum{display:inline-block;min-width:22px;text-align:center;font-variant-numeric:tabular-nums}.wiz-thumb-anchor{position:relative;cursor:zoom-in}.wiz-thumb-pop{position:absolute;left:100%;top:50%;transform:translateY(-50%);z-index:200;margin-left:6px;border:1px solid var(--lv-border, #d1d5db);box-shadow:0 4px 16px #0000002e;background:#fff;padding:2px}.wiz-thumb-pop img{display:block;width:340px;height:auto}.wiz-secchk{text-align:center}.wiz-secchk input{cursor:pointer}.wiz-secchk input:disabled{cursor:default;opacity:.5}.wiz-required{color:#f97316;font-weight:600;font-size:11px}.wiz-startinput{width:42px;margin:0 3px;padding:2px 4px;font-size:12px;text-align:center;font-variant-numeric:tabular-nums;border:1px solid var(--lv-border, #d1d5db);border-radius:4px;background:var(--lv-bg, #fff);color:var(--lv-text)}.wiz-startinput:disabled{opacity:.4;background:var(--lv-bg2, #f3f4f6)}.wiz-startinput::-webkit-inner-spin-button,.wiz-startinput::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.wiz-startinput{-moz-appearance:textfield;appearance:textfield}.wiz-eye{display:inline-flex;align-items:center;color:var(--lv-primary);cursor:pointer}.wiz-eye:hover{color:var(--lv-text)}.wiz-row-off td{opacity:.5}.wiz-secerr{margin:6px 0 0;font-size:11px}.wiz-secerr-h{font-weight:600;color:#c2410c}.wiz-secerr ul{margin:2px 0 0;padding-left:2px;list-style:none;color:#c2410c}.wiz-secerr li{margin:1px 0}.wiz-warn{color:#f97316;font-weight:700}.wiz-headcell{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted, #6b7280)}.wiz-numtab{width:640px;max-width:100%;margin:4px auto 0}.wiz-numtab th,.wiz-numtab td{padding:5px 14px}.wiz-numnote{max-width:780px;margin:4px auto 14px;font-size:12px;line-height:1.7;color:var(--muted, #6b7280);text-align:center}.wiz-row-bad td{background:#dc26261a;color:#b91c1c;font-weight:600}.wiz-row-warn td{background:#eab3081f}.wiz-splitstatus{padding:8px 12px;border-radius:6px;font-size:13px;font-weight:600;margin-bottom:8px;background:#f3f4f6}.wiz-splitstatus.ok{background:#16a34a1f;color:#15803d}.wiz-splitstatus.bad{background:#dc26261f;color:#b91c1c}.wiz-checklist{list-style:none;margin:0 0 10px;padding:8px 12px;border:1px solid var(--lv-border, #e5e7eb);border-radius:6px;font-size:12px;background:#f9fafb}.wiz-checklist li{display:flex;gap:6px;align-items:baseline;margin:3px 0}.wiz-checklist li.ok{color:#15803d}.wiz-checklist li.bad{color:#c2410c}.wiz-checklist li.wait{color:#9ca3af}.wiz-chk-icon{flex:0 0 14px;text-align:center;font-weight:700}.wiz-chk-detail{color:var(--muted, #6b7280)}.wiz-del-btn{display:inline-flex;align-items:center;justify-content:center;border:none;background:none;color:#dc2626;cursor:pointer;padding:3px;border-radius:4px}.wiz-del-btn:hover{background:#dc26261f}.wiz-cell-warn{font-size:11px;color:#f97316;line-height:1.4;text-align:left}.wiz-expandrow>td{background:var(--lv-bg2, #f9fafb);padding:10px 14px}.wiz-subedit{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.wiz-subrow{display:flex;align-items:center;gap:10px;font-size:12px}.wiz-subkey{min-width:28px;font-weight:600;text-align:center}.wiz-markercell{display:inline-flex;flex-direction:column;align-items:stretch;gap:2px}.wiz-side{font-size:11px;color:var(--muted, #6b7280)}.wiz-subcell{display:inline-flex;align-items:center;gap:4px}.wiz-markerinput{font-size:12px;padding:2px 6px;border:1px solid var(--lv-border, #d1d5db);border-radius:4px;width:240px}.wiz-markerinput.wide{width:340px}.wiz-markerinput.missing{border-color:#f97316;background:#f9731612}.wiz-markerinput.missing::placeholder{color:#f97316;opacity:.8}.wiz-markercell.wide{max-width:100%}.wiz-majornum{font-size:12px;padding:2px 10px;white-space:nowrap;text-align:center}.wiz-addmajor{margin-top:8px}.wiz-majorgroup{width:fit-content;max-width:100%;margin:0 auto}.wiz-majorgroup .wiz-numtab{margin-left:0;margin-right:0}.wiz-null{font-size:11px;color:#9ca3af;font-style:italic}.btn.tiny{font-size:11px;padding:2px 8px}.wiz-dualtext{display:flex;gap:14px}.wiz-dualtext>div{flex:1 1 0;min-width:0}.wiz-dualtext h5{margin:0 0 4px;font-size:12px}.wiz-dualtext pre{margin:0;height:440px;overflow:auto;white-space:pre-wrap;word-break:break-word;font-size:11px;line-height:1.5;background:#fff;border:1px solid var(--lv-border, #e5e7eb);border-radius:4px;padding:6px 8px}.wiz-splitresult{margin-top:4px}.wiz-splitresult-h{font-size:12px;font-weight:600;color:var(--muted, #6b7280);margin-bottom:6px}.wiz-seg{margin-bottom:8px}.wiz-seg-key{font-size:11px;font-weight:700;color:var(--lv-primary);margin-bottom:2px}.wiz-segdual{display:flex;gap:10px;align-items:stretch}.wiz-segbox{flex:1 1 0;min-width:0;max-height:240px;overflow:auto;white-space:pre-wrap;word-break:break-word;font-size:11px;line-height:1.5;background:#fff;border:1px solid var(--lv-border, #e5e7eb);border-radius:4px;padding:6px 8px}.wiz-segbox.empty{color:#f97316;font-style:italic;background:#f973160d}.wiz-3pane{display:flex;align-items:stretch;height:62vh;border:1px solid var(--lv-border, #e5e7eb);border-radius:6px;overflow:hidden}.wiz-pane{overflow:auto;padding:8px 10px;min-width:0}.wiz-pane-grow{flex:1 1 0}.wiz-pane table,.wiz-pane .wiz-markerinput{width:100%}.wiz-pane-h{font-size:12px;font-weight:600;color:var(--lv-text);margin-bottom:6px}.wiz-pane-empty{color:var(--muted, #6b7280);font-size:12px;padding:24px 8px;text-align:center}.wiz-resizer{flex:0 0 6px;cursor:col-resize;background:var(--lv-border, #e5e7eb)}.wiz-resizer:hover{background:var(--lv-primary)}.wiz-gear{display:inline-flex;align-items:center;justify-content:center;border:none;background:none;color:var(--muted, #6b7280);cursor:pointer;padding:2px;border-radius:4px}.wiz-gear:hover{color:var(--lv-primary);background:#fd510814}.wiz-row-sel td{background:#fd51081a}.wiz-pane th:first-child,.wiz-pane td:first-child{text-align:center}.wiz-pane th{white-space:nowrap}.btn-group{display:inline-flex;align-items:stretch}.btn-group>.btn,.btn-group>.filechip{border-radius:0}.btn-group>*+*{margin-left:-1px}.btn-group>*:first-child{border-top-left-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm)}.btn-group>*:last-child{border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm)}.btn-group>*:hover,.btn-group>*:focus-visible{position:relative;z-index:1}.cnt .cnt-sym{display:inline;font-size:12px;line-height:1}@media(max-width:1400px){.topbar .btn.ico .btn-label,.topbar .filechip .btn-label,.cnt .cnt-t{display:none}}
