:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--color-male: #027BA3;--color-female: #EE0068;--color-text: #444;--color-text-light: #999;--color-bg: #fff;--color-highlight: #FF8300;--font-main: "Inter", system-ui, -apple-system, sans-serif;--header-height: 60px;--sidebar-width: 300px;--bottom-sheet-height: 70vh}*{box-sizing:border-box}html,body{height:100%;width:100%;margin:0;padding:0;font-family:var(--font-main);color:var(--color-text);background:var(--color-bg);overflow:hidden;overscroll-behavior:none}#root{position:fixed;inset:0;width:100%;height:100%;height:100dvh;display:flex;flex-direction:column}.app-container{display:flex;flex:1;overflow:hidden;position:relative}@media(max-width:768px){.app-container{flex-direction:column}}.main-content{flex:1;position:relative;overflow:hidden;display:flex;flex-direction:column}.chart-container{flex:1;width:100%;height:100%;position:relative}@media(max-width:768px){.chart-container{padding-bottom:20px}}.sidebar{width:var(--sidebar-width);border-left:1px solid #eee;background:#fffffff2;display:flex;flex-direction:column;z-index:10}@media(max-width:768px){.sidebar{position:absolute;bottom:0;left:0;width:100%;height:var(--bottom-sheet-height);border-left:none;border-top:1px solid #eee;transform:translateY(calc(100% - 60px));transition:transform .3s ease}.sidebar.open{transform:translateY(0)}}h1{font-size:1.5rem;margin:0;font-weight:600}.sidebar-content{height:100%;display:flex;flex-direction:column;background:#fff}.sidebar-header{padding:1rem;border-bottom:1px solid #eee;display:flex;gap:.5rem;align-items:center}.sidebar-header .search-container{position:relative;flex:1;display:flex;align-items:center}.sidebar-header .search-container input{width:100%;padding:.5rem 2rem .5rem .5rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.sidebar-header .search-container input:focus{outline:none;border-color:var(--color-highlight)}.sidebar-header .search-container .clear-btn{position:absolute;right:5px;background:none;border:none;color:#999;font-size:1rem;cursor:pointer;padding:0 5px}.sidebar-header .search-container .clear-btn:hover{color:#666}.sidebar-header .search-container .autocomplete-list{position:absolute;bottom:100%;left:0;right:0;background:#fff;border:1px solid #ddd;border-bottom:none;border-radius:4px 4px 0 0;list-style:none;padding:0;margin:0;z-index:100;box-shadow:0 -4px 6px #0000001a}.sidebar-header .search-container .autocomplete-list li{padding:.5rem;cursor:pointer;border-bottom:1px solid #eee}.sidebar-header .search-container .autocomplete-list li:last-child{border-bottom:none}.sidebar-header .search-container .autocomplete-list li:hover{background:#f5f5f5}.mobile-toggle-btn{display:none;background:#f0f0f0;border:1px solid #ddd;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem;white-space:nowrap}@media(max-width:768px){.mobile-toggle-btn{display:block}}.name-list{flex:1;overflow-y:auto}.list-header{display:flex;padding:.5rem 1rem;font-size:.8rem;color:var(--color-text-light);border-bottom:1px solid #eee}.list-header span{flex:1}.list-header span:first-child{flex:0 0 50px;text-align:right;margin-right:1rem}.list-header span:last-child{text-align:right}.list-item{display:flex;padding:.5rem 1rem;cursor:pointer;font-size:.9rem;border-bottom:1px solid #f5f5f5;transition:background .2s}.list-item:hover{background:#f9f9f9}.list-item.selected{background:#f0f0f0;font-weight:600}.list-item.male .name{color:var(--color-male)}.list-item.female .name{color:var(--color-female)}.list-item span{flex:1}.list-item span:first-child{flex:0 0 50px;text-align:right;margin-right:1rem;color:var(--color-text-light)}.list-item span:last-child{text-align:right;color:var(--color-text-light)}
