.app-container{display:flex;flex-direction:column;flex:1}.extra-page{max-width:800px;margin:0 auto;padding:2rem}.extra-page .page-content h1{font-size:2rem;margin-bottom:1rem}.extra-page .page-content h2{font-size:1.5rem;margin-top:2rem;margin-bottom:1rem}.extra-page .page-content h3{font-size:1.25rem;margin-top:1.5rem;margin-bottom:.75rem}.extra-page .page-content p{line-height:1.6;margin-bottom:1rem}.extra-page .page-content ul{margin-bottom:1rem;padding-left:2rem}.extra-page .page-content ul li{margin-bottom:.5rem;line-height:1.6}.extra-page .page-content a{color:#4caf50;text-decoration:underline}.extra-page .page-content a:hover{color:#45a049}.extra-page .page-content .version{margin-top:2rem;font-size:.9rem;color:#ffffffb3}.footer{background-color:#222;padding:20px;text-align:center;margin-top:auto;border-top:1px solid rgba(255,255,255,.1);flex-shrink:0}.footer .footer-links{display:flex;justify-content:center;gap:20px;margin-bottom:10px;flex-wrap:wrap}.footer .footer-link{background:none;border:none;color:#fff;cursor:pointer;font-size:14px;text-decoration:none;transition:color .2s}.footer .footer-link:hover{color:#4caf50;text-decoration:underline}.footer .footer-copyright{color:#ffffff80;font-size:12px;margin:0}.guess-input{display:flex;flex-direction:column;gap:10px;width:100%;max-width:fit-content;margin:0 auto}.guess-row{display:flex;justify-content:center;gap:10px;flex-wrap:nowrap}.guess-box{flex:0 1 80px;aspect-ratio:1/1;min-width:0;font-size:clamp(10px,100vw / var(--num-boxes) * .25,24px);font-weight:700;text-align:center;border:2px solid #555;border-radius:5px;background-color:#333;color:#fff;outline:none;transition:border-color .3s ease;-moz-appearance:none;appearance:none;-webkit-appearance:none;-webkit-tap-highlight-color:transparent;opacity:1!important;overflow:hidden;text-overflow:clip;white-space:nowrap;padding:2px;box-sizing:border-box}.guess-box.enharmonic{font-size:clamp(8px,100vw / var(--num-boxes) * .18,20px)}.guess-box:focus{border-color:#777}.guess-box.correct{--final-bg-color: #4caf50;--final-border-color: #4caf50;animation:reveal .5s ease-in-out forwards;opacity:1!important}.guess-box.present{--final-bg-color: #ffc107;--final-border-color: #ffc107;animation:reveal .5s ease-in-out forwards;opacity:1!important}.guess-box.absent{--final-bg-color: #555;--final-border-color: #555;animation:reveal .5s ease-in-out forwards;opacity:1!important}@keyframes reveal{0%{transform:rotateX(0);background-color:#333;color:#fff;border-color:#555}50%{transform:rotateX(90deg);background-color:#333;color:transparent;border-color:#333}to{transform:rotateX(0);background-color:var(--final-bg-color);color:#fff;border-color:var(--final-border-color)}}.submit-button{padding:10px 20px;font-size:24px;font-weight:700;cursor:pointer;background-color:#555;color:#fff;border:none;border-radius:5px;transition:background-color .3s ease}.submit-button:hover:not(:disabled){background-color:#777}.submit-button:disabled{background-color:#555;cursor:not-allowed;opacity:.5}.game{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;background-color:#333;gap:40px;margin:20px auto;padding:40px;box-sizing:border-box;width:fit-content;min-width:min(500px,100vw - 40px);max-width:calc(100vw - 40px);border-radius:5px}@media (max-width: 650px){.game{padding-left:10px;padding-right:10px;min-width:calc(100vw - 20px);max-width:calc(100vw - 20px)}}.play-button{padding:10px 20px;font-size:24px;font-weight:700;cursor:pointer;background-color:#555;color:#fff;border:none;border-radius:5px;transition:background-color .3s ease;display:inline-flex;align-items:center;gap:.4em}.play-button:hover:not(:disabled){background-color:#777}.play-button:disabled{background-color:#555;cursor:not-allowed;opacity:.5}.play-button .play-icon{flex-shrink:0}.result{position:relative;margin:20px auto;padding:20px;border-radius:8px;text-align:center;animation:slideUp .5s ease-out forwards}.result.win{background-color:#4caf50;color:#fff}.result.lose{background-color:#f44336;color:#fff}@keyframes slideUp{0%{transform:translateY(100px);opacity:0}to{transform:translateY(0);opacity:1}}.hard-mode-link{margin-top:15px;font-size:1.1rem}.hard-mode-link a{color:#fff;font-weight:700;text-decoration:underline;transition:opacity .2s ease}.hard-mode-link a:hover{opacity:.8}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:2000;color:#fff;padding:40px;box-sizing:border-box;overflow-y:auto}.modal-content{background-color:#fff;color:#000;padding:20px;border-radius:8px;box-shadow:0 2px 10px #0003;text-align:left;max-width:600px;width:100%;max-height:fit-content;margin:auto;position:relative}.modal-content h2{text-align:center;padding-right:40px}.modal-content ul{padding-left:20px}.modal-content .correct{color:#4caf50;font-weight:700}.modal-content .present{color:#ffc107;font-weight:700}.modal-content .absent{color:#555;font-weight:700}.modal-close{font-size:24px;font-weight:700;cursor:pointer;background-color:#555;color:#fff;border:none;border-radius:5px;transition:background-color .3s ease;position:absolute;right:10px;display:flex;padding:6px}.modal-close:hover:not(:disabled){background-color:#777}.modal-close:disabled{background-color:#555;cursor:not-allowed;opacity:.5}.modal-content h2{margin-top:0}.stats-subtitle{text-align:center;margin-bottom:20px;color:#666;font-size:.9rem}.stats-graph{display:flex;flex-direction:column;gap:8px;margin:20px 0}.stats-bar-row{display:flex;align-items:center;gap:10px}.stats-label{font-weight:700;width:20px;text-align:right}.stats-bar-container{flex:1;height:30px;position:relative}.stats-bar{height:100%;background-color:#999;display:flex;align-items:center;justify-content:flex-end;padding-right:8px;min-width:30px;transition:background-color .3s ease;border-radius:3px}.stats-bar-user{background-color:#4caf50}.stats-count{color:#fff;font-weight:700;font-size:.9rem}.stats-total{text-align:center;margin-top:20px;color:#666;font-size:.9rem}.navbar{position:sticky;top:0;z-index:1000;background-color:#333;color:#fff;width:100%;padding:10px 20px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 5px #0003;box-sizing:border-box;border-radius:5px}.navbar-buttons{display:flex;justify-content:flex-end}.navbar-title{display:flex;justify-content:flex-start;align-items:center;flex:1;text-align:center;font-size:1.5rem;font-weight:700;text-decoration:none;color:#fff;cursor:pointer;transition:opacity .2s}.navbar-title:hover{opacity:.8}.navbar-icon{width:24px;height:24px;margin-right:10px;filter:invert(1) brightness(2)}.navbar-button{margin:0 5px;padding:10px 15px;background-color:#555;color:#fff;border:none;border-radius:5px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:background-color .3s ease}.navbar-button:hover{background-color:#777}.navbar-menu{position:relative;display:inline-block}.navbar-dropdown{position:absolute;top:100%;right:0;margin-top:5px;background-color:#444;border-radius:5px;box-shadow:0 4px 8px #0000004d;width:max-content;z-index:1001}.navbar-dropdown-item{display:flex;align-items:center;gap:8px;padding:12px 16px;color:#fff;text-decoration:none;transition:background-color .2s ease}.navbar-dropdown-item:hover{background-color:#555}.navbar-dropdown-item:first-child{border-radius:5px 5px 0 0}.navbar-dropdown-item:last-child{border-radius:0 0 5px 5px}: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}html,body{height:100%;margin:0}#root{display:flex;flex-direction:column;min-height:100vh}
