:root{--font-primary:"IBM Plex Mono","Courier New",monospace;--font-secondary:Arial,Helvetica,sans-serif;--font-monospace:monospace;--grid-cell-width:1.25ch;--char-font-size:1.05rem;--char-letter-spacing:2px;--bg-color:#fff;--text-color-primary:#333;--text-color-secondary:#0042aa;--grid-border-color:#ddd;--letter-bg-color:#fff}body,html{font-family:IBM Plex Mono,Courier New,monospace;font-family:var(--font-primary);height:100%;margin:0;overflow-x:hidden;padding:0;width:100%}html{height:-webkit-fill-available}body{overscroll-behavior-y:none}.App-container,body{min-height:100vh;min-height:-webkit-fill-available}.App-container{display:flex;flex-direction:column;width:100%}@supports (-webkit-overflow-scrolling:touch){body{overscroll-behavior-y:none}}.App{background-color:#fff;background-color:var(--bg-color);border-radius:10px;box-shadow:0 4px 6px #0000001a;font-family:IBM Plex Mono,Courier New,monospace;font-family:var(--font-primary);margin:30px auto;max-width:900px;padding:20px;text-align:center}.mobile-game-container{height:-webkit-fill-available;overflow:hidden}.retro-title{color:#333;font-family:IBM Plex Mono,Courier New,monospace;font-family:var(--font-primary);font-size:1.5rem;font-weight:700;left:50%;letter-spacing:1px;margin:0 0 20px;position:absolute;text-align:center;transform:translateX(-50%)}.about-icon,.account-icon,.settings-icon{align-items:center;background:none;border:none;border-radius:50%;box-shadow:none;color:#212529;cursor:pointer;display:flex;justify-content:center;padding:8px;position:absolute;transition:all .2s ease}.hint-button,.settings-icon{background-color:#0042aa;color:#fff;font-size:.8rem}.about-icon:hover,.account-icon:hover,.settings-icon:hover{background-color:#f0f0f0;color:#fff}.account-icon svg{height:28px;width:28px}.account-icon{bottom:30px;right:10px;transform:translateY(50%)}button{background-color:#000;border:none;border-radius:6px;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;font-family:Arial,Helvetica,sans-serif;font-family:var(--font-secondary);font-weight:600;padding:10px 18px;transition:all .2s ease}button:disabled{background-color:#dee2e6;box-shadow:none;color:#6c757d;cursor:not-allowed}button:hover:not(:disabled){background-color:#0069d9;box-shadow:0 4px 6px #0000001a;transform:translateY(-1px)}.text-container{-ms-overflow-style:none;overflow:hidden;padding:1px 12px;scrollbar-width:none}.text-container::-webkit-scrollbar{display:none}.display,.encrypted{word-wrap:break-word;font-feature-settings:"tnum";box-sizing:border-box;color:#333;color:var(--text-color-primary);font-family:IBM Plex Mono,Courier New,monospace;font-family:var(--font-primary);font-size:"IBM Plex Mono","Courier New",monospace;font-size:var(--font-primary);font-variant-numeric:tabular-nums;letter-spacing:0;line-height:1.7;margin:0;overflow-wrap:anywhere;padding:15px 20px;position:relative;white-space:pre-wrap;width:100%;word-break:keep-all}.encrypted{background-color:#e9ecef;border-bottom:1px solid #dee2e6;color:#495057;font-weight:600;z-index:1}.display{background-color:#fff;color:#212529;font-weight:700;z-index:1}.badge-indicator{border-bottom-left-radius:5px;box-shadow:0 2px 4px #0003;font-size:.7rem;font-weight:700;letter-spacing:1px;padding:3px 8px;position:absolute;right:0;top:0;z-index:10}.encrypted-line{color:#495057;font-weight:600;margin:0;padding:2px 0 0;text-align:center}.display-line{color:#000;font-weight:700;margin:0 0 4px;padding:0 0 4px;text-align:center}.char-grid{font-feature-settings:"tnum";display:inline-flex;flex-wrap:wrap;font-variant-numeric:tabular-nums;-webkit-hyphens:none;hyphens:none;justify-content:center;line-height:1.2;max-width:100%;min-height:1.2em;overflow-wrap:break-word;padding:.1em 0;text-align:center;white-space:pre-wrap;width:100%;word-break:keep-all;word-spacing:.25em}.char-grid.encrypted-line{color:#333;line-height:1.2;min-height:1.2em;padding:4px 0 0}.char-grid.display-line{color:#0042aa;line-height:1.2;margin-bottom:8px;margin-top:8px;min-height:1.2em;padding:0 0 8px}.grid-cell{align-items:center;box-sizing:border-box;display:flex;justify-content:center;max-width:1.25ch;max-width:var(--grid-cell-width);min-width:1.25ch;min-width:var(--grid-cell-width);width:1.25ch;width:var(--grid-cell-width)}.space-cell{position:relative}.space-dot{font-size:.7em;opacity:.5;position:absolute}.letter-cell{align-items:center;background-color:#fff;background-color:var(--letter-bg-color);border:1px solid #ddd;border:1px solid var(--grid-border-color);border-radius:4px;box-shadow:0 1px 2px #0000000d;color:#333;color:var(--text-color-primary);cursor:pointer;display:flex;font-family:IBM Plex Mono,Courier New,monospace;font-family:var(--font-primary);font-size:1.3em;font-weight:700;height:38px;justify-content:center;position:relative;transition:all .2s ease;-webkit-user-select:none;user-select:none;width:38px}.guess-grid .letter-cell{color:#0042aa;color:var(--text-color-secondary)}.letter-cell:hover{background-color:#f0f8ff;border-color:#b8daff;transform:translateY(-1px)}.selected{background-color:#007bff;border-color:#0062cc;box-shadow:0 0 0 3px #007bff40;color:#fff;transform:scale(1.05)}.guessed{box-shadow:none;color:#495057;cursor:default}.guessed,.guessed:hover{background-color:#e9ecef;border-color:#ced4da}.guessed:hover{transform:none}.flash{animation:flash .8s ease-out}@keyframes flash{0%{background-color:#28a745;color:#fff}70%{background-color:#d4edda;color:#155724}to{background-color:#fff;color:inherit}}.frequency-indicator{bottom:1px;font-size:.55em;font-weight:400;line-height:1;opacity:.7;position:absolute;right:2px}.game-message{background-color:#f0f8ff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin:20px 0;padding:15px}.save-quote-container{align-items:center;display:flex;flex-direction:column;gap:10px;margin:15px auto;max-width:300px}.save-button{background-color:#28a745;border:none;border-radius:6px;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;font-weight:600;padding:10px 16px;transition:all .2s ease;width:100%}.save-button:hover:not(:disabled){background-color:#218838;box-shadow:0 4px 6px #0000001a;transform:translateY(-1px)}.save-status{animation:fade-in .3s ease-out;border-radius:4px;font-size:.9em;padding:8px 12px;text-align:center;width:100%}.save-success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.save-error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.leaderboard-button-fixed{background-color:#000;border:1px solid #d4a017;border-radius:57%;bottom:30px;box-shadow:0 2px 8px #e6b91e80;color:#e5b80b;display:flex;left:10px;padding:8px;position:absolute;transform:translateY(50%);transition:all .2s ease}.leaderboard-button-fixed:hover{background:linear-gradient(180deg,#ffdf4f,#fdbc40)!important;box-shadow:0 3px 10px #e6b91ea6!important;color:#000!important}.user-position{color:#0042aa;padding:10px;text-align:center}.account-icon.authenticated{position:relative}.auth-indicator{background-color:#28a745;border:2px solid #fff;border-radius:50%;height:8px;position:absolute;right:-3px;top:-3px;width:8px}.loading-container{align-items:center;display:flex;flex-direction:column;height:100vh;justify-content:flex-start;padding-top:10px;position:relative;z-index:1}.loading-title{font-family:IBM Plex Mono,Courier New,monospace;font-family:var(--font-primary);font-size:1.4rem;letter-spacing:1px;margin-bottom:15px;position:relative;z-index:2}.loading-animation{box-shadow:0 4px 15px #0003;height:250px;margin:20px 0;max-width:600px;overflow:hidden;width:80%}.loading-animation,.loading-retry{border-radius:8px;position:relative;z-index:2}.loading-retry{margin-top:20px;max-width:90%;padding:15px;text-align:center;width:400px}.light-theme .loading-retry{background-color:#f8f9fa}.loading-error{color:#ff6b6b;font-size:.9rem;margin-bottom:15px}.light-theme .loading-error{color:#dc3545}.retry-button{border:none;border-radius:4px;cursor:pointer;font-weight:700;margin-top:10px;padding:8px 20px;transition:all .2s ease}.dark-theme .retry-button{background-color:#4cc9f0;color:#333}.dark-theme .retry-button:hover{background-color:#3db8df;box-shadow:0 4px 8px #4cc9f04d;transform:translateY(-2px)}.light-theme .retry-button{background-color:#007bff;color:#fff}.light-theme .retry-button:hover{background-color:#0069d9;box-shadow:0 4px 8px #007bff4d;transform:translateY(-2px)}.error-container{border-radius:12px;box-shadow:0 4px 20px #00000026;margin:100px auto 0;max-width:450px;padding:25px;position:relative;text-align:center;z-index:5}.light-theme .error-container{background-color:#f0f8ff}.error-title{font-family:IBM Plex Mono,Courier New,monospace;font-family:var(--font-primary);margin-bottom:15px}.error-message{margin-bottom:20px}.light-theme .error-message{color:#dc3545}.try-again-button{border:none;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:700;margin-top:5px;padding:12px 24px;transition:all .2s ease}.light-theme .try-again-button{background-color:#007bff;color:#fff}.light-theme .try-again-button:hover{background-color:#0069d9;box-shadow:0 4px 8px #007bff4d;transform:translateY(-2px)}.help-text{font-size:.85rem;font-style:italic;margin-top:25px;opacity:.7}.daily-completion-notice{animation:slideDown .3s ease-out;background-color:#000000d9;border-radius:8px;box-shadow:0 4px 10px #0000004d;color:#fff;font-family:Courier New,monospace;left:50%;max-width:300px;padding:15px 20px;position:fixed;text-align:center;top:20px;transform:translateX(-50%);z-index:1000}.dark-theme .daily-completion-notice{background-color:#191923e6;border:1px solid #4cc9f0;color:#4cc9f0}.daily-completion-notice .notice-content{align-items:center;display:flex;flex-direction:column}.daily-completion-notice h3{font-family:Courier New,monospace;margin:0 0 10px}.daily-completion-notice p{font-size:.9rem;margin:5px 0}.daily-completion-notice .completion-stats{font-size:.9rem;margin:10px 0}.daily-completion-notice button{background-color:#4cc9f0;border:none;border-radius:4px;color:#000;cursor:pointer;font-family:Courier New,monospace;font-size:.9rem;font-weight:700;margin-top:10px;padding:6px 12px}.daily-completion-notice button:hover{background-color:#3db9e0}@keyframes slideDown{0%{opacity:0;top:-100px}to{opacity:1;top:20px}}@media (max-width:576px){.daily-completion-notice{font-size:.9rem;max-width:90%}}.dark-theme{--font-primary:"Courier New",monospace;--font-secondary:"Courier New",monospace;--bg-color:#222;--text-color-primary:#4cc9f0;--text-color-secondary:#00ed99;--grid-border-color:#444;--letter-bg-color:#333;color:#4cc9f0}.App-container.dark-theme,.App.dark-theme,.dark-theme,body.dark-theme,html.dark-theme{background-color:#222}.dark-theme .retro-title{background:linear-gradient(135deg,#4cc9f0 25%,#00f900);-webkit-background-clip:text;background-clip:text;color:#0000;font-family:Courier New,Courier,monospace;font-size:1.5rem;font-weight:700;text-shadow:0 0 5px rgb(var(--text-color-secondary),.85)}.dark-theme .text-container{background-color:#333;color:#f8f9fa}.dark-theme .encrypted-line{color:var(--text-color-primary);text-shadow:0 0 8px rgb(var(--text-color-primary),.75)}.dark-theme .display-line{color:var(--text-color-secondary);text-shadow:0 0 8px rgb(var(--text-color-secondary),.75)}.dark-theme .guessed{background-color:#222;border-color:#7a7a7a;box-shadow:none;color:#aaa;cursor:default}.dark-theme .letter-cell .guessed{background-color:#222;border-color:#7a7a7a;color:grey}.dark-theme .display,.dark-theme .encrypted{background-color:#222}.dark-theme .display{color:#f8f9fa}.dark-theme .game-message{background-color:#344055}.dark-theme .hardcore-badge{box-shadow:0 2px 4px #0006;color:#fff}.dark-theme .save-success{background-color:#285e34;border-color:#28a745;color:#d4edda}.dark-theme .save-error{background-color:#482633;border-color:#dc3545;color:#f8d7da}.dark-theme .auth-indicator{background-color:#4cc9f0;border:2px solid #222}.dark-theme.placeholder-contrasting .display{color:#f8f9fa}.dark-theme.placeholder-contrasting .display .placeholder{color:#00ff41;font-weight:700;opacity:.9;text-shadow:0 0 5px #00ff4180}.dark-theme .loading-retry{background-color:#333}.dark-theme .loading-error{color:#ff6b6b}.dark-theme .error-container{background-color:#333;box-shadow:0 4px 20px #00000040}.dark-theme .error-message{color:#ff6b6b}.dark-theme .try-again-button{background-color:#4cc9f0;color:#333}.dark-theme .try-again-button:hover{background-color:#3db8df;box-shadow:0 4px 8px #4cc9f04d;transform:translateY(-2px)}.dark-theme .help-text{color:#adb5bd}.login-container{border-radius:8px;box-shadow:0 4px 20px #00000026;max-width:400px;padding:25px;width:90%;z-index:5000}.login-form{gap:15px;margin-top:20px}.login-field,.login-form{display:flex;flex-direction:column}.login-field{gap:5px}.login-field label{font-size:14px;font-weight:500}.login-field input{background-color:#ffffffe6;border:1px solid #ccc;border-radius:4px;color:#333;font-size:16px;padding:10px}.dark-theme .login-field input{background-color:#1e1e28e6;border-color:#444;color:#f0f0f0}.login-button{background-color:#4a90e2;font-size:16px;font-weight:500;margin-top:10px;padding:12px;transition:background-color .2s}.login-button:hover:not(:disabled){background-color:#3a7bc8}.login-button:disabled{background-color:#84aed9;cursor:not-allowed}.login-error{color:#e74c3c;font-size:14px;font-weight:500;margin-top:5px}.login-icon{align-items:center;background:none;background-color:#ffffffe6;border:none;border-radius:50%;bottom:20px;box-shadow:0 2px 10px #0003;cursor:pointer;display:flex;height:48px;justify-content:center;position:fixed;right:20px;transition:transform .2s,background-color .2s;width:48px;z-index:100}.login-icon:hover{background-color:#fff;transform:scale(1.1)}.dark-theme .login-icon{background-color:#1e1e28e6;color:#f0f0f0}.dark-theme .login-icon:hover{background-color:#1e1e28}.controls{justify-content:space-between;position:relative}.controls,.controls-main{align-items:center;display:flex}.controls-main{flex:1 1;flex-direction:column}@media (max-width:768px){.login-icon{bottom:15px;height:42px;right:15px;width:42px}}.login-actions{display:flex;justify-content:space-between;margin-top:15px;width:100%}.text-button{background:none;border:none;color:#4a90e2;cursor:pointer;font-size:14px;padding:5px;text-decoration:underline;transition:color .2s}.text-button:hover{color:#3a7bc8}.dark-theme .text-button{color:#4cc9f0}.dark-theme .text-button:hover{color:#6ad7ff}.forgot-password{text-align:left}.create-account{text-align:right}.remember-me-container{align-items:center;display:flex;margin-bottom:15px}.remember-me-label{align-items:center;color:inherit;cursor:pointer;display:flex;font-size:.9rem;-webkit-user-select:none;user-select:none}.remember-me-checkbox{cursor:pointer;margin-right:8px}.dark-theme .remember-me-label{color:#f0f0f0}.dark-theme .remember-me-checkbox{accent-color:#4cc9f0}.checkbox-field{margin:15px 0}.consent-label{align-items:flex-start;cursor:pointer;display:flex;font-size:.9rem;line-height:1.4;-webkit-user-select:none;user-select:none}.consent-checkbox{margin-right:10px;margin-top:3px}.dark-theme .consent-label{color:#f0f0f0}.consent-info{color:#6c757d;font-size:.85rem;line-height:1.4;margin-left:25px;margin-top:5px}.dark-theme .consent-info{color:#adb5bd}.about-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#00000080;background-color:#000000b3;bottom:0;display:flex;height:100%;justify-content:center;left:0;position:fixed;right:0;top:0;width:100%;z-index:9999;z-index:2000}.about-container{background-color:#fff;border-radius:10px;box-shadow:0 4px 15px #0003;font-family:Courier New,Courier,monospace;max-height:80vh;max-width:600px;overflow-y:auto;padding:25px;position:relative;scrollbar-color:#4cc9f099 #0000001a;scrollbar-width:thin;width:90%}.about-container.dark-theme{background-color:#333;box-shadow:0 4px 15px #00000080;color:#d357fe}.about-close{background:none;border:none;color:#495057;cursor:pointer;font-size:24px;position:absolute;right:15px;top:10px;z-index:10}.about-container.dark-theme .about-close{color:#d357fe}.about-container .left-grid-reference{color:#4cc9f0;font-weight:600}.about-container .right-grid-reference{color:#00e198;font-weight:600}body:not(.dark-theme) .about-container .left-grid-reference{color:#333}body:not(.dark-theme) .about-container .right-grid-reference{color:#0042aa}.mobile-mode.dark-theme .about-container .left-grid-reference{-webkit-text-fill-color:#4cc9f0!important;color:#4cc9f0!important}.mobile-mode.dark-theme .about-container .right-grid-reference{-webkit-text-fill-color:#00e198!important;color:#00e198!important}.game-header{margin-bottom:10px;position:relative}.about-icon,.game-header,.settings-icon{align-items:center;display:flex;justify-content:center}.about-icon,.settings-icon{background:none;border:none;border-radius:50%;color:#495057;cursor:pointer;padding:8px;position:absolute;transition:all .2s ease}.settings-icon{right:10px}.about-icon,.settings-icon{top:50%;transform:translateY(-50%)}.about-icon{left:10px}.about-icon:hover,.settings-icon:hover{background-color:#f0f0f0;color:#007bff}.about-icon svg,.settings-icon svg{height:24px;width:24px}.dark-theme .about-icon svg,.dark-theme .settings-icon svg{color:#4cc9f0}.dark-theme .about-icon svg:hover,.dark-theme .settings-icon svg:hover{color:#00e198}.about-footer{border-top:1px solid #ddd;display:flex;flex-direction:column;gap:15px;margin-top:25px;padding-top:15px}.dark-theme .about-footer{border-top-color:#444}.privacy-link{color:#007bff;display:inline-block;padding:5px 0;text-decoration:none}.dark-theme .privacy-link{color:#4cc9f0}.privacy-link:hover{text-decoration:underline}.contact-info{margin-top:10px}.contact-info p{font-size:.9em;margin-bottom:5px;opacity:.9}.contact-email{color:#007bff;text-decoration:none}.dark-theme .contact-email{color:#4cc9f0}.contact-email:hover{text-decoration:underline}.about-container:after,.privacy-container:after{background:linear-gradient(180deg,#0000,#0000001a);border-radius:0 0 8px 8px;bottom:0;content:"";height:20px;left:0;opacity:.8;pointer-events:none;position:absolute;right:0}.dark-theme .about-container:after,.dark-theme .privacy-container:after{background:linear-gradient(180deg,#0000,#4cc9f01a)}@media (max-width:768px){.about-container,.privacy-container{overflow-y:auto!important;padding-bottom:30px}.about-container::-webkit-scrollbar,.privacy-container::-webkit-scrollbar{width:12px}.about-container:after,.privacy-container:after{animation:scroll-indicator 2s ease-in-out infinite}@keyframes scroll-indicator{0%,to{opacity:.6}50%{opacity:1}}}.settings-overlay{align-items:flex-start;background-color:#000000b3;bottom:0;display:flex;font:Courier New,Courier,monospace;justify-content:center;left:0;overflow-y:auto;padding:30px 0;position:fixed;right:0;top:0;z-index:2000}.settings-container{background-color:#fff;border-radius:10px;box-shadow:0 0 10px #0003;max-height:90vh;max-width:500px;overflow-y:auto;padding:20px;position:relative;width:90%;z-index:5001}settings-content{z-index:5002}body.dark-theme .settings-container{background-color:#333;box-shadow:0 4px 6px #0000004d}.settings-title{color:#333;font-size:1.75rem;font-weight:700;letter-spacing:1px;margin-bottom:30px;text-align:center}.settings-section{background-color:#f8f9fa;border-left:4px solid #007bff;border-radius:8px;margin-bottom:25px;padding:20px}.settings-section h2{color:#495057;font-size:1.2rem;margin-bottom:15px;margin-top:0}.settings-options{display:flex;flex-direction:column;gap:12px}.color-preview{border:1px solid #ddd;border-radius:50%;display:inline-block;height:20px;margin-left:10px;vertical-align:middle;width:20px}.color-preview.default{background:linear-gradient(135deg,#fff 50%,#212529 0)}.color-preview.scifi-blue{background-color:#4cc9f0;box-shadow:0 0 5px #4cc9f0b3}body.dark-theme .color-preview.default{background:linear-gradient(135deg,#f8f9fa 50%,#222 0)}.settings-option{align-items:center;border-radius:6px;cursor:pointer;display:flex;padding:8px 12px;transition:background-color .2s}.settings-option:hover{background-color:#e9ecef}.settings-option input{margin-right:12px}.option-label{color:#212529;font-size:1rem}.settings-button{border:none;border-radius:6px;box-shadow:0 2px 4px #0000001a;cursor:pointer;font-weight:600;padding:10px 18px;transition:all .2s ease}.settings-button.save{background-color:#007bff;color:#fff}.settings-button.save:hover{background-color:#0069d9;box-shadow:0 4px 6px #0000001a;transform:translateY(-1px)}.settings-button.cancel{background-color:#f8f9fa;border:1px solid #ced4da;color:#495057}.settings-button.cancel:hover{background-color:#e9ecef}.disabled{cursor:not-allowed;opacity:.6}.disabled:hover{background-color:inherit}.coming-soon{background-color:#e9ecef;border-radius:10px;color:#6c757d;font-size:.75rem;font-style:italic;margin-left:10px;padding:2px 8px}body.dark-theme .settings-container{background-color:#222;color:#f8f9fa}body.dark-theme .settings-title{color:#f8f9fa}body.dark-theme .settings-section{background-color:#333;border-left:4px solid #0d6efd}body.dark-theme .settings-section h2{color:#e9ecef}body.dark-theme .settings-option:hover{background-color:#444}body.dark-theme .option-label{color:#e9ecef}body.dark-theme .settings-button.cancel{background-color:#444;border:1px solid #666;color:#e9ecef}body.dark-theme .settings-button.cancel:hover{background-color:#555}body.dark-theme .coming-soon{background-color:#444;color:#adb5bd}.settings-description{font-size:.85rem;margin-top:.5rem;opacity:.8;padding-left:1.5rem}.warning-text{border-left:2px solid #ff9800;color:#ff9800;margin-top:.75rem;padding-left:.75rem}.dark-theme .warning-text{border-left:2px solid #ffb74d;color:#ffb74d}.settings-actions{display:flex;gap:15px;justify-content:flex-end;margin-top:30px}.settings-actions.top{border-bottom:1px solid #ddd;margin-bottom:20px;margin-top:0;padding-bottom:15px}.dark-theme .settings-actions.top{border-bottom-color:#444}.settings-container.landscape-layout{max-height:80vh;max-width:90%;overflow-y:auto}.settings-container.landscape-layout .settings-section{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr)}.settings-container.landscape-layout .settings-actions{display:flex;gap:10px;justify-content:flex-end}.leaderboard{background:#fff;color:#333;font-family:Courier New,Courier,monospace;margin:0 auto;max-width:800px;padding:20px}.dark-theme .leaderboard{background:#222;color:#ddd}.leaderboard h2{color:#333;font-size:1.5rem;margin:0 0 20px;text-align:center}.dark-theme .leaderboard h2{color:#4cc9f0}.tabs-container{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px;width:100%}.tabs{display:flex;flex:1 1;gap:10px;justify-content:center}.tab{background:none;border:none;color:#0042aa;cursor:pointer;font-family:inherit;padding:8px 16px;transition:color .2s ease}.tab:hover{color:#000}.tab.active{border-bottom:2px solid #000;color:#000}.dark-theme .tab{color:#4cc9f0}.dark-theme .tab.active,.dark-theme .tab:hover{color:#00e198;text-shadow:0 0 8px #00e19880}.dark-theme .tab.active{border-bottom:2px solid #00e198}.back-button{align-items:center;background-color:#007bff;border:none;border-radius:50%;box-shadow:0 2px 5px #0003;color:#fff;cursor:pointer;display:flex;height:40px;justify-content:center;margin-right:10px;transition:all .2s ease;width:40px}.back-button:hover{background:#0056b3;box-shadow:0 3px 8px #0000004d;transform:scale(1.05)}.back-button svg{stroke-width:1em;fill:currentColor;display:block;flex-shrink:0;font-size:1.3em;height:1.3em;justify-content:center;width:1.3em}.dark-theme .back-button{background-color:#333;box-shadow:0 2px 5px #0006;color:#4cc9f0}.dark-theme .back-button:hover{background-color:#444;background:#00e198;box-shadow:0 3px 8px #00e1984d;box-shadow:0 0 10px #00e1984d;color:#97e6ff}.streak-controls{display:flex;flex-direction:column;gap:10px;margin:15px 0;width:100%}.streak-selectors-row{display:flex;flex-direction:row;flex-wrap:wrap;gap:20px;justify-content:center;width:100%}.streak-period-selector,.streak-type-selector{display:flex;gap:15px;justify-content:center;margin-bottom:10px}.streak-period-button,.streak-type-button{background:#f0f0f0;border:none;border-radius:4px;color:#333;cursor:pointer;font-family:inherit;padding:8px 16px;transition:all .2s ease}.streak-period-button:hover,.streak-type-button:hover{background:#e0e0e0}.streak-period-button.active,.streak-type-button.active{background:#0042aa;color:#fff}.dark-theme .streak-period-button,.dark-theme .streak-type-button{background:#444;color:#f0f0f0}.dark-theme .streak-period-button:hover,.dark-theme .streak-type-button:hover{background:#555}.dark-theme .streak-period-button.active,.dark-theme .streak-type-button.active{background:#4cc9f0;color:#222}.streak-heading{color:#333;font-size:1.2rem;margin:10px 0 20px;text-align:center}.dark-theme .streak-heading{color:#4cc9f0}.table-container{margin-bottom:20px;overflow-x:auto;width:100%}.streak-table,.table-grid{border-collapse:collapse;display:table;width:100%}.streak-table .table-header,.table-grid .table-header{background:#f5f5f5;border-bottom:1px solid #ddd;display:table-cell;font-weight:700;padding:10px;text-align:left}.dark-theme .streak-table .table-header,.dark-theme .table-grid .table-header{background:#333;border-bottom:1px solid #444}.streak-table .table-cell,.table-grid .table-cell{border-bottom:1px solid #eee;display:table-cell;padding:10px}.table-cell.separator{border-bottom:2px dotted #ddd;border-top:2px dotted #ddd;color:#999;display:table-cell;font-weight:700;height:30px;padding:8px 5px;table-layout:fixed;text-align:center;white-space:nowrap}.dark-theme .table-cell.separator{border-bottom-color:#444;border-top-color:#444;color:#777}.streak-table tr:nth-child(odd) td,.table-grid tr:nth-child(odd) td{color:#0042aa}.streak-table tr:nth-child(2n) td,.table-grid tr:nth-child(2n) td{color:#000}.dark-theme .streak-table tr:nth-child(odd) td,.dark-theme .table-grid tr:nth-child(odd) td{color:#4cc9f0}.dark-theme .streak-table tr:nth-child(2n) td,.dark-theme .table-grid tr:nth-child(2n) td{color:#00e198}.pagination{align-items:center;display:flex;gap:10px;justify-content:center;margin:20px 0;padding:10px}.pagination-button{background:#0042aa;border:none;border-radius:4px;color:#fff;cursor:pointer;min-width:40px;padding:8px 12px;text-align:center}.pagination-button:disabled{background:#ccc;cursor:not-allowed}.pagination-button:hover:not(:disabled){background:#003282}.dark-theme .pagination-button{background:#00e198;color:#333}.dark-theme .pagination-button:disabled{background:#444;color:#aaa}.dark-theme .pagination-button:hover:not(:disabled){background:#00c896}.table-cell.user-highlight{background-color:#e5b80b26;color:#e5b80b!important;font-weight:700}.dark-theme .table-cell.user-highlight{background-color:#e5b80b33;color:#e5b80b!important;text-shadow:0 0 5px #e5b80b4d}.you-badge{background-color:#e5b80b;border-radius:3px;color:#000;display:inline-block;font-size:.65rem;font-weight:700;line-height:1.2;margin-left:8px;padding:1px 5px;vertical-align:middle}.dark-theme .you-badge{border:1px solid #ffffff1a}.personal-stats-login-required{background-color:#0000000d;border-radius:8px;margin:20px 0;padding:30px;text-align:center}.dark-theme .personal-stats-login-required{background-color:#ffffff0d}.personal-stats-container{margin:0 auto;max-width:800px;padding:15px}.stats-summary{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:25px}.stat-card{background-color:#f8f9fa;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:15px;text-align:center;transition:transform .2s}.stat-card:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.stat-card h3{color:#6c757d;font-size:.9rem;margin:0 0 10px}.stat-card .stat-value{color:#007bff;font-size:1.8rem;font-weight:700}.dark-theme .stat-card{background-color:#333;box-shadow:0 2px 4px #0000004d}.dark-theme .stat-card h3{color:#adb5bd}.dark-theme .stat-card .stat-value{color:#4cc9f0}.streaks-section{background-color:#f8f9fa;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:25px;padding:15px}.streaks-section h3{color:#212529;font-size:1.2rem;margin-bottom:15px;margin-top:0}.streaks-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.streak-item{border-bottom:1px solid #dee2e6;justify-content:space-between;padding:8px}.streak-item:last-child{border-bottom:none}.streak-label{color:#6c757d;font-weight:400}.streak-value{color:#212529}.dark-theme .streaks-section{background-color:#333;box-shadow:0 2px 4px #0000004d}.dark-theme .streaks-section h3{color:#f8f9fa}.dark-theme .streak-item{border-bottom-color:#495057}.dark-theme .streak-label{color:#adb5bd}.dark-theme .streak-value{color:#f8f9fa}.top-performances{background-color:#f8f9fa;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:15px}.top-performances h3{color:#212529;font-size:1.2rem;margin-bottom:15px;margin-top:0}.top-scores-table{border-collapse:collapse;font-size:.9rem;width:100%}.top-scores-table td,.top-scores-table th{border-bottom:1px solid #dee2e6;padding:8px 12px;text-align:left}.top-scores-table th{border-bottom:2px solid #adb5bd;color:#495057;font-weight:700}.top-scores-table tbody tr:hover{background-color:#0000000d}.dark-theme .top-performances{background-color:#333;box-shadow:0 2px 4px #0000004d}.dark-theme .top-performances h3{color:#f8f9fa}.dark-theme .top-scores-table th{border-bottom-color:#495057;color:#f8f9fa}.dark-theme .top-scores-table td{border-bottom-color:#495057}.dark-theme .top-scores-table tbody tr:hover{background-color:#ffffff0d}.last-played{color:#6c757d;font-size:.9rem;font-style:italic;margin-top:15px;text-align:right}.dark-theme .last-played{color:#adb5bd}.streak-badge{border-radius:10px;color:#333;display:inline-block;font-size:.7rem;margin-left:10px;padding:2px 6px}.streak-badge,.streak-badge.gold{background-color:#ffc107}.streak-badge.silver{background-color:#b0b8bf}.streak-badge.bronze{background-color:#cd7f32;color:#fff}.error,.loading{padding:20px;text-align:center}.loading{color:#0042aa}.error{color:#a00}.dark-theme .loading{color:#4cc9f0}.dark-theme .error{color:#f66}.error-message{background-color:#f8d7da;border-radius:8px;color:#721c24;margin:20px 0;padding:15px;text-align:center}.error-message button{background-color:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;margin-top:10px;padding:5px 15px}.dark-theme .error-message{background-color:#dc354533;color:#f8d7da}.no-data{color:#777;font-style:italic;padding:30px;text-align:center}.dark-theme .no-data{color:#999}.login-button{background:#0042aa;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:700;padding:8px 16px;transition:all .2s ease}.login-button:hover{background:#003282}.dark-theme .login-button{background:#4cc9f0;color:#222}.dark-theme .login-button:hover{background:#00e198}.leaderboard-loading{flex-direction:column;padding:20px}.leaderboard-loading,.leaderboard-loading .loading-title{align-items:center;display:flex;justify-content:center;text-align:center;width:100%}.leaderboard-loading .loading-title{font-family:Courier New,Courier,monospace;font-size:1.2rem;margin-bottom:20px}.leaderboard-loading-animation{align-items:center;border-radius:10px;display:flex;height:300px;justify-content:center;margin:0 auto;max-width:700px;overflow:hidden;width:90%}.loading-dots:after{animation:loading-dots 1.5s infinite;content:""}@keyframes loading-dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}to{content:""}}@media (max-width:768px){.leaderboard{padding:15px}.tabs{gap:5px}.tab{font-size:.9rem;padding:6px 10px}.you-badge{font-size:.6rem;margin-left:5px;padding:0 4px}.stats-summary,.streaks-grid{grid-template-columns:1fr 1fr}.streak-period-selector,.streak-type-selector{flex-wrap:wrap}}@media (max-width:600px){.tabs-container{flex-wrap:wrap}.tabs{justify-content:center;margin-top:10px;order:2;width:100%}.back-button{order:1}.streak-period-selector,.streak-type-selector{align-items:center;flex-direction:column}.streak-period-button,.streak-type-button{max-width:200px;width:100%}.stats-summary{grid-template-columns:1fr}}.table-cell.rank-1,.table-grid .table-cell.rank-1{background-color:#ffd70033;border-left:3px solid gold;color:gold!important;font-weight:700}.table-cell.rank-2,.table-grid .table-cell.rank-2{background-color:#c0c0c033;border-left:3px solid silver;color:silver!important;font-weight:700}.table-cell.rank-3,.table-grid .table-cell.rank-3{background-color:#cd7f3233;border-left:3px solid #cd7f32;color:#cd7f32!important;font-weight:700}.dark-theme .table-cell.rank-1{background-color:#ffd7004d;text-shadow:0 0 5px #ffd70080}.dark-theme .table-cell.rank-2{background-color:#c0c0c04d;text-shadow:0 0 5px #c0c0c080}.dark-theme .table-cell.rank-3{background-color:#cd7f324d;text-shadow:0 0 5px #cd7f3280}.table-cell.user-highlight.rank-1,.table-cell.user-highlight.rank-2,.table-cell.user-highlight.rank-3{border-left-width:4px;box-shadow:inset 0 0 5px #e5b80b4d}.privacy-container{max-height:85vh;max-width:800px;overflow-y:auto;scrollbar-color:#4cc9f099 #0000001a;scrollbar-width:thin;width:90%}.privacy-section{margin-bottom:20px;text-align:left}.privacy-section h3{color:#333;margin-bottom:10px;margin-top:15px}.dark-theme .privacy-section h3{color:#4cc9f0}.privacy-section p{line-height:1.5;margin-bottom:10px}.privacy-section ul{list-style-type:disc;margin-bottom:10px;padding-left:20px}.privacy-section li{margin-bottom:5px;text-align:left}.privacy-email{color:#007bff;margin-left:10px;text-decoration:none}.dark-theme .privacy-email{color:#4cc9f0}.privacy-email:hover{text-decoration:underline}.privacy-footer{border-top:1px solid #ddd;margin-top:30px;padding-top:15px;text-align:center}.dark-theme .privacy-footer{border-top-color:#444}.return-button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;margin-top:10px;padding:8px 16px}.dark-theme .return-button{background-color:#4cc9f0;color:#333}.return-button:hover{background-color:#0069d9}.dark-theme .return-button:hover{background-color:#00e198}.code-block{background-color:#f5f5f5;border-radius:4px;font-family:Courier New,Courier,monospace;font-weight:700;margin:15px 0;overflow-x:auto;padding:12px 16px;white-space:nowrap}.dark-theme .code-block{background-color:#333;color:#4cc9f0}.example-calculation{background-color:#0064ff0d;border-left:4px solid #0064ff66;border-radius:0 4px 4px 0;margin:15px 0;padding:15px}.dark-theme .example-calculation{background-color:#4cc9f00d;border-left-color:#4cc9f066}.example-calculation p{margin:10px 0}.example-calculation ul{margin:8px 0}h4{color:#333;margin-bottom:5px;margin-top:20px}.dark-theme h4{color:#4cc9f0}.privacy-section ul li{margin-bottom:8px}.code-block{font-size:1.1em;line-height:1.5;text-align:center}sup{font-size:.7em;line-height:0;vertical-align:super}.example-calculation strong{color:#0042aa}.dark-theme .example-calculation strong{color:#4cc9f0}.example-calculation p:last-child{border-top:1px solid #0000001a;font-weight:700;margin-top:15px;padding-top:10px}.dark-theme .example-calculation p:last-child{border-top-color:#ffffff1a}.modal-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:20px 0;position:fixed;right:0;top:0;z-index:10000}.modal-container{background-color:#fff;border-radius:10px;box-shadow:0 4px 15px #0000004d;max-height:90vh;max-width:90%;overflow-y:auto;padding:25px;position:relative;width:auto}.dark-theme .modal-container{background-color:#333;color:#f8f9fa}.modal-close-btn{background:none;border:none;color:#495057;cursor:pointer;font-size:24px;position:absolute;right:15px;top:10px;z-index:10}.dark-theme .modal-close-btn{color:#f8f9fa}.daily-challenge-button-fixed{background-color:#ff5722;border:1px solid #e64a19;border-radius:57%;bottom:30px;box-shadow:0 2px 8px #ff572280;color:#fff;display:flex;left:60px;padding:8px;position:absolute;transform:translateY(50%);transition:all .2s ease;z-index:90}.daily-challenge-button-fixed:hover{background:linear-gradient(180deg,#ff7043,#e64a19)!important;box-shadow:0 3px 10px #ff5722a6!important;color:#fff!important}.dark-theme .daily-challenge-button-fixed{background-color:#ff7043;border-color:#ff5722;box-shadow:0 2px 8px #ff5722a6;color:#222}.dark-theme .daily-challenge-button-fixed:hover{background:linear-gradient(180deg,#ff9e80,#ff5722)!important;color:#111!important}@media (max-width:768px){.daily-challenge-button-fixed{bottom:25px;left:55px;padding:6px;transform:translateY(0)}}.daily-completed-container{background-color:#fff;border-radius:10px;box-shadow:0 4px 8px #0000001a;margin:50px auto;max-width:600px;padding:25px;text-align:center}.dark-theme .daily-completed-container{background-color:#333;box-shadow:0 4px 8px #0000004d}.completion-stats{background-color:#f8f9fa;border-radius:8px;margin:20px 0;padding:15px;text-align:left}.dark-theme .completion-stats{background-color:#444}.daily-actions{display:flex;gap:20px;justify-content:center;margin-top:30px}.daily-actions button{border:none;border-radius:5px;cursor:pointer;font-family:Courier New,Courier,monospace;padding:10px 20px;transition:all .2s ease}.daily-actions button:first-child{background-color:#007bff;color:#fff}.daily-actions button:last-child{background-color:#ff5722;color:#fff}.dark-theme .daily-actions button:first-child{background-color:#4cc9f0;color:#333}.dark-theme .daily-actions button:last-child{background-color:#ff7043;color:#333}.daily-challenge-indicator{background-color:#ff5722;color:#fff}.dark-theme .daily-challenge-indicator{background-color:#ff7043;box-shadow:0 2px 4px #0006;color:#222}.daily-stats-section{border-top:1px solid #ffffff1a;margin-top:20px;padding:15px;text-align:center}.daily-stats-title{color:#ff5722;font-size:1.1rem;margin-bottom:10px}.dark-theme .daily-stats-title{color:#ff7043}.daily-streak{display:flex;gap:30px;justify-content:center;margin:15px 0}.streak-item{align-items:center;display:flex;flex-direction:column}.streak-label{font-size:.8rem;opacity:.8}.streak-value{font-size:1.5rem;font-weight:700}.light-theme .daily-stats-section{border-top-color:#0000001a}.char-grid{font-size:1.25rem;font-size:var(--char-font-size,1.25rem);letter-spacing:2px;letter-spacing:var(--char-letter-spacing,2px);transition:font-size .3s,letter-spacing .3s}.quote-medium .char-grid{font-size:1.25rem;letter-spacing:1px}.quote-long .char-grid{font-size:1.15rem;letter-spacing:.5px}.quote-very-long .char-grid{font-size:1.1rem;letter-spacing:0}@media (max-width:767px){.char-grid{letter-spacing:1.5px}.quote-medium .char-grid{font-size:.95rem;letter-spacing:.75px}.quote-long .char-grid{font-size:.9rem;letter-spacing:.25px}.quote-very-long .char-grid{font-size:.85rem;letter-spacing:0}}@media (orientation:landscape) and (max-width:975px){.char-grid{font-size:1.15rem;letter-spacing:1px}.quote-medium .char-grid{font-size:1.1rem;letter-spacing:.5px}.quote-long .char-grid{font-size:1.05rem;letter-spacing:.25px}.quote-very-long .char-grid{font-size:1rem;letter-spacing:0}}@media (orientation:landscape) and (max-width:897px){.char-grid{font-size:1.1rem;letter-spacing:1px}.quote-medium .char-grid{font-size:1.05rem;letter-spacing:.5px}.quote-long .char-grid{font-size:.98rem;letter-spacing:.25px}.quote-very-long .char-grid{font-size:.9rem;letter-spacing:0}}@media (orientation:landscape) and (max-width:741px){.char-grid{font-size:.95rem;letter-spacing:1px}.quote-medium .char-grid{font-size:.85rem;letter-spacing:.5px}.quote-long .char-grid{font-size:.75rem;letter-spacing:.25px}.quote-very-long .char-grid{font-size:.72rem;letter-spacing:0}}.text-container{-webkit-overflow-scrolling:touch!important;background-color:#fff;border-radius:8px;display:flex;flex-direction:column;font-size:1.1rem;height:auto!important;margin:0 auto 10px;max-height:none!important;min-height:100px;overflow-y:auto!important;padding:8px 12px;width:90%}.text-container::-webkit-scrollbar{background:#0000;width:3px!important}.text-container::-webkit-scrollbar-thumb{background:#0003;border-radius:3px}.text-container.landscape{max-height:25vh}.text-container.portrait{max-height:35vh}.dark-theme .text-container{background-color:#222}.grid-text-display{align-items:center;border:none;box-shadow:none;display:flex;flex-direction:column;padding:0;width:100%}.dark-theme .grid-text-display{background-color:#222}.text-line-block{display:flex;flex-direction:column;margin-bottom:8px;margin-top:5px;padding-bottom:2px;position:relative;width:fit-content}.text-line-block:last-child{border-bottom:none;margin-bottom:0}.char-line{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:flex-start;letter-spacing:0;word-spacing:0}.char-cell{align-items:center;display:inline-flex;font-family:Courier New,monospace;font-weight:500;justify-content:center;line-height:1.2!important;overflow:visible!important;text-align:center;touch-action:manipulation;transition:all .1s ease;-webkit-user-select:none;user-select:none;white-space:normal!important}.encrypted-line{margin-bottom:5px}.mobile-mode .encrypted-line{margin-bottom:3px}.display-line{color:#0042aa;margin-bottom:2px;padding-bottom:4px}.dark-theme .encrypted-line{color:#4cc9f0}.dark-theme .display-line{color:#00ed99}.char-cell{position:relative}:not(.dark-theme) .char-cell{border-radius:2px}:not(.dark-theme) .encrypted-line .char-cell{background-color:#00000005}:not(.dark-theme) .display-line .char-cell{background-color:#0066ff05}.dark-theme .encrypted-line .char-cell{text-shadow:0 0 5px #4cc9f04d}.dark-theme .display-line .char-cell{text-shadow:0 0 5px #00ed994d}.portrait .char-cell{margin:0 1px}.landscape .char-cell{margin:0}@media (max-width:768px){.text-container{padding:6px 8px}.text-line-block{margin-bottom:-10px;padding-bottom:2px}.dark-theme.mobile-mode .text-container{background-color:#222}.dark-theme.mobile-mode .encrypted-line .char-cell{text-shadow:0 0 8px #4cc9f066}.dark-theme.mobile-mode .display-line .char-cell{text-shadow:0 0 8px #00ed9966}}@media (max-width:320px){.text-container{font-size:.95rem!important;padding:4px 6px;width:95%}.text-line-block{margin-bottom:4px;padding-bottom:2px}}.hardcore-badge{background-color:#dc3545;color:#fff;font-size:.7rem;font-weight:700;padding:3px 8px;position:absolute;right:0;top:0;z-index:10}.dark-theme .hardcore-badge{background-color:#e53935}@media (max-width:375px) and (max-height:667px){.portrait-mode .char-cell{font-size:.9em!important;letter-spacing:-.05em!important}.text-container{padding:4px!important}}
/*# sourceMappingURL=main.bfbffec9.css.map*/