:root{--background-color: #0f0f1a;--text-color: #e8e8e8;--text-secondary: #a0a0b0;--header-footer-bg: #1a1a2e;--border-color: #33334a;--accent-color: #4a90e2;--popup-bg: #212136;--popup-border: #44445a;--sun-color: #fcd440;--color-transition: color .3s ease, background-color .3s ease, border-color .3s ease}.light-theme{--background-color: #f0f4f8;--text-color: #213547;--text-secondary: #556677;--header-footer-bg: #ffffff;--border-color: #d8e0e8;--accent-color: #3a7dcb;--popup-bg: #ffffff;--popup-border: #c8d0d8;--sun-color: #ffcc00}*{box-sizing:border-box;margin:0;padding:0}html{height:100%;font-size:16px}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;background-color:var(--background-color);color:var(--text-color);transition:var(--color-transition);height:100%;overflow:hidden;display:flex;flex-direction:column}#root{display:flex;flex-direction:column;flex-grow:1;height:100%;overflow:hidden}h1,h2,h3,h4,h5,h6{color:var(--text-color);transition:var(--color-transition);font-weight:600}a{font-weight:500;color:var(--accent-color);text-decoration:none;transition:color .3s ease}a:hover{color:#74a Gff;text-decoration:underline}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;cursor:pointer;transition:border-color .25s,background-color .25s,color .25s;background-color:var(--header-footer-bg);color:var(--text-color);border:1px solid var(--border-color)}button:hover{border-color:var(--accent-color);background-color:var(--background-color)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color;outline-color:var(--accent-color);outline-offset:2px}.theme-toggle-button{background:none;border:none;color:var(--text-color);font-size:1.5rem;cursor:pointer;padding:.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:color .3s ease,background-color .3s ease;position:absolute;top:50%;right:2rem;transform:translateY(-50%)}.theme-toggle-button:hover{color:var(--accent-color);background-color:#8080801a}.theme-toggle-button:focus{outline:2px solid var(--accent-color);outline-offset:2px}@media (max-width: 768px){.theme-toggle-button{font-size:1.3rem;right:1rem}}@media (max-width: 480px){.theme-toggle-button{font-size:1.2rem}}.app-header{background-color:var(--header-footer-bg);color:var(--text-color);padding:.8rem 1rem;text-align:center;border-bottom:1px solid var(--border-color);transition:background-color .3s ease,color .3s ease,border-color .3s ease;flex-shrink:0;position:relative;z-index:20}.header-content-wrapper{position:relative;max-width:1200px;margin:0 auto;padding:0 1rem}.app-header h1{margin:0 0 .3rem;font-size:1.6rem;font-weight:600}.app-header .creator-credit{margin:0;font-size:.85rem;color:var(--text-secondary)}@media (max-width: 768px){.app-header{padding:.6rem 1rem}.app-header h1{font-size:1.4rem}.app-header .creator-credit{font-size:.8rem}}@media (max-width: 480px){.app-header{padding:.5rem 1rem}.header-content-wrapper{padding:0 .5rem}.app-header h1{font-size:1.2rem}.app-header .creator-credit{font-size:.75rem}}.app-footer{background-color:var(--header-footer-bg);color:var(--text-color);padding:1.5rem 2rem;text-align:center;border-top:1px solid var(--border-color);margin-top:auto;transition:background-color .3s ease,color .3s ease}.footer-content{max-width:800px;margin:0 auto}.social-links{margin-bottom:1rem}.social-links a{color:var(--text-secondary);font-size:1.8rem;margin:0 .8rem;transition:color .3s ease}.social-links a:hover{color:var(--accent-color)}.footer-text{margin:.3rem 0;font-size:.9rem;color:var(--text-secondary)}.footer-text.project-title{font-weight:500;color:var(--text-color);margin-top:.5rem}.footer-text.copyright{font-size:.8rem;margin-top:1rem}@media (max-width: 768px){.app-footer{padding:1.2rem 1rem}.social-links a{font-size:1.6rem}.footer-text{font-size:.85rem}}@media (max-width: 480px){.social-links a{font-size:1.5rem;margin:0 .6rem}.footer-text{font-size:.8rem}}.popup-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;opacity:0;animation:fadeIn .3s forwards;padding:1rem}.popup-content{background-color:var(--popup-bg);color:var(--text-color);padding:2rem;border-radius:10px;border:1px solid var(--popup-border);box-shadow:0 5px 15px #0000004d;position:relative;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;transform:scale(.9);animation:scaleIn .3s forwards ease-out;transition:background-color .3s ease,color .3s ease,border-color .3s ease}.popup-close-btn{position:absolute;top:10px;right:15px;background:none;border:none;font-size:2rem;line-height:1;color:var(--text-secondary);cursor:pointer;padding:.2rem;transition:color .3s ease}.popup-close-btn:hover{color:var(--accent-color)}.popup-content h2{margin-top:0;margin-bottom:1.5rem;color:var(--text-color);text-align:center;border-bottom:1px solid var(--border-color);padding-bottom:.8rem}.popup-body p{margin-bottom:.8rem;line-height:1.5;font-size:.95rem;color:var(--text-secondary)}.popup-body strong{color:var(--text-color);font-weight:600}.facts-section{margin-top:1.5rem;padding-top:1rem;border-top:1px dashed var(--border-color)}.facts-section h3{margin-bottom:.8rem;color:var(--text-color);font-size:1.1rem}.facts-section ul{list-style:disc;margin-left:1.5rem;padding-left:.5rem}.facts-section li{margin-bottom:.6rem;font-size:.9rem;color:var(--text-secondary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{transform:scale(.9);opacity:.8}to{transform:scale(1);opacity:1}}.popup-overlay.fade-out{animation:fadeOut .3s forwards}.popup-content.fade-out{animation:scaleOut .3s forwards ease-in}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes scaleOut{0%{transform:scale(1);opacity:1}to{transform:scale(.9);opacity:0}}@media (max-width: 600px){.popup-content{padding:1.5rem;width:95%}.popup-content h2{font-size:1.5rem;margin-bottom:1rem}.popup-body p,.facts-section li{font-size:.9rem}.facts-section h3{font-size:1rem}}.App{display:flex;flex-direction:column;height:100%;width:100%;overflow:hidden}.main-content{flex-grow:1;position:relative;display:flex;overflow:hidden}.app-header,.app-footer{flex-shrink:0}.controls-container{position:absolute;top:75px;left:15px;background-color:#282828bf;border-radius:8px;padding:12px 18px;z-index:10;border:1px solid var(--border-color);box-shadow:0 2px 5px #0003;transition:background-color .3s ease,border-color .3s ease}.light-theme .controls-container{background-color:#ffffffd9;border:1px solid var(--border-color);box-shadow:0 2px 5px #0000001a}.toggle-label{display:flex;align-items:center;margin-bottom:10px;color:var(--text-color);font-size:.9rem;cursor:pointer;transition:color .3s ease;white-space:nowrap;-webkit-user-select:none;user-select:none}.toggle-label:last-child{margin-bottom:0}.toggle-label input[type=checkbox]{margin-right:10px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border:1px solid var(--text-secondary);border-radius:4px;display:inline-block;position:relative;vertical-align:middle;transition:background-color .2s,border-color .2s;flex-shrink:0}.toggle-label input[type=checkbox]:before{content:"";position:absolute;left:5px;top:2px;width:5px;height:10px;border-style:solid;border-color:var(--popup-bg);border-width:0 2px 2px 0;transform:rotate(45deg);opacity:0;transition:opacity .2s ease-in-out}.toggle-label input[type=checkbox]:checked{background-color:var(--accent-color);border-color:var(--accent-color)}.toggle-label input[type=checkbox]:checked:before{opacity:1}.toggle-label:hover input[type=checkbox]{border-color:var(--accent-color)}@media (max-width: 700px){.controls-container{top:auto;bottom:70px;left:50%;transform:translate(-50%);display:flex;gap:20px;padding:10px 15px}.toggle-label{margin-bottom:0;font-size:.85rem}.toggle-label input[type=checkbox]{width:16px;height:16px;margin-right:8px}.toggle-label input[type=checkbox]:before{left:4px;top:1px;width:4px;height:8px;border-width:0 2px 2px 0}}@media (max-width: 400px){.controls-container{gap:12px;padding:8px 12px;bottom:65px}.toggle-label{font-size:.8rem}}
