@import"https://fonts.googleapis.com/css2?family=Sora:wght@600;700;800&family=Inter:wght@400;500;600&display=swap";:root{--primary:#0066FF;--secondary:#00C2FF;--gradient:linear-gradient(135deg, var(--primary), var(--secondary));--bg:#0B132B;--panel:rgba(22,32,58,.65);--panel-solid:#131C36;--border:rgba(255,255,255,.08);--text:#EAF0FF;--text-muted:#8B9BC0;--input-bg:#0F1830;--male:#5B9BD8;--female:#E08CB0;--shadow:0 10px 30px rgba(0,0,0,.35)}:root[data-theme=light]{--bg:#F4F7FC;--panel:rgba(255,255,255,.75);--panel-solid:#ffffff;--border:rgba(15,23,42,.08);--text:#101828;--text-muted:#5B6B85;--input-bg:#ffffff;--male:#2563a8;--female:#c25d8a;--shadow:0 10px 30px rgba(11,19,43,.06)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,sans-serif;transition:background .25s ease,color .25s ease}a{color:var(--primary)}.theme-switch{display:flex;align-items:center;gap:8px;font-size:.78rem;color:var(--text-muted);margin-right:14px}.switch{position:relative;width:42px;height:24px;background:var(--border);border-radius:20px;cursor:pointer;transition:background .2s ease;flex-shrink:0}.switch.on{background:var(--gradient)}.switch .knob{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #00000040;transition:transform .2s ease}.switch.on .knob{transform:translate(18px)}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center}.auth-card{background:var(--panel-solid);padding:36px;border-radius:20px;box-shadow:var(--shadow);width:340px}.auth-card h1{font-family:Sora,sans-serif;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin:0}.auth-card .sub{color:var(--text-muted);margin-top:2px}.error-text{color:#ff6b6b;font-size:.85rem}.navbar{display:flex;align-items:center;justify-content:space-between;padding:14px 28px;background:var(--panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.logo{font-family:Sora,sans-serif;font-weight:800;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.navbar nav{display:flex;gap:18px}.navbar nav a{color:var(--text-muted);text-decoration:none;font-weight:500;font-size:.9rem}.navbar nav a.active{color:var(--primary)}.user-badge{color:var(--text-muted);font-size:.85rem;margin-right:12px}.app-main{padding:28px;max-width:1300px;margin:0 auto}fieldset{border:1px solid var(--border);border-radius:16px;padding:20px 24px;margin-bottom:20px;background:var(--panel)}legend{padding:0 10px;font-family:Sora,sans-serif;font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--primary)}label{display:block;font-size:.75rem;color:var(--text-muted);margin:10px 0 4px}input,select,textarea{width:100%;padding:9px 11px;border-radius:9px;border:1px solid var(--border);background:var(--input-bg);color:var(--text);font-family:inherit}textarea{min-height:60px}.row{display:flex;gap:16px;flex-wrap:wrap}.row>div{flex:1;min-width:180px}.btn{padding:10px 20px;border-radius:50px;font-weight:600;font-size:.85rem;cursor:pointer;border:none;text-decoration:none;display:inline-flex}.btn-primary{background:var(--gradient);color:#fff}.btn-secondary{background:transparent;border:1px solid var(--border);color:var(--primary)}.btn-delete{background:transparent;border:1px solid var(--border);color:var(--text-muted);border-radius:8px;padding:4px 9px;cursor:pointer;font-size:.85rem;text-decoration:none}.btn-delete:hover{color:#e0475f;border-color:#e0475f}table{width:100%;border-collapse:collapse;margin-bottom:30px;background:var(--panel-solid);border-radius:14px;overflow:hidden}th,td{padding:10px 12px;font-size:.85rem;border-bottom:1px solid var(--border);text-align:left}th{color:var(--primary);text-transform:uppercase;font-size:.7rem}.section-title{font-family:Sora,sans-serif;margin-top:28px}.muted{color:var(--text-muted);font-weight:400}.legend-note{color:var(--text-muted);font-size:.8rem}.feld-liste{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.feld-chip{background:var(--panel-solid);border:1px solid var(--border);border-radius:20px;padding:5px 12px;font-size:.78rem}.feld-chip button{border:none;background:none;color:var(--text-muted);cursor:pointer}.beteiligter-row{display:flex;justify-content:space-between;align-items:center;background:var(--panel-solid);border:1px solid var(--border);border-radius:10px;padding:8px 12px;margin-bottom:6px;font-size:.85rem}.tree-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.tree-toolbar select{width:auto}.stammbaum-layout{display:flex;gap:18px;align-items:flex-start}.tree-canvas-wrap{flex:1;min-width:0;height:640px;background:var(--panel-solid);border:1px solid var(--border);border-radius:20px;position:relative;overflow:auto}.tree-lines{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.person-card{position:absolute;width:150px;background:var(--panel-solid);border:1.5px solid var(--male);border-radius:14px;padding:8px 10px;font-size:.78rem;cursor:grab;box-shadow:0 4px 14px #0003}.person-card.female{border-color:var(--female)}.person-card.selected{outline:2px solid var(--primary)}.person-card .name{font-weight:700}.person-card .dates{color:var(--text-muted);font-size:.7rem;margin-top:3px}.nebenpersonen-panel{width:280px;flex-shrink:0;background:var(--panel);border:1px solid var(--border);border-radius:20px;padding:18px;height:640px;overflow-y:auto}.neben-person{background:var(--panel-solid);border:1px solid var(--border);border-radius:10px;padding:8px 10px;margin-bottom:8px;font-size:.78rem}.neben-person button{margin-top:6px;width:100%;background:transparent;border:1px solid var(--border);color:var(--primary);border-radius:7px;padding:4px 8px;font-size:.72rem;cursor:pointer}.timeline-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.timeline-label{width:200px;font-size:.85rem}.timeline-track{flex:1;height:14px;background:var(--panel-solid);border-radius:8px;position:relative}.timeline-bar{position:absolute;height:100%;background:var(--gradient);border-radius:8px}.timeline-years{width:100px;font-size:.75rem;color:var(--text-muted)}.loading-screen{padding:60px;text-align:center;color:var(--text-muted)}
