:root{--ink: #2c2b28;--paper: #f6f4ef;--panel: #fcfbf8;--hover: #edf2f3;--line: #ddd8cc;--line-strong: #97927f;--muted: #726e65;--accent: #2b7f95;--accent-dark: #1e6377;--sand: #edd9a3;--sand-soft: #f6ecd2;--danger: #9d2b22;--danger-soft: #f4e0dd;--ok: #2c6e49;--ok-soft: #e2eee6;--chrome: #3b3a37;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--sans: system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--sans);font-size:14px;line-height:1.45;color:var(--ink);background:var(--paper)}.frame{display:flex;flex-direction:column;height:100%}.columns{display:grid;grid-template-columns:370px 1fr 360px;flex:1;min-height:0}.column{min-height:0;overflow-y:auto;background:var(--panel)}.column+.column{border-left:1px solid var(--line-strong)}.label{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.label.danger{color:var(--danger)}.mono{font-family:var(--mono)}.hint{font-size:12px;color:var(--muted);margin-top:4px}.problem{font-size:12px;color:var(--danger)}.topbar{display:flex;align-items:center;gap:16px;background:var(--chrome);color:var(--paper);padding:0 12px;height:42px;flex:none;font-family:var(--mono);font-size:12px}.topbar .wordmark{font-weight:700;letter-spacing:.18em}.topbar .meta{color:#bcb8ab;letter-spacing:.04em;white-space:nowrap}.topbar .spacer{flex:1}.topbar .problembanner{color:#f3c8c2;border:1px solid #7c5a55;padding:2px 8px;font-size:11px;max-width:380px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar label{letter-spacing:.1em;text-transform:uppercase;font-size:10px;color:#bcb8ab}.topbar input[type=text]{background:transparent;border:1px solid #59564e;color:var(--paper);font-family:var(--mono);font-size:12px;padding:3px 8px;width:150px}.topbar input[type=text]:focus{outline:none;border-color:var(--sand)}button{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.07em;border:1px solid var(--line-strong);background:transparent;color:var(--ink);padding:5px 12px;cursor:pointer}button:hover:not(:disabled){border-color:var(--accent-dark);color:var(--accent-dark);background:var(--hover)}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover:not(:disabled){background:var(--accent-dark);border-color:var(--accent-dark);color:#fff}button.danger{background:var(--danger);border-color:var(--danger);color:#fff}button.danger:hover:not(:disabled){background:#7d2019;border-color:#7d2019;color:#fff}button.ghost{border-color:transparent;padding:2px 6px}button.ghost:hover:not(:disabled){background:transparent}input[type=text],textarea,select{font-family:inherit;font-size:13px;color:var(--ink);border:1px solid var(--line-strong);background:#fff;padding:6px 8px;width:100%}input[type=text]:focus,textarea:focus,select:focus{outline:2px solid var(--accent);outline-offset:-2px}textarea{font-family:var(--mono);font-size:12px;line-height:1.55;resize:vertical}.tabs{display:flex;border-bottom:1px solid var(--line-strong);flex:none}.tabs button{flex:1;border:none;border-right:1px solid var(--line);padding:9px 0;background:var(--paper)}.tabs button:last-child{border-right:none}.tabs button.active{background:var(--sand);color:var(--ink);font-weight:700}.tabs button:hover:not(.active){background:var(--sand-soft);color:var(--ink)}.left{display:flex;flex-direction:column}.left .list{flex:1;overflow-y:auto}.searchbar{padding:10px;border-bottom:1px solid var(--line-strong);display:grid;gap:8px;background:var(--panel)}.searchbar .row{display:flex;gap:6px}.helpbox{border:1px solid var(--line-strong);background:var(--sand-soft);padding:10px;display:grid;gap:6px}.helpbox p{font-size:12px}.helpbox .example{display:flex;gap:10px;align-items:baseline;text-align:left;text-transform:none;letter-spacing:0;border:none;padding:2px 0;background:none;font-size:12px}.helpbox .example code{font-family:var(--mono);font-size:12px;color:var(--accent-dark);min-width:130px}.helpbox .example span{color:var(--muted);font-family:var(--sans)}.helpbox .example:hover{background:none}.helpbox .example:hover code{text-decoration:underline}.filterbar{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.filterbar .spacer{flex:1}.filterchip-wrap{position:relative;display:inline-flex}.filterchip{padding:3px 9px;font-size:10px;display:inline-flex;gap:6px;align-items:baseline}.filterchip.on{background:var(--sand);border-color:var(--line-strong);color:var(--ink)}.filterchip b{font-family:var(--sans);text-transform:none;letter-spacing:0;font-weight:600}.filterclear{padding:3px 6px;font-size:10px;border-left:none}.filterpopup{position:absolute;top:calc(100% + 4px);left:0;z-index:30;background:var(--panel);border:2px solid var(--chrome);padding:10px;min-width:300px;display:grid;gap:8px}.rootpick{display:flex;flex-wrap:wrap;gap:4px}.rootpick button{padding:3px 8px;font-size:10px;text-transform:none;letter-spacing:0;font-family:var(--sans)}.rootpick button.on{background:var(--accent);border-color:var(--accent);color:#fff}.periodeditor{display:grid;gap:8px}.periodeditor p{font-size:12px}.periodeditor .row{display:flex;gap:8px;align-items:end}.periodeditor label{font-size:11px;color:var(--muted);display:grid;gap:3px}.listhead{font-family:var(--mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);background:var(--paper);padding:6px 10px 4px;border-bottom:1px solid var(--line)}.hit{padding:8px 10px;border-bottom:1px solid var(--line);cursor:pointer}.hit:hover{background:var(--hover)}.hit.current{box-shadow:inset 3px 0 0 var(--accent);background:var(--hover)}.hitrow{display:flex;align-items:baseline;gap:8px}.hitrow .path{flex:1}.hit .path{font-family:var(--mono);font-size:10px;color:var(--muted);word-break:break-all}.hit .title{font-size:13.5px;margin:2px 0}.hit .frag{font-family:var(--mono);font-size:10.5px;line-height:1.5;color:var(--muted);margin-top:2px;word-break:break-all}.hit .count{font-family:var(--mono);font-size:10px;color:var(--accent-dark);white-space:nowrap}mark{background:var(--sand);color:inherit;padding:0 1px}.metafield{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-dark);background:var(--hover);border:1px solid var(--line);padding:0 4px;margin-right:2px}.state{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.08em;padding:1px 6px;border:1px solid;white-space:nowrap}.state.ok{color:var(--ok);border-color:var(--ok);background:var(--ok-soft)}.state.busy{color:#8a6d1a;border-color:#b08f24;background:#f7efd6}.state.draft{color:var(--accent-dark);border-color:var(--accent-dark);background:var(--hover)}.listnote{padding:12px;color:var(--muted);font-size:12.5px;line-height:1.5}.leftfoot{border-top:1px solid var(--line-strong);padding:10px;flex:none;background:var(--paper)}.leftfoot .bookmarklet a{display:inline-block;border:1px dashed var(--line-strong);padding:4px 10px;font-family:var(--mono);font-size:11px;color:var(--accent-dark);text-decoration:none;cursor:grab}.leftfoot p{font-size:11px;color:var(--muted);margin-top:6px}.center{display:flex;flex-direction:column}.centerbody{flex:1;overflow-y:auto;min-height:0}.tabbar{display:flex;border-bottom:1px solid var(--line-strong);background:var(--paper);flex:none;overflow-x:auto}.tabbar .tab{display:inline-flex;align-items:center;gap:6px;border:none;border-right:1px solid var(--line);padding:8px 12px;white-space:nowrap;background:var(--paper);max-width:220px}.tabbar .tab.active{background:var(--panel);box-shadow:inset 0 3px 0 var(--accent);font-weight:700}.tabbar .tab:hover:not(.active){background:var(--sand-soft);color:var(--ink)}.tabbar .tablabel{overflow:hidden;text-overflow:ellipsis;text-transform:none;letter-spacing:0;font-family:var(--sans);font-size:12.5px}.tabbar .tabclose{font-family:var(--mono);color:var(--muted);padding:0 2px}.tabbar .tabclose:hover{color:var(--danger)}.notebar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--sand-soft);border-bottom:1px solid var(--line-strong);padding:4px 12px}.notebar.expanded{display:block;padding-bottom:8px}.notebartoggle{border:none;padding:2px 4px;color:var(--ink);font-weight:700}.notebartoggle:hover{background:none}.notebarinline{display:inline-flex;gap:10px;flex-wrap:wrap}.notebarlink{border:none;padding:2px 0;text-transform:none;letter-spacing:0;font-family:var(--sans);font-size:12px;color:var(--accent-dark);text-decoration:underline}.notebarlink:hover{background:none;color:var(--accent)}.notebarlink.draft{color:var(--muted)}.notebarlist{display:grid;gap:2px;margin-top:4px}.notebarrow{display:flex;justify-content:space-between;align-items:center;gap:10px;border:none;padding:3px 4px;text-align:left;text-transform:none;letter-spacing:0;font-family:var(--sans);font-size:12.5px}.notebarrow:hover{background:#fff;color:var(--accent-dark)}.pagehead{border-bottom:1px solid var(--line-strong);padding:14px 22px 12px;background:var(--paper)}.pagehead .path{font-family:var(--mono);font-size:11px;color:var(--muted);word-break:break-all}.pagehead h1{font-size:22px;font-weight:650;margin:3px 0 8px;color:var(--accent-dark)}.pagehead .row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pagehead .badge{font-family:var(--mono);font-size:10px;text-transform:uppercase;border:1px solid var(--line-strong);padding:1px 6px;color:var(--muted)}.pagehead .cat{font-family:var(--mono);font-size:10.5px;color:var(--accent-dark)}.pagehead a.ext{font-family:var(--mono);font-size:11px;color:var(--accent)}.pagebody{padding:22px;max-width:780px;line-height:1.6;font-size:14.5px}.pagebody h1,.pagebody h2,.pagebody h3{margin:20px 0 8px;line-height:1.3;color:var(--accent-dark);font-weight:650}.pagebody p,.pagebody ul,.pagebody ol{margin:9px 0}.pagebody ul,.pagebody ol{padding-left:22px}.pagebody img{max-width:100%;height:auto;border:1px solid var(--line-strong)}.pagebody a{color:var(--accent)}.pagebody table{border-collapse:collapse}.pagebody td,.pagebody th{border:1px solid var(--line-strong);padding:4px 8px}.pagesection{border-top:1px solid var(--line);padding:12px 22px}.pagesection .label{display:block;margin-bottom:6px}.kv{display:grid;grid-template-columns:max-content 1fr;gap:3px 14px;font-size:12.5px}.kv dt{font-family:var(--mono);font-size:10.5px;color:var(--muted);padding-top:1px}.linkrow{display:block;width:100%;text-align:left;border:none;padding:3px 0;cursor:pointer;background:none;font-family:var(--sans);font-size:13px;text-transform:none;letter-spacing:0;color:var(--ink)}.linkrow:hover{background:none;color:var(--accent)}.linkrow .path{font-family:var(--mono);font-size:10px;color:var(--muted);margin-right:8px}.empty{padding:42px;color:var(--ink);max-width:620px}.empty h2{font-size:18px;margin-bottom:14px;color:var(--accent-dark)}.empty p{margin:10px 0;font-size:13.5px;line-height:1.6}.empty .mono{font-size:12px;color:var(--muted)}.empty .footnote{font-style:italic;color:var(--muted);font-size:12.5px;margin-top:18px}.uihint{font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;border:1px solid var(--line-strong);padding:1px 7px;white-space:nowrap;color:var(--ink);background:var(--paper)}.uihint.primary{background:var(--accent);border-color:var(--accent);color:#fff}.issuepanel{display:flex;flex-direction:column;height:100%}.issuepanel .head{padding:8px 10px;border-bottom:1px solid var(--line-strong);background:var(--paper);display:flex;align-items:center;gap:8px;flex:none}.issuepanel .head .noteswitch{flex:1;font-size:12px;padding:4px 6px}.issuepanel .body{padding:10px;display:grid;gap:10px;align-content:start;overflow-y:auto;flex:1}.issuepanel .foot{border-top:1px solid var(--line-strong);padding:10px;display:flex;gap:8px;flex:none;background:var(--paper)}.issuepanel .foot .spacer{flex:1}.statusrow{display:flex;align-items:center;justify-content:space-between;gap:8px}.sync{font-family:var(--mono);font-size:10.5px;letter-spacing:.04em}.sync.ok{color:var(--ok)}.sync.busy{color:#8a6d1a}.sync.draft{color:var(--accent-dark)}.sync.error{color:var(--danger)}.refrow{display:flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;padding:4px 6px;margin-top:4px}.refrow .info{flex:1;cursor:pointer;min-width:0}.refrow .info:hover .t{color:var(--accent)}.refrow .p{font-family:var(--mono);font-size:9.5px;color:var(--muted);word-break:break-all}.refrow .t{font-size:12.5px}.refrow.dangling{border-color:var(--danger)}.refrow.dangling .t{color:var(--danger)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#2c2b2873;display:grid;place-items:center;z-index:100}.modal{background:var(--panel);border:2px solid var(--chrome);width:min(700px,94vw);max-height:86vh;overflow-y:auto;padding:18px;display:grid;gap:12px}.modal p{font-size:13.5px;line-height:1.55}.modal .actions{display:flex;gap:8px}.diff{font-family:var(--mono);font-size:11.5px;line-height:1.55;border:1px solid var(--line);background:#fff;padding:6px 0}.diff>div{padding:0 8px;white-space:pre-wrap;word-break:break-word}.diff .removed{background:var(--danger-soft);color:#6d211a}.diff .added{background:var(--ok-soft);color:#1d4f33}.diff .sigil{display:inline-block;width:14px;color:var(--muted)}@media (max-width: 1020px){.columns{display:flex;flex-direction:column;overflow-y:auto}.column{overflow-y:visible;min-height:auto}.column+.column{border-left:none;border-top:2px solid var(--line-strong)}.left .list{max-height:45vh}.issuepanel{height:auto}.topbar .meta{display:none}}
