.close-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:300}.close-confirm-modal{background:#1a1a24;border-radius:10px;padding:24px 28px;min-width:320px;max-width:400px;box-shadow:0 0 40px #0009;border:1px solid #2a3444}.close-confirm-modal p{margin:0 0 20px;color:#cbd5e1;font-size:1rem;line-height:1.5}.close-confirm-buttons{display:flex;gap:12px}.close-confirm-cancel,.close-confirm-yes{flex:1;padding:10px 16px;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s}.close-confirm-cancel{background:#1e3a4c;border:1px solid #0891b2;color:#22d3ee}.close-confirm-cancel:hover{background:#164e63;border-color:#22d3ee;box-shadow:0 0 10px #22d3ee33}.close-confirm-yes{background:#3f1a1a;border:1px solid #b91c1c;color:#fca5a5}.close-confirm-yes:hover{background:#5c1f1f;border-color:#dc2626;box-shadow:0 0 10px #dc26264d}.salt-info-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1100;padding:20px}.salt-info-modal{background:#0d1117;border:1px solid #155e75;border-radius:12px;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 40px #00000080}.salt-info-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #1e2a3a}.salt-info-header h2{margin:0;font-size:1.25rem;color:#67e8f9;font-weight:500}.salt-info-close{background:none;border:none;color:#64748b;font-size:1.5rem;cursor:pointer;padding:0;line-height:1}.salt-info-close:hover{color:#94a3b8}.salt-info-content{padding:24px;overflow-y:auto;color:#94a3b8;font-size:.9rem;line-height:1.6}.salt-info-content section{margin-bottom:24px}.salt-info-content section:last-child{margin-bottom:0}.salt-info-content h3{color:#67e8f9;font-size:1rem;font-weight:500;margin:0 0 12px}.salt-info-content p{margin:0 0 12px}.salt-info-content p:last-child{margin-bottom:0}.salt-info-content ol{margin:12px 0;padding-left:24px}.salt-info-content li{margin-bottom:8px}.salt-info-content strong{color:#e2e8f0}.salt-info-content em{color:#22d3ee;font-style:normal}.salt-info-recommendation{background:#14532d33;border:1px solid #166534;border-radius:6px;padding:12px 16px;color:#86efac}.salt-info-footer{padding:16px 24px;border-top:1px solid #1e2a3a;display:flex;justify-content:flex-end}.salt-info-button{background:#0891b2;color:#fff;border:none;padding:10px 24px;border-radius:6px;font-size:.9rem;cursor:pointer;transition:background .2s}.salt-info-button:hover{background:#0e7490}.generate-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;justify-content:center;align-items:center;z-index:1000}.generate-modal-content{background:#12121a;border-radius:12px;padding:0;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 0 60px #000c;border:1px solid #1e2a3a;scrollbar-width:thin;scrollbar-color:#1e3a4c transparent}.generate-modal-content::-webkit-scrollbar{width:8px}.generate-modal-content::-webkit-scrollbar-track{background:transparent;margin:16px 0}.generate-modal-content::-webkit-scrollbar-thumb{background:#1e3a4c;border-radius:4px}.generate-modal-content::-webkit-scrollbar-thumb:hover{background:#155e75}.generate-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid #1e2a3a}.generate-modal-header h2{margin:0;font-size:1.5rem;color:#e2e8f0;font-weight:400;letter-spacing:.02em}.generate-modal-close{background:none;border:none;font-size:2rem;color:#4b5563;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;line-height:1;border-radius:4px;transition:all .2s;box-shadow:none}.generate-modal-close:hover{background:#1e2a3a;color:#94a3b8;box-shadow:none}.generate-modal-body{padding:24px}.config-calculated .conversion-display{margin-top:12px;background:#12121a;padding:12px}.bits-input-section{margin-bottom:24px}.bits-input-section label{display:block;margin-bottom:8px;font-weight:400;color:#94a3b8;font-size:.85rem}.bits-input-section input[type=number]{width:100%;padding:12px;border:1px solid #1e2a3a;border-radius:6px;font-size:1rem;box-sizing:border-box;background:#0a0a0f;color:#94a3b8;transition:border-color .2s}.bits-input-section input[type=number]:focus{outline:none;border-color:#0891b2;box-shadow:0 0 8px #0891b233}.bits-conversion{display:block;margin-top:8px;font-size:.85rem;color:#67e8f9;font-weight:500}.conversion-display{padding:16px;background:#0a0a0f;border-radius:6px;text-align:center;border:1px solid #1e2a3a}.conversion-text{font-size:1.1rem;color:#94a3b8;font-weight:500}.generate-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:24px;border-top:1px solid #1e2a3a}.generate-button{padding:12px 24px;font-size:.95rem;border:1px solid;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s}.generate-button-primary{background:#1e3a4c;border-color:#0891b2;color:#22d3ee}.generate-button-primary:hover:not(:disabled){background:#164e63;border-color:#22d3ee;box-shadow:0 0 12px #22d3ee33}.generate-button-primary.disabled{background:#1a1a24;border-color:#2d2d3d;color:#4b5563;cursor:not-allowed;opacity:.7}.generate-button-wrapper{position:relative}.generate-tooltip{position:absolute;bottom:calc(100% + 12px);right:0;width:340px;background:#1a1a24;border:1px solid #f59e0b;border-radius:8px;padding:0;font-size:.85rem;box-shadow:0 4px 20px #0006;z-index:10;overflow:hidden;opacity:0;visibility:hidden;transition:opacity .15s,visibility .15s;pointer-events:none}.generate-button-wrapper:hover .generate-tooltip{opacity:1;visibility:visible}.generate-tooltip:after{content:"";position:absolute;bottom:-8px;right:24px;width:14px;height:14px;background:#1a1a24;border-right:1px solid #f59e0b;border-bottom:1px solid #f59e0b;transform:rotate(45deg)}.generate-tooltip-header{padding:12px 14px;background:#f59e0b26;color:#fbbf24;font-weight:500;border-bottom:1px solid #2d2d3d}.generate-tooltip-body{padding:12px 14px;color:#94a3b8;line-height:1.6;white-space:pre-line}.generate-footer-buttons{display:flex;justify-content:flex-end;gap:12px;width:100%}.confirm-header h2{color:#fbbf24}.confirm-body{text-align:center}.confirm-warning{background:#fbbf241a;border:1px solid rgba(251,191,36,.3);border-radius:8px;padding:20px;margin-bottom:24px;text-align:left}.confirm-warning p{margin:0 0 12px;color:#e2e8f0;line-height:1.6}.confirm-warning p:last-child{margin-bottom:0}.confirm-warning strong{color:#fbbf24}.confirm-config-summary{background:#0a0a0f;border:1px solid #1e2a3a;border-radius:8px;padding:16px;margin-bottom:24px;text-align:left}.config-summary-item{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #1e2a3a}.config-summary-item:last-child{border-bottom:none}.config-summary-label{color:#64748b;font-size:.9rem}.config-summary-value{color:#94a3b8;font-family:SF Mono,Consolas,monospace;font-size:.9rem}.confirm-download-button{width:100%;padding:16px 24px;font-size:1.1rem;font-weight:600;background:#34d39926;border:2px solid #34d399;border-radius:8px;color:#34d399;cursor:pointer;transition:background .2s,box-shadow .2s}.confirm-download-button:hover:not(:disabled){background:#34d39940;box-shadow:0 0 20px #34d3994d}.confirm-download-button.downloaded{background:#34d3991a;border-color:#34d39980;color:#34d399;cursor:default;opacity:.8}.confirm-acknowledgment{display:flex;align-items:flex-start;gap:12px;margin-top:20px;padding:16px;background:#64748b1a;border:1px solid #1e2a3a;border-radius:8px;transition:border-color .2s}.confirm-acknowledgment:hover{border-color:#334155}.confirm-acknowledgment input[type=checkbox]{width:20px;height:20px;margin-top:2px;accent-color:#34d399;cursor:pointer;flex-shrink:0}.confirm-acknowledgment span{color:#94a3b8;font-size:.9rem;line-height:1.5}.confirm-footer{flex-wrap:wrap}.confirm-footer .generate-button{flex:1;min-width:150px}.recovery-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;justify-content:center;align-items:center;z-index:1000}.recovery-modal-content{background:#12121a;border-radius:12px;padding:0;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 0 60px #000c;border:1px solid #1e2a3a;scrollbar-width:thin;scrollbar-color:#1e3a4c transparent}.recovery-modal-content::-webkit-scrollbar{width:8px}.recovery-modal-content::-webkit-scrollbar-track{background:transparent;margin:16px 0}.recovery-modal-content::-webkit-scrollbar-thumb{background:#1e3a4c;border-radius:4px}.recovery-modal-content::-webkit-scrollbar-thumb:hover{background:#155e75}.recovery-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid #1e2a3a}.recovery-modal-header h2{margin:0;font-size:1.5rem;color:#e2e8f0;font-weight:400;letter-spacing:.02em}.recovery-modal-header-buttons{display:flex;align-items:center;gap:12px}.recovery-import-button{background:#34d3991a;border:1px solid rgba(52,211,153,.3);border-radius:4px;color:#34d399;padding:6px 12px;font-size:.85rem;font-weight:500;cursor:pointer;transition:background .2s,border-color .2s}.recovery-import-button:hover{background:#34d39933;border-color:#34d39980}.recovery-modal-close{background:none;border:none;font-size:2rem;color:#4b5563;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;line-height:1;border-radius:4px;transition:all .2s;box-shadow:none}.recovery-modal-close:hover{background:#1e2a3a;color:#94a3b8;box-shadow:none}.import-error{display:flex;align-items:center;gap:10px;margin:0 24px;padding:12px 16px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px;color:#fca5a5;font-size:.9rem}.import-error-icon{color:#f87171;font-size:1.1rem}.import-error-dismiss{margin-left:auto;background:none;border:none;color:#f87171;font-size:1.2rem;cursor:pointer;padding:0 4px;line-height:1;opacity:.7;transition:opacity .2s}.import-error-dismiss:hover{opacity:1}.recovery-modal-body{padding:24px}.config-section{margin-bottom:24px}.config-section h3{margin:0 0 16px;font-size:1rem;color:#67e8f9;font-weight:500}.config-field{margin-bottom:24px}.grid-fields-container{display:flex;gap:24px;margin-bottom:24px}.config-field input[type=text]{width:100%;padding:12px;border:1px solid #1e2a3a;border-radius:6px;font-size:1rem;box-sizing:border-box;background:#0a0a0f;color:#94a3b8;transition:border-color .2s}.config-field input[type=text]:focus{outline:none;border-color:#0891b2;box-shadow:0 0 8px #0891b233}.config-calculated{margin-top:24px;padding:16px;background:#0a0a0f;border-radius:6px;border:1px solid #1e2a3a}.config-calculated h3{margin:0 0 16px;font-size:1rem;color:#67e8f9}.calculated-item{display:flex;justify-content:space-between;margin-bottom:12px;font-size:.85rem;color:#64748b}.config-calculated .calculated-item:last-of-type{margin-bottom:0}.calculated-value{font-weight:500;color:#94a3b8;font-family:SF Mono,Consolas,monospace}.recovery-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:24px;border-top:1px solid #1e2a3a}.recovery-button{padding:12px 24px;font-size:.95rem;border:1px solid;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s}.recovery-button-primary{background:#1e3a4c;border-color:#0891b2;color:#22d3ee}.recovery-button-primary:hover{background:#164e63;border-color:#22d3ee;box-shadow:0 0 12px #22d3ee33}.practice-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;justify-content:center;align-items:center;z-index:1000}.practice-modal-content{background:#12121a;border-radius:12px;padding:0;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 0 60px #000c;border:1px solid #1e2a3a}.practice-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid #1e2a3a}.practice-modal-header h2{margin:0;font-size:1.5rem;color:#e2e8f0;font-weight:400;letter-spacing:.02em}.practice-modal-close{background:none;border:none;font-size:2rem;color:#4b5563;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;line-height:1;border-radius:4px;transition:all .2s;box-shadow:none}.practice-modal-close:hover{background:#1e2a3a;color:#94a3b8;box-shadow:none}.practice-modal-body{padding:24px}.practice-modal-body p{margin:0;font-size:1rem;line-height:1.6;color:#94a3b8}.practice-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:24px;border-top:1px solid #1e2a3a}.practice-button{padding:12px 24px;font-size:.95rem;border:1px solid;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s}.practice-button-primary{background:#1e3a4c;border-color:#0891b2;color:#22d3ee}.practice-button-primary:hover{background:#164e63;border-color:#22d3ee;box-shadow:0 0 12px #22d3ee33}.about-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1100;padding:20px}.about-modal{background:#0d1117;border:1px solid #155e75;border-radius:12px;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 40px #00000080}.about-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #1e2a3a}.about-modal-header h2{margin:0;font-size:1.25rem;color:#67e8f9;font-weight:500}.about-modal-close{background:none;border:none;color:#64748b;font-size:1.5rem;cursor:pointer;padding:0;line-height:1}.about-modal-close:hover{color:#94a3b8}.about-modal-content{padding:24px;overflow-y:auto;color:#94a3b8;font-size:.9rem;line-height:1.6;scrollbar-width:thin;scrollbar-color:#1e3a4c transparent}.about-modal-content::-webkit-scrollbar{width:8px}.about-modal-content::-webkit-scrollbar-track{background:transparent;margin:16px 0}.about-modal-content::-webkit-scrollbar-thumb{background:#1e3a4c;border-radius:4px}.about-modal-content::-webkit-scrollbar-thumb:hover{background:#155e75}.about-modal-content section{margin-bottom:24px}.about-modal-content section:last-child{margin-bottom:0}.about-modal-content h3{color:#67e8f9;font-size:1rem;font-weight:500;margin:0 0 12px}.about-modal-content p{margin:0 0 12px}.about-modal-content p:last-child{margin-bottom:0}.about-modal-content ol,.about-modal-content ul{margin:12px 0;padding-left:24px}.about-modal-content li{margin-bottom:8px}.about-modal-content strong{color:#e2e8f0}.about-modal-content em{color:#22d3ee;font-style:normal}.about-modal-footer{padding:16px 24px;border-top:1px solid #1e2a3a;display:flex;justify-content:flex-end}.about-modal-button{background:#0891b2;color:#fff;border:none;padding:10px 24px;border-radius:6px;font-size:.9rem;cursor:pointer;transition:background .2s}.about-modal-button:hover{background:#0e7490}.main-page{display:flex;justify-content:center;align-items:center;min-height:80vh}.main-content{background:#12121a;border-radius:12px;padding:48px;box-shadow:0 0 40px #00000080;border:1px solid #1e2a3a;text-align:center;max-width:500px;width:100%}.main-content h1{font-size:2.5rem;color:#e2e8f0;margin-bottom:16px;font-weight:300;letter-spacing:.05em}.subtitle{color:#64748b;font-size:1.1rem;margin-bottom:32px}.button-container{display:flex;flex-direction:column;gap:12px}.primary-button{width:100%;padding:16px 32px;font-size:1.1rem}.generate-button{background:#1e3a4c;border-color:#0891b2;color:#22d3ee}.generate-button:hover{background:#164e63;border-color:#22d3ee;box-shadow:0 0 16px #22d3ee4d}.recover-button{background:#1e3a4c;border-color:#0891b2;color:#22d3ee}.recover-button:hover{background:#164e63;border-color:#22d3ee;box-shadow:0 0 16px #22d3ee4d}.practice-button{background:#1e3a4c;border-color:#0891b2;color:#22d3ee}.practice-button:hover{background:#164e63;border-color:#22d3ee;box-shadow:0 0 16px #22d3ee4d}.password-progress-display{background:#0a0a0f;border:2px solid #1e2a3a;border-radius:12px;padding:20px;margin-bottom:32px;font-size:1.2rem;font-family:SF Mono,Consolas,Courier New,monospace;line-height:2;word-break:break-word;position:relative}.password-progress-display.game-mode{min-height:calc(3 * 1.2rem * 3 + 40px)}.password-word{display:inline-block;padding:4px 8px;margin:4px;border-radius:4px}.password-word.completed{background-color:#0891b2;color:#e2e8f0;font-weight:500}.password-word.current{background-color:#22d3ee;color:#0a0a0f;font-weight:700;box-shadow:0 2px 8px #22d3ee66;animation:pulse 2s ease-in-out infinite}.password-word.future{color:#4b5563;background-color:transparent}.password-word.clickable{transition:background-color .2s ease}.password-word.clickable:hover{background-color:#22d3ee1a!important}.password-word.clickable.completed:hover{background-color:#0e7490!important}.password-word.clickable.current:hover{background-color:#06b6d4!important}.password-word.clickable.future:hover{background-color:#22d3ee26!important;color:#64748b}.placeholder-wrapper{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;z-index:0;pointer-events:none}.password-word.placeholder-text{display:inline-block;text-align:center}.placeholder-wrapper.fade-out{animation:fadeOut .3s ease-out forwards}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.password-words-container{position:relative;z-index:1;width:100%}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}.word-button.error{background:#ef4444!important;animation:fadeError 1.5s ease-out forwards}.word-button.error.correct-word{animation:fadeErrorCorrect 1.5s ease-out forwards}.word-button.correct:hover{background:#047857!important;border-color:#065f46!important}@keyframes fadeError{0%{background:#ef4444}to{background:#1a2a3a}}@keyframes fadeErrorCorrect{0%{background:#ef4444}to{background:#065f46}}.game-page{display:flex;flex-direction:column;align-items:center;min-height:80vh;padding:40px 20px 20px}.game-content{background:#12121a;border-radius:12px;padding:32px;box-shadow:0 0 40px #00000080;border:1px solid #1e2a3a;max-width:1000px;width:100%;margin-top:0}.game-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;flex-wrap:wrap;gap:16px;min-height:48px}.game-header h1{font-size:2rem;color:#e2e8f0;font-weight:300;letter-spacing:.02em}.header-buttons{display:flex;gap:12px}.header-button{padding:10px 20px;font-size:.95rem;background:#1e3a4c;border:1px solid #155e75;color:#67e8f9}.header-button:hover{background:#164e63;border-color:#22d3ee;box-shadow:0 0 12px #22d3ee33}.header-button:disabled{background:#1a1a24!important;border-color:#2d2d3d!important;color:#4b5563;cursor:not-allowed;opacity:.6;box-shadow:none}.navigation-button{padding:10px 16px;font-size:1.2rem;font-weight:600;min-width:44px;display:flex;align-items:center;justify-content:center;line-height:1}.reset-button,.delete-button{background:#2a1a1a;border-color:#7f1d1d;color:#fca5a5;transition:all .2s}.reset-button:hover:not(:disabled),.delete-button:hover:not(:disabled){background:#3d1f1f!important;border-color:#dc2626!important;box-shadow:0 0 12px #dc262633}.reset-button:disabled,.delete-button:disabled{background:#1a1a24!important;border-color:#2d2d3d!important;color:#4b5563;cursor:pointer;opacity:.6}.reset-button:disabled:hover,.delete-button:disabled:hover{cursor:pointer;background:#1a1a24!important;box-shadow:none}.navigation-button:disabled{background:#1a1a24!important;border-color:#2d2d3d!important;color:#4b5563;cursor:not-allowed;opacity:.6}.navigation-button:disabled:hover{background:#1a1a24!important;cursor:not-allowed;box-shadow:none}.practice-controls .header-button:disabled{background:#1a1a24!important;border-color:#2d2d3d!important;color:#4b5563;cursor:not-allowed;opacity:.6}.practice-controls .header-button:disabled:hover{background:#1a1a24!important;cursor:not-allowed;box-shadow:none}.config-section-container{min-height:268px;margin-bottom:24px}.practice-configs-container{display:flex;gap:24px;justify-content:space-between;align-items:flex-start}.practice-configs-container .cost-display{margin-top:0;flex:1;min-width:250px;max-width:350px}.current-password-section{margin-bottom:32px;min-height:330px;display:flex;flex-direction:column}.current-password-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.current-password-section h2{font-size:1.5rem;color:#e2e8f0;margin:0;font-weight:400}.practice-controls,.password-controls{display:flex;gap:12px;align-items:center}.password-display{background:#0a0a0f;border:1px solid #1e2a3a;border-radius:8px;padding:20px;font-size:1.2rem;color:#e2e8f0;font-family:SF Mono,Consolas,Courier New,monospace;min-height:60px;word-break:break-all;line-height:1.6}.empty-password{color:#4b5563;font-style:italic}.word-selection-section{margin-bottom:24px}.word-selection-section h2{font-size:1.5rem;color:#e2e8f0;margin-bottom:20px;font-weight:400}.loading{text-align:center;color:#64748b;font-size:1.1rem;padding:40px}.word-grid{display:grid;gap:10px;margin-bottom:24px}.word-button{padding:14px;font-size:.95rem;background:#1a2a3a;border:1px solid #1e3a4c;border-radius:6px;transition:all .2s;color:#94a3b8}.word-button:hover{background:#1e3a4c;border-color:#0891b2;color:#22d3ee;box-shadow:0 0 8px #22d3ee26}.display-password-button{width:100%;padding:16px;font-size:1.1rem;background:#1e3a4c;border-color:#0891b2;color:#22d3ee}.display-password-button:hover:not(:disabled){background:#164e63;border-color:#22d3ee;box-shadow:0 0 16px #22d3ee4d}.display-password-button:disabled{background:#1a1a24;border-color:#2d2d3d;color:#4b5563;cursor:pointer;opacity:.6}.display-password-button:disabled:hover{cursor:pointer}.download-config-section{margin-top:32px;padding-top:24px;border-top:1px solid #1e2a3a}.download-config-button{width:100%;padding:14px 24px;font-size:1rem;font-weight:500;background:#34d3991a;border:1px solid rgba(52,211,153,.3);border-radius:8px;color:#34d399;cursor:pointer;transition:background .2s,border-color .2s,box-shadow .2s}.download-config-button:hover{background:#34d39933;border-color:#34d39980;box-shadow:0 0 12px #34d39926}@media (max-width: 768px){.game-header{flex-direction:column;align-items:stretch}.header-buttons{flex-direction:column}.header-button{width:100%}.practice-configs-container{flex-direction:column;align-items:center}}.config-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;justify-content:center;align-items:center;z-index:1000}.config-modal-content{background:#12121a;border-radius:12px;padding:0;max-width:560px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 0 60px #000c;border:1px solid #1e2a3a;scrollbar-width:thin;scrollbar-color:#1e3a4c transparent}.config-modal-content::-webkit-scrollbar{width:8px}.config-modal-content::-webkit-scrollbar-track{background:transparent;margin:16px 0}.config-modal-content::-webkit-scrollbar-thumb{background:#1e3a4c;border-radius:4px}.config-modal-content::-webkit-scrollbar-thumb:hover{background:#155e75}.config-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid #1e2a3a}.config-modal-header h2{margin:0;font-size:1.5rem;color:#e2e8f0;font-weight:400;letter-spacing:.02em}.config-modal-close{background:none;border:none;font-size:2rem;color:#4b5563;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;line-height:1;border-radius:4px;transition:all .2s;box-shadow:none}.config-modal-close:hover{background:#1e2a3a;color:#94a3b8;box-shadow:none}.config-modal-body{padding:24px}.config-section{margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid #1e2a3a}.config-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.config-section h3{margin:0 0 16px;font-size:1rem;color:#67e8f9;font-weight:500;letter-spacing:.02em}.config-field{margin-bottom:20px}.config-field:last-child{margin-bottom:0}.config-field label{display:block;margin-bottom:8px;font-weight:400;color:#64748b;font-size:.85rem}.config-field input[type=text],.config-field input[type=number],.config-field select{width:100%;padding:12px;border:1px solid #1e2a3a;border-radius:6px;font-size:1rem;box-sizing:border-box;background:#0a0a0f;color:#94a3b8;transition:border-color .2s}.config-field input:focus,.config-field select:focus{outline:none;border-color:#0891b2;box-shadow:0 0 8px #0891b233}.config-field select{cursor:pointer}.field-hint{margin-top:6px;font-size:.8rem;color:#4b5563}.algorithm-description{font-style:italic}.grid-fields-container{display:flex;gap:24px;margin-bottom:20px}.grid-fields-container .config-field{flex:1;margin-bottom:0}.grid-control{display:flex;align-items:center;gap:16px}.grid-button{width:44px;height:44px;border:1px solid #1e2a3a;background:#0a0a0f;color:#64748b;border-radius:6px;font-size:1.5rem;font-weight:400;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;line-height:1;box-shadow:none}.grid-button:hover:not(:disabled){background:#1e2a3a;border-color:#0891b2;color:#22d3ee;box-shadow:none}.grid-button:disabled{opacity:.5;cursor:not-allowed}.grid-value{min-width:60px;text-align:center;font-size:1.2rem;font-weight:500;color:#94a3b8;font-family:SF Mono,Consolas,monospace}.config-stats{padding:16px;background:#0a0a0f;border-radius:6px;border:1px solid #1e2a3a}.stat-item{display:flex;justify-content:space-between;margin-bottom:8px;font-size:.85rem;color:#64748b}.stat-item:last-child{margin-bottom:0}.stat-value{font-weight:500;color:#94a3b8;font-family:SF Mono,Consolas,monospace}.algorithm-params{margin-top:16px;padding:20px;background:#0a0a0f;border-radius:8px;border:1px solid #1e2a3a}.algorithm-warning{padding:16px;background:#7f1d1d33;border:1px solid #7f1d1d;border-radius:6px;color:#fca5a5;font-size:.85rem}.memory-input-group{display:flex;gap:8px}.memory-input-group input{flex:1;border-radius:6px 0 0 6px}.memory-input-group .memory-unit-select{width:80px;flex-shrink:0;border-radius:0 6px 6px 0;border-left:none;text-align:center}.checkbox-field .checkbox-row{display:flex;align-items:center;gap:10px;color:#94a3b8}.checkbox-field input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#0891b2}.salt-field{margin-top:20px;padding-top:20px;border-top:1px solid #1e2a3a}.salt-status-inline{margin-top:8px;padding:10px 12px;border-radius:6px;font-size:.8rem;display:flex;align-items:center;gap:6px}.salt-status-inline.salt-info{background:#eab30826;border:1px solid #ca8a04;color:#fde047}.salt-status-inline .salt-status-icon{width:18px;flex-shrink:0}.salt-status-inline .salt-status-text{flex:1}.salt-learn-more{background:none;border:none;color:inherit;opacity:.7;font-size:.75rem;cursor:pointer;padding:4px 8px;border-radius:4px;transition:opacity .2s,background .2s}.salt-learn-more:hover{opacity:1;background:#ffffff1a}.salt-input-field{margin-top:12px}.salt-input-field label{display:block;font-size:.8rem;color:#94a3b8;margin-bottom:6px}.salt-input-field input[type=text]{width:100%;padding:10px 12px;background:#0a0a0f;border:1px solid #1e2a3a;border-radius:6px;color:#e2e8f0;font-size:.9rem;font-family:JetBrains Mono,monospace}.salt-input-field input[type=text]:focus{outline:none;border-color:#0891b2}.salt-input-field input[type=text]::placeholder{color:#475569}.cost-display{margin-top:24px;padding:20px;background:#0a0a0f;border-radius:8px;border:1px solid #155e75}.cost-display h3{margin:0 0 16px;font-size:1rem;color:#67e8f9;font-weight:500}.salt-toggle label{display:flex;align-items:center;justify-content:space-between;color:#94a3b8;font-size:.9rem;cursor:pointer}.salt-toggle input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#0891b2}.cost-item{display:flex;justify-content:space-between;margin-bottom:12px;font-size:.85rem;color:#64748b}.cost-item:last-child{margin-bottom:0}.cost-item.highlight{margin-top:16px;padding-top:16px;border-top:1px solid #1e2a3a;font-size:.95rem;color:#94a3b8}.cost-value{font-weight:500;color:#94a3b8;font-family:SF Mono,Consolas,monospace}.cost-item.highlight .cost-value{color:#22d3ee;font-size:1rem}.salt-status{margin:12px 0 16px;padding:12px;border-radius:6px;font-size:.8rem;height:44px;box-sizing:border-box;display:flex;align-items:center;gap:4px}.salt-status-icon{width:24px;flex-shrink:0}.salt-status-text{flex:1}.salt-status-learn-more{background:none;border:none;color:inherit;opacity:.7;font-size:.75rem;cursor:pointer;padding:4px 8px;border-radius:4px;transition:opacity .2s,background .2s}.salt-status-learn-more:hover{opacity:1;background:#ffffff1a}.salt-status-warning{background:#7f1d1d33;border:1px solid #7f1d1d;color:#fca5a5}.salt-status-enabled{background:#14532d33;border:1px solid #166534;color:#86efac}.word-count-input{margin:16px 0;padding-bottom:16px;border-bottom:1px solid #1e2a3a;display:flex;align-items:center;justify-content:space-between}.word-count-left{display:flex;align-items:center;gap:12px}.word-count-label{color:#94a3b8;font-size:.9rem}.word-count-control{display:flex;align-items:center;gap:0}.word-count-btn{width:28px;height:32px;border:1px solid #30363d;background:transparent;color:#64748b;font-size:1.1rem;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center}.word-count-btn:first-child{border-radius:6px 0 0 6px;border-right:none}.word-count-btn:last-child{border-radius:0 6px 6px 0;border-left:none}.word-count-btn:hover:not(:disabled){background:#0891b226;border-color:#0891b2;color:#22d3ee}.word-count-btn:disabled{opacity:.4;cursor:not-allowed}.word-count-input input{width:50px;height:32px;padding:0;background:#0d1117;border:1px solid #30363d;border-radius:0;color:#e6edf3;font-size:.9rem;text-align:center}.word-count-input input:focus{border-color:#0891b2;outline:none}.word-count-input input::-webkit-outer-spin-button,.word-count-input input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.word-count-input input[type=number]{-moz-appearance:textfield}.word-count-bits{color:#67e8f9;font-size:.85rem}.cost-items{padding-top:16px;border-top:1px solid #1e2a3a}.cost-subsection-header{display:flex;align-items:center;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid #1e2a3a;min-height:20px}.cost-subsection-title{margin:0;font-size:.85rem;color:#64748b;font-weight:500}.dragnet-warning-link{background:none;border:none;padding:0 6px;font-size:.7rem;line-height:16.5px;color:#eab308;cursor:pointer;border-radius:4px}.dragnet-warning-link:hover{background:#eab30826}.cost-highlight-value{font-size:1.1rem;color:#22d3ee;font-weight:500;font-family:SF Mono,Consolas,monospace}.config-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:24px;border-top:1px solid #1e2a3a}.config-button{padding:12px 24px;font-size:.95rem;border:1px solid;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s}.cancel-button{background:#1a1a24;border-color:#2d2d3d;color:#64748b}.cancel-button:hover{background:#1e2a3a;border-color:#3d3d54;color:#94a3b8}.save-button{background:#1e3a4c;border-color:#0891b2;color:#22d3ee}.save-button:hover{background:#164e63;border-color:#22d3ee;box-shadow:0 0 12px #22d3ee33}.config-display{background:#0a0a0f;border-radius:8px;padding:16px 16px 12px;margin:0;border:1px solid #1e2a3a;width:fit-content;min-width:250px}.config-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.config-title{margin:0;font-size:1rem;font-weight:500;color:#67e8f9;letter-spacing:.02em}.config-download-button{background:#34d3991a;border:1px solid rgba(52,211,153,.3);border-radius:4px;color:#34d399;padding:4px 10px;font-size:.75rem;font-weight:500;cursor:pointer;transition:background .2s,border-color .2s}.config-download-button:hover{background:#34d39933;border-color:#34d39980}.config-notice{background:#38bdf814;border-left:3px solid #38bdf8;padding:10px 12px;margin-bottom:14px;font-size:.85rem;color:#94a3b8;line-height:1.4;border-radius:0 4px 4px 0}.config-display-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:.9rem;gap:16px}.config-display-item:last-child{margin-bottom:0}.config-label{color:#64748b;font-weight:400;flex-shrink:0}.config-value{color:#94a3b8;font-weight:500;font-family:SF Mono,Consolas,Monaco,Menlo,Courier New,monospace;text-align:left}.config-seed-phrase{white-space:nowrap;color:#34d399}.config-seed-phrase.seed-not-set{color:#94a3b8}.config-salt.salt-enabled{color:#34d399}.config-salt.salt-disabled{color:#fbbf24}.copyable-value-container{display:flex;align-items:center;gap:8px}.copy-button{background:#67e8f91a;border:1px solid rgba(103,232,249,.3);border-radius:4px;color:#67e8f9;padding:2px 6px;font-size:.8rem;cursor:pointer;flex-shrink:0;transition:background .2s,border-color .2s}.copy-button:hover{background:#67e8f933;border-color:#67e8f980}.salt-item{flex-direction:column;align-items:flex-start;gap:6px}.salt-item .copyable-value-container{width:100%;align-items:flex-start}.salt-value{word-break:break-all;line-height:1.4;flex:1}.practice-config-display{background:#0a0a0f;border-radius:8px;padding:16px;border:1px solid #1e2a3a;width:fit-content;min-width:250px;margin-left:auto}.practice-config-item{margin-bottom:12px}.practice-config-item:last-child{margin-bottom:0}.practice-config-sub-item:last-child{margin-bottom:0}.practice-config-checkbox-label{display:flex;align-items:center;gap:8px;font-size:.9rem;color:#94a3b8}.practice-config-checkbox-label.disabled{opacity:.5;cursor:not-allowed}.practice-config-checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#0891b2}.practice-config-checkbox-label input[type=checkbox]:disabled{cursor:not-allowed}.practice-config-checkbox-label span{flex:1}.practice-config-section-title{font-weight:500;font-size:1rem;color:#67e8f9;margin-bottom:12px}.practice-config-radio-group{display:flex;flex-direction:column;gap:8px}.practice-config-radio-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.9rem;color:#94a3b8;-webkit-user-select:none;user-select:none}.practice-config-radio-label input[type=radio]{width:16px;height:16px;cursor:pointer;accent-color:#0891b2}.practice-config-radio-label span{flex:1}.practice-config-sub-items{margin-left:24px;margin-top:8px;display:flex;flex-direction:column;gap:8px}.practice-config-sub-item{margin-bottom:8px}.practice-config-display>.practice-config-item:last-child{margin-bottom:0}.vault-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:200}.vault-modal{position:relative;background:#12121a;border-radius:12px;padding:32px;min-width:360px;max-width:480px;box-shadow:0 0 60px #000c;border:1px solid #1e2a3a}.modal-close-x{position:absolute;top:16px;right:16px;width:32px;height:32px;background:transparent;border:none;color:#64748b;font-size:24px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.modal-close-x:hover{background:#1e2a3a;color:#94a3b8}.vault-modal h2{margin:0 0 24px;font-size:1.5rem;color:#e2e8f0;font-weight:400;letter-spacing:.02em}.vault-info{display:flex;flex-direction:column;gap:16px}.vault-info-row{display:flex;justify-content:space-between;align-items:center;font-size:1rem}.vault-info-row span:first-child{color:#64748b;font-weight:400}.vault-info-row span:last-child{color:#94a3b8;font-weight:500}.vault-info-row code{font-family:SF Mono,Consolas,Courier New,monospace;background:#0a0a0f;padding:4px 8px;border-radius:4px;font-size:.85rem;color:#67e8f9;border:1px solid #1e2a3a}.vault-verification{margin-top:16px;padding-top:16px;border-top:1px solid #1e2a3a}.vault-verification span{display:block;color:#64748b;font-weight:400;margin-bottom:8px}.vault-verification code{display:block;font-family:SF Mono,Consolas,Courier New,monospace;background:#0a0a0f;padding:12px;border-radius:6px;font-size:.75rem;word-break:break-all;color:#67e8f9;border:1px solid #1e2a3a}.vault-modal-close{margin-top:24px;width:100%;background:#1e3a4c;border:1px solid #0891b2;color:#22d3ee;padding:12px;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .2s}.vault-modal-close:hover{background:#164e63;border-color:#22d3ee;box-shadow:0 0 12px #22d3ee33}.vault-modal-buttons{display:flex;gap:12px;margin-top:24px}.vault-modal-cancel,.vault-modal-confirm{flex:1;background:#1e3a4c;border:1px solid #0891b2;color:#22d3ee;padding:12px;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .2s}.vault-modal-cancel:hover,.vault-modal-confirm:hover{background:#164e63;border-color:#22d3ee;box-shadow:0 0 12px #22d3ee33}.status-spinner{width:40px;height:40px;margin:0 auto;border:3px solid #1e2a3a;border-top-color:#22d3ee;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.text-upload-modal{min-width:420px;max-width:600px}.text-upload-textarea{width:100%;min-height:200px;background:#0a0a0f;border:1px solid #1e2a3a;border-radius:6px;padding:12px;font-family:SF Mono,Consolas,Courier New,monospace;font-size:.9rem;color:#e2e8f0;resize:vertical;margin-bottom:8px}.text-upload-textarea:focus{outline:none;border-color:#0891b2;box-shadow:0 0 8px #0891b24d}.text-upload-textarea::placeholder{color:#64748b}.text-display-modal{min-width:420px;max-width:700px}.text-display-content{width:100%;min-height:200px;max-height:400px;background:#0a0a0f;border:1px solid #1e2a3a;border-radius:6px;padding:12px;font-family:SF Mono,Consolas,Courier New,monospace;font-size:.9rem;color:#e2e8f0;overflow-y:auto;white-space:pre-wrap;word-break:break-word}.acknowledgment-modal{position:relative;min-width:480px;max-width:560px}.acknowledgment-modal.acknowledgments-stage{max-width:600px}.acknowledgment-stage-content{display:flex;flex-direction:column;gap:20px}.acknowledgment-emphasis{color:#fbbf24;font-size:1rem;line-height:1.6;padding:16px;background:#fbbf2414;border:1px solid rgba(251,191,36,.25);border-radius:8px}.acknowledgment-checkbox-item{display:flex;align-items:flex-start;gap:14px;padding:16px;background:#0a0a0f;border:1px solid #1e2a3a;border-radius:8px;transition:all .2s}.acknowledgment-checkbox-item:hover{border-color:#334155;background:#0f0f18}.acknowledgment-checkbox-item input[type=checkbox]{width:20px;height:20px;min-width:20px;margin-top:2px;accent-color:#22d3ee;cursor:pointer}.acknowledgment-checkbox-item span{color:#e2e8f0;font-size:1rem;line-height:1.5;font-weight:500}.acknowledgment-intro{color:#94a3b8;margin-bottom:16px;font-size:.95rem}.acknowledgment-list{display:flex;flex-direction:column;gap:12px;margin-bottom:8px}.acknowledgment-item{display:flex;align-items:flex-start;gap:12px;padding:12px;background:#0a0a0f;border:1px solid #1e2a3a;border-radius:6px;transition:all .2s}.acknowledgment-item:hover{border-color:#334155;background:#0f0f18}.acknowledgment-item.salt-warning{border-color:#854d0e;background:#1a1400}.acknowledgment-item.salt-warning:hover{border-color:#a16207;background:#1f1900}.acknowledgment-item input[type=checkbox]{width:18px;height:18px;min-width:18px;margin-top:2px;accent-color:#22d3ee;cursor:pointer}.acknowledgment-item span{color:#cbd5e1;font-size:.9rem;line-height:1.5}.acknowledgment-item.salt-warning span{color:#fbbf24}.acknowledgment-download-button{width:100%;padding:16px 20px;margin-top:16px;font-size:1.05rem;font-weight:600;background:#34d39926;border:2px solid rgba(52,211,153,.4);border-radius:8px;color:#34d399;cursor:pointer;transition:background .2s,border-color .2s,box-shadow .2s}.acknowledgment-download-button:hover{background:#34d39940;border-color:#34d39999;box-shadow:0 0 16px #34d39933}.vault-modal-buttons.single-button{justify-content:flex-end}.vault-modal-buttons.single-button .vault-modal-confirm{flex:none;min-width:140px}.add-credits-modal{min-width:360px;max-width:420px}.credits-input-section{margin-bottom:24px}.credits-input-section label{display:block;color:#94a3b8;font-size:.9rem;margin-bottom:8px}.credits-input-section input{width:100%;padding:12px 16px;font-size:1.25rem;font-weight:600;background:#0a0a0f;border:1px solid #1e3a4c;border-radius:8px;color:#e2e8f0;box-sizing:border-box}.credits-input-section input:focus{outline:none;border-color:#22d3ee;box-shadow:0 0 0 2px #22d3ee26}.credits-breakdown{background:#0a0a0f;border:1px solid #1e2a3a;border-radius:8px;padding:16px;margin-bottom:16px}.breakdown-item{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:8px 0}.breakdown-note{width:100%;background:#eab3081a;border:1px solid rgba(234,179,8,.3);color:#eab308;font-size:.8rem;padding:8px 10px;margin-top:8px;border-radius:4px}.breakdown-item:not(:last-child){border-bottom:1px solid #1e2a3a}.breakdown-label{color:#64748b;font-size:.95rem}.breakdown-value{color:#67e8f9;font-weight:500;font-size:1rem}.breakdown-note-red{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#f87171}.breakdown-note-green{background:#34d3991a;border:1px solid rgba(52,211,153,.3);color:#34d399}.credits-total{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-top:1px solid #1e3a4c;margin-bottom:20px}.total-label{color:#e2e8f0;font-size:1.1rem;font-weight:500}.total-value{color:#22d3ee;font-size:1.5rem;font-weight:700}.credits-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#f87171;padding:10px 14px;border-radius:6px;font-size:.9rem;margin-bottom:16px}.payment-methods{display:flex;flex-direction:column;gap:10px}.credits-pay{width:100%;padding:14px 20px;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.credits-pay-stripe{background:#4f46e5;border:1px solid #6366f1;color:#e0e7ff}.credits-pay-stripe:hover:not(:disabled){background:#4338ca;border-color:#818cf8;box-shadow:0 0 12px #6366f14d}.credits-pay-crypto{background:#1e3a4c;border:1px solid #155e75;color:#67e8f9}.credits-pay-crypto:hover:not(:disabled){background:#164e63;border-color:#22d3ee;box-shadow:0 0 12px #22d3ee33}.credits-pay:disabled{opacity:.5;cursor:not-allowed}.credits-note{margin:16px 0 0;color:#64748b;font-size:.85rem;text-align:center}.vault-card{background:#12121a;border-radius:12px;padding:20px 32px;box-shadow:0 0 40px #00000080;border:1px solid #1e2a3a;max-width:1000px;width:100%;box-sizing:border-box;margin-top:20px;display:flex;align-items:center;justify-content:center;gap:12px}.vault-button{background:#1e3a4c;color:#67e8f9;border:1px solid #155e75;padding:12px 24px;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.vault-button:hover{background:#164e63;border-color:#22d3ee;box-shadow:0 0 12px #22d3ee33}.vault-button:disabled{background:#1a1a24;border-color:#2d2d3d;color:#4b5563;cursor:not-allowed;box-shadow:none}.vault-status{color:#64748b;font-size:.9rem;margin-left:8px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0a0a0f;min-height:100vh;display:flex;justify-content:center;align-items:center;padding:20px}#root{width:100%;max-width:1200px}button{background:#1e3a4c;color:#67e8f9;border:1px solid #155e75;padding:12px 24px;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #0000004d}button:hover{background:#164e63;border-color:#22d3ee;box-shadow:0 0 12px #22d3ee33}button:active{transform:none}button:disabled{background:#1a1a24;border-color:#2d2d3d;color:#4b5563;cursor:not-allowed;transform:none;box-shadow:none}
