:root{--bg:#f6f4ef;--bg-2:#eeece5;--bg-3:#e5e4dd;--surface-paper:#fff;--surface-field:#fff;--border:#dcddd5;--scrim:#242b2966;--text:#242b29;--text-2:#626b66;--accent:#176b61;--accent-hover:#12564e;--accent-soft:#e1eee8;--accent-wash:#e9ece6;--on-accent:#fff;--annotation-highlight:#f4e8ad;--success:#27704a;--warning:#855800;--danger:#b3261e;--success-wash:color-mix(in srgb, var(--success) 11%, transparent);--warning-wash:color-mix(in srgb, var(--warning) 11%, transparent);--danger-wash:color-mix(in srgb, var(--danger) 10%, transparent);--radius-sm:4px;--radius:8px;--radius-lg:12px;--radius-pill:999px;--chat-measure:720px;--shadow:0 1px 2px #242b290f, 0 1px 3px #242b290d;--shadow-md:0 6px 20px #242b291a, 0 1px 3px #242b290f;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono:"SF Mono", "Fira Code", "Cascadia Code", monospace;--font-serif:"Source Serif 4", "Iowan Old Style", "Palatino", Georgia, serif;--hl-yellow:#ffe28f;--hl-red:#ffb1ad;--hl-green:#b5e8ae;--hl-blue:#add4ff;--hl-purple:#cfc4f7;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#1b1b19;--bg-2:#242422;--bg-3:#2f2f2c;--surface-paper:#1b1b19;--surface-field:#242422;--border:#3a3a36;--scrim:#0000008c;--text:#e7e5df;--text-2:#a9a79f;--accent:#4db6a4;--accent-hover:#62c5b4;--accent-soft:#4db6a429;--accent-wash:#4db6a414;--on-accent:#10201d;--success:#5cc08a;--warning:#e0a83c;--danger:#f08a80;--shadow:0 1px 2px #0006;--shadow-md:0 6px 20px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#1b1b19;--bg-2:#242422;--bg-3:#2f2f2c;--surface-paper:#1b1b19;--surface-field:#242422;--border:#3a3a36;--scrim:#0000008c;--text:#e7e5df;--text-2:#a9a79f;--accent:#4db6a4;--accent-hover:#62c5b4;--accent-soft:#4db6a429;--accent-wash:#4db6a414;--on-accent:#10201d;--success:#5cc08a;--warning:#e0a83c;--danger:#f08a80;--shadow:0 1px 2px #0006;--shadow-md:0 6px 20px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:14px/1.5 var(--font);-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,h3{margin:0;line-height:1.25}h1{font-size:22px;font-weight:650}h2{font-size:17px;font-weight:650}h3{font-size:14px;font-weight:650}.muted{color:var(--text-2)}.small{font-size:12px}.row{align-items:center;gap:8px;display:flex}.grow{flex:1;min-width:0}.stack{flex-direction:column;gap:12px;display:flex}.wordmark{font-family:var(--font-serif);letter-spacing:.2px;color:var(--text);font-size:20px;font-weight:600}.wordmark b{color:var(--accent);font-weight:600}button,.btn{font:inherit;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-field);color:var(--text);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:550;line-height:1.4;text-decoration:none;display:inline-flex}button:hover,.btn:hover{background:var(--bg-3);text-decoration:none}button:disabled{opacity:.55;cursor:default}.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.primary:hover{background:var(--accent-hover)}.ghost{background:0 0;border-color:#0000}.ghost:hover{background:var(--bg-3)}.danger{color:var(--danger)}.icon-btn{padding:4px 8px}input,textarea,select{font:inherit;color:var(--text);background:var(--surface-field);border:1px solid var(--border);border-radius:var(--radius);width:100%;padding:7px 10px}textarea{resize:vertical}input:focus,textarea:focus,select:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:#0000}label{margin-bottom:4px;font-size:13px;font-weight:600;display:block}.field{flex-direction:column;gap:4px;display:flex}.hint{color:var(--text-2);font-size:12px}.chip{border-radius:var(--radius-pill);background:var(--bg-3);color:var(--text-2);white-space:nowrap;align-items:center;gap:4px;padding:1px 8px;font-size:11.5px;font-weight:600;display:inline-flex}.chip.core{background:var(--accent-soft);color:var(--accent)}.chip.warn{background:var(--warning-wash);color:var(--warning)}.chip.ok{background:var(--success-wash);color:var(--success)}.banner{border-radius:var(--radius);background:var(--warning-wash);color:var(--text);padding:10px 12px;font-size:13px}.banner.error{background:var(--danger-wash)}.banner.info{background:var(--accent-wash)}.card{background:var(--surface-paper);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:16px}.app{flex-direction:column;height:100%;display:flex}.topbar{border-bottom:1px solid var(--border);background:var(--bg);flex:none;align-items:center;gap:12px;height:48px;padding:0 16px;display:flex}.topbar .crumbs{align-items:center;gap:6px;min-width:0;font-size:13px;display:flex}.topbar .crumbs a{color:var(--text-2)}.topbar .crumbs span.cur{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.menu{position:relative}.menu-pop{background:var(--surface-paper);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);z-index:50;min-width:220px;padding:6px;position:absolute;top:calc(100% + 6px);right:0}.menu-pop .who{color:var(--text-2);border-bottom:1px solid var(--border);text-overflow:ellipsis;margin-bottom:4px;padding:6px 10px;font-size:12px;overflow:hidden}.menu-pop button,.menu-pop a{border-radius:var(--radius-sm);width:100%;color:var(--text);background:0 0;border:none;justify-content:flex-start;padding:7px 10px;font-weight:500}.menu-pop button:hover,.menu-pop a:hover{background:var(--bg-3);text-decoration:none}.page{flex:1;overflow:auto}.container{max-width:960px;margin:0 auto;padding:28px 24px 60px}.signin{place-items:center;min-height:100%;padding:24px 16px;display:grid}.signin .card{width:100%;max-width:400px;padding:28px}.signin .foot{text-align:center;color:var(--text-2);margin-top:18px;font-size:12.5px}.grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.proj-card{color:var(--text);background:var(--surface-paper);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:14px 16px;display:block}.proj-card:hover{border-color:var(--accent);text-decoration:none}.proj-card h3{margin-bottom:4px}.continue{border-radius:var(--radius-lg);background:var(--accent-soft);color:var(--text);border:1px solid #0000;align-items:center;gap:12px;padding:12px 16px;display:flex}.continue:hover{border-color:var(--accent);text-decoration:none}.proj{grid-template-columns:minmax(0,1fr) minmax(340px,42%);height:100%;display:grid}.proj-main{padding:20px 24px 60px;overflow:auto}.proj-side{border-left:1px solid var(--border);background:var(--bg);flex-direction:column;min-height:0;display:flex}.paper-list{flex-direction:column;gap:2px;display:flex}.paper-row{border-radius:var(--radius);cursor:pointer;align-items:flex-start;gap:12px;padding:10px 12px;display:flex}.paper-row:hover{background:var(--bg-2)}.paper-row .t{font-weight:600}.paper-row .meta{color:var(--text-2);font-size:12px}.paper-row .acts{opacity:0;gap:4px;display:flex}.paper-row:hover .acts,.paper-row:focus-within .acts{opacity:1}.section-head{text-transform:uppercase;letter-spacing:.4px;color:var(--text-2);align-items:center;gap:8px;margin:18px 0 6px;font-size:12px;font-weight:650;display:flex}.drop{border:1.5px dashed var(--border);border-radius:var(--radius-lg);text-align:center;color:var(--text-2);padding:14px;font-size:13px}.drop.over{border-color:var(--accent);background:var(--accent-wash)}.reader{grid-template-columns:minmax(0,1fr) minmax(360px,38%);height:100%;display:grid}.reader-left{background:var(--bg-2);flex-direction:column;min-width:0;min-height:0;display:flex}.reader-bar{border-bottom:1px solid var(--border);background:var(--bg);flex:none;align-items:center;gap:8px;height:40px;padding:0 12px;font-size:13px;display:flex}.pdf-scroller{flex:1;padding:16px 0 40px;position:relative;overflow:auto}.pdf-page{box-shadow:var(--shadow-md);background:#fff;margin:0 auto 14px;position:relative}.pdf-canvas{position:absolute;inset:0}.pdf-page .textLayer{z-index:2}.hl-layer{z-index:1;pointer-events:none;mix-blend-mode:multiply;position:absolute;inset:0}.hl{pointer-events:auto;cursor:pointer;border-radius:2px;position:absolute}.pdf-page:has(.textLayer.selecting) .hl{pointer-events:none}.hl-yellow{background:var(--hl-yellow)}.hl-red{background:var(--hl-red)}.hl-green{background:var(--hl-green)}.hl-blue{background:var(--hl-blue)}.hl-purple{background:var(--hl-purple)}.hl-noted{box-shadow:inset 0 -2px #00000059}.hl.flash{outline:2px solid var(--accent)}.pdf-page-no{color:var(--text-2);font-size:10.5px;position:absolute;bottom:-14px;right:0}.reader-empty{color:var(--text-2);text-align:center;flex:1;place-items:center;padding:24px;display:grid}.reader-side{border-left:1px solid var(--border);background:var(--bg);flex-direction:column;min-height:0;display:flex}.tabs{border-bottom:1px solid var(--border);flex:none;gap:2px;padding:6px 8px;display:flex}.tabs button{color:var(--text-2);background:0 0;border:none;padding:5px 10px}.tabs button.on{background:var(--bg-3);color:var(--text)}.side-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.sel-pop{z-index:60;background:var(--surface-paper);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);flex-direction:column;gap:6px;max-width:420px;padding:6px;display:flex;position:fixed;transform:translate(-50%)}.sel-pop .swatches{align-items:center;gap:4px;display:flex}.swatch{cursor:pointer;border:1px solid #00000026;border-radius:50%;width:20px;height:20px;padding:0}.swatch.on{outline:2px solid var(--accent);outline-offset:1px}.explain-box{max-height:260px;padding:4px 6px;font-size:13px;line-height:1.55;overflow:auto}.chat{flex-direction:column;height:100%;min-height:0;display:flex}.chat-head{border-bottom:1px solid var(--border);flex:none;align-items:center;gap:6px;padding:8px 12px;font-size:13px;display:flex}.chat-log{flex-direction:column;flex:1;gap:14px;padding:14px 14px 8px;display:flex;overflow:auto}.msg{max-width:var(--chat-measure)}.msg.user{background:var(--accent-soft);border-radius:var(--radius-lg) var(--radius-lg) var(--radius-sm) var(--radius-lg);white-space:pre-wrap;align-self:flex-end;padding:8px 12px}.msg.assistant{line-height:1.6}.msg.assistant p{margin:0 0 8px}.msg.assistant :is(ul,ol){margin:0 0 8px;padding-left:20px}.msg.assistant pre{background:var(--bg-2);border-radius:var(--radius);padding:8px;font-size:12px;overflow:auto}.msg.assistant code{font-family:var(--font-mono);font-size:12px}.msg .err{color:var(--danger);margin-top:4px;font-size:13px}.msg .sel-quote{color:var(--text-2);border-left:2px solid var(--accent);white-space:normal;margin-bottom:6px;padding-left:8px;font-size:12px}.ptr{border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);cursor:pointer;vertical-align:baseline;border:none;align-items:center;margin:0 1px;padding:0 6px;font-size:12px;font-weight:600;line-height:1.6;display:inline-flex}.ptr:hover{background:var(--accent);color:var(--on-accent)}.chat-input{border-top:1px solid var(--border);flex-direction:column;flex:none;gap:6px;padding:10px 12px;display:flex}.chat-input textarea{min-height:44px;max-height:200px}.attached{background:var(--accent-wash);border-radius:var(--radius);align-items:flex-start;gap:6px;padding:6px 8px;font-size:12px;display:flex}.starters{flex-wrap:wrap;gap:6px;display:flex}.starters button{border-radius:var(--radius-pill);font-size:12.5px;font-weight:500}.thinking{color:var(--text-2);font-size:13px}.grill-bar{background:var(--accent-wash);border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:6px 12px;font-size:12.5px;display:flex}.scrim{background:var(--scrim);z-index:100;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--surface-paper);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);flex-direction:column;width:100%;max-width:560px;max-height:calc(100vh - 32px);display:flex}.modal-head{align-items:center;gap:8px;padding:16px 20px 8px;display:flex}.modal-body{flex-direction:column;gap:12px;padding:8px 20px 16px;display:flex;overflow:auto}.modal-foot{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:12px 20px;display:flex}.list-box{border:1px solid var(--border);border-radius:var(--radius);max-height:320px;overflow:auto}.list-box .li{border-bottom:1px solid var(--border);cursor:pointer;align-items:flex-start;gap:8px;padding:7px 10px;font-size:13px;display:flex}.list-box .li:last-child{border-bottom:none}.list-box .li:hover{background:var(--bg-2)}.list-box .li input{width:auto;margin-top:3px}.notes{flex-direction:column;gap:10px;padding:12px;display:flex}.hl-item{border-radius:var(--radius);background:var(--surface-paper);border:1px solid var(--border);cursor:pointer;padding:8px 10px;font-size:13px}.hl-item .q{border-left:3px solid var(--hl-yellow);padding-left:8px}.hl-item textarea{margin-top:6px;font-size:13px}.settings section{border-bottom:1px solid var(--border);flex-direction:column;gap:10px;padding:18px 0;display:flex}.settings section:last-child{border-bottom:none}@media (width<=900px){.proj,.reader{grid-template-rows:minmax(0,1fr) minmax(0,45%);grid-template-columns:1fr}.proj-side,.reader-side{border-left:none;border-top:1px solid var(--border)}.container{padding:20px 16px 48px}.proj-main{padding:16px}}.textLayer span.phrase-flash{background:var(--search-match,#176b6147);color:#0000;border-radius:2px}.tool-btn{border-radius:var(--radius-pill);min-width:28px;height:28px;color:var(--text-2);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0 4px;display:inline-flex}.tool-btn:hover{background:var(--bg-3);color:var(--text);text-decoration:none}.tool-btn.tool-btn-lg{min-width:32px;height:32px}.tool-btn.tool-btn-lg svg{width:18px;height:18px}.tool-btn.is-on{color:var(--accent);background:var(--accent-soft)}.tool-btn.danger:hover{color:var(--danger)}.tool-btn:disabled{opacity:.45;cursor:default;background:0 0}.tool-sep{background:var(--border);flex:none;width:1px;height:16px;margin:0 6px}.tool-label{color:var(--text-2);font-variant-numeric:tabular-nums;white-space:nowrap;padding:0 2px;font-size:12px}.tool-ico{color:var(--text-2);display:inline-flex}.tool-ico svg{width:15px;height:15px}button svg,.btn svg,.tabs button svg{flex:none;width:15px;height:15px}.tool-btn svg{width:17px;height:17px}.tabs button{align-items:center;gap:6px;display:inline-flex}.menu-pop button svg{color:var(--text-2)}.continue-arrow{color:var(--accent);display:inline-flex}.continue-arrow svg{width:18px;height:18px}.search-field{position:relative}.search-field .tool-ico{pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.search-field input{padding-left:32px}.textLayer{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;text-align:initial;opacity:1;letter-spacing:normal;word-spacing:normal;-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;line-height:1;position:absolute;inset:0;overflow:clip}.textLayer.highlighting{touch-action:none}.textLayer :is(span,br){color:#0000;white-space:pre;cursor:text;transform-origin:0 0;-webkit-user-select:text;user-select:text;position:absolute}.textLayer{--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))}.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}@media screen and (forced-colors:active){.textLayer .highlight{--highlight-bg-color:transparent;--highlight-selected-bg-color:transparent;--highlight-backdrop-filter:var(--hcm-highlight-filter);--highlight-selected-backdrop-filter:var(--hcm-highlight-selected-filter)}}.textLayer .highlight{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}.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);scroll-margin-top:50px}.textLayer ::selection{background:#0000ff40;background:color-mix(in srgb, AccentColor, transparent 50%);color:#0000}.textLayer.selectionRendering ::selection{color:#0000;background:0 0}.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}
