:root{color-scheme:dark;--bg:#07110f;--panel:#0b1714;--line:#294039;--text:#f5f1e7;--muted:#9cafaa;--orange:#f28a2a;--cyan:#63e7d1}
:root{--orange:#dfac69;--cyan:#b4cfc4}
.record-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(270px,100%),1fr));gap:16px}.record-link{background:transparent;border:0;color:var(--text);padding:0;text-align:left;font:inherit;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.record-actions,.case-picker,.case-heading{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:16px 0}.case-heading{justify-content:space-between}.case-picker .active{border-color:var(--orange);color:var(--orange)}.prose{white-space:pre-wrap}.board-scroll{overflow:auto;max-width:100%;border:1px solid var(--line);border-radius:8px}.investigation-board{width:1100px;height:760px;position:relative;background:radial-gradient(#456055 1px,transparent 1px) 0 0/24px 24px}.investigation-board svg{position:absolute;width:100%;height:100%;pointer-events:none}.investigation-board line{stroke:#b9986a;stroke-width:2}.investigation-board text{fill:#f2dfbf;font-size:12px;paint-order:stroke;stroke:#07110f;stroke-width:5px}.board-node{position:absolute;width:200px;min-height:80px;padding:15px;background:#172722;border:1px solid #61776d;border-radius:7px;cursor:grab}.board-node small{display:block;color:var(--orange);font-size:10px;margin-bottom:8px}.board-node.uncertain{border:2px dashed #d6af73}.board-node p{font-size:12px}#record-editor{max-width:680px;width:calc(100% - 32px)}#record-editor form{display:grid;gap:14px}#record-editor label{display:grid;gap:6px}#record-editor input,#record-editor textarea,#record-editor select{max-width:100%;width:100%}#record-editor input[type=checkbox]{width:auto}button,input,select{min-height:44px}button{cursor:pointer}dl{display:grid;grid-template-columns:1fr 2fr;gap:8px}dd{margin:0;overflow-wrap:anywhere}main>section{min-width:0}#journal a{display:inline-block;color:var(--orange);padding:10px}#journal .note{overflow-wrap:anywhere}#journal>button{margin:8px}#journal .note footer{margin-top:20px}dialog textarea{min-height:90px}
@media(max-width:700px){.top{padding:20px}.top h1{font-size:28px}main>section{padding:16px}.record-grid{grid-template-columns:1fr}.toolbar{flex-wrap:wrap}.toolbar input{width:100%}}
*{box-sizing:border-box}
.board-map{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:.6}.board-node:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Segoe UI,sans-serif}
.top{padding:24px 34px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}
.top h1{font-size:38px;margin:4px 0}.top p{color:var(--muted);margin:0}.top small,.note small,dialog small{color:var(--orange);letter-spacing:.15em;font-weight:800}.top a{color:var(--cyan)}
main{display:grid;grid-template-columns:230px 1fr;min-height:calc(100vh - 128px)}
aside{padding:24px 16px;border-right:1px solid var(--line);display:grid;align-content:start;gap:5px}
aside button{border:0;border-left:2px solid transparent;background:transparent;color:var(--muted);padding:13px;text-align:left}
aside button.active,aside button:hover{background:#10201c;color:#fff;border-color:var(--orange)}
main>section{padding:28px}
.subnav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.subnav button{border:1px solid var(--line);background:transparent;color:var(--muted);padding:9px 12px}
.subnav button.active,.subnav button:hover{border-color:var(--cyan);color:var(--text);background:#10201c}
.toolbar{display:flex;gap:12px;margin-bottom:20px}.toolbar input{flex:1;border:1px solid var(--line);background:var(--panel);color:var(--text);padding:14px}.toolbar button,.save{border:0;background:var(--orange);color:#17110a;padding:14px 20px;font-weight:800}
.note,.waiting{border:1px solid var(--line);background:var(--panel);padding:24px;margin-bottom:12px}.note p,.waiting p,.note footer{color:var(--muted);line-height:1.5}.note footer{border-top:1px solid var(--line);padding-top:12px;font-size:13px}
dialog{width:min(600px,calc(100vw - 30px));border:1px solid var(--line);background:var(--panel);color:var(--text);padding:0}dialog::backdrop{background:#000b}dialog form{padding:24px;display:grid;gap:18px}dialog header{display:flex;justify-content:space-between}dialog header button{border:0;background:transparent;color:var(--text);font-size:28px}label,fieldset{display:grid;gap:8px}textarea,select{width:100%;border:1px solid var(--line);background:var(--bg);color:var(--text);padding:12px}textarea{min-height:150px}fieldset label{display:flex}.truth{color:var(--cyan)}
[hidden]{display:none!important}
@media(max-width:700px){.top{padding:18px;align-items:flex-start}.top h1{font-size:30px}main{display:block}aside{border-right:0;border-bottom:1px solid var(--line);display:flex;overflow:auto;padding:10px}aside button{white-space:nowrap;min-height:48px}main>section{padding:16px}.subnav{flex-wrap:nowrap;overflow:auto}.subnav button{white-space:nowrap;min-height:44px}.toolbar{position:sticky;top:0;background:var(--bg);padding:8px 0;z-index:2}.toolbar button{min-height:48px}.note{padding:18px}}
