body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.imprint-screen{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px}.imprint-container{animation:fadeIn .3s ease;background:var(--card-bg);border-radius:16px;box-shadow:var(--shadow-lg);max-width:600px;padding:40px 32px;width:100%}.imprint-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:32px}.imprint-title{color:var(--text-primary);font-size:2rem;font-weight:700;letter-spacing:-.02em;margin:0}.imprint-tabs{border-bottom:2px solid var(--border-color);display:flex;gap:8px;margin-bottom:24px}.imprint-content{margin-top:24px}.tab-content{color:var(--text-primary);line-height:1.6}.tab-content h2{font-size:1.5rem;margin-bottom:16px;margin-top:0}.tab-content h2,.tab-content h3{color:var(--text-primary);font-weight:600}.tab-content h3{font-size:1.125rem;margin-bottom:12px;margin-top:24px}.tab-content h3:first-of-type{margin-top:0}.tab-content p{color:var(--text-secondary);font-size:1rem;line-height:1.6;margin-bottom:16px}.tab-content p:last-child{margin-bottom:0}.tab-content strong{color:var(--text-primary);font-weight:600}@media (max-width:640px){.imprint-container{border-radius:12px;padding:32px 24px}.imprint-title{font-size:1.75rem}.imprint-tabs{flex-wrap:wrap}.tab-button{font-size:.9375rem;padding:10px 16px}}.form-group{margin-bottom:24px}.form-label{color:var(--text-primary);display:block;font-size:.9375rem;font-weight:600;margin-bottom:8px}.form-hint{color:var(--text-secondary);font-size:.8125rem;margin-top:8px}.form-input,.form-select{background:var(--card-bg);border:2px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-family:inherit;font-size:1rem;padding:12px 16px;transition:all .2s ease;width:100%}.form-input:focus,.form-select:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #4f46e51a;outline:none}.form-input:disabled,.form-select:disabled{background:var(--bg-color);cursor:not-allowed;opacity:.6}.form-select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;background-size:1.5em 1.5em;cursor:pointer;padding-right:40px}.form-select:hover:not(:disabled){border-color:var(--secondary-color)}.error-message{margin-top:16px}.success-message{background:#ef44441a;margin-top:16px}.login-screen{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px}.login-container{animation:fadeIn .3s ease;background:var(--card-bg);border-radius:16px;box-shadow:var(--shadow-lg);max-width:400px;padding:48px 32px;width:100%}.login-title{color:var(--text-primary);font-size:2rem;font-weight:700;letter-spacing:-.02em;margin-bottom:8px;text-align:center}.login-subtitle{color:var(--text-secondary);font-size:1rem;margin-bottom:32px;text-align:center}.login-form{margin-bottom:24px}.login-button{display:block;margin:8px auto 0;width:100%}.login-footer{border-top:1px solid var(--border-color);padding-top:24px;text-align:center}.login-footer p{color:var(--text-secondary);font-size:.875rem;margin:0}@media (max-width:640px){.login-container{border-radius:12px;padding:40px 24px}.login-title{font-size:1.75rem}.login-subtitle{font-size:.9375rem;margin-bottom:28px}.form-group{margin-bottom:16px}.login-footer{padding-top:20px}}@media (max-width:480px){.login-container{padding:32px 20px}.login-title{font-size:1.5rem}.form-input{padding:10px 14px}}.configuration-screen{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px}.configuration-container{animation:fadeIn .3s ease;background:var(--card-bg);border-radius:16px;box-shadow:var(--shadow-lg);max-width:600px;padding:40px 32px;width:100%}.configuration-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:32px}.header-buttons{align-items:center;display:flex;gap:8px}.configuration-title{color:var(--text-primary);font-size:2rem;font-weight:700;letter-spacing:-.02em}.configuration-title-short{display:none}.configuration-title-full{display:inline}.configuration-tabs{border-bottom:2px solid var(--border-color);display:flex;gap:8px;margin-bottom:24px}.tab-button{background:#0000;border:none;border-bottom:3px solid #0000;color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:1rem;font-weight:500;margin-bottom:-2px;padding:12px 24px;transition:all .2s ease}.tab-button:hover:not(:disabled){background:#4f46e50d;color:var(--text-primary)}.tab-button.active{border-bottom-color:var(--primary-color);color:var(--primary-color);font-weight:600}.tab-button:disabled{cursor:not-allowed;opacity:.5}.configuration-form{margin-top:24px}.configuration-form .form-hint{margin-top:4px}.success-message{animation:slideDown .3s ease;background:#10b9811a;border:2px solid var(--success-color);border-radius:8px;color:var(--success-color);font-size:.875rem;margin-bottom:16px;padding:12px 16px;text-align:center}@media (max-width:640px){.configuration-container{border-radius:12px;padding:32px 24px}.configuration-title{font-size:1.75rem}.form-group{margin-bottom:20px}.button-row{flex-direction:column-reverse;gap:8px}.btn{width:100%}}@media (max-width:480px){.configuration-container{padding:24px 20px}.configuration-title{font-size:1.5rem}.form-input,.form-select{font-size:.9375rem;padding:10px 14px}}.verb-settings-content{margin-top:8px}.verb-settings-description{color:var(--text-secondary);font-size:.9375rem;line-height:1.6;margin-bottom:24px}.conjugation-groups{display:flex;flex-direction:column;gap:24px}.conjugation-group{display:flex;flex-direction:column;gap:12px}.conjugation-group-title{border-bottom:1px solid var(--border-color);color:var(--text-primary);font-size:1.125rem;font-weight:600;margin:0;padding-bottom:8px}.conjugation-checkboxes{display:flex;flex-direction:column;gap:12px}.checkbox-label{font-weight:500}.conjugation-checkbox-label{align-items:flex-start;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:12px;transition:all .2s ease;-webkit-user-select:none;user-select:none}.conjugation-checkbox-label:hover{background:#4f46e50d}.conjugation-checkbox{cursor:pointer;flex-shrink:0;height:18px;margin-top:2px;width:18px}.conjugation-checkbox:disabled{cursor:not-allowed;opacity:.5}.conjugation-checkbox-content{display:flex;flex:1 1;flex-direction:column;gap:4px}.conjugation-japanese{color:var(--text-primary);font-size:1.125rem;font-weight:500}.conjugation-english{color:var(--text-primary);font-size:.9375rem;font-weight:500}.conjugation-description{color:var(--text-secondary);font-size:.875rem;font-style:italic}@media (max-width:640px){.configuration-tabs{gap:4px}.tab-button{font-size:.9375rem;padding:10px 16px}.conjugation-groups{gap:20px}.conjugation-group-title{font-size:1rem}.conjugation-checkbox-label{padding:10px}}@media (max-width:400px){.configuration-title-full{display:none}.configuration-title-short{display:inline}.tab-button{font-size:.875rem;padding:8px 12px}}@media (max-width:768px){.confirm-dialog{border-radius:12px;padding:24px}.confirm-actions{flex-direction:column-reverse}.confirm-actions .btn{width:100%}}.vocabulary-screen{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px}.vocabulary-container{animation:fadeIn .3s ease;background:var(--card-bg);border-radius:16px;box-shadow:var(--shadow-lg);max-width:800px;padding:40px 32px;width:100%}.vocabulary-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:32px}.vocabulary-title{color:var(--text-primary);font-size:2rem;font-weight:700;letter-spacing:-.02em}.vocabulary-toolbar{border-bottom:1px solid var(--border-color);display:flex;gap:12px;margin-bottom:24px;padding-bottom:24px}.search-input{background:var(--card-bg);border:2px solid var(--border-color);border-radius:8px;color:var(--text-primary);flex:1 1;font-family:inherit;font-size:1rem;padding:12px 16px;transition:all .2s ease}.search-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #4f46e51a;outline:none}.vocabulary-list{max-height:60vh;overflow-y:auto;padding-top:2px}.vocable-card{background:var(--bg-color);border:2px solid #0000;border-radius:12px;color:inherit;cursor:pointer;font:inherit;margin-bottom:16px;padding:24px;text-align:left;transition:all .2s ease;width:100%}.vocable-card:focus,.vocable-card:hover{border:2px solid var(--primary-color);box-shadow:var(--shadow);outline:none;transform:translateY(-2px)}.vocable-japanese{color:var(--text-primary);font-size:2rem;margin-bottom:8px}.vocable-kana{color:var(--text-secondary);font-size:1.25rem;margin-bottom:12px}.vocable-english{color:var(--text-primary);font-size:1.1rem;line-height:1.6}.empty-state{padding:40px 20px}.empty-state,.loading-state{color:var(--text-secondary);font-size:1rem;text-align:center}.loading-state{padding:40px}.error-message{animation:slideDown .3s ease;background:#ef44441a;border:2px solid var(--error-color);border-radius:8px;color:var(--error-color);font-size:.875rem;margin-bottom:16px;padding:12px 16px}@media (max-width:640px){.vocabulary-container{border-radius:12px;max-width:600px;padding:32px 24px}.vocabulary-title{font-size:1.75rem}.vocabulary-toolbar{flex-direction:column;gap:8px}.search-input{width:100%}.vocabulary-list{max-height:50vh}.vocable-card{padding:16px}.vocable-japanese{font-size:1.5rem}.vocable-kana{font-size:1.1rem}.vocable-english{font-size:1rem}}@media (max-width:480px){.vocabulary-container{padding:24px 20px}.vocabulary-title{font-size:1.5rem}.search-input{font-size:.9375rem;padding:10px 14px}.vocable-card{padding:12px}}.vocable-details{display:flex;flex-direction:column;gap:8px}.detail-value{color:var(--text-primary);font-size:1rem;line-height:1.5}.inline-group{display:flex;flex-wrap:wrap;gap:16px}.btn-danger{color:#000}.inline-group>div{flex:1 1 160px}.inline-group .detail-value{height:100%}.conjugations-table-wrapper{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.conjugations-table{border-collapse:collapse;width:100%}.conjugations-table td,.conjugations-table th{border-bottom:1px solid var(--border-color);padding:12px 16px;text-align:left;vertical-align:top}.conjugations-table thead th{background:var(--bg-color);color:var(--text-secondary);font-weight:600}.conjugations-table tbody tr:last-child td{border-bottom:none}.conjugations-table td:last-child{font-family:Noto Sans JP,Hiragino Kaku Gothic Pro,Meiryo,sans-serif}.conjugation-form-label{color:var(--text-primary);font-weight:600}.conjugation-form-description{color:var(--text-secondary);font-size:.875rem;margin-top:4px}.confirm-overlay{align-items:center;background:#0f172a73;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:1000}.confirm-dialog{animation:fadeIn .2s ease;background:var(--card-bg);border-radius:16px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:16px;max-width:420px;padding:28px 32px;width:100%}.confirm-title{color:var(--text-primary);font-size:1.5rem;font-weight:700;margin:0}.confirm-message{color:var(--text-secondary);line-height:1.6;margin:0}.confirm-actions{display:flex;flex-direction:column-reverse;gap:12px;justify-content:flex-end;margin-top:8px}.confirm-actions .btn{max-width:none;min-width:112px}@media (max-width:768px){.inline-group{flex-direction:column;gap:12px}.conjugations-table td,.conjugations-table th{padding:10px 12px}.confirm-dialog{border-radius:12px;padding:24px}.confirm-actions{flex-direction:column-reverse}.confirm-actions .btn{width:100%}}.add-edit-vocable-screen{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px}.add-edit-vocable-container{animation:fadeIn .3s ease;background:var(--card-bg);border-radius:16px;box-shadow:var(--shadow-lg);max-width:720px;padding:40px 32px;width:100%}.add-edit-vocable-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:32px}.add-edit-vocable-title{color:var(--text-primary);font-size:2rem;font-weight:700;letter-spacing:-.02em}.lookup-row{align-items:stretch;display:flex;gap:12px}.lookup-row .form-input{flex:1 1}.prefill-button{align-self:flex-end;white-space:nowrap}.prefill-feedback{font-size:.8125rem;margin-top:8px}.prefill-feedback.success{color:var(--success-color)}.prefill-feedback.error{color:var(--error-color)}.checkbox-group{display:flex;flex-direction:column;gap:8px}.checkbox-label{align-items:center;color:var(--text-primary);display:flex;font-size:.9375rem;gap:8px}.button-row{border-top:1px solid var(--border-color);justify-content:flex-end;margin-top:32px;padding-top:24px}@media (max-width:640px){.add-edit-vocable-container{border-radius:12px;padding:32px 24px}.add-edit-vocable-title{font-size:1.75rem}.button-row{flex-direction:column-reverse;gap:8px}.btn{width:100%}}@media (max-width:480px){.add-edit-vocable-container{padding:24px 20px}.add-edit-vocable-title{font-size:1.5rem}.add-edit-vocable-form .form-input,.add-edit-vocable-form .form-select{font-size:.9375rem;padding:10px 14px}}*{box-sizing:border-box;margin:0;padding:0}:root{--primary-color:#4f46e5;--primary-hover:#4338ca;--secondary-color:#6b7280;--secondary-hover:#4b5563;--success-color:#10b981;--error-color:#ef4444;--bg-color:#f9fafb;--card-bg:#fff;--text-primary:#010101;--text-secondary:#6b7280;--border-color:#e5e7eb;--shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}body,html{overflow-x:hidden;position:relative}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f9fafb;background:var(--bg-color);color:#010101;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.app{align-items:center;display:flex;justify-content:center;max-width:100vw;min-height:100vh;padding:20px}.app,.main-content{overflow-x:hidden;width:100%}.main-content{background:#fff;background:var(--card-bg);border-radius:16px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;box-shadow:var(--shadow-lg);box-sizing:border-box;max-width:600px;padding:40px 24px;transition:transform .2s ease}.start-screen{text-align:center}.header-bar{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.app-title{color:#010101;color:var(--text-primary);flex:1 1;font-size:2.5rem;font-weight:700;letter-spacing:-.02em;margin-bottom:0}.logout-button{background:none;border:none;border-radius:8px;color:#6b7280;color:var(--text-secondary);cursor:pointer;font-size:.875rem;font-weight:500;padding:8px 12px;transition:all .2s ease}.logout-button:hover{background:#f9fafb;background:var(--bg-color);color:#010101;color:var(--text-primary)}.button-row{border-top:initial;margin-top:-30px}.focus-button{background:none;border:none;border-radius:8px;color:#6b7280;color:var(--text-secondary);cursor:pointer;font-size:.875rem;font-weight:500;margin:-8px 0;min-width:65px;padding:8px;transition:all .2s ease}.focus-button:hover:not(:disabled){background:#f9fafb;background:var(--bg-color);color:#010101;color:var(--text-primary)}.focus-button:disabled{cursor:not-allowed;opacity:.6}.focus-button.focused{color:#10b981;color:var(--success-color)}.focus-button.focused:hover:not(:disabled){background:#f9fafb;background:var(--bg-color);color:#10b981;color:var(--success-color)}.app-subtitle{color:#6b7280;color:var(--text-secondary);font-size:1.125rem;margin-bottom:48px}.training-screen{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.training-screen .header-bar{gap:12px;margin-bottom:24px}.progress-bar-container{align-items:center;display:flex;flex:1 1;justify-content:center;margin:0 8px}.progress-bar{background-color:#e5e7eb;background-color:var(--border-color);border-radius:3px;height:6px;overflow:hidden;width:50%}.progress-bar-fill{background-color:gray;border-radius:3px;height:100%;transition:width .3s ease}.progress-text{color:#6b7280;color:var(--text-secondary);font-size:.875rem;text-align:center}.back-button,.imprint-button{background:none;border:none;border-radius:8px;color:#6b7280;color:var(--text-secondary);cursor:pointer;font-size:.875rem;font-weight:500;margin:-8px 0;padding:8px;transition:all .2s ease}.back-button:hover{background:#f9fafb;background:var(--bg-color);color:#010101;color:var(--text-primary)}.vocable-display{border-radius:12px;color:#fff;margin-bottom:32px;margin-top:32px;padding:32px 24px;text-align:center}.prompt-wrapper{align-items:center;display:flex;flex-direction:column;height:120px;justify-content:center}.vocable-japanese{line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-size:3rem;font-weight:600;line-height:1.2;margin-bottom:4px;min-height:3rem;overflow:hidden;text-overflow:ellipsis}.vocable-japanese--compact{font-size:2rem}.vocable-kana{font-size:1.5rem;font-weight:400;opacity:.9}.vocable-kana--placeholder{opacity:0}.vocable-subtitle{color:#fff;font-size:1.1rem;font-weight:400;text-align:center;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.input-area{margin-bottom:24px}.vocable-input{background:#fff;background:var(--card-bg);border:2px solid #e5e7eb;border:2px solid var(--border-color);border-radius:12px;color:#010101;color:var(--text-primary);font-size:1.125rem;padding:16px;text-align:center;transition:all .2s ease;width:100%}.vocable-input:focus{border-color:#4f46e5;border-color:var(--primary-color);box-shadow:0 0 0 3px #4f46e51a;outline:none}.vocable-input:disabled{background:#f9fafb;background:var(--bg-color);cursor:not-allowed}.answer-feedback{animation:slideDown .3s ease;border-radius:12px;margin-bottom:16px;max-height:84px;padding:16px;text-align:center}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.answer-feedback.correct{background:#10b9811a;border:2px solid #10b981;border:2px solid var(--success-color)}.answer-feedback.incorrect{background:#ef44441a;border:2px solid #ef4444;border:2px solid var(--error-color)}.answer-feedback.neutral{background:#6b72800d;border:2px solid #e5e7eb;border:2px solid var(--border-color)}.answer-feedback.summary .correct-answer{color:#010101;color:var(--text-primary);font-weight:600}.answer-status{display:block;font-size:1.25rem;font-weight:600;margin-bottom:8px}.answer-feedback.correct .answer-status{color:#10b981;color:var(--success-color)}.answer-feedback.incorrect .answer-status{color:#ef4444;color:var(--error-color)}.answer-feedback.neutral .correct-answer,.correct-answer{color:#6b7280;color:var(--text-secondary)}.correct-answer{display:block;font-size:.875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.button-row,.grade-buttons{display:flex;gap:12px;justify-content:center}.grade-buttons{flex-wrap:wrap}.grade-buttons .btn{flex:1 1 120px;width:100%}.btn{border:none;border-radius:12px;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;letter-spacing:.01em;max-width:200px;padding:16px 24px;text-transform:none;transition:all .2s ease}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background:#4f46e5;background:var(--primary-color);box-shadow:0 4px 6px -1px #4f46e533;color:#fff}.back-button{display:"flex";justify-content:"center";margin-bottom:"-18px";margin-top:"-5px"}.btn-primary:hover:not(:disabled){background:#4338ca;background:var(--primary-hover);box-shadow:0 6px 8px -1px #4f46e54d;transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:#fff;border:2px solid #e5e7eb;border:2px solid var(--border-color);color:#6b7280;color:var(--secondary-color)}.btn-secondary:hover:not(:disabled){background:#f9fafb;background:var(--bg-color);border-color:#6b7280;border-color:var(--secondary-color);color:#4b5563;color:var(--secondary-hover)}@media (max-width:640px){.main-content{border-radius:12px;padding:32px 20px}.app-title{font-size:2rem}.app-subtitle{font-size:1rem;margin-bottom:40px}.button-row{margin-top:-20px}.vocable-japanese{font-size:2.5rem}.vocable-japanese--compact{font-size:2rem}.vocable-kana{font-size:1.25rem}.vocable-display{margin-bottom:24px;padding:24px 16px}.vocable-input{font-size:1rem;padding:14px}.button-row{gap:8px}.btn{font-size:.9375rem;max-width:none;padding:14px 20px;width:100%}.progress-bar{min-width:200px}.imprint-button{margin-bottom:0}}@media (max-width:480px){.vocable-japanese{font-size:2rem}.imprint-button{margin-bottom:5px;margin-top:-10px}.vocable-japanese--compact{font-size:1.75rem}.vocable-kana{font-size:1.125rem}.main-content{padding:24px 16px}.progress-bar{min-width:0;min-width:auto;width:100%}}
/*# sourceMappingURL=main.8c40825e.css.map*/