:root{--bg:#f4f6f8;--surface:#ffffff;--ink:#15202b;--muted:#5b6b7c;--accent:#0b6e4f;--accent-2:#1b9aaa;--line:#d7dee6;--danger:#b42318;--radius:12px;--font:"Segoe UI","IBM Plex Sans",system-ui,sans-serif;--mono:"IBM Plex Mono",ui-monospace,monospace}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%;font-family:var(--font);color:var(--ink);background:radial-gradient(1200px 500px at 10% -10%,#d8f3ec 0,transparent 55%),radial-gradient(900px 400px at 100% 0,#d7eef5 0,transparent 50%),var(--bg)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.5rem;border-bottom:1px solid var(--line);background:rgba(255,255,255,.85);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:-webkit-sticky;position:sticky;top:0;z-index:20}.brand{font-weight:700;color:var(--ink);letter-spacing:-.02em}.brand span{color:var(--accent)}.topbar nav{display:flex;gap:1rem}.container{width:min(1100px,calc(100% - 2rem));margin:1.5rem auto 3rem}h1,h2,h3{letter-spacing:-.02em}.muted{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:1rem;gap:1rem}.card{display:block;padding:1.1rem 1.2rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:inherit;transition:border-color .15s,transform .15s}.card:hover{border-color:var(--accent-2);transform:translateY(-1px);text-decoration:none}.card h2{margin:0 0 .4rem;font-size:1.1rem}.layout-split{display:grid;grid-template-columns:260px 1fr;grid-gap:1.25rem;gap:1.25rem}@media (max-width:860px){.layout-split{grid-template-columns:1fr}}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:1rem}.tree a{display:block;padding:.35rem .4rem;border-radius:8px;color:var(--ink)}.tree a.active,.tree a:hover{background:#e8f6f1;text-decoration:none}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;padding:.45rem .85rem;font:inherit;cursor:pointer}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-danger{color:var(--danger);border-color:#f0c2bd}.toolbar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.editor{min-height:280px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:1rem}.editor .ProseMirror{outline:none;min-height:240px}.editor .ProseMirror p.is-editor-empty:first-child:before{color:#9aa7b5;content:attr(data-placeholder);float:left;height:0;pointer-events:none}.editor pre,.wiki-code{background:#0f1720;color:#e8eef5;padding:.75rem 1rem;border-radius:8px;overflow:auto;font-family:var(--mono);font-size:.9rem}.editor img,.wiki-image{max-width:100%;border-radius:8px}.input,.textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:.55rem .75rem;font:inherit;background:#fff}.textarea{min-height:80px;resize:vertical}.stack{display:flex;flex-direction:column;gap:.75rem}.comment{border-top:1px solid var(--line);padding:.75rem 0}.badge{display:inline-block;padding:.15rem .45rem;border-radius:999px;background:#e8f6f1;color:var(--accent);font-size:.75rem}.table{width:100%;border-collapse:collapse}.table td,.table th{text-align:left;padding:.5rem;border-bottom:1px solid var(--line);font-size:.92rem}.diff-added{background:#e7f8ef}.diff-removed{background:#fdecea}