.auth-modal-overlay{align-items:center;animation:fadeIn .3s ease;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.auth-modal{animation:slideUp .3s ease;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:400px;padding:32px;position:relative;width:90%}.auth-modal-close{align-items:center;background:none;border:none;border-radius:50%;color:#6c757d;cursor:pointer;display:flex;font-size:32px;height:32px;justify-content:center;position:absolute;right:16px;top:16px;transition:all .2s ease;width:32px}.auth-modal-close:hover{background:#f8f9fa;color:#212529}.auth-modal h2{color:#212529;font-size:28px;font-weight:800;margin-bottom:8px}.auth-modal-subtitle{color:#6c757d;font-size:14px;margin-bottom:24px}.auth-form-group{margin-bottom:20px}.auth-form-group label{color:#495057;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.auth-form-group input{border:2px solid #dee2e6;border-radius:8px;font-size:16px;outline:none;padding:12px 16px;transition:all .2s ease;width:100%}.auth-form-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.auth-error{background:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;color:#721c24;font-size:14px;margin-bottom:16px;padding:12px}.auth-submit-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-bottom:16px;padding:14px;transition:all .2s ease;width:100%}.auth-submit-button:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.auth-submit-button:disabled{cursor:not-allowed;opacity:.6}.auth-switch{color:#6c757d;font-size:14px;text-align:center}.auth-link{background:none;border:none;color:#667eea;cursor:pointer;font-size:14px;font-weight:600;padding:0;text-decoration:underline}.auth-link:hover{color:#764ba2}.app-container.dark-theme .auth-modal{background:#2a2a3e;color:#e0e0e0}.app-container.dark-theme .auth-modal h2{color:#e0e0e0}.app-container.dark-theme .auth-modal-subtitle{color:#b0b0b0}.app-container.dark-theme .auth-form-group label{color:#d0d0d0}.app-container.dark-theme .auth-form-group input{background:#1e1e2e;border-color:#3a3a4e;color:#e0e0e0}.app-container.dark-theme .auth-modal-close{color:#b0b0b0}.app-container.dark-theme .auth-modal-close:hover{background:#1e1e2e;color:#e0e0e0}.stats-modal-overlay{align-items:center;animation:fadeIn .3s ease;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.stats-modal{animation:slideUp .3s ease;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:600px;padding:32px;position:relative;width:90%}.stats-modal-close{align-items:center;background:none;border:none;border-radius:50%;color:#6c757d;cursor:pointer;display:flex;font-size:32px;height:32px;justify-content:center;position:absolute;right:16px;top:16px;transition:all .2s ease;width:32px}.stats-modal-close:hover{background:#f8f9fa;color:#212529}.stats-modal h2{color:#212529;font-size:28px;font-weight:800;margin-bottom:24px;text-align:center}.stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}.stat-card{background:#f8f9fa;border:2px solid #e9ecef;border-radius:12px;padding:24px;text-align:center;transition:all .2s ease}.stat-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.stat-card.highlight{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff}.stat-card-value{color:#212529;font-size:36px;font-weight:800;margin-bottom:8px}.stat-card.highlight .stat-card-value{color:#fff}.stat-card-label{color:#6c757d;font-size:14px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.stat-card.highlight .stat-card-label{color:#ffffffe6}.app-container.dark-theme .stats-modal{background:#2a2a3e;color:#e0e0e0}.app-container.dark-theme .stats-modal h2{color:#e0e0e0}.app-container.dark-theme .stat-card{background:#1e1e2e;border-color:#3a3a4e}.app-container.dark-theme .stat-card-value{color:#e0e0e0}.app-container.dark-theme .stat-card-label,.app-container.dark-theme .stats-modal-close{color:#b0b0b0}.app-container.dark-theme .stats-modal-close:hover{background:#1e1e2e;color:#e0e0e0}@media (max-width:640px){.stats-grid{grid-template-columns:repeat(2,1fr)}.stats-modal{padding:24px}}.help-modal-overlay{align-items:center;animation:fadeIn .3s ease;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.help-modal{animation:slideUp .3s ease;background:#fff;border:3px solid var(--blue-900);border-radius:16px;box-shadow:0 20px 60px #0000004d;color:var(--text-primary);max-width:500px;padding:32px;position:relative;width:90%}[data-theme=dark] .help-modal{border:3px solid var(--highlight)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.help-modal-close{align-items:center;background:none;border:none;border-radius:50%;color:var(--accent-primary);cursor:pointer;display:flex;font-size:32px;height:32px;justify-content:center;position:absolute;right:16px;top:16px;transition:all .2s ease;width:32px}.help-modal-close:hover{background:var(--background-hover);color:var(--accent-hover)}.help-modal h2{color:var(--highlight);font-size:28px;font-weight:800;margin-bottom:16px;text-align:center}.help-modal p{color:var(--text-secondary);font-size:16px;line-height:1.6;margin-bottom:20px}.help-modal ul{margin-bottom:24px;padding-left:20px}.help-modal li{color:var(--text-primary);margin-bottom:8px}.help-modal-close-button{align-items:center;background:var(--accent-primary);border:none;border-radius:8px;box-sizing:border-box;cursor:pointer;display:flex;font-size:16px;font-weight:600;justify-content:center;min-height:48px;padding:14px 24px;transition:all .2s ease;width:100%}.help-modal-close-button:hover{background:var(--accent-hover);box-shadow:0 4px 12px var(--accent-hover);transform:translateY(-1px)}.app-container.dark-theme .help-modal{background:#2a2a3e;color:#e0e0e0}.app-container.dark-theme .help-modal h2{color:#e0e0e0}.app-container.dark-theme .help-card{background:#1e1e2e;border-color:#3a3a4e}.app-container.dark-theme .help-card-value{color:#e0e0e0}.app-container.dark-theme .help-card-label,.app-container.dark-theme .help-modal-close{color:#b0b0b0}.app-container.dark-theme .help-modal-close:hover{background:#1e1e2e;color:#e0e0e0}.app-container.dark-theme .help-modal-close-button{color:#b0b0b0}.app-container.dark-theme .help-modal-close-button:hover{background:#1e1e2e;color:#e0e0e0}@media (max-width:640px){.help-modal{max-width:90%;padding:24px}.help-modal h2{font-size:24px}.help-modal p{font-size:15px}}*{box-sizing:border-box;margin:0;padding:0}body{background:linear-gradient(135deg,#e8f0fe,#d6e9ff);min-height:100vh;overflow-x:hidden;position:relative;transition:background .3s ease}.star-background{animation:twinkle 20s infinite;background-repeat:repeat;background-size:2000px 2000px;content:"";height:100vh;left:0;pointer-events:none;position:fixed;top:0;width:100vw;z-index:-1}@keyframes twinkle{0%,to{opacity:.3}50%{opacity:.6}}.star-bg-light{background-image:radial-gradient(2px 2px at 15px 25px,#1a1a2e,#0000),radial-gradient(2px 2px at 45px 65px,#1a1a2e,#0000),radial-gradient(2px 2px at 75px 15px,#1a1a2e,#0000),radial-gradient(2px 2px at 105px 85px,#1a1a2e,#0000),radial-gradient(2px 2px at 135px 35px,#1a1a2e,#0000),radial-gradient(2px 2px at 165px 75px,#1a1a2e,#0000),radial-gradient(2px 2px at 195px 55px,#1a1a2e,#0000),radial-gradient(2px 2px at 225px 25px,#1a1a2e,#0000),radial-gradient(2px 2px at 255px 95px,#1a1a2e,#0000),radial-gradient(2px 2px at 285px 45px,#1a1a2e,#0000),radial-gradient(2px 2px at 315px 15px,#1a1a2e,#0000),radial-gradient(2px 2px at 345px 75px,#1a1a2e,#0000),radial-gradient(2px 2px at 375px 35px,#1a1a2e,#0000),radial-gradient(2px 2px at 405px 85px,#1a1a2e,#0000),radial-gradient(2px 2px at 435px 55px,#1a1a2e,#0000),radial-gradient(1.5px 1.5px at 30px 50px,#2d3561,#0000),radial-gradient(1.5px 1.5px at 60px 10px,#2d3561,#0000),radial-gradient(1.5px 1.5px at 90px 70px,#2d3561,#0000),radial-gradient(1.5px 1.5px at 120px 30px,#2d3561,#0000),radial-gradient(1.5px 1.5px at 150px 90px,#2d3561,#0000),radial-gradient(1.5px 1.5px at 180px 50px,#2d3561,#0000),radial-gradient(1.5px 1.5px at 210px 10px,#2d3561,#0000),radial-gradient(1.5px 1.5px at 240px 70px,#2d3561,#0000),radial-gradient(1.5px 1.5px at 270px 30px,#2d3561,#0000),radial-gradient(1.5px 1.5px at 300px 90px,#2d3561,#0000),radial-gradient(1.5px 1.5px at 330px 50px,#2d3561,#0000),radial-gradient(1.5px 1.5px at 360px 10px,#2d3561,#0000),radial-gradient(1.5px 1.5px at 390px 70px,#2d3561,#0000),radial-gradient(1.5px 1.5px at 420px 30px,#2d3561,#0000),radial-gradient(1.5px 1.5px at 450px 90px,#2d3561,#0000),radial-gradient(1px 1px at 5px 20px,#3d2a54,#0000),radial-gradient(1px 1px at 25px 40px,#3d2a54,#0000),radial-gradient(1px 1px at 35px 60px,#3d2a54,#0000),radial-gradient(1px 1px at 55px 80px,#3d2a54,#0000),radial-gradient(1px 1px at 65px 5px,#3d2a54,#0000),radial-gradient(1px 1px at 85px 25px,#3d2a54,#0000),radial-gradient(1px 1px at 95px 45px,#3d2a54,#0000),radial-gradient(1px 1px at 115px 65px,#3d2a54,#0000),radial-gradient(1px 1px at 125px 85px,#3d2a54,#0000),radial-gradient(1px 1px at 145px 15px,#3d2a54,#0000),radial-gradient(1px 1px at 155px 35px,#3d2a54,#0000),radial-gradient(1px 1px at 175px 55px,#3d2a54,#0000),radial-gradient(1px 1px at 185px 75px,#3d2a54,#0000),radial-gradient(1px 1px at 205px 95px,#3d2a54,#0000),radial-gradient(1px 1px at 215px 5px,#3d2a54,#0000),radial-gradient(1px 1px at 235px 25px,#3d2a54,#0000),radial-gradient(1px 1px at 245px 45px,#3d2a54,#0000),radial-gradient(1px 1px at 265px 65px,#3d2a54,#0000),radial-gradient(1px 1px at 275px 85px,#3d2a54,#0000),radial-gradient(1px 1px at 295px 15px,#3d2a54,#0000),radial-gradient(1px 1px at 305px 35px,#3d2a54,#0000),radial-gradient(1px 1px at 325px 55px,#3d2a54,#0000),radial-gradient(1px 1px at 335px 75px,#3d2a54,#0000),radial-gradient(1px 1px at 355px 95px,#3d2a54,#0000),radial-gradient(1px 1px at 365px 5px,#3d2a54,#0000),radial-gradient(1px 1px at 385px 25px,#3d2a54,#0000),radial-gradient(1px 1px at 395px 45px,#3d2a54,#0000),radial-gradient(1px 1px at 415px 65px,#3d2a54,#0000),radial-gradient(1px 1px at 425px 85px,#3d2a54,#0000),radial-gradient(1px 1px at 445px 15px,#3d2a54,#0000),radial-gradient(1px 1px at 455px 35px,#3d2a54,#0000),radial-gradient(1px 1px at 475px 55px,#3d2a54,#0000),radial-gradient(1px 1px at 485px 75px,#3d2a54,#0000),radial-gradient(1px 1px at 505px 95px,#3d2a54,#0000),radial-gradient(1px 1px at 515px 5px,#3d2a54,#0000),radial-gradient(1px 1px at 535px 25px,#3d2a54,#0000),radial-gradient(1px 1px at 545px 45px,#3d2a54,#0000),radial-gradient(1px 1px at 565px 65px,#3d2a54,#0000),radial-gradient(1px 1px at 575px 85px,#3d2a54,#0000),radial-gradient(1px 1px at 595px 15px,#3d2a54,#0000),radial-gradient(1px 1px at 605px 35px,#3d2a54,#0000),radial-gradient(1px 1px at 625px 55px,#3d2a54,#0000),radial-gradient(1px 1px at 635px 75px,#3d2a54,#0000),radial-gradient(1px 1px at 655px 95px,#3d2a54,#0000),radial-gradient(1px 1px at 665px 5px,#3d2a54,#0000),radial-gradient(1px 1px at 685px 25px,#3d2a54,#0000),radial-gradient(1px 1px at 695px 45px,#3d2a54,#0000),radial-gradient(1px 1px at 715px 65px,#3d2a54,#0000),radial-gradient(1px 1px at 725px 85px,#3d2a54,#0000),radial-gradient(1px 1px at 745px 15px,#3d2a54,#0000),radial-gradient(1px 1px at 755px 35px,#3d2a54,#0000),radial-gradient(1px 1px at 775px 55px,#3d2a54,#0000),radial-gradient(1px 1px at 785px 75px,#3d2a54,#0000),radial-gradient(1px 1px at 805px 95px,#3d2a54,#0000),radial-gradient(1px 1px at 815px 5px,#3d2a54,#0000),radial-gradient(1px 1px at 835px 25px,#3d2a54,#0000),radial-gradient(1px 1px at 845px 45px,#3d2a54,#0000),radial-gradient(1px 1px at 865px 65px,#3d2a54,#0000),radial-gradient(1px 1px at 875px 85px,#3d2a54,#0000),radial-gradient(1px 1px at 895px 15px,#3d2a54,#0000),radial-gradient(1px 1px at 905px 35px,#3d2a54,#0000),radial-gradient(1px 1px at 925px 55px,#3d2a54,#0000),radial-gradient(1px 1px at 935px 75px,#3d2a54,#0000),radial-gradient(1px 1px at 955px 95px,#3d2a54,#0000),radial-gradient(1px 1px at 965px 5px,#3d2a54,#0000),radial-gradient(1px 1px at 985px 25px,#3d2a54,#0000),radial-gradient(1px 1px at 995px 45px,#3d2a54,#0000);opacity:.4}.star-bg-dark{background-image:radial-gradient(2px 2px at 15px 25px,#fff,#0000),radial-gradient(2px 2px at 45px 65px,#fff,#0000),radial-gradient(2px 2px at 75px 15px,#fff,#0000),radial-gradient(2px 2px at 105px 85px,#fff,#0000),radial-gradient(2px 2px at 135px 35px,#fff,#0000),radial-gradient(2px 2px at 165px 75px,#fff,#0000),radial-gradient(2px 2px at 195px 55px,#fff,#0000),radial-gradient(2px 2px at 225px 25px,#fff,#0000),radial-gradient(2px 2px at 255px 95px,#fff,#0000),radial-gradient(2px 2px at 285px 45px,#fff,#0000),radial-gradient(2px 2px at 315px 15px,#fff,#0000),radial-gradient(2px 2px at 345px 75px,#fff,#0000),radial-gradient(2px 2px at 375px 35px,#fff,#0000),radial-gradient(2px 2px at 405px 85px,#fff,#0000),radial-gradient(2px 2px at 435px 55px,#fff,#0000),radial-gradient(1.5px 1.5px at 30px 50px,#e0e0e0,#0000),radial-gradient(1.5px 1.5px at 60px 10px,#e0e0e0,#0000),radial-gradient(1.5px 1.5px at 90px 70px,#e0e0e0,#0000),radial-gradient(1.5px 1.5px at 120px 30px,#e0e0e0,#0000),radial-gradient(1.5px 1.5px at 150px 90px,#e0e0e0,#0000),radial-gradient(1.5px 1.5px at 180px 50px,#e0e0e0,#0000),radial-gradient(1.5px 1.5px at 210px 10px,#e0e0e0,#0000),radial-gradient(1.5px 1.5px at 240px 70px,#e0e0e0,#0000),radial-gradient(1.5px 1.5px at 270px 30px,#e0e0e0,#0000),radial-gradient(1.5px 1.5px at 300px 90px,#e0e0e0,#0000),radial-gradient(1.5px 1.5px at 330px 50px,#e0e0e0,#0000),radial-gradient(1.5px 1.5px at 360px 10px,#e0e0e0,#0000),radial-gradient(1.5px 1.5px at 390px 70px,#e0e0e0,#0000),radial-gradient(1.5px 1.5px at 420px 30px,#e0e0e0,#0000),radial-gradient(1.5px 1.5px at 450px 90px,#e0e0e0,#0000),radial-gradient(1px 1px at 5px 20px,#b0b0b0,#0000),radial-gradient(1px 1px at 25px 40px,#b0b0b0,#0000),radial-gradient(1px 1px at 35px 60px,#b0b0b0,#0000),radial-gradient(1px 1px at 55px 80px,#b0b0b0,#0000),radial-gradient(1px 1px at 65px 5px,#b0b0b0,#0000),radial-gradient(1px 1px at 85px 25px,#b0b0b0,#0000),radial-gradient(1px 1px at 95px 45px,#b0b0b0,#0000),radial-gradient(1px 1px at 115px 65px,#b0b0b0,#0000),radial-gradient(1px 1px at 125px 85px,#b0b0b0,#0000),radial-gradient(1px 1px at 145px 15px,#b0b0b0,#0000),radial-gradient(1px 1px at 155px 35px,#b0b0b0,#0000),radial-gradient(1px 1px at 175px 55px,#b0b0b0,#0000),radial-gradient(1px 1px at 185px 75px,#b0b0b0,#0000),radial-gradient(1px 1px at 205px 95px,#b0b0b0,#0000),radial-gradient(1px 1px at 215px 5px,#b0b0b0,#0000),radial-gradient(1px 1px at 235px 25px,#b0b0b0,#0000),radial-gradient(1px 1px at 245px 45px,#b0b0b0,#0000),radial-gradient(1px 1px at 265px 65px,#b0b0b0,#0000),radial-gradient(1px 1px at 275px 85px,#b0b0b0,#0000),radial-gradient(1px 1px at 295px 15px,#b0b0b0,#0000),radial-gradient(1px 1px at 305px 35px,#b0b0b0,#0000),radial-gradient(1px 1px at 325px 55px,#b0b0b0,#0000),radial-gradient(1px 1px at 335px 75px,#b0b0b0,#0000),radial-gradient(1px 1px at 355px 95px,#b0b0b0,#0000),radial-gradient(1px 1px at 365px 5px,#b0b0b0,#0000),radial-gradient(1px 1px at 385px 25px,#b0b0b0,#0000),radial-gradient(1px 1px at 395px 45px,#b0b0b0,#0000),radial-gradient(1px 1px at 415px 65px,#b0b0b0,#0000),radial-gradient(1px 1px at 425px 85px,#b0b0b0,#0000),radial-gradient(1px 1px at 445px 15px,#b0b0b0,#0000),radial-gradient(1px 1px at 455px 35px,#b0b0b0,#0000),radial-gradient(1px 1px at 475px 55px,#b0b0b0,#0000),radial-gradient(1px 1px at 485px 75px,#b0b0b0,#0000),radial-gradient(1px 1px at 505px 95px,#b0b0b0,#0000),radial-gradient(1px 1px at 515px 5px,#b0b0b0,#0000),radial-gradient(1px 1px at 535px 25px,#b0b0b0,#0000),radial-gradient(1px 1px at 545px 45px,#b0b0b0,#0000),radial-gradient(1px 1px at 565px 65px,#b0b0b0,#0000),radial-gradient(1px 1px at 575px 85px,#b0b0b0,#0000),radial-gradient(1px 1px at 595px 15px,#b0b0b0,#0000),radial-gradient(1px 1px at 605px 35px,#b0b0b0,#0000),radial-gradient(1px 1px at 625px 55px,#b0b0b0,#0000),radial-gradient(1px 1px at 635px 75px,#b0b0b0,#0000),radial-gradient(1px 1px at 655px 95px,#b0b0b0,#0000),radial-gradient(1px 1px at 665px 5px,#b0b0b0,#0000),radial-gradient(1px 1px at 685px 25px,#b0b0b0,#0000),radial-gradient(1px 1px at 695px 45px,#b0b0b0,#0000),radial-gradient(1px 1px at 715px 65px,#b0b0b0,#0000),radial-gradient(1px 1px at 725px 85px,#b0b0b0,#0000),radial-gradient(1px 1px at 745px 15px,#b0b0b0,#0000),radial-gradient(1px 1px at 755px 35px,#b0b0b0,#0000),radial-gradient(1px 1px at 775px 55px,#b0b0b0,#0000),radial-gradient(1px 1px at 785px 75px,#b0b0b0,#0000),radial-gradient(1px 1px at 805px 95px,#b0b0b0,#0000),radial-gradient(1px 1px at 815px 5px,#b0b0b0,#0000),radial-gradient(1px 1px at 835px 25px,#b0b0b0,#0000),radial-gradient(1px 1px at 845px 45px,#b0b0b0,#0000),radial-gradient(1px 1px at 865px 65px,#b0b0b0,#0000),radial-gradient(1px 1px at 875px 85px,#b0b0b0,#0000),radial-gradient(1px 1px at 895px 15px,#b0b0b0,#0000),radial-gradient(1px 1px at 905px 35px,#b0b0b0,#0000),radial-gradient(1px 1px at 925px 55px,#b0b0b0,#0000),radial-gradient(1px 1px at 935px 75px,#b0b0b0,#0000),radial-gradient(1px 1px at 955px 95px,#b0b0b0,#0000),radial-gradient(1px 1px at 965px 5px,#b0b0b0,#0000),radial-gradient(1px 1px at 985px 25px,#b0b0b0,#0000),radial-gradient(1px 1px at 995px 45px,#b0b0b0,#0000);opacity:.5}.sign-out-button.full-width{align-items:center;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:2px solid #e2e8f0;border-radius:8px;color:#212529;cursor:pointer;display:flex;font-size:16px;font-weight:600;justify-content:space-between;margin-bottom:8px;margin-top:8px;padding:12px 20px;transition:background .2s,box-shadow .2s;width:100%}.sign-out-button.full-width:hover{background:#e0e7ef;box-shadow:0 2px 8px #667eea14}.sign-out-button .user-email{color:#6c757d;font-size:14px;margin-right:12px}.sign-out-button .sign-out-label{color:#764ba2;font-weight:700}.app-container.dark-theme .sign-out-button.full-width{background:#23233a;border-color:#3a3a4e;color:#e0e0e0}.app-container.dark-theme .sign-out-button.full-width:hover{background:#1e1e2e}.app-container.dark-theme .sign-out-button .user-email{color:#b0b0b0}.app-container.dark-theme .sign-out-button .sign-out-label{color:#a78bfa}.app-container.dark-theme,.app-container.dark-theme body{background:linear-gradient(135deg,#1a1a2e,#16213e)}.app-container.dark-theme .stat-value{color:#818cf8}.app-container{display:flex;flex-direction:column;min-height:100vh;position:relative;width:100%}.app-container,.app-container:not(.dark-theme){background:linear-gradient(135deg,#e8f0fe,#d6e9ff)}.loading{color:#fff;font-size:18px;text-align:center}.top-bar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-bottom:1px solid #0000001a;box-sizing:border-box;justify-content:space-between;left:0;padding:12px 24px;position:fixed;top:0;width:100%;z-index:1000}.top-bar,.top-bar .user-stats{align-items:center;display:flex}.top-bar .user-stats{gap:32px;margin-right:auto}.top-bar-buttons{align-items:center;display:flex;gap:12px}.top-bar-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:2px solid #667eea4d;border-radius:8px;box-shadow:0 2px 8px #0000001a;color:#5a67d8;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:all .3s ease}.view-stats-button{background:linear-gradient(135deg,#5a67d8,#6b46c1);border:none;color:#fff}.view-stats-button:hover{box-shadow:0 4px 12px #5a67d866;transform:translateY(-2px)}.top-bar-btn:hover{background:#fff;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.stat-item{align-items:center;background:#fffc;border:2px solid #5a67d833;border-radius:8px;display:flex;flex-direction:column;min-width:80px;padding:8px 16px;transition:all .2s ease}.stat-item:hover{background:#fff;border-color:#5a67d866;box-shadow:0 4px 12px #5a67d833;transform:translateY(-2px)}.stat-value{color:#5a67d8;font-size:24px;font-weight:700;line-height:1.2}.stat-label{color:#6c757d;font-size:12px;font-weight:600;letter-spacing:.5px;margin-top:4px;text-transform:uppercase}.top-bar .logo{color:#5a67d8;font-size:24px;font-weight:700}.top-bar .theme-toggle{background:none;border:none;color:#5a67d8;cursor:pointer;font-size:18px;position:relative;z-index:1003}.settings-toggle{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:2px solid #667eea4d;border-radius:8px;box-shadow:0 2px 8px #0000001a;cursor:pointer;display:flex;font-size:24px;height:48px;justify-content:center;padding:0;transition:all .3s ease;width:48px}.settings-toggle:hover{background:#fff;box-shadow:0 4px 12px #00000026;transform:rotate(90deg) translateY(-2px)}.settings-menu{animation:slideDown .3s ease;background:#fff;border:2px solid #e9ecef;border-radius:12px;box-shadow:0 8px 24px #0003;min-width:200px;overflow:visible;padding:16px;pointer-events:auto;position:fixed;right:32px;top:56px;z-index:2002}.settings-menu *{pointer-events:auto!important;position:relative}.settings-menu button{pointer-events:auto!important;z-index:1003!important}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.settings-item{margin-bottom:12px;pointer-events:auto;position:relative;z-index:1}.settings-item:last-child{margin-bottom:0}.settings-divider{background:#e9ecef;height:1px;margin:12px 0}.user-info{display:flex;flex-direction:column;font-size:14px;gap:12px;position:relative;width:100%;z-index:1}.user-info,.user-info *{pointer-events:auto}.user-info span{color:#6c757d;font-size:12px;pointer-events:none;word-break:break-all}.auth-button,.sign-out-button{-webkit-tap-highlight-color:transparent;align-items:center;background:linear-gradient(135deg,#5a67d8,#6b46c1);border:none;border-radius:8px;box-sizing:border-box;color:#fff;cursor:pointer;display:flex;font-size:15px;font-weight:600;justify-content:center;margin-top:4px;min-height:48px;padding:14px 24px;pointer-events:auto!important;position:relative;transition:all .2s ease;width:100%;z-index:1002!important}.auth-button:hover,.sign-out-button:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.settings-label{align-items:center;color:#212529;cursor:pointer;display:flex;font-size:16px;font-weight:500;gap:12px;-webkit-user-select:none;user-select:none}.settings-label input[type=checkbox]{accent-color:#5a67d8;cursor:pointer;height:20px;width:20px}.settings-label span{flex:1 1}.game-wrapper{background:#fffffff2;border-radius:16px;box-shadow:0 8px 32px #0000001a;display:flex;flex:1 1;flex-direction:column;margin:24px auto;max-width:900px;overflow:hidden;padding:0 24px;width:100%}.game-header{background:linear-gradient(135deg,#5a67d8,#6b46c1);border-radius:12px 12px 0 0;color:#fff;margin-top:80px;padding:40px 32px;position:relative;text-align:center;z-index:1}.game-title{font-size:48px;font-weight:800;letter-spacing:-1px;margin-bottom:8px;text-shadow:0 2px 4px #0000001a}.game-subtitle{font-size:16px;font-weight:500;opacity:.95}.game-content{align-items:center;display:flex;flex-direction:column;padding:40px 32px;position:relative;z-index:1}.main-game-area{align-items:flex-start;display:flex;flex-direction:row;gap:40px;justify-content:center;margin-bottom:0;padding:40px 0;width:100%}.side-panel{flex-direction:column;flex-shrink:0;min-width:200px}.bottles-container,.side-panel{align-items:center;display:flex;gap:20px}.bottles-container{flex:1 1;flex-wrap:wrap;justify-content:center;min-height:140px}.bottle-slot{align-items:center;display:flex;height:140px;justify-content:center;position:relative;width:80px}.bottle-placeholder{background:#f8f9fa80;border:3px dashed #dee2e6;-webkit-clip-path:polygon(35% 0,65% 0,70% 12%,85% 12%,90% 18%,92% 85%,88% 95%,12% 95%,8% 85%,10% 18%,15% 12%,30% 12%);clip-path:polygon(35% 0,65% 0,70% 12%,85% 12%,90% 18%,92% 85%,88% 95%,12% 95%,8% 85%,10% 18%,15% 12%,30% 12%);height:120px;pointer-events:none;position:absolute;transition:all .2s ease;width:80px;z-index:1}.bottle-slot.drag-over .bottle-placeholder{background:#5a67d81a;border-color:#5a67d8;border-style:solid}.bottle{-webkit-touch-callout:none;cursor:grab;height:120px;position:relative;touch-action:none;transition:all .3s ease;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;width:80px;z-index:2}.bottle:active{cursor:grabbing}.bottle:hover:not(.dragging){transform:translateY(-5px)}.bottle.dragging{opacity:.5;transform:scale(.9);z-index:100}.bottle-shape{align-items:center;background:var(--bottle-color);border:3px solid #0000;border-radius:0;box-shadow:0 4px 12px #00000026;-webkit-clip-path:polygon(35% 0,65% 0,70% 12%,85% 12%,90% 18%,92% 85%,88% 95%,12% 95%,8% 85%,10% 18%,15% 12%,30% 12%);clip-path:polygon(35% 0,65% 0,70% 12%,85% 12%,90% 18%,92% 85%,88% 95%,12% 95%,8% 85%,10% 18%,15% 12%,30% 12%);display:flex;height:100%;justify-content:center;position:relative;transition:all .3s ease;width:100%}.bottle.selected .bottle-shape{border-color:#5a67d8;box-shadow:0 8px 20px #5a67d866}.bottle-emoji{filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));font-size:48px}.check-button{background:linear-gradient(135deg,#5a67d8,#6b46c1);border:none;border-radius:12px;box-shadow:0 4px 12px #667eea4d;color:#fff;cursor:pointer;font-size:18px;font-weight:700;letter-spacing:1px;padding:16px 32px;text-transform:uppercase;transition:all .2s ease;width:100%}.check-button:hover:not(:disabled){box-shadow:0 6px 16px #667eea66;transform:translateY(-2px)}.check-button:active:not(:disabled){transform:translateY(0)}.check-button:disabled{cursor:not-allowed;opacity:.5}.feedback-display{animation:fadeInScale .5s ease;text-align:center;width:100%}@keyframes fadeInScale{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.feedback-number{background:#f8f9fa;border:2px solid #e9ecef;border-radius:12px;color:#212529;display:inline-block;font-size:32px;font-weight:800;min-width:200px;padding:20px}.guesses-counter{color:#6c757d;font-size:16px;font-weight:600;letter-spacing:.5px;text-align:center;text-transform:uppercase;width:100%}.puzzle-card{background:#f8f9fa;border:2px solid #e9ecef;border-radius:16px;margin-bottom:24px;padding:32px;text-align:center}.puzzle-prompt{color:#212529;font-size:24px;font-weight:600;line-height:1.5;margin-bottom:12px}.puzzle-description{color:#6c757d;font-size:16px;line-height:1.6}.puzzle-description small{color:#868e96;font-size:14px}.clues-section{background:#f8f9fa;border:2px solid #e9ecef;border-radius:16px;margin-bottom:24px;padding:24px}.clues-header{align-items:center;border-bottom:2px solid #dee2e6;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:12px}.clues-header h3{color:#212529;font-size:20px;font-weight:700;margin:0}.stage-indicator{background:linear-gradient(135deg,#5a67d8,#6b46c1);border-radius:20px;color:#fff;font-size:14px;font-weight:600;padding:6px 16px}.clues-stage{margin-bottom:20px}.clues-stage:last-child{margin-bottom:0}.stage-label{border-bottom:1px solid #dee2e6;color:#5a67d8;font-size:14px;font-weight:700;letter-spacing:.5px;margin-bottom:12px;padding-bottom:8px;text-transform:uppercase}.clue-item{background:#fff;border-left:3px solid #5a67d8;border-radius:8px;color:#495057;font-size:15px;line-height:1.5;margin-bottom:8px;padding:12px 16px}.clue-item.probabilistic{background:#fffbf0;border-left-color:#ffc107;font-style:italic}.clues-stage.probabilistic .stage-label{color:#ffc107}.question-card{background:#f8f9fa;border:2px solid #e9ecef;border-radius:16px;margin-bottom:32px;padding:32px;text-align:center}.question-text{color:#212529;font-size:24px;font-weight:600;line-height:1.5}.guess-form{align-items:stretch;display:flex;gap:12px;margin-bottom:24px}.guess-input{border:2px solid #dee2e6;border-radius:12px;flex:1 1;font-size:18px;font-weight:500;outline:none;padding:16px 20px;transition:all .2s ease}.guess-input:focus{border-color:#5a67d8;box-shadow:0 0 0 3px #5a67d81a}.guess-input::placeholder{color:#adb5bd}.guess-button{background:linear-gradient(135deg,#5a67d8,#6b46c1);border:none;border-radius:12px;box-shadow:0 4px 12px #667eea4d;color:#fff;cursor:pointer;font-size:18px;font-weight:600;padding:16px 32px;transition:all .2s ease;white-space:nowrap}.guess-button:hover:not(:disabled){box-shadow:0 6px 16px #667eea66;transform:translateY(-2px)}.guess-button:active:not(:disabled){transform:translateY(0)}.guess-button:disabled{cursor:not-allowed;opacity:.5}.feedback{animation:fadeIn .3s ease;border-radius:12px;font-size:18px;font-weight:600;margin-bottom:20px;padding:16px 20px;text-align:center}.feedback-detail{font-size:14px;font-weight:500;margin-top:8px;opacity:.8}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.feedback-win{background:#d4edda;border:2px solid #c3e6cb;color:#155724}.feedback-lose{background:#f8d7da;border:2px solid #f5c6cb;color:#721c24}.feedback-far{background:#fff3cd;border:2px solid #ffeaa7;color:#856404}.attempts-counter{color:#6c757d;font-size:14px;font-weight:500;margin-bottom:24px;text-align:center}.guesses-history{border-top:2px solid #e9ecef;margin-top:32px;padding-top:32px}.guesses-title{color:#6c757d;font-size:14px;font-weight:600;letter-spacing:.5px;margin-bottom:16px;text-transform:uppercase}.guess-item{background:#f8f9fa;border-radius:8px;gap:12px;justify-content:space-between;margin-bottom:8px;padding:12px 16px;transition:all .2s ease}.guess-bottles,.guess-item{align-items:center;display:flex}.guess-bottles{gap:8px}.guess-bottle-emoji{font-size:24px}.guess-count{color:#5a67d8;font-size:18px;font-weight:700;min-width:60px;text-align:right}.target-order{display:flex;gap:12px;justify-content:center;margin-top:16px}.target-bottle{font-size:32px}.guess-item.guess-win{background:#d4edda;border:1px solid #c3e6cb}.guess-item.guess-lose{background:#f8d7da;border:1px solid #f5c6cb}.guess-number{color:#212529;font-size:18px;font-weight:700}.guess-feedback-text{color:#6c757d;font-size:14px;font-weight:500}.guess-win .guess-feedback-text{color:#155724}.guess-lose .guess-feedback-text{color:#721c24}.game-over{border-top:2px solid #e9ecef;margin-top:32px;padding-top:32px}.game-result{animation:scaleIn .4s ease;border-radius:16px;margin-bottom:24px;padding:32px;text-align:center}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.result-win{background:linear-gradient(135deg,#d4edda,#c3e6cb);border:2px solid #c3e6cb}.result-lose{background:linear-gradient(135deg,#f8d7da,#f5c6cb);border:2px solid #f5c6cb}.result-icon{font-size:64px;margin-bottom:16px}.result-text{color:#212529;font-size:32px;font-weight:800;margin-bottom:8px}.result-subtext{color:#495057;font-size:18px;font-weight:500}.result-subtext strong{color:#212529;font-weight:700}.restart-button{background:linear-gradient(135deg,#5a67d8,#6b46c1);border:none;border-radius:12px;box-shadow:0 4px 12px #667eea4d;color:#fff;cursor:pointer;font-size:18px;font-weight:600;padding:16px 32px;transition:all .2s ease;width:100%}.restart-button:hover{box-shadow:0 6px 16px #667eea66;transform:translateY(-2px)}.restart-button:active{transform:translateY(0)}.game-footer{background:#f8f9fa;border-top:2px solid #e9ecef;padding:24px 32px;text-align:center}.game-footer p{color:#6c757d;font-size:14px;font-weight:500}.save-prompt{font-size:13px;margin-top:12px}.save-link{background:none;border:none;color:#5a67d8;cursor:pointer;font-size:13px;font-weight:600;padding:0;text-decoration:underline}.save-link:hover{color:#6b46c1}.save-notice{color:#28a745;font-size:14px;font-weight:600;margin-top:12px}.app-container.dark-theme .game-wrapper{background:#1e1e2e;box-shadow:0 20px 60px #00000080}.app-container.dark-theme .top-bar{background:#1e1e2ef2;border-bottom:1px solid #ffffff1a}.app-container.dark-theme .top-bar-btn{background:#2a2a3ee6;border-color:#8a9eff4d;color:#8a9eff}.app-container.dark-theme .view-stats-button{background:linear-gradient(135deg,#5a67d8,#6b46c1);color:#fff}.app-container.dark-theme .view-stats-button:hover{box-shadow:0 4px 12px #8a9eff66}.app-container.dark-theme .top-bar-btn:hover{background:#323246;border-color:#8a9eff80}.app-container.dark-theme .stat-item{background:#2a2a3ecc;border-color:#8a9eff33}.app-container.dark-theme .stat-item:hover{background:#323246;border-color:#8a9eff66;box-shadow:0 4px 12px #8a9eff33}.app-container.dark-theme .stat-value{color:#8a9eff}.app-container.dark-theme .stat-label{color:#b0b0b0}.app-container.dark-theme .game-header{background:linear-gradient(135deg,#2d3561,#3d2a54)}.app-container.dark-theme .bottle-placeholder{background:#1e1e2e80;border-color:#3a3a4e}.app-container.dark-theme .bottle-slot.drag-over .bottle-placeholder{background:#8a9eff33;border-color:#8a9eff}.app-container.dark-theme .bottle-shape{box-shadow:0 4px 12px #0000004d}.app-container.dark-theme .feedback-number{background:#2a2a3e;border-color:#3a3a4e;color:#e0e0e0}.app-container.dark-theme .guesses-counter{color:#b0b0b0}.app-container.dark-theme .guess-count{color:#8a9eff}.app-container.dark-theme .puzzle-card{background:#2a2a3e;border-color:#3a3a4e}.app-container.dark-theme .puzzle-prompt{color:#e0e0e0}.app-container.dark-theme .puzzle-description{color:#b0b0b0}.app-container.dark-theme .puzzle-description small{color:#888}.app-container.dark-theme .clues-section{background:#2a2a3e;border-color:#3a3a4e}.app-container.dark-theme .clues-header h3{color:#e0e0e0}.app-container.dark-theme .clues-header{border-color:#3a3a4e}.app-container.dark-theme .stage-label{border-color:#3a3a4e;color:#8a9eff}.app-container.dark-theme .clue-item{background:#1e1e2e;border-left-color:#8a9eff;color:#d0d0d0}.app-container.dark-theme .clue-item.probabilistic{background:#2a241e;border-left-color:#ffd54f}.app-container.dark-theme .question-card{background:#2a2a3e;border-color:#3a3a4e}.app-container.dark-theme .question-text{color:#e0e0e0}.app-container.dark-theme .guess-input{background:#2a2a3e;border-color:#3a3a4e;color:#e0e0e0}.app-container.dark-theme .guess-input::placeholder{color:#888}.app-container.dark-theme .attempts-counter,.app-container.dark-theme .guesses-title{color:#b0b0b0}.app-container.dark-theme .guess-item{background:#2a2a3e;border:1px solid #3a3a4e}.app-container.dark-theme .guess-number{color:#e0e0e0}.app-container.dark-theme .guess-feedback-text{color:#b0b0b0}.app-container.dark-theme .game-footer{background:#2a2a3e;border-color:#3a3a4e}.app-container.dark-theme .game-footer p{color:#b0b0b0}.app-container.dark-theme .settings-toggle{background:#1e1e2ee6;border-color:#667eea80;color:#e0e0e0}.app-container.dark-theme .settings-menu{background:#2a2a3e;border-color:#3a3a4e}.app-container.dark-theme .settings-label{color:#e0e0e0}.app-container.high-contrast .game-wrapper{border:4px solid #000}.app-container.high-contrast .bottle-shape{border:3px solid #000;box-shadow:0 4px 12px #00000080}.app-container.high-contrast .bottle.selected .bottle-shape{border:4px solid #000;box-shadow:0 8px 20px #0009}.app-container.high-contrast .feedback-number{background:#fff;border:3px solid #000;color:#000;font-weight:900}.app-container.high-contrast .check-button{background:#000;border:3px solid #000;color:#fff;font-weight:800}.app-container.high-contrast .guess-item{background:#fff}.app-container.high-contrast .guess-count{color:#000;font-weight:900}.app-container.high-contrast .puzzle-card{background:#fff;border:3px solid #000}.app-container.high-contrast .puzzle-prompt{color:#000;font-weight:700}.app-container.high-contrast .clues-section{background:#fff;border:3px solid #000}.app-container.high-contrast .clue-item{background:#fff;border:2px solid #000;color:#000;font-weight:600}.app-container.high-contrast .stage-label{border-color:#000;color:#000;font-weight:800}.app-container.high-contrast .question-card{background:#fff;border:3px solid #000}.app-container.high-contrast .question-text{color:#000;font-weight:700}.app-container.high-contrast .guess-input{background:#fff;border:3px solid #000;color:#000;font-weight:600}.app-container.high-contrast .guess-button{background:#000;border:3px solid #000;color:#fff}.app-container.high-contrast .feedback-win{background:#0f0;border:3px solid #000;color:#000;font-weight:700}.app-container.high-contrast .feedback-lose{background:red;border:3px solid #000;color:#fff;font-weight:700}.app-container.high-contrast .feedback-far{background:#ff0;border:3px solid #000;color:#000;font-weight:700}.app-container.high-contrast .guess-item{border:2px solid #000}.app-container.high-contrast .guess-item.guess-win{background:#0f0;border:3px solid #000}.app-container.high-contrast .guess-item.guess-lose{background:red;border:3px solid #000}.app-container.high-contrast .guess-number{color:#000;font-weight:800}.app-container.high-contrast .result-win{background:#0f0;border:4px solid #000}.app-container.high-contrast .result-lose{background:red;border:4px solid #000}.app-container.high-contrast .result-text{color:#000;font-weight:900}.app-container.high-contrast .restart-button{background:#000;border:3px solid #000;color:#fff;font-weight:700}.app-container.high-contrast.dark-theme .game-wrapper{background:#000;border:4px solid #fff}.app-container.high-contrast.dark-theme .question-card{background:#000;border:3px solid #fff}.app-container.high-contrast.dark-theme .question-text{color:#fff}.app-container.high-contrast.dark-theme .guess-input{background:#000;border:3px solid #fff;color:#fff}.app-container.high-contrast.dark-theme .settings-menu{background:#000;border:3px solid #fff}.app-container.high-contrast.dark-theme .settings-label{color:#fff}@media (max-width:900px){.main-game-area{align-items:center;flex-direction:column;gap:32px}.bottles-container{justify-content:center;width:100%}.side-panel{max-width:400px;width:100%}}@media (max-width:640px){.settings-bar{right:10px;top:10px}.settings-toggle{font-size:20px;height:40px;width:40px}.settings-menu{min-width:180px;padding:12px;right:0;top:52px}.game-header{padding:32px 24px}.game-title{font-size:36px}.game-subtitle{font-size:14px}.game-content{padding:32px 24px}.bottles-container{gap:12px}.bottle{height:90px;width:60px}.bottle-emoji{font-size:36px}.check-button{font-size:18px;padding:14px 24px}.feedback-number{font-size:24px;padding:16px}.guess-bottle-emoji{font-size:20px}.target-bottle{font-size:24px}.question-text{font-size:20px}.guess-form{flex-direction:column}.guess-button{width:100%}.result-icon{font-size:48px}.result-text{font-size:24px}.result-subtext{font-size:16px}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
/*# sourceMappingURL=main.bcd8027b.css.map*/