:root{--white:#fcfbfb;--raisin-black:#282726;--gray:#7f7c78;--night:#141413;--dim-gray:#6c6c69;--color-bg-primary:#faf9f7;--color-bg-secondary:#f5f3f0;--color-bg-tertiary:#ebe8e3;--color-bg-elevated:#ffffff;--color-text-primary:#1a1918;--color-text-secondary:#5c5956;--color-text-muted:#8b8680;--color-border:rgba(26,25,24,0.08);--color-border-strong:rgba(26,25,24,0.12);--color-accent:#dc6039;--color-accent-hover:#c24f2b;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--color-a1:#e8f5e8;--color-a1-border:#90c890;--color-a1-text:#2d5a2d;--color-a1-hover:#d1f0d1;--color-a2:#d4ead4;--color-a2-border:#7ab87a;--color-a2-text:#1e4d1e;--color-a2-hover:#c1e3c1;--color-b1:#fff4d6;--color-b1-border:#d4a843;--color-b1-text:#7a5812;--color-b1-hover:#ffefc1;--color-b2:#ffe8b3;--color-b2-border:#c18c2b;--color-b2-text:#6b4c10;--color-b2-hover:#ffdc9a;--color-c1:#ffd4d4;--color-c1-border:#e57373;--color-c1-text:#b71c1c;--color-c1-hover:#ffbfbf;--color-c2:#ffb3b3;--color-c2-border:#d32f2f;--color-c2-text:#8e0000;--color-c2-hover:#ff9999;--font-size-xs:clamp(0.75rem,0.7rem + 0.25vw,0.875rem);--font-size-sm:clamp(0.875rem,0.8rem + 0.375vw,1rem);--font-size-base:clamp(1rem,0.925rem + 0.375vw,1.125rem);--font-size-lg:clamp(1.125rem,1rem + 0.625vw,1.25rem);--font-size-xl:clamp(1.25rem,1.1rem + 0.75vw,1.5rem);--font-size-2xl:clamp(1.5rem,1.275rem + 1.125vw,1.875rem);--font-size-3xl:clamp(1.875rem,1.525rem + 1.75vw,2.25rem);--font-size-4xl:clamp(2.25rem,1.75rem + 2.5vw,3rem);--font-size-5xl:clamp(3rem,2.25rem + 3.75vw,4rem);--space-xs:clamp(0.25rem,0.225rem + 0.125vw,0.375rem);--space-sm:clamp(0.5rem,0.45rem + 0.25vw,0.75rem);--space-md:clamp(1rem,0.9rem + 0.5vw,1.5rem);--space-lg:clamp(1.5rem,1.35rem + 0.75vw,2.25rem);--space-xl:clamp(2rem,1.8rem + 1vw,3rem);--space-2xl:clamp(3rem,2.7rem + 1.5vw,4.5rem);--space-3xl:clamp(4rem,3.6rem + 2vw,6rem);--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;--font-serif:"Georgia","Times New Roman",serif;--font-mono:"SF Mono","Monaco","Consolas","Liberation Mono","Courier New",monospace;--line-height-tight:1.1;--line-height-snug:1.3;--line-height-base:1.6;--line-height-relaxed:1.8;--line-height-loose:2;--letter-spacing-tight:-0.03em;--letter-spacing-normal:0;--letter-spacing-wide:0.05em;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:20px;--radius-full:9999px;--shadow-sm:0 1px 3px rgba(26,25,24,0.04),0 1px 2px rgba(26,25,24,0.06);--shadow-md:0 4px 6px rgba(26,25,24,0.04),0 2px 4px rgba(26,25,24,0.06);--shadow-lg:0 10px 15px rgba(26,25,24,0.04),0 4px 6px rgba(26,25,24,0.08);--shadow-xl:0 20px 25px rgba(26,25,24,0.04),0 10px 10px rgba(26,25,24,0.08);--shadow-2xl:0 25px 50px rgba(26,25,24,0.06),0 12px 24px rgba(26,25,24,0.08);--transition-fast:150ms ease;--transition-base:200ms ease;--transition-slow:350ms ease;--transition-slower:500ms ease;--z-dropdown:10;--z-sticky:20;--z-overlay:30;--z-modal:40;--z-popover:50;--z-tooltip:60;--z-notification:70;--container-xs:480px;--container-sm:640px;--container-md:768px;--container-lg:1024px;--container-xl:1280px;--container-2xl:1536px;--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--breakpoint-2xl:1536px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-text-primary);background:var(--color-bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.text-4xl{font-size:var(--font-size-4xl)}.text-5xl{font-size:var(--font-size-5xl)}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.bg-primary{background-color:var(--color-bg-primary)}.bg-secondary{background-color:var(--color-bg-secondary)}.bg-tertiary{background-color:var(--color-bg-tertiary)}.bg-elevated{background-color:var(--color-bg-elevated)}.cefr-a1{background:var(--color-a1);border-bottom:2px solid var(--color-a1-border);color:var(--color-a1-text)}.cefr-a2{background:var(--color-a2);border-bottom:2px solid var(--color-a2-border);color:var(--color-a2-text)}.cefr-b1{background:var(--color-b1);border-bottom:2px solid var(--color-b1-border);color:var(--color-b1-text)}.cefr-b2{background:var(--color-b2);border-bottom:2px solid var(--color-b2-border);color:var(--color-b2-text)}.cefr-c1{background:var(--color-c1);border-bottom:2px solid var(--color-c1-border);color:var(--color-c1-text)}.cefr-c2{background:var(--color-c2);border-bottom:2px solid var(--color-c2-border);color:var(--color-c2-text)}.btn{padding:var(--space-md) var(--space-xl);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:all var(--transition-base);border:2px solid transparent;display:inline-flex;align-items:center;gap:var(--space-sm);text-decoration:none}.btn-primary{background:var(--color-text-primary);color:var(--white)}.btn-secondary{border-color:var(--color-border)}.btn-secondary:hover{border-color:var(--color-text-secondary)}.card{background:var(--color-bg-elevated);border-radius:var(--radius-lg);padding:var(--space-xl);border:1px solid var(--color-border);transition:all var(--transition-slow)}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl);border-color:transparent}.container{max-width:var(--container-xl);margin:0 auto;padding:0 var(--space-lg)}.header-enhanced{background:var(--color-bg-elevated);border-bottom:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-xl);box-shadow:var(--shadow-lg);margin-bottom:var(--space-lg)}.search-enhanced{position:relative;max-width:400px;flex:1}.search-enhanced input{width:100%;padding:var(--space-md) var(--space-lg);border:2px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-primary);font-size:var(--font-size-base);transition:all var(--transition-base)}.search-enhanced input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(220,96,57,.1)}.active-filters{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:center}.filter-badge{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:500;border:1px solid;transition:all var(--transition-base)}.filter-badge-search{background:rgba(220,96,57,.1);border-color:var(--color-accent);color:var(--color-accent)}.filter-badge-cefr{background:var(--color-bg-secondary);border-color:var(--color-border-strong);color:var(--color-text-secondary)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg)}.section-header h2{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-text-primary);position:relative}.section-header h2:after{content:"";position:absolute;left:0;bottom:-4px;width:60px;height:3px;background:var(--color-accent);border-radius:var(--radius-sm)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}.animate-fadeIn{animation:fadeIn var(--transition-slow)}.animate-slideIn{animation:slideIn var(--transition-base)}.animate-pulse{animation:pulse 2s infinite}:root{--color-interactive-hover:rgba(220,96,57,0.1);--color-interactive-active:rgba(220,96,57,0.2);--color-vocabulary-clicked:rgba(34,197,94,0.15);--color-vocabulary-user:rgba(147,51,234,0.15);--color-accent-light:#f5e6e0;--font-reading:"SF Pro Text",-apple-system,system-ui,"Segoe UI","Helvetica Neue",Arial,sans-serif;--font-size-reading:clamp(1.125rem,1.05rem + 0.375vw,1.25rem);--line-height-reading:1.7;--font-weight-reading:400;--letter-spacing-reading:0.02em;--story-card-width:280px;--story-card-height:360px;--path-card-height:200px;--tooltip-max-width:320px;--header-height:80px;--shadow-subtle:0 1px 3px rgba(26,25,24,0.04);--shadow-card-hover:0 12px 24px rgba(26,25,24,0.15);--shadow-tooltip:0 8px 25px rgba(26,25,24,0.15);--transition-bounce:400ms cubic-bezier(0.68,-0.55,0.265,1.55)}.card-elevated{background:var(--color-bg-elevated);border-radius:var(--radius-xl);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);transition:all var(--transition-base);will-change:transform,box-shadow;transform:translateZ(0)}.card-elevated:hover{transform:translateY(-4px) translateZ(0);box-shadow:var(--shadow-card-hover);border-color:transparent}.story-card{width:var(--story-card-width);height:var(--story-card-height);overflow:hidden;position:relative;backface-visibility:hidden}.story-card,.story-card-image{will-change:transform;transform:translateZ(0)}.story-card-image{height:180px;width:100%;-o-object-fit:cover;object-fit:cover;border-radius:var(--radius-lg) var(--radius-lg) 0 0;transition:transform var(--transition-base)}.story-card:hover .story-card-image{transform:scale(1.05) translateZ(0)}.story-card-content{padding:var(--space-lg);height:calc(var(--story-card-height) - 180px);display:flex;flex-direction:column;justify-content:space-between}.cefr-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;border:1px solid transparent}.cefr-badge.a1{border-color:var(--color-a1-border)}.cefr-badge.a2{border-color:var(--color-a2-border)}.cefr-badge.b1{border-color:var(--color-b1-border)}.cefr-badge.b2{border-color:var(--color-b2-border)}.cefr-badge.c1{border-color:var(--color-c1-border)}.cefr-badge.c2{border-color:var(--color-c2-border)}.btn-primary{background:var(--color-accent);color:var(--color-bg-elevated);border:none;padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-lg);font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;gap:var(--space-xs)}.btn-primary:hover{background:var(--color-accent-hover);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-secondary{background:transparent;color:var(--color-text-primary);border:1px solid var(--color-border-strong);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-lg);font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.btn-secondary:hover{background:var(--color-bg-secondary);border-color:var(--color-accent);color:var(--color-accent)}.search-input-enhanced{width:100%;max-width:400px;padding:var(--space-sm) var(--space-lg);padding-left:40px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-elevated);font-size:var(--font-size-base);transition:all var(--transition-fast)}.search-input-enhanced:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(220,96,57,.1)}.vocab-highlight{cursor:pointer;transition:all var(--transition-fast);padding:1px 2px;border-radius:3px;position:relative;will-change:transform;transform:translateZ(0)}.vocab-highlight:hover{transform:translateY(-1px) translateZ(0);box-shadow:var(--shadow-sm)}.vocab-highlight.a1{background:var(--color-a1-hover);border-bottom:2px solid var(--color-a1-border)}.vocab-highlight.a2{background:var(--color-a2-hover);border-bottom:2px solid var(--color-a2-border)}.vocab-highlight.b1{background:var(--color-b1-hover);border-bottom:2px solid var(--color-b1-border)}.vocab-highlight.b2{background:var(--color-b2-hover);border-bottom:2px solid var(--color-b2-border)}.vocab-highlight.c1{background:var(--color-c1-hover);border-bottom:2px solid var(--color-c1-border)}.vocab-highlight.c2{background:var(--color-c2-hover);border-bottom:2px solid var(--color-c2-border)}.vocab-highlight.clicked{background:var(--color-vocabulary-clicked);border-bottom:2px solid var(--color-success)}.vocab-highlight.user-word{background:var(--color-vocabulary-user);border-bottom:2px solid #8b5cf6;font-weight:500}.vocabulary-tooltip{position:absolute;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-tooltip);padding:var(--space-lg);max-width:var(--tooltip-max-width);z-index:var(--z-tooltip);font-size:var(--font-size-sm)}.story-content-enhanced{max-width:700px;margin:0 auto;font-family:var(--font-reading);font-size:var(--font-size-reading);line-height:var(--line-height-reading);font-weight:var(--font-weight-reading);letter-spacing:var(--letter-spacing-reading);color:var(--color-text-primary);padding:var(--space-lg);text-rendering:optimizeLegibility;font-feature-settings:"liga" 1,"kern" 1;scroll-behavior:smooth}.story-sentence{margin-bottom:var(--space-md);padding:var(--space-sm);border-radius:var(--radius-sm);transition:background-color var(--transition-fast)}.story-sentence:hover{background-color:var(--color-bg-secondary)}.story-sentence .german-text{font-size:var(--font-size-reading);line-height:var(--line-height-reading);font-weight:var(--font-weight-reading);letter-spacing:var(--letter-spacing-reading);margin-bottom:var(--space-xs);font-variant-ligatures:common-ligatures;text-align:justify;text-justify:inter-word}.story-sentence .translation-text{font-size:var(--font-size-sm);line-height:1.5;color:var(--color-text-secondary);font-style:italic;margin-top:var(--space-xs);padding-left:var(--space-md);border-left:2px solid var(--color-border)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.animate-fade-in-up{animation:fadeInUp var(--transition-base)}.animate-slide-in-left{animation:slideInLeft var(--transition-base)}.animate-scale-in{animation:scaleIn var(--transition-fast)}.stagger-container{--stagger-delay:50ms}.stagger-item{opacity:0;transform:translateY(20px);animation:staggerFadeInUp .4s ease-out forwards}.stagger-item:first-child{animation-delay:calc(0 * var(--stagger-delay))}.stagger-item:nth-child(2){animation-delay:calc(1 * var(--stagger-delay))}.stagger-item:nth-child(3){animation-delay:calc(2 * var(--stagger-delay))}.stagger-item:nth-child(4){animation-delay:calc(3 * var(--stagger-delay))}.stagger-item:nth-child(5){animation-delay:calc(4 * var(--stagger-delay))}.stagger-item:nth-child(6){animation-delay:calc(5 * var(--stagger-delay))}.stagger-item:nth-child(7){animation-delay:calc(6 * var(--stagger-delay))}.stagger-item:nth-child(8){animation-delay:calc(7 * var(--stagger-delay))}.stagger-item:nth-child(9){animation-delay:calc(8 * var(--stagger-delay))}.stagger-item:nth-child(10){animation-delay:calc(9 * var(--stagger-delay))}.stagger-item:nth-child(11){animation-delay:calc(10 * var(--stagger-delay))}.stagger-item:nth-child(12){animation-delay:calc(11 * var(--stagger-delay))}.stagger-item:nth-child(13){animation-delay:calc(12 * var(--stagger-delay))}.stagger-item:nth-child(14){animation-delay:calc(13 * var(--stagger-delay))}.stagger-item:nth-child(15){animation-delay:calc(14 * var(--stagger-delay))}.stagger-item:nth-child(16){animation-delay:calc(15 * var(--stagger-delay))}.stagger-item:nth-child(17){animation-delay:calc(16 * var(--stagger-delay))}.stagger-item:nth-child(18){animation-delay:calc(17 * var(--stagger-delay))}.stagger-item:nth-child(19){animation-delay:calc(18 * var(--stagger-delay))}.stagger-item:nth-child(20){animation-delay:calc(19 * var(--stagger-delay))}@keyframes staggerFadeInUp{to{opacity:1;transform:translateY(0)}}@media (max-width:768px){:root{--story-card-width:250px;--story-card-height:320px;--font-size-reading:clamp(1rem,0.95rem + 0.25vw,1.125rem);--line-height-reading:1.65}.story-content-enhanced{font-size:var(--font-size-reading);padding:var(--space-md);max-width:100%;text-align:left}.story-sentence{padding:var(--space-xs) var(--space-sm);margin-bottom:var(--space-sm)}.story-sentence .german-text{font-size:var(--font-size-reading);line-height:var(--line-height-reading)}.story-sentence .translation-text{font-size:var(--font-size-xs);padding-left:var(--space-sm)}.vocabulary-tooltip{max-width:calc(100vw - 32px);position:fixed;bottom:20px;left:16px;right:16px;max-width:none}}@media (min-width:769px) and (max-width:1024px){.story-content-enhanced{max-width:600px;padding:var(--space-lg) var(--space-xl)}}.story-header-image{position:relative;width:100%;overflow:hidden;aspect-ratio:16/9}@media (max-width:640px){.story-header-image{aspect-ratio:4/3}}.story-header-image h1{text-shadow:0 2px 4px rgba(0,0,0,.5),0 4px 8px rgba(0,0,0,.3),0 8px 16px rgba(0,0,0,.2)!important}.story-header-image .text-shadow-lg{text-shadow:0 2px 4px rgba(0,0,0,.5),0 4px 8px rgba(0,0,0,.3)!important}.story-header-image .drop-shadow-lg{filter:drop-shadow(0 10px 8px rgba(0,0,0,.04)) drop-shadow(0 4px 3px rgba(0,0,0,.1))!important}.story-header-image .backdrop-blur-sm{backdrop-filter:blur(4px)!important;-webkit-backdrop-filter:blur(4px)!important}.story-header-image>:first-child{z-index:1}.story-header-image .absolute:not(:first-child){z-index:2}.story-header-image .animate-pulse{animation:story-header-pulse 2s cubic-bezier(.4,0,.6,1) infinite!important}@keyframes story-header-pulse{0%,to{opacity:1}50%{opacity:.7}}@media (max-width:480px){.story-header-image h1{font-size:clamp(1.5rem,5vw,2rem)!important;line-height:1.2!important}.story-header-image .text-sm{font-size:.8rem!important}}@media (hover:none) and (pointer:coarse){.vocabulary-word,.vocabulary-word-hidden{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;margin:2px;border-radius:8px;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-overflow-scrolling:touch}.mobile-tooltip button,.vocabulary-tooltip button{min-height:48px;min-width:48px;touch-action:manipulation}.mobile-tooltip,.vocabulary-tooltip{pointer-events:auto;touch-action:pan-y pinch-zoom}.vocabulary-word:hover{transform:none;box-shadow:none}.vocabulary-word:active{transform:scale(.95);background-color:rgba(59,130,246,.2);transition:all .1s ease}button:active{transform:scale(.95);transition:transform .1s ease}.prose,.story-content-enhanced{will-change:scroll-position;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.vocabulary-word+.vocabulary-word{margin-left:4px}input,select,textarea{font-size:16px}.mobile-tooltip-backdrop{background:rgba(0,0,0,.1);backdrop-filter:blur(2px);touch-action:manipulation}}@media (hover:none) and (pointer:coarse) and (-webkit-min-device-pixel-ratio:2){.vocabulary-word,.vocabulary-word-hidden{padding:10px 14px}}@media (hover:none) and (pointer:coarse) and (min-width:768px){.vocabulary-word,.vocabulary-word-hidden{min-height:42px;min-width:42px;padding:6px 10px}}@media (prefers-reduced-motion:reduce){.vocabulary-word,.vocabulary-word:active,button:active{transform:none;transition:none}}@media (hover:none) and (pointer:coarse){.vocabulary-word:focus,button:focus{outline:none;box-shadow:0 0 0 2px rgba(0,0,0,.15);border-radius:4px}}.vocabulary-word,.vocabulary-word-hidden{transform:translateZ(0);backface-visibility:hidden;contain:layout style paint}@media (hover:none) and (pointer:coarse){.mobile-tooltip,.vocabulary-tooltip{transition:all .15s cubic-bezier(.4,0,.2,1)}.mobile-tooltip.entering,.vocabulary-tooltip.entering{opacity:0;transform:scale(.9) translateY(10px)}.mobile-tooltip.entered,.vocabulary-tooltip.entered{opacity:1;transform:scale(1) translateY(0)}.vocabulary-word.haptic-feedback{animation:haptic-pulse .1s ease-out}}@media (hover:none) and (pointer:coarse){@keyframes haptic-pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}}.skip-links{position:absolute;top:0;left:0;z-index:var(--z-notification)}.skip-link{position:absolute;top:-100px;left:8px;background:var(--color-bg-elevated);color:var(--color-text-primary);padding:var(--space-sm) var(--space-md);border:2px solid var(--color-accent);border-radius:var(--radius-md);text-decoration:none;font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);box-shadow:var(--shadow-lg);transition:all var(--transition-fast);min-height:var(--touch-target);display:flex;align-items:center}.skip-link:focus,.skip-link:focus-visible{top:8px;outline:none;transform:translateY(0);box-shadow:var(--shadow-xl)}.skip-link:hover{background:var(--color-accent-light);color:var(--color-accent)}:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px;transition:outline var(--transition-fast)}:focus:not(:focus-visible){outline:none}.clickable-word:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px;background:rgba(220,96,57,.1);border-radius:var(--radius-sm);box-shadow:0 0 0 1px rgba(220,96,57,.2)}.btn:focus-visible,[role=button]:focus-visible,button:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px;box-shadow:0 0 0 1px var(--color-accent-light)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px;border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent-light)}a:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm);background:rgba(220,96,57,.05)}@media (prefers-contrast:high){:root{--color-border:rgba(26,25,24,0.4);--color-border-strong:rgba(26,25,24,0.7);--color-text-secondary:#3a3836}.clickable-word,.german-word,.vocabulary-word{border-bottom:2px solid;font-weight:var(--font-weight-medium)}.clickable-word:hover,.german-word:hover,.vocabulary-word:hover{background:rgba(0,0,0,.1);border-bottom:2px solid #000}.clickable-word:focus,.german-word:focus,.vocabulary-word:focus{background:yellow;color:black;border-bottom:3px solid black;outline:3px solid black}.btn,button{border:2px solid;font-weight:var(--font-weight-medium)}.btn:hover,button:hover{border-width:3px}.inline-tooltip,.vocabulary-tooltip{border:2px solid var(--color-text-primary);box-shadow:0 8px 25px rgba(0,0,0,.3)}.cefr-badge{border:2px solid;font-weight:var(--font-weight-bold)}}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.sr-only-focusable:focus,.sr-only-focusable:focus-within{position:static!important;width:auto!important;height:auto!important;padding:var(--space-sm)!important;margin:0!important;overflow:visible!important;clip:auto!important;white-space:normal!important;background:var(--color-bg-elevated);border:2px solid var(--color-accent);border-radius:var(--radius-md);z-index:var(--z-notification)}[aria-live],[role=alert],[role=status]{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);clip-path:inset(50%)}[tabindex="0"]:not(input):not(button):not(textarea):not(select){cursor:pointer}body.keyboard-navigation :focus{outline:3px solid var(--color-accent)!important;outline-offset:2px!important}.inline-tooltip:focus-within{outline:3px solid var(--color-accent);outline-offset:2px;box-shadow:0 0 0 1px var(--color-accent-light)}.inline-tooltip button:focus{outline-offset:1px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}:focus-visible{transition:none}.btn:hover,.card:hover,.clickable-word:active{transform:none!important}}@media (max-width:768px){.clickable-word{padding:var(--space-2) var(--space-3);margin:var(--space-1);border-radius:var(--radius-md);display:inline-flex;align-items:center;justify-content:center;text-align:center}.btn,.clickable-word,[role=button],button{min-height:var(--touch-target-mobile);min-width:var(--touch-target-mobile)}.btn,[role=button],button{padding:var(--space-sm) var(--space-md)}a{min-height:var(--touch-target-mobile);display:inline-flex;align-items:center;padding:var(--space-sm)}}.cefr-badge.a1{background:var(--color-a1);color:var(--color-a1-text);border:1px solid var(--color-a1-border)}.cefr-badge.a2{background:var(--color-a2);color:var(--color-a2-text);border:1px solid var(--color-a2-border)}.cefr-badge.b1{background:var(--color-b1);color:var(--color-b1-text);border:1px solid var(--color-b1-border)}.cefr-badge.b2{background:var(--color-b2);color:var(--color-b2-text);border:1px solid var(--color-b2-border)}.cefr-badge.c1{background:var(--color-c1);color:var(--color-c1-text);border:1px solid var(--color-c1-border)}.cefr-badge.c2{background:var(--color-c2);color:var(--color-c2-text);border:1px solid var(--color-c2-border)}[aria-invalid=true]{border:2px solid var(--color-error);box-shadow:0 0 0 2px rgba(239,68,68,.2)}[aria-invalid=true]:focus{outline-color:var(--color-error);box-shadow:0 0 0 2px rgba(239,68,68,.2),0 0 0 5px rgba(239,68,68,.1)}.loading-indicator{position:relative;overflow:hidden}.loading-indicator:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:loading-shimmer 1.5s infinite}@keyframes loading-shimmer{to{left:100%}}@media (prefers-reduced-motion:reduce){.loading-indicator:after{animation:none;background:rgba(255,255,255,.1)}}[role=alert],[role=status]{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-weight:var(--font-weight-medium)}[role=status]{background:var(--color-info);color:white}[role=alert]{background:var(--color-error);color:white}.inline-tooltip,.vocabulary-tooltip{position:fixed;z-index:var(--z-tooltip);background:var(--color-bg-elevated);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);padding:var(--space-md);box-shadow:var(--shadow-xl);max-width:var(--tooltip-max-width);font-size:var(--font-size-sm);line-height:var(--line-height-base)}.inline-tooltip[aria-hidden=false],.vocabulary-tooltip[aria-hidden=false]{position:static;clip:auto;width:auto;height:auto;overflow:visible}.inline-tooltip button,.vocabulary-tooltip button{margin-top:var(--space-sm);min-height:var(--touch-target);min-width:var(--touch-target)}@media print{.skip-links,.sr-only{position:static!important;width:auto!important;height:auto!important;clip:auto!important;overflow:visible!important;font-size:var(--font-size-xs)!important;border:1px solid #000!important;padding:var(--space-xs)!important;margin:var(--space-xs) 0!important}:focus,:focus-visible{outline:2px solid #000!important;outline-offset:1px!important}.inline-tooltip,.vocabulary-tooltip{position:static!important;display:block!important;border:1px solid #000!important;margin:var(--space-xs) 0!important;padding:var(--space-sm)!important;background:#f0f0f0!important;color:#000!important}}.focus-trap{position:relative}.focus-trap:after,.focus-trap:before{content:"";position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.a11y-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.a11y-visible{position:static!important;width:auto!important;height:auto!important;padding:initial!important;margin:initial!important;overflow:visible!important;clip:auto!important;white-space:normal!important;border:initial!important}::selection{background:rgba(220,96,57,.2);color:var(--color-text-primary)}::-moz-selection{background:rgba(220,96,57,.2);color:var(--color-text-primary)}::-webkit-scrollbar{width:16px;height:16px}::-webkit-scrollbar-track{background:var(--color-bg-secondary);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb{background:var(--color-text-muted);border-radius:var(--radius-sm);border:2px solid var(--color-bg-secondary)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}::-webkit-scrollbar-thumb:active{background:var(--color-text-primary)}@media (prefers-contrast:high){::-webkit-scrollbar-thumb{background:var(--color-text-primary);border:1px solid var(--color-bg-primary)}::-webkit-scrollbar-thumb:active,::-webkit-scrollbar-thumb:hover{background:var(--color-text-primary);border:2px solid var(--color-accent)}}