:root{color-scheme:dark;--bg:#070d18;--text:#e4edf6;--muted:#9caec3;--line:#7495b02b;--accent:#87ddcb;--left:302px;--right:352px;--top:68px;--bottom:52px}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.65 'Pretendard','Malgun Gothic',system-ui,sans-serif;overflow:hidden}button,input,a{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--line);color:var(--text);background:#91b2d008;border-radius:8px;padding:7px 10px}@media(hover:hover) and (pointer:fine){button:hover{background:#87ddcb18;border-color:#87ddcb88}}button.active{color:var(--accent);border-color:#87ddcb66;background:#87ddcb13}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button:disabled{opacity:.5;cursor:wait}a{color:var(--text);text-decoration:none}p{color:var(--muted)}details summary{cursor:pointer;line-height:1.8}details>summary::marker{color:#809bb5}.topbar{position:fixed;inset:0 0 auto;height:var(--top);display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 22px;border-bottom:1px solid var(--line);background:#09111df5;z-index:10}.brand{display:flex;align-items:center;gap:12px;font-size:13px;letter-spacing:1.5px;font-weight:600}.brand-mark{width:35px;height:35px;display:grid;place-items:center;border:1px solid #5b9d91;border-radius:11px;letter-spacing:0;background:linear-gradient(135deg,#193d3d,#142136);color:var(--accent)}.brand small{display:block;font-size:10px;letter-spacing:.2px;color:#90a7bd;font-weight:400}.top-title{font-size:13px;color:#afbdcc}.top-title em{font-style:normal;color:#dbe9f1}.top-actions{display:flex;align-items:center;gap:9px;font-size:12px}.top-actions a{color:#a4b8ca;padding:5px}.top-actions button{font-size:12px}#togglePanel{display:none}#canvas,#topicLabels{position:fixed;inset:var(--top) var(--right) var(--bottom) var(--left)}#canvas{background:radial-gradient(ellipse at 50% 45%,#17315233,transparent 70%),#070d18;overflow:hidden}#canvas canvas{display:block}#topicLabels{pointer-events:none;z-index:3;overflow:hidden}.nebula-label{position:absolute;transform:translate(-50%,-100%);border:0;border-bottom:1px solid color-mix(in srgb,var(--topic),transparent 70%);border-radius:0;padding:4px 9px;pointer-events:auto;background:#080f19b8;white-space:nowrap;box-shadow:0 0 20px #070d1844}@media(hover:hover) and (pointer:fine){.nebula-label:hover{background:#172c3beb;border-color:var(--topic)}}.nebula-label span{display:block;color:var(--topic);font-size:15px;font-weight:600;letter-spacing:-.3px}.nebula-label small{font-size:10px;color:#a4b7c8}.nebula-label.dimmed{opacity:.4}.glass{background:#0d1827f0;border:1px solid var(--line);box-shadow:0 15px 55px #0002;backdrop-filter:blur(18px)}.left-panel,.right-panel{position:fixed;top:86px;bottom:70px;overflow:auto;border-radius:15px;padding:22px 20px;scrollbar-width:thin;scrollbar-color:#365068 transparent;z-index:5}.left-panel{left:17px;width:calc(var(--left) - 31px)}.right-panel{right:17px;width:calc(var(--right) - 30px)}.eyebrow{font-size:10px;color:#98b3ca;letter-spacing:.6px}h1{font-size:24px;line-height:1.48;letter-spacing:-.8px;font-weight:500;margin:14px 0 9px}h1 em{color:var(--accent);font-style:normal}.intro{font-size:12px;line-height:1.8;margin:0 0 19px}.search{display:flex;gap:7px;align-items:center;background:#07101b;border:1px solid #385369;border-radius:9px;padding:10px}.search span{font-size:20px;line-height:1;color:#a2d1d2}.search input{background:transparent;color:var(--text);border:0;min-width:0;width:100%;font-size:12px;outline:none}.search kbd{font:9px system-ui;color:#98acbd;white-space:nowrap;padding:2px 4px;border:1px solid #334b60;border-radius:4px}.section-label{display:flex;justify-content:space-between;align-items:center;gap:5px;margin:19px 0 10px;font-size:12px;color:#bdccda}.section-label span{font-size:10px;color:#92a8bd}.text-button{font-size:11px;color:var(--accent);padding:2px 6px;border-color:transparent;background:transparent}#topics{display:flex;flex-direction:column;gap:5px}.topic-button{width:100%;display:flex;align-items:center;gap:9px;text-align:left;padding:8px 9px;border:1px solid transparent;background:#92b6d005}.topic-button i{width:8px;height:8px;flex:none;border-radius:50%;background:var(--topic);box-shadow:0 0 11px color-mix(in srgb,var(--topic),transparent 60%)}.topic-button span{font-size:13px}.topic-button small{margin-left:auto;color:#93a9be;font-size:11px}.topic-button.active{border-color:var(--topic);color:var(--topic)}.subtle{font-size:10px;line-height:1.6;color:#8ea8bd;margin:10px 0}.view-modes{display:grid;grid-template-columns:1fr 1fr;gap:6px}.view-modes button{font-size:11px;padding:8px 4px}.layer-details{margin-top:18px;font-size:11px;color:#92a9bc;border-top:1px solid var(--line);padding-top:12px}.layer-details .text-button{margin:8px 0}.kind-list{display:flex;flex-direction:column;gap:8px;margin:12px 0}.kind-list label{display:flex;gap:7px;align-items:center;font-size:11px;color:#b0c0d0}.kind-list input{accent-color:var(--accent)}.kind-list small{margin-left:auto}.mini-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:13px}.mini-stats strong{display:block;font-size:22px;line-height:1.3;font-weight:500}.mini-stats small{font-size:10px}.coverage{font-size:10px;line-height:1.8}.results{display:flex;flex-direction:column;gap:5px}.result{display:flex;align-items:flex-start;gap:7px;text-align:left;padding:8px 3px;font-size:11px;line-height:1.8;background:transparent;border:0;border-bottom:1px solid #31485e55;border-radius:0}.result i{width:5px;height:5px;background:var(--node-color);border-radius:50%;margin-top:8px;flex:none}.scene-heading{position:fixed;top:91px;left:calc(var(--left) + 20px);right:calc(var(--right) + 10px);pointer-events:none;z-index:3}.scene-heading p{font-size:11px;margin:4px 0;color:#89a1b9}.scene-controls{position:fixed;bottom:74px;left:calc(50% + (var(--left) - var(--right))/2);transform:translateX(-50%);display:flex;gap:3px;align-items:center;z-index:6;padding:6px;border-radius:12px;white-space:nowrap}.scene-controls button{border:0;background:transparent;font-size:14px;padding:6px 10px}.scene-controls button.active{color:var(--accent);background:#87ddcb15}.scene-controls span{font-size:11px}.scene-controls .sep{height:22px;width:1px;background:var(--line);margin:0 3px}.inspector-top{display:flex;gap:8px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:11px}.inspector-top .eyebrow{font-size:9px}.inspector-top button{font-size:20px;line-height:1;border:0;background:transparent;padding:0 3px}.detail-kicker{font-size:11px;color:#9eb9ca;margin:20px 0 7px}.detail-title{font-size:22px;font-weight:500;line-height:1.5;letter-spacing:-.65px;word-break:keep-all;overflow-wrap:anywhere;margin:9px 0 13px}.badge{display:inline-block;font-size:10px;padding:4px 7px;color:#a6d5cc;background:#80d0c20c;border:1px solid #83c2bb40;border-radius:5px;margin:0 4px 8px 0}.badge.warn{color:#f0bb93;border-color:#d8956666}#detail h3{font-size:12px;color:#d2e1ed;font-weight:600;margin:18px 0 7px}#detail p{font-size:12px;line-height:1.95;overflow-wrap:anywhere;margin:6px 0 11px}#detail .owner-section>p{color:#bacadb}.owner-section{margin:15px 0}.owner-section.remaining{border-left:2px solid #9a7f51;padding-left:12px;margin:20px 0}.owner-section.remaining h3{color:#d0bb98}.owner-section.remaining p{color:#acb8c5}.learning-stats{display:flex;flex-direction:column;gap:8px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.learning-stats>div{display:flex;align-items:center;gap:12px}.learning-stats b{color:var(--accent);font-size:20px;min-width:34px;font-weight:500}.learning-stats span{font-size:11px;color:#a5b9cb}.learning-card{display:block;width:100%;padding:12px;text-align:left;border-color:#638aaa30;margin:9px 0;background:#0a1421}.learning-card small{display:block;font-size:10px;color:#90b7c2;margin-bottom:7px}.learning-card strong{font-weight:500;line-height:1.65;font-size:12px;color:#d6e5ef}.learning-card p{font-size:11px!important;color:#a3b8c9;margin:7px 0 0!important}.hop-controls{display:flex;flex-wrap:wrap;gap:5px;margin:16px 0}.hop-controls button{font-size:11px;padding:6px 8px}.edge-row{display:block;text-align:left;width:100%;padding:10px 11px;margin:7px 0;font-size:11px;line-height:1.75}.edge-row small{display:block;color:#8db2c1;font-size:10px;margin-bottom:3px}.edge-row strong{color:#c7d9e7;font-weight:400;overflow-wrap:anywhere}.edge-row.stale{border-color:#c0845666}.route-title{font-size:12px;color:#bad2e0;padding:12px;background:#102233;border-radius:8px;line-height:1.8}.route-title p{font-size:11px!important}.technical-details,.metric-details{margin:17px 0;padding:12px 0;border-top:1px solid var(--line);font-size:11px;color:#91b6c9}.technical-details>strong{display:block;font-size:10px;margin-top:14px}.technical-details p{font-size:11px!important;color:#9aafc1;white-space:pre-wrap}.detail-source{background:#080f19;border:1px solid #31465b;border-radius:8px;padding:10px;margin:10px 0;overflow-wrap:anywhere;font-size:11px}.detail-source strong{display:block;font-size:10px;color:#88b5cd;margin:5px 0}.detail-source code{font-size:9px;color:#849eb7;white-space:pre-wrap}.metric-details>p{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;border-bottom:1px solid #718da321;padding-bottom:6px;font-size:11px!important}.metric-details b{flex:none;color:#a8dbd1;font-weight:500}.metric-details small{font-size:10px;line-height:1.75;color:#94a9ba}.record-time{font-size:10px!important;color:#89a0b6!important}.honesty{font-size:11px;color:#8ea9bc;border-top:1px solid var(--line);padding-top:15px;margin-top:18px;line-height:1.9}.bottom-bar{position:fixed;bottom:0;left:0;right:0;height:var(--bottom);z-index:10;display:flex;align-items:center;gap:19px;padding:0 22px;border-width:1px 0 0;background:#08111ef5}.timeline-label{font-size:11px;white-space:nowrap}.timeline-label i{display:inline-block;width:5px;height:5px;background:var(--accent);border-radius:50%;margin-right:8px}.timeline-label small{font-size:10px;color:#91a7bc;margin-left:10px}#timeline{accent-color:var(--accent);width:160px;height:4px;cursor:pointer}.bottom-hint{font-size:11px;color:#8da5bb;margin-left:auto}.bottom-hint span{font-size:10px;color:#9ebac9;margin-left:22px}.status-toast{position:fixed;z-index:25;left:50%;top:78px;transform:translateX(-50%);padding:10px 16px;max-width:75vw;border-radius:10px;font-size:12px;color:#c7e8e0;white-space:pre-line}.graph-tooltip{z-index:20!important;background:#0d1a2bf5!important;border:1px solid #789eae88!important;border-radius:13px!important;padding:14px 16px!important;white-space:normal!important;max-width:355px!important;box-shadow:0 15px 50px #0008!important;text-align:left!important}.owner-tooltip{min-width:240px;max-width:315px;text-align:left;line-height:1.7;color:#cbdde9}.owner-tooltip h3{font-size:15px;color:#ecf6fd;line-height:1.6;margin:6px 0 10px;word-break:keep-all}.owner-tooltip small{display:block;font-size:10px;color:#a4c4d1}.owner-tooltip b{display:block;font-size:11px;color:#99d7c9;margin-top:8px}.owner-tooltip p{font-size:12px;line-height:1.75;color:#bed1e0;margin:3px 0 8px}.help-overlay{position:fixed;inset:0;z-index:40;background:#01060bc4;display:grid;place-items:center;padding:18px;backdrop-filter:blur(8px)}.help-sheet{position:relative;max-width:680px;width:100%;max-height:88vh;overflow:auto;border-radius:18px;padding:27px 31px}.help-sheet h2{font-size:25px;letter-spacing:-.7px;font-weight:500;margin:10px 0}.help-sheet p{font-size:12px}.help-sheet dl{display:grid;grid-template-columns:210px 1fr;gap:11px 19px;margin:22px 0;font-size:12px;line-height:1.8}.help-sheet dt{color:#aeddd2}.help-sheet dd{margin:0;color:#b6cbdc}#closeHelp{position:absolute;right:17px;top:13px;font-size:22px;border:0;background:transparent}.empty{font-size:11px}.fallback{padding:150px 30px;line-height:2}
@media(min-width:1800px){:root{--left:325px;--right:390px}.left-panel,.right-panel{padding:26px}.detail-title{font-size:24px}#detail p{font-size:13px}.nebula-label span{font-size:17px}}
@media(max-width:1200px){:root{--left:250px;--right:302px}.left-panel,.right-panel{padding:17px 15px}.top-title{display:none}h1{font-size:21px}.search kbd{display:none}.view-modes button{font-size:10px}.scene-heading .eyebrow{font-size:9px}.scene-heading p{font-size:10px}.bottom-hint{font-size:10px}.detail-title{font-size:20px}.nebula-label span{font-size:13px}.nebula-label small{font-size:9px}}
@media(max-width:800px){:root{--left:0px;--right:0px;--top:59px;--bottom:48px}.topbar{padding:0 12px;gap:8px}.brand{font-size:10px;gap:7px}.brand-mark{width:30px;height:30px}.brand small{font-size:8px}.top-actions{gap:4px;font-size:10px}.top-actions a{font-size:9px;padding:4px}.top-actions button{padding:5px 7px}.top-actions button span{display:none}#togglePanel{display:block}.left-panel{left:11px;top:73px;bottom:108px;width:268px;transform:translateX(-290px);transition:transform .15s}.left-panel.open{transform:none}.right-panel{left:11px;right:11px;top:auto;bottom:109px;max-height:49vh;width:auto;display:none}.right-panel.selected{display:block}.scene-heading{top:77px;left:18px;right:10px}.scene-controls{bottom:62px;left:50%;padding:5px}.scene-controls button{padding:6px 8px}.nebula-label span{font-size:12px}.nebula-label small{font-size:8px}.nebula-label{padding:3px 5px}.bottom-bar{padding:0 12px;gap:9px}.timeline-label{font-size:10px}.timeline-label small{display:none}#timeline{width:85px}.bottom-hint{font-size:0}.bottom-hint span{font-size:9px;margin:0}.status-toast{top:119px;max-width:91vw;width:max-content;font-size:11px}.graph-tooltip{max-width:280px!important}.owner-tooltip{min-width:210px;max-width:245px}.help-sheet{padding:22px 20px}.help-sheet h2{font-size:21px}.help-sheet dl{grid-template-columns:1fr;gap:3px;font-size:11px}.help-sheet dd{margin-bottom:11px}.detail-title{font-size:19px}.scene-heading .eyebrow{font-size:10px}.scene-heading p{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* An opaque reading surface; topic labels fade while a record is hovered. */
.owner-tooltip{background:#102035;border:1px solid #7198b3;border-radius:13px;padding:15px 17px;box-shadow:0 16px 50px #0009;max-width:340px;min-width:280px;color:#d4e5ef}.owner-tooltip p{color:#d0e0eb}.owner-tooltip h3{color:#f1f7fc}.owner-tooltip small{color:#b3ccda}@media(max-width:800px){.owner-tooltip{min-width:235px;max-width:275px}}

/* Reading mode v1: opaque local labels, no background interaction or data deletion. */
#focusLabels{position:fixed;inset:var(--top) var(--right) var(--bottom) var(--left);pointer-events:none;z-index:4;overflow:hidden}.focus-node-label{position:absolute;pointer-events:auto;text-align:left;padding:3px 8px;box-sizing:border-box;height:35px;background:#0b1729f5;border:1px solid #45617c;border-left:3px solid var(--topic);box-shadow:0 3px 14px #0009;line-height:1.3;border-radius:6px;overflow:hidden}.focus-node-label small{font-size:8px;display:block;color:#95adbf}.focus-node-label span{font-size:11px;display:block;color:#e5edf5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.focus-node-label{opacity:.96;transition:opacity .4s ease,background-color .4s ease,border-color .4s ease,box-shadow .4s ease}.focus-node-label.transient{opacity:.9}.focus-node-label.transient.fade-away{opacity:.07;background:#0b172938;border-color:#45617c2c;box-shadow:none;filter:none;transition-delay:1s}.focus-node-label.transient.faded{pointer-events:none}.focus-node-label.selected{opacity:1!important;pointer-events:auto!important;border-color:var(--topic);background:#173341;z-index:3;box-shadow:0 0 0 1px var(--topic),0 8px 22px #000c;filter:drop-shadow(0 0 8px var(--topic));transform:translateZ(0);transition-delay:0s!important}@media(min-width:801px){.focus-node-label.transient.fade-away{opacity:.11}}.reading-toolbar{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.reading-toolbar button{font-size:10px;padding:5px 8px}.reading-toolbar button:disabled{cursor:default}.citation-section{margin:17px 0;font-size:12px;overflow-wrap:anywhere}.citation-card{background:#0a1624;border:1px solid #49678466;border-radius:9px;padding:12px;margin:10px 0;overflow-wrap:anywhere}.citation-card h4{font-size:11px;color:#b3dace;margin:13px 0 6px}.citation-card small{display:block;color:#92adbd;font-size:10px;white-space:pre-wrap}.citation-state{font-size:11px;color:#d2dcc0}.citation-quote{margin:8px 0;padding:11px 12px;border-left:3px solid #81cbb6;background:#142b37;color:#e4f1f5;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.9;max-height:310px;overflow:auto}.citation-missing{border-left:2px solid #8d9ba8;padding-left:10px;color:#b9c6d1!important}.citation-provenance{font-size:10px;margin-top:9px}.citation-parent{font-size:11px;width:100%;margin-top:10px;text-align:left;overflow-wrap:anywhere}.connection-row{border:1px solid #3d5a7155;border-radius:9px;margin:8px 0;overflow:hidden}.connection-node{display:block;width:100%;border:0;border-radius:0;text-align:left;padding:10px}.connection-node small{display:block;font-size:9px;color:#9bbbbf}.connection-node strong{display:block;font-size:12px;color:#d4e4ec;font-weight:500;overflow-wrap:anywhere}.connection-node span{display:block;font-size:10px;line-height:1.75;color:#9aafc0;margin-top:5px;overflow-wrap:anywhere}.connection-evidence{font-size:10px;text-align:right;display:block;width:100%;border:0;border-top:1px solid #30455688;border-radius:0;padding:5px 10px;color:#91c5bd;background:#0c1b2b}.view-modes [data-mode="core"]{grid-column:span 2;font-size:12px}.citation-location{overflow-wrap:anywhere}
@media(max-width:800px){body.map-inspecting .right-panel{max-height:35vh}.focus-node-label span{font-size:10px}.scene-heading{z-index:2}.reading-toolbar button{font-size:11px}#filterSummary{font-size:11px}}


/* Flowsint-inspired investigation UX, adapted to the existing read-only Brain contract. */
.brain-context-menu{position:fixed;z-index:60;display:flex;flex-direction:column;gap:4px;width:270px;max-width:calc(100vw - 20px);padding:9px;background:#0b1726fa;border:1px solid #60849d88;border-radius:12px;box-shadow:0 18px 56px #000b;backdrop-filter:blur(16px)}
.brain-context-title{font-size:12px;line-height:1.55;color:#edf6fb;font-weight:600;padding:3px 5px 0;overflow-wrap:anywhere}
.brain-context-kind{font-size:9px;color:#8db5c5;padding:0 5px 5px;border-bottom:1px solid #6e92a52b}
.brain-context-action{display:block;width:100%;text-align:left;padding:8px 9px;border-color:transparent;background:transparent;border-radius:7px}
.brain-context-action:focus-visible{background:#7fd8c817;border-color:#7fd8c84a}@media(hover:hover) and (pointer:fine){.brain-context-action:hover{background:#7fd8c817;border-color:#7fd8c84a}}
.brain-context-action strong{display:block;font-size:11px;color:#dcebf2;font-weight:500}
.brain-context-action small{display:block;margin-top:2px;font-size:9px;line-height:1.5;color:#8ea9ba}
@media(max-width:800px){.brain-context-menu{width:min(270px,calc(100vw - 16px));padding:8px}.brain-context-action{padding:9px}.brain-context-action strong{font-size:12px}}


/* 2D precision Caseboard: same graph truth, user-selected visible subset only. */
.caseboard-dock{position:fixed;z-index:9;left:calc(50% + (var(--left) - var(--right))/2);bottom:116px;transform:translateX(-50%);width:min(560px,calc(100vw - var(--left) - var(--right) - 48px));padding:10px 12px;border-radius:12px;background:#0b1726f5}
.caseboard-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.caseboard-head strong{font-size:12px;color:#e6f2f6}.caseboard-count{font-size:10px;color:#8fd4c7}.caseboard-hint{display:block;color:#8ba4b5;font-size:9px;margin:2px 0 7px}
.caseboard-actions{display:flex;gap:5px;flex-wrap:wrap}.caseboard-actions button{font-size:10px;padding:5px 8px}.caseboard-actions button.active{color:#8fe0d0;border-color:#8fe0d066;background:#8fe0d012}
@media(max-width:800px){.caseboard-dock{left:8px;right:8px;bottom:111px;transform:none;width:auto;padding:8px}.caseboard-hint{font-size:8px}.caseboard-actions button{font-size:9px;padding:5px 6px}}


/* P3 investigation productivity: recorded-alias search, box select, read-only minimap. */
.search-hit-alias{display:block;margin-left:12px;margin-top:2px;color:#82cbbb;font-size:9px}
.caseboard-minimap{display:block;width:100%;height:84px;margin:7px 0;border:1px solid #526f854c;border-radius:8px;background:#07111d;cursor:crosshair}
body.caseboard-box-mode #canvas{cursor:crosshair!important}
#caseboardSelectionRect{position:fixed;z-index:58;pointer-events:none;border:1px solid #8fe0d0;background:#8fe0d018;box-shadow:0 0 0 1px #07111d88 inset;border-radius:4px}
@media(max-width:800px){.caseboard-minimap{height:68px}.search-hit-alias{font-size:8px}}


/* P4 durable investigation sessions. Local metadata/proposal layer only; never a second Brain truth store. */
.caseboard-saved{margin-top:7px;border-top:1px solid #607b8e33;padding-top:6px}.caseboard-saved>summary{cursor:pointer;color:#b9d2de;font-size:10px}
.caseboard-saved input,.caseboard-saved textarea,.caseboard-saved select{width:100%;margin-top:5px;padding:6px 7px;border-radius:6px;background:#07111ddd;border:1px solid #536f8344;color:#dceaf0;font-size:10px;box-sizing:border-box}
.caseboard-saved textarea{resize:vertical;min-height:42px}.caseboard-saved-actions{display:flex;gap:5px;flex-wrap:wrap;margin-top:5px}.caseboard-saved-actions button{font-size:9px;padding:5px 7px}
.caseboard-proposal-warning{display:block;margin-top:5px;color:#c7a87f;font-size:8px;line-height:1.5}.caseboard-session-diff{margin-top:5px;padding:5px 7px;border-radius:6px;background:#0b1623;color:#8ea9b6;font-size:9px;line-height:1.5}.caseboard-session-diff.changed{color:#efbd8c;background:#22170e}


/* P5M installable phone shell. Static PWA chrome only; Brain/API data is never service-worker cached. */
:root{--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px)}
html,body{width:100%;height:100%;min-height:100%;overscroll-behavior:none}
@supports(height:100dvh){html,body{height:100dvh;min-height:100dvh}}
#brainInstallApp{color:#9fe4d7;border-color:#76c9b966;white-space:nowrap}
body.pwa-standalone .brand{padding-left:max(0px,var(--safe-left))}
@media(max-width:800px){
 :root{--top:calc(59px + var(--safe-top));--bottom:calc(48px + var(--safe-bottom))}
 body{min-height:100dvh}
 .topbar{height:var(--top);padding:var(--safe-top) max(10px,calc(10px + var(--safe-right))) 0 max(10px,calc(10px + var(--safe-left)))}
 .top-actions{min-width:0;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;white-space:nowrap}
 .top-actions::-webkit-scrollbar{display:none}
 .top-actions>*{flex:0 0 auto}
 #canvas,#topicLabels,#focusLabels{bottom:var(--bottom)}
 .left-panel{top:calc(var(--top) + 12px);bottom:calc(var(--bottom) + 60px);max-height:calc(100dvh - var(--top) - var(--bottom) - 72px);padding-bottom:calc(18px + var(--safe-bottom))}
 .right-panel{bottom:calc(var(--bottom) + 61px);max-height:min(49vh,calc(100dvh - var(--top) - var(--bottom) - 76px));padding-bottom:calc(18px + var(--safe-bottom))}
 .scene-heading{top:calc(var(--top) + 18px)}
 .scene-controls{bottom:calc(var(--bottom) + 14px);max-width:calc(100vw - var(--safe-left) - var(--safe-right) - 12px);overflow-x:auto;scrollbar-width:none}
 .scene-controls::-webkit-scrollbar{display:none}
 .bottom-bar{height:var(--bottom);padding:0 max(12px,calc(12px + var(--safe-right))) var(--safe-bottom) max(12px,calc(12px + var(--safe-left)))}
 .caseboard-dock{left:max(8px,var(--safe-left));right:max(8px,var(--safe-right));bottom:calc(var(--bottom) + 63px);max-height:calc(100dvh - var(--top) - var(--bottom) - 92px);overflow:auto}
 .caseboard-actions button,.caseboard-saved-actions button{min-height:36px}
 .brain-context-action{min-height:42px}
 .status-toast{top:calc(var(--top) + 60px)}
 body.pwa-standalone .top-actions a[href="/?workspace=1"]{display:none}
}


/* P5M2 mobile pairing overlay. Authentication tokens stay HttpOnly; no pairing code is browser-stored. */
.mobile-auth-gate{position:fixed;inset:0;z-index:200;background:radial-gradient(circle at 50% 22%,#173047 0,#091521 38%,#050a12 100%);display:grid;place-items:center;padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}
.mobile-auth-card{width:min(390px,100%);padding:24px;border:1px solid #69879b55;border-radius:18px;background:#0a1724f2;box-shadow:0 24px 80px #000a}.mobile-auth-brand{font-size:11px;letter-spacing:.1em;color:#82d6c7}.mobile-auth-card h1{font-size:22px;margin:7px 0}.mobile-auth-lead{font-size:12px;line-height:1.65;color:#a8bec9}.mobile-auth-form{display:grid;gap:9px;margin-top:16px}.mobile-auth-form input{min-height:44px;padding:0 12px;border-radius:9px;border:1px solid #68859955;background:#06111c;color:#e3f1f5;font-size:14px}.mobile-auth-form button{min-height:44px;border-color:#70c9b877;color:#a5e8dc}.mobile-auth-status{min-height:18px;margin:0;color:#f0bc89;font-size:10px}.mobile-auth-note{display:block;margin-top:13px;color:#7e9ba9;font-size:9px;line-height:1.5}
body.mobile-auth-locked{overflow:hidden}
#brainMobileLogout{white-space:nowrap}


/* P6 Android-grade touch UX: stable taps, 48px targets, modal drawer/action sheet. */
button,a,summary,[role="button"],[role="menuitem"]{-webkit-tap-highlight-color:transparent}
.mobile-node-actions{display:none}
.mobile-drawer-scrim,.mobile-action-scrim{display:none}

@media(max-width:800px),(hover:none) and (pointer:coarse){
 html,body{-webkit-tap-highlight-color:rgba(0,0,0,0)}
 #canvas,#canvas *,#topicLabels,#topicLabels *,#focusLabels,#focusLabels *,#bundleLabels,#bundleLabels *{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none}
 #canvas::selection,#canvas *::selection,#topicLabels::selection,#topicLabels *::selection,#focusLabels::selection,#focusLabels *::selection,#bundleLabels::selection,#bundleLabels *::selection{background:transparent;color:inherit}
 #canvas,#canvas canvas{touch-action:none}
 button,a,summary,[role="button"],[role="menuitem"]{touch-action:manipulation}
 .nebula-label,.focus-node-label,.bundle-label{touch-action:none}
 button{min-height:48px}
 input,select{min-height:48px;font-size:16px}
 textarea{font-size:16px}
 .top-actions a{min-width:48px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:0 10px}
 .top-actions button{min-width:48px;min-height:48px;padding:0 10px}
 .topic-button,.result,.text-button,.reading-toolbar button,.repair-actions button,.hop-controls button,.edge-row,.connection-evidence,.citation-parent,.learning-card,.bundle-row,.focus-node-label,.nebula-label{min-height:48px}
 .scene-controls{gap:6px;padding:6px 7px}
 .scene-controls button{min-width:48px;min-height:48px;padding:0 12px}
 .reading-toolbar{gap:8px}
 .reading-toolbar button{padding:8px 12px}
 .mobile-node-actions{display:inline-flex;align-items:center;justify-content:center;min-width:48px;margin-left:auto;color:var(--accent);border-color:#77cdbb55}
 .repair-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0 4px}
 .repair-actions button{width:100%;padding:8px 10px}
 .caseboard-actions,.caseboard-saved-actions{gap:8px}
 .caseboard-actions button,.caseboard-saved-actions button{min-height:48px;padding:8px 11px;font-size:11px}
 .caseboard-saved>summary{min-height:48px;display:flex;align-items:center;font-size:11px}
 .connection-evidence{padding:9px 12px}
 .focus-node-label{height:auto;min-height:48px;padding:6px 9px;display:flex;flex-direction:column;justify-content:center}
 .nebula-label{padding:7px 9px;display:flex;flex-direction:column;justify-content:center}
 .glass{backdrop-filter:none;-webkit-backdrop-filter:none;background:#0d1827f8}
 .brain-context-menu{backdrop-filter:none;-webkit-backdrop-filter:none}
 #caseboardBoxSelect,#caseboardSelectionRect{display:none!important}

 .left-panel{left:max(0px,var(--safe-left));top:var(--top);bottom:var(--bottom);width:min(340px,calc(100vw - 48px));max-height:none;border-radius:0 18px 18px 0;transform:translateX(calc(-100% - 24px));transition:transform .18s ease-out;z-index:31;box-shadow:18px 0 52px #0009}
 .left-panel.open{transform:none}
 .mobile-drawer-scrim{position:fixed;display:block;inset:var(--top) 0 var(--bottom) 0;z-index:30;width:auto;height:auto;min-height:0;border:0;border-radius:0;padding:0;background:#01050aa8;opacity:1}
 .mobile-drawer-scrim[hidden]{display:none!important}
 body.mobile-drawer-open #canvas,body.mobile-drawer-open #topicLabels,body.mobile-drawer-open #focusLabels{pointer-events:none}

 .mobile-action-scrim{position:fixed;display:block;inset:0;z-index:69;width:auto;height:auto;min-height:0;border:0;border-radius:0;padding:0;background:#01050ab8}
 .mobile-action-scrim[hidden]{display:none!important}
 .brain-context-menu{left:max(8px,var(--safe-left))!important;right:max(8px,var(--safe-right));top:auto!important;bottom:max(8px,calc(var(--safe-bottom) + 8px));width:auto;max-width:none;max-height:min(72dvh,640px);overflow:auto;z-index:70;border-radius:20px;padding:10px 10px calc(10px + var(--safe-bottom));box-shadow:0 -18px 60px #000c}
 .brain-context-menu::before{content:'';display:block;width:42px;height:4px;border-radius:99px;background:#7992a766;margin:0 auto 8px}
 .brain-context-title{font-size:14px;padding:5px 8px 2px}
 .brain-context-kind{font-size:10px;padding:0 8px 8px}
 .brain-context-action{min-height:56px;padding:10px 12px;border-radius:11px}
 .brain-context-action strong{font-size:13px}
 .brain-context-action small{font-size:10px;line-height:1.45}
}

@media(hover:none),(pointer:coarse){
 button:hover{background:#91b2d008;border-color:var(--line)}
 .nebula-label:hover{background:#080f19b8;border-color:color-mix(in srgb,var(--topic),transparent 70%)}
 .brain-context-action:hover{background:transparent;border-color:transparent}
}


/* P6 pass 2: finish small remaining mobile targets without inflating desktop density. */
@media(max-width:800px),(hover:none) and (pointer:coarse){
 .brand{min-height:48px}
 .text-button{min-width:48px}
 #closeInspector{min-width:48px;min-height:48px;display:inline-grid;place-items:center;padding:0}
 .hop-controls button{min-width:48px}
 details>summary{min-width:48px;min-height:48px;padding:11px 2px;box-sizing:border-box}
 .kind-list label{min-height:48px;padding:4px 0}
 .kind-list input[type="checkbox"]{width:26px;height:26px;min-height:26px;flex:0 0 26px}
 .teach-button{min-height:48px!important}
}


/* touch18: map-level connection-range control. */
.hop-range{position:fixed;z-index:8;left:calc(50% + (var(--left) - var(--right))/2);bottom:126px;transform:translateX(-50%);display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:12px;white-space:nowrap}
.hop-range>span{font-size:10px;color:#9fb7c9;padding-left:4px}
.hop-range-group{display:flex;align-items:center;gap:3px}
.hop-range button{min-width:58px;border:0;background:transparent;padding:6px 9px;font-size:11px}
.hop-range button.active{color:var(--accent);background:#87ddcb17;box-shadow:inset 0 0 0 1px #87ddcb44}
.node-detail-actions{display:flex;flex-wrap:wrap;gap:5px;margin:16px 0}
.node-detail-actions button{font-size:11px;padding:6px 8px}
@media(max-width:800px){
 .hop-range{left:50%;bottom:calc(var(--bottom) + 76px);max-width:calc(100vw - var(--safe-left,0px) - var(--safe-right,0px) - 16px);padding:6px 7px;gap:6px}
 .hop-range>span{font-size:10px;padding-left:3px}
 .hop-range-group{gap:4px}
 .hop-range button{min-width:60px;min-height:44px;padding:0 9px;font-size:11px}
 .node-detail-actions{gap:8px}
 .node-detail-actions button{min-width:48px;min-height:48px;padding:8px 12px}
}
