:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Noto Sans Armenian,sans-serif;--bg: #fafafa;--fg: #1a1a1a;--muted: #6b6b6b;--line: #e4e4e4;--card: #ffffff;--primary: #2b5d3b;--primary-fg: #ffffff;--err-bg: #ffeaea;--err-fg: #8a1f1f;color-scheme:light dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);min-height:100vh;font-size:15px;line-height:1.5}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.app{display:flex;flex-direction:column;min-height:100vh}.nav{display:flex;align-items:center;gap:1.5rem;padding:.8rem 1.5rem;border-bottom:1px solid var(--line);background:var(--card)}.nav nav{display:flex;gap:1rem;flex:1}.nav nav a{color:var(--muted)}.nav nav a.active{color:var(--fg);font-weight:600}.nav-right{display:flex;gap:.8rem;align-items:center}.brand{font-size:1.2rem;font-weight:700;color:var(--fg)}.who{color:var(--muted);font-size:.9rem}button,.btn-primary{font:inherit;padding:.5rem 1rem;border-radius:6px;border:1px solid var(--line);background:var(--card);color:var(--fg);cursor:pointer}button:hover{border-color:var(--muted)}button:disabled{opacity:.5;cursor:not-allowed}.btn-primary,button.btn-primary{background:var(--primary);color:var(--primary-fg);border-color:var(--primary)}.btn-primary:hover{opacity:.9;text-decoration:none}.main{flex:1;padding:2rem 1.5rem;display:flex;justify-content:center}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:1.5rem;width:100%;max-width:900px}.card.narrow{max-width:420px}.card h1{margin-top:0}.form{display:flex;flex-direction:column;gap:1rem}.form label{display:flex;flex-direction:column;gap:.3rem}.form label span{font-size:.85rem;color:var(--muted)}.form input,.form select{font:inherit;padding:.5rem .7rem;border-radius:6px;border:1px solid var(--line);background:var(--card);color:var(--fg)}.form input:focus,.form select:focus{outline:2px solid var(--primary);outline-offset:-2px}.form small{color:var(--muted);font-size:.75rem}.form-foot{display:flex;justify-content:space-between;margin-top:1rem}.form-row{display:flex;gap:.6rem;margin:1rem 0;align-items:center}.form-row input,.form-row select{font:inherit;padding:.5rem .7rem;border-radius:6px;border:1px solid var(--line);background:var(--card);color:var(--fg)}.err{background:var(--err-bg);color:var(--err-fg);padding:.6rem .8rem;border-radius:6px;font-size:.9rem}.table{width:100%;border-collapse:collapse;margin-top:1rem}.table th,.table td{padding:.6rem .8rem;border-bottom:1px solid var(--line);text-align:left}.table th{color:var(--muted);font-weight:600;font-size:.85rem;text-transform:uppercase}.actions{display:flex;gap:.4rem}.persons{list-style:none;padding:0;display:grid;gap:.4rem;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.persons li{padding:.6rem .8rem;border:1px solid var(--line);border-radius:6px;background:var(--bg)}.share-wrap{max-width:900px;margin:0 auto;padding:2rem 1.5rem}.share-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:1.5rem}@media(prefers-color-scheme:dark){:root{--bg: #0d1117;--fg: #e6edf3;--muted: #8b949e;--line: #30363d;--card: #161b22;--primary: #4a8a5e;--err-bg: #3d1d1d;--err-fg: #ffb3b3}}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.page-head h1{margin:0}.muted{color:var(--muted)}label.checkbox{flex-direction:row;align-items:center;gap:.4rem}fieldset.names{border:1px solid var(--line);border-radius:8px;padding:.8rem}fieldset.names legend{padding:0 .5rem;color:var(--muted);font-size:.85rem}.relations-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1rem}.rel-block{border:1px solid var(--line);border-radius:8px;padding:.8rem;background:var(--bg)}.rel-block header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.rel-block ul{list-style:none;padding:0;margin:0}.rel-block li{display:flex;justify-content:space-between;padding:.3rem 0;align-items:center}button.icon{background:transparent;border:none;padding:0 .4rem;cursor:pointer;color:var(--muted)}button.icon:hover{color:var(--err-fg)}.picker{border:1px solid var(--line);border-radius:8px;padding:1rem;margin-top:1rem;background:var(--bg)}.picker-tabs{display:flex;gap:.5rem;margin-bottom:.8rem}.picker-tabs button.active{background:var(--primary);color:var(--primary-fg);border-color:var(--primary)}.picker-results{list-style:none;padding:0;margin:0}.picker-results li button{width:100%;text-align:left;margin-top:.3rem}pre.diff{background:var(--bg);border-radius:6px;padding:.5rem;margin:0;font-size:.75rem;max-width:400px;overflow-x:auto}.tree-page{width:100%;max-width:1400px;display:flex;flex-direction:column;gap:1rem}.tree-toolbar{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.tree-search{position:relative;min-width:280px}.tree-search input{width:100%;font:inherit;padding:.5rem .7rem;border-radius:6px;border:1px solid var(--line);background:var(--card);color:var(--fg)}.tree-search .picker-results{position:absolute;top:100%;left:0;right:0;margin-top:.2rem;background:var(--card);border:1px solid var(--line);border-radius:6px;z-index:10;max-height:240px;overflow-y:auto}.tree-actions{display:flex;gap:.5rem;align-items:center}.tree-actions .btn{padding:.5rem 1rem;border-radius:6px;border:1px solid var(--line);background:var(--card);color:var(--fg)}.graph-canvas{width:100%;height:calc(100vh - 200px);min-height:500px;background-color:var(--bg);background-image:radial-gradient(rgba(148,163,184,.18) 1px,transparent 1px);background-size:20px 20px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.graph-controls{display:flex;gap:.5rem}.photo-upload{display:flex;flex-direction:column;gap:.4rem;align-items:center}.photo-frame{width:120px;height:120px;border-radius:50%;border:1px solid var(--line);background:var(--bg);overflow:hidden;display:flex;align-items:center;justify-content:center}.photo-frame img{width:100%;height:100%;object-fit:cover}.photo-placeholder{color:var(--muted);font-size:.8rem}.photo-upload button{font-size:.8rem;padding:.3rem .6rem}.photo-buttons{display:flex;gap:.4rem}.photo-buttons button.danger{color:var(--err-fg);border-color:var(--err-bg)}.photo-buttons button.danger:hover{background:var(--err-bg)}.form textarea{font:inherit;padding:.5rem .7rem;border-radius:6px;border:1px solid var(--line);background:var(--card);color:var(--fg);resize:vertical;min-height:100px}.form textarea:focus{outline:2px solid var(--primary);outline-offset:-2px}.description{white-space:pre-wrap;background:var(--bg);padding:1rem;border-radius:8px;border:1px solid var(--line);line-height:1.55}
