.dfrev-overlay{position:fixed;inset:0;z-index:9998;display:flex;align-items:center;justify-content:center;background:rgba(33,27,23,.45);animation:dfrev-fade .25s ease both;padding:24px}@keyframes dfrev-fade{0%{opacity:0}to{opacity:1}}.dfrev-modal{display:flex;flex-direction:column;width:min(1100px,96vw);max-height:90vh;background:var(--surface-raised);border-radius:18px;overflow:hidden;box-shadow:0 40px 100px -24px rgba(33,27,23,.5);animation:dfrev-rise .4s cubic-bezier(.22,1,.36,1) both}@keyframes dfrev-rise{0%{transform:translateY(18px) scale(.98);opacity:0}to{transform:none;opacity:1}}.dfrev-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;border-bottom:1px solid var(--border);background:var(--surface-flat)}.dfrev-title{font-size:16px;font-weight:700;color:var(--text-ink)}.dfrev-subtitle{font-size:12.5px;color:var(--text-muted);margin-top:2px}.dfrev-header-actions{display:flex;align-items:center;gap:12px}.dfrev-link{background:none;border:none;cursor:pointer;font-size:12.5px;font-weight:600;color:var(--text-accent);padding:4px 6px;border-radius:6px}.dfrev-link:hover{background:var(--accent-tint)}.dfrev-close{background:none;border:none;cursor:pointer;font-size:15px;color:var(--text-muted);width:28px;height:28px;border-radius:8px}.dfrev-close:hover{background:var(--surface-sunken);color:var(--text-ink)}.dfrev-main{flex:1 1;min-height:0;display:flex}.dfrev-rail{width:240px;flex-shrink:0;overflow-y:auto;border-right:1px solid var(--border);padding:10px;display:flex;flex-direction:column;gap:4px;background:var(--surface-flat)}.dfrev-rail-item{display:flex;align-items:center;gap:9px;padding:8px 9px;border-radius:10px;cursor:pointer;transition:background .15s}.dfrev-rail-item:hover{background:var(--surface-sunken)}.dfrev-rail-item.is-active{background:var(--accent-tint)}.dfrev-rail-label{flex:1 1;min-width:0;font-size:12.5px;font-weight:600;color:var(--text-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dfrev-rail-item.is-active .dfrev-rail-label{color:var(--text-accent)}.dfrev-rail-badge{flex-shrink:0;font-size:10.5px;font-weight:700;color:var(--text-muted);background:var(--surface-sunken);border-radius:999px;padding:1px 7px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dfrev-stage-check{flex-shrink:0;width:20px;height:20px;border-radius:6px;border:1.5px solid var(--border-strong);background:var(--surface-raised);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;line-height:1;color:var(--text-on-ink);transition:background .15s,border-color .15s}.dfrev-stage-check.is-all{background:var(--status-won);border-color:var(--status-won)}.dfrev-stage-check.is-some{background:var(--status-warn);border-color:var(--status-warn)}.dfrev-stage-check.is-none{background:var(--surface-raised);border-color:var(--border-strong);color:transparent}.dfrev-stage-check:hover{filter:brightness(.97)}.dfrev-detail{flex:1 1;min-width:0;overflow-y:auto;padding:18px 22px}.dfrev-detail-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.dfrev-detail-title{font-size:14px;font-weight:700;color:var(--text-ink)}.dfrev-detail-tools{display:flex;align-items:center;gap:10px}.dfrev-viewtoggle{display:inline-flex;background:var(--surface-sunken);border-radius:8px;padding:2px}.dfrev-viewtoggle button{border:none;background:none;font-size:11.5px;font-weight:600;color:var(--text-muted);padding:4px 10px;border-radius:6px;cursor:pointer}.dfrev-viewtoggle button.is-on{background:var(--surface-raised);color:var(--text-accent);box-shadow:0 1px 2px rgba(33,27,23,.12)}.dfrev-nav{display:inline-flex;align-items:center;gap:6px}.dfrev-nav button{width:26px;height:26px;border:1px solid var(--border);background:var(--surface-raised);border-radius:7px;cursor:pointer;color:var(--text-body);font-size:15px;line-height:1;display:flex;align-items:center;justify-content:center}.dfrev-nav button:disabled{opacity:.4;cursor:default}.dfrev-nav button:not(:disabled):hover{background:var(--surface-sunken)}.dfrev-nav-count{font-size:11.5px;color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:38px;text-align:center}.dfrev-sections{display:flex;flex-direction:column;gap:14px}.dfrev-section{border:1px solid var(--border);border-radius:12px;padding:12px 14px;transition:border-color .2s,background .2s,opacity .2s}.dfrev-section.is-accepted{border-color:var(--status-won);background:var(--status-won-bg)}.dfrev-section.is-discarded{background:var(--surface-flat);opacity:.92}.dfrev-section-head{justify-content:space-between;gap:12px;margin-bottom:10px}.dfrev-section-head,.dfrev-section-meta{display:flex;align-items:center;flex-wrap:wrap}.dfrev-section-meta{gap:8px}.dfrev-section-label{font-size:13px;font-weight:700;color:var(--text-ink)}.dfrev-delta{font-size:10.5px;font-weight:700;color:var(--text-muted);background:var(--surface-sunken);border-radius:999px;padding:2px 8px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dfrev-conflict{font-size:10.5px;font-weight:700;color:var(--status-warn);background:var(--status-warn-bg);border:1px solid var(--status-warn);border-radius:999px;padding:2px 8px}.dfrev-diff{font-size:12.5px;line-height:1.65;white-space:pre-wrap;word-break:break-word;background:var(--surface-flat);border:1px solid var(--border);border-radius:10px;padding:11px 13px;max-height:360px;overflow-y:auto}.dfrev-diff,.dfrev-same{color:var(--text-body)}.dfrev-add{background:var(--status-won-bg);color:var(--status-won)}.dfrev-add,.dfrev-del{border-radius:3px;padding:0 1px}.dfrev-del{background:var(--status-lost-bg);color:var(--status-lost);text-decoration:line-through;text-decoration-color:var(--status-lost)}.dfrev-collapse{display:inline;border:1px solid var(--accent-tint-border);color:var(--text-accent);font-size:11px;font-weight:600;border-radius:999px;padding:0 7px;margin:0 3px;cursor:pointer;vertical-align:baseline}.dfrev-collapse,.dfrev-collapse:hover{background:var(--accent-tint)}.dfrev-cols{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.dfrev-col{border-radius:10px;padding:10px 12px}.dfrev-col--old{background:var(--status-lost-bg);border:1px solid var(--status-lost-bg)}.dfrev-col--new{background:var(--status-won-bg);border:1px solid var(--status-won-bg)}.dfrev-col-tag{font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px}.dfrev-col--old .dfrev-col-tag{color:var(--status-lost)}.dfrev-col--new .dfrev-col-tag{color:var(--status-won)}.dfrev-col-text{font-size:12.5px;line-height:1.5;color:var(--text-ink);white-space:pre-wrap;word-break:break-word;max-height:300px;overflow-y:auto}.dfrev-empty{color:var(--text-muted)}.dfrev-toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dfrev-toggle input{position:absolute;opacity:0;pointer-events:none}.dfrev-toggle-track{width:38px;height:22px;border-radius:999px;background:var(--border-strong);position:relative;transition:background .25s;flex-shrink:0}.dfrev-toggle input:checked+.dfrev-toggle-track{background:var(--accent)}.dfrev-toggle-thumb{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--surface-raised);box-shadow:0 1px 3px rgba(33,27,23,.25);transition:transform .25s cubic-bezier(.22,1,.36,1)}.dfrev-toggle input:checked+.dfrev-toggle-track .dfrev-toggle-thumb{transform:translateX(16px)}.dfrev-toggle-label{font-size:12px;font-weight:600;color:var(--text-body);min-width:108px}.dfrev-footer{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 22px;border-top:1px solid var(--border);background:var(--surface-flat)}.dfrev-footer-hint{font-size:12px;color:var(--text-muted);line-height:1.5}.dfrev-footer-warn{color:var(--status-warn);font-weight:600}.dfrev-footer-actions{display:flex;gap:10px;flex-shrink:0}@media (max-width:760px){.dfrev-main{flex-direction:column}.dfrev-rail{width:auto;flex-direction:row;overflow-x:auto;overflow-y:hidden;border-right:none;border-bottom:1px solid var(--border);max-height:none}.dfrev-rail-item{flex-shrink:0}.dfrev-cols{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.dfrev-modal,.dfrev-overlay{animation-duration:.01ms}}.dfver-modal-sm{width:min(560px,96vw)}.dfver-list{flex:1 1;min-height:0;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:6px}.dfver-item{position:relative;text-align:left;background:var(--surface-flat);border:1px solid var(--border);border-radius:12px;padding:11px 38px 11px 14px;cursor:pointer;transition:border-color .15s,background .15s}.dfver-item:hover{background:var(--surface-sunken);border-color:var(--border-strong)}.dfver-item-main{display:flex;align-items:center;gap:8px}.dfver-item-time{font-size:13px;font-weight:700;color:var(--text-ink)}.dfver-tag{font-size:10px;font-weight:700;color:var(--text-accent);background:var(--accent-tint);border-radius:999px;padding:1px 7px}.dfver-item-sub{font-size:12px;color:var(--text-muted);margin-top:2px}.dfver-item-go{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:18px;color:var(--text-muted)}.dfver-item:hover .dfver-item-go{color:var(--text-body)}.dfver-status{padding:22px 18px;font-size:13px;color:var(--text-muted);text-align:center;line-height:1.6}.dfver-status-grow{flex:1 1;display:flex;align-items:center;justify-content:center}.dfver-status-error{color:var(--status-lost)}.dfver-head-left{display:flex;align-items:center;gap:12px;min-width:0}.dfver-back{flex-shrink:0;border:1px solid var(--border);border-radius:8px;cursor:pointer;font-size:12px;font-weight:600;color:var(--text-body);padding:5px 10px}.dfver-back,.dfver-back:hover{background:var(--surface-sunken)}.dfver-back:hover{color:var(--text-ink)}.dfver-kind-tag{margin-left:8px;font-size:10.5px;font-weight:700;border-radius:999px;padding:2px 8px;vertical-align:middle}.dfver-kind-recreate{color:var(--status-won);background:var(--status-won-bg);border:1px solid var(--status-won)}.dfver-kind-keep{background:var(--surface-sunken)}.dfver-kind-keep,.dfver-note{color:var(--text-muted);border:1px solid var(--border)}.dfver-note{font-size:12.5px;background:var(--surface-flat);border-radius:10px;padding:10px 12px;margin-bottom:14px;line-height:1.55}