@charset "UTF-8";:root{--color-primary:#2563eb;--color-primary-dark:#1d4ed8;--color-primary-light:#3b82f6;--color-secondary:#059669;--color-secondary-dark:#047857;--color-accent:#dc2626;--color-accent-light:#ef4444;--color-white:#ffffff;--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5db;--color-gray-400:#9ca3af;--color-gray-500:#6b7280;--color-gray-600:#4b5563;--color-gray-700:#374151;--color-gray-800:#1f2937;--color-gray-900:#111827;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--color-info:#3b82f6;--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--breakpoint-2xl:1536px;--spacing-1:0.25rem;--spacing-2:0.5rem;--spacing-3:0.75rem;--spacing-4:1rem;--spacing-5:1.25rem;--spacing-6:1.5rem;--spacing-8:2rem;--spacing-10:2.5rem;--spacing-12:3rem;--spacing-16:4rem;--spacing-20:5rem;--spacing-24:6rem;--spacing-32:8rem;--spacing-40:10rem;--spacing-48:12rem;--spacing-56:14rem;--spacing-64:16rem;--rounded-sm:0.125rem;--rounded:0.25rem;--rounded-md:0.375rem;--rounded-lg:0.5rem;--rounded-xl:0.75rem;--rounded-2xl:1rem;--rounded-3xl:1.5rem;--rounded-full:9999px;--shadow-sm:0 1px 2px 0 rgba(0, 0, 0, 0.05);--shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);--shadow-md:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);--shadow-lg:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);--shadow-xl:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);--shadow-2xl:0 25px 50px -12px rgba(0, 0, 0, 0.25);--shadow-inner:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);--shadow-outline:0 0 0 3px rgba(66, 153, 225, 0.5);--shadow-none:none;--bg-primary:var(--color-white);--bg-secondary:var(--color-gray-50);--bg-tertiary:var(--color-gray-100);--bg-overlay:rgba(0, 0, 0, 0.5);--text-primary:var(--color-gray-900);--text-secondary:var(--color-gray-600);--text-muted:var(--color-gray-500);--text-inverse:var(--color-white);--border-primary:var(--color-gray-200);--border-secondary:var(--color-gray-300);--border-focus:var(--color-primary);--level-a1:#10b981;--level-a2:#3b82f6;--level-b1:#f59e0b;--level-b2:#ef4444;--progress-new:var(--color-gray-300);--progress-learning:var(--color-warning);--progress-familiar:var(--color-info);--progress-mastered:var(--color-success)}[data-theme=dark]{--bg-primary:var(--color-gray-900);--bg-secondary:var(--color-gray-800);--bg-tertiary:var(--color-gray-700);--bg-overlay:rgba(0, 0, 0, 0.7);--text-primary:var(--color-gray-100);--text-secondary:var(--color-gray-300);--text-muted:var(--color-gray-400);--border-primary:var(--color-gray-700);--border-secondary:var(--color-gray-600)}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes slideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px}body{margin:0;padding:0;font-family:inter,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:var(--text-primary);background-color:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{margin:0 0 1rem;font-weight:600;line-height:1.25;color:var(--text-primary)}h1{font-size:2.25rem}@media(min-width:var(--breakpoint-md)){h1{font-size:3rem}}h2{font-size:1.875rem}@media(min-width:var(--breakpoint-md)){h2{font-size:2.5rem}}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}p{margin:0 0 1rem;color:var(--text-secondary)}a{color:var(--color-primary);text-decoration:none;transition:color 200ms ease-in-out}a:hover{color:var(--color-primary-dark);text-decoration:underline}a:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px;border-radius:.25rem}ul,ol{margin:0 0 1rem;padding-left:1.5rem}li{margin-bottom:.5rem}code{font-family:jetbrains mono,fira code,Consolas,monospace;font-size:.875em;background-color:var(--bg-tertiary);padding:.25rem .5rem;border-radius:.25rem;color:var(--text-primary)}pre{font-family:jetbrains mono,fira code,Consolas,monospace;background-color:var(--bg-tertiary);padding:1rem;border-radius:.5rem;overflow-x:auto;margin:0 0 1rem}pre code{background:0 0;padding:0}img{max-width:100%;height:auto}table{width:100%;border-collapse:collapse;margin:0 0 1rem}th,td{padding:.75rem;text-align:left;border-bottom:1px solid var(--border-primary)}th{font-weight:600;color:var(--text-primary);background-color:var(--bg-secondary)}input,textarea,select{font-family:inherit}button{font-family:inherit;cursor:pointer}.hidden{display:none !important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1rem}@media(min-width:var(--breakpoint-sm)){.container{padding:0 1.5rem}}@media(min-width:var(--breakpoint-lg)){.container{padding:0 2rem}}#main-content{min-height:calc(100vh - 200px);padding:2rem 0}@media(min-width:var(--breakpoint-md)){#main-content{padding:3rem 0}}.skip-link{position:absolute;top:-40px;left:6px;background:var(--color-primary);color:var(--text-inverse);padding:8px;text-decoration:none;border-radius:.375rem;z-index:1070}.skip-link:focus{top:6px}.site-header{background-color:var(--bg-primary);border-bottom:1px solid var(--border-primary);box-shadow:0 1px 2px rgba(0,0,0,5%);position:sticky;top:0;z-index:1020}.main-nav{display:flex;align-items:center;justify-content:space-between;padding:1rem 0;max-width:1200px;margin:0 auto;padding-left:1rem;padding-right:1rem}@media(min-width:var(--breakpoint-sm)){.main-nav{padding-left:1.5rem;padding-right:1.5rem}}@media(min-width:var(--breakpoint-lg)){.main-nav{padding-left:2rem;padding-right:2rem}}.nav-brand .brand-link{display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;color:var(--color-primary);text-decoration:none}.nav-brand .brand-link:hover{color:var(--color-primary-dark);text-decoration:none}.nav-menu{display:none;gap:1.5rem}@media(min-width:var(--breakpoint-md)){.nav-menu{display:flex;align-items:center;justify-content:center}}.nav-menu .nav-link{padding:.5rem .75rem;color:var(--text-secondary);font-weight:500;border-radius:.375rem;transition:all 200ms ease-in-out}.nav-menu .nav-link:hover{color:var(--text-primary);background-color:var(--bg-secondary);text-decoration:none}.nav-menu .nav-link.active{color:var(--color-primary);background-color:rgba(37,99,235,.1)}.nav-actions{display:flex;align-items:center;justify-content:center;gap:.5rem}.theme-toggle,.search-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:0 0;border:1px solid var(--border-primary);border-radius:.375rem;color:var(--text-secondary);transition:all 200ms ease-in-out}.theme-toggle:hover,.search-toggle:hover{background-color:var(--bg-secondary);color:var(--text-primary)}.theme-toggle:focus-visible,.search-toggle:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.search-overlay{position:absolute;top:100%;left:0;right:0;background-color:var(--bg-primary);border-bottom:1px solid var(--border-primary);box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,5%);padding:1.5rem;z-index:1000}.search-overlay.hidden{display:none}@media(max-width:var(--breakpoint-md)){.nav-menu{position:absolute;top:100%;left:0;right:0;background-color:var(--bg-primary);border-bottom:1px solid var(--border-primary);box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,5%);flex-direction:column;padding:1rem;gap:.5rem}.nav-menu.hidden{display:none}.nav-menu .nav-link{width:100%;text-align:center;padding:.75rem}}.site-footer{background-color:var(--bg-secondary);border-top:1px solid var(--border-primary);margin-top:auto;padding:3rem 0 2rem}@media(min-width:var(--breakpoint-md)){.site-footer{padding:4rem 0 3rem}}.footer-content{max-width:1200px;margin:0 auto;padding:0 1rem;display:grid;grid-template-columns:1fr;gap:2rem}@media(min-width:var(--breakpoint-sm)){.footer-content{padding:0 1.5rem;grid-template-columns:repeat(2,1fr)}}@media(min-width:var(--breakpoint-md)){.footer-content{grid-template-columns:repeat(3,1fr)}}@media(min-width:var(--breakpoint-lg)){.footer-content{padding:0 2rem}}.footer-section h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem}.footer-section h4{font-size:1rem;font-weight:500;color:var(--text-primary);margin-bottom:.75rem}.footer-section p{color:var(--text-secondary);margin-bottom:1rem}.footer-section ul{list-style:none;padding:0;margin:0}.footer-section ul li{margin-bottom:.5rem}.footer-section ul li a{color:var(--text-secondary);transition:color 200ms ease-in-out}.footer-section ul li a:hover{color:var(--color-primary);text-decoration:none}.footer-bottom{max-width:1200px;margin:0 auto;padding:2rem 1rem 0;border-top:1px solid var(--border-primary);text-align:center}@media(min-width:var(--breakpoint-sm)){.footer-bottom{padding-left:1.5rem;padding-right:1.5rem}}@media(min-width:var(--breakpoint-lg)){.footer-bottom{padding-left:2rem;padding-right:2rem}}.footer-bottom p{color:var(--text-muted);font-size:.875rem;margin:0}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;border:1px solid transparent;border-radius:.5rem;font-size:.875rem;font-weight:500;line-height:1;text-decoration:none;cursor:pointer;transition:all 200ms ease-in-out;user-select:none;background-color:var(--color-primary);color:var(--text-inverse)}.btn-primary:focus{outline:2px solid var(--border-focus);outline-offset:2px}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-dark)}.btn-primary:active{transform:translateY(1px)}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;border:1px solid transparent;border-radius:.5rem;font-size:.875rem;font-weight:500;line-height:1;text-decoration:none;cursor:pointer;transition:all 200ms ease-in-out;user-select:none;background-color:transparent;color:var(--text-primary);border-color:var(--border-primary)}.btn-secondary:focus{outline:2px solid var(--border-focus);outline-offset:2px}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary:hover:not(:disabled){background-color:var(--bg-secondary);border-color:var(--border-secondary)}.btn-correct{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;border:1px solid transparent;border-radius:.5rem;font-size:.875rem;font-weight:500;line-height:1;text-decoration:none;cursor:pointer;transition:all 200ms ease-in-out;user-select:none;background-color:var(--color-success);color:var(--text-inverse)}.btn-correct:focus{outline:2px solid var(--border-focus);outline-offset:2px}.btn-correct:disabled{opacity:.5;cursor:not-allowed}.btn-correct:hover:not(:disabled){background-color:#059669}.btn-correct .shortcut{background-color:rgba(255,255,255,.2);padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;margin-left:.5rem}.btn-incorrect{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;border:1px solid transparent;border-radius:.5rem;font-size:.875rem;font-weight:500;line-height:1;text-decoration:none;cursor:pointer;transition:all 200ms ease-in-out;user-select:none;background-color:var(--color-error);color:var(--text-inverse)}.btn-incorrect:focus{outline:2px solid var(--border-focus);outline-offset:2px}.btn-incorrect:disabled{opacity:.5;cursor:not-allowed}.btn-incorrect:hover:not(:disabled){background-color:#dc2626}.btn-incorrect .shortcut{background-color:rgba(255,255,255,.2);padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;margin-left:.5rem}.btn-hint{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;border:1px solid transparent;border-radius:.5rem;font-size:.875rem;font-weight:500;line-height:1;text-decoration:none;cursor:pointer;transition:all 200ms ease-in-out;user-select:none;background-color:var(--color-warning);color:var(--text-inverse);font-size:.875rem}.btn-hint:focus{outline:2px solid var(--border-focus);outline-offset:2px}.btn-hint:disabled{opacity:.5;cursor:not-allowed}.btn-hint:hover:not(:disabled){background-color:#d97706}.btn-large{padding:1rem 1.5rem;font-size:1rem}.btn-small{padding:.5rem .75rem;font-size:.875rem}.audio-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:0 0;border:1px solid var(--border-primary);border-radius:9999px;color:var(--text-secondary);transition:all 200ms ease-in-out;cursor:pointer}.audio-btn:hover{background-color:var(--bg-secondary);color:var(--color-primary);border-color:var(--color-primary)}.audio-btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.audio-btn .audio-icon{font-size:1rem}.practice-single-btn,.start-exercise-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;border:1px solid transparent;border-radius:.5rem;font-size:.875rem;font-weight:500;line-height:1;text-decoration:none;cursor:pointer;transition:all 200ms ease-in-out;user-select:none;background-color:var(--color-primary);color:var(--text-inverse);font-size:.875rem;padding:.5rem .75rem}.practice-single-btn:focus,.start-exercise-btn:focus{outline:2px solid var(--border-focus);outline-offset:2px}.practice-single-btn:disabled,.start-exercise-btn:disabled{opacity:.5;cursor:not-allowed}.practice-single-btn:hover:not(:disabled),.start-exercise-btn:hover:not(:disabled){background-color:var(--color-primary-dark)}.bookmark-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:0 0;border:none;color:var(--text-muted);font-size:1.125rem;cursor:pointer;transition:all 200ms ease-in-out}.bookmark-btn:hover{color:var(--color-warning);transform:scale(1.1)}.bookmark-btn.bookmarked{color:var(--color-warning)}.bookmark-btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px;border-radius:.25rem}.show-more-examples,.show-answer-btn{background:0 0;border:none;color:var(--color-primary);font-size:.875rem;cursor:pointer;padding:.5rem 0;transition:color 200ms ease-in-out}.show-more-examples:hover,.show-answer-btn:hover{color:var(--color-primary-dark);text-decoration:underline}.show-more-examples:focus-visible,.show-answer-btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px;border-radius:.25rem}.vocab-card,.grammar-item,.feature-card,.activity-card,.quick-start-card{background-color:var(--bg-primary);border:1px solid var(--border-primary);border-radius:.75rem;box-shadow:0 1px 2px rgba(0,0,0,5%);transition:all 200ms ease-in-out;padding:1.5rem;position:relative}.vocab-card:hover,.grammar-item:hover,.feature-card:hover,.activity-card:hover,.quick-start-card:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,6%);transform:translateY(-2px)}.vocab-card{display:flex;flex-direction:column;gap:.75rem}.vocab-card .progress-indicator{position:absolute;top:.75rem;right:.75rem;width:12px;height:12px;border-radius:9999px}.vocab-card .progress-indicator.new{background-color:var(--progress-new)}.vocab-card .progress-indicator.learning{background-color:var(--progress-learning)}.vocab-card .progress-indicator.familiar{background-color:var(--progress-familiar)}.vocab-card .progress-indicator.mastered{background-color:var(--progress-mastered)}.vocab-card .vocab-header{display:flex;align-items:center;justify-content:space-between;align-items:flex-start;gap:.75rem}.vocab-card .vocab-header .vocab-word{font-size:1.125rem;font-weight:600;color:var(--text-primary);flex:1}.vocab-card .vocab-header .vocab-select{width:18px;height:18px;cursor:pointer}.vocab-card .vocab-translation{font-size:1rem;color:var(--text-secondary);margin-bottom:.5rem}.vocab-card .vocab-meta{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:.5rem 0}.vocab-card .vocab-notes{font-size:.875rem;color:var(--text-muted);font-style:italic;padding:.5rem .75rem;background-color:var(--bg-secondary);border-radius:.375rem;border-left:3px solid var(--color-info)}.vocab-card .vocab-actions{display:flex;align-items:center;justify-content:space-between;align-items:center;margin-top:auto;padding-top:.75rem}.vocab-card .vocab-actions .review-info{font-size:.75rem;color:var(--text-muted)}.grammar-item .grammar-header{display:flex;align-items:center;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.grammar-item .grammar-header h2{margin:0;font-size:1.25rem;color:var(--text-primary)}.grammar-item .grammar-description{color:var(--text-secondary);margin-bottom:1rem;line-height:1.75}.grammar-item .grammar-examples{margin:1rem 0}.grammar-item .grammar-examples h3{font-size:1rem;font-weight:500;color:var(--text-primary);margin-bottom:.75rem}.grammar-item .grammar-examples .examples-list{list-style:none;padding:0;margin:0}.grammar-item .grammar-examples .examples-list .example-item{padding:.5rem .75rem;background-color:var(--bg-secondary);border-radius:.375rem;margin-bottom:.5rem;font-size:.875rem;color:var(--text-secondary);border-left:3px solid var(--color-primary)}.grammar-item .grammar-examples .examples-list .example-item:last-child{margin-bottom:0}.grammar-item .grammar-examples .examples-list .hidden-examples{margin-top:.5rem}.grammar-item .grammar-examples .examples-list .hidden-examples.hidden{display:none}.grammar-item .grammar-actions{display:flex;align-items:center;justify-content:space-between;align-items:center;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-primary)}.feature-card{text-align:center;padding:2rem 1.5rem}.feature-card .feature-icon{font-size:3rem;margin-bottom:1rem}.feature-card h3{font-size:1.25rem;margin-bottom:.75rem;color:var(--text-primary)}.feature-card p{color:var(--text-secondary);line-height:1.75;margin:0}.activity-card{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1.5rem}.activity-card .activity-icon{font-size:2rem;flex-shrink:0}.activity-card .activity-content{flex:1}.activity-card .activity-content h3{font-size:1rem;font-weight:500;color:var(--text-primary);margin-bottom:.5rem}.activity-card .activity-content .activity-count{font-size:1.125rem;font-weight:600;color:var(--color-primary);margin-bottom:.5rem}.activity-card .activity-content .activity-action{font-size:.875rem;color:var(--text-secondary);text-decoration:none}.activity-card .activity-content .activity-action:hover{color:var(--color-primary)}.quick-start-card{text-align:center;padding:1.5rem}.quick-start-card h3{font-size:1.125rem;margin-bottom:.75rem;color:var(--text-primary)}.quick-start-card p{color:var(--text-secondary);margin-bottom:1rem}.quick-start-card .level-badges{display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:wrap}.quick-start-card .practice-preview{display:flex;align-items:center;justify-content:center;margin:1rem 0}.quick-start-card .practice-preview .mini-flashcard{background-color:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:.375rem;padding:.75rem;text-align:center}.quick-start-card .practice-preview .mini-flashcard .mini-word{font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.quick-start-card .practice-preview .mini-flashcard .mini-translation{font-size:.875rem;color:var(--text-secondary)}.quick-start-card .progress-preview{display:flex;flex-direction:column;align-items:center;gap:.5rem}.quick-start-card .progress-preview .mini-progress-bar{width:100px;height:8px;background-color:var(--color-gray-200);border-radius:9999px;overflow:hidden}.quick-start-card .progress-preview .mini-progress-bar .mini-progress-fill{height:100%;background-color:var(--color-success);transition:width 200ms ease-in-out}.quick-start-card .progress-preview .mini-progress-text{font-size:.875rem;color:var(--text-secondary)}.content-item{background-color:var(--bg-primary);border:1px solid var(--border-primary);border-radius:.75rem;box-shadow:0 1px 2px rgba(0,0,0,5%);transition:all 200ms ease-in-out;padding:1.5rem;margin-bottom:1rem;transition:all 200ms ease-in-out}.content-item:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,6%)}.content-item .item-header{display:flex;align-items:center;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.content-item .item-header h2{margin:0;font-size:1.25rem}.content-item .item-header h2 a{color:var(--text-primary);text-decoration:none}.content-item .item-header h2 a:hover{color:var(--color-primary)}.content-item .item-summary{color:var(--text-secondary);margin-bottom:.75rem;line-height:1.75}.content-item .item-meta{display:flex;align-items:center;justify-content:center;gap:.75rem;font-size:.875rem;color:var(--text-muted)}.content-item .item-meta .category{padding:.25rem .5rem;background-color:var(--bg-secondary);border-radius:.25rem}.flashcards-container{max-width:800px;margin:0 auto;padding:1rem;min-height:600px}.flashcards-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:1rem;background:var(--color-bg-secondary);border-radius:var(--border-radius);box-shadow:var(--shadow-sm)}.session-info .session-title{margin:0 0 .5rem;color:var(--color-text-primary);font-size:1.25rem}.session-info .session-meta{display:flex;gap:1rem;font-size:.9rem;color:var(--color-text-secondary)}.session-controls{display:flex;gap:.5rem}.progress-container{margin-bottom:2rem}.progress-bar{width:100%;height:8px;background:var(--color-border);border-radius:var(--border-radius-full);overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-light));transition:width .3s ease;border-radius:var(--border-radius-full)}.flashcard-stage{display:flex;justify-content:center;align-items:center;min-height:400px;margin-bottom:2rem}.flashcard{perspective:1000px}.flashcard-toggle{display:none}.flashcard-container{position:relative;width:100%;height:300px}.flashcard{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s;cursor:pointer}.flashcard-toggle:checked+.flashcard-container .flashcard{transform:rotateY(180deg)}.flashcard-front,.flashcard-back{position:absolute;width:100%;height:100%;backface-visibility:hidden;background:#fff;border:1px solid #ddd;border-radius:8px;padding:30px;box-shadow:0 2px 8px rgba(0,0,0,.1);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.flashcard-back{transform:rotateY(180deg)}.card-content{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center}.word{font-size:32px;font-weight:700;color:#333;margin-bottom:20px;min-height:40px}.translation{font-size:28px;font-weight:700;color:#28a745;margin-bottom:15px;min-height:35px}.notes{font-size:14px;color:#666;font-style:italic;margin-top:15px;max-width:400px;line-height:1.4}.meta-info{display:flex;justify-content:center;gap:10px;margin-top:20px}.level-badge,.category-badge{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:700;color:#fff}.level-badge{background:#007bff}.category-badge{background:#6c757d}.flip-button{background:#007bff;color:#fff;border:none;padding:12px 24px;border-radius:6px;font-size:16px;cursor:pointer;transition:all .2s ease;margin-top:20px;display:inline-block}.flip-button:hover{background:#0056b3;transform:translateY(-1px)}.response-buttons{display:flex;gap:15px;justify-content:center;margin:20px 0}.btn-incorrect,.btn-correct{padding:10px 20px;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:700;transition:all .2s ease}.btn-incorrect{background:#dc3545;color:#fff}.btn-incorrect:hover{background:#c82333;transform:translateY(-1px)}.btn-correct{background:#28a745;color:#fff}.btn-correct:hover{background:#218838;transform:translateY(-1px)}.flashcard-item.answered-correct{opacity:.7}.flashcard-item.answered-correct .flashcard{border-color:#28a745;box-shadow:0 0 0 2px rgba(40,167,69,.2)}.flashcard-item.answered-incorrect{opacity:.7}.flashcard-item.answered-incorrect .flashcard{border-color:#dc3545;box-shadow:0 0 0 2px rgba(220,53,69,.2)}.practice-session{max-width:800px;margin:0 auto;padding:20px}.practice-header{text-align:center;margin-bottom:30px}.practice-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:30px;text-align:center}.stat-item{padding:15px;background:#f8f9fa;border-radius:8px}.stat-number{display:block;font-size:24px;font-weight:700;color:#333}.stat-label{font-size:12px;color:#666;text-transform:uppercase;letter-spacing:.5px}@media(max-width:768px){.flashcard-item{margin:15px auto}.flashcard-container{height:250px}.flashcard-front,.flashcard-back{padding:20px}.word{font-size:24px}.translation{font-size:20px}.response-buttons{flex-direction:column;gap:10px}.practice-stats{grid-template-columns:1fr;gap:15px}}.review-stats{display:flex;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.2)}.review-stats .stat-item{display:flex;flex-direction:column;align-items:center;gap:.25rem}.review-stats .stat-item .stat-label{font-size:.7rem;opacity:.8;text-transform:uppercase;letter-spacing:.5px}.review-stats .stat-item .stat-value{font-size:1rem;font-weight:700}.grading-controls{text-align:center;padding:2rem;background:var(--color-bg-secondary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md)}.grading-controls .grading-prompt{margin-bottom:2rem}.grading-controls .grading-prompt h4{margin:0 0 .5rem;color:var(--color-text-primary);font-size:1.25rem}.grading-controls .grading-prompt .grading-help{color:var(--color-text-secondary);font-size:.9rem;margin:0}.grade-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;margin-bottom:1.5rem}.grade-btn{display:flex;flex-direction:column;align-items:center;padding:1rem;background:var(--color-bg-primary);border:2px solid var(--color-border);border-radius:var(--border-radius);cursor:pointer;transition:all .2s cubic-bezier(.25,.46,.45,.94);text-align:center;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;min-height:48px;min-width:120px}.grade-btn:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.grade-btn:active{transform:translateY(0)scale(.98);transition:transform .1s ease}.grade-btn:focus{outline:2px solid var(--color-primary);outline-offset:2px}.grade-btn.selected{background:var(--color-primary);color:#fff;border-color:var(--color-primary);transform:scale(1.05);box-shadow:var(--shadow-lg)}.grade-btn.selected:active{transform:scale(1.02)}.grade-btn .grade-number{font-size:1.5rem;font-weight:700;color:var(--color-primary);margin-bottom:.25rem}.grade-btn .grade-label{font-size:.9rem;font-weight:600;margin-bottom:.25rem}.grade-btn .grade-desc{font-size:.75rem;opacity:.8;line-height:1.2}.grade-btn.selected .grade-number{color:#fff}.flashcard-btn{padding:.75rem 1.5rem;border:none;border-radius:var(--border-radius);font-weight:600;cursor:pointer;transition:var(--transition-fast);text-decoration:none;display:inline-flex;align-items:center;gap:.5rem}.flashcard-btn:focus{outline:2px solid var(--color-primary);outline-offset:2px}.flashcard-btn.primary{background:var(--color-primary);color:#fff}.flashcard-btn.primary:hover{background:var(--color-primary-dark);transform:translateY(-1px)}.flashcard-btn.secondary{background:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border)}.flashcard-btn.secondary:hover{background:var(--color-bg-primary);transform:translateY(-1px)}.flashcard-btn.danger{background:var(--color-error);color:#fff}.flashcard-btn.danger:hover{background:var(--color-error-dark);transform:translateY(-1px)}.response-feedback{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1000;opacity:0;scale:.8;transition:all .3s cubic-bezier(.25,.46,.45,.94);pointer-events:none}.response-feedback.show{opacity:1;scale:1}.response-feedback.hide{opacity:0;scale:.8;transform:translate(-50%,-60%)}.feedback-content{background:#fff;border-radius:var(--border-radius-lg);padding:1.5rem;box-shadow:var(--shadow-xl);text-align:center;border:3px solid}.feedback-content.excellent{border-color:#10b981;background:linear-gradient(135deg,#ecfdf5,#d1fae5)}.feedback-content.correct{border-color:var(--color-primary);background:linear-gradient(135deg,#eff6ff,#dbeafe)}.feedback-content.incorrect{border-color:var(--color-error);background:linear-gradient(135deg,#fef2f2,#fecaca)}.feedback-content .feedback-icon{font-size:2rem;margin-bottom:.5rem;animation:bounce .6s ease}.feedback-content .feedback-text{font-weight:600;margin-bottom:.25rem;color:var(--color-text-primary)}.feedback-content .feedback-time{font-size:.8rem;opacity:.7;color:var(--color-text-secondary)}@keyframes bounce{0%,20%,53%,80%,100%{transform:translateY(0)}40%,43%{transform:translateY(-10px)}70%{transform:translateY(-5px)}90%{transform:translateY(-2px)}}.flashcard.correct-flash .flashcard-inner{animation:correctFlash .6s ease}.flashcard.incorrect-flash .flashcard-inner{animation:incorrectFlash .6s ease}@keyframes correctFlash{0%{box-shadow:var(--shadow-lg)}50%{box-shadow:0 0 30px rgba(16,185,129,.6);transform:scale(1.02)}100%{box-shadow:var(--shadow-lg)}}@keyframes incorrectFlash{0%{box-shadow:var(--shadow-lg)}25%{box-shadow:0 0 30px rgba(239,68,68,.6);transform:translateX(-5px)}50%{transform:translateX(5px)}75%{transform:translateX(-2px)}100%{box-shadow:var(--shadow-lg);transform:translateX(0)}}.session-accuracy.updating{animation:statUpdate .3s ease}.session-accuracy{transition:color .3s ease}.session-accuracy.excellent{color:#10b981}.session-accuracy.good{color:var(--color-primary)}.session-accuracy.okay{color:#f59e0b}.session-accuracy.needs-improvement{color:var(--color-error)}@keyframes statUpdate{0%{transform:scale(1)}50%{transform:scale(1.1)}100%{transform:scale(1)}}.session-streak{transition:all .3s ease}.session-streak.streak-up{animation:streakUp .5s ease;color:#10b981}.session-streak.streak-reset{animation:streakReset .5s ease;color:var(--color-error)}@keyframes streakUp{0%{transform:scale(1)}50%{transform:scale(1.3);text-shadow:0 0 10px currentColor}100%{transform:scale(1)}}@keyframes streakReset{0%{transform:scale(1)}25%{transform:scale(.8)rotate(-5deg)}75%{transform:scale(.8)rotate(5deg)}100%{transform:scale(1)rotate(0)}}.streak-celebration{position:fixed;top:20%;left:50%;transform:translate(-50%,-50%);z-index:2000;opacity:0;scale:.5;transition:all .5s cubic-bezier(.25,.46,.45,.94);pointer-events:none}.streak-celebration.show{opacity:1;scale:1}.streak-celebration.hide{opacity:0;scale:.5;transform:translate(-50%,-70%)}.celebration-content{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;padding:1rem 2rem;border-radius:var(--border-radius-full);box-shadow:var(--shadow-xl);text-align:center;border:3px solid #d97706}.celebration-content .celebration-icon{font-size:2rem;margin-bottom:.5rem;animation:flame 1s ease-in-out infinite alternate}.celebration-content .celebration-text{font-weight:700;font-size:1.1rem}@keyframes flame{0%{transform:scale(1)rotate(-2deg)}100%{transform:scale(1.1)rotate(2deg)}}.progress-fill.milestone{animation:progressMilestone 1s ease}@keyframes progressMilestone{0%{box-shadow:0 0 rgba(var(--color-primary-rgb),.4)}50%{box-shadow:0 0 20px rgba(var(--color-primary-rgb),.8)}100%{box-shadow:0 0 rgba(var(--color-primary-rgb),.4)}}.progress-container .updating{animation:textPulse .2s ease}@keyframes textPulse{0%{opacity:1}50%{opacity:.6}100%{opacity:1}}.flashcards-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:var(--color-text-secondary)}.flashcards-loading .loading-spinner{width:3rem;height:3rem;border:3px solid var(--color-border);border-top:3px solid var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@media(max-width:768px){.flashcards-container{padding:.5rem;min-height:500px}.flashcard{height:300px}.flashcard .card-content{padding:1rem}.flashcard .card-content .word{font-size:1.5rem}.flashcard .card-content .translation{font-size:1.25rem}.flashcard-controls .btn{padding:.75rem 1rem;font-size:.9rem;min-height:44px;min-width:44px}.session-info .session-meta{flex-direction:column;gap:.25rem}.grade-buttons{grid-template-columns:repeat(2,1fr);gap:.75rem}}@media(max-width:768px){.flashcard{touch-action:pan-y pinch-zoom}.flashcard:active{transform:scale(.98);transition:transform .1s ease}.grade-btn{min-height:56px;min-width:140px}.grade-btn:active{transform:scale(.95);transition:transform .1s ease}.flashcard-btn{min-height:48px;padding:.875rem 1.5rem}.flashcard-btn:active{transform:scale(.98)}}@media(max-width:360px){.flashcards-container{padding:.25rem;min-height:450px}.flashcard{height:280px;margin:.5rem 0}.flashcard.swipe-left{animation:swipeLeft .3s ease-out}.flashcard.swipe-right{animation:swipeRight .3s ease-out}.flashcard .card-content{padding:.75rem}.flashcard .card-content .word{font-size:1.25rem;line-height:1.3}.flashcard .card-content .translation{font-size:1.1rem;line-height:1.3}.flashcard-controls{gap:.5rem;flex-wrap:wrap}.flashcard-controls .btn{flex:1;min-width:120px;padding:.75rem .5rem;font-size:.85rem;min-height:48px}.flashcards-header{padding:.75rem;flex-direction:column;gap:.75rem;text-align:center}.session-controls{width:100%;justify-content:center}.grade-buttons{grid-template-columns:1fr 1fr;gap:.5rem}.grade-buttons .grade-btn{min-height:64px;padding:.75rem .5rem}.grade-buttons .grade-btn .grade-number{font-size:1.25rem}.grade-buttons .grade-btn .grade-label{font-size:.8rem}.grade-buttons .grade-btn .grade-desc{display:none}}@keyframes swipeLeft{0%{transform:translateX(0)rotate(0)}50%{transform:translateX(-20px)rotate(-5deg)}100%{transform:translateX(0)rotate(0)}}@keyframes swipeRight{0%{transform:translateX(0)rotate(0)}50%{transform:translateX(20px)rotate(5deg)}100%{transform:translateX(0)rotate(0)}}@media(hover:none) and (pointer:coarse){.grade-btn:hover{transform:none;box-shadow:var(--shadow-md)}.flashcard-btn:hover{transform:none}.flashcard:hover{transform:none}}.keyboard-hint,.keyboard-feedback{position:fixed;top:20px;left:50%;transform:translateX(-50%);z-index:1500;background:var(--color-bg-secondary);color:var(--color-text-primary);padding:.75rem 1.5rem;border-radius:var(--border-radius-full);box-shadow:var(--shadow-lg);border:2px solid var(--color-primary);font-size:.9rem;font-weight:500;opacity:0;transform:translateX(-50%)translateY(-20px);transition:all .3s cubic-bezier(.25,.46,.45,.94);pointer-events:none;max-width:90vw;text-align:center}.keyboard-hint.show,.keyboard-feedback.show{opacity:1;transform:translateX(-50%)translateY(0)}.keyboard-hint.hide,.keyboard-feedback.hide{opacity:0;transform:translateX(-50%)translateY(-20px)}.keyboard-feedback{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));color:#fff;border-color:var(--color-primary-dark);font-weight:600}.keyboard-shortcuts-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.8);z-index:2000;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.keyboard-shortcuts-modal.show{opacity:1}.keyboard-shortcuts-modal.hide{opacity:0}.keyboard-shortcuts-modal .modal-content{background:var(--color-bg-primary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);max-width:600px;width:90%;max-height:80vh;overflow-y:auto;transform:scale(.9);transition:transform .3s ease}.keyboard-shortcuts-modal.show .modal-content{transform:scale(1)}.keyboard-shortcuts-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:2px solid var(--color-border)}.keyboard-shortcuts-modal .modal-header h3{margin:0;color:var(--color-text-primary);font-size:1.25rem;font-weight:700}.keyboard-shortcuts-modal .modal-header .close-modal{background:0 0;border:none;font-size:1.5rem;color:var(--color-text-secondary);cursor:pointer;padding:.25rem;border-radius:var(--border-radius);transition:var(--transition-fast)}.keyboard-shortcuts-modal .modal-header .close-modal:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.keyboard-shortcuts-modal .modal-body{padding:1.5rem}.shortcuts-grid{display:grid;gap:1rem}.shortcuts-grid .shortcut-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--color-bg-secondary);border-radius:var(--border-radius);border-left:4px solid var(--color-primary)}.shortcuts-grid .shortcut-item kbd{background:var(--color-primary);color:#fff;padding:.25rem .5rem;border-radius:var(--border-radius);font-family:monaco,menlo,ubuntu mono,monospace;font-size:.8rem;font-weight:600;white-space:nowrap}.shortcuts-grid .shortcut-item span{color:var(--color-text-primary);font-weight:500;margin-left:1rem}@media(max-width:768px){.keyboard-hint,.keyboard-feedback{font-size:.8rem;padding:.5rem 1rem;max-width:95vw}.keyboard-shortcuts-modal .modal-content{width:95%;max-height:90vh}.keyboard-shortcuts-modal .modal-header,.keyboard-shortcuts-modal .modal-body{padding:1rem}.keyboard-shortcuts-modal .shortcuts-grid .shortcut-item{flex-direction:column;text-align:center;gap:.5rem}.keyboard-shortcuts-modal .shortcuts-grid .shortcut-item span{margin-left:0}}@media(max-width:480px){.shortcuts-grid .shortcut-item{padding:.5rem}.shortcuts-grid .shortcut-item kbd{font-size:.7rem;padding:.2rem .4rem}.shortcuts-grid .shortcut-item span{font-size:.85rem}}.vocab-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1);padding:1rem;margin-bottom:1rem;transition:all .3s ease}.vocab-card:hover{box-shadow:0 4px 8px rgba(0,0,0,.15);transform:translateY(-2px)}.vocab-card .vocab-word{font-size:1.25rem;font-weight:600;color:#333;margin-bottom:.5rem}.vocab-card .vocab-translation{font-size:1rem;color:#666;margin-bottom:.75rem}.vocab-card .vocab-meta{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem}.vocab-card .vocab-meta .level-badge,.vocab-card .vocab-meta .category-badge{padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.vocab-card .vocab-meta .level-badge{background:#e3f2fd;color:#1976d2}.vocab-card .vocab-meta .category-badge{background:#f3e5f5;color:#7b1fa2}.vocab-card .vocab-notes{font-size:.875rem;color:#555;font-style:italic}.vocab-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;margin:2rem 0}.vocab-filters{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.vocab-filters .filter-group{display:flex;flex-direction:column;gap:.5rem}.vocab-filters .filter-group label{font-size:.875rem;font-weight:500;color:#333}.vocab-filters .filter-group select,.vocab-filters .filter-group input{padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.875rem}@media(max-width:768px){.vocab-grid{grid-template-columns:1fr}.vocab-filters{flex-direction:column;gap:.5rem}}.practice-container{max-width:800px;margin:0 auto;padding:2rem}.practice-header{text-align:center;margin-bottom:2rem}.practice-header h1{color:#333;margin-bottom:.5rem}.practice-header .practice-stats{display:flex;justify-content:center;gap:2rem;margin-top:1rem}.practice-header .practice-stats .stat-item{text-align:center}.practice-header .practice-stats .stat-item .stat-number{font-size:1.5rem;font-weight:600;color:#007bff;display:block}.practice-header .practice-stats .stat-item .stat-label{font-size:.875rem;color:#666}.practice-session{background:#fff;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.1);padding:2rem;margin-bottom:2rem}.practice-session .session-progress{width:100%;height:8px;background:#e9ecef;border-radius:4px;margin-bottom:2rem;overflow:hidden}.practice-session .session-progress .progress-bar{height:100%;background:linear-gradient(90deg,#007bff,#28a745);transition:width .3s ease}.practice-session .session-controls{display:flex;justify-content:center;gap:1rem;margin-top:2rem}.practice-session .session-controls .btn{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease}.practice-session .session-controls .btn.btn-primary{background:#007bff;color:#fff}.practice-session .session-controls .btn.btn-primary:hover{background:#0056b3}.practice-session .session-controls .btn.btn-success{background:#28a745;color:#fff}.practice-session .session-controls .btn.btn-success:hover{background:#1e7e34}.practice-session .session-controls .btn.btn-danger{background:#dc3545;color:#fff}.practice-session .session-controls .btn.btn-danger:hover{background:#c82333}.practice-session .session-controls .btn:disabled{opacity:.6;cursor:not-allowed}.practice-summary{background:linear-gradient(135deg,#f8f9fa 0%,#e9ecef 100%);border-radius:12px;padding:2rem;text-align:center}.practice-summary .summary-title{font-size:1.5rem;font-weight:600;color:#333;margin-bottom:1rem}.practice-summary .summary-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin:2rem 0}.practice-summary .summary-stats .summary-stat{background:#fff;padding:1rem;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1)}.practice-summary .summary-stats .summary-stat .stat-value{font-size:2rem;font-weight:600;color:#007bff;display:block}.practice-summary .summary-stats .summary-stat .stat-description{font-size:.875rem;color:#666;margin-top:.25rem}.practice-summary .summary-actions{display:flex;justify-content:center;gap:1rem;margin-top:2rem}.practice-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px}.practice-loading .loading-spinner{width:40px;height:40px;border:4px solid #e9ecef;border-top:4px solid #007bff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.practice-loading .loading-text{color:#666;font-size:1rem}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.practice-empty{text-align:center;padding:3rem 2rem;color:#666}.practice-empty .empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.practice-empty .empty-title{font-size:1.25rem;font-weight:500;margin-bottom:.5rem}.practice-empty .empty-description{font-size:1rem;margin-bottom:2rem}@media(max-width:768px){.practice-container{padding:1rem}.practice-header .practice-stats{gap:1rem;flex-wrap:wrap}.practice-session{padding:1.5rem}.practice-session .session-controls{flex-direction:column;gap:.75rem}.practice-session .session-controls .btn{width:100%}.practice-summary .summary-stats{grid-template-columns:1fr}}.main-navigation{background:#fff;border-bottom:1px solid #e9ecef;padding:1rem 0;position:sticky;top:0;z-index:100}.main-navigation .nav-container{max-width:1200px;margin:0 auto;padding:0 1rem;display:flex;justify-content:space-between;align-items:center}.main-navigation .nav-brand{font-size:1.5rem;font-weight:600;color:#333;text-decoration:none}.main-navigation .nav-brand:hover{color:#007bff}.main-navigation .nav-menu{display:flex;list-style:none;margin:0;padding:0;gap:2rem}.main-navigation .nav-menu .nav-item .nav-link{color:#666;text-decoration:none;font-weight:500;transition:color .3s ease}.main-navigation .nav-menu .nav-item .nav-link:hover{color:#007bff}.main-navigation .nav-menu .nav-item .nav-link.active{color:#007bff;font-weight:600}.main-navigation .nav-toggle{display:none;background:0 0;border:none;font-size:1.5rem;cursor:pointer;color:#333}.breadcrumb{background:#f8f9fa;padding:.75rem 0;margin-bottom:2rem}.breadcrumb .breadcrumb-container{max-width:1200px;margin:0 auto;padding:0 1rem}.breadcrumb .breadcrumb-list{display:flex;list-style:none;margin:0;padding:0;gap:.5rem;align-items:center}.breadcrumb .breadcrumb-list .breadcrumb-item{font-size:.875rem}.breadcrumb .breadcrumb-list .breadcrumb-item:not(:last-child)::after{content:'/';margin-left:.5rem;color:#666}.breadcrumb .breadcrumb-list .breadcrumb-item .breadcrumb-link{color:#007bff;text-decoration:none}.breadcrumb .breadcrumb-list .breadcrumb-item .breadcrumb-link:hover{text-decoration:underline}.breadcrumb .breadcrumb-list .breadcrumb-item.active{color:#666;font-weight:500}.pagination{display:flex;justify-content:center;margin:3rem 0}.pagination .pagination-list{display:flex;list-style:none;margin:0;padding:0;gap:.5rem}.pagination .pagination-list .pagination-item .pagination-link{display:block;padding:.5rem .75rem;color:#007bff;text-decoration:none;border:1px solid #dee2e6;border-radius:4px;transition:all .3s ease}.pagination .pagination-list .pagination-item .pagination-link:hover{background:#e9ecef}.pagination .pagination-list .pagination-item .pagination-link.active{background:#007bff;color:#fff;border-color:#007bff}.pagination .pagination-list .pagination-item .pagination-link.disabled{color:#6c757d;pointer-events:none;background:#fff;border-color:#dee2e6}.sidebar-nav{background:#f8f9fa;border-radius:8px;padding:1.5rem;margin-bottom:2rem}.sidebar-nav .sidebar-title{font-size:1.1rem;font-weight:600;color:#333;margin-bottom:1rem}.sidebar-nav .sidebar-menu{list-style:none;margin:0;padding:0}.sidebar-nav .sidebar-menu .sidebar-item{margin-bottom:.5rem}.sidebar-nav .sidebar-menu .sidebar-item .sidebar-link{display:block;padding:.5rem .75rem;color:#666;text-decoration:none;border-radius:4px;transition:all .3s ease}.sidebar-nav .sidebar-menu .sidebar-item .sidebar-link:hover{background:#e9ecef;color:#333}.sidebar-nav .sidebar-menu .sidebar-item .sidebar-link.active{background:#007bff;color:#fff}.sidebar-nav .sidebar-menu .sidebar-item.has-children .sidebar-submenu{list-style:none;margin:.5rem 0 0 1rem;padding:0}.sidebar-nav .sidebar-menu .sidebar-item.has-children .sidebar-submenu .sidebar-subitem{margin-bottom:.25rem}.sidebar-nav .sidebar-menu .sidebar-item.has-children .sidebar-submenu .sidebar-subitem .sidebar-sublink{display:block;padding:.25rem .5rem;color:#666;text-decoration:none;font-size:.875rem;border-radius:4px;transition:all .3s ease}.sidebar-nav .sidebar-menu .sidebar-item.has-children .sidebar-submenu .sidebar-subitem .sidebar-sublink:hover{background:#e9ecef;color:#333}.sidebar-nav .sidebar-menu .sidebar-item.has-children .sidebar-submenu .sidebar-subitem .sidebar-sublink.active{background:#007bff;color:#fff}@media(max-width:768px){.main-navigation .nav-toggle{display:block}.main-navigation .nav-menu{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-top:1px solid #e9ecef;flex-direction:column;gap:0;padding:1rem}.main-navigation .nav-menu.active{display:flex}.main-navigation .nav-menu .nav-item .nav-link{display:block;padding:.75rem 0;border-bottom:1px solid #e9ecef}.main-navigation .nav-menu .nav-item .nav-link:last-child{border-bottom:none}.breadcrumb .breadcrumb-list{flex-wrap:wrap}.pagination .pagination-list{flex-wrap:wrap;justify-content:center}.sidebar-nav{margin-bottom:1rem}}.flashcard-item{position:relative;transition:all .3s ease}.flashcard-item::before{content:'';position:absolute;top:-8px;right:-8px;width:24px;height:24px;border-radius:50%;background:linear-gradient(45deg,#007bff,#28a745);z-index:10;opacity:0;transform:scale(.8);transition:all .3s ease}.flashcard-item.reversed::before{background:linear-gradient(45deg,#ffc107,#dc3545);opacity:1;transform:scale(1)}.flashcard-item .word,.flashcard-item .translation{transition:all .3s ease}.flashcard-item .word[data-lang=bg],.flashcard-item .translation[data-lang=bg]{font-family:segoe ui,arial unicode ms,sans-serif;border-left:3px solid #007bff;padding-left:12px}.flashcard-item .word[data-lang=de],.flashcard-item .translation[data-lang=de]{font-family:segoe ui,roboto,sans-serif;border-left:3px solid #28a745;padding-left:12px}.flashcard-item .flip-button{position:relative;overflow:hidden}.flashcard-item .flip-button .btn-text-bg,.flashcard-item .flip-button .btn-text-de{transition:all .3s ease;display:inline-block}.flashcard-item .flip-button .btn-text-bg{transform:translateX(0)}.flashcard-item .flip-button .btn-text-de{display:none;transform:translateX(100%)}.flashcard-item.reversed .flip-button .btn-text-bg{display:none;transform:translateX(-100%)}.flashcard-item.reversed .flip-button .btn-text-de{display:inline-block;transform:translateX(0)}.flashcard-item .response-buttons button{transition:all .3s ease;position:relative;overflow:hidden}.flashcard-item .flashcard{perspective:1000px;transition:transform .6s ease}.flashcard-item .flashcard.flipping{transform:rotateY(180deg)}.flashcard-item.direction-changing .word,.flashcard-item.direction-changing .translation{animation:directionChange .6s ease}@keyframes directionChange{0%{opacity:1;transform:translateX(0)}50%{opacity:.3;transform:translateX(-20px)}100%{opacity:1;transform:translateX(0)}}.language-direction-indicator{position:fixed;top:20px;right:20px;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border-radius:8px;padding:8px 12px;font-size:.85rem;font-weight:600;box-shadow:0 2px 8px rgba(0,0,0,.1);z-index:1000;transition:all .3s ease}.language-direction-indicator.bg-to-de{border-left:4px solid #007bff;color:#007bff}.language-direction-indicator.bg-to-de::before{content:'🇧🇬 → 🇩🇪';margin-right:8px}.language-direction-indicator.de-to-bg{border-left:4px solid #28a745;color:#28a745}.language-direction-indicator.de-to-bg::before{content:'🇩🇪 → 🇧🇬';margin-right:8px}.flashcard-item .cultural-context{margin-top:12px;padding:8px 12px;border-radius:6px;font-size:.85rem;line-height:1.4;transition:all .3s ease}.flashcard-item .cultural-context.bg-context{background:linear-gradient(135deg,#e3f2fd 0%,#f8f9ff 100%);border-left:3px solid #007bff;color:#1565c0}.flashcard-item .cultural-context.de-context{background:linear-gradient(135deg,#e8f5e8 0%,#f1f8e9 100%);border-left:3px solid #28a745;color:#2e7d32}.flashcard-item.reversed .cultural-context.bg-context{background:linear-gradient(135deg,#e8f5e8 0%,#f1f8e9 100%);border-left-color:#28a745;color:#2e7d32}.flashcard-item.reversed .cultural-context.de-context{background:linear-gradient(135deg,#e3f2fd 0%,#f8f9ff 100%);border-left-color:#007bff;color:#1565c0}.difficulty-indicator{position:absolute;top:8px;left:8px;width:8px;height:8px;border-radius:50%}.difficulty-indicator.difficulty-1{background:#28a745}.difficulty-indicator.difficulty-2{background:#ffc107}.difficulty-indicator.difficulty-3{background:#fd7e14}.difficulty-indicator.difficulty-4{background:#dc3545}.difficulty-indicator.difficulty-5{background:#6f42c1}@media(max-width:768px){.language-direction-indicator{top:10px;right:10px;padding:6px 10px;font-size:.8rem}.flashcard-item .word[data-lang=bg],.flashcard-item .word[data-lang=de],.flashcard-item .translation[data-lang=bg],.flashcard-item .translation[data-lang=de]{border-left-width:2px;padding-left:8px}}@media(prefers-color-scheme:dark){.language-direction-indicator{background:rgba(33,37,41,.95);color:#f8f9fa}.flashcard-item .cultural-context.bg-context{background:linear-gradient(135deg,#1a237e 0%,#283593 100%);color:#bbdefb}.flashcard-item .cultural-context.de-context{background:linear-gradient(135deg,#1b5e20 0%,#388e3c 100%);color:#c8e6c9}}.flashcard-item *{transition:color .3s ease,background-color .3s ease,border-color .3s ease}.sw-notification{position:fixed;top:1rem;right:1rem;z-index:9999;max-width:400px;background:#fff;border-radius:.75rem;box-shadow:0 10px 25px rgba(0,0,0,.15);border:1px solid var(--border-color,#dee2e6);animation:slideInRight .3s ease-out}@media(max-width:768px){.sw-notification{top:.5rem;right:.5rem;left:.5rem;max-width:none}}.notification-content{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem}.notification-icon{font-size:1.5rem;flex-shrink:0;margin-top:.125rem}.notification-text{flex:1;min-width:0}.notification-text strong{display:block;font-weight:600;color:var(--text-primary,#333);margin-bottom:.25rem;font-size:.95rem}.notification-text p{margin:0;color:var(--text-secondary,#6c757d);font-size:.875rem;line-height:1.4}.notification-actions{display:flex;gap:.5rem;margin-top:.75rem;flex-wrap:wrap}.sw-notification.update-available{border-left:4px solid var(--warning-color,#ffc107)}.sw-notification.update-available .notification-icon{color:var(--warning-color,#ffc107)}.sw-notification.install-prompt{border-left:4px solid var(--primary-color,#007bff)}.sw-notification.install-prompt .notification-icon{color:var(--primary-color,#007bff)}.sw-notification.connection-status.online{border-left:4px solid var(--success-color,#28a745)}.sw-notification.connection-status.online .notification-icon{color:var(--success-color,#28a745)}.sw-notification.connection-status.offline{border-left:4px solid var(--danger-color,#dc3545)}.sw-notification.connection-status.offline .notification-icon{color:var(--danger-color,#dc3545)}.sw-notification .btn{padding:.375rem .75rem;font-size:.8125rem;font-weight:500;border-radius:.375rem;border:1px solid transparent;text-decoration:none;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center}.sw-notification .btn:focus{outline:none;box-shadow:0 0 0 3px rgba(0,123,255,.25)}.sw-notification .btn-primary{background:var(--primary-color,#007bff);color:#fff;border-color:var(--primary-color,#007bff)}.sw-notification .btn-primary:hover{background:var(--primary-hover,#0056b3);border-color:var(--primary-hover,#0056b3)}.sw-notification .btn-secondary{background:var(--secondary-color,#6c757d);color:#fff;border-color:var(--secondary-color,#6c757d)}.sw-notification .btn-secondary:hover{background:var(--secondary-hover,#545b62);border-color:var(--secondary-hover,#545b62)}.sw-notification .btn-sm{padding:.25rem .5rem;font-size:.75rem}@keyframes slideInRight{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes slideOutRight{from{transform:translateX(0);opacity:1}to{transform:translateX(100%);opacity:0}}.sw-notification.removing{animation:slideOutRight .3s ease-in forwards}.pwa-install-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--primary-color,#007bff);color:#fff;border:none;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none}.pwa-install-btn:hover{background:var(--primary-hover,#0056b3);transform:translateY(-1px)}.pwa-install-btn:focus{outline:none;box-shadow:0 0 0 3px rgba(0,123,255,.25)}.pwa-install-btn:active{transform:translateY(0)}.pwa-install-btn .install-icon{font-size:1rem}@media(max-width:768px){.pwa-install-btn{padding:.375rem .75rem;font-size:.8125rem}.pwa-install-btn .install-text{display:none}}.connection-indicator{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .5rem;border-radius:1rem;font-size:.75rem;font-weight:500}.connection-indicator.online{background:rgba(40,167,69,.1);color:var(--success-color,#28a745)}.connection-indicator.offline{background:rgba(220,53,69,.1);color:var(--danger-color,#dc3545)}.connection-dot{width:.375rem;height:.375rem;border-radius:50%;background:currentColor}.online .connection-dot{animation:pulse 2s infinite}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}.sw-status-panel{position:fixed;bottom:1rem;left:1rem;background:rgba(0,0,0,.8);color:#fff;padding:.75rem;border-radius:.5rem;font-family:monospace;font-size:.75rem;z-index:1000;max-width:300px}.sw-status-panel.hidden{display:none}.sw-status-panel .sw-version{margin-bottom:.5rem;font-weight:700}.sw-status-panel .sw-status{margin-bottom:.25rem}.sw-status-panel .sw-actions{margin-top:.5rem;display:flex;gap:.5rem}.sw-status-panel .sw-action-btn{padding:.25rem .5rem;background:rgba(255,255,255,.2);border:none;border-radius:.25rem;color:#fff;font-size:.6875rem;cursor:pointer}.sw-status-panel .sw-action-btn:hover{background:rgba(255,255,255,.3)}@media(prefers-color-scheme:dark){.sw-notification{background:var(--bg-primary-dark,#1a202c);border-color:var(--border-color-dark,#4a5568);color:var(--text-primary-dark,#e2e8f0)}.notification-text strong{color:var(--text-primary-dark,#e2e8f0)}.notification-text p{color:var(--text-secondary-dark,#a0aec0)}}@media(prefers-contrast:high){.sw-notification{border:2px solid}.sw-notification .btn{border:2px solid}}@media(prefers-reduced-motion:reduce){.sw-notification{animation:none}.connection-dot{animation:none}.sw-notification .btn{transition:none}}@media print{.sw-notification,.pwa-install-btn,.connection-indicator,.sw-status-panel{display:none !important}}.cultural-context-toggle{position:relative;margin-bottom:1rem;z-index:100}.cultural-context-toggle .context-toggle-header{display:flex;justify-content:flex-end}.cultural-context-toggle .context-toggle-header .context-toggle-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);cursor:pointer;transition:all .2s ease;font-size:.9rem}.cultural-context-toggle .context-toggle-header .context-toggle-btn:hover{background:var(--bg-hover);border-color:var(--primary-color)}.cultural-context-toggle .context-toggle-header .context-toggle-btn[aria-expanded=true]{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.cultural-context-toggle .context-toggle-header .context-toggle-btn .toggle-icon{font-size:1.1rem}.cultural-context-toggle .context-toggle-header .context-toggle-btn .toggle-arrow{font-size:.8rem;transition:transform .2s ease}.cultural-context-toggle .context-settings-panel{position:absolute;top:100%;right:0;width:320px;background:#fff;border:1px solid var(--border-color);border-radius:.5rem;box-shadow:0 4px 12px rgba(0,0,0,.15);padding:1rem;margin-top:.5rem;z-index:1000}@media(max-width:768px){.cultural-context-toggle .context-settings-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:90vw;max-width:350px;max-height:80vh;overflow-y:auto}}.cultural-context-toggle .context-settings-panel .context-setting-group{margin-bottom:1.5rem}.cultural-context-toggle .context-settings-panel .context-setting-group:last-of-type{margin-bottom:1rem}.cultural-context-toggle .context-settings-panel .context-setting-group h4{margin:0 0 .75rem;font-size:.9rem;font-weight:600;color:var(--text-primary);border-bottom:1px solid var(--border-light);padding-bottom:.25rem}.cultural-context-toggle .context-settings-panel .context-level-options{display:grid;gap:.5rem}.cultural-context-toggle .context-settings-panel .context-level-options .context-option{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem;border:1px solid var(--border-light);border-radius:.25rem;cursor:pointer;transition:all .2s ease}.cultural-context-toggle .context-settings-panel .context-level-options .context-option:hover{background:var(--bg-hover);border-color:var(--primary-color)}.cultural-context-toggle .context-settings-panel .context-level-options .context-option:has(input:checked){background:var(--primary-light);border-color:var(--primary-color)}.cultural-context-toggle .context-settings-panel .context-level-options .context-option input[type=radio]{margin-top:.1rem}.cultural-context-toggle .context-settings-panel .context-level-options .context-option span{font-weight:500;font-size:.9rem}.cultural-context-toggle .context-settings-panel .context-level-options .context-option small{display:block;color:var(--text-secondary);font-size:.75rem;margin-top:.1rem}.cultural-context-toggle .context-settings-panel .context-type-toggles{display:grid;gap:.5rem}.cultural-context-toggle .context-settings-panel .context-type-toggles .context-checkbox{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem;border:1px solid var(--border-light);border-radius:.25rem;cursor:pointer;transition:all .2s ease}.cultural-context-toggle .context-settings-panel .context-type-toggles .context-checkbox:hover{background:var(--bg-hover)}.cultural-context-toggle .context-settings-panel .context-type-toggles .context-checkbox:has(input:checked){background:var(--success-light);border-color:var(--success-color)}.cultural-context-toggle .context-settings-panel .context-type-toggles .context-checkbox input[type=checkbox]{margin-top:.1rem}.cultural-context-toggle .context-settings-panel .context-type-toggles .context-checkbox span{font-weight:500;font-size:.9rem}.cultural-context-toggle .context-settings-panel .context-type-toggles .context-checkbox small{display:block;color:var(--text-secondary);font-size:.75rem;margin-top:.1rem}.cultural-context-toggle .context-settings-panel .context-actions{display:flex;gap:.5rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--border-light)}.cultural-context-toggle .context-settings-panel .context-actions .btn-secondary,.cultural-context-toggle .context-settings-panel .context-actions .btn-primary{padding:.5rem 1rem;font-size:.85rem;border-radius:.25rem;border:none;cursor:pointer;transition:all .2s ease}.cultural-context-toggle .context-settings-panel .context-actions .btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.cultural-context-toggle .context-settings-panel .context-actions .btn-secondary:hover{background:var(--bg-hover)}.cultural-context-toggle .context-settings-panel .context-actions .btn-primary{background:var(--primary-color);color:#fff}.cultural-context-toggle .context-settings-panel .context-actions .btn-primary:hover{background:var(--primary-dark)}.enhanced-vocab-card .etymology-section,.enhanced-vocab-card .cultural-note-section,.enhanced-vocab-card .linguistic-note-section,.enhanced-vocab-card .examples-section{margin-top:.75rem;padding:.5rem;border-radius:.25rem;font-size:.85rem;line-height:1.4;transition:all .3s ease}.enhanced-vocab-card .etymology-section[aria-hidden=true],.enhanced-vocab-card .cultural-note-section[aria-hidden=true],.enhanced-vocab-card .linguistic-note-section[aria-hidden=true],.enhanced-vocab-card .examples-section[aria-hidden=true]{opacity:0;max-height:0;padding:0;margin:0;overflow:hidden}.enhanced-vocab-card .etymology-section .context-label,.enhanced-vocab-card .cultural-note-section .context-label,.enhanced-vocab-card .linguistic-note-section .context-label,.enhanced-vocab-card .examples-section .context-label{font-weight:600;color:var(--text-secondary);font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem;display:block}.enhanced-vocab-card .etymology-section .context-content,.enhanced-vocab-card .cultural-note-section .context-content,.enhanced-vocab-card .linguistic-note-section .context-content,.enhanced-vocab-card .examples-section .context-content{color:var(--text-primary)}.enhanced-vocab-card .etymology-section{background:var(--etymology-bg,#f8f9fa);border-left:3px solid var(--etymology-color,#6c757d)}.enhanced-vocab-card .cultural-note-section{background:var(--cultural-bg,#fff3cd);border-left:3px solid var(--cultural-color,#856404)}.enhanced-vocab-card .linguistic-note-section{background:var(--linguistic-bg,#d1ecf1);border-left:3px solid var(--linguistic-color,#0c5460)}.enhanced-vocab-card .examples-section{background:var(--examples-bg,#d4edda);border-left:3px solid var(--examples-color,#155724)}.enhanced-vocab-card .examples-section .example-item{margin-bottom:.5rem}.enhanced-vocab-card .examples-section .example-item:last-child{margin-bottom:0}.enhanced-vocab-card .examples-section .example-item .example-text{font-style:italic;margin-bottom:.25rem}.enhanced-vocab-card .examples-section .example-item .example-translation{font-size:.8rem;color:var(--text-secondary)}.enhanced-vocab-card.context-minimal .etymology-section .context-content,.enhanced-vocab-card.context-minimal .cultural-note-section .context-content,.enhanced-vocab-card.context-minimal .linguistic-note-section .context-content{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.enhanced-vocab-card.context-minimal .examples-section .example-item:nth-child(n+2){display:none}.enhanced-vocab-card.context-standard .etymology-section .context-content,.enhanced-vocab-card.context-standard .cultural-note-section .context-content,.enhanced-vocab-card.context-standard .linguistic-note-section .context-content{display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.enhanced-vocab-card.context-standard .examples-section .example-item:nth-child(n+3){display:none}.enhanced-vocab-card.context-detailed .context-content{max-height:none}.enhanced-vocab-card.context-adaptive .context-content{transition:max-height .3s ease}@media(prefers-color-scheme:dark){.cultural-context-toggle .context-settings-panel{background:var(--bg-primary-dark,#2d3748);border-color:var(--border-dark,#4a5568);color:var(--text-primary-dark,#e2e8f0)}.enhanced-vocab-card .etymology-section{background:var(--etymology-bg-dark,#2d3748);color:var(--text-primary-dark,#e2e8f0)}.enhanced-vocab-card .cultural-note-section{background:var(--cultural-bg-dark,#744210);color:var(--text-primary-dark,#e2e8f0)}.enhanced-vocab-card .linguistic-note-section{background:var(--linguistic-bg-dark,#0c4a6e);color:var(--text-primary-dark,#e2e8f0)}.enhanced-vocab-card .examples-section{background:var(--examples-bg-dark,#14532d);color:var(--text-primary-dark,#e2e8f0)}}@media(max-width:768px){.cultural-context-toggle .context-toggle-header{justify-content:center}.cultural-context-toggle .context-toggle-header .context-toggle-btn{font-size:.8rem;padding:.4rem .8rem}.enhanced-vocab-card .etymology-section,.enhanced-vocab-card .cultural-note-section,.enhanced-vocab-card .linguistic-note-section,.enhanced-vocab-card .examples-section{font-size:.8rem;padding:.4rem;margin-top:.5rem}}.context-settings-panel{animation:slideDown .2s ease-out}@keyframes slideDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.code-block{position:relative;margin:1.5rem 0;border-radius:.5rem;background-color:var(--code-bg);box-shadow:0 1px 2px rgba(0,0,0,5%);overflow:hidden}.code-block .code-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;background-color:var(--code-header-bg);border-bottom:1px solid var(--border-primary);font-family:jetbrains mono,fira code,Consolas,monospace;font-size:.875rem;color:var(--text-secondary)}.code-block .language{font-weight:500;text-transform:uppercase;letter-spacing:.05em}.code-block .copy-button{display:flex;align-items:center;padding:.25rem .5rem;background:0 0;border:1px solid var(--border-primary);border-radius:.25rem;color:var(--text-secondary);font-size:.75rem;cursor:pointer;transition:all .2s ease}.code-block .copy-button:hover{background-color:var(--bg-secondary);color:var(--text-primary)}.code-block .copy-button .copy-icon{margin-right:.25rem}.code-block .highlight{padding:1rem;overflow-x:auto}.code-block .highlight pre{margin:0;padding:0;background:0 0;font-family:jetbrains mono,fira code,Consolas,monospace;font-size:.875rem;line-height:1.5;tab-size:2}.code-block .highlight code{font-family:inherit}:not(pre)>code{padding:.2em .4em;background-color:var(--code-bg);border-radius:.25rem;font-family:sfmono-regular,Menlo,Monaco,Consolas,liberation mono,courier new,monospace;font-size:.9em;color:var(--code-text)}@media(max-width:var(--breakpoint-md)){.code-block{margin:1rem 0}.code-block .highlight{padding:.75rem}}.home-container{display:flex;flex-direction:column;gap:4rem}.hero-section{text-align:center;padding:4rem 0;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);border-radius:1.5rem;margin:0 1rem}@media(min-width:var(--breakpoint-md)){.hero-section{padding:5rem 0;margin:0}}.hero-content{max-width:800px;margin:0 auto;padding:0 1rem}@media(min-width:var(--breakpoint-md)){.hero-content{padding:0 1.5rem}}.hero-title{font-size:2.25rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem;line-height:1.25}@media(min-width:var(--breakpoint-md)){.hero-title{font-size:4rem}}@media(min-width:var(--breakpoint-lg)){.hero-title{font-size:4.5rem}}.hero-subtitle{font-size:1.25rem;color:var(--text-secondary);margin-bottom:2rem;line-height:1.75}@media(min-width:var(--breakpoint-md)){.hero-subtitle{font-size:1.5rem}}.hero-actions{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:2rem;flex-wrap:wrap}@media(min-width:var(--breakpoint-md)){.hero-actions{gap:1.5rem}}.features-section{padding:0 1rem}@media(min-width:var(--breakpoint-md)){.features-section{padding:0 1.5rem}}@media(min-width:var(--breakpoint-lg)){.features-section{padding:0 2rem}}.features-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;max-width:1200px;margin:0 auto}@media(min-width:var(--breakpoint-lg)){.features-grid{grid-template-columns:repeat(4,1fr)}}.quick-start-section{padding:0 1rem}@media(min-width:var(--breakpoint-md)){.quick-start-section{padding:0 1.5rem}}@media(min-width:var(--breakpoint-lg)){.quick-start-section{padding:0 2rem}}.quick-start-section h2{text-align:center;font-size:1.875rem;color:var(--text-primary);margin-bottom:2rem}.quick-start-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;max-width:1000px;margin:0 auto}@media(min-width:var(--breakpoint-lg)){.quick-start-grid{grid-template-columns:repeat(3,1fr)}}.recent-activity-section{padding:0 1rem}@media(min-width:var(--breakpoint-md)){.recent-activity-section{padding:0 1.5rem}}@media(min-width:var(--breakpoint-lg)){.recent-activity-section{padding:0 2rem}}.recent-activity-section h2{text-align:center;font-size:1.875rem;color:var(--text-primary);margin-bottom:2rem}.activity-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;max-width:1000px;margin:0 auto}@media(min-width:var(--breakpoint-lg)){.activity-cards{grid-template-columns:repeat(3,1fr)}}@media(max-width:var(--breakpoint-sm)){.hero-section{padding:3rem 0;margin:0 .5rem;border-radius:1rem}.hero-title{font-size:1.875rem}.hero-subtitle{font-size:1.125rem}.hero-actions{flex-direction:column}.hero-actions .btn-large{width:100%;max-width:280px}.features-grid,.quick-start-grid,.activity-cards{grid-template-columns:1fr;gap:1rem}}.vocabulary-container{max-width:1200px;margin:0 auto;padding:0 1rem}@media(min-width:var(--breakpoint-md)){.vocabulary-container{padding:0 1.5rem}}@media(min-width:var(--breakpoint-lg)){.vocabulary-container{padding:0 2rem}}.page-header{text-align:center;margin-bottom:2rem}.page-header h1{font-size:2.25rem;color:var(--text-primary);margin-bottom:1rem}@media(min-width:var(--breakpoint-md)){.page-header h1{font-size:3.5rem}}.page-header p{font-size:1.125rem;color:var(--text-secondary);max-width:600px;margin:0 auto}.vocabulary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;margin-bottom:2rem}@media(min-width:var(--breakpoint-lg)){.vocabulary-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}}.no-results,.grammar-no-results{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;padding:4rem;text-align:center;background-color:var(--bg-secondary);border-radius:1rem;margin:2rem 0}.no-results.hidden,.hidden.grammar-no-results{display:none}.no-results p,.grammar-no-results p{font-size:1.125rem;color:var(--text-secondary);margin-bottom:1rem}.no-results .search-container,.grammar-no-results .search-container{position:relative}.no-results .search-container.searching .search-input,.grammar-no-results .search-container.searching .search-input{padding-right:3rem;border-color:var(--color-primary)}.no-results .search-input,.grammar-no-results .search-input{width:100%;padding:.75rem 1rem;border:2px solid var(--color-border);border-radius:var(--border-radius);font-size:1rem;transition:var(--transition-fast)}.no-results .search-input:focus,.grammar-no-results .search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.no-results .search-input::placeholder,.grammar-no-results .search-input::placeholder{color:var(--color-text-secondary)}.no-results .search-spinner,.grammar-no-results .search-spinner{position:absolute;right:.75rem;top:50%;transform:translateY(-50%)}.no-results .search-spinner .spinner,.grammar-no-results .search-spinner .spinner{width:1.25rem;height:1.25rem;border:2px solid var(--color-border);border-top:2px solid var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@media(max-width:var(--breakpoint-md)){.vocabulary-container{padding:0 .75rem}.filters{flex-direction:column;align-items:stretch;gap:.75rem}.filters select,.filters input{min-width:auto;max-width:none}.vocabulary-grid{grid-template-columns:1fr;gap:1rem}.vocab-card{padding:1rem}.vocab-card .vocab-header{flex-direction:column;align-items:flex-start;gap:.5rem}.vocab-card .vocab-header .vocab-select{align-self:flex-end}.vocab-card .vocab-meta{flex-wrap:wrap}.vocab-card .vocab-actions{flex-direction:column;align-items:stretch;gap:.5rem}.vocab-card .vocab-actions .practice-single-btn{width:100%}.vocab-card .vocab-actions .review-info{text-align:center}}.grammar-container{max-width:1000px;margin:0 auto;padding:0 1rem}@media(min-width:var(--breakpoint-md)){.grammar-container{padding:0 1.5rem}}@media(min-width:var(--breakpoint-lg)){.grammar-container{padding:0 2rem}}.grammar-list{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.grammar-item{transition:all 200ms ease-in-out}.grammar-item:hover{transform:translateY(-2px)}.grammar-item .grammar-header{margin-bottom:1rem}.grammar-item .grammar-header h2{font-size:1.5rem;line-height:1.25}@media(min-width:var(--breakpoint-md)){.grammar-item .grammar-header h2{font-size:1.875rem}}.grammar-item .grammar-description{font-size:1rem;line-height:1.75;margin-bottom:1.5rem}.grammar-item .grammar-description strong{color:var(--text-primary)}.grammar-item .grammar-description em{color:var(--color-primary)}.grammar-item .grammar-description code{background-color:var(--bg-tertiary);padding:.25rem .5rem;border-radius:.25rem;font-size:.9em}.grammar-item .grammar-examples .examples-list{margin-bottom:1rem}.grammar-item .grammar-examples .examples-list .example-item{position:relative;padding-left:1.5rem}.grammar-item .grammar-examples .examples-list .example-item::before{content:'→';position:absolute;left:.75rem;color:var(--color-primary);font-weight:700}@media(max-width:var(--breakpoint-md)){.grammar-container{padding:0 .75rem}.grammar-filters{flex-direction:column;align-items:stretch;gap:.75rem}.grammar-filters select,.grammar-filters input{min-width:auto;max-width:none}.grammar-item{padding:1rem}.grammar-item .grammar-header{flex-direction:column;align-items:flex-start;gap:.75rem}.grammar-item .grammar-header h2{font-size:1.25rem}.grammar-item .grammar-examples .examples-list .example-item{padding:.75rem;font-size:.875rem}.grammar-item .grammar-actions{flex-direction:column;align-items:stretch;gap:.75rem}.grammar-item .grammar-actions .start-exercise-btn{width:100%}.grammar-item .grammar-actions .bookmark-btn{align-self:center}}