.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#555;--xy-background-pattern-lines-color-default:#333;--xy-background-pattern-cross-color-default:#333;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-latin.woff2)format("woff2")}:root{--bg:#f6faf8;--panel:#fff;--ink:#12261f;--muted:#5b6f67;--line:#dde9e4;--brand:#10b981;--brand-deep:#065f46;--brand-mint:#d1fae5;--accent:#065f46;--accent-hover:#047857;--accent-ink:#fff;--link:#047857;--st-ok:#0f9aa6;--st-ok-bg:#e0f5f7;--st-ok-line:#a5dde3;--st-ok-ink:#0b6670;--warn:#d9a21f;--danger:#c0392b;--ok:#0f9aa6;--focus:#047857;--radius:8px;color:var(--ink);background:var(--bg);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}button,.button{font:inherit;border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;border-radius:6px;padding:5px 10px;text-decoration:none;display:inline-block}button:hover:not(:disabled),.button:hover{background:#f4faf7;border-color:#bcd3ca}button:disabled{opacity:.55;cursor:not-allowed}button.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}button.primary:hover:not(:disabled){background:var(--accent-hover)}button.danger{color:var(--danger);border-color:#f0c4be}button.small,.small{font-size:12px}button.mini{padding:0 6px;font-size:11px;line-height:18px}button.linklike{color:var(--link);text-align:left;background:0 0;border:none;padding:0}button.linklike:hover{background:0 0;text-decoration:underline}input,select,textarea{font:inherit;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:6px;min-width:0;padding:5px 8px}textarea.code{width:100%;font-family:ui-monospace,Consolas,monospace;font-size:12px}h1,h2,h3,h4{margin:0 0 8px}h3{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-top:4px;font-size:12px}h4{margin-top:16px;font-size:13px}.muted{color:var(--muted)}.hint{color:var(--muted);margin:4px 0 8px;font-size:12px}.unavailable{color:var(--muted);font-style:italic}.error-text{color:var(--danger)}.row{flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0;display:flex}.row input[type=number]{width:84px}.app{flex-direction:column;height:100%;display:flex}.topbar{background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 12px;display:flex}.brand{letter-spacing:.01em;font-size:15px}.topbar .search{flex:220px;max-width:360px}.stats{color:var(--muted);margin-left:auto}.segmented{border:1px solid var(--line);border-radius:7px;display:inline-flex;overflow:hidden}.segmented button{border:none;border-radius:0}.segmented button.on{background:var(--ink);color:#fff}.main{flex:1;min-height:0;display:flex;position:relative}.sidebar{background:var(--panel);border-right:1px solid var(--line);flex:none;width:250px;padding:12px;overflow-y:auto}.sidebar section{margin-bottom:18px}.sidebar input[type=search]{width:100%}.check{cursor:pointer;align-items:center;gap:6px;margin:4px 0;display:flex}.canvas{flex:1;min-width:0;position:relative}.sidepanel{background:var(--panel);border-left:1px solid var(--line);flex:none;width:380px;padding:14px 16px 24px;position:relative;overflow-y:auto}.close{background:0 0;border:none;font-size:20px;line-height:1;position:absolute;top:8px;right:8px}@media (width<=1100px){.sidebar{width:210px}.sidepanel{z-index:5;position:absolute;top:0;bottom:0;right:0;box-shadow:-8px 0 24px #141e321f}}@media (width<=760px){.sidebar{display:none}.sidepanel{width:100%}}.legend{margin:0;padding:0;list-style:none}.legend li{justify-content:space-between;align-items:center;gap:6px;margin:3px 0;font-size:13px;display:flex}.legend.static li{justify-content:flex-start}.legend li.off{opacity:.4}.legend .linklike{color:var(--ink);align-items:center;gap:6px;display:flex}.swatch{border-radius:50%;flex:none;width:12px;height:12px;display:inline-block}.legend-node{background:#d1fae5;border:2px solid #10b981;border-radius:999px;width:26px;height:12px;display:inline-block}.legend-node.doc{background:#064e3b;border-color:#064e3b;border-radius:3px}.legend-node.no-pdf{border-style:dashed}.legend-node.match{box-shadow:0 0 0 3px #ffd54a}.node-pub,.node-group{border:2px solid var(--cat);background:color-mix(in srgb, var(--cat) 12%, white);border-radius:999px;justify-content:center;align-items:center;padding:0 14px;font-size:12px;transition:opacity .15s;display:flex;position:relative}.node-pub.no-pdf{background:#fff;border-style:dashed}.node-pub.selected,.node-doc.selected,.node-group.selected{box-shadow:0 0 0 3px #0b63ce73}.node-pub.match,.node-group.match{box-shadow:0 0 0 4px #ffd54a}.dim{opacity:.18}.node-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.node-badge{background:var(--cat);color:#fff;border-radius:999px;padding:0 5px;font-size:10px;line-height:16px;position:absolute;top:-8px;right:-4px}.node-doc{color:#fff;background:#064e3b;border-radius:6px;flex-direction:column;justify-content:center;padding:0 12px;font-size:12px;display:flex}.node-kicker{text-transform:uppercase;letter-spacing:.08em;opacity:.7;font-size:9px}.node-group{box-shadow:4px 4px 0 -1px #fff, 4px 4px 0 1px var(--cat);border-radius:14px;flex-direction:column}.node-sub{color:var(--muted);font-size:10px}.node-expand{padding:0 6px;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.canvas-actions{align-items:center;gap:6px;display:flex}.empty-state,.mode-note{border:1px solid var(--line);border-radius:var(--radius);color:var(--muted);background:#fff;padding:10px 14px}.mode-note{z-index:4;max-width:560px;font-size:13px;position:absolute;top:12px;left:50%;transform:translate(-50%)}.loading{color:var(--muted);padding:40px}.pub-title{padding-right:20px;font-size:16px;line-height:1.35}.meta{grid-template-columns:92px 1fr;gap:6px 10px;margin:10px 0;display:grid}.meta dt{color:var(--muted);font-size:12px}.meta dd{word-break:break-word;margin:0}.abstract{max-height:140px;font-size:12px;overflow-y:auto}.actions{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.list{margin:0;padding:0;list-style:none}.list li{border-bottom:1px dashed #eef0f3;padding:3px 0}.chips{flex-wrap:wrap;gap:4px;margin:4px 0;padding:0;list-style:none;display:flex}.chip{border-radius:999px;padding:1px 7px;font-size:11px}.badge{border:1px solid var(--line);color:var(--ink);white-space:nowrap;background:#eff5f2;border-radius:999px;padding:1px 8px;font-size:11px;display:inline-block}.badge.status-confirmed,.badge.status-validated{background:var(--st-ok-bg);border-color:var(--st-ok-line);color:var(--st-ok-ink)}.badge.status-unverified,.badge.status-candidate,.badge.status-inconclusive,.badge.warn{color:#8a5a12;background:#fff4e5;border-color:#f5d3a3}.badge.status-suggested,.badge.suggested{color:#5b3f86;background:#f1ecf8;border-color:#d8cbea}.badge.status-rejected,.badge.status-potential_contradiction{color:#8f2a1f;background:#fdecea;border-color:#f2c1bb}.prov{border:1px solid var(--line);border-radius:var(--radius);background:#fbfbfc;margin:8px 0;padding:8px 10px}.prov-method{margin-bottom:4px;font-size:12px;font-weight:600}blockquote{background:#fff;border-left:3px solid #bcd3ca;margin:6px 0;padding:6px 10px;font-size:12px}.edge-ends{font-size:14px}.viewer{z-index:50;background:#525866;flex-direction:column;display:flex;position:fixed;inset:0}.viewer-bar{background:var(--panel);border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:8px 12px;display:flex}.viewer-title{flex-direction:column;flex:1;min-width:0;display:flex}.viewer-title>*{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.viewer-nav{align-items:center;gap:6px;display:flex}.page-input{width:64px}.viewer-body{flex:1;justify-content:center;align-items:flex-start;padding:20px;display:flex;overflow:auto}.page-wrap{background:#fff;position:relative;box-shadow:0 4px 20px #0000004d}.page-wrap canvas{display:block}.hl{pointer-events:none;mix-blend-mode:multiply;background:#ffd54a61;outline:1px solid #d98a1fcc;position:absolute}.notice{color:#5f5126;background:#fffcf3;border-bottom:1px solid #f3e7c4;padding:5px 12px;font-size:12.5px}.notice.ok{background:#e8f8f0;border-color:#bfe9d4}.notice.error{color:#8f2a1f;cursor:pointer;background:#fdecea;border-color:#f2c1bb}.drawer{z-index:40;background:var(--panel);width:min(820px,100%);padding:0 18px 30px;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-10px 0 30px #141e322e}.drawer-head{background:var(--panel);border-bottom:1px solid var(--line);z-index:1;margin-bottom:10px;padding:14px 0 8px;position:sticky;top:0}.drawer section{margin:16px 0}.upload-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:8px 0;display:grid}.upload{border-radius:var(--radius);border:1px dashed #bcd3ca;flex-direction:column;gap:6px;padding:10px;font-size:13px;display:flex}table.files{border-collapse:collapse;width:100%;font-size:13px}table.files th,table.files td{text-align:left;vertical-align:top;border-bottom:1px solid #eef0f3;padding:6px 4px}table.files td:first-child{text-overflow:ellipsis;max-width:220px;overflow:hidden}table.files select{max-width:220px}.review{padding:8px 0}.danger-zone{border-top:1px solid #f2c1bb;padding-top:12px}.welcome{background:var(--panel);border:1px solid var(--line);border-radius:12px;max-width:640px;margin:8vh auto;padding:28px 32px}.welcome section{margin-top:20px}.ct-textlayer{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;opacity:1;z-index:1;line-height:1;position:absolute;inset:0;overflow:clip}.ct-textlayer :is(span,br){color:#0000;white-space:pre;cursor:text;transform-origin:0 0;position:absolute}.ct-textlayer .markedContent{display:contents}.ct-textlayer ::selection{background:#005adc4d}.page-wrap .hl{z-index:2}.phrase-ctx{background:#fffdf2;max-height:5.5em;font-style:italic;overflow:auto}.docview{flex:1;min-width:0;min-height:0;display:flex}.doc-main{flex-direction:column;flex:1;min-width:0;display:flex}.doc-toolbar{background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;display:flex}.doc-toolbar input[type=search]{flex:160px;max-width:260px}.doc-toolbar select{max-width:240px}.doc-chips{flex-wrap:wrap;gap:6px;display:flex}.chip-filter{border-radius:14px;padding:3px 10px;font-size:13px}.chip-filter.on{background:var(--ink);color:#fff}.chip-filter b{margin-left:2px}.chip-filter.st-localizado{border-color:#0f9aa6}.chip-filter.st-ressalva{border-color:#d9a21f}.chip-filter.st-nao_localizado{border-color:#c9473b}.chip-filter.st-unresolved{border-color:#7d6bb5}.doc-nav{align-items:center;gap:6px;margin-left:auto;display:inline-flex}.doc-pages{background:#525866;flex:1;padding:16px 12px 40px;overflow:auto}.doc-page{background:#fff;margin:0 auto 16px;position:relative;box-shadow:0 4px 20px #0000004d}.doc-page canvas{display:block}.doc-page-no{color:#d5d9e2;font-size:11px;position:absolute;top:-14px;right:-2px}.cm{z-index:3;cursor:pointer;mix-blend-mode:multiply;border-bottom:2px solid #0000;border-radius:2px;position:absolute}.cm-localizado{background:#3a9d6d4d;border-bottom-color:#0f9aa6}.cm-ressalva{background:#f0be2861;border-bottom-color:#d9a21f}.cm-nao_localizado{background:#d64e3f4d;border-bottom-color:#c9473b}.cm-unresolved{background:#7d6bb54d;border-bottom-color:#7d6bb5}.cm:hover{filter:brightness(.85)}.cm.sel{outline-offset:1px;mix-blend-mode:normal;background-color:#1d4ed826;outline:2px solid #047857}.cm.approx{border-bottom-style:dashed}.doc-side{background:var(--panel);border-left:1px solid var(--line);flex:none;width:410px;padding:14px 16px 24px;overflow-y:auto}.doc-empty{text-align:center;max-width:520px;margin:60px auto}.cit-panel h3{text-transform:none;letter-spacing:0;color:var(--ink);margin:6px 0 8px;font-size:15px}.cit-panel h4{margin:0}.cit-panel h5{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);margin:12px 0 4px;font-size:12px}.cit-panel blockquote{border-left:3px solid var(--line);background:#f6faf8;margin:6px 0;padding:6px 10px;font-size:13px;line-height:1.45}.cit-panel blockquote mark{background:#ffe9a8;padding:0 2px}.occ{border:1px solid var(--line);border-radius:8px;margin:10px 0;padding:10px 12px}.occ>header{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.pill{border:1px solid #0000;border-radius:10px;flex:none;padding:2px 8px;font-size:12px}.pill.st-localizado{background:var(--st-ok-bg);border-color:var(--st-ok-line);color:var(--st-ok-ink)}.pill.st-ressalva{color:#7a5700;background:#fff3d2;border-color:#efd48a}.pill.st-nao_localizado{color:#8f2a1f;background:#fbe4e1;border-color:#efb7b0}.pill.st-unresolved{color:#4b3c85;background:#ece8f7;border-color:#cfc6ea}.passage{margin:8px 0}.passage-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.chip-page,.tag{background:#eaf3ef;border-radius:8px;padding:1px 7px}.cit-list{margin:8px 0;padding:0;list-style:none}.cit-list button{text-align:left;border:none;border-bottom:1px solid var(--line);background:0 0;border-radius:0;align-items:flex-start;gap:8px;width:100%;padding:7px 2px;display:flex}.cit-list button:hover{background:#eef7f3}.cit-main{flex-direction:column;min-width:0;display:flex}.dot{background:#999;border-radius:50%;flex:none;width:10px;height:10px;margin-top:5px}.dot.st-localizado{background:#0f9aa6}.dot.st-ressalva{background:#d9a21f}.dot.st-nao_localizado{background:#c9473b}.dot.st-unresolved{background:#7d6bb5}.method{border-top:1px dashed var(--line);margin-top:14px;padding-top:8px}.topbar{gap:12px;min-height:52px;padding:0 14px;box-shadow:0 1px #1018280a}.brand{letter-spacing:-.01em;color:var(--accent);font-size:16px;font-weight:700}.tabs{align-self:stretch;align-items:stretch;gap:2px;margin:0 4px;display:inline-flex}.tabs button{color:var(--muted);background:0 0;border:none;border-bottom:3px solid #0000;border-radius:0;padding:0 14px;font-weight:500}.tabs button:hover:not(:disabled){color:var(--ink);background:#f1f7f4}.tabs button.on{color:var(--accent);border-bottom-color:var(--accent);background:0 0;font-weight:600}.lead{font-size:16px;line-height:1.5}.welcome h1{letter-spacing:-.02em;color:var(--accent);font-size:28px}.spinner{border:2px solid #c2d8ce;border-top-color:var(--accent);vertical-align:-2px;border-radius:50%;width:14px;height:14px;margin-right:6px;animation:.8s linear infinite ct-spin;display:inline-block}@keyframes ct-spin{to{transform:rotate(360deg)}}.loading{flex:1;justify-content:center;align-items:center;padding:40px;display:flex}.doc-loading{color:#d5d9e2}.empty-card,.doc-empty{background:var(--panel);border:1px solid var(--line);border-radius:12px;max-width:600px;padding:26px 30px;box-shadow:0 8px 28px #10182814}.empty-card{z-index:5;width:min(600px,92%);position:absolute;top:12%;left:50%;transform:translate(-50%)}.doc-empty{text-align:left;flex:1;height:fit-content;margin:8vh auto}.empty-card h2,.doc-empty h2{margin:0 0 6px;font-size:20px}.setup{flex-direction:column;gap:10px;margin:16px 0 0;padding:0;list-style:none;display:flex}.setup li{border:1px solid var(--line);border-radius:10px;align-items:center;gap:12px;padding:10px 12px;display:flex}.setup li.done{background:#f3faf7;border-color:#cfe9de}.setup li.setup-busy,.setup li.notice{border-style:dashed;display:block}.step-no{width:26px;height:26px;color:var(--accent);background:#d1fae5;border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.done .step-no{color:#fff;background:#0f9aa6}.step-body{flex-direction:column;flex:1;min-width:0;display:flex}.step-body .small{text-overflow:ellipsis;overflow:hidden}.notice button{margin-left:6px;padding:2px 8px;font-size:12px}.statbar{background:#e3eee9;border-radius:4px;width:120px;height:8px;display:flex;overflow:hidden}.statbar .seg{flex-basis:0;display:block}.statbar .st-localizado{background:#0f9aa6}.statbar .st-ressalva{background:#e3b23c}.statbar .st-nao_localizado{background:#c9473b}.statbar .st-unresolved{background:#7d6bb5}.cite-ctx{border-bottom:1px solid var(--line);background:#f6faf8;max-height:6.5em;padding:8px 14px;font-size:13px;line-height:1.45;overflow:auto}.alt-bar{background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:6px 14px;display:flex}.viewer-bar .primary{white-space:nowrap}.doc-side .cit-panel>.linklike{margin-bottom:4px}@media (width<=900px){.doc-side{width:320px}.statbar{display:none}}.brand-btn{background:0 0;border:none;align-items:center;padding:0 6px 0 0;display:inline-flex}.brand-btn:hover:not(:disabled){opacity:.85;background:0 0}.landing,.uf{min-height:100%;color:var(--ink);background:#fff;height:100%;font-size:16px;line-height:1.6;overflow-y:auto}.lp-nav{justify-content:space-between;align-items:center;max-width:1120px;margin:0 auto;padding:20px 24px;display:flex}.lp-nav nav{gap:22px;display:flex}.lp-nav a{color:var(--brand-deep);font-size:14px;font-weight:500;text-decoration:none}.lp-nav a:hover{text-decoration:underline}.lp-logo{width:auto;height:34px;display:block}.landing main,.lp-footer{max-width:1120px;margin:0 auto;padding:0 24px}.lp-hero{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);align-items:center;gap:56px;padding:56px 0 72px;display:grid}.lp-hero h1,.uf h1{letter-spacing:-.02em;color:var(--brand-deep);margin:0 0 20px;font-size:clamp(32px,4.6vw,52px);font-weight:650;line-height:1.08}.uf h1{font-size:clamp(26px,3.4vw,36px)}.lp-lead{color:#34493f;max-width:560px;margin:0 0 28px;font-size:18px}.lp-cta{flex-wrap:wrap;gap:12px;display:flex}.lp-btn{border-radius:10px;padding:12px 20px;font-size:15px;font-weight:600}.lp-btn-soft{background:var(--brand-mint);border-color:var(--brand-mint);color:var(--brand-deep)}.lp-btn-soft:hover:not(:disabled){background:#bff5da;border-color:#bff5da}.lp-hint{color:var(--muted);margin-top:14px}.lp-preview{margin:0}.lp-preview img,.lp-preview2 img{border:1px solid var(--line);background:#f6faf8;border-radius:14px;width:100%;height:auto;display:block;box-shadow:0 24px 60px -28px #065f4659}.lp-steps{padding:24px 0 64px}.lp-steps h2,.lp-privacy h2,.lp-projects h2{letter-spacing:-.01em;color:var(--brand-deep);margin:0 0 24px;font-size:28px;font-weight:650}.lp-steps ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:0;padding:0;list-style:none;display:grid}.lp-steps li{border-top:2px solid var(--brand-mint);padding-top:18px}.lp-step-n{background:var(--brand-mint);width:32px;height:32px;color:var(--brand-deep);border-radius:50%;place-items:center;margin-bottom:10px;font-weight:700;display:inline-grid}.lp-steps h3{color:var(--brand-deep);margin:0 0 6px;font-size:18px}.lp-steps p{color:#34493f;margin:0;font-size:15px}.lp-preview2{padding-bottom:72px}.lp-preview2 figure{margin:0}.lp-preview2 figcaption{text-align:center;margin-top:12px}.lp-privacy{background:var(--brand-mint);border-radius:16px;align-items:flex-start;gap:20px;margin-bottom:64px;padding:32px;display:flex}.lp-privacy h2{margin-bottom:6px;font-size:22px}.lp-privacy p{color:#1f4a3b;max-width:640px;margin:0}.lp-projects{padding-bottom:64px}.lp-projects ul{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.lp-project{text-align:left;border:1px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;gap:2px;width:100%;padding:14px 16px;font-size:15px;display:flex}.lp-project:hover:not(:disabled){border-color:var(--brand);background:#f4fdf9}.lp-footer{border-top:1px solid var(--line);color:var(--muted);align-items:center;gap:10px;padding-top:20px;padding-bottom:32px;display:flex}.uf-main{max-width:880px;margin:0 auto;padding:24px 24px 64px}.uf-name{flex-direction:column;gap:4px;max-width:360px;margin-bottom:20px;display:flex}.uf-name input{border-radius:8px;padding:9px 12px;font-size:15px}.uf-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-bottom:18px;display:grid}.uf-drop{background:#fbfefd;border:2px dashed #b9d9cb;border-radius:14px;padding:18px;transition:border-color .15s,background .15s}.uf-drop.over{border-color:var(--brand);background:var(--brand-mint)}.uf-drop.filled{border-style:solid;border-color:var(--brand)}.uf-drop-title{color:var(--brand-deep);margin-bottom:2px;font-weight:650;display:block}.uf-drop p{margin:0 0 10px}.uf-picked{color:var(--st-ok-ink);word-break:break-all;margin:10px 0 0;font-weight:600}.uf-steps{flex-direction:column;gap:12px;margin:0 0 20px;padding:0;list-style:none;display:flex}.uf-steps li{color:var(--muted);align-items:center;gap:12px;display:flex}.uf-steps li.run,.uf-steps li.ok{color:var(--ink)}.uf-dot{border:2px solid var(--line);border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:13px;font-weight:700;display:inline-grid}.uf-steps li.ok .uf-dot{background:var(--brand);border-color:var(--brand);color:#fff}.uf-review{flex-direction:column;gap:8px;margin:0 0 20px;padding:0;list-style:none;display:flex}.uf-review li{border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.uf-review select{max-width:320px}.tag-curated{background:var(--brand-mint);color:var(--brand-deep);border:1px solid #a7e8cb;margin-left:6px}@media (width<=860px){.lp-hero{grid-template-columns:1fr;gap:32px;padding:28px 0 48px}.lp-steps ol{grid-template-columns:1fr}.lp-nav nav a:not(:last-child){display:none}.lp-privacy{flex-direction:column;padding:24px}}@media (prefers-reduced-motion:no-preference){.lp-hero-text>*,.lp-preview{animation:.6s both lp-rise}.lp-hero-text>:nth-child(2){animation-delay:80ms}.lp-hero-text>:nth-child(3){animation-delay:.16s}.lp-preview{animation-delay:.2s}@keyframes lp-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}}.lp-steps h3{text-transform:none;letter-spacing:0}.boot{min-height:100vh;color:var(--muted,#5b6b66);flex-direction:column;justify-content:center;align-items:center;gap:14px;font-size:14px;display:flex}.boot img{animation:1.4s ease-in-out infinite boot-pulse}@keyframes boot-pulse{50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.boot img{animation:none}}
