:root{--bg: #0b0d12;--panel: #11141b;--panel-2: #161a23;--panel-3: #1c212c;--line: #242a36;--line-soft: #1c212b;--text: #e6eaf2;--text-2: #aab3c5;--dim: #7e8798;--accent: #5b8cff;--danger: #ff6b6b;--radius: 7px;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--sans: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;color-scheme:dark;--hud-glass: rgba(15, 18, 24, .85);--hud-glass-heavy: rgba(15, 18, 24, .9);--rail-bg: #0d1016;--rail-hover: #141822}:root[data-theme=light]{--bg: #f3eee5;--panel: #faf7f2;--panel-2: #f0ece4;--panel-3: #e7e2d9;--line: #d6d0c4;--line-soft: #e3ded4;--text: #1a1d24;--text-2: #454b57;--dim: #6b7280;--accent: #2d5fd3;--danger: #d93636;--hud-glass: rgba(250, 247, 242, .9);--hud-glass-heavy: rgba(250, 247, 242, .94);--rail-bg: #ede9e1;--rail-hover: #e3ded5;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:13px/1.45 var(--sans);-webkit-font-smoothing:antialiased;overflow:hidden}.app{display:flex;height:100%}.login-screen{display:flex;align-items:center;justify-content:center;height:100%;background:var(--bg)}.login-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:40px 48px}.login-logo{width:64px;height:64px;margin-bottom:8px;opacity:.85}:root[data-theme=light] .login-logo{content:url(/avalon-island-logo-black-bold.svg)}.login-title{margin:0;font:600 22px var(--sans);color:var(--text);letter-spacing:.02em}.login-subtitle{margin:0 0 20px;font-size:13px;color:var(--dim)}.login-btn{min-height:44px;display:flex;align-items:center;justify-content:center}.login-fallback{margin-top:8px;padding:12px 36px;border:none;border-radius:999px;background:#fff;color:#1f1f1f;font:500 14px var(--sans);cursor:pointer;transition:background .15s}.login-fallback:hover{background:#e8e8e8}.sidebar{display:flex;height:100%;flex:0 0 auto;border-right:1px solid var(--line);background:var(--panel)}.sidebar.collapsed .rail{border-right:0}.sidebar.collapsed .rail-btn{color:var(--dim)}.rail{width:72px;flex:0 0 72px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 0;background:var(--rail-bg);border-right:1px solid var(--line)}.brand{width:48px;height:48px;margin-bottom:10px;padding:0;border:0;cursor:pointer;background:center / 145% no-repeat url(/avalon-island-logo-white-bold.svg)}:root[data-theme=light] .brand{background-image:url(/avalon-island-logo-black-bold.svg)}.rail-btn{position:relative;width:60px;padding:7px 0 5px;border:0;border-radius:var(--radius);background:transparent;color:var(--dim);display:grid;justify-items:center;gap:3px;cursor:pointer;font:inherit}.rail-btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.rail-label{font-size:9.5px;letter-spacing:.02em}.rail-btn:hover,.sidebar.collapsed .rail-btn:hover{color:var(--text-2);background:var(--rail-hover)}.rail-btn.on{color:var(--text);background:var(--panel-3);box-shadow:inset 0 0 0 1px var(--line)}.badge{position:absolute;top:3px;right:6px;min-width:15px;height:15px;padding:0 4px;border-radius:8px;background:var(--accent);color:#fff;font:700 9px/15px var(--mono)}.badge.dot{min-width:7px;width:7px;height:7px;padding:0;top:7px;right:11px}.panel{width:328px;flex:0 0 328px;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain}.panel-header{padding:16px 16px 10px;border-bottom:1px solid var(--line-soft);position:sticky;top:0;background:var(--panel);z-index:2}.panel-header h2{margin:0;font-size:15px;font-weight:600;letter-spacing:-.01em}.panel-header p{margin:3px 0 0;color:var(--dim);font-size:11.5px}.panel-subtitle{padding:0 16px 8px;color:var(--dim);font-size:11px}.section{padding:14px 16px;border-bottom:1px solid var(--line-soft);display:flex;flex-direction:column;gap:9px}.section.tight{gap:7px}.section-title{margin:0;font:600 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}.section-title.collapsible{display:flex;align-items:center;gap:4px;background:none;border:none;padding:0;cursor:pointer;width:100%;text-align:left}.section-title.collapsible:hover{color:var(--fg)}.section-count{font-weight:400;opacity:.6}.sub-title{margin:6px 0 0;font:600 10px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--dim)}.sub-title.collapsible{display:flex;align-items:center;gap:4px;background:none;border:none;padding:4px 0;cursor:pointer;width:100%;text-align:left}.sub-title.collapsible:hover{color:var(--fg)}.sub-title.collapsible .caret{font-size:9px}.note{margin:0;font-size:11.5px;color:var(--dim)}.note.live{color:#a9c2ff}.empty{padding:28px 18px;color:var(--dim);font-size:12px;text-align:center}.input{width:100%;min-width:0;padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:var(--panel-2);color:var(--text);font:12.5px/1.4 var(--sans);outline:none}.input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #5b8cff2e}textarea.input{resize:vertical;font-family:var(--sans)}.input.small{padding:4px 6px;font-size:11.5px}.input.narrow{flex:0 0 92px}.field{display:grid;grid-template-columns:minmax(0,1fr);gap:4px}.field.grow{flex:1}.field-label{font-size:11px;color:var(--text-2);display:flex;justify-content:space-between}.unit{color:var(--dim);font-style:normal;font-family:var(--mono);font-size:10px}.row{display:flex;gap:6px;align-items:flex-end}.check{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--text-2);cursor:pointer}.check input{accent-color:var(--accent)}.btn{padding:6px 10px;border:1px solid var(--line);border-radius:6px;background:var(--panel-2);color:var(--text);font:500 12px var(--sans);cursor:pointer;white-space:nowrap}.btn:hover{background:var(--panel-3);border-color:var(--line)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.btn.primary:hover{filter:brightness(1.08)}.btn.danger{color:var(--danger);border-color:#ff6b6b4d}.btn.danger:hover{background:#ff6b6b1f}.btn.wide{width:100%}.btn.small{padding:4px 8px;font-size:11px}.btn.icon{padding:5px 8px;line-height:1}.btn.icon.sort-dir{flex:0 0 auto;width:32px;height:32px;display:flex;align-items:center;justify-content:center;padding:0;font-size:14px}.reach-row .input.narrow{flex:1 1 auto}.reach-row .btn.icon{align-self:stretch}.btn.muted{color:var(--dim)}.toggle{display:flex;align-items:center;gap:8px;padding:5px 8px;border:1px solid var(--line);border-radius:6px;background:var(--panel-2);color:var(--text-2);font:12px var(--sans);cursor:pointer}.toggle .knob{width:26px;height:15px;border-radius:8px;background:#2a3140;position:relative;transition:background .12s}.toggle .knob:after{content:"";position:absolute;top:2px;left:2px;width:11px;height:11px;border-radius:50%;background:#7e8798;transition:transform .12s,background .12s}.toggle.on .knob{background:#5b8cff59}.toggle.on .knob:after{transform:translate(11px);background:var(--accent)}.palette{display:flex;flex-wrap:wrap;gap:5px}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 9px 4px 7px;border:1px solid var(--line);border-radius:20px;background:var(--panel-2);color:var(--text-2);font:11.5px var(--sans);cursor:pointer}.chip:hover{border-color:color-mix(in srgb,var(--c) 55%,transparent);color:var(--text)}.chip.armed{border-color:var(--c);background:color-mix(in srgb,var(--c) 16%,var(--panel-2));color:var(--text)}.chip.off{opacity:.4;text-decoration:line-through}.swatch{width:9px;height:9px;border-radius:3px;background:var(--c);flex:0 0 auto}.swatch.line{width:13px;height:2px;border-radius:2px}.colors{display:flex;flex-wrap:wrap;gap:5px}.color{width:19px;height:19px;border-radius:5px;border:2px solid transparent;cursor:pointer;padding:0}.color.on{border-color:#fff}.tabs{display:flex;gap:2px;padding:2px;background:var(--panel-2);border:1px solid var(--line);border-radius:7px}.tabs button{flex:1;display:flex;flex-direction:column;align-items:center;padding:5px;border:0;border-radius:5px;background:transparent;color:var(--dim);font:500 12px var(--sans);cursor:pointer}.tab-count{font-size:11px;opacity:.7}.tabs button.on{background:var(--panel-3);color:var(--text)}.vlist{flex:1;min-height:240px;overflow-y:auto;overscroll-behavior:contain}.list-row{display:flex;align-items:center;gap:9px;width:100%;height:100%;padding:0 16px;border:0;border-left:2px solid transparent;background:transparent;color:var(--text);text-align:left;cursor:pointer}.list-row:hover{background:var(--panel-2)}.list-row.on{background:var(--panel-3);border-left-color:var(--accent)}.dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto}.list-text{min-width:0;display:grid}.list-name,.list-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-name{font-size:12.5px}.list-sub{font-size:10.5px;color:var(--dim)}.edge-ends{display:flex;align-items:center;gap:7px}.edge-ends .end{flex:1;min-width:0;padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:var(--panel-2);color:var(--text);font:12px var(--sans);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.edge-ends .arrow{font-size:14px}.conn{display:flex;align-items:baseline;gap:7px;width:100%;padding:5px 7px;border:1px solid var(--line-soft);border-radius:6px;background:var(--panel-2);color:var(--text);text-align:left;cursor:pointer;font:12px var(--sans)}.conn:hover{border-color:var(--line);background:var(--panel-3)}.conn-rel{margin-left:auto;font:10px var(--mono);color:var(--dim);flex:0 0 auto}.conn-node{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.keys{margin:0;display:grid;gap:4px}.keys>div{display:flex;justify-content:space-between;font-size:11.5px}.keys dt{color:var(--text-2);font-family:var(--mono);font-size:10.5px}.keys dd{margin:0;color:var(--dim)}kbd{padding:1px 4px;border:1px solid var(--line);border-radius:4px;background:var(--panel-2);font:10px var(--mono)}.type-card{border:1px solid var(--line-soft);border-radius:7px;background:var(--panel-2);overflow:hidden}.type-card.open{border-color:var(--line)}.type-head{display:flex;align-items:center;gap:8px;width:100%;padding:7px 9px;border:0;background:transparent;color:var(--text);cursor:pointer;font:12.5px var(--sans);text-align:left}.type-head:hover{background:var(--panel-3)}.type-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.count{font:10px var(--mono);color:var(--dim);padding:1px 5px;border-radius:8px;background:var(--panel-3)}.caret{color:var(--dim);font-size:10px}.type-body{display:grid;grid-template-columns:minmax(0,1fr);gap:9px;padding:10px;border-top:1px solid var(--line-soft);background:var(--panel-2)}.type-body>*{min-width:0}.part-head{display:flex;align-items:center;gap:4px;padding:6px 7px}.part-head .input.small{flex:1;min-width:0}.part-index{flex:0 0 auto;width:17px;height:17px;border-radius:4px;background:var(--panel-3);color:var(--dim);font:10px/17px var(--mono);text-align:center}.btn.icon:disabled{opacity:.3;cursor:default}.attr-list{display:grid;gap:5px}.attr-row{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.attr-row .input.small{flex:1}.attr-row .input.small.options{flex:1 0 100%}.multiselect{display:grid;gap:5px;padding:8px;border:1px solid var(--line-soft);border-radius:7px;background:var(--panel-2)}.multiselect-head{display:flex;align-items:center;gap:5px;font:600 10px/1 var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--dim)}.multiselect-head span{flex:1}.multiselect .check{gap:7px}.filter-card{display:grid;gap:5px;padding:8px;border:1px solid var(--line-soft);border-radius:7px;background:var(--panel-2)}.stage{position:relative;flex:1;min-width:0}.graph-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;touch-action:none}.hud{position:absolute;display:flex;align-items:center;gap:6px;pointer-events:none;z-index:3}.hud.top{top:12px;left:14px;flex-wrap:wrap}.hud.top>.hud-btn,.hud.top>.jump-bar{pointer-events:auto}.hud.top>.hud-btn{border:1px solid var(--line);border-radius:20px;background:var(--hud-glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hud.bottom{bottom:12px;left:14px;flex-wrap:wrap;max-width:calc(100% - 130px);padding:4px;border:1px solid var(--line);border-radius:8px;background:var(--hud-glass-heavy);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto}.hud-chip{padding:3px 8px;border:1px solid var(--line);border-radius:20px;background:var(--hud-glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:11px;color:var(--text-2)}.hud-chip strong{color:var(--text);font-family:var(--mono)}.hud-chip.warn{color:#ffb703;border-color:#ffb70359}.hud-chip.live{color:#a9c2ff;border-color:#5b8cff73}.hud-btn{min-width:30px;padding:4px 8px;border:0;border-radius:5px;background:transparent;color:var(--text-2);font:11.5px var(--mono);cursor:pointer}.hud-btn.icon{font-size:16px}.hud-btn:hover:not(:disabled){background:var(--panel-3);color:var(--text)}.hud-btn:disabled{color:var(--dim);cursor:default}.hud-btn.strong{color:var(--text);font-family:var(--sans);font-size:12px}.hud-btn.on{background:#5b8cff38;box-shadow:inset 0 0 0 1px #5b8cff8c;color:#fff}.hud-btn.focus-chip{font-family:var(--sans);font-size:11.5px;color:#a9c2ff;background:#5b8cff24;border:1px solid rgba(91,140,255,.45)}.hud-btn.focus-chip:hover{background:#5b8cff3d;color:#fff}.hud-view-toggle{display:flex;gap:2px;padding:2px;border-radius:6px;background:#0000001f}.hud-view-toggle .hud-btn.strong{padding:3px 10px;border-radius:4px}.hud-sep{width:1px;height:16px;background:var(--line);margin:0 3px}.hud-stat{padding-right:6px;font:10.5px var(--mono);color:var(--dim)}.hud.drawing{top:12px;left:50%;transform:translate(-50%);flex-wrap:wrap;justify-content:center;max-width:min(760px,calc(100% - 28px));padding:7px 10px;border:1px solid var(--kind, rgba(194, 232, 18, .5));border-radius:9px;background:var(--hud-glass-heavy);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto}.pathway-menu-wrap{position:relative}.pathway-menu{position:absolute;bottom:calc(100% + 6px);left:0;z-index:20;display:flex;flex-direction:column;min-width:180px;padding:4px;background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px #00000073}.pathway-menu-item{display:flex;align-items:center;gap:8px;padding:7px 10px;border:0;border-radius:5px;background:none;color:var(--text);font:12px var(--sans);cursor:pointer;text-align:left}.pathway-menu-item:hover{background:var(--panel-3)}.kind-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;vertical-align:baseline}.drawing-kind{flex:0 0 176px}.drawing-dot{width:9px;height:9px;border-radius:50%}.drawing-name{flex:0 0 150px}.drawing-count{font:10.5px var(--mono);color:var(--text-2);white-space:nowrap}.drawing-hint{font-size:11px;color:var(--dim)}.pathway-head{display:flex;align-items:stretch}.pathway-head-main{flex:1;min-width:0;padding-left:11px}.pathway-head .btn.icon{border:0;background:transparent;border-radius:0}.pathway-head .btn.icon:hover{background:var(--panel-3)}.btn.on{color:var(--accent);background:#5b8cff2e;border-color:#5b8cff8c}.disease-head .caret{flex:0 0 auto;color:var(--dim)}.disease-head .type-name{font-weight:600}.btn.icon.on{color:var(--accent);background:#5b8cff2e;border-color:#5b8cff8c}.pathway-head .btn.icon.on{background:#5b8cff2e}.dot{border:1px solid transparent}.broken-count{color:var(--danger)}.note.warn{color:#ffb703}.jump-bar{position:relative;display:flex;align-items:center;gap:0;width:100px;height:26px;padding:0 8px;background:var(--hud-glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:20px;cursor:text;transition:width .2s ease;pointer-events:auto}.jump-bar.expanded{width:260px;border-color:var(--accent);border-radius:10px}.jump-bar-icon{flex:none;font-size:14px;color:var(--dim);margin-right:5px;line-height:1}.jump-bar-input{flex:1;min-width:0;padding:0;font:inherit;font-size:12px;color:var(--text);background:transparent;border:0;outline:none}.jump-bar-input::placeholder{color:var(--dim)}.jump-results{position:absolute;left:0;z-index:20;display:flex;flex-direction:column;width:340px;max-height:320px;overflow-y:auto;padding:4px;background:var(--panel);border:1px solid var(--line);border-radius:9px;box-shadow:0 12px 32px #0000008c}.jump-results:not(.top){bottom:calc(100% + 8px)}.jump-results.top{top:calc(100% + 8px)}.jump-empty{padding:8px 10px;font-size:12px;color:var(--dim)}.jump-hit{display:flex;align-items:baseline;gap:7px;min-width:0;padding:6px 8px;font:inherit;font-size:12px;color:var(--text);text-align:left;background:none;border:0;border-radius:6px;cursor:pointer}.jump-hit.on{background:#8080801f}.jump-dot{flex:none;width:8px;height:8px;border:1.5px solid;border-radius:50%}.jump-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jump-detail{flex:none;margin-left:auto;font-size:11px;color:var(--dim)}.jump-hidden{flex:none;padding:1px 5px;font-size:10px;color:#ffb703;border:1px solid rgba(255,183,3,.4);border-radius:999px}.member-row{display:flex;align-items:center;min-width:0;border-radius:7px}.member-row.on-lane{background:#80808014}.member-edit{flex:0 0 auto;opacity:0;transition:opacity 90ms ease}.member-row:hover .member-edit,.member-edit:focus-visible{opacity:.65}.member-edit:hover:not(:disabled){opacity:1}.member-row:hover .member-edit:last-child:hover{color:var(--danger)}.member-main{display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:1px;min-width:0;padding:5px 6px 5px 9px;font:inherit;color:var(--text);text-align:left;background:none;border:0;cursor:pointer}.member-name,.member-lane{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-lane{font-size:11px;color:var(--dim)}.member-main:hover .member-name{text-decoration:underline}.same-concept{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;min-width:0;margin:-4px 0 8px}.same-concept-toggle{display:flex;align-items:center;gap:4px;background:none;border:none;padding:0;cursor:pointer;font:inherit}.same-concept-label{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:#ffb703}.same-concept-toggle .caret{font-size:10px;color:var(--text-dim)}.same-concept-toggle .count{font-size:11px;color:var(--text-dim)}.chip-link{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:2px 7px;font:inherit;font-size:12px;color:var(--text);background:#ffb7031a;border:1px solid rgba(255,183,3,.4);border-radius:999px;cursor:pointer}.chip-link:hover{background:#ffb70333}.step-list{margin:0;padding:0 0 0 2px;list-style:none;display:grid;grid-template-columns:minmax(0,1fr);gap:2px;counter-reset:step;min-width:0}.step-list li{counter-increment:step;display:flex;align-items:center;gap:6px;min-width:0}.step-list li:before{content:counter(step);flex:0 0 auto;width:15px;font:9.5px/15px var(--mono);color:var(--dim);text-align:right}.step-list li.broken:before{color:var(--danger)}.sub-head{display:flex;align-items:center;justify-content:space-between;gap:6px}.step-drop{flex:0 0 auto;opacity:0;transition:opacity 90ms ease}.step-list li:hover .step-drop,.step-drop:focus-visible{opacity:.65}.step-drop:hover{opacity:1;color:var(--danger)}.step-row{flex:1;min-width:0;display:flex;align-items:baseline;gap:6px;padding:3px 6px;border:1px solid var(--line-soft);border-radius:5px;background:var(--panel-2);color:var(--text);font:11.5px var(--sans);text-align:left;cursor:pointer}.step-row:hover{border-color:var(--line);background:var(--panel-3)}.step-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.step-lane{flex:0 0 auto;font:10px var(--mono);color:var(--dim)}.step-list li.broken .step-row{border-color:#ff6b6b66}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:var(--line);border-radius:6px;border:2px solid var(--panel)}::-webkit-scrollbar-thumb:hover{background:var(--dim)}::-webkit-scrollbar-track{background:transparent}.term-bound,.term-unbound{display:flex;align-items:baseline;gap:8px;min-width:0;padding:6px 4px 6px 9px;background:#8080800f;border:1px solid var(--line-soft);border-radius:7px}.term-unbound,.term-bound.warn{border-color:#ffb70373}.term-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.term-id{flex:none;font-family:var(--mono, ui-monospace, monospace);font-size:11px;color:var(--dim)}.term-unbound .term-id{color:#ffb703}.derived-value{display:block;padding:7px 9px;font-size:12px;color:var(--text);background:#8080800a;border:1px dashed var(--line-soft);border-radius:5px}.coverage-row .term-id{max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coverage-status{font-size:11px;font-weight:500;color:var(--dim)}.coverage-status.treated{color:#7fe0a4}.coverage-status.partial{color:#d9a85a}.coverage-status.untreated{color:#e08f8f}.coverage-status.no-phenotypes{color:var(--dim)}.coverage-line{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;padding:2px 0 6px}.coverage-flag{font-size:10.5px;color:var(--dim);padding:1px 6px;border:1px solid var(--line-soft);border-radius:999px;cursor:default}.coverage-flag.on{color:var(--accent);border-color:#5b8cff66;background:#5b8cff1a}button.coverage-flag{font:inherit;font-size:10.5px}.coverage-flag.expandable{cursor:pointer}.coverage-flag.expandable:hover{background:#5b8cff33;border-color:#5b8cff99}.count.pheno-approved{opacity:.55}.hyp-text{font:11px/1.5 var(--mono);white-space:pre-wrap;resize:vertical}.segmented{display:flex;gap:4px}.segmented .btn{flex:1;text-align:center}.segmented .btn.on{color:var(--accent);border-color:#5b8cff73;background:#5b8cff1f}.pmid-list{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.pmid{font-family:var(--mono, ui-monospace, monospace);font-size:11px;text-decoration:none;color:var(--dim);background:var(--sunk, rgba(128, 128, 128, .06));border:1px solid var(--line-soft);border-radius:3px;padding:2px 6px}.pmid:hover,.pmid:focus-visible{color:var(--text);border-color:var(--accent, #4cc9f0)}.term-results{display:flex;flex-direction:column;max-height:220px;overflow-y:auto;margin-top:6px;padding:3px;background:#00000040;border:1px solid rgba(255,255,255,.1);border-radius:7px}.term-results.tall{max-height:300px}.term-hit{display:flex;align-items:baseline;gap:8px;min-width:0;padding:5px 7px;font:inherit;font-size:12px;color:var(--text);text-align:left;background:none;border:0;border-radius:5px;cursor:pointer}.term-hit:hover,.term-hit.on{background:#8080801a}.term-hit-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.term-hit.taken .term-hit-label{color:var(--dim)}.term-taken{flex:none;padding:1px 5px;font:600 9px var(--mono);letter-spacing:.04em;text-transform:uppercase;color:#ffcf7f;border:1px solid rgba(255,207,127,.35);border-radius:999px}.chip-row{display:flex;flex-wrap:wrap;gap:5px}.chip-toggle{font:inherit;font-size:11px;color:var(--dim);background:#8080800d;border:1px solid var(--line-soft);border-radius:999px;padding:4px 10px;cursor:pointer}.chip-toggle:hover{color:var(--text)}.chip-toggle.on{color:var(--text);background:color-mix(in srgb,var(--accent, #4cc9f0) 16%,var(--panel-2, #12151c));border-color:var(--accent, #4cc9f0)}.chip-toggle:focus-visible{outline:2px solid var(--accent, #4cc9f0);outline-offset:1px}.hyp-bar{height:4px;border-radius:2px;background:#8080801f;overflow:hidden}.hyp-bar-fill{display:block;height:100%;background:#c2e812}.hyp-toolbar{gap:8px}.hyp-labeled-row{display:flex;align-items:center;gap:6px}.hyp-row-label{font:500 10px var(--mono);color:var(--dim);flex-shrink:0;min-width:38px}.hyp-type-details{font:600 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}.hyp-type-summary{cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none}.hyp-type-summary::-webkit-details-marker{display:none}.hyp-type-summary:before{content:"▸ "}.hyp-type-details[open]>.hyp-type-summary:before{content:"▾ "}.hyp-uploaded-chip{color:#8b9fef}.hyp-prov{font-style:italic;opacity:.8}.modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:center;justify-content:center;background:#06080c8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{width:min(430px,calc(100vw - 32px));padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2, #12151c);box-shadow:0 18px 48px #0000008c}.modal-title{margin:0 0 8px;font:600 13.5px var(--sans);color:var(--text);line-height:1.45}.modal .note{margin:0 0 8px}.modal .note.dim{color:var(--dim)}.modal .row{margin-top:12px}.modal.wide{width:min(620px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow-y:auto}.modal .dim{color:var(--dim)}.merge-heads{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin:12px 0}.merge-head{display:flex;flex-direction:column;gap:2px;min-width:0;padding:8px 10px;border:1px solid var(--line);border-radius:8px}.merge-role{font:600 9px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--dim)}.merge-name{font:500 12px var(--sans);color:var(--text);overflow-wrap:anywhere}.merge-section{margin:14px 0 6px;font:600 9px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--dim)}.merge-lane{padding:8px 10px;margin-bottom:8px;border:1px solid var(--line);border-radius:8px}.merge-lane-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.merge-lane-head .input{flex:1 1 200px;width:auto}.merge-arrow{color:var(--dim)}.merge-conflict{margin-top:8px}.merge-choices{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0}.merge-effects{margin:0;padding-left:18px;font:11px var(--sans);color:var(--text);line-height:1.7}.merge-blocked{margin-top:10px;padding:8px 10px;border:1px solid rgba(255,138,128,.4);border-radius:8px;font:11px var(--sans);color:#ff8a80}.merge-blocked ul{margin:4px 0 0;padding-left:18px}.merge-ack{display:flex;align-items:flex-start;gap:8px;margin-top:10px;padding:8px 10px;border:1px solid rgba(255,207,127,.4);border-radius:8px;font:11px var(--sans);color:#ffcf7f;cursor:pointer}.merge-ack input{margin:1px 0 0;flex:none}.count.opposes-count{color:#7fe0a4;border-color:#7fe0a459}.count.signal-pos{color:#5b9bf5;border-color:#5b9bf559}.count.signal-neg{color:#e06060;border-color:#e0606059}.count.signal-mix{color:#e0b84a;border-color:#e0b84a59}.count.signal-ong{color:#8fa8c8;border-color:#8fa8c859}.signal-icon{font-size:.75rem;margin-right:4px;font-style:normal}.signal-icon.signal-pos{color:#5b9bf5}.signal-icon.signal-neg{color:#e06060}.signal-icon.signal-mix{color:#e0b84a}.signal-icon.signal-ong{color:#8fa8c8}:root[data-theme=light] .count.signal-pos{color:#2563eb;border-color:#2563eb66}:root[data-theme=light] .signal-icon.signal-pos{color:#2563eb}.rail-item{display:grid;justify-items:center}.rail-btn.ready{color:#ffd117}.badge.gold{background:#ffd117;color:#1a1300}.rail-xp{width:40px;height:5px;margin:1px 0 6px;padding:0;border:0;border-radius:3px;background:var(--panel-3);overflow:hidden;cursor:pointer}.rail-xp i{display:block;height:100%;background:var(--accent);transition:width .35s ease-out}.rail-xp.ready{box-shadow:0 0 8px #ffd1178c}.rail-xp.ready i{background:linear-gradient(90deg,#ffb01f,#ffe985);animation:xp-pulse 1.4s ease-in-out infinite}@keyframes xp-pulse{0%,to{opacity:1}50%{opacity:.45}}.trail-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;pointer-events:none}.xp-head{display:flex;align-items:baseline;justify-content:space-between}.xp-bar{height:8px;margin:6px 0 9px;border-radius:5px;background:var(--panel-3);overflow:hidden}.xp-bar i{display:block;height:100%;background:linear-gradient(90deg,#3f6fff,#8fd4ff);transition:width .35s ease-out}.xp-bar.ready i{background:linear-gradient(90deg,#ffb01f,#ffe985);animation:xp-pulse 1.4s ease-in-out infinite}.slot{display:flex;align-items:center;gap:10px;margin-bottom:6px;padding:7px 9px;border:1px solid var(--line);border-left:3px solid var(--c);border-radius:8px;background:var(--panel-2)}.slot-empty{width:40px;height:40px;border:1px dashed var(--line);border-radius:6px}.slot-text{display:grid;min-width:0}.slot-text strong{font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slot .btn{margin-left:auto}.skin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.skin-cell{position:relative;display:grid;justify-items:center;gap:5px;padding:9px 5px 11px;border:1px solid var(--line);border-radius:6px;background:var(--panel-2);color:var(--text-2);font:9.5px var(--sans);cursor:pointer;overflow:hidden}.skin-cell span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skin-cell.owned:hover{background:var(--panel-3);color:var(--text)}.skin-cell.locked{opacity:.45;cursor:default}.skin-cell.equipped{box-shadow:inset 0 0 0 1px var(--c);color:var(--text)}.tile-bar{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--c)}.odds-list{margin:0;padding:0;list-style:none}.odds-list li{display:flex;align-items:center;gap:8px;padding:3px 0;font:11px var(--sans)}.odds-list i{width:8px;height:8px;border-radius:2px;background:var(--c);flex:none}.odds-list em{margin-left:auto;color:var(--dim);font-style:normal}.odds-list strong{width:52px;text-align:right;font:700 11px var(--mono)}.case-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;background:#04060adb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.case{width:min(1060px,94vw);display:flex;flex-direction:column;gap:13px;padding:16px 18px 18px;border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:0 30px 90px #0009}.case-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.case-head h2{margin:0;font-size:15px;letter-spacing:.02em}.case-head .note{margin:2px 0 0}.odds-strip{display:flex;flex-wrap:wrap;gap:6px}.odds-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border:1px solid var(--line);border-radius:20px;background:var(--panel-2);color:var(--text-2);font:10px var(--sans)}.odds-chip i{width:7px;height:7px;border-radius:2px;background:var(--c)}.odds-chip strong{font:700 10px var(--mono);color:var(--text)}.reel-view{position:relative;height:168px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2);overflow:hidden}.reel-view:before,.reel-view:after{content:"";position:absolute;top:0;bottom:0;width:90px;z-index:2;pointer-events:none}.reel-view:before{left:0;background:linear-gradient(90deg,var(--bg),transparent)}.reel-view:after{right:0;background:linear-gradient(270deg,var(--bg),transparent)}.ticker{position:absolute;left:50%;top:0;bottom:0;width:2px;z-index:3;margin-left:-1px;background:linear-gradient(180deg,#ffd117,#ffd11740);box-shadow:0 0 12px #ffd11799}.ticker:before,.ticker:after{content:"";position:absolute;left:-5px;border:6px solid transparent}.ticker:before{top:-1px;border-top-color:#ffd117}.ticker:after{bottom:-1px;border-bottom-color:#ffd117}.reel{display:flex;align-items:center;gap:8px;height:100%;will-change:transform}.tile{position:relative;flex:0 0 116px;width:116px;height:138px;display:grid;justify-items:center;align-content:center;gap:8px;border:1px solid var(--line);border-radius:6px;background:var(--panel-3);box-shadow:inset 0 -40px 44px -34px var(--c);overflow:hidden}.tile-name{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-2);font:10px var(--sans)}.tile.won{box-shadow:inset 0 -40px 44px -30px var(--c),0 0 0 2px var(--c)}.crate{height:100%;display:grid;justify-items:center;align-content:center;gap:4px}.crate img{animation:crate-float 3.6s ease-in-out infinite;filter:drop-shadow(0 10px 18px rgba(0,0,0,.55))}@keyframes crate-float{0%,to{transform:translateY(-3px)}50%{transform:translateY(3px)}}.drop{display:flex;align-items:center;gap:14px;padding:11px 14px;border:1px solid var(--c);border-radius:10px;background:linear-gradient(90deg,rgba(128,128,128,.06),transparent 60%);box-shadow:0 0 30px -12px var(--c);animation:drop-in .28s ease-out}@keyframes drop-in{0%{opacity:0;transform:translateY(6px) scale(.98)}}.drop-text{display:grid;gap:2px;min-width:0}.drop-text strong{font-size:15px}.drop-tier{color:var(--c);font:700 10px var(--mono);letter-spacing:.08em;text-transform:uppercase}.drop .row{margin-left:auto}.case.hit-red .reel-view,.case.hit-gold .reel-view{animation:case-shake .4s ease-out}.case.hit-gold{box-shadow:0 30px 90px #0009,0 0 0 1px #ffd117b3,0 0 80px -10px #ffd11773}.case.hit-gold .drop{animation:drop-in .28s ease-out,gold-glow 2.4s ease-in-out infinite}@keyframes gold-glow{0%,to{box-shadow:0 0 30px -12px var(--c)}50%{box-shadow:0 0 46px -6px var(--c)}}@keyframes case-shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.case-foot{display:flex;align-items:center;justify-content:center;min-height:34px}.case-foot .note{margin:0}.btn.big{padding:9px 14px;font-size:13px;font-weight:600}@media (prefers-reduced-motion: reduce){.crate img,.rail-xp.ready i,.xp-bar.ready i,.case.hit-gold .drop,.case.hit-red .reel-view,.case.hit-gold .reel-view{animation:none}}.ask-dock{position:absolute;right:14px;bottom:12px;z-index:4;display:flex;width:380px;max-width:calc(100% - 28px);max-height:min(70%,620px);flex-direction:column;border:1px solid var(--line);border-radius:10px;background:var(--hud-glass-heavy);box-shadow:0 12px 32px #00000040;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto}.ask-dock.collapsed{width:auto;border:0;background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.ask-open{display:flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--line);border-radius:20px;background:var(--hud-glass-heavy);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 6px 18px #0003;color:var(--text);font:600 12px var(--sans);cursor:pointer}.ask-open:hover{border-color:var(--accent);color:var(--accent)}.ask-badge{padding:0 5px;border-radius:8px;background:var(--accent);color:#fff;font-size:10px}.ask-head{display:flex;align-items:center;gap:6px;padding:8px 8px 8px 11px;border-bottom:1px solid var(--line);font-size:12px;flex-shrink:0}.ask-model{padding:1px 6px;border:1px solid var(--line);border-radius:10px;color:var(--dim);font-size:10px}.ask-spacer{flex:1}.ask-cost{color:var(--dim);font:10px var(--mono)}.ask-icon{display:flex;padding:4px;border:0;border-radius:5px;background:none;color:var(--dim);cursor:pointer}.ask-icon:hover{background:var(--panel-3);color:var(--text)}.ask-log{flex:1 1 auto;min-height:0;overflow-y:auto;padding:10px 11px;display:flex;flex-direction:column;gap:10px}.ask-turn.you p{margin:0;white-space:pre-wrap}.ask-turn.you{align-self:flex-end;max-width:85%;padding:6px 9px;border-radius:9px 9px 2px;background:var(--panel-3)}.ask-turn.model{color:var(--text-2)}.ask-working{color:var(--dim);font-style:italic}.ask-error{margin:0 11px 8px;padding:6px 8px;border:1px solid rgba(255,107,107,.4);border-radius:6px;color:var(--danger);font-size:11px}.ask-trace{margin-bottom:5px;font-size:11px}.ask-trace>button{display:flex;align-items:center;gap:5px;padding:0;border:0;background:none;color:var(--dim);font:inherit;cursor:pointer}.ask-trace ul{margin:4px 0 0;padding-left:16px;color:var(--dim);list-style:none}.ask-trace li{padding:2px 0;white-space:pre-wrap}.ask-md{line-height:1.5}.ask-md>*:first-child{margin-top:0}.ask-md>*:last-child{margin-bottom:0}.ask-md p{margin:.4em 0}.ask-md h1,.ask-md h2,.ask-md h3,.ask-md h4{margin:.6em 0 .3em;font-size:12px;font-weight:600;color:var(--text)}.ask-md ul,.ask-md ol{margin:.3em 0;padding-left:18px}.ask-md li{margin:.15em 0}.ask-md code{padding:1px 4px;border-radius:3px;background:var(--panel-3);font:11px var(--mono);color:var(--text)}.ask-md pre{margin:.4em 0;padding:6px 8px;border-radius:5px;background:var(--panel-3);overflow-x:auto}.ask-md pre code{padding:0;background:none;font-size:11px}.ask-md strong{color:var(--text);font-weight:600}.ask-md a{color:var(--accent);text-decoration:none}.ask-md a:hover{text-decoration:underline}.ask-md blockquote{margin:.4em 0;padding-left:10px;border-left:2px solid var(--line);color:var(--dim)}.ask-md table{border-collapse:collapse;font-size:11px;margin:.4em 0}.ask-md th,.ask-md td{padding:3px 8px;border:1px solid var(--line);text-align:left}.ask-md th{background:var(--panel-3);font-weight:600}.ask-research{margin-bottom:5px;font-size:11px}.ask-research>button{display:flex;align-items:center;gap:5px;padding:0;border:0;background:none;color:var(--dim);font:inherit;cursor:pointer}.ask-research ul{margin:4px 0 0;padding-left:16px;color:var(--dim)}.ask-research code{color:var(--text-2);font:10px var(--mono)}.ask-patch{margin-top:8px;border:1px solid var(--line);border-radius:7px;background:var(--panel)}.ask-patch.applied,.ask-patch.dismissed{opacity:.6}.ask-patch-head{padding:6px 9px;border-bottom:1px solid var(--line-soft);color:var(--text);font-size:11px;font-weight:600}.ask-changes{margin:0;padding:6px 9px;list-style:none}.ask-change{display:flex;gap:7px;padding:3px 0;font-size:11px}.ask-change-mark{width:10px;flex:0 0 auto;color:var(--dim);font:11px var(--mono)}.ask-change.node .ask-change-mark,.ask-change.lane .ask-change-mark,.ask-change.edge .ask-change-mark{color:#7ddc9b}.ask-change.edge-delete .ask-change-mark{color:var(--danger)}.ask-change-body{display:flex;min-width:0;flex-direction:column}.ask-change-what{color:var(--text)}.ask-change-detail,.ask-context-hint{color:var(--dim);font-size:10px}.ask-pmids{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.ask-pmids a{color:var(--accent);font:10px var(--mono)}.ask-blocked{margin:0 9px 8px;padding:6px 8px;border:1px solid rgba(255,107,107,.35);border-radius:6px;font-size:11px}.ask-blocked strong{color:var(--danger)}.ask-blocked ul{margin:4px 0 0;padding-left:15px;color:var(--text-2)}.ask-blocked code{color:var(--dim);font:10px var(--mono)}.ask-locked{margin:0 9px 8px;padding:6px 8px;border:1px solid rgba(255,183,3,.4);border-radius:6px;font-size:11px}.ask-locked strong{color:#ffb703}.ask-locked ul{margin:4px 0 0;padding-left:15px;color:var(--text-2)}.ask-locked p{margin:5px 0 0;color:var(--dim)}.ask-change.locked .ask-change-what{display:flex;align-items:baseline;gap:6px}.ask-change-lock{padding:0 4px;border:1px solid rgba(255,183,3,.45);border-radius:3px;color:#ffb703;font:9px var(--mono);text-transform:uppercase;letter-spacing:.04em}.prov{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;margin:0;font-size:11px}.prov dt{color:var(--dim)}.prov dd{margin:0;color:var(--text-2);font:10px var(--mono)}.prov dd.prov-locked{color:#ffb703}.prov dd.prov-overridden{color:var(--danger)}.prov-none{margin:0}.part-curated{color:#ffb703;font-size:11px;cursor:help}.curation-locked{margin:5px 0 0;padding-left:15px;font-size:11px;color:var(--text-2)}.curation-locked code{color:var(--dim);font:10px var(--mono)}.ask-actions{display:flex;gap:6px;padding:0 9px 9px}.ask-apply,.ask-reject,.ask-send{padding:5px 12px;border:1px solid var(--line);border-radius:6px;background:var(--panel-2);color:var(--text);font:600 11px var(--sans);cursor:pointer}.ask-apply{border-color:var(--accent);background:var(--accent);color:#fff}.ask-reject:hover{border-color:var(--danger);color:var(--danger)}.ask-settled{padding:0 9px 8px;color:var(--dim);font-size:10px}.ask-context{border-top:1px solid var(--line)}.ask-context-line{display:flex;width:100%;align-items:center;gap:6px;padding:6px 11px;border:0;background:none;color:var(--dim);font:11px var(--sans);text-align:left;cursor:pointer}.ask-context-line:hover{color:var(--text-2)}.ask-context-count{flex:0 0 auto;color:var(--text-2)}.ask-context.blocked .ask-context-count{color:#e0a458}.ask-context-types{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ask-context-body{max-height:160px;overflow-y:auto;padding:0 11px 8px;font-size:11px}.ask-context-filters{margin-bottom:5px;color:var(--dim)}.ask-context-group{display:flex;gap:7px;padding:2px 0}.ask-context-type{flex:0 0 84px;color:var(--text-2)}.ask-context-names{min-width:0;color:var(--dim)}.ask-compose{display:flex;gap:6px;padding:8px 9px 9px;border-top:1px solid var(--line);flex-shrink:0}.ask-compose textarea{flex:1;padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:var(--panel-2);color:var(--text);font:12px var(--sans);resize:none}.ask-compose textarea:focus{border-color:var(--accent);outline:none}.ask-compose textarea:disabled{color:var(--dim)}.ask-send{align-self:flex-end}.ask-send:disabled,.ask-apply:disabled{opacity:.45;cursor:default}.ask-open.unset{color:var(--text-2)}.ask-badge.quiet{background:var(--panel-3);color:var(--dim)}.ask-setup{padding:11px;font-size:12px}.ask-setup p{margin:0 0 8px;color:var(--text-2)}.ask-setup pre{margin:0;padding:7px 9px;overflow-x:auto;border:1px solid var(--line);border-radius:6px;background:var(--panel-2);color:var(--text);font:11px var(--mono)}.ask-setup-note{margin:8px 0 0!important;color:var(--dim)!important;font-size:11px}.ask-setup pre{white-space:pre-wrap}.ask-setup-note code{color:var(--text-2);font:10px var(--mono)}.ask-model{display:flex;align-items:center;gap:4px;padding:1px 5px 1px 7px;border:1px solid var(--line);border-radius:10px;background:none;color:var(--text-2);font:10px var(--sans);cursor:pointer}.ask-model:hover,.ask-model.on{border-color:var(--accent);color:var(--accent)}.ask-model em{color:var(--dim);font-style:normal}.ask-models{border-bottom:1px solid var(--line);padding:6px}.ask-model-row{display:grid;width:100%;grid-template-columns:1fr auto;gap:1px 8px;padding:5px 7px;border:1px solid transparent;border-radius:6px;background:none;color:var(--text-2);font:11px var(--sans);text-align:left;cursor:pointer}.ask-model-row:hover{background:var(--panel-2)}.ask-model-row.on{border-color:var(--accent);background:var(--panel-2)}.ask-model-name{color:var(--text);font-weight:600}.ask-model-price{color:var(--dim);font:10px var(--mono)}.ask-model-note{grid-column:1 / -1;color:var(--dim);font-size:10px}.ask-efforts{display:flex;align-items:center;gap:4px;margin-top:5px;padding:5px 7px 0;border-top:1px solid var(--line-soft);color:var(--dim);font-size:10px}.ask-effort{padding:2px 6px;border:1px solid var(--line);border-radius:9px;background:none;color:var(--text-2);font:10px var(--sans);cursor:pointer}.ask-effort.on{border-color:var(--accent);background:var(--accent);color:#fff}.ask-efforts-note{margin-top:5px;padding:5px 7px 0;border-top:1px solid var(--line-soft);color:var(--dim);font-size:10px}.ask-progress{border:1px solid var(--line);border-radius:7px;background:var(--panel)}.ask-progress-head{display:flex;align-items:center;gap:7px;padding:6px 9px;border-bottom:1px solid var(--line-soft);font-size:11px}.ask-progress-now{flex:1;overflow:hidden;color:var(--text);text-overflow:ellipsis;white-space:nowrap}.ask-progress-time{color:var(--dim);font:10px var(--mono)}.received-chip{color:var(--text);border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.received-chip:hover{background:color-mix(in srgb,var(--accent) 20%,transparent)}.graph-loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;text-align:center;background:var(--bg)}.graph-loading-row{display:flex;align-items:center;gap:9px}.graph-loading-label{color:var(--text);font-size:13px}.graph-loading-time{color:var(--dim);font:11px var(--mono);min-width:3ch;text-align:left}.graph-loading-note{max-width:34ch;margin:0;color:var(--dim);font-size:11px;line-height:1.5}.ask-tabs{display:flex;align-items:center;gap:4px;padding:6px 8px 0;overflow-x:auto;flex-shrink:0}.ask-tab{display:flex;align-items:center;gap:6px;flex:1 1 0;min-width:60px;padding:4px 8px;border:1px solid var(--line);border-bottom:none;border-radius:6px 6px 0 0;background:transparent;color:var(--text-2);font:inherit;font-size:11px;cursor:pointer;overflow:hidden}.ask-tab:hover{color:var(--text)}.ask-tab.on{color:var(--text);background:color-mix(in srgb,var(--accent) 12%,transparent);border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.ask-tab-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ask-tab-x{flex:0 0 auto;padding:0 2px;color:var(--dim);line-height:1}.ask-tab-x:hover{color:var(--text)}.ask-tab.busy .ask-tab-x{opacity:.35;cursor:default}.ask-tab-new{flex:0 0 auto;padding:4px 8px;border:1px dashed var(--line);border-radius:6px;background:transparent;color:var(--dim);font:inherit;cursor:pointer}.ask-tab-new:hover{color:var(--text);border-color:var(--text-2)}.ask-pulse{width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:var(--accent);animation:ask-pulse 1.4s ease-in-out infinite}@keyframes ask-pulse{0%,to{opacity:.25;transform:scale(.75)}50%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion: reduce){.ask-pulse{animation:none;opacity:.8}}.ask-progress-steps{margin:0;padding:5px 9px 7px;list-style:none}.ask-step{display:flex;gap:6px;padding:1px 0;color:var(--dim);font-size:10px}.ask-step.thinking .ask-step-text{font-style:italic}.ask-step.done{color:var(--text-2)}.ask-step-mark{width:8px;flex:0 0 auto;font:10px var(--mono)}.ask-step.done .ask-step-mark{color:#7ddc9b}.ask-step-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ask-step em{color:var(--dim);font:10px var(--mono);font-style:normal}.ask-turn-foot{margin-top:4px;color:var(--dim);font:10px var(--mono)}.review-dock{position:absolute;right:14px;top:12px;z-index:5;pointer-events:auto}.review-dock.minimising{animation:review-minimise .2s ease-in forwards}@keyframes review-minimise{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}.review-open{display:flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--line);border-radius:20px;background:var(--hud-glass-heavy);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 6px 18px #0003;color:var(--text);font:600 12px var(--sans);cursor:pointer}.review-open:hover{border-color:var(--accent);color:var(--accent)}.review-panel{position:absolute;z-index:5;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:10px;background:var(--hud-glass-heavy);box-shadow:0 12px 32px #00000040;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto;overflow:hidden;min-width:280px;min-height:200px}.review-panel[hidden]{display:none}.review-panel.collapsed{min-height:0}.review-resize{position:absolute;z-index:1}.review-resize.n{top:-3px;left:8px;right:8px;height:6px;cursor:n-resize}.review-resize.s{bottom:-3px;left:8px;right:8px;height:6px;cursor:s-resize}.review-resize.e{right:-3px;top:8px;bottom:8px;width:6px;cursor:e-resize}.review-resize.w{left:-3px;top:8px;bottom:8px;width:6px;cursor:w-resize}.review-resize.ne{top:-4px;right:-4px;width:12px;height:12px;cursor:ne-resize}.review-resize.nw{top:-4px;left:-4px;width:12px;height:12px;cursor:nw-resize}.review-resize.se{bottom:-4px;right:-4px;width:16px;height:16px;cursor:se-resize}.review-resize.se:after{content:"";position:absolute;bottom:5px;right:5px;width:8px;height:8px;border-right:2px solid var(--dim);border-bottom:2px solid var(--dim);opacity:.5}.review-panel:hover .review-resize.se:after{opacity:.8}.review-resize.sw{bottom:-4px;left:-4px;width:16px;height:16px;cursor:sw-resize}.review-head{display:flex;align-items:center;gap:6px;padding:8px 8px 8px 11px;border-bottom:1px solid var(--line);font-size:12px;cursor:grab;-webkit-user-select:none;user-select:none;flex-shrink:0}.review-head:active{cursor:grabbing}.review-spacer{flex:1}.review-icon{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:0;border-radius:5px;background:none;color:var(--dim);cursor:pointer}.review-icon:hover{color:var(--text);background:var(--panel-3)}.review-icon.active{color:var(--accent);background:var(--panel-3)}.quick-links-trigger{display:flex;align-items:center;gap:4px;font:10px var(--sans);color:var(--dim);background:none;border:none;cursor:pointer;padding:0}.quick-links-trigger:hover{color:var(--accent)}.quick-links-trigger:disabled{opacity:.35;cursor:default}.quick-links-trigger.active{color:var(--accent)}.quick-links-menu{position:fixed;z-index:9999;min-width:180px;padding:4px 0;border:1px solid var(--line);border-radius:8px;background:var(--panel-2);box-shadow:0 8px 24px #0000004d;transform:translate(-100%)}.quick-links-group+.quick-links-group{border-top:1px solid var(--line)}.quick-links-heading{padding:6px 10px 2px;font:600 10px/1 var(--sans);color:var(--dim);text-transform:uppercase;letter-spacing:.04em}.quick-links-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 10px;font:400 12px/1.3 var(--sans);color:var(--text);text-decoration:none;cursor:pointer}.quick-links-item:hover{background:#8080801f;color:var(--accent)}.quick-links-item svg{flex-shrink:0;opacity:.4}.quick-links-item:hover svg{opacity:.8}.review-body{flex:1;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:10px}.review-pair{display:flex;align-items:stretch;gap:6px}.review-pair-arrow{display:flex;align-items:center;color:var(--dim);font-size:14px;flex-shrink:0;padding-top:14px}.review-slot{flex:1;min-width:0;position:relative;border:1px solid var(--line);border-radius:var(--radius);padding:6px 8px;background:var(--panel-2)}.review-slot.filled{border-left:3px solid var(--slot-color)}.review-slot-label{display:block;font:600 9px/1 var(--sans);color:var(--dim);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.review-slot-name{display:block;font:12px/1.3 var(--sans);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.review-slot-id{display:block;font:10px var(--mono);color:var(--dim);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.review-slot-clear{position:absolute;top:4px;right:4px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;border:0;border-radius:4px;background:none;font-size:12px;color:var(--dim);cursor:pointer}.review-slot-clear:hover{color:var(--text);background:var(--panel-3)}.review-slot-input{width:100%;padding:3px 0;border:0;background:transparent;color:var(--text);font:12px var(--sans);outline:none}.review-slot-input::placeholder{color:var(--dim)}.review-slot-results{position:absolute;left:-1px;right:-1px;top:100%;z-index:10;margin-top:2px;padding:3px;border:1px solid var(--line);border-radius:var(--radius);background:var(--hud-glass-heavy);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 8px 24px #00000040;max-height:180px;overflow-y:auto}.review-slot-result{display:flex;flex-direction:column;gap:1px;width:100%;padding:6px 8px;text-align:left;border:0;border-radius:5px;background:none;cursor:pointer;color:var(--text);font:12px var(--sans)}.review-slot-result:hover{background:#8080801a}.review-slot-result-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.review-slot-result-id{font:10px var(--mono);color:var(--dim)}.review-field{display:flex;flex-direction:column;gap:4px}.review-label{font:600 10px/1 var(--sans);color:var(--dim);text-transform:uppercase;letter-spacing:.4px}.review-textarea{width:100%;padding:8px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-2);color:var(--text);font:12px/1.5 var(--sans);resize:vertical;min-height:60px}.review-textarea:focus{border-color:var(--accent);outline:none}.review-textarea::placeholder{color:var(--dim)}.review-select{width:100%;padding:6px 24px 6px 8px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-2);color:var(--text);font:12px var(--sans);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%237e8798' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.review-select:focus{border-color:var(--accent);outline:none}.review-field.primary .review-select{padding:8px 24px 8px 8px;font-size:13px}.review-input{width:100%;padding:6px 8px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-2);color:var(--text);font:12px var(--sans)}.review-input:focus{border-color:var(--accent);outline:none}.review-input::placeholder{color:var(--dim)}.review-secondary{display:flex;flex-direction:column;gap:8px;padding-top:4px;border-top:1px solid var(--line-soft)}.review-field.small .review-label{font-size:9px}.review-field.small .review-select,.review-field.small .review-input{padding:4px 24px 4px 6px;font-size:11px}.review-footer{padding-top:8px;border-top:1px solid var(--line-soft);text-align:center}.review-footer-note{font:italic 10px var(--sans);color:var(--dim)}.reviews-pair{display:flex;gap:6px;align-items:stretch}.reviews-pair-arrow{display:flex;align-items:center;color:var(--dim);font-size:14px;flex-shrink:0;padding-top:14px}.reviews-unlock{font:10px var(--sans);color:var(--accent);background:none;border:none;cursor:pointer;padding:0;margin-top:2px}.reviews-unlock:hover{text-decoration:underline}.reviews-unlock.active{color:var(--fg2);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:2px}.reviews-pair-actions{display:flex;align-items:center;justify-content:space-between;margin-top:2px}.reviews-pair-actions .reviews-unlock{margin-top:0}.reviews-list{display:flex;flex-direction:column;gap:8px}.activity-event{display:flex;align-items:center;gap:8px;padding:6px 4px;font-size:11px;opacity:.7}.activity-event-dot{width:12px;height:12px;flex-shrink:0;color:var(--muted)}.activity-event-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-event-date{flex-shrink:0;font-size:10px;opacity:.6}.reviews-card{border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;background:var(--panel-2);display:flex;flex-direction:column;gap:6px}.reviews-card-head{display:flex;align-items:center;gap:8px}.reviews-reviewer{flex:1;min-width:0;font:600 12px/1 var(--sans);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reviews-date{flex-shrink:0;font:10px var(--mono);color:var(--dim)}.reviews-comment{font:12px/1.5 var(--sans);color:var(--text);word-break:break-word}.reviews-comment a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.reviews-comment a:hover{opacity:.8}.reviews-comment p{margin:0 0 4px}.reviews-comment p:last-child{margin-bottom:0}.reviews-comment ul,.reviews-comment ol{margin:2px 0 4px;padding-left:18px}.reviews-comment li{margin:1px 0}.reviews-comment strong{font-weight:600}.reviews-meta{display:flex;flex-wrap:wrap;gap:4px}.reviews-chip{font:10px var(--sans);color:var(--dim);background:var(--panel-3);padding:2px 6px;border-radius:3px}.reviews-chip.status{font-weight:600}.reviews-url{flex-shrink:0;background:none;border:none;cursor:pointer;padding:0;color:var(--dim);display:flex;align-items:center}.reviews-url:hover{color:var(--accent)}.reviews-url svg{width:12px;height:12px}.reviews-edited{font:italic 10px var(--sans);color:var(--dim)}.reviews-approved{font:10px var(--sans);color:var(--dim)}.reviews-card.suggestion{border-style:dashed}.reviews-suggestion-label{font:600 9px/1 var(--sans);text-transform:uppercase;letter-spacing:.5px;color:var(--accent)}.reviews-approve{font:600 11px var(--sans);color:var(--bg);background:var(--accent);border:none;border-radius:var(--radius);padding:4px 10px;cursor:pointer;align-self:flex-start}.reviews-approve:hover{opacity:.85}.reviews-actions{display:flex;gap:8px;align-items:center}.reviews-action{font:10px var(--sans);color:var(--dim);background:none;border:none;cursor:pointer;padding:0}.reviews-action:hover{color:var(--text)}.reviews-action.danger:hover{color:#ff6b6b}.reviews-confirm{display:flex;align-items:center;gap:6px;font:10px var(--sans);color:var(--dim)}.reviews-confirm button{font:600 10px var(--sans);background:none;border:none;cursor:pointer;padding:0}.reviews-confirm button:first-of-type{color:#ff6b6b}.reviews-confirm button:last-of-type{color:var(--dim)}.reviews-edit-comment{font:12px/1.5 var(--sans);color:var(--text);background:var(--panel-3);border:1px solid var(--line);border-radius:var(--radius);padding:6px 8px;width:100%;resize:vertical;min-height:60px}.reviews-edit-field{display:flex;align-items:center;gap:6px;font:10px var(--sans);color:var(--dim)}.reviews-edit-field input{flex:1;font:10px var(--sans);color:var(--text);background:var(--panel-3);border:1px solid var(--line);border-radius:3px;padding:2px 6px}.reviews-edit-field select{font:10px var(--sans);color:var(--text);background:var(--panel-3);border:1px solid var(--line);border-radius:3px;padding:2px 4px}.reviews-edit-actions{display:flex;gap:8px}.reviews-edit-actions button{font:600 10px var(--sans);border:none;border-radius:var(--radius);padding:3px 10px;cursor:pointer}.reviews-edit-actions button:first-child{color:var(--bg);background:var(--accent)}.reviews-edit-actions button:last-child{color:var(--dim);background:var(--panel-3)}.reviews-empty{text-align:center;padding:24px 0;color:var(--dim);font:12px var(--sans)}.reviews-ownership{display:flex;flex-direction:column;gap:8px}.reviews-owner-row,.reviews-progress-row{display:flex;align-items:center;gap:8px}.reviews-owner-label{font:11px var(--sans);color:var(--dim);width:56px;flex-shrink:0}.reviews-owner-value{flex:1;display:flex;align-items:center;gap:6px;font:12px var(--sans);color:var(--text)}.reviews-owner-clear{background:none;border:none;color:var(--dim);font:14px var(--sans);cursor:pointer;padding:0 2px;line-height:1}.reviews-owner-clear:hover{color:var(--text)}.reviews-owner-search{flex:1;position:relative}.reviews-owner-input{width:100%;font:12px var(--sans);color:var(--text);background:var(--panel-3);border:1px solid var(--line-soft);border-radius:5px;padding:4px 6px;outline:none;box-sizing:border-box}.reviews-owner-input::placeholder{color:var(--dim)}.reviews-owner-input:focus{border-color:var(--accent)}.reviews-owner-results{position:absolute;top:100%;left:0;right:0;margin-top:2px;background:var(--panel-2);border:1px solid var(--line);border-radius:5px;overflow:hidden;z-index:10}.reviews-owner-result{display:block;width:100%;text-align:left;background:none;border:none;color:var(--text);font:12px var(--sans);padding:5px 8px;cursor:pointer}.reviews-owner-result:hover{background:var(--panel-3)}.reviews-progress-select{flex:1;font:11px var(--sans);color:var(--text);background:var(--panel-2);border:1px solid var(--line-soft);border-radius:5px;padding:4px 6px;cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.reviews-progress-select:focus{border-color:var(--accent);outline:none}.reviews-voting{display:flex;flex-direction:column;gap:8px}.voting-header{display:flex;align-items:center}.voting-title{font:600 11px var(--sans);color:var(--text);text-transform:uppercase;letter-spacing:.3px}.voting-counts{display:flex;gap:12px;align-items:center}.voting-count{display:inline-flex;align-items:center;gap:4px;font:600 13px var(--mono);color:var(--dim)}.voting-count svg{width:12px;height:12px}.voting-count.up{color:#10b981}.voting-count.down{color:#f87171}.voting-count.small{font-size:11px}.voting-count.small svg{width:10px;height:10px}.voting-buttons{display:flex;gap:8px}.vote-btn{display:inline-flex;align-items:center;gap:4px;font:600 11px var(--sans);color:var(--dim);background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);padding:5px 10px;cursor:pointer}.vote-btn svg{width:10px;height:10px}.vote-btn:hover{border-color:var(--text);color:var(--text)}.vote-btn.up.active{color:#10b981;border-color:#10b981;background:#10b9811a}.vote-btn.down.active{color:#f87171;border-color:#f87171;background:#f871711a}.voting-who-voted{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 0;font-size:12px;color:var(--dim)}.voting-who-voted-label{font-weight:600;color:var(--fg)}.voting-who-voted-name{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:2px 8px}.vote-form{display:flex;flex-direction:column;gap:6px;border:1px solid var(--line);border-radius:var(--radius);padding:8px;background:var(--panel-2)}.vote-form-comment{width:100%;padding:6px 8px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);color:var(--text);font:12px/1.5 var(--sans);resize:vertical;min-height:52px;box-sizing:border-box}.vote-form-comment:focus{border-color:var(--accent);outline:none}.vote-form-comment::placeholder{color:var(--dim)}.vote-form-field{display:flex;align-items:center;gap:6px}.vote-form-field span{font:10px var(--sans);color:var(--dim);min-width:90px}.vote-form-field select{flex:1;font:11px var(--sans);color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:3px;padding:2px 4px}.vote-form-actions{display:flex;gap:6px;align-items:center}.vote-form-submit{font:600 11px var(--sans);color:var(--bg);background:var(--accent);border:none;border-radius:var(--radius);padding:4px 10px;cursor:pointer}.vote-form-submit:hover{opacity:.85}.vote-form-cancel{font:10px var(--sans);color:var(--dim);background:none;border:none;cursor:pointer;padding:0}.vote-form-cancel:hover{color:var(--text)}.vote-form-delete{font:10px var(--sans);color:#f87171;background:none;border:none;cursor:pointer;padding:0;margin-left:auto}.vote-form-delete:hover{opacity:.8}.vote-snapshot{display:flex;flex-direction:column;gap:4px}.vote-snapshot-toggle{display:flex;align-items:center;gap:4px;font:600 10px var(--sans);color:var(--dim);background:none;border:none;cursor:pointer;padding:0}.vote-snapshot-toggle:hover{color:var(--text)}.vote-snapshot-summary{display:inline-flex;gap:6px;margin-left:4px}.vote-snapshot-table{display:flex;flex-direction:column;gap:6px;padding:6px 0 2px}.vote-snapshot-row{display:flex;gap:8px;align-items:flex-start}.vote-snapshot-avatar{flex-shrink:0;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font:600 9px var(--sans);color:#fff;background:var(--dim)}.vote-snapshot-avatar.up{background:#10b981}.vote-snapshot-avatar.down{background:#f87171}.vote-snapshot-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.vote-snapshot-voter{font:600 11px var(--sans);color:var(--text)}.vote-snapshot-comment{font:12px/1.4 var(--sans);color:var(--text);word-break:break-word}.vote-snapshot-badges{display:flex;flex-wrap:wrap;gap:3px;margin-top:2px}.reviews-chip.vote-up{color:#10b981;background:#10b9811f}.reviews-chip.vote-down{color:#f87171;background:#f871711f}.voting-confirm{flex-direction:column;align-items:flex-start;gap:6px;margin-top:4px}.voting-confirm span{font:11px/1.4 var(--sans)}.reviews-compose{display:flex;flex-direction:column;gap:6px;transition:opacity .15s}.reviews-compose.dimmed{opacity:.5}.reviews-compose.dimmed .reviews-compose-comment{cursor:pointer}.reviews-compose-comment{width:100%;padding:8px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-2);color:var(--text);font:12px/1.5 var(--sans);resize:vertical;min-height:44px;box-sizing:border-box}.reviews-compose-comment:focus{border-color:var(--accent);outline:none}.reviews-compose-comment::placeholder{color:var(--dim)}.reviews-compose-comment[readonly]{cursor:pointer}.reviews-compose-bar{display:flex;align-items:center;gap:6px}.reviews-compose-toggle{display:flex;align-items:center;gap:4px;background:none;border:none;color:var(--dim);font:10px var(--sans);cursor:pointer;padding:0}.reviews-compose-toggle:hover{color:var(--text)}.reviews-compose-chevron{display:inline-block;font-size:12px;transition:transform .15s}.reviews-compose-chevron.open{transform:rotate(90deg)}.reviews-compose-count{display:inline-flex;align-items:center;justify-content:center;min-width:14px;height:14px;padding:0 3px;border-radius:7px;background:var(--panel-3);font:600 9px var(--sans);color:var(--text)}.reviews-compose-submit{font:600 10px var(--sans);color:var(--bg);background:var(--accent);border:none;border-radius:var(--radius);padding:3px 10px;cursor:pointer}.reviews-compose-submit:hover{opacity:.85}.reviews-compose-submit:disabled{opacity:.4;cursor:default}.reviews-compose-takeover{font:10px var(--sans);color:var(--accent);background:none;border:none;cursor:pointer;padding:0;text-align:left}.reviews-compose-takeover:hover{text-decoration:underline}.reviews-compose-fields{display:flex;flex-direction:column;gap:6px;padding-top:4px;border-top:1px solid var(--line-soft)}.reviews-compose-field{display:flex;align-items:center;gap:6px;font:10px var(--sans);color:var(--dim)}.reviews-compose-field span{width:68px;flex-shrink:0}.reviews-compose-field select{flex:1;font:10px var(--sans);color:var(--text);background:var(--panel-3);border:1px solid var(--line);border-radius:3px;padding:3px 18px 3px 4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%237e8798' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 4px center}.reviews-compose-field select:focus{border-color:var(--accent);outline:none}.reviews-compose-field input{flex:1;font:10px var(--sans);color:var(--text);background:var(--panel-3);border:1px solid var(--line);border-radius:3px;padding:3px 6px}.reviews-compose-field input:focus{border-color:var(--accent);outline:none}.reviews-compose-field input::placeholder{color:var(--dim)}.pipeline-back{display:flex;align-items:center;gap:4px;background:none;border:none;color:var(--accent);font:12px var(--sans);padding:6px 12px;cursor:pointer}.pipeline-back:hover{text-decoration:underline}.pipeline-loading{display:flex;align-items:center;justify-content:center;padding:48px 24px}.pipeline-row-head{display:flex;align-items:center;gap:6px;width:100%;background:none;border:none;border-bottom:1px solid var(--line-soft);padding:6px 8px;color:var(--text);font:12px var(--sans);cursor:pointer;text-align:left}.pipeline-row-head:hover,.pipeline-row-head.active{background:var(--panel-2)}.pipeline-status-icon{width:14px;height:14px;flex-shrink:0}.pipeline-row-label{flex:0 0 auto}.pipeline-inline-search{flex:1;min-width:60px;background:var(--panel-3);border:1px solid var(--line-soft);border-radius:4px;padding:2px 6px;font:11px var(--sans);color:var(--text);outline:none}.pipeline-inline-search::placeholder{color:var(--dim)}.pipeline-inline-search:focus{border-color:var(--line)}.pipeline-row-count{font:11px var(--mono);color:var(--dim);flex-shrink:0}.pipeline-load-more{display:flex;align-items:center;gap:8px;padding:4px 12px 6px;background:var(--panel-2);border-bottom:1px solid var(--line-soft)}.pipeline-loaded-count{font:10px var(--sans);color:var(--dim)}.pipeline-load-more-btn{font:10px var(--sans);color:var(--accent, #60A5FA);background:none;border:1px solid var(--line-soft);border-radius:4px;padding:2px 8px;cursor:pointer}.pipeline-load-more-btn:hover{border-color:var(--line)}.pipeline-load-more-btn:disabled{opacity:.5;cursor:default}.pipeline-expanded{border-bottom:1px solid var(--line-soft);background:var(--panel-2);overflow:hidden}.pipeline-sort{display:flex;align-items:center;gap:4px;padding:4px 10px 6px}.pipeline-sort-label{font:10px var(--sans);color:var(--dim);margin-right:2px}.pipeline-sort-btn{font:10px var(--sans);color:var(--dim);background:transparent;border:1px solid var(--line-soft);border-radius:4px;padding:2px 6px;cursor:pointer}.pipeline-sort-btn:hover{border-color:var(--line)}.pipeline-sort-btn.active{color:var(--text);background:var(--panel-3);border-color:var(--line)}.pipeline-select{font:10px var(--sans);color:var(--text);background:var(--panel-3);border:1px solid var(--line);border-radius:4px;padding:2px 6px;cursor:pointer;outline:none}.pipeline-pairs{display:flex;flex-direction:column;border-top:1px solid var(--line-soft)}.pipeline-pair{display:flex;flex-direction:column;gap:2px;width:100%;background:transparent;border:0;border-bottom:1px solid var(--line-soft);color:var(--text);font:12px var(--sans);padding:5px 9px 5px 12px;cursor:pointer;text-align:left}.pipeline-pair:last-child{border-bottom:0}.pipeline-pair:hover{background:var(--panel-3)}.pipeline-pair-names{display:flex;align-items:flex-start;flex:1;min-width:0;gap:0}.pipeline-drug{color:var(--text);flex:1;min-width:0;overflow-wrap:anywhere}.pipeline-disease{color:var(--text);flex:2;min-width:0;overflow-wrap:anywhere}.pipeline-sep{color:var(--dim);flex-shrink:0;padding:0 4px}.pipeline-pair-meta{display:flex;align-items:center;gap:0;white-space:nowrap}.pipeline-meta-drug{flex:1;min-width:0}.pipeline-meta-disease{flex:2;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:6px}.pipeline-meta-right{display:flex;align-items:center;gap:6px;margin-left:auto}.pipeline-owner{display:inline-flex;align-items:center;justify-content:center;width:20px;height:16px;border-radius:3px;font:700 8px var(--sans);color:#fff;letter-spacing:.02em;flex-shrink:0}.pipeline-comments{display:flex;align-items:center;gap:4px;font:10px var(--sans);color:var(--dim)}.pipeline-comment-icon{width:11px;height:11px}.pipeline-date{font:10px var(--sans);color:var(--dim);opacity:.6}.pipeline-sub-rows{border-top:1px solid var(--line-soft)}.pipeline-sub-head{display:flex;align-items:center;gap:8px;width:100%;background:transparent;border:0;border-bottom:1px solid var(--line-soft);color:var(--text);font:11.5px var(--sans);padding:5px 9px 5px 12px;cursor:pointer;text-align:left}.pipeline-sub-head:last-child{border-bottom:0}.pipeline-sub-head:hover{background:var(--panel-3)}.pipeline-sub-label{flex:1;color:var(--dim)}.pipeline-sub-count{font:10px var(--mono);color:var(--dim);padding:1px 5px;border-radius:8px}.matrix-row{cursor:default}.matrix-row.in-graph{cursor:pointer}.matrix-row.in-graph:hover{background:var(--panel-3)}.matrix-row-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:12px var(--sans);color:var(--text)}.matrix-row:not(.in-graph) .matrix-row-name{color:var(--dim)}.matrix-row-score{flex:0 0 auto;font:11px var(--mono);color:var(--dim);text-align:right}.md-editor{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-2);overflow:hidden}.md-editor:focus-within{border-color:var(--accent)}.md-toolbar{display:flex;gap:2px;padding:3px 4px;border-bottom:1px solid var(--line);background:var(--panel)}.md-tb-btn{display:flex;align-items:center;justify-content:center;width:24px;height:22px;border:none;border-radius:3px;background:transparent;color:var(--dim);font:12px var(--sans);cursor:pointer}.md-tb-btn:hover{background:var(--panel-2);color:var(--text)}.md-textarea{width:100%;padding:8px;border:none;background:transparent;color:var(--text);font:12px/1.5 var(--sans);min-height:44px;box-sizing:border-box;outline:none;overflow-y:auto}.md-rich{word-break:break-word;cursor:text}.md-rich:empty:before{content:attr(data-placeholder);color:var(--dim);pointer-events:none}.md-rich[contenteditable=false]{cursor:pointer}.md-rich a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.md-rich strong{font-weight:600}.md-rich ul,.md-rich ol{margin:2px 0;padding-left:18px}.md-rich li{margin:1px 0}.md-rich p,.md-rich div{margin:0}.md-tb-btn.active{background:var(--accent);color:#000}.md-link-popover{display:flex;flex-direction:column;gap:6px;padding:8px 10px;background:var(--panel-2);border-bottom:1px solid var(--border);font-size:12px}.md-link-field{display:flex;align-items:center;gap:6px}.md-link-field span{width:32px;flex-shrink:0;color:var(--text-2)}.md-link-field input{flex:1;background:var(--panel-1);border:1px solid var(--border);border-radius:4px;padding:3px 6px;color:var(--text);font-size:12px;outline:none}.md-link-field input:focus{border-color:var(--accent)}.md-link-actions{display:flex;gap:6px;justify-content:flex-end}.md-link-actions button{padding:2px 10px;border-radius:4px;font-size:11px;border:1px solid var(--border);background:var(--panel-2);color:var(--text);cursor:pointer}.md-link-actions button:first-child{background:var(--accent);color:#000;border-color:var(--accent)}.md-link-actions button:first-child:disabled{opacity:.4;cursor:default}.md-link-actions .md-link-remove{color:#f87171;border-color:#f87171}
