*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f7f6f2;--surface:#fff;--border:#e0ddd6;--text-primary:#1c1c1e;--text-muted:#8a8680;--accent-blue:#2a6cb5;--accent-rose:#c25478;--bar-color:#3a7bc8;--bar-color-selected:#1e5a9e;--bar-bg:#e8ecf4;--font:"system-ui", -apple-system, sans-serif;--radius:6px;--detail-width:380px}body{background:var(--bg);color:var(--text-primary);font-family:var(--font);font-size:15px;line-height:1.5}.app-shell{height:100dvh;display:flex;overflow:hidden}.list-pane{flex-direction:column;flex:auto;min-width:0;display:flex;overflow:hidden}.app-header{background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:1.5rem;padding:1.25rem 1.5rem;display:flex}.app-title{letter-spacing:-.02em;color:var(--text-primary);font-size:1.4rem;font-weight:700}.filter-group{background:var(--bg);border-radius:calc(var(--radius) + 3px);border:1px solid var(--border);gap:.25rem;padding:3px;display:flex}.filter-radio{opacity:0;width:0;height:0;position:absolute}.filter-label{border-radius:var(--radius);cursor:pointer;color:var(--text-muted);-webkit-user-select:none;user-select:none;padding:.3rem .85rem;font-size:.85rem;font-weight:500;transition:background .15s,color .15s;display:block}.filter-label--active{background:var(--surface);color:var(--text-primary);box-shadow:0 1px 3px #0000001a}.filtrer-btn{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg);color:var(--text-muted);font:inherit;cursor:pointer;white-space:nowrap;align-items:center;gap:.4rem;padding:.3rem .85rem;font-size:.85rem;font-weight:500;transition:background .15s,color .15s,border-color .15s;display:flex}.filtrer-btn:hover{background:var(--border);color:var(--text-primary)}.filtrer-btn--open{background:var(--surface);color:var(--text-primary);border-color:var(--text-muted);box-shadow:0 1px 3px #0000001a}.filtrer-badge{background:var(--accent-blue);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:1.2rem;height:1.2rem;font-size:.7rem;font-weight:700;line-height:1;display:inline-flex}.filter-drawer{background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;grid-template-rows:0fr;transition:grid-template-rows .2s;display:grid}.filter-drawer--open{grid-template-rows:1fr}.filter-drawer-inner{overflow:hidden}.filter-drawer-actions{gap:.5rem;padding:.6rem 1.5rem 0;display:flex}.filter-action-btn{border:1px solid var(--border);color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border-radius:100px;padding:.25rem .75rem;font-size:.8rem;transition:background .15s,color .15s}.filter-action-btn:hover{background:var(--border);color:var(--text-primary)}.filter-drawer-content{flex-wrap:wrap;gap:.5rem;padding:.5rem 1.5rem .75rem;display:flex}.empty-filter-message{text-align:center;color:var(--text-muted);padding:3rem 1.5rem;font-size:.95rem}.filter-chip{border:1px solid var(--border);background:var(--bg);color:var(--text-muted);font:inherit;cursor:pointer;border-radius:100px;padding:.3rem .85rem;font-size:.85rem;font-weight:500;transition:background .15s,color .15s,border-color .15s}.filter-chip:hover{background:var(--border);color:var(--text-primary)}.filter-chip--active{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue)}.name-list{flex:auto;padding-bottom:2rem;overflow-y:auto}.letter-header{z-index:1;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);background:var(--bg);border-bottom:1px solid var(--border);padding:.35rem 1.5rem;font-size:.72rem;font-weight:700;position:sticky;top:0}.name-items{list-style:none}.alpha-index{background:var(--bg);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;align-items:center;gap:1px;width:2.2rem;padding:.5rem 0;display:flex;overflow-y:auto}.alpha-btn{border-radius:var(--radius);cursor:pointer;width:1.8rem;height:1.6rem;color:var(--text-primary);font-size:.72rem;font-weight:600;font-family:var(--font);background:0 0;border:none;justify-content:center;align-items:center;transition:background .1s;display:flex}.alpha-btn:hover{background:var(--border)}.alpha-btn--inactive{color:var(--text-muted);cursor:default;pointer-events:none}.name-btn{cursor:pointer;text-align:left;width:100%;font:inherit;color:var(--text-primary);background:0 0;border:none;align-items:center;gap:.55rem;padding:.6rem 1.5rem;transition:background .1s;display:flex}.name-btn:hover{background:#00000008}.name-btn--active{color:var(--accent-blue);background:#e8f0fb}.name-text{font-size:.95rem}.gender-badge{letter-spacing:.04em;border-radius:100px;padding:.1rem .45rem;font-size:.7rem;font-weight:700;line-height:1.6;display:inline-block}.gender-badge--boy{color:var(--accent-blue);background:#dbeafe}.gender-badge--girl{color:var(--accent-rose);background:#fce7f0}.gender-badge--lg{padding:.15rem .6rem;font-size:.8rem}.detail-pane{background:var(--surface);flex-shrink:0;width:0;transition:width .2s;overflow:hidden}.detail-pane--open{width:var(--detail-width);border-left:1px solid var(--border);overflow-y:auto}.detail-inner{min-width:var(--detail-width);padding:1.5rem}.detail-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.75rem;display:flex}.detail-name{letter-spacing:-.03em;margin-bottom:.35rem;font-size:1.6rem;font-weight:700}.close-btn{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;color:var(--text-muted);flex-shrink:0;padding:.4rem .5rem;font-size:.85rem;line-height:1;transition:background .1s}.close-btn:hover{background:var(--border)}.detail-tags{flex-wrap:wrap;gap:.4rem;margin-bottom:1.25rem;display:flex}.detail-tag{border:1px solid var(--border);background:var(--bg);color:var(--text-muted);border-radius:100px;padding:.2rem .65rem;font-size:.78rem;font-weight:500;line-height:1.6}.status-text{color:var(--text-muted);padding:1rem 0;font-size:.9rem}.no-data{font-style:italic}.chart-wrap{flex-direction:column;display:flex}.chart-title{color:var(--text-muted);margin-bottom:.4rem;font-size:.78rem;line-height:1.3}.chart-selected-info{font-variant-numeric:tabular-nums;min-height:1.4em;margin-bottom:.25rem;font-size:.85rem}.chart-svg{width:100%;display:block;overflow:visible}.chart-source{color:var(--text-muted);text-align:right;opacity:.7;margin-top:.2rem;font-size:.7rem}.chart-area{fill:var(--bar-color);opacity:.12}.chart-line{stroke:var(--bar-color);stroke-width:1.8px;stroke-linejoin:round;stroke-linecap:round}.chart-dot{fill:var(--surface);stroke:var(--bar-color);stroke-width:1.8px;transition:r .15s}.chart-dot--selected{fill:var(--bar-color-selected);stroke:var(--bar-color-selected)}.chart-label{fill:var(--text-muted);font-variant-numeric:tabular-nums;pointer-events:none;font-size:8px}.chart-grid-line{stroke:var(--text-muted);stroke-width:.5px;opacity:.25}.chart-wrap--births{--bar-color:#2ea87e;--bar-color-selected:#1d8a64;margin-top:1.25rem}@media (width<=680px){.app-title{display:none}.detail-pane{z-index:100;border-left:none;width:100%;transition:transform .25s;position:fixed;inset:0;overflow-y:auto;transform:translate(100%)}.detail-pane--open{border-left:none;width:100%;transform:translate(0)}.detail-inner{min-width:unset}}.variants-section{border-top:1px solid var(--border);margin-top:1.5rem;padding-top:1rem}.variants-title{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:.5rem;font-size:.75rem;font-weight:600}.variants-list{flex-direction:column;gap:2px;list-style:none;display:flex}.variant-btn{border-radius:var(--radius);cursor:pointer;text-align:left;width:100%;font:inherit;color:var(--text-primary);background:0 0;border:none;align-items:center;gap:.55rem;padding:.4rem .5rem;font-size:.95rem;transition:background .1s;display:flex}.variant-btn:hover{background:#0000000d}.compare-btn{border-radius:var(--radius);border:1px solid var(--accent-blue);width:100%;color:var(--accent-blue);font:inherit;cursor:pointer;text-align:center;background:0 0;margin-top:.75rem;padding:.5rem .85rem;font-size:.875rem;font-weight:500;transition:background .15s,color .15s;display:block}.compare-btn:hover{background:var(--accent-blue);color:#fff}.links-section{border-top:1px solid var(--border);margin-top:1.5rem;padding-top:1rem}.links-title{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:.5rem;font-size:.75rem;font-weight:600}.links-list{flex-direction:column;gap:2px;list-style:none;display:flex}.name-link{border-radius:var(--radius);color:var(--accent-blue);padding:.4rem .5rem;font-size:.95rem;text-decoration:none;transition:background .1s;display:block}.name-link:hover{background:#0000000d;text-decoration:underline}.modal-backdrop{z-index:200;background:#1c1c1e73;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-container{background:var(--surface);border-radius:calc(var(--radius) * 2);flex-direction:column;width:100%;max-width:700px;max-height:90dvh;display:flex;overflow:hidden;box-shadow:0 8px 32px #0000002e}.modal-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.modal-title{letter-spacing:-.01em;font-size:1rem;font-weight:700}.modal-body{flex-direction:column;gap:1.5rem;padding:1.25rem;display:flex;overflow-y:auto}@media (width<=680px){.modal-backdrop{align-items:flex-end;padding:0}.modal-container{border-bottom-right-radius:0;border-bottom-left-radius:0;max-width:100%;max-height:92dvh}}.mlchart-wrap{flex-direction:column;gap:.4rem;display:flex}.mlchart-title{color:var(--text-muted);font-size:.78rem;line-height:1.3}.mlchart-info{font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:.25rem .85rem;min-height:1.4em;font-size:.8rem;display:flex}.mlchart-info-year{color:var(--text-primary);width:100%;font-weight:700}.mlchart-info-row{white-space:nowrap}.mlchart-info-hint{color:var(--text-muted);font-style:italic}.mlchart-svg{width:100%;display:block;overflow:visible}.mlchart-legend{flex-wrap:wrap;gap:.4rem .9rem;margin-top:.15rem;display:flex}.mlchart-legend-item{color:var(--text-primary);align-items:center;gap:.35rem;font-size:.78rem;display:flex}.mlchart-source{color:var(--text-muted);text-align:right;opacity:.7;font-size:.7rem}
