:root{--obsidian: #050706;--obsidian-2: #0c100e;--obsidian-3: #141a17;--bone: #eae6da;--bone-dim: #b6b3a6;--bone-mid: #7a786d;--bone-faint: #4a4944;--verdigris: #7da68f;--verdigris-deep: #4a6e5b;--rule: #1e2421;--rule-soft: #131817;--serif-display: "Fraunces", "GT Sectra", Georgia, serif;--serif-body: "Spectral", "Lora", Georgia, serif;--mono: "JetBrains Mono", "IBM Plex Mono", ui-monospace, monospace}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--obsidian);color:var(--bone);font-family:var(--serif-body);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.shell{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;border-bottom:1px solid var(--rule);background:var(--obsidian-2)}.brand{font-family:var(--mono);font-size:.85rem;letter-spacing:.05em}.brand .tag{color:var(--verdigris)}.topbar nav{display:flex;gap:1.5rem;font-family:var(--mono);font-size:.78rem;text-transform:uppercase;letter-spacing:.15em;color:var(--bone-mid)}.topbar nav a:hover,.topbar nav a.active{color:var(--verdigris)}.user-cell{font-family:var(--mono);font-size:.75rem;color:var(--bone-mid);display:flex;align-items:center;gap:1rem}.user-cell button{background:none;border:1px solid var(--rule);color:var(--bone-mid);font-family:var(--mono);font-size:.7rem;padding:.4rem .7rem;cursor:pointer;letter-spacing:.1em;text-transform:uppercase}.user-cell button:hover{border-color:var(--verdigris);color:var(--verdigris)}.main{flex:1;padding:3rem 2rem}.section-title{font-family:var(--mono);font-size:.78rem;text-transform:uppercase;letter-spacing:.18em;color:var(--verdigris);margin-bottom:1rem}.rule{height:1px;background:var(--rule);margin:1rem 0 2rem}.stats-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;background:var(--rule);margin-bottom:3rem}.stat{background:var(--obsidian-2);padding:1.5rem;font-family:var(--mono)}.stat .value{font-size:2rem;color:var(--bone);font-weight:300;margin-bottom:.25rem}.stat .label{font-size:.72rem;color:var(--bone-mid);text-transform:uppercase;letter-spacing:.15em}.tree{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem 0}.tree-tier{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap}.tree-node{display:block;padding:1rem 1.25rem;border:1px solid var(--rule);background:var(--obsidian-2);min-width:12rem;transition:border-color .2s ease,transform .2s ease}.tree-node:hover{border-color:var(--verdigris);transform:translateY(-2px)}.tree-node .node-name{font-family:var(--serif-display);font-size:1.15rem;color:var(--bone);margin-bottom:.3rem}.tree-node .node-meta{font-family:var(--mono);font-size:.7rem;color:var(--bone-mid);letter-spacing:.12em;text-transform:uppercase}.tree-connector{width:1px;height:1.5rem;background:var(--rule)}.tier-label{font-family:var(--mono);font-size:.72rem;letter-spacing:.15em;color:var(--bone-mid);text-transform:uppercase;margin-right:1rem;align-self:center}.organ-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:2rem}.panel{border:1px solid var(--rule);background:var(--obsidian-2);padding:1.5rem}.panel h2{font-family:var(--mono);font-size:.78rem;text-transform:uppercase;letter-spacing:.15em;color:var(--verdigris);margin-bottom:1rem}.kv{display:grid;grid-template-columns:8rem 1fr;gap:.4rem 1rem;font-family:var(--mono);font-size:.85rem}.kv dt{color:var(--bone-mid)}.kv dd{color:var(--bone)}.plan-step{padding:.75rem;border-left:2px solid var(--rule);margin-bottom:.75rem;font-family:var(--mono);font-size:.82rem}.plan-step.current{border-left-color:var(--verdigris);background:#7da68f0f}.goal-row,.task-row,.note-row{padding:.85rem 0;border-bottom:1px solid var(--rule);font-family:var(--mono);font-size:.82rem}.goal-row:last-child,.task-row:last-child,.note-row:last-child{border-bottom:none}.status-chip{display:inline-block;padding:.15rem .55rem;background:var(--obsidian-3);border:1px solid var(--rule);color:var(--bone-mid);font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;margin-left:.5rem}.status-chip.active{border-color:var(--verdigris);color:var(--verdigris)}.status-chip.completed{color:var(--bone-mid)}.login{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--obsidian)}.login-card{border:1px solid var(--rule);background:var(--obsidian-2);padding:3rem;width:24rem}.login-card h1{font-family:var(--serif-display);font-size:2rem;font-weight:300;margin-bottom:.4rem}.login-card p{color:var(--bone-mid);font-size:.85rem;margin-bottom:1.6rem}.login-card input{width:100%;padding:.8rem;background:var(--obsidian);border:1px solid var(--rule);color:var(--bone);font-family:var(--mono);margin-bottom:1rem}.login-card input:focus{outline:none;border-color:var(--verdigris)}.login-card button{width:100%;padding:.8rem;background:var(--verdigris);border:none;color:var(--obsidian);font-family:var(--mono);font-size:.78rem;letter-spacing:.15em;text-transform:uppercase;cursor:pointer}.login-card button:hover{background:var(--verdigris-deep);color:var(--bone)}.login-card .err{color:#e88a8a;font-size:.8rem;margin-bottom:1rem}.empty{color:var(--bone-mid);font-style:italic;padding:1rem 0}.loading{color:var(--bone-mid);padding:4rem;font-family:var(--mono);font-size:.85rem}
