:root{--font-serif:"Georgia","Times New Roman",serif;--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:clamp(1.25rem,1.1rem + 0.75vw,1.5rem);--color-bg-elevated:#ffffff;--color-border:rgba(26,25,24,0.08);--color-text-primary:#1a1918;--color-text-secondary:#5c5956;--color-text-muted:#8b8680;--color-a1:#e8f5e8;--color-a2:#d4ead4;--color-b1:#fff4d6;--color-b2:#ffe8b3;--color-c1:#ffd4d4;--color-c2:#ffb3b3;--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);--shadow-md:0 4px 6px rgba(26,25,24,0.04),0 2px 4px rgba(26,25,24,0.06);--shadow-xl:0 20px 25px rgba(26,25,24,0.04),0 10px 10px rgba(26,25,24,0.08);--transition-base:200ms ease;--line-height-relaxed:1.8}.story-content-enhanced{font-family:var(--font-serif)!important;font-size:var(--font-size-lg);color:var(--color-text-primary);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding:var(--space-xl);max-width:800px;margin:0 auto;overflow-x:hidden}.story-content-enhanced,.story-sentence-wrapper{line-height:var(--line-height-relaxed);width:100%;box-sizing:border-box}.story-sentence-wrapper{margin-bottom:clamp(.9rem,.75rem + .35vw,1.35rem);overflow:visible;padding-bottom:var(--space-xs)}.german-text{font-size:1.125rem!important;line-height:var(--line-height-relaxed)!important;color:var(--color-text-primary)!important;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin-bottom:var(--space-xs);width:100%;overflow-wrap:break-word;word-wrap:break-word;word-break:normal;box-sizing:border-box}.german-text,.translation-text-enhanced{font-family:var(--font-serif)!important;font-weight:400!important}.translation-text-enhanced{font-size:calc(var(--font-size-base) * .9)!important;color:var(--color-text-secondary)!important;line-height:1.5;margin-top:var(--space-xs);padding:0;font-style:normal!important}.clickable-word{cursor:pointer;transition:all var(--transition-base);border-radius:3px;padding:0;margin:0;display:inline;position:relative;border-bottom:1px solid transparent;color:inherit;word-break:normal;white-space:normal}@media (hover:hover){.clickable-word:hover{border-bottom-color:rgba(59,130,246,.45)}}.story-flow .clickable-word.word-found,.story-flow .clickable-word.word-known,.story-flow .clickable-word.word-new{border-radius:4px}.story-flow .clickable-word.word-known{border-bottom:1.5px solid color-mix(in srgb,var(--rf-level-a-text) 45%,transparent);background:color-mix(in srgb,var(--rf-level-a-bg) 60%,transparent);box-shadow:-2px 0 0 color-mix(in srgb,var(--rf-level-a-bg) 60%,transparent),2px 0 0 color-mix(in srgb,var(--rf-level-a-bg) 60%,transparent)}.story-flow .clickable-word.word-new{border-bottom:2px solid var(--rf-level-b-text);background:var(--rf-level-b-bg);box-shadow:-2px 0 0 var(--rf-level-b-bg),2px 0 0 var(--rf-level-b-bg)}.story-flow .clickable-word.word-found{border-bottom:2px solid var(--rf-level-a-text);background:var(--rf-level-a-bg);box-shadow:-2px 0 0 var(--rf-level-a-bg),2px 0 0 var(--rf-level-a-bg)}@media (hover:hover){.story-flow .clickable-word.word-found:hover,.story-flow .clickable-word.word-known:hover{background:var(--rf-level-a-bg)}.story-flow .clickable-word.word-new:hover{border-bottom-width:3px}}.story-tap-hint{margin:0 0 .75rem;font-size:.875rem;color:var(--color-text-muted,#8a8580)}.clickable-word[data-pinned=true]{background-color:rgba(59,130,246,.25);transform:translateY(-1px);box-shadow:0 3px 6px rgba(59,130,246,.2);border:1px solid rgba(59,130,246,.3)}.clickable-word.bracket-part{background-color:rgba(220,96,57,.14);border-bottom:2px dotted rgba(220,96,57,.8);border-radius:3px}.vocab-highlight{position:relative;padding:2px 3px;border-radius:6px;cursor:pointer;transition:all var(--transition-base);display:inline;margin:0 1px}.vocab-highlight.a1{background:var(--color-a1);border-bottom:2px solid #90c890}.vocab-highlight.a2{background:var(--color-a2);border-bottom:2px solid #7ab87a}.vocab-highlight.b1{background:var(--color-b1);border-bottom:2px solid #f0c674}.vocab-highlight.b2{background:var(--color-b2);border-bottom:2px solid #e5a843}.vocab-highlight.c1{background:var(--color-c1);border-bottom:2px solid #ff9999}.vocab-highlight.c2{background:var(--color-c2);border-bottom:2px solid #cc6666}.target-word-highlight{background:linear-gradient(180deg,#fef08a 0,#fcd34d);border-bottom:2px solid #fbbf24;border-radius:3px;padding:2px 3px;margin:0 1px;display:inline;cursor:pointer;transition:all var(--transition-base);box-shadow:0 2px 4px rgba(251,191,36,.2)}.target-word-highlight:hover{background:linear-gradient(180deg,#fcd34d 0,#fbbf24);box-shadow:0 4px 8px rgba(251,191,36,.3);transform:translateY(-1px)}.target-word-highlight[data-pinned=true]{background:linear-gradient(180deg,#fbbf24 0,#f59e0b);border-bottom:2px solid #d97706;box-shadow:0 4px 12px rgba(245,158,11,.4);transform:translateY(-2px)}.target-word-highlight.vocab-highlight{background:linear-gradient(180deg,#fef08a 0,#fcd34d);border-bottom:2px solid #fbbf24}@media (max-width:768px){.story-content-enhanced{padding:var(--space-md);font-size:var(--font-size-lg)}.german-text{font-size:1.0625rem!important;line-height:1.7!important}.translation-text-enhanced{font-size:var(--font-size-sm);line-height:1.5;margin-top:var(--space-sm)}.clickable-word,.vocab-highlight{touch-action:manipulation;-webkit-tap-highlight-color:rgba(59,130,246,.2);-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative}.clickable-word[data-pinned=true] .inline-tooltip{min-width:280px;max-width:calc(100vw - 32px);bottom:calc(100% + 16px);padding:var(--space-lg);font-size:var(--font-size-base);left:50%;transform:translateX(-50%) scale(1)}.clickable-word[data-pinned=true]:first-child .inline-tooltip,.clickable-word[data-pinned=true]:nth-child(-n+2) .inline-tooltip{left:0;transform:translateX(0) scale(1)}.clickable-word[data-pinned=true]:last-child .inline-tooltip,.clickable-word[data-pinned=true]:nth-last-child(-n+2) .inline-tooltip{right:0;left:auto;transform:translateX(0) scale(1)}.inline-tooltip .tooltip-word{font-size:var(--font-size-xl)}.inline-tooltip .tooltip-translation{font-size:var(--font-size-lg)}.inline-tooltip .vocab-add-btn{width:36px;height:36px;font-size:20px;top:var(--space-md);right:var(--space-md)}}@media (max-width:600px){.story-content-enhanced{padding:var(--space-lg) var(--space-md)}.german-text{font-size:1rem!important;line-height:1.8!important}.clickable-word.long-word{white-space:normal;word-break:break-word}.story-sentence-wrapper{margin-bottom:var(--space-lg);padding:0 var(--space-xs)}}@media (max-width:412px){.story-content-enhanced{padding:var(--space-md)}.clickable-word[data-pinned=true] .inline-tooltip{min-width:280px;max-width:calc(100vw - 32px);left:50%;transform:translateX(-50%) scale(1)}}@media (max-width:375px){.story-content-enhanced{padding:var(--space-sm)}.german-text{font-size:1rem!important;line-height:1.8!important}.translation-text-enhanced{font-size:var(--font-size-xs)}.clickable-word[data-pinned=true] .inline-tooltip{min-width:260px;max-width:calc(100vw - 24px);left:50%;transform:translateX(-50%) scale(1)}}@media (max-width:360px){.story-content-enhanced{padding:var(--space-sm)}.clickable-word[data-pinned=true] .inline-tooltip{min-width:240px;max-width:calc(100vw - 16px);left:8px;right:8px;transform:none;margin:0}}.clickable-word:focus,.vocab-highlight:focus{outline:none;box-shadow:0 0 0 2px rgba(0,0,0,.1);border-radius:4px}.clickable-word:focus-visible,.vocab-highlight:focus-visible{outline:none;box-shadow:0 0 0 2px rgba(59,130,246,.7)}.clickable-word:focus-visible{border-bottom-color:rgba(59,130,246,.45)}.clickable-word.clicking,.vocab-highlight.clicking{background:rgba(59,130,246,.15);transition:all .1s ease}.inline-tooltip{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translateX(-50%) scale(.95);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:12px;padding:var(--space-md);box-shadow:var(--shadow-xl);min-width:240px;max-width:min(320px,calc(100vw - 32px));max-height:calc(100vh - 100px);opacity:0;visibility:hidden;transition:all var(--transition-base);z-index:1000;pointer-events:none;word-wrap:break-word;overflow-wrap:break-word;contain:layout}.clickable-word[data-pinned=true] .inline-tooltip{opacity:1;visibility:visible;transform:translateX(-50%) scale(1);pointer-events:auto;border:2px solid rgba(59,130,246,.3)}.inline-tooltip[data-position=bottom]{top:calc(100% + 12px);bottom:auto}.inline-tooltip[data-position=left]{right:calc(100% + 12px);left:auto;bottom:50%;transform:translateY(50%) scale(.95)}.inline-tooltip[data-position=left][data-pinned=true]{transform:translateY(50%) scale(1)}.inline-tooltip[data-position=right]{left:calc(100% + 12px);right:auto;bottom:50%;transform:translateY(50%) scale(.95)}.inline-tooltip[data-position=right][data-pinned=true]{transform:translateY(50%) scale(1)}.clickable-word[data-pinned=true]:first-child .inline-tooltip:not([data-position]),.clickable-word[data-pinned=true]:nth-child(-n+3) .inline-tooltip:not([data-position]){left:16px;transform:translateX(0) scale(1)}.clickable-word[data-pinned=true]:last-child .inline-tooltip:not([data-position]),.clickable-word[data-pinned=true]:nth-last-child(-n+3) .inline-tooltip:not([data-position]){right:16px;left:auto;transform:translateX(0) scale(1)}.inline-tooltip .tooltip-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-sm);gap:var(--space-sm);flex-wrap:nowrap}.inline-tooltip .tooltip-word{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary);flex:1;margin-right:var(--space-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inline-tooltip .tooltip-level{font-size:10px;padding:3px 7px;border-radius:4px;font-weight:600;flex-shrink:0;white-space:nowrap;margin-left:auto}.inline-tooltip .tooltip-level.a1{background:var(--color-a1);color:#4a7c4a}.inline-tooltip .tooltip-level.a2{background:var(--color-a2);color:#3a6b3a}.inline-tooltip .tooltip-level.b1{background:var(--color-b1);color:#8b6914}.inline-tooltip .tooltip-level.b2{background:var(--color-b2);color:#7a5812}.inline-tooltip .tooltip-level.c1{background:var(--color-c1);color:#c53030}.inline-tooltip .tooltip-level.c2{background:var(--color-c2);color:#a53030}.inline-tooltip .tooltip-type{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-bottom:var(--space-xs)}.inline-tooltip .tooltip-translation{font-size:var(--font-size-base);color:var(--color-text-secondary);padding-top:var(--space-xs);border-top:1px solid var(--color-border)}.inline-tooltip .loading-text{color:var(--color-text-muted);font-style:italic;animation:pulse 1.5s ease-in-out infinite}.inline-tooltip .error-text{color:#dc2626;font-style:italic}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.inline-tooltip .vocab-add-btn{position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:6px;background:var(--color-accent,#22c55e);color:white;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;font-weight:600;transition:all var(--transition-base);pointer-events:auto;z-index:200;flex-shrink:0;margin-left:var(--space-sm)}.inline-tooltip .vocab-add-btn:hover{background:var(--color-accent-hover,#16a34a);transform:scale(1.1);box-shadow:var(--shadow-md)}.inline-tooltip .vocab-add-btn:active{transform:scale(.95)}.inline-tooltip .vocab-add-btn.added{background:#22c55e;animation:success-pulse .5s ease}@keyframes success-pulse{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.clickable-word:before{content:"";position:absolute;top:-6px;bottom:-6px;left:-1px;right:-1px}.word-group{white-space:nowrap}.story-content-enhanced.story-flow,.story-content-enhanced.story-lines{padding:0!important}.story-flow .german-text,.story-flow .story-sentence-wrapper{display:inline;width:auto;margin:0;padding:0}.story-flow .story-sentence-wrapper:after{content:" "}.story-flow .story-paragraph-break{display:block;height:.85em}.story-lines .story-paragraph-break{display:none}.story-paragraph-start{display:block;height:0}.story-paragraph-en{position:relative;min-height:0;min-width:0;font-family:var(--rf-font);font-size:12px;font-weight:700;line-height:1.4;letter-spacing:.3px;vertical-align:3px;margin-left:8px;padding:2px 8px;border-radius:6px;border:1px solid transparent;background:var(--rf-main-soft);color:var(--rf-main);cursor:pointer}.story-paragraph-en:before{content:"";position:absolute;inset:-4px -8px}.story-paragraph-en:hover{opacity:.8}.story-paragraph-en.is-open{background:var(--rf-main-fill);color:var(--rf-on-main)}.story-paragraph-en:focus-visible{outline:2px solid var(--rf-main);outline-offset:2px}.story-paragraph-english{display:block;margin:6px 0 0;font-family:var(--rf-font);font-size:var(--rf-size-translation);line-height:var(--rf-leading-translation);color:var(--rf-text-secondary);background:var(--rf-page);border-radius:var(--rf-radius);padding:10px 14px}.story-lines .story-sentence-wrapper{margin:0 0 .9rem;padding:0}.story-lines .german-text{margin-bottom:0}.story-lines .translation-text-enhanced{margin-top:.1rem;font-size:.875em!important;line-height:1.45;color:var(--color-text-muted,#8a8580)!important}.story-content-enhanced.story-flow,.story-content-enhanced.story-lines{max-width:var(--rf-german-measure);margin:0;overflow-x:clip}.story-content-enhanced .german-text,.story-content-enhanced.story-flow,.story-content-enhanced.story-lines{font-family:var(--rf-font)!important;font-size:var(--rf-size-german)!important;line-height:var(--rf-leading-german)!important;color:var(--rf-text)!important}.story-content-enhanced .translation-text-enhanced,.story-content-enhanced.story-lines .translation-text-enhanced{font-family:var(--rf-font)!important;font-size:var(--rf-size-translation)!important;line-height:var(--rf-leading-translation)!important;color:var(--rf-text-secondary)!important}