:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.flashcard{border:1px solid #ccc;border-radius:8px;padding:20px;margin:20px auto;width:300px;min-height:150px;cursor:pointer;background-color:#f9f9f9;box-shadow:2px 2px 5px #0000001a;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.flashcard-image{max-width:100%;max-height:200px;margin-bottom:15px;border-radius:4px}.flashcard-text{font-size:1.2em}.flashcard-text.spanish{font-weight:700;margin-bottom:10px}.flashcard-text.english{color:#555;margin-top:10px}.flashcard-instruction{font-size:.8em;color:#888;margin-top:15px}.difficulty-buttons{margin-top:20px;display:flex;justify-content:center;gap:10px}.difficulty-buttons button{padding:10px 15px;font-size:1em;cursor:pointer;border:1px solid #ccc;border-radius:4px;background-color:#eee;transition:background-color .2s}.difficulty-buttons button:hover{background-color:#ddd}.create-card-form{background-color:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 5px #0000001a;margin-bottom:20px;border:1px solid #eee}.create-card-form h2{margin-top:0;margin-bottom:15px;text-align:center}.create-card-form div{margin-bottom:15px}.create-card-form label{display:block;margin-bottom:5px;font-weight:700}.create-card-form input[type=text],.create-card-form textarea{width:100%;padding:10px;border:1px solid #ccc;border-radius:4px;box-sizing:border-box;font-size:1rem;line-height:1.5;font-family:inherit;resize:vertical}.create-card-form textarea{min-height:calc(3rem + 22px)}.create-card-form .form-buttons{display:flex;justify-content:flex-end;gap:16px;margin-top:20px}.create-card-form .form-buttons button{padding:10px 20px;border-radius:6px;font-weight:500;transition:all .2s ease;min-width:120px;border:1px solid transparent}.create-card-form .form-buttons .cancel-button{background-color:#fff;color:#4b5563;border-color:#d1d5db}.create-card-form .form-buttons .cancel-button:hover{background-color:#f3f4f6}.create-card-form .form-buttons .save-close-button{background-color:#2563eb;color:#fff}.create-card-form .form-buttons .save-close-button:hover{background-color:#1d4ed8}.create-card-form .form-buttons .save-another-button{background-color:#059669;color:#fff}.create-card-form .form-buttons .save-another-button:hover{background-color:#047857}.create-card-form .form-buttons button:disabled{opacity:.5;cursor:not-allowed}.separator{border:0;height:1px;background-color:#ddd;margin:30px 0}.modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background-color:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 10px #0000001a;max-width:500px;width:90%;position:relative}.modal-close-button{position:absolute;top:10px;right:10px;background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666}.modal-close-button:hover{color:#333}.modal-form{display:flex;flex-direction:column;gap:15px}.modal-form h3{margin-top:0;margin-bottom:10px;text-align:center}.modal-form input[type=text],.modal-form textarea{width:100%;padding:10px;border:1px solid #ccc;border-radius:4px;box-sizing:border-box}.modal-form textarea{resize:vertical}.modal-form .form-buttons{display:flex;justify-content:flex-end;gap:10px;margin-top:10px}body.modal-open{overflow:hidden}.app-header{display:flex;align-items:center;justify-content:center;margin-bottom:20px;padding:10px 0;border-bottom:1px solid #eee}.app-logo{height:65px;margin-right:15px}.app-title{font-size:2.2rem;margin:0;color:#333}h2{text-align:center;margin-bottom:15px;color:#555}.app-container{padding:20px;max-width:900px;margin:0 auto}.deck-management{display:flex;justify-content:center;align-items:center;margin-bottom:25px;position:relative}.deck-selector-container{display:flex;align-items:center;gap:10px}.deck-selector-container label{font-weight:700}.deck-selector-container select{padding:8px 12px;border-radius:4px;border:1px solid #ccc;min-width:200px}.deck-menu-wrapper{position:relative}.deck-menu-button{background:none;border:none;font-size:1.5rem;cursor:pointer;padding:5px;line-height:1;color:#555;border-radius:4px;transition:background-color .2s}.deck-menu-button:hover{background-color:#eee}.deck-menu-button:disabled{cursor:not-allowed;opacity:.6}.deck-menu{position:absolute;top:100%;right:0;background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 10px #00000026;padding:8px 0;z-index:1010;min-width:180px;display:flex;flex-direction:column}.deck-menu button{background:none;border:none;text-align:left;padding:10px 15px;cursor:pointer;width:100%;font-size:.95rem;color:#333}.deck-menu button:hover{background-color:#f5f5f5}.deck-menu button:disabled{color:#aaa;cursor:not-allowed;background-color:transparent}.select-deck-delete-modal .deck-selection-list{max-height:300px;overflow-y:auto;margin-bottom:15px;border:1px solid #ccc;border-radius:4px}.select-deck-delete-modal table{width:100%;border-collapse:collapse;margin-bottom:15px;table-layout:fixed}.select-deck-delete-modal th,.select-deck-delete-modal td{border:1px solid #ddd;padding:8px 10px;text-align:left;vertical-align:middle;overflow:hidden;text-overflow:ellipsis}.select-deck-delete-modal th:nth-child(1),.select-deck-delete-modal td:nth-child(1){width:60%}.select-deck-delete-modal th:nth-child(2),.select-deck-delete-modal td:nth-child(2){width:80px;text-align:center;white-space:nowrap}.select-deck-delete-modal th:nth-child(3),.select-deck-delete-modal td:nth-child(3){width:120px;white-space:nowrap}.select-deck-delete-modal th{background-color:#f2f2f2;position:sticky;top:0;z-index:1}.select-deck-delete-modal tr{cursor:pointer;transition:background-color .15s ease-in-out}.select-deck-delete-modal tr:hover{background-color:#f9f9f9}.select-deck-delete-modal tr.selected{background-color:#e0eaff;font-weight:700}.select-deck-delete-modal td:first-child{width:40px;text-align:center}.delete-confirm-modal .warning-text{color:#d9534f;font-weight:700;margin-bottom:15px}.delete-confirm-modal .delete-confirm-input{width:100%;padding:10px;margin-bottom:15px;border:1px solid #ccc;border-radius:4px;box-sizing:border-box}.delete-confirm-modal .delete-button,.select-deck-delete-modal .delete-button{background-color:#d9534f;color:#fff;border-color:#d43f3a}.delete-confirm-modal .delete-button:hover,.select-deck-delete-modal .delete-button:hover{background-color:#c9302c;border-color:#ac2925}.delete-confirm-modal .delete-button:disabled,.select-deck-delete-modal .delete-button:disabled{background-color:#f2aaaa;border-color:#eeaeac;cursor:not-allowed}.flashcard-front-context{font-size:.9em;color:#555;margin-bottom:5px;font-style:italic}.image-input-container{position:relative;margin-bottom:15px}.paste-area{border:1px dashed grey;padding:10px;min-height:50px;margin-top:5px;margin-bottom:5px;color:gray;background-size:contain;background-position:center;background-repeat:no-repeat;background-color:#fff;width:100%;box-sizing:border-box}.clear-image-button{position:absolute;top:30px;right:5px;width:22px;height:22px;background-color:#808080b3;color:#fff;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;line-height:1;cursor:pointer;padding:0;transition:background-color .2s ease}.clear-image-button:hover{background-color:#505050e6}.edit-card-link-container{text-align:center;margin-top:15px}.edit-card-link{background:none;border:none;color:var(--link-color, #007bff);text-decoration:underline;padding:0;font-size:.9em;cursor:pointer}.edit-card-link:hover{color:var(--link-hover-color, #0056b3)}.deck-stats{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:10px}.stats-text-container{display:flex;gap:25px;margin-right:20px}.deck-stats p{margin:0;font-size:.95em;color:#333}.deck-action-buttons{display:flex;gap:10px}.modal-overlay{position:fixed;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#0006;z-index:1000;display:flex;align-items:center;justify-content:center}.modal-content{background-color:#fefefe;margin:auto;padding:20px;border:1px solid #888;width:80%;max-width:500px;border-radius:8px;box-shadow:0 4px 8px #0003,0 6px 20px #00000030}.modal-content h2{margin-top:0;border-bottom:1px solid #eee;padding-bottom:10px}.modal-content .form-group{margin-bottom:15px}.modal-content label{display:block;margin-bottom:5px;font-weight:700}.modal-content input[type=text],.modal-content input[type=number],.modal-content input[type=date]{width:100%;padding:8px;border:1px solid #ccc;border-radius:4px;box-sizing:border-box}.modal-content .edit-image-preview{max-width:100px;max-height:60px;margin-top:5px;display:block;object-fit:contain}.modal-actions{text-align:right;margin-top:20px;padding-top:15px;border-top:1px solid #eee}.modal-actions button{padding:10px 15px;margin-left:10px;border:none;border-radius:4px;cursor:pointer}.modal-actions button[type=submit]{background-color:#4caf50;color:#fff}.modal-actions button[type=submit]:hover{background-color:#45a049}.modal-actions button[type=submit]:disabled{background-color:#ccc;cursor:not-allowed}.modal-actions button[type=button]{background-color:#f44336;color:#fff}.modal-actions button[type=button]:hover{background-color:#da190b}.modal-actions button[type=button]:disabled{background-color:#ccc;cursor:not-allowed}.edit-card-modal-content .form-group input[type=text],.edit-card-modal-content .form-group textarea{width:100%;padding:8px 10px;border:1px solid #ccc;border-radius:4px;font-size:1rem;font-family:inherit;box-sizing:border-box;margin-top:4px}.edit-card-modal-content .form-group textarea{resize:vertical;min-height:calc(2.4rem + 18px);line-height:1.2}.edit-deck-view{margin-top:20px;width:100%;overflow-x:visible}.edit-deck-view table{width:100%;border-collapse:collapse;table-layout:fixed}.edit-deck-view th,.edit-deck-view td{border:1px solid #ddd;padding:8px 10px;text-align:left;word-wrap:break-word;vertical-align:middle}.edit-deck-view th{background-color:#f2f2f2;font-weight:700}.edit-deck-view th.sortable{cursor:pointer;position:relative;padding-right:24px;transition:background-color .2s ease;background-image:linear-gradient(to bottom,#f2f2f2,#e8e8e8);border-bottom:2px solid #ddd}.edit-deck-view th.sortable:hover{background-color:#e0e0e0;background-image:linear-gradient(to bottom,#e0e0e0,#d8d8d8)}.edit-deck-view th.sortable:after{content:"↕";position:absolute;right:8px;color:#666;font-size:1.1em;opacity:.8;font-weight:700}.edit-deck-view th.sorted-asc,.edit-deck-view th.sorted-desc{background-color:#d0d0d0;background-image:linear-gradient(to bottom,#d0d0d0,silver);border-bottom:2px solid #999}.edit-deck-view th.sorted-asc:after{content:"▲";color:#333;opacity:1;font-size:1em}.edit-deck-view th.sorted-desc:after{content:"▼";color:#333;opacity:1;font-size:1em}.edit-deck-view tr:nth-child(2n){background-color:#f9f9f9}.edit-deck-view tr:hover{background-color:#f1f1f1}.edit-deck-view .table-image-preview{max-width:60px;max-height:40px;display:block;object-fit:contain;vertical-align:middle}.edit-deck-view .edit-button,.edit-deck-view .delete-button,.edit-deck-view .review-now-button{margin:2px 3px 2px 0;padding:4px 8px;font-size:.9em;cursor:pointer;border-radius:4px;transition:background-color .2s ease}.edit-deck-view .delete-button{background-color:#f44336;color:#fff;border:none}.edit-deck-view .delete-button:hover{background-color:#da190b}.edit-deck-view .delete-button:disabled{background-color:#ccc;color:#666;cursor:not-allowed}.edit-deck-view .edit-button{background-color:#007bff;color:#fff;border:none}.edit-deck-view .edit-button:hover{background-color:#0056b3}.edit-deck-view .edit-button:disabled{background-color:#ccc;color:#666;cursor:not-allowed}.edit-deck-view .review-now-button{background-color:#5bc0de;color:#fff;border:none}.edit-deck-view .review-now-button:hover{background-color:#31b0d5}.edit-deck-view .review-now-button:disabled{background-color:#ccc;color:#666;cursor:not-allowed}.edit-deck-view .error-message{color:#d9534f;background-color:#f2dede;border:1px solid #ebccd1;padding:10px;margin-bottom:15px;border-radius:4px}.edit-deck-view td:last-child,.edit-deck-view th:last-child{min-width:220px;text-align:center}.edit-deck-view td:first-child,.edit-deck-view th:first-child{width:16%}.edit-deck-view td:nth-child(2),.edit-deck-view th:nth-child(2){width:16%}.edit-deck-view td:nth-last-child(3),.edit-deck-view th:nth-last-child(3){width:90px}.edit-deck-view td:nth-last-child(2),.edit-deck-view th:nth-last-child(2){width:90px}.edit-deck-view td:nth-last-child(4),.edit-deck-view th:nth-last-child(4){width:62px;text-align:center}.deck-header-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.deck-header-actions h2{margin-bottom:0}.deck-description{text-align:left;margin-bottom:20px;color:#666;font-style:italic}.reset-progress-button{padding:6px 12px;font-size:.9em;background-color:#f0ad4e;color:#fff;border:1px solid #eea236;border-radius:4px;cursor:pointer;transition:background-color .2s}.reset-progress-button:hover{background-color:#ec971f;border-color:#d58512}.reset-progress-button:disabled{background-color:#f8d7aa;border-color:#f5c68a;color:#725b3a;cursor:not-allowed}.edit-deck-view h3{background-color:#fff}.auth-view{max-width:400px;margin:40px auto;padding:30px;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 10px #0000000d;background-color:#fff;text-align:center}.auth-view h3{margin-top:0;margin-bottom:25px;color:#333}.auth-view .form-group{margin-bottom:15px;text-align:left}.auth-view .form-group label{display:block;margin-bottom:5px;font-weight:700;color:#555}.auth-view input[type=email],.auth-view input[type=password]{width:100%;padding:10px;border:1px solid #ccc;border-radius:4px;box-sizing:border-box}.auth-error{color:#dc3545;margin-top:15px;margin-bottom:15px;font-size:.9rem}.auth-button{width:100%;padding:12px;border:none;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:700;transition:background-color .2s,opacity .2s;margin-bottom:15px}.auth-button:disabled{opacity:.7;cursor:not-allowed}.email-button{background-color:#007bff;color:#fff}.email-button:hover:not(:disabled){background-color:#0056b3}.google-button{background-color:#4285f4;color:#fff}.google-button:hover:not(:disabled){background-color:#357ae8}.or-divider{display:flex;align-items:center;text-align:center;color:#aaa;margin:20px 0}.or-divider:before,.or-divider:after{content:"";flex:1;border-bottom:1px solid #eee}.or-divider span{padding:0 10px}.toggle-mode-button{background:none;border:none;color:#007bff;cursor:pointer;padding:5px;margin-top:10px;font-size:.9rem}.toggle-mode-button:hover:not(:disabled){text-decoration:underline}.toggle-mode-button:disabled{color:#6c757d;cursor:not-allowed}@media (max-width: 600px){.auth-view{padding-left:15px;padding-right:15px;margin-left:10px;margin-right:10px;max-width:calc(100% - 20px)}.auth-view h3{font-size:1.3rem}}.landing-page{display:flex;flex-direction:column;align-items:center;min-height:calc(100vh - 80px);padding-top:0}.hero-section{width:100%;max-width:800px;padding:40px 20px;text-align:center;margin-bottom:0}.hero-content h1{font-size:2.8rem;color:#333;margin-top:15px;margin-bottom:15px}.hero-content .subtitle{font-size:1.4rem;color:#555;margin-bottom:25px}.hero-content p{font-size:1.1rem;line-height:1.6;color:#444;margin-bottom:15px}.landing-logo{height:200px;margin-bottom:10px}.auth-section{width:100%;padding-bottom:50px}.auth-section .auth-view{margin-top:0;box-shadow:none;border:none}.features-section{margin-top:40px;padding:20px}.language-settings{padding:20px;max-width:400px;margin:0 auto}.setting-group{margin-bottom:20px}.setting-group label{display:block;margin-bottom:8px;font-weight:500;color:#333}.setting-group select{width:100%;padding:8px;border:1px solid #ccc;border-radius:4px;background-color:#fff;font-size:14px}.setting-group select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.language-settings-buttons{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.language-settings-buttons button{padding:8px 16px;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:background-color .2s}.language-settings-buttons .cancel-button{background-color:#f0f0f0;color:#333}.language-settings-buttons .cancel-button:hover{background-color:#e0e0e0}.language-settings-buttons .save-button{background-color:#4caf50;color:#fff}.language-settings-buttons .save-button:hover{background-color:#45a049}.sentence-suggestions-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.sentence-suggestions-modal{background-color:#fff;padding:2rem;border-radius:8px;max-width:600px;width:90%;max-height:80vh;display:flex;flex-direction:column}.sentence-suggestions-modal h3{margin-top:0;margin-bottom:1rem;color:#333}.suggestions-list{overflow-y:auto;margin-bottom:1rem;flex-grow:1}.suggestion-item{padding:1rem;border:1px solid #ddd;border-radius:4px;margin-bottom:.5rem;cursor:pointer;transition:all .2s ease}.suggestion-item:hover{background-color:#f5f5f5}.suggestion-item.selected{border-color:#007bff;background-color:#e6f3ff}.target-language{font-size:1.1rem;margin-bottom:.5rem;color:#333}.native-language{font-size:.9rem;color:#666;margin:0}.sentence-suggestions-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #ddd}.cancel-button,.use-sentence-button{padding:.5rem 1rem;border-radius:4px;border:none;cursor:pointer;font-size:1rem;transition:all .2s ease}.cancel-button{background-color:#f8f9fa;color:#333;border:1px solid #ddd}.cancel-button:hover{background-color:#e9ecef}.use-sentence-button{background-color:#007bff;color:#fff}.use-sentence-button:hover:not(:disabled){background-color:#0056b3}.use-sentence-button:disabled{background-color:#ccc;cursor:not-allowed}
