:root{--bg:#f5f4ef;--surface:#fff;--surface-2:#efede6;--border:#dedad0;--text:#1e2226;--muted:#697078;--accent:#1d6a85;--accent-strong:#15536a;--accent-soft:#e1eff4;--on-accent:#fff;--ok:#2c7a4b;--ok-bg:#e3f2e8;--warn:#8f5b00;--warn-bg:#fcf0d4;--danger:#b3261e;--danger-bg:#fbe7e5;--info:#1f5aa6;--info-bg:#e5edf9;--code-bg:#f1efe8;--hl-heading:#15536a;--hl-link:#1f5aa6;--hl-code:#9a4313;--hl-prop:#1d6a85;--hl-string:#2c7a4b;--hl-number:#8e4ec6;--shadow:0 12px 40px #14181c2e;--mono:ui-monospace, "Cascadia Mono", Consolas, "SFMono-Regular", Menlo, monospace;--sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#121518;--surface:#191d21;--surface-2:#22272c;--border:#2f363d;--text:#e3e5e8;--muted:#98a0a8;--accent:#5db0cc;--accent-strong:#84c6dc;--accent-soft:#1d3540;--on-accent:#0b1a20;--ok:#6fcf97;--ok-bg:#173325;--warn:#f0c060;--warn-bg:#3a2e12;--danger:#ff8a80;--danger-bg:#401c1a;--info:#8ab4f8;--info-bg:#1b2a40;--code-bg:#20252a;--hl-heading:#84c6dc;--hl-link:#8ab4f8;--hl-code:#f0a070;--hl-prop:#5db0cc;--hl-string:#6fcf97;--hl-number:#c49cf0;--shadow:0 12px 40px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#121518;--surface:#191d21;--surface-2:#22272c;--border:#2f363d;--text:#e3e5e8;--muted:#98a0a8;--accent:#5db0cc;--accent-strong:#84c6dc;--accent-soft:#1d3540;--on-accent:#0b1a20;--ok:#6fcf97;--ok-bg:#173325;--warn:#f0c060;--warn-bg:#3a2e12;--danger:#ff8a80;--danger-bg:#401c1a;--info:#8ab4f8;--info-bg:#1b2a40;--code-bg:#20252a;--hl-heading:#84c6dc;--hl-link:#8ab4f8;--hl-code:#f0a070;--hl-prop:#5db0cc;--hl-string:#6fcf97;--hl-number:#c49cf0;--shadow:0 12px 40px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:14px/1.45 var(--sans);-webkit-font-smoothing:antialiased}a{color:var(--accent)}code{font-family:var(--mono);background:var(--code-bg);border-radius:4px;padding:.1em .35em;font-size:.92em}h1,h2,h3{line-height:1.25}button{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;display:inline-flex}button:hover:not(:disabled){border-color:var(--muted)}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}button.primary:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong)}button.danger{background:var(--danger);border-color:var(--danger);color:#fff}button.small{padding:2px 9px;font-size:12px}button.active{background:var(--accent-soft);border-color:var(--accent)}button.link{color:var(--accent);text-align:left;white-space:normal;background:0 0;border:0;padding:0}button.link:hover{text-decoration:underline}.icon-btn{color:var(--muted);background:0 0;border:0;padding:2px 7px;font-size:16px;line-height:1}.icon-btn:hover:not(:disabled){color:var(--text);background:var(--surface-2)}.danger-text{color:var(--danger)!important}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:6px;width:100%;padding:7px 10px}textarea{resize:vertical;font-family:var(--sans)}.muted{color:var(--muted)}.hint{color:var(--muted);font-size:13px}.hint p{margin:4px 0}.pad{padding:8px 14px}.error{color:var(--danger);margin:4px 0}.row,.row-end,.row-center{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row-end{justify-content:flex-end}.row-center{justify-content:center}.chip{white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:1px 9px;font-size:12px;font-weight:500;text-decoration:none;display:inline-flex}.count{text-align:center;border-radius:9px;min-width:18px;padding:0 6px;font-size:11px;font-weight:600;line-height:18px;display:inline-block}.badge{background:var(--on-accent);min-width:18px;color:var(--accent);border-radius:9px;padding:0 5px;font-size:11px;font-weight:700;line-height:18px;display:inline-block}.tag{color:var(--info);opacity:.75;border:1px solid;border-radius:3px;padding:0 3px;font-size:10px;font-weight:700}.tone-ok{color:var(--ok);background:var(--ok-bg)}.tone-warn{color:var(--warn);background:var(--warn-bg)}.tone-danger{color:var(--danger);background:var(--danger-bg)}.tone-info{color:var(--info);background:var(--info-bg)}.tone-muted{color:var(--muted);background:var(--surface-2)}.dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.dot-ok{border:1.5px solid var(--border)}.dot-warn{background:var(--warn)}.dot-info{background:var(--info)}.dot-danger{background:var(--danger);box-shadow:0 0 0 3px var(--danger-bg)}.meter{background:var(--surface-2);border-radius:3px;width:90px;height:6px;display:inline-block;overflow:hidden}.meter>span{background:var(--ok);height:100%;display:block}.meter.big{width:100%;height:10px}.meter.big>span{background:var(--accent)}.flag-WARN .meter>span{background:var(--warn)}.flag-ROTATE .meter>span{background:var(--danger)}.splash,.empty{text-align:center;color:var(--muted);padding:48px 24px}.app{flex-direction:column;height:100%;display:flex}.topbar{background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:14px;height:52px;padding:0 16px;display:flex}.brand{color:var(--text);white-space:nowrap;align-items:center;gap:9px;text-decoration:none;display:flex}.brand-lg{margin-bottom:8px}.brand-lg div{flex-direction:column;display:flex}.brand-lg span{color:var(--muted);font-size:13px}.search-box{flex:1;max-width:420px;margin-left:auto}.search-box input{background:var(--bg)}.topbar-actions{align-items:center;gap:8px;display:flex}.nav-toggle{display:none}.layout{flex:1;min-height:0;display:flex}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:300px;display:flex}.content{flex:1;min-width:0;overflow:auto}.nav-scrim{display:none}.nav-links{border-bottom:1px solid var(--border);flex-direction:column;padding:8px 6px 4px;display:flex}.nav-links a{color:var(--text);border-radius:6px;justify-content:space-between;align-items:center;padding:6px 10px;text-decoration:none;display:flex}.nav-links a:hover{background:var(--surface-2)}.nav-links a.active{background:var(--accent-soft);font-weight:600}.sidebar-head{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);justify-content:space-between;align-items:center;padding:10px 12px 4px 16px;font-size:11px;font-weight:700;display:flex}.filters{gap:4px;padding:4px 12px 8px;display:flex}.filters button{border-radius:999px;padding:2px 8px;font-size:12px}.filters button.active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.tree-scroll{flex:1;padding-bottom:24px;overflow:auto}.tree,.tree ul{margin:0;padding:0;list-style:none}.tree-row{border-radius:6px;align-items:center;gap:6px;min-height:29px;margin:0 6px;padding-right:4px;display:flex}.tree-row:hover{background:var(--surface-2)}.tree-row.active{background:var(--accent-soft)}.tree-row.active .tree-name{font-weight:600}.tree-link,.tree-toggle{min-width:0;color:var(--text);text-align:left;background:0 0;border:0;border-radius:0;flex:1;align-items:center;gap:7px;padding:3px 0;text-decoration:none;display:flex}.tree-toggle{gap:4px}.caret{width:12px;color:var(--muted);font-size:11px}.tree-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.section>.tree-toggle .tree-name{font-weight:650}.file-kind{color:var(--muted)}.tree-actions{opacity:0;align-items:center;display:flex}.tree-row:hover .tree-actions,.tree-actions:focus-within,.tree-actions.visible{opacity:1}.menu{position:relative}.menu-list{z-index:60;background:var(--surface);border:1px solid var(--border);min-width:240px;box-shadow:var(--shadow);border-radius:8px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);right:0}.menu-list button{text-align:left;background:0 0;border:0;border-radius:5px;width:100%;padding:7px 10px}.menu-list button:hover{background:var(--surface-2)}.doc{flex-direction:column;height:100%;min-height:0;display:flex}.doc-toolbar{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;padding:9px 16px;display:flex}.crumbs{flex-wrap:wrap;align-items:center;gap:4px;min-width:0;display:flex}.crumb{color:var(--muted)}.crumb:after{content:"/";opacity:.6;margin-left:4px}.crumb-last{font-size:15px;font-weight:650}.unsaved{color:var(--warn);margin-left:4px}.doc-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.segmented{border:1px solid var(--border);border-radius:7px;display:inline-flex;overflow:hidden}.segmented button{border:0;border-radius:0;padding:5px 11px}.segmented button+button{border-left:1px solid var(--border)}.segmented button.active{background:var(--accent);color:var(--on-accent)}.doc-meta{flex-wrap:wrap;align-items:center;gap:10px;padding:8px 16px;font-size:13px;display:flex}.volume{color:var(--muted);align-items:center;gap:8px;display:inline-flex}.banner{border:1px solid;border-radius:8px;margin:0 16px 8px;padding:10px 14px;font-size:13.5px;line-height:1.5}.banner.subtle{border-color:#0000;padding:6px 12px}.banner code{background:0 0;padding:0}.banner-actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.banner-actions button{color:var(--text)}.doc-body{border-top:1px solid var(--border);flex:1;min-height:0;display:flex}.pane{background:var(--surface);flex:1;min-width:0;overflow:auto}.mode-split .pane-editor{border-right:1px solid var(--border)}.side-panel{border-left:1px solid var(--border);background:var(--bg);flex-shrink:0;width:270px;overflow:auto}.panel-title{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:14px 14px 6px;font-size:11px}.outline{margin:0;padding:0 10px 20px 14px;list-style:none}.outline li{padding:3px 0}.outline button.link{color:var(--text);font-size:13px}.outline button.link:hover{color:var(--accent)}.revisions{margin:0;padding:0 8px;list-style:none}.rev{white-space:normal;text-align:left;background:0 0;border:0;border-radius:6px;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:8px;display:flex}.rev:hover{background:var(--surface-2)}.rev-head{align-items:center;gap:6px;display:flex}.rev .muted,.rev-note{font-size:12px}.rev-note{color:var(--muted);font-style:italic}.asset-view{flex:1;align-items:flex-start;gap:16px;padding:20px;display:flex;overflow:auto}.asset-view img{border:1px solid var(--border);background:repeating-conic-gradient(var(--surface-2) 0 25%, var(--surface) 0 50%) 0 0 / 16px 16px;border-radius:6px;max-width:100%}.editor{height:100%}.editor .cm-editor{background:var(--surface);height:100%;color:var(--text);font-size:14px}.editor .cm-scroller{font-family:var(--mono);line-height:1.6}.editor .cm-content{caret-color:var(--text);padding:12px 0 120px}.editor .cm-cursor{border-left-color:var(--text)}.editor .cm-gutters{background:var(--bg);color:var(--muted);border-right:1px solid var(--border)}.editor .cm-activeLine{background:color-mix(in srgb, var(--accent-soft) 45%, transparent)}.editor .cm-activeLineGutter{background:var(--accent-soft)}.editor .cm-editor.cm-focused .cm-selectionBackground,.editor .cm-selectionBackground{background:color-mix(in srgb, var(--accent) 28%, transparent)!important}.editor .cm-panels{background:var(--surface-2);color:var(--text)}.markdown{overflow-wrap:break-word;max-width:880px;margin:0 auto;padding:24px 48px 120px 56px;font-size:15.5px;line-height:1.65}.markdown.small{padding:0;font-size:13.5px}.markdown h1{margin:.4em 0 .6em;font-size:1.85em}.markdown h2{border-bottom:1px solid var(--border);margin:1.6em 0 .5em;padding-bottom:.25em;font-size:1.35em}.markdown h3{margin:1.3em 0 .4em;font-size:1.12em}.markdown p,.markdown ul,.markdown ol,.markdown table,.markdown blockquote,.markdown pre{margin:.6em 0}.markdown ul,.markdown ol{padding-left:1.6em}.markdown li+li{margin-top:.2em}.markdown blockquote{border-left:3px solid var(--accent);background:var(--surface-2);color:var(--muted);border-radius:0 6px 6px 0;margin-left:0;padding:.3em 1em}.markdown pre{background:var(--code-bg);border-radius:8px;padding:12px 14px;font-size:13px;line-height:1.5;overflow:auto}.markdown pre code{background:0 0;padding:0}.markdown table{border-collapse:collapse;font-size:14px;display:block;overflow-x:auto}.markdown th,.markdown td{border:1px solid var(--border);vertical-align:top;padding:6px 10px}.markdown th{background:var(--surface-2);text-align:left}.markdown tr:nth-child(2n) td{background:color-mix(in srgb, var(--surface-2) 45%, transparent)}.markdown img{border:1px solid var(--border);border-radius:6px;max-width:100%}.markdown hr{border:0;border-top:1px solid var(--border);margin:2em 0}.markdown [data-line]{position:relative}.markdown .ln{width:2.8em;font:11px/1.4 var(--mono);color:var(--muted);opacity:0;cursor:copy;background:0 0;border:0;justify-content:flex-end;padding:0;position:absolute;top:.2em;left:-3.4em}.markdown .ln:before{content:attr(data-ln)}.markdown li>.ln{left:-5em}.markdown [data-line]:hover>.ln{opacity:.65}.markdown .ln:hover{color:var(--accent);opacity:1!important}.markdown .wb-ref{border-bottom:1px dashed;text-decoration:none}.markdown .wb-ref-missing{border-bottom:1px dotted var(--danger);cursor:help}.q-tools{align-items:center;gap:6px;margin:-.2em 0 .6em;font-size:12px;display:flex}.markdown .task{color:var(--accent)}.flash{animation:2s ease-out flash}@keyframes flash{0%{background:var(--warn-bg)}to{background:0 0}}.diff{border:1px solid var(--border);font:12.5px/1.55 var(--mono);border-radius:8px;overflow:hidden}.diff-head{background:var(--surface-2);font-family:var(--sans);flex-wrap:wrap;gap:16px;padding:8px 12px;font-size:13px;display:flex}.diff-label.del{color:var(--danger)}.diff-label.add{color:var(--ok)}.diff-body{max-height:64vh;overflow:auto}.diff-row{grid-template-columns:3.4em 3.4em 1.4em 1fr;display:grid}.diff.mini .diff-row{grid-template-columns:1.6em 1fr}.diff-row .code{white-space:pre-wrap;word-break:break-word;padding-right:8px}.diff-row.add{background:var(--ok-bg)}.diff-row.del{background:var(--danger-bg)}.diff-row .sign{text-align:center;color:var(--muted)}.ln-no{color:var(--muted);text-align:right;-webkit-user-select:none;user-select:none;padding-right:8px}.diff-gap{background:var(--surface-2);width:100%;color:var(--muted);border:0;border-radius:0;justify-content:center;padding:3px;font-size:12px}.image-compare{grid-template-columns:1fr 1fr;gap:16px;display:grid}.image-compare img{border:1px solid var(--border);border-radius:6px;max-width:100%}.image-compare figure{margin:0}.modal-backdrop{z-index:100;background:#0a0e1273;justify-content:center;align-items:flex-start;padding:6vh 16px;display:flex;position:fixed;inset:0;overflow:auto}.modal{background:var(--surface);width:min(520px,100%);max-height:88vh;box-shadow:var(--shadow);border-radius:12px;flex-direction:column;display:flex}.modal.modal-lg{width:min(800px,100%)}.modal.modal-xl{width:min(1180px,100%)}.modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 14px 12px 20px;display:flex}.modal-head h2{margin:0;font-size:16px}.modal-body{padding:16px 20px;overflow:auto}.modal-body>p:first-child{margin-top:0}.modal-foot{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:12px 20px;display:flex}.form{flex-direction:column;gap:12px;display:flex}.form label,.login-card label{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}label.check,.form label.check{color:var(--text);flex-direction:row;align-items:center;gap:8px;font-size:14px}label.check input{width:auto}label.check select{width:auto;margin-left:6px}.radio-group{border:0;flex-direction:column;gap:8px;margin:0;padding:0;display:flex}.dropzone{border:2px dashed var(--border);text-align:center;background:var(--bg);border-radius:10px;padding:28px 16px;transition:border-color .15s,background .15s}.dropzone.over{border-color:var(--accent);background:var(--accent-soft)}.dropzone p{margin:4px 0 10px}.path-list{margin:6px 0;padding:0;font-size:13px;list-style:none}.path-list li{flex-wrap:wrap;align-items:center;gap:6px;padding:2px 0;display:flex}.path-list.scroll{border:1px solid var(--border);border-radius:6px;max-height:260px;padding:6px 10px;overflow:auto}.report{flex-direction:column;gap:8px;display:flex}.report-group{border:1px solid var(--border);border-radius:8px;padding:8px 12px;background:0 0!important}.report-group summary{cursor:pointer;color:var(--text);font-weight:500}.steps{padding-left:1.3em;line-height:1.7}.record{background:var(--code-bg);font:12.5px/1.5 var(--mono);white-space:pre-wrap;border-radius:8px;margin:6px 0 0;padding:10px 12px}.answer-layout{grid-template-columns:1fr 1fr;gap:20px;display:grid}.question h3{margin:0 0 4px}.presets{flex-wrap:wrap;gap:6px;display:flex}.page,.summary{max-width:980px;margin:0 auto;padding:24px 28px 80px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.page-head h1{margin:0 0 8px;font-size:22px}.hero{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:28px 32px}.hero h1{margin-top:0}.cards{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;display:grid}.card{background:var(--surface);border:1px solid var(--border);color:var(--muted);border-radius:10px;flex-direction:column;padding:14px 16px;display:flex}.card.tone-danger,.card.tone-warn{border-color:currentColor}.card-num{color:var(--text);font-size:30px;font-weight:700;line-height:1.1}.card.tone-danger .card-num{color:var(--danger)}.card.tone-warn .card-num{color:var(--warn)}.sync-line{color:var(--muted);flex-wrap:wrap;align-items:center;gap:16px;margin:16px 0 8px;display:flex}.sync-line button:first-of-type{margin-left:auto}.summary section{margin-top:26px}.summary h2{margin:0 0 8px;font-size:15px}.file-list,.q-list,.events{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin:0;padding:0;list-style:none}.file-list li,.q-list li,.events li{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 14px;display:flex}.file-list li:first-child,.q-list li:first-child,.events li:first-child{border-top:0}.q-list a{color:var(--text);flex:1;text-decoration:none}.q-list a:hover{color:var(--accent)}.events{font-size:13px}.q-cards{flex-direction:column;gap:10px;padding:0;list-style:none;display:flex}.q-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px 16px}.q-card-head{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.q-card-head a{color:var(--text);text-decoration:none}.q-card-head a:hover{color:var(--accent)}.q-card-foot{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.search-result{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-top:10px;padding:10px 14px}.search-file{font-weight:600}.search-result ul{margin:8px 0 0;padding:0;list-style:none}.search-result li a{color:var(--text);font:13px/1.6 var(--mono);border-radius:4px;grid-template-columns:3.4em 1fr;text-decoration:none;display:grid}.search-result li a:hover{background:var(--surface-2)}.search-result .code{white-space:pre-wrap;word-break:break-word}mark{background:var(--warn-bg);color:inherit;box-shadow:0 0 0 1px var(--warn);border-radius:2px}.login-page{justify-content:center;align-items:center;min-height:100%;padding:16px;display:flex}.login-card{background:var(--surface);border:1px solid var(--border);width:min(360px,100%);box-shadow:var(--shadow);border-radius:14px;flex-direction:column;gap:14px;padding:28px;display:flex}.login-card button{justify-content:center;padding:9px}.toasts{z-index:200;flex-direction:column;gap:8px;max-width:min(420px,100vw - 32px);display:flex;position:fixed;bottom:16px;right:16px}.toast{box-shadow:var(--shadow);background:var(--surface);border:1px solid;border-radius:8px;padding:10px 14px;font-size:13.5px}.toast.tone-ok{background:var(--ok-bg)}.toast.tone-danger{background:var(--danger-bg)}.toast.tone-info{background:var(--info-bg)}a.button{border:1px solid var(--border);background:var(--surface);color:var(--text);white-space:nowrap;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;text-decoration:none;display:inline-flex}a.button:hover{border-color:var(--muted)}a.button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.icon-btn.text-btn{font-size:inherit;color:var(--text);border:1px solid var(--border);background:var(--surface);border-radius:6px;padding:6px 12px}.badge.warn{background:var(--warn-bg);color:var(--warn)}.block{display:block}.mono{font-family:var(--mono);font-size:11.5px}.small-text{font-size:12.5px}.menu-list button.checked{font-weight:600}.menu-list button.checked:after{content:"✓";color:var(--accent);margin-left:auto}.theme-switch{justify-content:center;width:32px;height:32px;font-size:17px}.avatar{background:var(--accent-soft);width:30px;height:30px;color:var(--accent-strong);letter-spacing:.02em;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.avatar.small{border:2px solid var(--surface);width:24px;height:24px;font-size:10px}.avatar.editing{background:var(--warn-bg);color:var(--warn)}.user-btn{border-radius:50%;padding:1px}.online{align-items:center;padding-left:6px;display:inline-flex}.online .avatar+.avatar,.here .avatar+.avatar{margin-left:-8px}.here{background:var(--surface-2);color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:2px 10px 2px 3px;font-size:12.5px;display:inline-flex}.here.here-editing{background:var(--warn-bg);color:var(--warn)}.login-corner{position:fixed;top:12px;right:16px}.login-card .banner{margin:0}.auth-title{margin:0;font-size:18px}.event-author{background:var(--surface-2);border-radius:4px;margin:0 6px;padding:0 7px;font-size:12px;display:inline-block}.page.narrow{max-width:720px}.panel-block{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin:18px 0;padding:16px 18px}.panel-block h2{margin:0 0 10px;font-size:16px}.inline-form{flex-direction:row;align-items:center}.inline-form input{max-width:340px}.role-legend{color:var(--muted);margin:0 0 16px;padding-left:18px;font-size:13px}.role-legend strong{color:var(--text)}.users-table{border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:10px;width:100%;overflow:hidden}.users-table th,.users-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border);padding:10px 12px}.users-table th{color:var(--muted);background:var(--surface-2);font-size:12px;font-weight:600}.users-table tr:last-child td{border-bottom:0}.users-table .muted-row td{opacity:.6}.users-table .chip{margin-left:6px}.users-table td .chip:first-child{margin-left:0}.user-cell{align-items:flex-start;gap:10px;display:flex}.cell-actions{text-align:right;width:40px}.copy-line{align-items:center;gap:6px;display:flex}.copy-line input{font-family:var(--mono);font-size:12.5px}fieldset.choice{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:6px;margin:0;padding:8px 12px 10px;display:flex}fieldset.choice legend{color:var(--muted);padding:0 4px;font-size:13px}.form label.radio{flex-direction:row;align-items:flex-start;gap:8px;font-weight:400}.form label.radio input{width:auto;margin-top:3px}fieldset.presets{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;display:grid}fieldset.presets legend{grid-column:1/-1}.form label.preset-card{border:1px solid var(--border);cursor:pointer;border-radius:8px;flex-direction:column;gap:4px;padding:10px 12px;font-size:13px;font-weight:400;display:flex}.form label.preset-card.active{border-color:var(--accent);background:var(--accent-soft)}.preset-card input{opacity:0;pointer-events:none;position:absolute}.preset-card strong{font-size:14px}.swatches{gap:3px;display:flex}.swatch{background:var(--c,var(--node-color));border-radius:3px;flex-shrink:0;width:12px;height:12px;display:inline-block}.dialog-sub{margin:4px 0 8px;font-size:14px}.dialog-sub+.types-table{margin-bottom:8px}.types-table{border-collapse:collapse;width:100%;margin-bottom:8px}.types-table th{color:var(--muted);text-align:left;padding:4px 6px;font-size:12px;font-weight:600}.types-table td{vertical-align:top;padding:4px 6px}.types-table input[type=color]{width:38px;height:32px;padding:2px}.types-table input[type=checkbox]{width:auto;margin-top:9px}.graph-doc .crumb:after{content:""}.graph-body{border-top:1px solid var(--border);flex:1;min-height:0;display:flex}.graph-palette,.graph-inspector{background:var(--bg);flex-shrink:0;overflow:auto}.graph-palette{border-right:1px solid var(--border);width:190px;padding-bottom:16px}.graph-palette>.small{margin:10px 14px 0}.graph-inspector{border-left:1px solid var(--border);width:300px}.graph-canvas{flex:1;min-width:0;position:relative}.palette-list{margin:0;padding:0 8px;list-style:none}.palette-item{cursor:grab;white-space:normal;text-align:left;background:0 0;border-color:#0000;justify-content:flex-start;width:100%;padding:5px 8px}.palette-item:hover:not(:disabled){background:var(--surface);border-color:var(--border)}.palette-item.active{background:var(--surface);border-color:var(--node-color)}.palette-edge{cursor:pointer;border-radius:6px;align-items:center;gap:7px;padding:4px 8px;font-size:13.5px;display:flex}.palette-edge.active{background:var(--surface)}.palette-edge input{width:auto;margin:0}.edge-swatch{border-top:2px solid var(--c);flex-shrink:0;width:22px;height:0}.edge-swatch.dashed{border-top-style:dashed}.palette-hint{margin:12px 14px 0;font-size:12px;line-height:1.45}.graph-empty{pointer-events:none;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.graph-empty p{margin:2px}.insp-section{border-bottom:1px solid var(--border);flex-direction:column;gap:9px;padding:2px 14px 16px;display:flex}.insp-section .panel-title{margin:14px 0 0}.insp-section label{color:var(--muted);flex-direction:column;gap:3px;font-size:12.5px;display:flex}.insp-section label input,.insp-section label select,.insp-section label textarea{color:var(--text);font-size:13.5px}.insp-section label.check{color:var(--text);flex-direction:row;align-items:flex-start;gap:7px}.insp-section label.check input{width:auto;margin-top:2px}.insp-section>button,.insp-group>button{align-self:flex-start}.insp-section>button.danger-text{background:0 0;border-color:#0000;padding-left:0}.panel-title-row{justify-content:space-between;align-items:center;gap:8px;margin-top:12px;display:flex}.panel-title-row .panel-title{margin:0}.node-head{align-items:center;gap:6px;display:flex}.node-head code{text-transform:none;letter-spacing:0}.insp-group{flex-direction:column;gap:5px;display:flex}.insp-label{color:var(--muted);font-size:12.5px}.ref-list,.neighbors,.type-summary,.issues{flex-direction:column;gap:3px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.ref-list li{word-break:break-all;justify-content:space-between;align-items:center;gap:6px;display:flex}.missing-ref{color:var(--danger);text-underline-offset:3px;-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.neighbors button.link{color:var(--text)}.type-summary li{align-items:center;gap:6px;display:flex}.count-right{margin-left:auto}.edge-ends{margin:0}.check-panel{background:var(--surface)}.ok-text{color:var(--ok);margin:0}.issues li{border-radius:6px;flex-direction:column;gap:5px;padding:7px 9px;display:flex}.issue-nodes{flex-wrap:wrap;gap:4px;display:flex}.chip-btn{background:var(--surface);color:var(--text);white-space:normal;text-align:left;border-radius:999px;padding:1px 8px;font-size:12px}.gnode{background:var(--surface);border:1px solid var(--border);border-top:4px solid var(--node-color);width:220px;color:var(--text);border-radius:8px;padding:0 0 8px;font-size:12.5px;line-height:1.35;box-shadow:0 1px 3px #0000001f}.gnode.selected{outline:2px solid var(--node-color);outline-offset:1px}.gnode.has-issue{box-shadow:0 0 0 3px color-mix(in srgb, var(--danger) 55%, transparent)}.gnode.role-start{border-radius:14px 14px 8px 8px}.gnode.role-end{border-bottom:4px solid var(--node-color)}.gnode.role-entity{border-style:solid dashed dashed}.gnode.role-note{background:color-mix(in srgb, var(--warn-bg) 70%, var(--surface));border-top-color:var(--warn);box-shadow:none}.gnode-type{text-transform:uppercase;letter-spacing:.04em;color:color-mix(in srgb, var(--node-color) 75%, var(--text));justify-content:space-between;gap:6px;padding:4px 10px 0;font-size:10.5px;font-weight:600;display:flex}.gnode-id{font-family:var(--mono);text-transform:none;color:var(--muted);font-weight:400}.gnode-title{overflow-wrap:break-word;padding:2px 10px 0;font-size:13.5px;font-weight:650}.gnode-text{color:var(--muted);-webkit-line-clamp:3;white-space:pre-line;-webkit-box-orient:vertical;padding:3px 10px 0;display:-webkit-box;overflow:hidden}.gnode-fields{flex-direction:column;gap:1px;margin:5px 10px 0;display:flex}.gnode-fields div{gap:5px;display:flex}.gnode-fields dt{color:var(--muted);flex-shrink:0}.gnode-fields dt:after{content:":"}.gnode-fields dd{text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.gnode-refs{color:var(--accent);text-overflow:ellipsis;white-space:nowrap;margin:5px 10px 0;font-size:11.5px;overflow:hidden}.graph-canvas .react-flow{--xy-background-color:var(--bg);--xy-background-pattern-dots-color-default:color-mix(in srgb, var(--muted) 45%, transparent);--xy-edge-label-background-color:var(--surface);--xy-edge-label-color:var(--muted);--xy-handle-background-color:var(--surface);--xy-handle-border-color:var(--muted);--xy-minimap-background-color:var(--surface);--xy-minimap-mask-background-color:color-mix(in srgb, var(--bg) 70%, transparent);--xy-controls-button-background-color:var(--surface);--xy-controls-button-background-color-hover:var(--surface-2);--xy-controls-button-color:var(--text);--xy-controls-button-border-color:var(--border);--xy-selection-background-color:color-mix(in srgb, var(--accent) 12%, transparent);--xy-selection-border:1px dotted var(--accent)}.graph-canvas .react-flow__node-card{background:0 0;border:0;padding:0}.graph-canvas .react-flow__handle{border-width:2px;width:10px;height:10px}.graph-canvas .react-flow__handle:hover,.graph-canvas .react-flow__handle.connectingto{background:var(--accent);border-color:var(--accent)}.graph-canvas .react-flow__edge-text{font-size:11px}.graph-canvas .edge-labeled .react-flow__edge-text{fill:var(--text);font-weight:600}.graph-canvas .react-flow__edge-textbg{fill:var(--surface)}.graph-canvas .react-flow__minimap{border:1px solid var(--border);border-radius:6px}.graph-body.readonly .react-flow__handle{visibility:hidden}@media (width<=1100px){.graph-palette{width:150px}.graph-inspector{width:250px}}@media (width<=860px){.graph-body{flex-direction:column}.graph-palette,.graph-inspector{border:0;border-bottom:1px solid var(--border);width:auto;max-height:30vh}.graph-canvas{min-height:50vh}.users-table thead{display:none}.users-table tr{border-bottom:1px solid var(--border);grid-template-columns:1fr auto;display:grid}.users-table td{border:0}}.page-head .filters{flex-wrap:wrap;padding:0}.nav-links a .nav-counts{gap:4px;margin-left:auto;display:inline-flex}button.has-unread{border-color:var(--warn)}.grow{flex:1}.q-card.focused{border-color:var(--accent)}.q-card-discussion{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.discussion{flex-direction:column;gap:12px;display:flex}.comments{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.comment{align-items:flex-start;gap:10px;display:flex}.comment .avatar.small{border:0;margin-top:2px}.comment.mine .avatar{background:var(--accent);color:var(--on-accent)}.comment-main{flex:1;min-width:0}.comment-head{flex-wrap:wrap;align-items:baseline;gap:8px;font-size:13px;display:flex}.comment-actions{gap:10px;margin-left:auto;font-size:12px;display:inline-flex}.comment-text.markdown{margin-top:2px}.comment-text.markdown p{margin:.25em 0}.comment.deleted .comment-text{margin:2px 0 0;font-style:italic}.comment-edit{flex-direction:column;gap:6px;margin-top:4px;display:flex}.comment-new{flex-direction:column;gap:6px;display:flex}.comment-new .row-end{flex-wrap:nowrap;align-items:flex-start}.discussion-q{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px;display:flex}.answer-discussion{border-top:1px solid var(--border);margin-top:14px;padding-top:10px}.answer-discussion summary{cursor:pointer;margin-bottom:10px;font-weight:600}.graph-canvas .react-flow__viewport-portal{z-index:-1;pointer-events:none}.lane-band{background:color-mix(in srgb, var(--accent) 6%, transparent);border:1px dashed color-mix(in srgb, var(--accent) 30%, transparent);border-radius:12px;position:absolute}.lane-band.odd{background:color-mix(in srgb, var(--accent) 11%, transparent)}.lane-band.unknown{background:color-mix(in srgb, var(--warn) 9%, transparent);border-color:color-mix(in srgb, var(--warn) 40%, transparent)}.lane-label{letter-spacing:.04em;text-transform:uppercase;color:color-mix(in srgb, var(--accent) 70%, var(--text));white-space:nowrap;font-size:13px;font-weight:700;position:absolute;top:8px;left:12px}.lane-band.unknown .lane-label{color:var(--warn)}.insp-group.calc{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:10px 12px}.calc-line{margin:0;font-size:13px}.calc-head{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-top:4px;font-size:11.5px;font-weight:600}.calc-list{flex-direction:column;gap:2px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.calc-list li{justify-content:space-between;gap:8px;display:flex}.calc-list li.calc-recipe{flex-direction:column;gap:0}.calc-list button.link{color:var(--text)}.insp-section label.calc-qty{flex-direction:row;justify-content:space-between;align-items:center;gap:8px}.calc-qty input{width:90px}.calc-warn{color:var(--warn);margin:4px 0 0;font-size:12.5px}.fields-editor{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.field-row{align-items:center;gap:4px;width:100%;display:flex}.field-row input{flex:1;min-width:120px}.field-row select{width:auto}@media (width<=1100px){.side-panel{display:none}}@media (width<=860px){.nav-toggle{display:inline-flex}.brand .muted{display:none}.topbar{gap:8px;padding:0 10px}.sidebar{z-index:80;box-shadow:var(--shadow);transition:transform .2s;position:fixed;top:52px;bottom:0;left:0;transform:translate(-105%)}.nav-open .sidebar{transform:none}.nav-open .nav-scrim{z-index:70;background:#0000004d;display:block;position:fixed;inset:52px 0 0}.mode-split{flex-direction:column}.mode-split .pane-editor{border-right:0;border-bottom:1px solid var(--border)}.markdown{padding:16px 16px 80px 20px}.markdown .ln{display:none}.answer-layout,.image-compare{grid-template-columns:1fr}.page,.summary{padding:16px 16px 60px}}@media (width<=560px){.search-box{display:none}.topbar-actions button:not(.icon-btn){padding:5px 9px}}.update-bar{background:var(--info-bg);color:var(--info);border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;padding:6px 16px;font-size:13px;display:flex}
