@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,600;9..144,700&family=Work+Sans:wght@400;500;600&family=Noto+Sans+Telugu:wght@400;500;600;700&family=Noto+Serif+Telugu:wght@500;700&display=swap";body{margin:0}:root{--bg:#1f1b16;--surface:#2a2419;--surface-raised:#362e22;--border:#4a3f2e;--gold:#c89b3c;--gold-soft:#8b7038;--teal:#5b8c7b;--maroon:#a8483f;--text:#f1e6d3;--text-muted:#b3a594}*{box-sizing:border-box}.wrap{background:var(--bg);color:var(--text);background-image:radial-gradient(circle at 15% 0,#c89b3c12,#0000 45%),radial-gradient(circle at 90% 20%,#5b8c7b0f,#0000 40%);min-height:100vh;padding:32px 20px 60px;font-family:Work Sans,sans-serif}.telugu{font-family:Noto Serif Telugu,serif}.telugu-ui{font-family:Noto Sans Telugu,sans-serif}.header{max-width:1600px;margin:0 auto 28px}.eyebrow{color:var(--gold);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-family:Noto Sans Telugu,sans-serif;font-size:13px}h1{color:var(--text);margin:0 0 6px;font-family:Fraunces,serif;font-size:34px;font-weight:700}.sub{color:var(--text-muted);max-width:620px;font-size:15px;line-height:1.5}.save-indicator{color:var(--teal);margin-top:10px;font-size:12.5px}.share-panel{background:var(--surface);border:1px solid var(--gold-soft);border-radius:10px;max-width:640px;margin-top:10px;padding:12px 14px}.share-panel-label{color:var(--text-muted);margin-bottom:8px;font-size:12.5px}.share-panel-row{gap:8px;display:flex}.share-panel-row input{background:var(--surface-raised);border:1px solid var(--border);color:var(--text);border-radius:8px;flex:1;padding:8px 10px;font-size:13px}.share-panel-row select{background:var(--surface-raised);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:8px 10px;font-size:13px}.invite-error{color:var(--maroon);margin-top:8px;font-size:12.5px}.share-panel-hint{color:var(--text-muted);margin-top:8px;font-size:12px}.container{flex-direction:column;gap:28px;max-width:1600px;margin:0 auto;display:flex}.panel{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:22px}.panel-title{color:var(--text);align-items:center;gap:8px;margin:0 0 14px;font-family:Fraunces,serif;font-size:19px;font-weight:600;display:flex}.empty-state{text-align:center;padding:40px 20px}.empty-state p{color:var(--text-muted);margin-bottom:18px}input{background:var(--surface-raised);border:1px solid var(--border);width:100%;color:var(--text);border-radius:8px;margin-bottom:10px;padding:10px 12px;font-family:Work Sans,sans-serif;font-size:14px}input:focus{border-color:var(--gold-soft);outline:none}select{background:var(--surface-raised);border:1px solid var(--border);color:var(--text);border-radius:8px;width:100%;padding:10px 12px;font-family:Work Sans,sans-serif;font-size:14px}.gender-toggle{gap:8px;margin-bottom:10px;display:flex}.gender-toggle button{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;flex:1;padding:8px;font-size:13px}.gender-toggle button.active{background:var(--gold-soft);color:var(--bg);border-color:var(--gold-soft);font-weight:600}.btn-gold{background:var(--gold);color:#1f1b16;cursor:pointer;border:none;border-radius:8px;padding:9px 18px;font-size:14px;font-weight:600}.btn-gold:disabled{opacity:.4;cursor:not-allowed}.btn-ghost{color:var(--text-muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:8px;padding:9px 16px;font-size:14px}.btn-outline{border:1px solid var(--gold-soft);color:var(--gold);cursor:pointer;background:0 0;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:600}.add-form{background:var(--surface-raised);border:1px solid var(--border);border-radius:10px;margin-top:10px;padding:14px}.add-form-title{color:var(--gold);margin-bottom:10px;font-size:13px;font-weight:600}.add-form-actions{justify-content:flex-end;gap:8px;display:flex}.gen-row{margin-bottom:56px}.tree-container{padding-bottom:4px;position:relative;overflow-x:auto}.connector-svg{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.connector-path{fill:none;stroke-width:2px;opacity:.75;transition:opacity .15s,stroke-width .15s}.connector-path.gender-M{stroke:var(--teal)}.connector-path.gender-F{stroke:var(--maroon)}.connector-dot{transition:opacity .15s,r .15s}.connector-dot.gender-M{fill:var(--teal)}.connector-dot.gender-F{fill:var(--maroon)}.connector-group.dimmed .connector-path{opacity:.12}.connector-group.dimmed .connector-dot{opacity:.15}.connector-group.active .connector-path{opacity:1;stroke-width:3px}.connector-group.active .connector-dot{opacity:1}.connector-legend{color:var(--text-muted);align-items:center;gap:18px;margin:4px 0 14px;font-size:12px;display:flex}.connector-legend span{align-items:center;gap:6px;display:inline-flex}.connector-legend .swatch{width:18px;height:2px;display:inline-block}.connector-legend .swatch.M{background:var(--teal)}.connector-legend .swatch.F{background:var(--maroon)}.gen-label{align-items:center;gap:10px;margin-bottom:14px;display:flex}.gen-numeral{color:var(--gold);border:1px solid var(--gold-soft);background:#c89b3c1f;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-family:Noto Serif Telugu,serif;font-size:15px;display:flex}.gen-line{background:var(--border);flex:1;height:1px}.gen-text{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px}.tree-row{align-items:flex-start;display:flex}.unit-slot{justify-content:center;display:flex}.person-pair{align-items:center;gap:10px;display:flex}.marriage-icon{color:var(--gold);opacity:.85;flex-shrink:0;justify-content:center;align-items:center;display:flex}.person-wrap{position:relative}.cards{flex-wrap:wrap;gap:12px;display:flex}.panel-title-row{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.panel-title-actions{align-items:center;gap:10px;display:flex}.zoom-controls{border:1px solid var(--border);border-radius:20px;align-items:center;gap:2px;padding:3px;display:flex}.zoom-btn{color:var(--gold);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:16px;line-height:1;display:flex}.zoom-btn:hover:not(:disabled){background:#c89b3c26}.zoom-btn:disabled{opacity:.35;cursor:not-allowed}.zoom-btn.zoom-reset{width:auto;color:var(--text-muted);border-radius:14px;padding:0 8px;font-size:11.5px}.tree-zoom-wrapper{display:inline-block}@media (width<=640px){.zoom-btn{width:36px;height:36px;font-size:19px}.zoom-btn.zoom-reset{width:auto;padding:0 10px;font-size:13px}}.compact-toggle{border:1px solid var(--gold-soft);color:var(--gold);cursor:pointer;background:0 0;border-radius:20px;padding:6px 14px;font-size:12.5px}.compact-hint{color:var(--text-muted);margin-bottom:14px;font-size:12px}.focus-banner{border:1px solid var(--gold-soft);color:var(--text);background:#c89b3c1a;border-radius:10px;margin-bottom:14px;padding:10px 14px;font-size:13px}.focus-clear-btn{background:var(--gold);color:#1f1b16;cursor:pointer;border:none;border-radius:20px;margin-left:6px;padding:4px 12px;font-size:12px;font-weight:600}.chip.chip-focus{border-color:var(--gold-soft);color:var(--gold)}.person-pill.placeholder{visibility:hidden;pointer-events:none}.person-pill{background:var(--surface-raised);border:1px solid var(--border);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:20px;align-items:center;padding:8px 14px;font-family:Fraunces,serif;font-size:13.5px;font-weight:600;display:flex}.person-pill:hover{border-color:var(--gold-soft)}.person-pill .gender-dot{margin-right:6px}.person-card.floating{z-index:40;position:absolute;top:calc(100% + 8px);left:50%;box-shadow:0 12px 32px #00000073}.collapse-btn{color:var(--text-muted);cursor:pointer;opacity:.6;background:0 0;border:none;position:absolute;top:10px;right:36px}.collapse-btn:hover{opacity:1}.spouse-edit-label{color:var(--gold);text-transform:uppercase;letter-spacing:.05em;margin:4px 0 6px;font-size:11.5px}.spouse-edit-empty{color:var(--text-muted);margin-bottom:8px;font-size:12.5px}.spouse-edit-row{background:var(--surface);border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:6px;padding:6px 10px;font-size:13px;display:flex}.spouse-remove-btn{color:var(--maroon);cursor:pointer;background:0 0;border:none;font-size:12px}.spouse-add-row{gap:8px;margin-bottom:6px;display:flex}.spouse-add-row select{margin-bottom:0}.spouse-add-hint{color:var(--text-muted);margin-bottom:10px;font-size:11.5px}.person-card{background:var(--surface-raised);border:1px solid var(--border);border-radius:12px;width:230px;padding:14px;position:relative}.person-card .name-row{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.person-card .name{font-family:Fraunces,serif;font-size:17px;font-weight:600}.gender-dot{border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.gender-dot.M{background:var(--teal)}.gender-dot.F{background:var(--maroon)}.meta{color:var(--text-muted);margin-bottom:10px;font-size:12px;line-height:1.5}.card-actions{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:20px;padding:4px 9px;font-size:11px}.chip:hover{border-color:var(--gold-soft);color:var(--gold)}.del-btn{color:var(--text-muted);cursor:pointer;opacity:.5;background:0 0;border:none;position:absolute;top:10px;right:10px}.del-btn:hover{opacity:1;color:var(--maroon)}.finder-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.finder-field{flex:1;min-width:180px;position:relative}.person-picker{position:relative}.person-picker input{background:var(--surface-raised);border:1px solid var(--border);width:100%;color:var(--text);border-radius:8px;padding:10px 12px;font-family:Work Sans,sans-serif;font-size:14px}.person-picker input:focus{border-color:var(--gold-soft);outline:none}.person-picker-list{background:var(--surface-raised);border:1px solid var(--gold-soft);z-index:50;border-radius:8px;max-height:260px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 12px 32px #00000073}.person-picker-option{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;padding:9px 12px;font-size:13.5px;display:block}.person-picker-option.active{background:#c89b3c26}.person-picker-option.selected{color:var(--gold);font-weight:600}.person-picker-empty{color:var(--text-muted);padding:9px 12px;font-size:13px}.finder-field label{color:var(--text-muted);margin-bottom:6px;font-size:12px;display:block}.result-card{border:1px solid var(--gold-soft);background:linear-gradient(135deg,#c89b3c1a,#5b8c7b0f);border-radius:12px;margin-top:18px;padding:22px}.result-term{color:var(--gold);margin-bottom:4px;font-family:Noto Serif Telugu,serif;font-size:32px;font-weight:700}.result-en{color:var(--text);margin-bottom:10px;font-size:15px}.result-note{color:var(--text-muted);margin-bottom:10px;font-size:13px;font-style:italic}.result-chain{color:var(--text-muted);border-top:1px solid var(--border);padding-top:10px;font-size:12.5px}.fallback-badge{color:var(--maroon);border:1px solid var(--maroon);border-radius:20px;margin-bottom:8px;padding:2px 9px;font-size:11px;display:inline-block}.footer-note{text-align:center;color:var(--text-muted);margin-top:10px;font-size:12.5px;line-height:1.6}@media (width<=640px){.chip{padding:9px 14px;font-size:13px}.person-pill{padding:11px 16px;font-size:14.5px}.btn-gold,.btn-ghost,.btn-outline,.compact-toggle,.focus-clear-btn{padding:11px 18px;font-size:14px}.del-btn,.collapse-btn{padding:6px}.gender-toggle button{padding:12px}.wrap{padding:20px 12px 60px}}
