PageSourceSearch

https://onewholearns.com/_app/immutable/nodes/26.CR7euySB.js

js onewholearns.com collected 2026-10-02 00:55:44 UTC 74,624 bytes, 4 lines download raw bytes

1import"../chunks/CTil__GX.js";import{o as Da}from"../chunks/CfOLHHHF.js";import{i as N,s as i,a,f as n,j as ae,p as Ie,b as l,d as $e,c as r,g as e,r as t,t as Se,k as Ga,u as X,n as fe,aN as ve,q as oa,ao as ce,am as De,b2 as La}from"../chunks/CjDHxl-E.js";import{i as $}from"../chunks/Cf8yqx-V.js";import{h as Oa}from"../chunks/DRliDJfS.js";import{b as la,a as We,s as o,e as na}from"../chunks/DVeDheD9.js";import{L as Ma}from"../chunks/BX9Gc0YD.js";import{s as J}from"../chunks/z-G7c5nY.js";import{c as Te}from"../chunks/DpW-eLk9.js";import{L as aa}from"../chunks/CKbsxgYJ.js";import{s as ea}from"../chunks/DgRf8o6j.js";import{s as ye,r as _e,p as qe}from"../chunks/UB6QC_7v.js";import{B as Ea}from"../chunks/H3VuKekF.js";import{C as ga}from"../chunks/B78dpCUq.js";import{e as q,i as ue}from"../chunks/Bw4JUvrC.js";import{H as Pa}from"../chunks/Bql58RUK.js";import{B as Xe}from"../chunks/D2qVDG4z.js";import{A as Ha}from"../chunks/wP8db-pH.js";import{B as fa}from"../chunks/CD2KcDih.js";import{I as ke}from"../chunks/Bde7Ko4S.js";import{d as ta,a as Ze}from"../chunks/Dbib32Oo.js";import{m as Ge}from"../chunks/kpKOPANw.js";import"../chunks/D_NUoY-d.js";import{i as wa}from"../chunks/DZsX1Mot.js";import{A as ya}from"../chunks/DzR1gNG6.js";import{T as Na,A as za}from"../chunks/Bf6o8gtf.js";import{C as ja}from"../chunks/B0Ndbhcq.js";import{F as Wa}from"../chunks/BrMNAEMr.js";import{C as Va}from"../chunks/DTmOD82q.js";import{L as Ya}from"../chunks/BjIAhW_F.js";import{T as Ra}from"../chunks/_K99XCUK.js";import{C as Fa,s as qa}from"../chunks/BwcQVbwo.js";import{T as Za}from"../chunks/BZEYTC0C.js";import{T as Qa}from"../chunks/C9zK3z9m.js";import{B as Ka}from"../chunks/DL1L9sLr.js";import{G as ua}from"../chunks/BH2CXK92.js";import{S as Ua}from"../chunks/F44zLv0B.js";import{L as Ja}from"../chunks/Byz9xq36.js";import{R as ia}from"../chunks/C6LXOTry.js";import{P as Xa}from"../chunks/ScjR4EsC.js";import{V as et}from"../chunks/Crabjsw-.js";import{T as at}from"../chunks/qoRjIxl0.js";import{C as tt}from"../chunks/CLiNnHpS.js";import{S as rt}from"../chunks/BaI6zbgG.js";import{H as st}from"../chunks/_5qyyP2V.js";import{b as pa}from"../chunks/E1Pkc-iJ.js";import{D as ot,b as it,a as nt}from"../chunks/RjWTSQYM.js";import{D as lt,a as mt}from"../chunks/C6jOyjED.js";import{X as ct}from"../chunks/CEfkKi5i.js";import{C as dt}from"../chunks/CmvT704Z.js";import{F as ut}from"../chunks/DIeWnd8E.js";import{p as pt}from"../chunks/8Wl2niL0.js";import{e as ht,h as vt,b as bt}from"../chunks/C2HZz-vh.js";import{V as gt}from"../chunks/BTFCgsam.js";import{S as ft}from"../chunks/KRaHu7Lk.js";import{c as Ve}from"../chunks/BMRTYNTk.js";import{C as _a}from"../chunks/C5yC96ui.js";import{c as wt}from"../chunks/ynkvdELN.js";(function(){try{var d=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};d.SENTRY_RELEASE={id:"7e9441bdc3e4d060579972c0b05f79ea396b11f4"};var s=new d.Error().stack;s&&(d._sentryDebugIds=d._sentryDebugIds||{},d._sentryDebugIds[s]="f94ad0d9-1a9d-4026-bfe5-e9b83b537e96",d._sentryDebugIdIdentifier="sentry-dbid-f94ad0d9-1a9d-4026-bfe5-e9b83b537e96")}catch{}})();var yt=new Set(["$$slots","$$events","$$legacy"]);function _t(d,s){let m=_e(s,yt);const _=[["path",{d:"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"}],["path",{d:"m9 12 2 2 4-4"}]];ke(d,ye({name:"badge-check"},()=>m,{get iconNode(){return _}}))}var kt=new Set(["$$slots","$$events","$$legacy"]);function xt(d,s){let m=_e(s,kt);const _=[["path",{d:"M10 2v8l3-3 3 3V2"}],["path",{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"}]];ke(d,ye({name:"book-marked"},()=>m,{get iconNode(){return _}}))}var Ct=new Set(["$$slots","$$events","$$legacy"]);function Bt(d,s){let m=_e(s,Ct);const _=[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"}],["path",{d:"m9 14 2 2 4-4"}]];ke(d,ye({name:"clipboard-check"},()=>m,{get iconNode(){return _}}))}var At=new Set(["$$slots","$$events","$$legacy"]);function It(d,s){let m=_e(s,At);const _=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5"}],["path",{d:"m9 15 2 2 4-4"}]];ke(d,ye({name:"file-check"},()=>m,{get iconNode(){return _}}))}var $t=new Set(["$$slots","$$events","$$legacy"]);function Tt(d,s){let m=_e(s,$t);const _=[["path",{d:"M4 16v-2.38C4 11.5 2.97 10.5 3 8c.03-2.72 1.49-6 4.5-6C9.37 2 10 3.8 10 5.5c0 3.11-2 5.66-2 8.68V16a2 2 0 1 1-4 0Z"}],["path",{d:"M20 20v-2.38c0-2.12 1.03-3.12 1-5.62-.03-2.72-1.49-6-4.5-6C14.63 6 14 7.8 14 9.5c0 3.11 2 5.66 2 8.68V20a2 2 0 1 0 4 0Z"}],["path",{d:"M16 17h4"}],["path",{d:"M4 13h4"}]];ke(d,ye({name:"footprints"},()=>m,{get iconNode(){return _}}))}
1var St=new Set(["$$slots","$$events","$$legacy"]);function Dt(d,s){let m=_e(s,St);const _=[["path",{d:"m9 11-6 6v3h9l3-3"}],["path",{d:"m22 12-4.6 4.6a2 2 0 0 1-2.8 0l-5.2-5.2a2 2 0 0 1 0-2.8L14 4"}]];ke(d,ye({name:"highlighter"},()=>m,{get iconNode(){return _}}))}var Gt=new Set(["$$slots","$$events","$$legacy"]);function Lt(d,s){let m=_e(s,Gt);const _=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2"}],["circle",{cx:"9",cy:"9",r:"2"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"}]];ke(d,ye({name:"image"},()=>m,{get iconNode(){return _}}))}var Ot=new Set(["$$slots","$$events","$$legacy"]);function Mt(d,s){let m=_e(s,Ot);const _=[["path",{d:"M12 22v-5"}],["path",{d:"M15 8V2"}],["path",{d:"M17 8a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1z"}],["path",{d:"M9 8V2"}]];ke(d,ye({name:"plug"},()=>m,{get iconNode(){return _}}))}var Et=new Set(["$$slots","$$events","$$legacy"]);function Pt(d,s){let m=_e(s,Et);const _=[["path",{d:"m17 2 4 4-4 4"}],["path",{d:"M3 11v-1a4 4 0 0 1 4-4h14"}],["path",{d:"m7 22-4-4 4-4"}],["path",{d:"M21 13v1a4 4 0 0 1-4 4H3"}]];ke(d,ye({name:"repeat"},()=>m,{get iconNode(){return _}}))}var Ht=new Set(["$$slots","$$events","$$legacy"]);function Nt(d,s){let m=_e(s,Ht);const _=[["path",{d:"m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72"}],["path",{d:"m14 7 3 3"}],["path",{d:"M5 6v4"}],["path",{d:"M19 14v4"}],["path",{d:"M10 2v2"}],["path",{d:"M7 8H3"}],["path",{d:"M21 16h-4"}],["path",{d:"M11 3H9"}]];ke(d,ye({name:"wand-sparkles"},()=>m,{get iconNode(){return _}}))}var zt=n("<!> <!>",1);function ka(d,s){let m=qe(s,"class",3,"");Ea(d,{variant:"outline",get class(){return`gap-1.5 rounded-full border-primary bg-transparent px-3 py-1 text-xs font-medium tracking-tight text-primary ${m()??""}`},children:(_,Q)=>{var C=zt(),S=N(C);{var z=w=>{var D=ae(),L=N(D);ea(L,()=>s.icon),a(w,D)},j=w=>{ga(w,{class:"size-3"})};$(S,w=>{s.icon?w(z):w(j,-1)})}var A=i(S,2);ea(A,()=>s.children),a(_,C)},$$slots:{default:!0}})}var jt=n('<div class="cred-cell svelte-dul61f"><!></div>'),Wt=n('<div class="cred-grid svelte-dul61f"></div>');function Vt(d,s){Ie(s,!0);let m=qe(s,"cellBg",3,"var(--bg-tertiary)");var _=Wt();q(_,21,()=>s.items,ue,(Q,C,S)=>{var z=jt(),j=r(z);ea(j,()=>s.cell,()=>e(C),()=>S),t(z),a(Q,z)}),t(_),l(()=>la(_,`--cols:${s.items.length??""}; --cell-bg:${m()??""}`)),a(d,_),$e()}var Yt=n("<!> <span> </span>",1),Rt=n(`<div class="hero-head svelte-x4ysie"><!> <h1 class="m-0 svelte-x4ysie"><span class="text-accent">Pass the B1 Goethe exam.</span><br/> <span class="text-primary">Actually understand German.</span></h1> <p class="hero-sub text-secondary svelte-x4ysie">A structured curriculum from A1 to B1 — with grammar that explains why, exercises that match
2			the exam, and vocab that reviews itself.</p> <div class="hero-cta svelte-x4ysie"><!> <!></div></div> <div class="hero-cred svelte-x4ysie"><!></div> <div class="mt-[clamp(1rem,3vw,2rem)]"><!></div>`,1);function Ft(d,s){const m=[{Icon:fa,text:"Curriculum based on best German textbooks"},{Icon:Bt,text:"38 exercise types mapped to exam format"},{Icon:_t,text:"Curriculum aligned to CEFR levels A1–B1"}];aa(d,{bg:"bg-tertiary",rules:["left","right"],class:"hero-section overflow-x-clip",children:(_,Q)=>{var C=Rt(),S=N(C),z=r(S);ka(z,{children:(I,Y)=>{fe();var M=Se("New way to get from A1 to B1");a(I,M)},$$slots:{default:!0}});var j=i(z,6),A=r(j);Xe(A,{href:"/signup",variant:"brand",size:"xl",class:"hero-btn",children:(I,Y)=>{fe();var M=Se("Start learning for free");a(I,M)},$$slots:{default:!0}});var w=i(A,2);Ha(w,{placement:"home_hero",variant:"badge","aria-label":"Download One Who Learns on the App Store",class:"hero-appstore"}),t(j),t(S);var D=i(S,2),L=r(D);Vt(L,{get items(){return m},cell:(Y,M=Ga)=>{const V=X(()=>M().Icon);var E=Yt(),oe=N(E);Te(oe,()=>e(V),(K,re)=>{re(K,{class:"size-4 shrink-0 text-accent","aria-hidden":"true"})});var U=i(oe,2),F=r(U,!0);t(U),l(()=>J(F,M().text)),a(Y,E)},$$slots:{cell:!0}}),t(D);var Z=i(D,2),te=r(Z);Pa(te,{get words(){return s.words}}),t(Z),a(_,C)},$$slots:{default:!0}})}var qt=n('<article><button class="expand svelte-xiga1h" type="button"><svg class="expand-icon svelte-xiga1h" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="M8 3H3v5M16 21h5v-5M21 3l-7 7M3 21l7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg></button> <div class="feat-inner svelte-xiga1h"><h3 class="feat-title text-primary svelte-xiga1h"> </h3> <div class="feat-media svelte-xiga1h"><!></div></div></article>');function je(d,s){Ie(s,!0);let m=qe(s,"span",3,1),_=qe(s,"minHeight",3,"26rem"),Q=qe(s,"class",3,"");var C=qt();let S;var z=r(C),j=i(z,2),A=r(j),w=r(A,!0);t(A);var D=i(A,2),L=r(D);ea(L,()=>s.media),t(D),t(j),t(C),l(()=>{S=We(C,1,`feat light bg-primary border border-secondary ${Q()??""}`,"svelte-xiga1h",S,{"span-2":m()===2,"span-full":m()==="full"}),la(C,`--min-h:${_()??""}`),o(z,"aria-label",`Learn more about ${s.title}`),J(w,s.title)}),Ze("click",z,()=>s.onExpand(s.id)),a(d,C),$e()}ta(["click"]);const Le={sources:{avif:"/_app/immutable/assets/home-feature-iphone.Dh0J9Pa-.avif 256w, /_app/immutable/assets/home-feature-iphone.KBk_9-xZ.avif 512w",webp:"/_app/immutable/assets/home-feature-iphone.DKPLVC_P.webp 256w, /_app/immutable/assets/home-feature-iphone.CBYj9TJV.webp 512w",png:"/_app/immutable/assets/home-feature-iphone.D7WbIYJ_.png 256w, /_app/immutable/assets/home-feature-iphone.7mTJf
2y0m.png 512w"},img:{src:"/_app/immutable/assets/home-feature-iphone.7mTJfy0m.png",w:512,h:1060}},Oe={sources:{avif:"/_app/immutable/assets/home-feature-desktop.DyRd-iDz.avif 577w, /_app/immutable/assets/home-feature-desktop.CYl_GaBj.avif 1154w",webp:"/_app/immutable/assets/home-feature-desktop.CEk9pgcT.webp 577w, /_app/immutable/assets/home-feature-desktop.mPpyOI8g.webp 1154w",png:"/_app/immutable/assets/home-feature-desktop.BnsqZVgX.png 577w, /_app/immutable/assets/home-feature-desktop.1Gm-QacJ.png 1154w"},img:{src:"/_app/immutable/assets/home-feature-desktop.1Gm-QacJ.png",w:1154,h:1114}},Me={sources:{avif:"/_app/immutable/assets/home-feature-week.C-PWA8q0.avif 368w, /_app/immutable/assets/home-feature-week.BhMUP4Ce.avif 736w",webp:"/_app/immutable/assets/home-feature-week.DA-jWKoA.webp 368w, /_app/immutable/assets/home-feature-week.CvWT-_YB.webp 736w",png:"/_app/immutable/assets/home-feature-week.Bhv9N3B3.png 368w, /_app/immutable/assets/home-feature-week.D8vrIGGi.png 736w"},img:{src:"/_app/immutable/assets/home-feature-week.D8vrIGGi.png",w:736,h:1130}},Ee={sources:{avif:"/_app/immutable/assets/home-feature-course.Br-zapd4.avif 368w, /_app/immutable/assets/home-feature-course.D_hWDIoP.avif 736w",webp:"/_app/immutable/assets/home-feature-course.Bndrca5e.webp 368w, /_app/immutable/assets/home-feature-course.BQBwFu0a.webp 736w",png:"/_app/immutable/assets/home-feature-course.dNGYoN5o.png 368w, /_app/immutable/assets/home-feature-course.BdKZNKKT.png 736w"},img:{src:"/_app/immutable/assets/home-feature-course.BdKZNKKT.png",w:736,h:1072}},Pe={sources:{avif:"/_app/immutable/assets/home-feature-vocab-lists.U2ELx4E_.avif 368w, /_app/immutable/assets/home-feature-vocab-lists.BQfR25F-.avif 736w",webp:"/_app/immutable/assets/home-feature-vocab-lists.C7Uoq6DV.webp 368w, /_app/immutable/assets/home-feature-vocab-lists.Px6PJtK9.webp 736w",png:"/_app/immutable/assets/home-feature-vocab-lists.COGiPRWG.png 368w, /_app/immutable/assets/home-feature-vocab-lists.C31ixGC_.png 736w"},img:{src:"/_app/immutable/assets/home-feature-vocab-lists.C31ixGC_.png",w:736,h:1072}},He={sources:{avif:"/_app/immutable/assets/home-feature-drill.C-cJ5Pgh.avif 368w, /_app/immutable/assets/home-feature-drill.DTsrVYun.avif 736w",webp:"/_app/immutable/assets/home-feature-drill.CXj5K7qJ.webp 368w, /_app/immutable/assets/home-feature-drill.5XYF7yMa.webp 736w",png:"/_app/immutable/assets/home-feature-drill.DnuqRlzU.png 368w, /_app/immutable/assets/home-feature-drill.QAnnHWwX.png 736w"},img:{src:"/_app/immutable/assets/home-feature-drill.QAnnHWwX.png",w:736,h:1072}},Ne={sources:{avif:"/_app/immutable/assets/mascot-codex.B1H7cVzR.avif 287w, /_app/immutable/assets/mascot-codex.Cnj9oBjG.avif 574w",webp:"/_app/immutable/assets/mascot-codex.CrDE1j6L.webp 287w, /_app/immutable/assets/mascot-codex.BtPZ2Q-b.webp 574w",png:"/_app/immutable/assets/mascot-codex.2ZnBMD2g.png 287w, /_app/immutable/assets/mascot-codex.DtCfGY5e.png 574w"},img:{src:"/_app/immutable/assets/mascot-codex.DtCfGY5e.png",w:574,h:522}},ze={sources:{avif:"/_app/immutable/assets/mascot-claude.BHoPFVLp.avif 238w, /_app/immutable/assets/mascot-claude.BrL2Mvdq.avif 476w",webp:"/_app/immutable/assets/mascot-claude.BWyj8AOC.webp 238w, /_app/immutable/assets/mascot-claude.DjI_GLKd.webp 476w",png:"/_app/immutable/assets/mascot-claude.DlppzSB0.png 238w, /_app/immutable/assets/mascot-claude.QqAIAlDy.png 476w"},img:{src:"/_app/immutable/assets/mascot-claude.QqAIAlDy.png",w:476,h:412}};var Zt=n('<img class="phone" alt="One Who Learns iOS app showing a vocabulary deck"/>'),Qt=n('<source sizes="16rem"/>'),Kt=n('<picture><!> <img class="phone" alt="One Who Learns iOS app showing a vocabulary deck"/></picture>'),Ut=n('<img class="shot" alt="One Who Learns desktop app showing the daily study dashboard"/>'),Jt=n('<source sizes="42rem"/>'),Xt=n('<picture><!> <img class="shot" alt="One Who Learns desktop app showing the daily study dashboard"/></picture>'),er=n('<div class="m-apps svelte-nx85ap"><!> <div class="browser svelte-nx85ap"><div class="chrome svelte-nx85ap"><div class="dots svelte-nx85ap"><span class="svelte-nx85ap"></span><span class="svelte-nx85ap"></span><span class="svelte-nx85ap"></span></div> <div class="url svelte-nx85ap"><svg viewBox="0 0 24 24" fill="none" aria-hidden="true" class="svelte-nx85ap"><rect x="5" y="11" width="14" height="9" rx="2" stroke="currentColor" stroke-width="2"></rect><path d="M8 11V8a4 4 0 0 1 8 0v3" stroke="currentColor" stroke-width="2"></path></svg> <span>onewholearns.com/home</span></div></div> <!></div></div>'),ar=n('<img alt="Week-by-week study schedule"/>'),Ue=n('<source sizes="22rem"/>'),tr=n('<picture><!> <img alt="Week-by-week study schedule"/></picture>'),Je=n('<div class="m-panels svelte-nx85ap"><div class="panel svelte-nx85ap"><!></div></div>'),rr=n('<img alt="A lesson inside the digital textbook"/>'),sr=n('<picture><!> <img alt="A lesson inside the digital textbook"/></picture>'),or=n('<img alt="Curated vocabulary lists by level"/>'),ir=n('<picture><!> <img alt="Curated vocabulary lists by level"/></picture>'),nr=n('<img alt="German grammar drill exercise"/>'),lr=n('<picture><!> <img alt="German grammar drill exercise"/></picture>'),mr=n('<img alt="Chatting with an AI assistant connected through MCP to add an exercise"/>'),cr=n('<source sizes="40rem"/>'),dr=n('<picture><!> <img alt="Chatting with an AI assistant connected through MCP to add an exercise"/></picture>'),ur=n('<img class="m-blue" alt=""/>'),pr=n('<source sizes="18rem"/>'),hr=n('<picture><!> <img class="m-blue" alt=""/></picture>'),vr=n('<img class="m-orange" alt=""/>'),br=n('<source sizes="15rem"/>'),gr=n('<picture><!> <img class="m-orange" alt=""/></picture>'),fr=n(`<header class="feat-header svelte-nx85ap"><h2 class="m-0 text-primary">One place to learn. Everything connected.</h2> <p class="feat-sub text-secondary svelte-nx85ap">
2One Who Learns replaces your textbook, your apps, and your flashcard grind, and works
3			alongside your tutor.</p></header> <div class="bento svelte-nx85ap"><!> <!> <!> <!> <!> <article class="feat-wide light bg-primary border border-secondary svelte-nx85ap"><button class="expand svelte-nx85ap" type="button" aria-label="Learn more about connecting your AI assistant"><svg class="expand-icon svelte-nx85ap" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="M8 3H3v5M16 21h5v-5M21 3l-7 7M3 21l7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg></button> <div class="fw-inner svelte-nx85ap"><h3 class="wide-title text-primary svelte-nx85ap">Connect your AI assistant and manage your study plan, add new exercises, track your progress.</h3> <div class="wide-chat svelte-nx85ap"><!></div> <div class="mascots svelte-nx85ap"><!> <!></div></div></article></div>`,1);function wr(d,s){Ie(s,!0),aa(d,{bg:"bg-tertiary",rules:["top","left","right"],children:(m,_)=>{var Q=fr(),C=i(N(Q),2),S=r(C);je(S,{id:"apps",get onExpand(){return s.onExpand},title:"iOS and Desktop Apps. Study wherever.",span:2,minHeight:"auto",class:"apps-card",media:b=>{var y=er(),p=r(y);{var h=f=>{var k=ae(),x=N(k);{var T=W=>{var R=Zt();l(()=>o(R,"src",Le)),a(W,R)};$(x,W=>{W(T,-1)})}a(f,k)},B=f=>{var k=Kt(),x=r(k);q(x,17,()=>Object.entries(Le.sources),ue,(W,R)=>{var G=X(()=>ve(e(R),2));let be=()=>e(G)[0],xe=()=>e(G)[1];var pe=Qt();l(()=>{o(pe,"srcset",xe()),o(pe,"type","image/"+be())}),a(W,pe)});var T=i(x,2);t(k),l(()=>{o(T,"src",Le.img.src),o(T,"width",Le.img.w),o(T,"height",Le.img.h)}),a(f,k)};$(p,f=>{typeof Le=="string"?f(h):f(B,-1)})}var P=i(p,2),c=i(r(P),2);{var u=f=>{var k=ae(),x=N(k);{var T=W=>{var R=Ut();l(()=>o(R,"src",Oe)),a(W,R)};$(x,W=>{W(T,-1)})}a(f,k)},g=f=>{var k=Xt(),x=r(k);q(x,17,()=>Object.entries(Oe.sources),ue,(W,R)=>{var G=X(()=>ve(e(R),2));let be=()=>e(G)[0],xe=()=>e(G)[1];var pe=Jt();l(()=>{o(pe,"srcset",xe()),o(pe,"type","image/"+be())}),a(W,pe)});var T=i(x,2);t(k),l(()=>{o(T,"src",Oe.img.src),o(T,"width",Oe.img.w),o(T,"height",Oe.img.h)}),a(f,k)};$(c,f=>{typeof Oe=="string"?f(u):f(g,-1)})}t(P),t(y),a(b,y)},$$slots:{media:!0}});var z=i(S,2);je(z,{id:"study-plan",get onExpand(){return s.onExpand},title:"Create a study plan tailored to your goals & progress, with AI.",minHeight:"auto",media:b=>{var y=Je(),p=r(y),h=r(p);{var B=c=>{var u=ae(),g=N(u);{var f=k=>{var x=ar();l(()=>o(x,"src",Me)),a(k,x)};$(g,k=>{k(f,-1)})}a(c,u)},P=c=>{var u=tr(),g=r(u);q(g,17,()=>Object.entries(Me.sources),ue,(k,x)=>{var T=X(()=>ve(e(x),2));let W=()=>e(T)[0],R=()=>e(T)[1];var G=Ue();l(()=>{o(G,"srcset",R()),o(G,"type","image/"+W())}),a(k,G)});var f=i(g,2);t(u),l(()=>{o(f,"src",Me.img.src),o(f,"width",Me.img.w),o(f,"height",Me.img.h)}),a(c,u)};$(h,c=>{typeof Me=="string"?c(B):c(P,-1)})}t(p),t(y),a(b,y)},$$slots:{media:!0}});var j=i(z,2);je(j,{id:"textbook",get onExpand(){return s.onExpand},title:"Digital textbook that brings you from A1 to B1.",minHeight:"auto",media:b=>{var y=Je(),p=r(y),h=r(p);{var B=c=>{var u=ae(),g=N(u);{var f=k=>{var x=rr();l(()=>o(x,"src",Ee)),a(k,x)};$(g,k=>{k(f,-1)})}a(c,u)},P=c=>{var u=sr(),g=r(u);q(g,17,()=>Object.entries(Ee.sources),ue,(k,x)=>{var T=X(()=>ve(e(x),2));let W=()=>e(T)[0],R=()=>e(T)[1];var G=Ue();l(()=>{o(G,"srcset",R()),o(G,"type","image/"+W())}),a(k,G)});var f=i(g,2);t(u),l(()=>{o(f,"src",Ee.img.src),o(f,"width",Ee.img.w),o(f,"height",Ee.img.h)}),a(c,u)};$(h,c=>{typeof Ee=="string"?c(B):c(P,-1)})}t(p),t(y),a(b,y)},$$slots:{media:!0}});var A=i(j,2);je(A,{id:"vocabulary",get onExpand(){return s.onExpand},title:"Build vocabulary efficiently with memorable flashcards.",minHeight:"auto",media:b=>{var y=Je(),p=r(y),h=r(p);{var B=c=>{var u=ae(),g=N(u);{var f=k=>{var x=or();l(()=>o(x,"src",Pe)),a(k,x)};$(g,k=>{k(f,-1)})}a(c,u)},P=c=>{var u=ir(),g=r(u);q(g,17,()=>Object.entries(Pe.sources),ue,(k,x)=>{var T=X(()=>ve(e(x),2));let W=()=>e(T)[0],R=()=>e(T)[1];var G=Ue();l(()=>{o(G,"srcset",R()),o(G,"type","image/"+W())}),a(k,G)});var f=i(g,2);t(u),l(()=>
3{o(f,"src",Pe.img.src),o(f,"width",Pe.img.w),o(f,"height",Pe.img.h)}),a(c,u)};$(h,c=>{typeof Pe=="string"?c(B):c(P,-1)})}t(p),t(y),a(b,y)},$$slots:{media:!0}});var w=i(A,2);je(w,{id:"grammar-drills",get onExpand(){return s.onExpand},title:"Make German intuitive with interactive grammar drills.",minHeight:"auto",media:b=>{var y=Je(),p=r(y),h=r(p);{var B=c=>{var u=ae(),g=N(u);{var f=k=>{var x=nr();l(()=>o(x,"src",He)),a(k,x)};$(g,k=>{k(f,-1)})}a(c,u)},P=c=>{var u=lr(),g=r(u);q(g,17,()=>Object.entries(He.sources),ue,(k,x)=>{var T=X(()=>ve(e(x),2));let W=()=>e(T)[0],R=()=>e(T)[1];var G=Ue();l(()=>{o(G,"srcset",R()),o(G,"type","image/"+W())}),a(k,G)});var f=i(g,2);t(u),l(()=>{o(f,"src",He.img.src),o(f,"width",He.img.w),o(f,"height",He.img.h)}),a(c,u)};$(h,c=>{typeof He=="string"?c(B):c(P,-1)})}t(p),t(y),a(b,y)},$$slots:{media:!0}});var D=i(w,2),L=r(D),Z=i(L,2),te=i(r(Z),2),I=r(te);{var Y=v=>{var b=ae(),y=N(b);{var p=h=>{var B=mr();l(()=>o(B,"src",Ge)),a(h,B)};$(y,h=>{h(p,-1)})}a(v,b)},M=v=>{var b=dr(),y=r(b);q(y,17,()=>Object.entries(Ge.sources),ue,(h,B)=>{var P=X(()=>ve(e(B),2));let c=()=>e(P)[0],u=()=>e(P)[1];var g=cr();l(()=>{o(g,"srcset",u()),o(g,"type","image/"+c())}),a(h,g)});var p=i(y,2);t(b),l(()=>{o(p,"src",Ge.img.src),o(p,"width",Ge.img.w),o(p,"height",Ge.img.h)}),a(v,b)};$(I,v=>{typeof Ge=="string"?v(Y):v(M,-1)})}t(te);var V=i(te,2),E=r(V);{var oe=v=>{var b=ae(),y=N(b);{var p=h=>{var B=ur();l(()=>o(B,"src",Ne)),a(h,B)};$(y,h=>{h(p,-1)})}a(v,b)},U=v=>{var b=hr(),y=r(b);q(y,17,()=>Object.entries(Ne.sources),ue,(h,B)=>{var P=X(()=>ve(e(B),2));let c=()=>e(P)[0],u=()=>e(P)[1];var g=pr();l(()=>{o(g,"srcset",u()),o(g,"type","image/"+c())}),a(h,g)});var p=i(y,2);t(b),l(()=>{o(p,"src",Ne.img.src),o(p,"width",Ne.img.w),o(p,"height",Ne.img.h)}),a(v,b)};$(E,v=>{typeof Ne=="string"?v(oe):v(U,-1)})}var F=i(E,2);{var K=v=>{var b=ae(),y=N(b);{var p=h=>{var B=vr();l(()=>o(B,"src",ze)),a(h,B)};$(y,h=>{h(p,-1)})}a(v,b)},re=v=>{var b=gr(),y=r(b);q(y,17,()=>Object.entries(ze.sources),ue,(h,B)=>{var P=X(()=>ve(e(B),2));let c=()=>e(P)[0],u=()=>e(P)[1];var g=br();l(()=>{o(g,"srcset",u()),o(g,"type","image/"+c())}),a(h,g)});var p=i(y,2);t(b),l(()=>{o(p,"src",ze.img.src),o(p,"width",ze.img.w),o(p,"height",ze.img.h)}),a(v,b)};$(F,v=>{typeof ze=="string"?v(K):v(re,-1)})}t(V),t(Z),t(D),t(C),Ze("click",L,()=>s.onExpand("connect-ai")),a(m,Q)},$$slots:{default:!0}}),$e()}ta(["click"]);const yr={sources:{avif:"/_app/immutable/assets/home-word-card-no-color.BHujJFdU.avif 384w, /_app/immutable/assets/home-word-card-no-color.C0NON2ZU.avif 768w",webp:"/_app/immutable/assets/home-word-card-no-color.hQJf3a_R.webp 384w, /_app/immutable/assets/home-word-card-no-color.C3Bnyd5L.webp 768w",png:"/_app/immutable/assets/home-word-card-no-color.JwjG1qvG.png 384w, /_app/immutable/assets/home-word-card-no-color.21O_zQ0Z.png 768w"},img:{src:"/_app/immutable/assets/home-word-card-no-color.21O_zQ0Z.png",w:768,h:920}},_r={sources:{avif:"/_app/immutable/assets/home-word-card-with-color.cxi2tqZS.avif 384w, /_app/immutable/assets/home-word-card-with-color.DVD9ka9w.avif 768w",webp:"/_app/immutable/assets/home-word-card-with-color.YKfAjve9.webp 384w, /_app/immutable/assets/home-word-card-with-color.Th2RG9Yt.webp 768w",png:"/_app/immutable/assets/home-word-card-with-color.Cw5dYXkU.png 384w, /_app/immutable/assets/home-word-card-with-color.CZPbmdTY.png 768w"},img:{src:"/_app/immutable/assets/home-word-card-with-color.CZPbmdTY.png",w:768,h:920}};var kr=n('<div class="flex flex-col items-center gap-2"><span class="mc-bigword-de font-serif svelte-af9zt1"><span>die</span> Blume</span> <span class="mc-bigword-en text-secondary svelte-af9zt1">flower</span></div>'),xr=n('<img alt="Memory-palace scene for the German word die Blume (flower)"/>'),Cr=n('<source sizes="28rem"/>'),Br=n('<picture><!> <img alt="Memory-palace scene for the German word die Blume (flower)"/></picture>'),Ar=n('<span class="text-[1.5rem] text-primary font-serif"><span>die</span> Blume</span> <span class="mc-en text-secondary svelte-af9zt1">flower</span>',1),Ir=n('<span class="step-arrow svelte-af9zt1" aria-hidden="true"><!></span>'),$r=n('<div class="flex flex-col gap-8"><div class="mc-wrap svelte-af9zt1"><div><div class="mc-scene svelte-af9zt1"><!></div> <div class="mc-caption svelte-af9zt1"><!></div></div> <!></div> <div class="step-label svelte-af9zt1"><div class="flex items-center gap-2"><span class="step-marker"> </span> <span class="step-title text-primary svelte-af9zt1"> </span></div> <p class="step-line text-secondary svelte-af9zt1"> </p></div></div>'),Tr=n('<header class="mem-header svelte-af9zt1"><!> <h2 class="m-0"><span class="text-primary">From</span> <span class="text-accent">word to memory</span></h2> <p class="mem-sub text-secondary svelte-af9zt1">We turn new vocabulary into <span class="text-primary">unforgettable, grammar-encoded</span> memories.</p></header> <div class="steps svelte-af9zt1"></div>',1);function Sr(d,s){Ie(s,!1);const m=[{n:1,variant:"word",articleClass:"text-accent",title:"Word",line:"A word is just a sound - it's easy to forget."},{n:2,variant:"scene",img:yr,articleClass:"article-italic text-primary",title:"Visual scene",line:"A vivid image creates a lasting memory."},{n:3,variant:"gender",img:_r,articleClass:"article-italic text-pink",pink:!0,title:"Gender encoded",line:"Grammar becomes a part of memory."}];wa(),aa(d,{bg:"bg-secondary",rules:["top","left","right"],children:(_,Q)=>{var C=Tr(),S=N(C),z=r(S);ka(z,{children:(A,w)=>{fe();var D=Se("Only on One Who Learns");a(A,D)},$$slots:{default:!0}}),fe(4),t(S);var j=i(S,2);q(j,5,()=>m,A=>A.n,(A,w)=>{var D=$r(),L=r(D),Z=r(L);let te;var I=r(Z),Y=r(I);{var M=c=>{var u=kr(),g=r(u),f=r(g);fe(),t(g),fe(2),t(u),l(()=>We(f,1,na(e(w).articleClass),"svelte-af9zt1")),a(c,u)},V=c=>{var u=ae(),g=N(u);{var f=x=>{var T=ae(),W=N(T);{var R=G=>{var be=xr();l(()=>o(be,"src",e(w).img)),a(G,be)};$(W,G=>{G(R,-1)})}a(x,T)},k=x=>{var T=Br(),W=r(T);q(W,1,()=>Object.entries(e(w).img.sources),ue,(G,be)=>{var xe=X(()=>ve(e(be),2));let pe=()=>e(xe)[0],Qe=()=>e(xe)[1];var Ye=Cr();l(()=>{o(Ye,"srcset",Qe()),o(Ye,"type","image/"+pe())}),a(G,Ye)});var R=i(W,2);t(T),l(()=>{o(R,"src",e(w).img.img.src),o(R,"width",e(w).img.img.w),o(R,"height",e(w).img.img.h)}),a(x,T)};$(g,x=>{typeof e(w).img=="string"?x(f):x(k,-1)})}a(c,u)};$(Y,c=>{e(w).variant==="word"?c(M):c(V,-1)})}t(I);var E=i(I,2),oe=r(E);{var U=c=>{var u=Ar(),g=N(u),f=r(g);fe(),t(g),fe(2),l(()=>We(f,1,na(e(w).articleClass),"svelte-af9zt1")),a(c,u)};$(oe,c=>{e(w).variant!=="word"&&c(U)})}t(E),t(Z);var F=i(Z,2);{var K=c=>{var u=Ir(),g=r(u);ya(g,{class:"size-8"}),t(u),a(c,u)};$(F,c=>{e(w).n<3&&c(K)})}t(L);var re=i(L,2),v=r(re),b=r(v),y=r(b,!0);t(b);var p=i(b,2),h=r(p,!0);t(p),t(v);var B=i(v,2),P=r(B,!0);t(B),t(re),t(D),l(()=>{te=We(Z,1,"mc svelte-af9zt1",null,te,{pink:e(w).pink}),J(y,e(w).n),J(h,e(w).title),J(P,e(w).line)}),a(A,D)}),t(j),a(_,C)},$$slots:{default:!0}}),$e()}const xa={apps:{id:"apps",title:"iOS and Desktop Apps. Study wherever.",heading:"Study anywhere, on any device",summary:"You can study both in your browser, on your laptop and your phone, with one account. Whatever you do on one device is there the next time you sign in on another: your vocabulary, your place in the course, how far you have come. There is a native iOS app too, for when you would rather study in an app than a browser tab.",bullets:["The full app in any browser, on your phone and your laptop, one account","Your vocabulary, your progress in the course, drills, references and your streak, the same in every browser","A native iOS app that shares your account for vocabulary, coursework, drills, references"],ctas:[{label:"Start learning free",href:"/signup"}],highlights:[{icon:ua,label:"Runs in any browser.",body:"Nothing to install. Open the site on your laptop or your phone and the whole course, your decks, and your progress are right there."},{icon:ia,label:"One account, everywhere.",body:"Sign in on any device and you carry on where you stopped. Finish a deck on your phone at lunch and it is already done when you open the laptop that night."},{icon:rt,label:"A native iOS app.",body:"For when you would rather have an app than a browser tab, with your vocabulary and lessons on the same account."}],discover:[{id:"study-plan",label:"Study plan",body:"A day-by-day plan that tells you what to do in each of those short sessions."},{id:"vocabulary",label:"Vocabulary",body:"The memory-palace decks to learn new words much faster."},{id:"habit-building",label:"Habit building",body:"Your goals, stakes, daily targets that make you show up consistently."}],whyIBuilt:"I use both my laptop and my iPhone for studying. The desktop app is better for coursework and planning. The phone app is more convenient for vocabulary and drills, and when you are traveling. Both apps sync to one account.",ctaHeading:"Start learning free, on any device."},"study-plan":{id:"study-plan",title:"Create a study plan tailored to your goals & progress, with AI.",heading:"Always know what to do next, all the way to your goal",summary:"Tell it your level, what you are aiming for, and roughly when you want to take an exam. The AI builds you a personalized week of daily study around the time you actually have, picking your next lessons and drilling the things you keep getting wrong. When your week changes, you rebuild it and it starts again from wherever you really are.",bullets:["A week of daily study, built from your goal and your level","Daily goals sized to the time you actually have","Pulls your next lessons and drills the things you get wrong","Add or skip tasks, and rebuild the week whenever things change","Also plans a bigger roadmap to your goal, like passing a Goethe exam"],ctas:[{label:"Get started",href:"/signup"}],highlights:[{icon:at,label:"Starts from where you are going.",body:"Give it your goal level and a date if you have one, and it works back into a realistic week, not a one-size course outline."},{icon:tt,label:"Sized to your real week.",body:"Twenty minutes on weekdays, longer on a free Sunday. You set the daily minutes and the days you study, and the plan fits inside them."},{icon:ia,label:"Rebuilds from where you are.",body:"Fall behind or race ahead, then rebuild the week. It reads your latest progress and weak spots and plans the next stretch from there."}],discover:[{id:"connect-ai",label:"AI assistant",body:"Connect your own AI to reshape the plan and drop in custom tasks."},{id:"textbook",label:"Digital textbook",body:"The lessons your plan walks you through, day by day."},{id:"habit-building",label:"Habit building",body:"Daily goals that turn the plan into a routine you keep."}],whyIBuilt:"Your energy should go into studying, not into working out what to study. That is 
3why I let the AI handle the planning: you give it your goal, your level, and the time you have, and it hands you a plan you just follow. Your effort goes into learning German instead of logistics.",ctaHeading:"Get your first week planned."},textbook:{id:"textbook",title:"Digital textbook that brings you from A1 to B1.",heading:"Go from beginner to B1, all in one place",summary:"A complete German course, from your first words to B1. Every unit has lessons, grammar shown inside real sentences, audio you play right in the page, and a short story that mixes German into English so you are reading from early on. More than thirty kinds of exercise keep you producing German, not just reading about it.",bullets:["A1 through B1, with 30+ kinds of interactive exercise","Audio built into every unit, nothing to download","Grammar taught inside sentences, plus a short summary each unit","A story in every unit you can read from the start"],ctas:[{label:"Start learning free",href:"/signup"}],highlights:[{icon:Xa,label:"You make German, not just read it.",body:"You recall, type, reorder, and complete. Most exercises ask you to produce the language, which is the part that turns a word you recognize into one you can use."},{icon:fa,label:"Grammar where you meet it.",body:"Rules show up inside the lesson you are working through, attached to sentences you can see, and each unit ends with a compact summary you can come back to."},{icon:et,label:"Listening in every unit.",body:"Native audio plays right in the lesson, so you train your ear from the first unit instead of downloading files from somewhere else."}],discover:[{id:"grammar-references",label:"Grammar references",body:"The full tables to check when a lesson raises a question."},{id:"grammar-drills",label:"Drills",body:"Extra reps on the verb and case patterns each unit introduces."},{id:"vocabulary",label:"Vocabulary",body:"The words from each unit, ready to review with spaced repetition."}],whyIBuilt:"I liked the structure of a good textbook but hated everything around it: the separate audio files, the answers hidden in the back, the fact that nothing knew what I had already done. So I rebuilt the textbook as something interactive. The audio is in the page, the exercises check themselves, and the story lets you read real German long before you feel ready. And the best part is that the platform tracks my mistakes and I can focus on them after with custom exercises and drills.",ctaHeading:"Start the course free."},vocabulary:{id:"vocabulary",title:"Build vocabulary efficiently with memorable flashcards.",heading:"Remember new words easier",summary:"Around 1,700 words, each one a vivid scene with its gender built into the color of the card. You rate how well you knew each word, and it comes back on a widening schedule, a few days, then a week, then a month, so the words you keep getting right stop eating your time and the hard ones keep coming around.",bullets:["A memory-palace image for almost every word","Gender color-coded on the card: der, die, das","The full word on the back: plural, conjugations, comparisons, examples","Spaced review that widens as you get a word right","Around 1,700 words across A1 to B1"],ctas:[{label:"Start learning free",href:"/signup"}],highlights:[{icon:Lt,label:"A picture for the meaning, a color for the gender.",body:"Each card pairs the word with a scene you can actually picture, and der, die or das is baked into the card's color, so you learn the article together with the noun."},{icon:Ja,label:"Everything about the word on the back.",body:"Flip a card and you get the plural for a noun, the full conjugation tables for a verb, the comparative and superlative for an adjective, plus example sentences."},{icon:ia,label:"Reviewed on a widening schedule.",body:"You say whether you knew it, almost knew it, or missed it. Words you know come back less often; words you miss come back soon, so your time goes to what you have not learned yet."}],discover:[{id:"browser-extension",label:"Browser extension",body:"Save words you meet on the web straight into these decks."},{id:"grammar-drills",label:"Drills",body:"Practice tricky grammar patterns until you use them without thinking."},{id:"habit-building",label:"Habit building",body:"See every word learned and what is due today, on your home screen."}],whyIBuilt:"German vocabulary is hard in a way English is not, because every noun drags a gender and a plural along with it. Plain repetition never stuck for me so I thought why not activate visual memory? Each word gets a memorable image and a color for its gender, which gives my visual memory something to hold onto, and the schedule makes sure the difficult words come around more than the easy ones.",ctaHeading:"Start learning words for free."},"browser-extension":{id:"browser-extension",title:"Save German words from anywhere on the web.",heading:"Never lose a German word you find online",summary:"When you hit a German word while browsing the web, in an email, on a forum, you highlight it, see the translation, and send it to your deck without leaving the page. The German you run into every day becomes words you actually study, instead of words you forget by the next tab.",bullets:["Highlight and translate German on any web page","Save the word to your deck from any site","Ten translations a day free, unlimited on Premium","On Premium, enrich the word and generate its image with AI"],ctas:[{label:"Start learning",href:"/signup"},{label:"Get the extension",href:"https://chromewebstore.google.com/detail/one-who-learns-german-voc/opkghocpmiimloaikngijgpjoakeofcl?pli=1"}],highlights:[{icon:Dt,label:"Capture it where you found it.",body:"Select the word, see the translation, save it, keep reading. It lands in your deck with almost no effort, which is why you actually do it."},{icon:ua,label:"Your real reading becomes your deck.",body:"The German already in front of you, the article, the lease, the chat thread, turns into review instead of something you meant to look up and never did."},{icon:Ua,label:"AI enrichment on Premium.",body:"Premium members can have the extension fill in the details and generate a memory image as the word is saved, so it arrives ready to study."}],discover:[{id:"vocabulary",label:"Vocabulary",body:"The decks your saved words land in, with spaced repetition."},{id:"textbook",label:"Digital textbook",body:"Structured lessons for the words and rules you keep hitting."},{id:"apps",label:"Apps",body:"Review your captured words on the train, on any device."}],whyIBuilt:"I meet a lot of new words while browsing websites. Why not look them up easily and save in my deck? Now you can highlight, save, and learn later. Your vocabulary will grow much faster.",ctaHeading:"Start saving words as you browse."},"connect-ai":{id:"connect-ai",title:"Connect your AI assistant and manage your study plan.",heading:"Get a tutor that knows your weak spots",summary:"Connect an assistant like Claude or ChatGPT to your account, and it can see what you are working on: your plan, your streak, the things you keep getting wrong. Ask it for a drill on a grammar point you keep missing and it writes a real exercise into today's tasks. You bring the AI; the app gives it the context and a place to put the work.",bullets:["Connect Claude or ChatGPT to your account","It reads your plan, your streak, and 
3your weak spots","It writes exercises that open inside the app, on today's list","It can add, skip, and reschedule tasks, and adjust your goal"],ctas:[{label:"Get started",href:"/signup"}],highlights:[{icon:Mt,label:"Connect it to your account.",body:"Point your AI client at your account, approve it once, and your assistant can see what you are working on, with your permission."},{icon:Ka,label:"A tutor that knows your gaps.",body:"Tell it where you are stuck and it pulls from the mistakes you have actually made, then builds practice aimed at those, not a generic worksheet."},{icon:Nt,label:"Exercises that land in your plan.",body:"What it writes renders as real exercises inside the app and drops into today's tasks, not a chat window you lose."}],discover:[{id:"study-plan",label:"Study plan",body:"The plan your AI reads from and adds tasks to."},{id:"grammar-drills",label:"Drills",body:"The exercise types your AI can generate on demand."},{id:"habit-building",label:"Habit building",body:"Your streak and the mistakes your AI works from."}],whyIBuilt:"I think a private AI tutor is where learning is going, and OWL just gives your own AI the context to be one. You make progress fastest by drilling the exact things you get wrong, not by doing more of what you already know. An AI that can see your mistakes can build that practice for you, on demand.",ctaHeading:"Connect your AI tutor."},"grammar-references":{id:"grammar-references",title:"Find the grammar rule you forgot, fast.",heading:"Find the grammar rule you forgot, fast",summary:"Clear tables for the parts of German you look up again and again: articles, cases, prepositions, adjective endings, verb conjugations, modal verbs, and the irregular verbs. They are free and open to anyone, so when a rule slips you can go 
3straight to it.",bullets:["Seven tables covering the grammar you reuse most","Articles, pronouns, prepositions, adjective endings, conjugations, modal verbs, irregular verbs","Always free","Mark the irregular verbs you know to see what is left"],ctas:[{label:"Start learning free",href:"/signup"},{label:"Browse the references",href:"/references"}],highlights:[{icon:Qa,label:"Built to scan, not to read.",body:"Each rule is laid out as a clean table, so you can see the pattern at a glance instead of digging it out of paragraphs."},{icon:xt,label:"The tables you reach for most.",body:"Seven of them, covering the corners of German that are easy to forget, from der, die, das endings to the strong-verb forms."},{icon:ga,label:"Track the irregular verbs.",body:"On the irregular-verb table you can mark the ones you have got, so you can see how many are still left to learn."}],discover:[{id:"grammar-drills",label:"Drills",body:"Practice the rule until you stop needing to look it up."},{id:"textbook",label:"Digital textbook",body:"The lessons where each rule is taught in context."},{id:"vocabulary",label:"Vocabulary",body:"Learn the words those rules act on."}],whyIBuilt:"I was tired of searching for the same tables, half of them in a book, half on downloaded images. I wanted them in one place, laid out cleanly, that I could pull up the moment I needed. So I built the references I kept looking for, and left them open to everyone.",ctaHeading:"Look up any rule, free."},"grammar-drills":{id:"grammar-drills",title:"Make German intuitive with interactive grammar drills.",heading:"Make German grammar automatic",summary:"Focused reps on the mechanical parts, verb conjugation, pronoun cases, and grammar patterns. Every mistake is tracked. The app feeds your weak spots back to you until the right form comes without thinking.",bullets:["Eight drill types, from verb conjugation to adjective endings","Verbs across three tenses and all six persons","Your mistakes tracked and grouped by type","A daily session that replays what you keep getting wrong"],ctas:[{label:"Try a drill",href:"/signup"}],highlights:[{icon:Pt,label:"Reps until it is automatic.",body:"Conjugation and case endings stop being something you work out and start being something you just know, once you have done enough of them. The drills get you there on purpose."},{icon:Fa,label:"Aimed at what you get wrong.",body:"The app remembers your mistakes and a daily session brings back the ones you miss most, grouped by type, so your practice lands where you actually need it."},{icon:Za,label:"Watch each pattern get stronger.",body:"Every drill shows how close you are to mastering it, from just warming up to solid, so you always know what still needs work."}],discover:[{id:"grammar-references",label:"Grammar references",body:"The rule behind the pattern, when a drill raises a question."},{id:"habit-building",label:"Habit building",body:"Watch your weak spots shrink as you keep at it."},{id:"vocabulary",label:"Vocabulary",body:"The words you conjugate and decline in the drills."}],whyIBuilt:"Grammar feels intuitive only after the forms become automatic, and forms become automatic through focused repetition with feedback, not through understanding alone. I also wanted all drill types in one place where I can quickly finish them, track my mistakes and focus on them.",ctaHeading:"Try a drill, free."},"exam-prep":{id:"exam-prep",title:"Walk into the Goethe exam ready.",heading:"Walk into the Goethe exam ready",summary:"Practice each part of the exam on its own, Reading, Listening, Writing, and Speaking, then sit a full mock exam under the real time limit. It is graded against the actual Goethe pass mark, and your writing comes back with AI feedback, so by exam day you have already been navigating the exam format comfortably.",bullets:["Practice for all four parts: Lesen, Hören, Schreiben, Sprechen","A full mock exam under the real time limit","Graded against the real Goethe pass mark","AI feedback on your writing tasks"],ctas:[{label:"Start the course free",href:"/signup"}],highlights:[{icon:Ya,label:"One part at a time first.",body:"Build up Reading, Listening, Writing on their own, so a weak section gets real attention instead of hiding inside a full paper."},{icon:Ra,label:"Then the whole thing, on the clock.",body:"A complete mock runs the parts together in the real order, under the real time limit, so the pace is familiar before it counts."},{icon:It,label:"Marked like the real exam, with feedback.",body:"You are scored against the actual pass mark, and your written answers come back with AI feedback on what to fix."}],discover:[{id:"grammar-drills",label:"Drills",body:"Tighten the grammar the writing tasks will test."},{id:"habit-building",label:"Habit building",body:"Keep your prep steady in the run-up."},{id:"study-plan",label:"Study plan",body:"A plan that paces your prep to the exam date."}],whyIBuilt:"The exam is not only a test of your German, it is a test of whether you know the format and can hold the pace. The first time you do it should not be on the day. So I built full mock exams that match the real thing, timing and all, and added feedback on the writing, which is the hardest part to judge on your own. Sit one or tw
3o and the real exam feels like one more session.",ctaHeading:"Start preparing for your exam."},"habit-building":{id:"habit-building",title:"Stay consistent, and watch it add up.",heading:"Stay consistent, and watch it add up",summary:"A small daily minimum that is easy to hit, a target for a good day, and a grid that fills in as you study. The same home screen shows what you have learned and what is due today, and keeps your reason for learning in front of you. The whole point is consistency, because months of small sessions are what move you forward, not the occasional big weekend.",bullets:["A daily minimum small enough to hit on a bad day","A streak grid you watch fill in, day after day","Words learned and what is due for review today, at a glance","Where you are in the course right now","Your reason for learning, kept where you will see it"],ctas:[{label:"Start learning free",href:"/signup"}],highlights:[{icon:Tt,label:"A floor low enough to start.",body:"The daily minimum is small on purpose. Starting is the hard part, so a low bar means you still show up on the days you do not feel like it."},{icon:Wa,label:"A streak you do not want to break.",body:"A grid marks every day you study, lightly when you hit the floor, fully when you hit your goal, so a run of good days turns into something you want to keep going."},{icon:Va,label:"See it adding up.",body:"The same screen shows the words you have learned, what is due today, and where you are in the course, so your effort stops being a feeling and becomes something you can point at."}],discover:[{id:"study-plan",label:"Study plan",body:"Knows what each daily session should hold."},{id:"apps",label:"Apps",body:"Hit your daily minimum from anywhere, on any device."},{id:"grammar-drills",label:"Drills",body:"Practice the weak spots your numbers surface."}],whyIBuilt:"I have started learning German more times than I can count and quit just as often, never because the lessons were bad, but because I stopped showing up. And when I could not see myself getting anywhere, it was even easier to quit. So I built the part that keeps me going: a daily floor low enough to clear on a bad day, a streak I do not want to break, my reason for doing this where I can see it, and the honest numbers that show the words adding up.",ctaHeading:"Start your streak today."}},Ca={sources:{avif:"/_app/immutable/assets/grammar-thumb.BfiLktWH.avif 350w, /_app/immutable/assets/grammar-thumb.CNJ2ipfS.avif 700w",webp:"/_app/immutable/assets/grammar-thumb.CwIgiF9M.webp 350w, /_app/immutable/assets/grammar-thumb.DE4VW3M3.webp 700w",png:"/_app/immutable/assets/grammar-thumb.Be8Il_WT.png 350w, /_app/immutable/assets/grammar-thumb.DyraoKYP.png 700w"},img:{src:"/_app/immutable/assets/grammar-thumb.DyraoKYP.png",w:700,h:700}},Ba={sources:{avif:"/_app/immutable/assets/extension-thumb.DdG_dr9y.avif 350w, /_app/immutable/assets/extension-thumb.BQcvosBQ.avif 700w",webp:"/_app/immutable/assets/extension-thumb.DnB8ZILH.webp 350w, /_app/immutable/assets/extension-thumb.ssHlceM2.webp 700w",png:"/_app/immutable/assets/extension-thumb.DwtGmqZJ.png 350w, /_app/immutable/assets/extension-thumb.r0MQ55bd.png 700w"},img:{src:"/_app/immutable/assets/extension-thumb.r0MQ55bd.png",w:700,h:700}},Aa={sources:{avif:"/_app/immutable/assets/exam-thumb.DK77os8T.avif 350w, /_app/immutable/assets/exam-thumb.Db2couve.avif 700w",webp:"/_app/immutable/assets/exam-thumb.DCIG6LT2.webp 350w, /_app/immutable/assets/exam-thumb.S2MBFro_.webp 700w",png:"/_app/immutable/assets/exam-thumb.ClAGOHKB.png 350w, /_app/immutable/assets/exam-thumb.0NaoAomP.png 700w"},img:{src:"/_app/immutable/assets/exam-thumb.0NaoAomP.png",w:700,h:700}},Ia={sources:{avif:"/_app/immutable/assets/habit-loop-thumb.DLwUkzOt.avif 350w, /_app/immutable/assets/habit-loop-thumb.a-2Qxj-q.avif 700w",webp:"/_app/immutable/assets/habit-loop-thumb.Dg3TaR4q.webp 350w, /_app/immutable/assets/habit-loop-thumb.DFi9GNdO.webp 700w",png:"/_app/immutable/assets/habit-loop-thumb.Dmcove_W.png 350w, /_app/immutable/assets/habit-loop-thumb.DPeCo2nD.png 700w"},img:{src:"/_app/immutable/assets/habit-loop-thumb.DPeCo2nD.png",w:700,h:700}};var Dr=n('<img alt=""/>'),Gr=n('<source sizes="24rem"/>'),Lr=n('<picture><!> <img alt=""/></picture>'),Or=n('<div class="sec-frame svelte-nlics9"><div class="sec-panel svelte-nlics9"><!></div></div>'),Mr=n('<div class="sec-slide svelte-nlics9"><!></div>'),Er=n(`<header class="sec-header svelte-nlics9"><h2 class="m-0 text-primary">And a few more essentials</h2> <p class="sec-sub text-secondary svelte-nlics9">
3The supporting tools that round out your German — free grammar references, the browser
4			extension, Goethe exam prep, and the daily habit that keeps you going.</p></header> <!>`,1);function Pr(d,s){Ie(s,!0);const m=[{id:"grammar-references",thumb:Ca},{id:"browser-extension",thumb:Ba},{id:"exam-prep",thumb:Aa},{id:"habit-building",thumb:Ia}];aa(d,{bg:"bg-tertiary",rules:["top","left","right"],children:(_,Q)=>{var C=Er(),S=i(N(C),2);ja(S,{itemSelector:":scope > .sec-slide",centerNav:!0,children:(z,j)=>{var A=ae(),w=N(A);q(w,17,()=>m,D=>D.id,(D,L)=>{var Z=Mr(),te=r(Z);je(te,{get id(){return e(L).id},get title(){return xa[e(L).id].title},get onExpand(){return s.onExpand},minHeight:"22rem",media:Y=>{var M=Or(),V=r(M),E=r(V);{var oe=F=>{var K=ae(),re=N(K);{var v=b=>{var y=Dr();l(()=>o(y,"src",e(L).thumb)),a(b,y)};$(re,b=>{b(v,-1)})}a(F,K)},U=F=>{var K=Lr(),re=r(K);q(re,17,()=>Object.entries(e(L).thumb.sources),ue,(b,y)=>{var p=X(()=>ve(e(y),2));let h=()=>e(p)[0],B=()=>e(p)[1];var P=Gr();l(()=>{o(P,"srcset",B()),o(P,"type","image/"+h())}),a(b,P)});var v=i(re,2);t(K),l(()=>{o(v,"src",e(L).thumb.img.src),o(v,"width",e(L).thumb.img.w),o(v,"height",e(L).thumb.img.h)}),a(F,K)};$(E,F=>{typeof e(L).thumb=="string"?F(oe):F(U,-1)})}t(V),t(M),a(Y,M)},$$slots:{media:!0}}),t(Z),a(D,Z)}),a(z,A)},$$slots:{default:!0}}),a(_,C)},$$slots:{default:!0}}),$e()}const Hr={sources:{avif:"/_app/immutable/assets/app-cover.hwIlpcQQ.avif 1129w, /_app/immutable/assets/app-cover.BrlKb3KX.avif 2258w",webp:"/_app/immutable/assets/app-cover.Bod_4BoL.webp 1129w, /_app/immutable/assets/app-cover.COlOGS_P.webp 2258w",png:"/_app/immutable/assets/app-cover.DdaG-g9z.png 1129w, /_app/immutable/assets/app-cover.D4tF4r0T.png 2258w"},img:{src:"/_app/immutable/assets/app-cover.D4tF4r0T.png",w:2258,h:1588}},Nr={sources:{avif:"/_app/immutable/assets/textbook-cover.BSeN3DBA.avif 1130w, /_app/immutable/assets/textbook-cover.DPZs4jk3.avif 2259w",webp:"/_app/immutable/assets/textbook-cover.B5XoiQ1s.webp 1130w, /_app/immutable/assets/textbook-cover.CsKVJov3.webp 2259w",png:"/_app/immutable/assets/textbook-cover.D64loOQp.png 1130w, /_app/immutable/assets/textbook-cover.Bby0N0Oq.png 2259w"},img:{src:"/_app/immutable/assets/textbook-cover.Bby0N0Oq.png",w:2259,h:1588}},zr={sources:{avif:"/_app/immutable/assets/vocabulary-cover.BA-Lo6Gq.avif 1130w, /_app/immutable/assets/vocabulary-cover.S-479Mnn.avif 2259w",webp:"/_app/immutable/assets/vocabulary-cover.w6_aeUoA.webp 1130w, /_app/immutable/assets/vocabulary-cover.BM4WlqvW.webp 2259w",png:"/_app/immutable/assets/vocabulary-cover.DKvPO2Rm.png 1130w, /_app/immutable/assets/vocabulary-cover.Dkgf4g6S.png 2259w"},img:{src:"/_app/immutable/assets/vocabulary-cover.Dkgf4g6S.png",w:2259,h:1524}},jr={sources:{avif:"/_app/immutable/assets/extension-cover.Bp0-0mTi.avif 1130w, /_app/immutable/assets/extension-cover.BBxyVdLp.avif 2259w",webp:"/_app/immutable/assets/extension-cover.PQS8LokZ.webp 1130w, /_app/immutable/assets/extension-cover.BIl5tK7-.webp 2259w",png:"/_app/immutable/assets/extension-cover.BtGul9Dd.png 1130w, /_app/immutable/assets/extension-cover.CqtGTiVL.png 2259w"},img:{src:"/_app/immutable/assets/extension-cover.CqtGTiVL.png",w:2259,h:1500}},Wr={sources:{avif:"/_app/immutable/assets/grammar-cover.DNUhuR66.avif 1130w, /_app/immutable/assets/grammar-cover.CclVAdoS.avif 2259w",webp:"/_app/immutable/assets/grammar-cover.B10ZUIOB.webp 1130w, /_app/immutable/assets/grammar-cover.BWDhzrvZ.webp 2259w",png:"/_app/immutable/assets/grammar-cover.BawtuQbK.png 1130w, /_app/immutable/assets/grammar-cover.ngTtnS6F.png 2259w"},img:{src:"/_app/immutable/assets/grammar-cover.ngTtnS6F.png",w:2259,h:1526}},Vr={sources:{avif:"/_app/immutable/assets/drill-cover.CPYzcamO.avif 1130w, /_app/immutable/assets/drill-cover.BBCAyfqd.avif 2259w",webp:"/_app/immutable/assets/drill-cover.UZiCT_va.webp 1130w, /_app/immutable/assets/drill-cover.aYpioR53.webp 2259w",png:"/_app/immutable/assets/drill-cover.CM6I-uT2.png 1130w, /_app/immutable/assets/drill-cover.BK8hDAy-.png 2259w"},img:{src:"/_app/immutable/assets/drill-cover.BK8hDAy-.png",w:2259,h:1588}},Yr={sources:{avif:"/_app/immutable/assets/exam-cover.8nszBJMR.avif 1130w, /_app/immutable/assets/exam-cover.DkEbz_b9.avif 2259w",webp:"/_app/immutable/assets/exam-cover.SC4k0dO8.webp 1130w, /_app/immutable/assets/exam-cover.rZxXvn3N.webp 2259w",png:"/_app/immutable/assets/exam-cover.5CMbeTwQ.png 1130w, /_app/immutable/assets/exam-cover.DyZrsNMn.png 2259w"},img:{src:"/_app/immutable/assets/exam-cover.DyZrsNMn.png",w:2259,h:1524}},Rr={sources:{avif:"/_app/immutable/assets/habit-loop-cover.CUukiBjf.avif 1130w, /_app/immutable/assets/habit-loop-cover.Dcw6oJfh.avif 2259w",webp:"/_app/immutable/assets/habit-loop-cover.Du4KO1za.webp 1130w, /_app/immutable/assets/habit-loop-cover.YQzNsnw1.webp 2259w",png:"/_app/immutable/assets/habit-loop-cover.CuX2cUTU.png 1130w, /_app/immutable/assets/habit-loop-cover.B2lbLbrc.png 2259w"},img:{src:"/_app/immutable/assets/habit-loop-cover.B2lbLbrc.png",w:2259,h:1290}},Fr={sources:{avif:"/_app/immutable/assets/mcp-cover.CYmMDj_H.avif 1130w, /_app/immutable/assets/mcp-cover.B3HtfwH2.avif 2259w",webp:"/_app/immutable/assets/mcp-cover.ByR04sFW.webp 1130w, /_app/immutable/assets/mcp-cover.Cst01Kl_.webp 2259w",png:"/_app/immutable/assets/mcp-cover.Dcdptzz5.png 1130w, /_app/immutable/assets/mcp-cover.CLGh1k74.png 2259w"},img:{src:"/_app/immutable/assets/mcp-cover.CLGh1k74.png",w:2259,h:1968}},qr={sources:{avif:"/_app/immutable/assets/app-thumb.DtkINX1T.avif 350w, /_app/immutable/assets/app-thumb.BH-EInES.avif 700w",webp:"/_app/immutable/assets/app-thumb.VdpSaAqc.webp 350w, /_app/immutable/assets/app-thumb.DVO4wQY9.webp 700w",png:"/_app/immutable/assets/app-thumb.DOTtcvd1.png 350w, /_app/immutable/assets/app-thumb.DBZcQ16Z.png 700w"},img:{src:"/_app/immutable/assets/app-thumb.DBZcQ16Z.png",w:700,h:700}},Zr={sources:{avif:"/_app/immutable/assets/study-plan-thumb.BeqCIJai.avif 350w, /_app/immutable/assets/study-plan-thumb.BFGGktmR.avif 700w",webp:"/_app/immutable/assets/study-plan-thumb.Z3HeXFW-.webp 350w, /_app/immutable/assets/study-plan-thumb.Rqd_-HBA.webp 700w",png:"/_app/immutable/assets/study-plan-thumb.XCagRRGx.png 350w, /_app/immutable/assets/study-plan-thumb.Cs-oreot.png 700w"},img:{src:"/_app/immutable/assets/study-plan-thumb.Cs-oreot.png",w:700,h:700}},Qr={sources:{avif:"/_app/immutable/assets/textbook-thumb.KoDqRFZE.avif 350w, /_app/immutable/assets/textbook-thumb.GqEOyo9p.avif 700w",webp:"/_app/immutable/assets/textbook-thumb.QSufQuZ4.webp 350w, /_app/immutable/assets/textbook-thumb.C6RY3HtB.webp 700w",png:"/_app/immutable/assets/textbook-thumb.MvCBksBJ.png 350w, /_app/immutable/assets/textbook-thumb.DS4sjpn9.png 700w"},img:{src:"/_app/immutable/assets/textbook-thumb.DS4sjpn9.png",w:700,h:700}},Kr={sources:{avif:"/_app/immutable/assets/vocabulary-thumb.CwTaBNP4.avif 350w, /_app/immutable/assets/vocabulary-thumb.l88HWgLt.avif 700w",webp:"/_app/immutable/assets/vocabulary-thumb.DRcfOJN7.webp 350w, /_app/immutable/assets/vocabulary-thumb.BIElAXOL.webp 700w",png:"/_app/immutable/assets/vocabulary-thumb.yPone17S.png 350w, /_app/immutable/assets/vocabulary-thumb.CuVQWzVV.png 700w"},img:{src:"/_app/immutable/assets/vocabulary-thumb.CuVQWzVV.png",w:700,h:700}},Ur={sources:{avif:"/_app/immutable/assets/mcp-thumb.CXYvXn-Z.avif 350w, /_app/immutable/assets/mcp-thumb.DjQGpgwo.av
4if 700w",webp:"/_app/immutable/assets/mcp-thumb.k97IppBK.webp 350w, /_app/immutable/assets/mcp-thumb.DBtvDPS2.webp 700w",png:"/_app/immutable/assets/mcp-thumb.BAfyEcOF.png 350w, /_app/immutable/assets/mcp-thumb.BIRiIUbV.png 700w"},img:{src:"/_app/immutable/assets/mcp-thumb.BIRiIUbV.png",w:700,h:700}},Jr={sources:{avif:"/_app/immutable/assets/drill-thumb.B2bb6GHC.avif 350w, /_app/immutable/assets/drill-thumb.BZ_tX5S_.avif 700w",webp:"/_app/immutable/assets/drill-thumb.CGkEmlyO.webp 350w, /_app/immutable/assets/drill-thumb.DSVPsQyd.webp 700w",png:"/_app/immutable/assets/drill-thumb.R7sIVMIi.png 350w, /_app/immutable/assets/drill-thumb.BaCAAmVP.png 700w"},img:{src:"/_app/immutable/assets/drill-thumb.BaCAAmVP.png",w:700,h:700}};var Xr=n("<!> <!>",1),es=n('<li class="fd-row svelte-1rbkfos"><!> <span> </span></li>'),ha=n('<img alt=""/>'),as=n('<source sizes="(min-width: 64rem) 74rem, 100vw"/>'),va=n('<picture><!> <img alt=""/></picture>'),ts=n('<div class="fd-cover svelte-1rbkfos"><!></div>'),rs=n('<div class="fd-hl svelte-1rbkfos"><span class="fd-hl-icon svelte-1rbkfos"><!></span> <p class="svelte-1rbkfos"><strong class="svelte-1rbkfos"> </strong> </p></div>'),ss=n('<source sizes="24rem"/>'),os=n('<button class="fd-disc-card svelte-1rbkfos" type="button"><span class="fd-disc-visual svelte-1rbkfos"><!></span> <span class="text-[0.9375rem] leading-[1.55] text-secondary"> </span> <span class="fd-link svelte-1rbkfos"> <!></span></button>'),is=n('<div><div class="fd-handle svelte-1rbkfos" aria-hidden="true"><span class="fd-grip svelte-1rbkfos"></span></div> <!> <div class="fd-page svelte-1rbkfos"><header class="fd-head svelte-1rbkfos"><div class="flex flex-col gap-6"><!> <div class="fd-ctas svelte-1rbkfos"></div></div> <ul class="list-none p-0 m-0 flex flex-col gap-4 pt-2"></ul></header> <!> <section class="fd-highlights svelte-1rbkfos"></section> <section class="fd-discover"><h3 class="fd-section-title svelte-1rbkfos">More to discover</h3> <div class="fd-discover-grid svelte-1rbkfos"></div></section> <section class="fd-why svelte-1rbkfos"><h3 class="fd-section-title svelte-1rbkfos">Why I built this</h3> <p class="m-0 max-w-[46rem] text-[clamp(1.0625rem,1.4vw,1.25rem)] leading-[1.6] text-secondary"> </p></section> <section class="fd-closing svelte-1rbkfos"><h3 class="m-0 text-[clamp(1.375rem,2.4vw,2rem)] font-medium tracking-[-0.02em] text-primary"> </h3> <div class="fd-ctas justify-center svelte-1rbkfos"></div></section></div></div>'),ns=n('<div class="fd-scroll svelte-1rbkfos" role="presentation"><!></div>');function ls(d,s){Ie(s,!0);const m=X(()=>s.activeId?xa[s.activeId]:null),_={apps:Hr,"study-plan":qa,textbook:Nr,vocabulary:zr,"browser-extension":jr,"connect-ai":Fr,"grammar-references":Wr,"grammar-drills":Vr,"exam-prep":Yr,"habit-building":Rr},Q={apps:qr,"study-plan":Zr,textbook:Qr,vocabulary:Kr,"browser-extension":Ba,"connect-ai":Ur,"grammar-references":Ca,"grammar-drills":Jr,"exam-prep":Aa,"habit-building":Ia},C=X(()=>s.activeId?_[s.activeId]:null);let S=De(void 0);oa(()=>{s.activeId,e(S)?.scrollTo({top:0})});function z(I){I.target===I.currentTarget&&s.onOpenChange(!1)}let j=De(void 0),A=De(0),w=De(!1),D=0,L=!1;oa(()=>{const I=e(j);if(!I)return;function Y(E){E.touches.length===1&&(D=E.touches[0].clientY,L=I.scrollTop<=0,ce(A,0),ce(w,!1))}function M(E){if(!L)return;const oe=E.touches[0].clientY-D;oe>0?(ce(w,!0),ce(A,oe),E.preventDefault()):(ce(w,!1),ce(A,0))}function V(){if(!e(w)){ce(A,0);return}ce(w,!1),e(A)>120?s.onOpenChange(!1):ce(A,0)}return I.addEventListener("touchstart",Y,{passive:!0}),I.addEventListener("touchmove",M,{passive:!1}),I.addEventListener("touchend",V),I.addEventListener("touchcancel",V),()=>{I.removeEventListener("touchstart",Y),I.removeEventListener("touchmove",M),I.removeEventListener("touchend",V),I.removeEventListener("touchcancel",V)}}),oa(()=>{if(s.open)return;const I=setTimeout(()=>ce(A,0),250);return()=>clearTimeout(I)});var Z=ae(),te=N(Z);Te(te,()=>it,(I,Y)=>{Y(I,{get open(){return s.open},get onOpenChange(){return s.onOpenChange},children:(M,V)=>{var E=ae(),oe=N(E);Te(oe,()=>ot,(U,F)=>{F(U,{class:"feature-dialog light p-0",showCloseButton:!1,children:(K,re)=>{var v=ns(),b=r(v);{var y=p=>{var h=is();let B,P;var c=i(r(h),2);Xe(c,{variant:"ghost",size:"icon",class:"fd-close absolute top-4 right-4 z-10 text-secondary","aria-label":"Close",onclick:()=>s.onOpenChange(!1),children:(O,H)=>{ct(O,{})},$$slots:{default:!0}});var u=i(c,2),g=r(u),f=r(g),k=r(f);Te(k,()=>lt,(O,H)=>{H(O,{class:"text-left p-0 gap-4",children:(se,ie)=>{var ne=Xr(),le=N(ne);Te(le,()=>nt,(me,he)=>{he(me,{class:"fd-title",children:(de,we)=>{fe();var ge=Se();l(()=>J(ge,e(m).heading)),a(de,ge)},$$slots:{default:!0}})});var ee=i(le,2);Te(ee,()=>mt,(me,he)=>{he(me,{class:"fd-summary",children:(de,we)=>{fe();var ge=Se();l(()=>J(ge,e(m).summary)),a(de,ge)},$$slots:{default:!0}})}),a(se,ne)},$$slots:{default:!0}})});var x=i(k,2);q(x,23,()=>e(m).ctas,O=>O.label,(O,H,se)=>{{let ie=X(()=>e(se)===0?"brand":"outline");Xe(O,{get href(){return e(H).href},size:"lg",get variant(){return e(ie)},children:(ne,le)=>{fe();var ee=Se();l(()=>J(ee,e(H).label)),a(ne,ee)},$$slots:{default:!0}})}}),t(x),t(f);var T=i(f,2);q(T,20,()=>e(m).bullets,O=>O,(O,H)=>{var se=es(),ie=r(se);dt(ie,{size:18,class:"fd-check"});var ne=i(ie,2),le=r(ne,!0);t(ne),t(se),l(()=>J(le,H)),a(O,se)}),t(T),t(g);var W=i(g,2);{var R=O=>{var H=ts(),se=r(H);{var ie=le=>{var ee=ae(),me=N(ee);{var he=de=>{var we=ha();l(()=>o(we,"src",e(C))),a(de,we)};$(me,de=>{de(he,-1)})}a(le,ee)},ne=le=>{var ee=va(),me=r(ee);q(me,17,()=>Object.entries(e(C).sources),ue,(de,we)=>{var ge=X(()=>ve(e(we),2));let Ce=()=>e(ge)[0],Be=()=>e(ge)[1];var Ae=as();l(()=>{o(Ae,"srcset",Be()),o(Ae,"type","image/"+Ce())}),a(de,Ae)});var he=i(me,2);t(ee),l(()=>{o(he,"src",e(C).img.src),o(he,"width",e(C).img.w),o(he,"height",e(C).img.h)}),a(le,ee)};$(se,le=>{typeof e(C)=="string"?le(ie):le(ne,-1)})}t(H),a(O,H)};$(W,O=>{e(C)&&O(R)})}var G=i(W,2);q(G,21,()=>e(m).highlights,O=>O.label,(O,H)=>{const se=X(()=>e(H).icon);var ie=rs(),ne=r(ie),le=r(ne);Te(le,()=>e(se),(we,ge)=>{ge(we,{size:20})}),t(ne);var ee=i(ne,2),me=r(ee),he=r(me,!0);t(me);var de=i(me);t(ee),t(ie),l(()=>{J(he,e(H).label),J(de,` ${e(H).body??""}`)}),a(O,ie)}),t(G);var be=i(G,2),xe=i(r(be),2);q(xe,21,()=>e(m).discover,O=>O.id,(O,H)=>{var se=os(),ie=r(se),ne=r(ie);{var le=Ce=>{var Be=ae(),Ae=N(Be);{var Re=Fe=>{var Ke=ha();l(()=>o(Ke,"src",Q[e(H).id])),a(Fe,Ke)};$(Ae,Fe=>{Fe(Re,-1)})}a(Ce,Be)},ee=Ce=>{var Be=va(),Ae=r(Be);q(Ae,17,()=>Object.entries(Q[e(H).id].sources),ue,(Fe,Ke)=>{var da=X(()=>ve(e(Ke),2));let Ta=()=>
4e(da)[0],Sa=()=>e(da)[1];var sa=ss();l(()=>{o(sa,"srcset",Sa()),o(sa,"type","image/"+Ta())}),a(Fe,sa)});var Re=i(Ae,2);t(Be),l(()=>{o(Re,"src",Q[e(H).id].img.src),o(Re,"width",Q[e(H).id].img.w),o(Re,"height",Q[e(H).id].img.h)}),a(Ce,Be)};$(ne,Ce=>{typeof Q[e(H).id]=="string"?Ce(le):Ce(ee,-1)})}t(ie);var me=i(ie,2),he=r(me,!0);t(me);var de=i(me,2),we=r(de),ge=i(we);ya(ge,{size:16,class:"fd-link-arrow"}),t(de),t(se),l(()=>{J(he,e(H).body),J(we,`Explore ${e(H).label??""}`)}),Ze("click",se,()=>s.onSelect(e(H).id)),a(O,se)}),t(xe),t(be);var pe=i(be,2),Qe=i(r(pe),2),Ye=r(Qe,!0);t(Qe),t(pe);var ma=i(pe,2),ra=r(ma),$a=r(ra,!0);t(ra);var ca=i(ra,2);q(ca,23,()=>e(m).ctas,O=>O.label,(O,H,se)=>{{let ie=X(()=>e(se)===0?"brand":"outline");Xe(O,{get href(){return e(H).href},size:"lg",get variant(){return e(ie)},children:(ne,le)=>{fe();var ee=Se();l(()=>J(ee,e(H).label)),a(ne,ee)},$$slots:{default:!0}})}}),t(ca),t(ma),t(u),t(h),pa(h,O=>ce(j,O),()=>e(j)),l(()=>{B=We(h,1,"fd-panel bg-primary border border-secondary svelte-1rbkfos",null,B,{"fd-dragging":e(w)}),P=la(h,"",P,{transform:`translateY(${e(A)??""}px)`}),J(Ye,e(m).whyIBuilt),J($a,e(m).ctaHeading)}),a(p,h)};$(b,p=>{e(m)&&p(y)})}t(v),pa(v,p=>ce(S,p),()=>e(S)),Ze("click",v,z),a(K,v)},$$slots:{default:!0}})}),a(M,E)},$$slots:{default:!0}})}),a(d,Z),$e()}ta(["click"]);var ms=La('<svg viewBox="10.44 13.26 213.5 227.8" preserveAspectRatio="xMinYMax meet" fill="currentColor" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><path d="M139.367 141.483C140.35 140.733 141.783 139.56 142.841 139.026L139.819 142.192L139.367 141.483Z"></path><path d="M147.286 13.2656C150.697 15.0844 153.979 17.0264 157.475 18.8506C178.206 29.67 206.977 33.0072 218.884 55.5898C223.78 64.8771 225 71.1562 223 78.1562C218.5 76.6562 213.216 72.1766 209.709 79.3711C207.38 84.1496 212.118 90.9454 213.714 95.7031C217.857 108.053 217.482 120.63 214.403 133.186C209.777 150.334 198.215 164.8 187.67 178.667C182.65 185.211 178.06 191.717 174.632 199.258C170.742 207.812 168.796 221.678 176.164 228.913C181.395 234.049 189.381 231.827 195.562 234.132C198.429 235.202 199.827 237.812 200.816 240.489C194.442 240.817 186.621 240.626 180.11 240.626L144.432 240.586C147.227 233.579 148.319 234.779 155.044 233.217C155.305 233.069 155.563 232.914 155.818 232.757C161.356 229.287 158.446 222.282 155.771 217.979C150.971 210.261 143.468 212.242 138.317 218.225C132.633 224.827 129.651 232.213 127.879 240.584L54 241.041C63 234.656 79 223.656 91 215.656C119.5 197.156 175.489 163.453 182.406 131.04C184.376 119.056 183.608 106.691 176.299 96.7158C168.175 85.6284 153.631 79.1824 140.361 76.9756C139.728 68.9348 141.013 60.8577 144.109 53.4102C146.71 47.1762 153.431 38.4488 159.732 35.8418C153.523 30.8945 147.112 21.5266 147.286 13.2656ZM183.54 43.0273C180.858 45.7205 179.394 49.7869 179.398 53.5645C179.384 57.6438 181.01 61.5576 183.91 64.4268C186.883 67.3761 190.535 68.845 194.699 68.8291C197.492 68.8137 200.241 68.1336 202.72 66.8467C204.252 66.3164 207.088 67.637 208.904 68.0723C208.788 51.7505 197.652 46.8552 183.54 43.0273Z"></path><path d="M194.827 50.4071C197.281 50.7028 199.382 52.3042 200.317 54.5918C201.252 56.8793 200.875 59.494 199.331 61.4239C197.787 63.3536 195.319 64.2958 192.882 63.886C189.234 63.2722 186.743 59.8581 187.271 56.1964C187.799 52.5346 191.154 49.9644 194.827 50.4071Z"></path><path d="M109.499 84.6566C128.499 80.6563 156.603 82.2793 170.904 97.6886C188.113 116.233 170.999 146.156 156.377 156.449C136.999 172.156 113.999 185.656 93.4986 198.656C69.4986 213.656 43.4986 227.656 20.9986 240.375C16.5907 240.825 15.5745 240.602 10.5905 240.595C10.9974 229.144 10.7793 216.163 10.6275 204.649C45.5 183.656 83.5 158.656 117 144.656C89.9613 149.427 32.4831 184.628 10.4982 197.156C10.4971 189.23 10.2879 171.342 10.6811 162.871C10.8872 158.435 10.7619 153.305 10.5163 148.857C18.3599 144.843 25.3743 141.304 33.7622 137.928C52.4635 130.399 114 104.156 150 104.656C117 94.6562 48.3631 123.749 27.5915 129.893C21.6585 131.648 16.3887 133.522 10.5778 135.42C10.6828 133.821 10.6805 132.083 10.6612 130.473C10.6612 127.656 10.6203 123.656 10.6203 118.656C14.8133 117.38 19.4986 114.656 24.0063 112.156C41.4986 105.656 54.9986 99.6564 71.4242 95.1564C85.4986 90.1564 94.4986 87.6564 109.499 84.6566Z"></path></svg>');function cs(d,s){var m=ms();l(()=>We(m,0,na(s.class),"svelte-vxqspb")),a(d,m)}var ds=n('<a class="footer-link svelte-1py0bvb" target="_blank" rel="noopener noreferrer"> </a>'),us=n('<a class="footer-link svelte-1py0bvb"> </a>'),ps=n("<li><!></li>"),hs=n('<div class="footer-col"><h2 class="footer-col-title text-primary svelte-1py0bvb"> </h2> <ul class="list-none m-0 p-0 flex flex-col"></ul></div>'),vs=n('<a class="footer-legal-link svelte-1py0bvb"> </a>'),bs=n('<footer class="bg-tertiary"><div class="footer-panel container-large svelte-1py0bvb"><div class="footer-main svelte-1py0bvb"><a href="/" class="footer-owl-wrap svelte-1py0bvb" aria-label="One Who Learns — Home"><!></a> <nav class="footer-cols svelte-1py0bvb" aria-label="Footer"></nav></div></div> <div class="bg-tertiary border-t border-primary"><div class="footer-bottom padding-global container-large svelte-1py0bvb"><p class="m-0 text-tertiary text-[0.875rem]">Built by Maray &amp; Claude &middot;
4 &copy; 2026 One Who Learns</p> <div class="flex flex-wrap items-center gap-5"><!> <button type="button" class="footer-legal-link footer-legal-btn svelte-1py0bvb">Cookies Settings</button></div></div></div></footer>');function gs(d,s){Ie(s,!1);const m=[{title:"Learn",links:[{label:"Learn Hub",href:"/learn"},{label:"Vocabulary Lists",href:"/vocabulary"},{label:"Grammar Guides",href:"/learn/grammar"},{label:"Learning Methods",href:"/learn/methods"},{label:"Writing Guides",href:"/learn/writing"},{label:"Reference Tables",href:"/references"},{label:"Blog",href:"/blog"}]},{title:"Practice",links:[{label:"Free Language Tools",href:"/tools"},{label:"Level test",href:"/tools/level-test"},{label:"Citizenship Test",href:"/einbuergerungstest"},{label:"Articles - der/die/das",href:"/tools/articles"},{label:"Case Trainer",href:"/tools/cases"},{label:"Verb Conjugation Practice",href:gt}]},{title:"Courses",links:[{label:"All German Courses",href:"/courses"},{label:"German A1 - Beginner",href:"/courses/a1-german"},{label:"German A2 - Elementary",href:"/courses/a2-german"},{label:"German B1 - Intermediate",href:"/courses/b1-german"}]},{title:"Company",links:[{label:"Follow us on Instagram",href:ht,external:!0},{label:"Follow us on TikTok",href:vt,external:!0},{label:"Apps & Extensions",href:"/apps"},{label:"Changelog",href:"/changelog"},{label:"Contact",href:"/contact"}]}],_=[{label:"Privacy Policy",href:"/privacy"},{label:"Terms of Service",href:"/terms"},{label:"Imprint",href:"/imprint"}];function Q(){pt.set(!0)}wa();var C=bs(),S=r(C),z=r(S),j=r(z),A=r(j);cs(A,{class:"footer-owl"}),t(j);var w=i(j,2);q(w,5,()=>m,Y=>Y.title,(Y,M)=>{var V=hs(),E=r(V),oe=r(E,!0);t(E);var U=i(E,2);q(U,5,()=>e(M).links,F=>F.href,(F,K)=>{var re=ps(),v=r(re);{var b=p=>{var h=ds(),B=r(h,!0);t(h),l(()=>{o(h,"href",e(K).href),J(B,e(K).label)}),a(p,h)},y=p=>{var h=us(),B=r(h,!0);t(h),l(()=>{o(h,"href",e(K).href),J(B,e(K).label)}),a(p,h)};$(v,p=>{e(K).external?p(b):p(y,-1)})}t(re),a(F,re)}),t(U),t(V),l(()=>J(oe,e(M).title)),a(Y,V)}),t(w),t(z),t(S);var D=i(S,2),L=r(D),Z=i(r(L),2),te=r(Z);q(te,1,()=>_,Y=>Y.href,(Y,M)=>{var V=vs(),E=r(V,!0);t(V),l(()=>{o(V,"href",e(M).href),J(E,e(M).label)}),a(Y,V)});var I=i(te,2);t(Z),t(L),t(D),t(C),Ze("click",I,Q),a(d,C),$e()}ta(["click"]);const fs=_a.reduce((d,s)=>d+s.unit_count,0),ws=_a.find(d=>d.code==="a1")?.unit_count??0,ys=`${Ve.monthly.currency} ${Ve.monthly.amount}/${Ve.monthly.interval}`,_s=`${Ve.annual.currency} ${Ve.annual.amount}/${Ve.annual.interval}`,ba=[{id:"teaches-speaking",question:"Does it teach speaking?",answer:"No — and we're upfront about that. One Who Learns covers reading, listening, writing, grammar, and vocabulary. For speaking, you need a conversation partner."},{id:"vs-duolingo-babbel",question:"How is this different from Duolingo or Babbel?",answer:`Duolingo teaches conversational phrases through pattern matching. One Who Learns is a structured curriculum — ${fs} Lektionen with grammar theory that explains rules before you practice.`},{id:"already-have-tutor",question:"I already have a tutor. Do I need this too?",answer:"Your tutor gives you 1–2 hours per week. One Who Learns handles the other 5–10 hours of structured self-study with instant feedback between sessions."},{id:"will-i-keep-using-it",question:"What if I stop using it like I stopped using everything else?",answer:"A1 is free forever. The curriculum is broken into 10–15 minute sections. Even sporadic usage builds retention through spaced repetition."},{id:"how-much-does-it-cost",question:"How much does it cost?",answer:`A1 (${ws} Lektionen) is free forever. A2 and B1 are ${ys} or ${_s}.`},{id:"is-the-content-accurate",question:"Is the content accurate?",answer:"The curriculum follows Hueber Motive, used in German universities. Exercise types map to the Goethe B1 exam format."}];var ks=n('<link rel="preload" as="image" fetchpriority="high"/>'),xs=n('<!>  <!> <div class="home-2026"><main><!> <!> <!> <!> <!> <!> <!></main> <!> <!></div>',1);function To(d,s){Ie(s,!0);const m=X(()=>s.data.demoWords[0]?.image??null);let _=De(null);Da(async()=>{const U=wt(),{data:{session:F}}=await U.auth.getSession();ce(_,F?.user?{id:F.user.id}:null,!0)});let Q=De(null),C=De(!1);function S(U){ce(Q,U,!0),ce(C,!0)}var z=xs();Oa("1dxbrpd",U=>{var F=ae(),K=N(F);{var re=v=>{var b=ks();l(()=>o(b,"href",e(m))),a(v,b)};$(K,v=>{e(m)&&v(re)})}a(U,F)});var j=N(z);ft(j,{title:"Pass the B1 Goethe Exam. Actually Understand German",description:"Structured German curriculum from A1 to B1. Grammar that explains why, exercises mapped to the Goethe exam, vocab that reviews itself. Start A1 free.",url:"https://onewholearns.com/",get image(){return bt},get faqSchemaItems(){return ba},includeSiteSchema:!0}
4);var A=i(j,2);Ma(A,{get user(){return e(_)}});var w=i(A,2),D=r(w),L=r(D);Ft(L,{get words(){return s.data.demoWords}});var Z=i(L,2);wr(Z,{onExpand:S});var te=i(Z,2);Sr(te,{});var I=i(te,2);Na(I,{get items(){return za}});var Y=i(I,2);Pr(Y,{onExpand:S});var M=i(Y,2);st(M,{get words(){return s.data.demoWords}});var V=i(M,2);ut(V,{get items(){return ba},heading:"Questions you probably have"}),t(D);var E=i(D,2);gs(E,{});var oe=i(E,2);ls(oe,{get activeId(){return e(Q)},get open(){return e(C)},onOpenChange:U=>ce(C,U,!0),onSelect:S}),t(w),a(d,z),$e()}export{To as component};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.