:root{--react-pdf-annotation-layer:1;--annotation-unfocused-field-background:url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color:Highlight;--input-focus-outline:1px solid Canvas;--input-unfocused-border-color:transparent;--input-disabled-border-color:transparent;--input-hover-border-color:black;--link-outline:none}@media screen and (forced-colors:active){:root{--input-focus-border-color:CanvasText;--input-unfocused-border-color:ActiveText;--input-disabled-border-color:GrayText;--input-hover-border-color:Highlight;--link-outline:1.5px solid LinkText}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selecteditem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert();backdrop-filter:invert()}}.annotationLayer{pointer-events:none;transform-origin:0 0;z-index:3;position:absolute;top:0;left:0}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg)translate(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg)translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg)translateY(-100%)}.annotationLayer canvas{width:100%;height:100%;position:absolute}.annotationLayer section{text-align:initial;pointer-events:auto;box-sizing:border-box;transform-origin:0 0;margin:0;position:absolute}.annotationLayer section .overlaidText{width:0;height:0;display:inline-block;position:absolute;top:0;left:0;overflow:hidden}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{width:100%;height:100%;font-size:1em;position:absolute;top:0;left:0}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{cursor:pointer;width:100%;height:100%;position:absolute;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--total-scale-factor)) sans-serif;vertical-align:top;width:100%;height:100%;margin:0}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{border:2px solid var(--input-disabled-border-color);cursor:not-allowed;background:0 0}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline);background:0 0;border-radius:2px}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-color:#0000;background-image:none}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline);border-radius:2px}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{content:"";background-color:canvastext;display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{width:1px;height:80%;left:45%}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;width:50%;height:50%;top:20%;left:30%}.annotationLayer .textWidgetAnnotation input.comb{padding-left:2px;padding-right:0;font-family:monospace}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{appearance:none}.annotationLayer .popupTriggerArea{width:100%;height:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{font-size:calc(9px * var(--total-scale-factor));width:100%;min-width:calc(180px * var(--total-scale-factor));pointer-events:none;position:absolute}.annotationLayer .popup{max-width:calc(180px * var(--total-scale-factor));box-shadow:0 calc(2px * var(--total-scale-factor)) calc(5px * var(--total-scale-factor)) #888;border-radius:calc(2px * var(--total-scale-factor));padding:calc(6px * var(--total-scale-factor));margin-left:calc(5px * var(--total-scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto;background-color:#ff9;position:absolute}.annotationLayer .popup>*{font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{margin-left:calc(5px * var(--total-scale-factor));display:inline-block}.annotationLayer .popupContent{margin-top:calc(2px * var(--total-scale-factor));padding-top:calc(2px * var(--total-scale-factor));border-top:1px solid #333}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{width:100%;height:100%;position:absolute;top:0;left:0}.annotationLayer .annotationTextContent{opacity:0;color:#0000;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;position:absolute}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}:root{--react-pdf-text-layer:1}[data-main-rotation="90"]{transform:rotate(90deg)translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg)translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg)translate(-100%)}.textLayer{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;text-align:initial;opacity:1;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;caret-color:canvastext;z-index:0;--min-font-size:1;--text-scale-factor:calc(var(--total-scale-factor) * var(--min-font-size));--min-font-size-inv:calc(1 / var(--min-font-size));line-height:1;position:absolute;inset:0;overflow:clip}.textLayer :is(span,br){color:#0000;white-space:pre;cursor:text;transform-origin:0 0;margin:0;position:absolute}.textLayer>:not(.markedContent),.textLayer .markedContent span:not(.markedContent){z-index:1;--font-height:0;font-size:calc(var(--text-scale-factor) * var(--font-height));--scale-x:1;--rotate:0deg;transform:rotate(var(--rotate)) scaleX(var(--scale-x)) scale(var(--min-font-size-inv))}.textLayer .markedContent{display:contents}.textLayer span[role=img]{-webkit-user-select:none;user-select:none;cursor:default}.textLayer .highlight{--highlight-bg-color:#b400aa40;--highlight-selected-bg-color:#00640040;--highlight-backdrop-filter:none;--highlight-selected-backdrop-filter:none;background-color:var(--highlight-bg-color);-webkit-backdrop-filter:var(--highlight-backdrop-filter);backdrop-filter:var(--highlight-backdrop-filter);border-radius:4px;margin:-1px;padding:1px}@media screen and (forced-colors:active){.textLayer .highlight{--highlight-bg-color:Highlight;--highlight-selected-bg-color:ButtonText}}.textLayer .highlight.appended{position:initial}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:var(--highlight-selected-bg-color);-webkit-backdrop-filter:var(--highlight-selected-backdrop-filter);backdrop-filter:var(--highlight-selected-backdrop-filter)}.textLayer ::selection{background:#0000ff40}@supports (background:color-mix(in srgb, AccentColor, transparent 75%)){.textLayer ::selection{background:color-mix(in srgb, AccentColor, transparent 75%)}}.textLayer br::selection{background:0 0}.textLayer .endOfContent{z-index:0;cursor:default;-webkit-user-select:none;user-select:none;display:block;position:absolute;inset:100% 0 0}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{width:0;height:0;display:none;position:absolute;top:0;left:0}:root{--bg:#f6f6f4;--surface:#fff;--surface-2:#fafaf9;--border:#e7e5e4;--text:#1c1917;--muted:#78716c;--accent:#1d4ed8;--accent-soft:#eff6ff;--danger:#dc2626;--radius:10px;--rail:248px;--panel:440px;--cat-foundation:#2563eb;--cat-method:#16a34a;--cat-math:#9333ea;--cat-domain:#ea580c;--cat-tool:#0891b2;--cat-metric:#ca8a04;--cat-result:#db2777;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;line-height:1.55}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}button:disabled{cursor:default;opacity:.5}input,textarea{font:inherit;color:inherit}h2,h3,h4,h5{margin:0}.muted{color:var(--muted)}.small{font-size:12px}.pad{padding:8px 16px}.error-text{color:var(--danger)}.primary{background:var(--text);color:#fff;border-radius:8px;padding:7px 14px;font-weight:500;transition:opacity .15s}.primary:hover:not(:disabled){opacity:.85}.primary.block{width:100%}.link{color:var(--accent)}.link:hover{text-decoration:underline}.icon-btn{width:24px;height:24px;color:var(--muted);border-radius:6px;font-size:16px;line-height:1}.icon-btn:hover:not(:disabled){background:var(--border);color:var(--text)}.app{flex-direction:column;height:100%;display:flex}.topbar{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px 24px;min-height:52px;padding:0 16px;display:flex}.brand{letter-spacing:-.01em;width:calc(var(--rail) - 32px);font-size:15px;font-weight:650}.brand-mark{color:var(--accent)}.tabs{background:var(--bg);border-radius:9px;gap:2px;padding:3px;display:flex}.tabs button{color:var(--muted);border-radius:7px;padding:4px 14px;font-weight:500}.tabs button.active{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #00000014}.topbar-right{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px 12px;min-width:0;margin-left:auto;display:flex}.topbar .error-text{max-width:360px;font-size:12px}.banner{color:var(--danger);background:#fef2f2;border-bottom:1px solid #fecaca;padding:6px 16px;font-size:13px}.read-layout,.compare-layout{flex:1;min-height:0;display:grid}.read-layout{grid-template-columns:min(var(--panel), calc(100vw - 360px)) minmax(0, 1fr)}.compare-layout{grid-template-columns:var(--rail) min(var(--panel), calc(100vw - var(--rail) - 360px)) minmax(0, 1fr)}.library{background:var(--surface);border-right:1px solid var(--border);overflow-y:auto}.pane-heading{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:16px 16px 6px;font-size:11px;font-weight:600}.library ul{margin:0;padding:0 8px 8px;list-style:none}.library li{cursor:pointer;border-radius:8px;align-items:flex-start;gap:10px;padding:8px;display:flex}.library li:hover{background:var(--surface-2)}.library li.selected{background:var(--accent-soft)}.library li .icon-btn{visibility:hidden;flex-shrink:0}.library li:hover .icon-btn{visibility:visible}.library-item{flex:1;min-width:0}.library-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;font-weight:500;line-height:1.35;display:-webkit-box;overflow:hidden}.status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:6px}.status-dot.ready{background:#22c55e}.status-dot.error{background:var(--danger)}.status-dot.processing{background:#f59e0b;animation:1.2s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.3}}.pick-box{border:1.5px solid var(--border);border-radius:5px;flex-shrink:0;place-items:center;width:20px;height:20px;font-size:11px;font-weight:700;display:grid}.pick-box.on{background:var(--text);border-color:var(--text);color:#fff}.pdf-pane{min-width:0;min-height:0;display:flex}.pdf-viewer{flex-direction:column;flex:1;min-width:0;display:flex}.pdf-toolbar{border-bottom:1px solid var(--border);background:var(--surface-2);align-items:center;gap:16px;height:40px;padding:0 16px;display:flex}.zoom{align-items:center;gap:6px;margin-left:auto;display:flex}.zoom span{text-align:center;width:40px}.pdf-scroll{background:#ebebe8;flex:1;padding:24px;overflow:auto}.pdf-page{background:#fff;width:fit-content;margin:0 auto 16px;scroll-margin-top:12px;box-shadow:0 1px 3px #0000001f,0 4px 16px #0000000f}.pdf-placeholder{background:#fff}.empty-drop{text-align:center;cursor:pointer;background:var(--surface);border:2px dashed #d6d3d1;border-radius:16px;max-width:460px;margin:auto;padding:48px 32px}.empty-drop:hover{border-color:var(--accent)}.empty-drop-icon{color:var(--accent);font-size:40px}.empty-drop h2{margin:8px 0;font-size:18px}.empty-drop p{color:var(--muted);margin:0 0 20px}.drop-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:50;pointer-events:none;background:#1d4ed81f;place-items:center;display:grid;position:fixed;inset:0}.drop-overlay div{background:var(--surface);border:2px dashed var(--accent);border-radius:12px;padding:20px 32px;font-size:16px;font-weight:600}.insight-pane{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;min-height:0;display:flex;position:relative}.insight{flex-direction:column;flex:1;min-height:0;display:flex}.insight-header{padding:16px 20px 10px}.paper-title{letter-spacing:-.01em;margin-bottom:4px;font-size:16px;line-height:1.35}.subtabs{border-bottom:1px solid var(--border);scrollbar-width:none;gap:12px;padding:0 20px;font-size:13px;display:flex;overflow-x:auto}.subtabs button{white-space:nowrap;color:var(--muted);border-bottom:2px solid #0000;flex-shrink:0;margin-bottom:-1px;padding:8px 0;font-weight:500}.subtabs button.active{color:var(--text);border-bottom-color:var(--text)}.insight-body{flex-direction:column;flex:1;min-height:0;padding:16px 20px 32px;display:flex;overflow-y:auto}.insight-state{text-align:center;max-width:380px;margin:auto;padding:32px}.insight-state h3{margin:12px 0 6px}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;margin:0 auto;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.overview h4,.section h4{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:20px 0 6px;font-size:12px}.overview ul,.overview ol{margin:0;padding-left:20px}.overview li{margin-bottom:4px}.tldr{background:var(--accent-soft);border-left:3px solid var(--accent);border-radius:0 8px 8px 0;padding:10px 14px;font-weight:500}.md p{margin:0 0 8px}.md p:last-child{margin-bottom:0}.md ul,.md ol{margin:4px 0 8px;padding-left:20px}.md code{background:var(--bg);border-radius:4px;padding:1px 4px;font-size:12.5px}.md pre{background:var(--bg);border-radius:8px;padding:10px;overflow-x:auto}.chip-row{flex-wrap:wrap;gap:6px;margin:8px 0 12px;display:flex}.chip{border:1px solid var(--border);background:var(--surface);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:2px 9px;font-size:11.5px;font-weight:500;display:inline-flex}.chip.subtle{background:var(--bg);color:var(--muted);border-color:#0000}.chip.on{background:var(--text);color:#fff;border-color:var(--text)}.chip.link-chip{color:var(--accent);border-color:#bfdbfe}.chip.link-chip:hover{background:var(--accent-soft)}.chip[class*=cat-]:not(.on){color:var(--c);border-color:color-mix(in srgb, var(--c) 30%, transparent)}.cat-foundation{--c:var(--cat-foundation)}.cat-method{--c:var(--cat-method)}.cat-math{--c:var(--cat-math)}.cat-domain{--c:var(--cat-domain)}.cat-tool{--c:var(--cat-tool)}.cat-metric{--c:var(--cat-metric)}.cat-result{--c:var(--cat-result)}.search{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;outline:none;width:100%;padding:7px 12px}.search:focus{border-color:var(--accent)}.concept{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:8px;padding:10px 12px;transition:border-color .15s}.concept.open{border-color:#d6d3d1;box-shadow:0 2px 8px #0000000a}.concept-head{text-align:left;align-items:center;gap:10px;width:100%;display:flex}.rank{color:var(--muted);font-variant-numeric:tabular-nums;min-width:18px;font-size:11px;font-weight:600}.concept-term{flex:1;font-weight:600}.dot{background:var(--c);border-radius:50%;width:8px;height:8px}.concept-def{color:var(--muted);margin:2px 0 0 28px;font-size:13px}.concept-body{margin:10px 0 0 28px}.concept-body h5{color:var(--muted);margin:12px 0 4px;font-size:12px}.meta-row{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px;display:flex}.pages{gap:4px;margin-left:auto;display:inline-flex}.page-btn{background:var(--accent-soft);color:var(--accent);border-radius:5px;padding:1px 6px;font-size:11px;font-weight:500}.page-btn:hover{background:#dbeafe}.callout{background:#fefce8;border-radius:8px;margin-top:10px;padding:8px 12px;font-size:13px}.card{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:10px;padding:12px 14px}.question{margin-bottom:6px;font-weight:500}.q-num{background:var(--bg);border-radius:50%;place-items:center;width:20px;height:20px;margin-right:4px;font-size:11px;display:inline-grid}.answer{border-top:1px dashed var(--border);margin-top:8px;padding-top:8px}.ask{flex-direction:column;flex:1;min-height:0;margin:-16px -20px -32px;display:flex}.ask-messages{flex:1;padding:16px 20px;overflow-y:auto}.suggestions{flex-direction:column;gap:8px;display:flex}.suggestion{text-align:left;border:1px solid var(--border);border-radius:8px;padding:9px 12px}.suggestion:hover{border-color:var(--accent);background:var(--accent-soft)}.msg{margin-bottom:14px}.msg.user{background:var(--bg);white-space:pre-wrap;border-radius:10px;margin-left:40px;padding:8px 12px}.typing{color:var(--muted);animation:1.2s infinite pulse}.ask-input{border-top:1px solid var(--border);background:var(--surface);padding:12px 20px}.ask-input textarea{resize:none;border:1px solid var(--border);border-radius:8px;outline:none;width:100%;padding:8px 10px}.ask-input textarea:focus{border-color:var(--accent)}.ask-actions{justify-content:flex-end;align-items:center;gap:12px;margin-top:8px;display:flex}.map-pane{background:var(--surface-2);min-width:0;min-height:0;display:flex}.mindmap{flex-direction:column;flex:1;min-width:0;display:flex}.map-toolbar{border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;align-items:center;gap:6px;padding:10px 16px;display:flex}.chip.legend{opacity:.45}.chip.legend.on{opacity:1;background:var(--surface);color:var(--text);border-color:var(--border)}.swatch{background:var(--rel);border-radius:2px;width:14px;height:3px}.toggle{cursor:pointer;align-items:center;gap:6px;margin-left:auto;margin-right:8px;display:inline-flex}.map-scroll{flex:1;overflow:auto}.map-content{justify-content:center;align-items:start;column-gap:180px;width:100%;min-width:min-content;padding:24px 32px 48px;display:grid;position:relative}.map-links{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.map-link{pointer-events:visibleStroke;cursor:pointer;transition:opacity .15s}.map-column{z-index:1;flex-direction:column;gap:8px;display:flex;position:relative}.map-column-head{border-bottom:1px solid var(--border);align-items:flex-start;gap:8px;min-height:66px;margin-bottom:4px;padding-bottom:10px;display:flex;position:sticky;top:0}.map-column-title{-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:13px;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.paper-tag{background:var(--text);color:#fff;border-radius:5px;flex-shrink:0;place-items:center;min-width:20px;height:20px;padding:0 4px;font-size:11px;font-weight:700;display:inline-grid}.map-node{text-align:left;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--c);border-radius:8px;align-items:baseline;gap:8px;padding:8px 12px;font-size:13px;font-weight:500;line-height:1.35;transition:opacity .15s,box-shadow .15s,transform .15s;display:flex}.map-node:hover{box-shadow:0 2px 10px #00000014}.map-node.selected{box-shadow:0 0 0 2px var(--accent)}.map-node.dim{opacity:.3}.map-node.unlinked{color:var(--muted);border-left-color:var(--border)}.sel-title{align-items:center;gap:8px;margin:12px 0 6px;font-size:16px;display:flex}.link-card{border-left-width:3px}.link-card-head{flex-direction:column;gap:2px;font-weight:500;display:flex}.link-card-head .relation{font-size:12px;font-style:italic;font-weight:500}.link-card p{color:#44403c;margin:8px 0 0}.model-picker{align-items:center;gap:6px;display:flex}.model-picker select,.model-picker input{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;outline:none;min-width:0;max-width:220px;height:30px;padding:0 8px}.model-picker select:focus,.model-picker input:focus{border-color:var(--accent)}.chip-row.tight{margin:8px 0 0}.tier-essential{--t:#b91c1c}.tier-important{--t:#c2410c}.tier-helpful{--t:#0369a1}.tier-peripheral{--t:#a8a29e}.chip[class*=tier-]:not(.on){color:var(--t);border-color:color-mix(in srgb, var(--t) 35%, transparent)}.tier-heading{border-bottom:2px solid color-mix(in srgb, var(--t) 40%, transparent);align-items:baseline;gap:8px;margin:16px 0 8px;padding-bottom:4px;display:flex}.tier-name{text-transform:uppercase;letter-spacing:.05em;color:var(--t);font-size:12px;font-weight:700}.node-term{flex:1}.tier-pip{background:var(--t);border-radius:50%;flex-shrink:0;align-self:center;width:7px;height:7px}.modal-backdrop{z-index:100;background:#1c191759;place-items:center;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border-radius:14px;width:min(380px,100vw - 32px);padding:20px;box-shadow:0 20px 50px #0003}.modal p{margin:6px 0 14px}.modal input{border:1px solid var(--border);border-radius:8px;outline:none;width:100%;height:36px;padding:0 10px}.modal input:focus{border-color:var(--accent)}.modal-actions{justify-content:flex-end;align-items:center;gap:14px;margin-top:16px;display:flex}.library-toggle,.pane-switch,.drawer-backdrop{display:none}.library-toggle{border:1px solid var(--border);border-radius:8px;align-items:center;gap:6px;padding:5px 10px;font-weight:500}.pane-switch{background:var(--surface);border-bottom:1px solid var(--border);gap:2px;padding:6px 12px}.pane-switch button{color:var(--muted);border-radius:7px;flex:1;padding:6px;font-weight:500}.pane-switch button.active{background:var(--bg);color:var(--text)}@media (width<=1280px){:root{--rail:210px;--panel:400px}}@media (width<=1100px){.read-layout,.compare-layout{grid-template-columns:minmax(280px, min(var(--panel), calc(100vw - 360px))) minmax(0, 1fr)}.library{z-index:60;width:min(320px,85vw);transition:transform .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:4px 0 24px #0000001f}.library-open .library{transform:none}.library-open .drawer-backdrop{z-index:55;background:#1c19174d;display:block;position:fixed;inset:0}.library li .icon-btn{visibility:visible}.library-toggle{display:inline-flex}.brand{width:auto}.model-picker .muted{display:none}.map-content{column-gap:120px}}@media (width<=760px){.read-layout,.compare-layout{grid-template-columns:minmax(0,1fr)}.pane-switch{display:flex}.pane-main .insight-pane,.pane-side .pdf-pane,.pane-side .map-pane{display:none}.insight-pane{border-right:none}.topbar{gap:8px 12px;padding:8px 12px}.library-toggle span{display:none}.topbar-right{width:100%;margin-left:0}.topbar-right .model-picker{flex:1}.topbar-right .model-picker select{flex:1;max-width:none}.pdf-scroll{padding:12px}.insight-header,.insight-body,.subtabs{padding-left:14px;padding-right:14px}.map-content{column-gap:72px;padding:16px}.empty-drop{width:calc(100% - 32px);margin:auto;padding:32px 20px}}.library-home{flex:1;min-height:0;padding:24px 32px 48px;overflow-y:auto}.library-home-head{flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:20px;display:flex}.library-home-head h2{letter-spacing:-.01em;font-size:20px}.library-search{width:min(320px,100%);margin-left:auto}.library-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:20px;display:grid}.paper-card{text-align:left;background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:12px;flex-direction:column;transition:box-shadow .15s,border-color .15s,transform .15s;display:flex;overflow:hidden}.paper-card:hover,.paper-card:focus-visible{border-color:#d6d3d1;outline:none;transform:translateY(-1px);box-shadow:0 6px 20px #00000014}.paper-thumb{aspect-ratio:8.5/11;border-bottom:1px solid var(--border);background:#efefec;position:relative;overflow:hidden}.paper-thumb canvas{display:block}.thumb-fallback{color:var(--muted);letter-spacing:.1em;place-items:center;font-weight:700;display:grid;position:absolute;inset:0}.paper-card-meta{align-items:flex-start;gap:8px;padding:10px 10px 12px 12px;display:flex}.card-delete{visibility:hidden;flex-shrink:0}.paper-card:hover .card-delete{visibility:visible}.upload-card{background:var(--surface-2);border:2px dashed #d6d3d1;min-height:240px}.upload-card:hover{border-color:var(--accent)}.upload-card-inner{text-align:center;flex-direction:column;align-items:center;gap:4px;margin:auto;padding:16px;display:flex}@media (hover:none){.card-delete{visibility:visible}}@media (width<=760px){.library-home{padding:16px}.library-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}}.insight-actions{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.insight-state .back-link{margin-bottom:16px;display:block}.secondary{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:4px 10px;font-weight:500}.secondary:hover{border-color:var(--text)}.eli5{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;margin:10px 0;padding:10px 12px;font-size:13.5px}.eli5-label{text-transform:uppercase;letter-spacing:.05em;color:#15803d;margin-bottom:2px;font-size:11px;font-weight:700;display:block}.statement{margin:8px 0 6px;font-weight:500}.gap-card.addressed{border-left:3px solid #16a34a}.gap-card.remaining{border-left:3px solid #d97706}.overview h5{color:var(--muted);margin:14px 0 4px;font-size:12px}.kind-proposed{--k:#7c3aed}.kind-existing{--k:#2563eb}.kind-baseline{--k:#64748b}.kind-dataset{--k:#ea580c}.kind-tool{--k:#0891b2}.chip[class*=kind-]{color:var(--k);border-color:color-mix(in srgb, var(--k) 35%, transparent)}.kind-heading{--t:var(--muted)}.concept-def.flush,.concept-body.flush{margin-left:0}.modal.wide{width:min(520px,100vw - 32px)}.field-label{margin:14px 0 6px;font-size:12px;font-weight:600;display:block}.modal textarea{resize:vertical;border:1px solid var(--border);border-radius:8px;outline:none;width:100%;padding:8px 10px}.modal textarea:focus{border-color:var(--accent)}.right{text-align:right}.col-resizer{z-index:5;cursor:col-resize;touch-action:none;width:10px;position:absolute;top:0;bottom:0;right:-5px}.col-resizer:after{content:"";background:0 0;width:2px;transition:background .15s;position:absolute;top:0;bottom:0;left:4px}.col-resizer:hover:after,.col-resizer:focus-visible:after,.col-resizing .col-resizer:after{background:var(--accent)}.col-resizer:focus-visible{outline:none}body.col-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}body.col-resizing .pdf-pane,body.col-resizing .map-pane{pointer-events:none}@media (width<=760px){.col-resizer{display:none}}.method-count{color:var(--muted);background:var(--bg);white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:11px}.method-list{border:1px solid var(--border);border-radius:10px;margin:0 0 12px;padding:0;list-style:none;overflow:hidden}.method-item{border-top:1px solid var(--border);padding:8px 12px}.method-item:first-child{border-top:none}.method-item.rel-related{background:var(--surface-2)}.method-item-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.method-name{text-align:left;font-size:13px;font-weight:600}.method-summary{color:#57534e;margin-top:2px;font-size:12.5px}.rel-chip{flex-shrink:0;padding:0 7px;font-size:10.5px}.rel-chip.rel-proposed{color:#7c3aed;border-color:#ddd6fe}.rel-chip.rel-used{color:#2563eb;border-color:#bfdbfe}.rel-chip.rel-compared{color:#64748b;border-color:#cbd5e1}.rel-chip.rel-related{color:var(--muted);border-color:var(--border)}
