body,html{margin:0;overflow:hidden;width:100%;height:100%;background-color:#121212;color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}canvas{display:block;width:100vw;height:100vh}.overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#121212fa;z-index:1000;overflow-y:auto;display:flex;justify-content:center;align-items:flex-start}.overlay-content{max-width:900px;margin:40px 20px;padding:30px;background-color:#1e1e1e;border-radius:12px;box-shadow:0 4px 20px #0000004d;border:1px solid rgba(255,255,255,.1)}.overlay h1{font-size:36px;text-align:center;color:#fff;margin-bottom:10px}.overlay p{font-size:16px;line-height:1.6;color:#e0e0e0;margin-bottom:15px}.overlay-content a{color:#2196f3;text-decoration:underline}.overlay-content a:hover{color:#1976d2}.intro-section{margin:30px 0;padding:20px;background:#ffffff08;border-radius:8px}.intro-section h2{font-size:24px;color:#fff;margin-bottom:15px;border-bottom:2px solid rgba(255,255,255,.1);padding-bottom:5px}.intro-section p,.intro-section ul{color:#e0e0e0}.intro-section ul{padding-left:20px}.intro-section li{margin-bottom:10px;line-height:1.5}.dataset-options{margin:20px 0}.dataset-option{margin-bottom:15px;padding:15px;background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:8px;transition:background-color .2s}.dataset-option:hover{background:#ffffff0d}.dataset-option input{margin-right:10px}.dataset-option label{display:flex;flex-direction:column;cursor:pointer;color:#e0e0e0}.dataset-option strong{font-size:18px;margin-bottom:5px;color:#fff}.dataset-option span{font-size:14px;color:#b0b0b0}.search-input-container{position:relative;display:flex;align-items:center}#search{width:100%;padding:8px 35px 8px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#fff;font-size:14px;transition:all .2s}#search:focus{outline:none;background:#ffffff1a;border-color:#fff6}.search-loading{position:absolute;right:80px;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite;display:none}#search-results{position:relative;width:100%;max-height:200px;background:#121212f2;border:1px solid rgba(255,255,255,.1);border-radius:6px;box-shadow:0 4px 6px #0000001a;overflow-y:auto;display:none}#search-results div{padding:8px 12px;border:1px solid rgba(255,255,255,.1);border-radius:4px;cursor:pointer}#search-results div:hover{background:#ffffff1a}select,button{padding:8px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#fff;font-size:14px;transition:all .2s}select:focus,button:focus{outline:none;background:#ffffff1a;border-color:#fff6}button:hover{background:#ffffff1a}select option{background:#121212;color:#fff}.random-button{display:flex;align-items:center;gap:8px;background:#ffffff0d;color:#fff;border:none;border-radius:6px;padding:8px 16px;font-size:14px;cursor:pointer;transition:all .2s}.random-button:hover{background:#484f56;transform:translateY(-1px)}.random-button:active{transform:translateY(0)}.random-icon{font-size:18px;line-height:1}.start-button{display:block;width:100%;padding:15px 30px;background:#2196f3;color:#fff;border:none;border-radius:8px;font-size:18px;cursor:pointer;transition:all .2s;margin-top:20px}.start-button:hover{background:#1976d2;transform:translateY(-1px)}.start-button:active{transform:translateY(0)}#search-container{position:absolute;top:10px;left:10px;z-index:10;display:flex;flex-direction:column;gap:5px;background:#121212e6;padding:10px;border-radius:8px;border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 6px #0000001a}#dropdown-container{position:absolute;top:10px;right:10px;z-index:10;display:flex;flex-direction:column;gap:5px;background:#121212e6;padding:10px;border-radius:8px;border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 6px #0000001a}#dropdown-container.expanded{width:calc(90% - 20px);max-width:400px;left:50%;transform:translate(-50%);flex-direction:row;justify-content:space-between}#wiki-embed-container{position:fixed;top:0;left:0;width:0;height:100vh;background:#121212;overflow:hidden;box-shadow:-2px 0 10px #0000004d;z-index:900;transition:width .3s}#wiki-embed-container.active{width:35%}#wiki-iframe{width:100%;height:100%;border:none}#close-wiki-btn{position:absolute;top:10px;right:10px;width:30px;height:30px;background:#dc3545;color:#fcfcfc;border:none;border-radius:50%;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:901}#close-wiki-btn:hover{background:#c82333}#fps-counter{position:fixed;top:10px;right:10px;padding:8px 12px;background:#121212e6;color:#fff;font-family:monospace;font-size:14px;border-radius:6px;border:1px solid rgba(255,255,255,.1);z-index:1000}#loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#121212e6;padding:30px 50px;border-radius:12px;border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 6px #0000001a;text-align:center;z-index:1000;display:none}.loading-content{display:flex;flex-direction:column;align-items:center;gap:20px}.loading-text{font-size:16px;color:#e0e0e0;margin:0}.loading-circles{display:flex;gap:8px;align-items:center;justify-content:center}.loading-circle{width:12px;height:12px;background:#fff;border-radius:50%;animation:pulse 1.5s ease-in-out infinite}.loading-circle:nth-child(2){animation-delay:.2s}.loading-circle:nth-child(3){animation-delay:.4s}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{transform:scale(.8);opacity:.5}50%{transform:scale(1.2);opacity:1}}@media (max-width:600px){#search-container{top:auto;bottom:0;left:50%;transform:translate(-50%);width:calc(100% - 20px)}#dropdown-container{top:0;left:0;right:0;transform:none;width:100%;padding:4px;flex-direction:row;align-items:center;justify-content:space-between;background:#121212;box-sizing:border-box}#dropdown-container label{display:none}#dropdown-container select{flex:2;margin-right:10px}#dropdown-container button{flex:.2 0 auto;padding:4px 0}#fps-counter{top:auto;bottom:0;right:0}.overlay-content{max-width:95%;padding:20px;margin:20px 10px}.overlay-content h1{font-size:24px}.overlay-content p{font-size:14px;line-height:1.4}.intro-section{margin:20px 0;padding:15px}.intro-section h2{font-size:20px}.intro-section ul,.intro-section li,.dataset-option strong,.dataset-option span{font-size:14px;line-height:1.4}}
