@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/manrope-latin-700-normal-BZp_XxE4.woff2)format("woff2"),url(/assets/manrope-latin-700-normal-DGRFkw-m.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/manrope-latin-800-normal-BfWYOv1c.woff2)format("woff2"),url(/assets/manrope-latin-800-normal-uHUdIJgA.woff)format("woff")}:root{--rood-900:#410015;--rood-500:#9a3b5a;--rood-400:#7a5560;--rood-50:#fbf1f4;--olijf-700:#6b6819;--olijf-500:#878225;--olijf-100:#e1e0c9;--olijf-50:#f1f0e3;--beige-100:#fff7ee;--beige-200:#f7ebdd;--beige-300:#eadbc8;--color-bg:var(--beige-100);--color-surface:#fff;--color-surface-subtle:var(--beige-200);--color-border:var(--beige-300);--color-text:var(--rood-900);--color-text-muted:var(--rood-400);--color-primary:var(--rood-900);--color-on-primary:var(--beige-100);--color-accent:var(--olijf-500);--color-accent-subtle:var(--olijf-100);--color-success:var(--olijf-700);--color-success-subtle:var(--olijf-50);--color-error:var(--rood-500);--color-error-subtle:var(--rood-50);--spacing-xs:4px;--spacing-sm:8px;--spacing-md:12px;--spacing-lg:16px;--spacing-xl:24px;--spacing-2xl:32px;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-full:999px;--font-heading:"Manrope", system-ui, sans-serif;--font-body:"Inter", system-ui, sans-serif;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-drawer:cubic-bezier(.32, .72, 0, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;overscroll-behavior:none}body{background:var(--color-bg);color:var(--color-text);font:400 16px/24px var(--font-body);-webkit-font-smoothing:antialiased;margin:0}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:0 0;border:0;padding:0}h1,h2,h3,p{margin:0}.display{font:800 36px/40px var(--font-heading);letter-spacing:-.02em}.h1{font:800 28px/34px var(--font-heading);letter-spacing:-.015em}.h2{font:700 22px/28px var(--font-heading);letter-spacing:-.01em}.h3{font:700 18px/24px var(--font-heading)}.word{font:800 32px/38px var(--font-heading);letter-spacing:-.015em}.large{font-size:18px;line-height:27px}.small{font-size:14px;line-height:20px}.strong{font-weight:600}.caption{font:600 12px/16px var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.muted{color:var(--color-text-muted)}.center{text-align:center}.page{max-width:480px;min-height:100dvh;margin:0 auto}.page__content{gap:var(--spacing-xl);padding:calc(var(--spacing-2xl) + env(safe-area-inset-top,0px)) var(--spacing-xl) var(--spacing-2xl);flex-direction:column;display:flex}.page--nav .page__content{padding-bottom:calc(110px + env(safe-area-inset-bottom,0px))}.header{gap:var(--spacing-xs);flex-direction:column;display:flex}.section{gap:var(--spacing-md);flex-direction:column;display:flex}.section__head{justify-content:space-between;align-items:baseline;display:flex}.row{gap:var(--spacing-md);display:flex}.row>*{flex:1}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.button{justify-content:center;align-items:center;gap:var(--spacing-sm);min-height:52px;padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-full);transition:transform .16s var(--ease-out), opacity .16s ease;font-weight:600;display:inline-flex}.button:active{transform:scale(.97)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.button:disabled{opacity:.5;pointer-events:none}.button--primary{background:var(--color-primary);color:var(--color-on-primary)}.button--secondary{background:var(--color-surface);box-shadow:inset 0 0 0 2px var(--color-border)}.button--ghost{background:0 0}.option{justify-content:space-between;align-items:center;gap:var(--spacing-md);width:100%;min-height:60px;padding:var(--spacing-lg);text-align:left;background:var(--color-surface);border-radius:var(--radius-md);box-shadow:inset 0 0 0 2px var(--color-border);transition:transform .16s var(--ease-out), background-color .15s ease, box-shadow .15s ease;font-weight:600;display:flex}.option:active{transform:scale(.98)}.option--selected{box-shadow:inset 0 0 0 2px var(--color-primary)}.option--correct{background:var(--color-success-subtle);box-shadow:inset 0 0 0 2px var(--color-success);color:var(--color-text)}.option--correct svg{color:var(--color-success)}.option--wrong{background:var(--color-error-subtle);box-shadow:inset 0 0 0 2px var(--color-error)}.option--wrong svg{color:var(--color-error)}.option:disabled{cursor:default}.progress{border-radius:var(--radius-full);background:var(--color-surface-subtle);flex:1;height:8px;overflow:hidden}.progress__fill{background:var(--color-accent);border-radius:inherit;transform-origin:0;height:100%;transition:transform .3s var(--ease-out)}.daydots{justify-content:space-between;display:flex}.daydot{border-radius:var(--radius-full);place-items:center;width:40px;height:40px;font-weight:600;display:grid}.daydot--done{background:var(--color-accent);color:var(--color-on-primary)}.daydot--today{background:var(--color-primary);color:var(--color-on-primary)}.daydot--upcoming{background:var(--color-surface);box-shadow:inset 0 0 0 2px var(--color-border);color:var(--color-text-muted)}.stat{gap:var(--spacing-xs);padding:var(--spacing-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-direction:column;display:flex}.stat__value{font:800 28px/34px var(--font-heading);letter-spacing:-.015em}.stat__label{color:var(--color-text-muted);font-size:14px;line-height:20px}.listrow{align-items:center;gap:var(--spacing-md);width:100%;padding:var(--spacing-lg);text-align:left;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:inset 0 0 0 1px var(--color-border);color:var(--color-text);transition:transform .16s var(--ease-out);display:flex}.listrow:not(:disabled):active{transform:scale(.98)}.listrow:disabled{cursor:default}.listrow>svg{color:var(--color-text-muted);flex:none}.listrow--dim{opacity:.55}.listrow--current{box-shadow:inset 0 0 0 2px var(--color-accent)}.listrow__text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.listrow__title{font-weight:600}.listrow__subtitle{color:var(--color-text-muted);font-size:14px;line-height:20px}.iconbadge{border-radius:var(--radius-full);background:var(--color-accent-subtle);flex:none;place-items:center;width:40px;height:40px;display:grid}.wordrow{justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border);display:flex}.wordrow:last-child{border-bottom:0}.wordrow__es{font-weight:600}.wordrow__nl{color:var(--color-text-muted);text-align:right}.streaks{gap:var(--spacing-md);padding:var(--spacing-lg);display:flex}.streaks>div{align-items:center;gap:var(--spacing-md);flex:1;display:flex}.flamebadge{border-radius:var(--radius-full);background:var(--color-surface-subtle);width:40px;height:40px;color:var(--color-text-muted);flex:none;place-items:center;display:grid}.flamebadge--on{background:var(--color-accent-subtle);color:var(--color-accent)}.badges{row-gap:var(--spacing-lg);grid-template-columns:repeat(4,minmax(0,1fr));justify-items:center;display:grid}.badge{align-items:center;gap:var(--spacing-sm);text-align:center;width:100%;max-width:76px;color:var(--color-text-muted);flex-direction:column;font-size:14px;line-height:20px;display:flex}.badge__medal{border-radius:var(--radius-full);background:var(--color-surface-subtle);place-items:center;width:64px;height:64px;display:grid}.badge--earned{color:var(--color-text)}.badge--earned .badge__medal{background:var(--color-accent-subtle);color:var(--color-accent)}.calendar{grid-template-columns:repeat(7,1fr);justify-items:center;gap:6px;display:grid}.calday{aspect-ratio:1;border-radius:var(--radius-sm);width:100%;max-width:40px;color:var(--color-text-muted);place-items:center;font-size:14px;display:grid}.calday--done{background:var(--color-accent);color:var(--color-on-primary)}.calday--missed{background:var(--color-error-subtle);color:var(--color-error)}.calday--today{box-shadow:inset 0 0 0 2px var(--color-primary);color:var(--color-text)}.todaycard{gap:var(--spacing-lg);padding:var(--spacing-xl);border-radius:var(--radius-lg);background:var(--color-primary);color:var(--color-on-primary);flex-direction:column;display:flex}.todaycard .caption,.todaycard .meta{color:var(--color-accent-subtle)}.todaycard .button--secondary{box-shadow:none;color:var(--color-text)}.meta{gap:var(--spacing-lg);font-size:14px;display:flex}.bottomnav{z-index:10;max-width:480px;padding:var(--spacing-sm) var(--spacing-xl) calc(var(--spacing-md) + env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(20px)saturate(180%);backdrop-filter:blur(20px)saturate(180%);background:#ffffffb8;justify-content:space-around;margin:0 auto;display:flex;position:fixed;inset:auto 0 0;box-shadow:0 -1px #4100150f}.navitem{align-items:center;gap:var(--spacing-xs);width:96px;color:var(--color-text-muted);flex-direction:column;padding:6px 0;font-size:14px;line-height:20px;display:flex}.navitem__pill{border-radius:var(--radius-full);transition:transform .16s var(--ease-out), background-color .15s ease;place-items:center;padding:4px 16px;display:grid}.navitem:active .navitem__pill{transform:scale(.92)}.navitem--active{color:var(--color-text);font-weight:600}.navitem--active .navitem__pill{background:var(--color-accent-subtle)}.exercise{flex-direction:column;max-width:480px;min-height:100dvh;margin:0 auto;display:flex}.exercise__body{gap:var(--spacing-xl);padding:0 var(--spacing-xl) var(--spacing-xl);flex-direction:column;flex:1;display:flex}.exercise__body:not(:has(>.exercise__top)){padding-top:calc(var(--spacing-lg) + env(safe-area-inset-top,0px))}.exercise__top{z-index:2;align-items:center;gap:var(--spacing-md);min-height:44px;margin:0 calc(-1 * var(--spacing-xl)) calc(-1 * var(--spacing-sm));padding:calc(var(--spacing-lg) + env(safe-area-inset-top,0px)) var(--spacing-xl) var(--spacing-sm);color:var(--color-text-muted);-webkit-backdrop-filter:blur(20px)saturate(180%);backdrop-filter:blur(20px)saturate(180%);background:#fff7eeb8;font-size:14px;display:flex;position:sticky;top:0}.iconbutton{width:44px;height:44px;color:var(--color-text-muted);transition:transform .16s var(--ease-out);place-items:center;margin-left:-10px;display:grid}.iconbutton:active{transform:scale(.9)}.wordcard{align-items:center;gap:var(--spacing-md);padding:var(--spacing-2xl) var(--spacing-xl);text-align:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-direction:column;display:flex}.wordcard--grow{flex:1;justify-content:center}.wordcard--tappable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .16s var(--ease-out)}.wordcard--tappable:active:not(:has(button:active)){transform:scale(.98)}.speaker{border-radius:var(--radius-full);background:var(--color-accent-subtle);width:44px;height:44px;transition:transform .16s var(--ease-out);place-items:center;display:grid;position:relative}.speaker:active{transform:scale(.94)}.speaker--small{flex:none;width:32px;height:32px}.speaker--small:after,.wordrow__reveal:after{content:"";position:absolute;inset:-6px}.wordrow{align-items:center}.wordrow__es{align-items:center;gap:var(--spacing-sm);display:flex}.wordrow__end{align-items:center;gap:var(--spacing-md);display:flex}.markbutton{border-radius:var(--radius-full);width:32px;height:32px;color:var(--color-text-muted);box-shadow:inset 0 0 0 1.5px var(--color-border);transition:transform .16s var(--ease-out), background-color .15s ease, color .15s ease, box-shadow .15s ease;flex:none;place-items:center;display:grid;position:relative}.markbutton:after{content:"";position:absolute;inset:-6px}.markbutton:active{transform:scale(.9)}.markbutton--on{background:var(--color-accent-subtle);color:var(--color-accent);box-shadow:none}.markbutton--on svg{fill:currentColor}.wordrow--stacked .wordrow__text{flex-direction:column;flex:1;align-items:flex-start;gap:2px;min-width:0;display:flex}.wordrow--stacked .wordrow__nl{text-align:left}.wordrow--stacked .wordrow__reveal{margin-top:var(--spacing-xs)}.wordrow__reveal{color:var(--color-text-muted);border-radius:var(--radius-full);background:var(--color-surface-subtle);transition:transform .16s var(--ease-out);padding:4px 10px;font-size:14px;position:relative}.wordrow__reveal:active{transform:scale(.95)}.linkbutton{color:var(--color-success);padding:8px 0;font-size:14px;font-weight:600;transition:opacity .1s}.linkbutton:active{opacity:.6}.options{gap:var(--spacing-md);flex-direction:column;display:flex}.input{width:100%;min-height:56px;padding:var(--spacing-lg);font:400 18px/27px var(--font-body);color:var(--color-text);background:var(--color-surface);border-radius:var(--radius-md);box-shadow:inset 0 0 0 2px var(--color-border);border:0;outline:none;transition:box-shadow .15s,background-color .15s}.input:focus{box-shadow:inset 0 0 0 2px var(--color-primary)}.input--correct{background:var(--color-success-subtle);box-shadow:inset 0 0 0 2px var(--color-success)}.input--wrong{background:var(--color-error-subtle);box-shadow:inset 0 0 0 2px var(--color-error)}.input::placeholder{color:var(--color-text-muted)}.actions{gap:var(--spacing-md);padding:0 var(--spacing-xl) calc(var(--spacing-xl) + env(safe-area-inset-bottom,0px));display:flex}.actions>*{flex:1}.feedback{z-index:1;gap:var(--spacing-lg);padding:var(--spacing-xl) var(--spacing-xl) calc(var(--spacing-2xl) + env(safe-area-inset-bottom,0px));border-radius:var(--radius-lg) var(--radius-lg) 0 0;transition:transform .28s var(--ease-drawer);flex-direction:column;display:flex;position:sticky;bottom:0}@starting-style{.feedback{transform:translateY(100%)}}.feedback--correct{background:var(--color-success-subtle)}.feedback--wrong{background:var(--color-error-subtle)}.feedback__head{align-items:center;gap:var(--spacing-md);display:flex}.feedback__icon{border-radius:var(--radius-full);width:32px;height:32px;color:var(--color-on-primary);place-items:center;display:grid}.feedback--correct .feedback__icon{background:var(--color-success)}.feedback--correct .h2{color:var(--color-success)}.feedback--wrong .feedback__icon{background:var(--color-error)}.feedback--wrong .h2{color:var(--color-error)}.medal{border-radius:var(--radius-full);background:var(--color-accent-subtle);width:120px;height:120px;color:var(--color-accent);transition:transform .5s var(--ease-out), opacity .3s ease;transition:transform .7s linear(0, .078, .241, .447, .637, .808, .93, 1.019, 1.067, 1.09, 1.091, 1.08, 1.063, 1.045, 1.027, 1.014, 1.003, .996, .993, .992, .992, .993, .995, .996, 1), opacity .2s ease;place-items:center;display:grid}@starting-style{.medal{opacity:0;transform:scale(.6)}}.hero{align-items:center;gap:var(--spacing-md);text-align:center;padding-top:var(--spacing-2xl);flex-direction:column;display:flex}.blank{border-bottom:3px solid var(--color-accent);vertical-align:baseline;width:3.5em;height:.9em;margin:0 .15em;display:inline-block}.tipbox{gap:var(--spacing-sm);padding:var(--spacing-lg);border-radius:var(--radius-lg);background:var(--color-accent-subtle);flex-direction:column;display:flex}.answerarea,.tilebank{gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.answerarea{min-height:120px;padding:var(--spacing-lg) 0;border-top:2px solid var(--color-border);border-bottom:2px solid var(--color-border);align-content:flex-start;transition:border-color .15s}.answerarea--correct{border-color:var(--color-success)}.answerarea--wrong{border-color:var(--color-error)}.tilebank{justify-content:center}.tile{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:inset 0 0 0 2px var(--color-border), inset 0 -2px 0 2px var(--color-border);transition:transform .12s var(--ease-out);padding:10px 16px;font-weight:600;position:relative}.tile:active{transform:scale(.95)}.tile:disabled{cursor:default}.tile--used{color:#0000;background:var(--color-surface-subtle);box-shadow:none}.segmented{background:var(--color-surface-subtle);border-radius:var(--radius-full);gap:4px;padding:4px;display:flex}.segmented button{border-radius:var(--radius-full);min-height:40px;color:var(--color-text-muted);transition:transform .16s var(--ease-out), background-color .15s ease;flex:1;font-size:14px;font-weight:600}.segmented button:active{transform:scale(.97)}.segmented button[aria-pressed=true]{background:var(--color-surface);color:var(--color-text)}.reveal{align-items:center;gap:var(--spacing-md);transition:opacity .2s ease, transform .2s var(--ease-out);flex-direction:column;display:flex}@starting-style{.reveal{opacity:0;transform:translateY(6px)}}.sheet{z-index:20;flex-direction:column;justify-content:flex-end;display:flex;position:fixed;inset:0}.sheet__backdrop{touch-action:none;background:#41001566;transition:opacity .2s;position:absolute;inset:0}@starting-style{.sheet__backdrop{opacity:0}}.sheet__panel{gap:var(--spacing-lg);width:100%;max-width:480px;padding:var(--spacing-xl) var(--spacing-xl) calc(var(--spacing-xl) + env(safe-area-inset-bottom,0px));background:var(--color-bg);border-radius:var(--radius-lg) var(--radius-lg) 0 0;touch-action:none;transition:transform .28s var(--ease-drawer);flex-direction:column;margin:0 auto;display:flex;position:relative}@starting-style{.sheet__panel{transform:translateY(100%)}}.sheet__grabber{width:36px;height:5px;margin:calc(-1 * var(--spacing-md)) 0 calc(-1 * var(--spacing-xs));border-radius:var(--radius-full);background:var(--color-border);align-self:center}.backbutton{align-self:flex-start;align-items:center;gap:var(--spacing-xs);min-height:44px;margin:calc(-1 * var(--spacing-md)) 0 calc(-1 * var(--spacing-md)) -2px;color:var(--color-text-muted);font-weight:600;transition:opacity .1s;display:inline-flex}.backbutton:active{opacity:.6}@media (prefers-reduced-motion:reduce){.progress__fill{transition:none}.feedback,.medal,.sheet__panel,.reveal{transition:opacity .2s}@starting-style{.feedback,.medal,.sheet__panel{opacity:0}}}@media (prefers-reduced-transparency:reduce),(prefers-contrast:more){.bottomnav,.exercise__top{-webkit-backdrop-filter:none;backdrop-filter:none}.bottomnav{background:var(--color-surface);box-shadow:0 -1px 0 var(--color-border)}.exercise__top{background:var(--color-bg)}}
