:root{color:#23372c;font-synthesis:none;--panel:#fff;--muted:#65756a;--line:#dbe3dc;--accent:#235e42;--soft:#eaf2e9;--bg:#f5f6f3;background:#f5f6f3;font-family:Inter,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;font-size:14px;line-height:1.55}button,input,select,textarea{font:inherit;color:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.55;cursor:default}a{color:var(--accent);text-underline-offset:3px}button,input,select,textarea{border:1px solid var(--line);background:var(--panel);border-radius:7px;padding:9px 12px}button:hover{border-color:var(--accent)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.danger{color:#a72f35}button.link{color:var(--accent);text-align:left;background:0 0;border:0;padding:3px 0}h1,h2,h3,p{margin:0}h1{letter-spacing:-1px;font-size:32px;font-weight:580;line-height:1.2}h2{letter-spacing:-.4px;font-size:21px;font-weight:570}h3{font-size:15px;font-weight:600}small,.muted{color:var(--muted)}small{font-size:12px}header{border-bottom:1px solid var(--line);background:var(--panel);align-items:center;gap:14px;height:72px;padding:0 30px;display:flex}.brand{letter-spacing:-.5px;color:inherit;align-items:center;gap:10px;font-size:20px;font-weight:600;text-decoration:none;display:flex}.brand i{text-align:center;background:var(--accent);color:#fff;border-radius:8px;width:32px;height:35px;font-family:Georgia,serif;font-size:29px;font-style:normal;line-height:35px}.header-right{align-items:center;gap:15px;margin-left:auto;display:flex}.shell{grid-template-columns:190px minmax(0,1fr);min-height:calc(100vh - 72px);display:grid}aside.nav{background:var(--panel);border-right:1px solid var(--line);padding:26px 14px}.workspace{padding:0 12px 25px;font-weight:550}.workspace small{margin-top:3px;font-weight:400;display:block}.nav a{color:inherit;border-radius:7px;align-items:center;gap:10px;margin:3px 0;padding:11px 12px;font-size:13px;text-decoration:none;display:flex}.nav a.active{background:var(--soft);color:var(--accent);font-weight:600}.nav .nav-label{letter-spacing:1px;color:var(--muted);padding:25px 12px 9px;font-size:10px}.nav-icon{text-align:center;width:18px}.main{width:100%;min-width:0;max-width:1400px;padding:34px}.eyebrow{color:var(--muted);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:14px;font-size:11px}.page-head{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:28px;display:flex}.page-head p{color:var(--muted);max-width:650px;margin-top:12px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:9px}.pad{padding:23px}.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.two{grid-template-columns:1fr 1fr;gap:22px;display:grid}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.between{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.gap{margin-top:24px}.space{margin-top:14px}.badge{background:var(--soft);color:var(--accent);border-radius:5px;padding:3px 8px;font-size:11px;display:inline-block}.badge.warn{color:#875a12;background:#faf0d9}.badge.gray{background:var(--bg);color:var(--muted)}.collection{color:inherit;flex-direction:column;align-items:flex-start;min-height:210px;padding:24px;text-decoration:none;display:flex}.collection:hover{border-color:var(--accent)}.collection .monogram{background:var(--soft);width:40px;height:40px;color:var(--accent);border-radius:8px;place-items:center;margin-bottom:20px;font:24px Georgia,serif;display:grid}.collection p{color:var(--muted);margin:8px 0 20px;font-size:13px}.collection small{margin-top:auto}.searchbar{gap:9px;margin:25px 0;display:flex}.searchbar input{width:100%}.empty{text-align:center;border:1px dashed var(--line);color:var(--muted);border-radius:8px;padding:40px 24px}.empty h2{color:#23372c;margin-bottom:10px}.notice{background:var(--soft);color:var(--accent);border-radius:7px;padding:13px 16px;font-size:13px}.notice.warn{color:#875a12;background:#faf0d9}.error{color:#912b31;white-space:pre-wrap;overflow-wrap:anywhere;background:#fcebea;border-radius:7px;padding:14px}.form label{margin-bottom:16px;font-size:12px;font-weight:550;display:block}.form input:not([type=checkbox]),.form select,.form textarea{width:100%;margin-top:7px;font-size:14px;font-weight:400;display:block}.form input[type=checkbox]{accent-color:var(--accent);margin-right:7px}.form textarea{resize:vertical;min-height:200px;font:13px/1.6 ui-monospace,Consolas,monospace}.form small{margin-top:6px;font-weight:400;display:block}.list-row{border-bottom:1px solid var(--line);padding:16px 0}.list-row:last-child{border:0}.list-row p{color:var(--muted);margin-top:5px;font-size:13px}.reader{grid-template-columns:210px minmax(0,1fr);display:grid}.tree{border-right:1px solid var(--line);padding:19px 13px}.tree button{text-align:left;overflow-wrap:anywhere;background:0 0;border:0;border-radius:5px;width:100%;padding:10px;font-size:12px;display:block}.tree button.selected{background:var(--soft);color:var(--accent)}.article{min-width:0;padding:30px}.article-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:26px;display:flex}.prose{overflow-wrap:anywhere;font-size:15px;line-height:1.75}.prose h1{margin:20px 0;font-size:29px}.prose h2{margin:28px 0 12px}.prose h3{margin:22px 0 9px}.prose p,.prose ul,.prose ol{margin:14px 0}.prose img{max-width:100%;height:auto}.prose table{border-collapse:collapse;max-width:100%;display:block;overflow:auto}.prose th,.prose td{border:1px solid var(--line);padding:8px}.prose blockquote{border-left:3px solid var(--accent);color:var(--muted);margin:20px 0;padding:3px 16px}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--bg);border:1px solid var(--line);border-radius:7px;padding:17px;font:12px/1.65 ui-monospace,Consolas,monospace}code{font-family:ui-monospace,Consolas,monospace;font-size:.88em}.mermaid-result{background:#fff;border-radius:6px;max-width:100%;padding:14px;overflow:auto}.mermaid-result svg{max-width:100%;height:auto}.tabs{border-bottom:1px solid var(--line);gap:18px;margin-bottom:20px;display:flex}.tabs button{background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;padding:10px 0}.tabs button.selected{border-bottom-color:var(--accent);color:var(--accent)}.architecture{grid-template-columns:minmax(0,1fr) 285px;gap:20px;display:grid}.components{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.component{text-align:left;padding:16px}.component.selected{background:var(--soft);border-color:var(--accent)}.component small{margin-top:6px;display:block}.evidence{font-size:12px}.evidence p{margin:12px 0}.evidence code{overflow-wrap:anywhere}.edge{border-bottom:1px solid var(--line);align-items:flex-start;gap:8px;padding:10px 0;font-size:12px;display:flex}.edge input{margin-top:5px}.login{max-width:430px;margin:8vh auto;padding:30px}.login .brand{margin-bottom:30px}.login h1{font-size:28px}.login p{color:var(--muted);margin:12px 0 26px}dialog{border:1px solid var(--line);background:var(--panel);width:calc(100% - 32px);max-width:720px;color:inherit;border-radius:12px;padding:27px}dialog::backdrop{background:#132b2155}dialog h2{margin-bottom:22px}.toast{color:#fff;z-index:99;background:#234e3c;border-radius:8px;max-width:calc(100% - 48px);padding:13px 19px;position:fixed;bottom:24px;right:24px;box-shadow:0 8px 25px #102a2222}.embed-shell{max-width:1000px;margin:auto;padding:25px}.embed-footer{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:26px;padding-top:13px;font-size:12px;display:flex}.loading{text-align:center;color:var(--muted);padding:60px}[hidden]{display:none!important}@media (width<=1050px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.architecture,.two{grid-template-columns:1fr}.main{padding:26px}.reader{grid-template-columns:170px minmax(0,1fr)}}@media (width<=700px){header{padding:0 16px}.header-right small{display:none}.shell{grid-template-columns:1fr}.nav{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:5px;display:flex;border-right:0!important;padding:9px!important}.nav .workspace,.nav .nav-label{display:none}.nav a{padding:8px;font-size:12px}.main{padding:22px 16px}.grid{grid-template-columns:1fr}.page-head{flex-wrap:wrap}h1{font-size:28px}.reader{grid-template-columns:1fr}.tree{border-right:0;border-bottom:1px solid var(--line);flex-wrap:wrap;gap:5px;display:flex}.tree button{width:auto}.article{padding:20px}.login{margin:30px 16px}.collection{min-height:180px}.brand{font-size:18px}.form input:not([type=checkbox]),.form select,.form textarea{font-size:16px}}@media (pointer:coarse){button{min-height:44px}}
