.input-base,.dictation-practice input,.btn,form.luulla input{border:1px solid var(--color-border);border-radius:.75em;padding:.75em 1em;width:100%;color:var(--color-text-light);font-family:inherit;font-size:.85rem;font-weight:300;line-height:1;transition:border-color .15s,box-shadow .15s}.input-base:focus,.dictation-practice input:focus,.btn:focus,form.luulla input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 1px color-mix(in srgb, var(--color-primary) 50%, transparent)}form.luulla{display:flex;flex-direction:column;gap:.5rem;width:100%}form.luulla label{font-weight:500}form.luulla input{-webkit-appearance:none;appearance:none}form.luulla input::placeholder{color:var(--color-input-text);opacity:1;font-weight:300}form.luulla input[type=email]{-webkit-appearance:none;appearance:none}.btn{cursor:pointer;transition:background-color .15s,border-color .15s,transform .1s,box-shadow .15s}.btn.full{display:block}.btn.primary{color:var(--color-white);background-color:var(--color-primary);border-color:var(--color-primary);padding:.75em 1em;font-size:.85rem;text-decoration:none;text-align:center}.btn.primary:hover{background-color:color-mix(in srgb, var(--color-primary) 90%, black);border-color:color-mix(in srgb, var(--color-primary) 90%, black)}.btn.primary:active{background-color:color-mix(in srgb, var(--color-primary) 80%, black);border-color:color-mix(in srgb, var(--color-primary) 80%, black);transform:scale(0.98)}.btn.ghost{background-color:inherit;border:none;width:auto}.btn.ghost:hover{background:var(--color-background-dark)}.btn.ghost:active{background:color-mix(in srgb, var(--color-background-dark) 70%, var(--color-text-light))}.dictation-practice .answer-form{--gap: 0.25em}button.play-audio{--button-size: 4em;border-radius:50%;border:none;background-color:var(--color-primary);color:var(--color-white);width:var(--button-size);height:var(--button-size);box-shadow:0 2px 6px rgba(0,0,0,.1);transition:transform .1s,box-shadow .15s}button.play-audio svg{width:calc(var(--button-size)*.5);height:calc(var(--button-size)*.5)}button.play-audio:hover{transform:scale(1.05);box-shadow:0 4px 12px rgba(0,0,0,.15)}button.play-audio:active{transform:scale(0.95)}.user-info{--gap: 0}.language-progress,.course-list{--gap: 0.25em}.language-progress h2,.course-list h2{margin-bottom:.5em}.language-progress h5,.course-list h5{font-size:.5em;text-transform:capitalize}.language-progress .card,.course-list .card{padding:.5em;gap:.5em}.language-progress .flag,.course-list .flag{width:1.75em;height:1.75em;border-radius:50%;object-fit:cover;display:block}.language-summary{--gap: 0.5em}.dictation-practice .dictation-header{display:flex;align-items:center;gap:.75em;margin-bottom:.5em}.dictation-practice .progress-bar{margin-bottom:var(--gap)}.dictation-practice .dictation-progress-count{flex:0 0 auto;color:var(--color-text);white-space:nowrap}.dictation-practice .audio-player{--gap: 0.25em}.dictation-practice .dictation-nav{display:flex;justify-content:space-between;align-items:center}.dictation-practice .dictation-nav .buttons{gap:0}.dictation-practice .user-answer{font-weight:300}.dictation-practice .user-answer .diff-extra{font-weight:500}.dictation-practice .user-answer .diff-missing{font-weight:500;font-style:italic}.dictation-practice .user-answer .diff-missing::before{content:"["}.dictation-practice .user-answer .diff-missing::after{content:"]"}.dictation-practice .user-answer.status-perfect{background:var(--color-success-light)}.dictation-practice .user-answer.status-partial{background:var(--color-warning-light)}.dictation-practice .card.status-fail{border-color:var(--color-error);background:var(--color-error-light)}.dictation-practice .what-why .title{display:flex;align-items:center;gap:.5em;cursor:pointer;transition:opacity .15s}.dictation-practice .what-why .title::before{content:"?";display:inline-flex;align-items:center;justify-content:center;width:1.5em;height:1.5em;border-radius:50%;background:var(--color-warning);color:var(--color-white);font-weight:700;font-size:.85rem;flex-shrink:0}.dictation-practice .what-why .title:hover{opacity:.7}.dictation-practice .what-why .explanation{font-size:.85rem;font-weight:300;line-height:1.4;color:var(--color-text)}.dictation-practice .what-why .explanation ul{padding-left:1.25em}.dictation-practice .what-why .explanation{margin-top:0}.dictation-practice .what-why .explanation:not(:empty){margin-top:1em}.hamburger{height:1.5em;cursor:pointer}.hamburger-check{display:none}.hamburger-icon{z-index:10;display:block;position:relative;top:48%;width:1.5em;height:2px;background:var(--color-text-light)}.hamburger-icon::before,.hamburger-icon::after{content:"";position:absolute;width:1.5em;height:2px;background:var(--color-text-light);transition:transform .2s ease-in-out,top .2s ease-in-out}.hamburger-icon::before{top:-0.45em}.hamburger-icon::after{top:.45em}.hamburger-menu{z-index:5;position:fixed;top:0;left:0;right:0;height:100vh;width:100vw;background-color:var(--color-primary);padding:1em;padding-top:5em;list-style:none;display:none}.hamburger-menu a{display:block;padding:.25em .5em;font-size:3em;font-weight:100;text-align:right;color:var(--color-white);letter-spacing:0}.hamburger-menu a:hover{color:color-mix(in srgb, var(--color-primary) 25%, var(--color-white))}.hamburger-check:checked~.hamburger-icon{background-color:var(--color-primary)}.hamburger-check:checked~.hamburger-icon::before{top:.125em;transform:rotate(45deg);background-color:var(--color-white)}.hamburger-check:checked~.hamburger-icon::after{top:.125em;transform:rotate(-45deg);background-color:var(--color-white)}.hamburger-check:checked~.hamburger-menu{display:block}.headline{font-family:"Vina Sans",sans-serif;font-weight:400;font-style:normal;font-size:84px;line-height:4rem;color:var(--color-primary);text-transform:uppercase;letter-spacing:-0.1rem;text-wrap:balance}.headline.huge{font-size:120px;line-height:120px}.headline.large{font-size:64px;line-height:72px}.headline.small{font-size:42px;line-height:1;letter-spacing:0}.headline.xs{font-size:24px;line-height:1;letter-spacing:0}.headline.regular{color:var(--color-text)}.heading{font-weight:500;font-size:1.25rem;line-height:1.3;color:var(--color-text)}.heading.small{font-size:1rem}.heading.large{font-size:1.5rem}.heading .primary{color:var(--color-primary)}.text{font-size:.85rem;line-height:1.4;color:var(--color-text)}.text.small{font-size:.75rem}.text.medium{font-size:1rem}.text.large{font-size:1.25rem}.text.primary{color:var(--color-primary)}.muted{color:var(--color-text-light)}.text-center{text-align:center}h1,h2,h3,h4,h5{font-weight:600;font-size:1.125rem;line-height:1;color:var(--color-text)}p,label,input{font-size:.85rem;line-height:1}p a{color:var(--color-primary);text-decoration:none}.flex-center{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--gap)}.flex-down{display:flex;flex-direction:column;align-items:stretch;gap:var(--gap)}.flex-right{display:flex;flex-direction:row;gap:var(--gap)}.flex-right>.fill{flex-grow:3}.space-between{justify-content:space-between}.gap-quarter{gap:.25em}.gap-half{gap:.5em}.gap-1{gap:1em}.gap-2{gap:2em}.gap-3{gap:3em}.card{background:var(--color-background-light);border-radius:var(--radius);padding:var(--padding);box-shadow:0 4px 12px rgba(0,0,0,.04)}.card .info{background-color:var(--color-warning-light)}.alert{display:grid;grid-template-columns:auto 1fr;column-gap:.75em;row-gap:.25em;align-items:start;width:100%;padding:1em;border:1px solid var(--color-border);border-radius:12px;background:var(--color-background-light)}.alert.error{border-color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 8%, var(--color-background-light))}.alert>.icon{grid-column:1;grid-row:1/span 2;width:1.5em;height:1.5em;display:flex;align-items:center;justify-content:center;background:var(--color-primary);color:var(--color-white);border-radius:50%;font-weight:700;font-size:.85rem}.alert>.title{grid-column:2;grid-row:1;color:var(--color-primary);font-weight:600;font-size:.85rem}.alert>.message{grid-column:2;grid-row:2;color:var(--color-text);font-weight:300;font-size:.85rem}.divider{width:100%;border:none;border-top:1px solid var(--color-border);margin:.25em 0}.code-inputs{display:flex;gap:.5em;width:100%}.code-input{flex:1;min-width:0;padding:.75em 0;text-align:center;font-size:.85rem;font-weight:300;color:var(--color-text)}.progress-bar{height:6px;width:100%;background:var(--color-background-dark);border-radius:3px;overflow:hidden;margin:.125em 0}.progress-fill{height:100%;background:var(--color-primary);border-radius:inherit}.linkable{position:relative;cursor:pointer}.linkable .link{position:absolute;inset:0;border-radius:inherit}.back-button{display:flex;align-items:center;justify-content:center;flex:0 0 1.5em;width:1.5em;height:1.5em;color:var(--color-text);background:var(--color-white);border-radius:50%;box-shadow:0 4px 12px rgba(0,0,0,.08);transition:transform .1s,box-shadow .15s}.back-button svg{width:.75em;height:.75em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.back-button:hover{transform:scale(1.05);box-shadow:0 6px 16px rgba(0,0,0,.12)}.back-button:active{transform:scale(0.95)}.course-summary>*:first-child{--gap: 0.75em;align-items:center;margin-bottom:.5em}.course-summary button.primary{margin-top:.75em}.course-meta{--gap: 0.5em;align-items:baseline}.course-stages-list{--gap: 0;list-style:none}.course-stages-list li{border-bottom:1px solid var(--color-border)}.course-stages-list li:last-child{border-bottom:none}.course-stage{display:flex;align-items:center;--gap: 0.75em;padding:.5em 0;text-decoration:none;color:inherit;transition:opacity .15s}.course-stage .stage-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-stage:hover{opacity:.7}.course-stage--locked{cursor:default}.course-stage--locked:hover{opacity:1}.stage-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:2em;height:2em;border-radius:50%;font-size:.75rem;line-height:1}.stage-icon.complete{background:var(--color-success);color:var(--color-white)}.stage-icon.released{background:var(--color-primary);color:var(--color-white)}.stage-icon.locked{background:var(--color-background-dark);color:var(--color-text-light)}.how-steps{--arrow-size: 2em;--step-gap: 0.5em;color:var(--color-text-light)}.how-step{width:100%;display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--step-gap);color:var(--color-text)}.how-step-number{display:inline-flex;align-items:center;justify-content:center;width:1.75em;height:1.75em;border-radius:50%;background:var(--color-primary);color:var(--color-white);font-weight:600;font-size:.85rem}.how-step-title{font-size:.85rem;font-weight:500;color:var(--color-text);line-height:1.2}.how-step-body{font-size:.75rem;line-height:1.4;color:var(--color-text-light);margin:0;max-width:300px}.how-arrow{width:var(--arrow-size);display:flex;align-items:center;justify-content:center;color:var(--color-text-light)}.how-arrow svg{width:100%;height:1.5em}.how-arrow--right svg,.how-arrow--left svg{transform:rotate(90deg)}.language-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75em}.language-card{gap:.5em;padding:.75em .5em;box-shadow:0 4px 12px rgba(0,0,0,.04)}.language-card--available:hover{outline:1px solid var(--color-primary)}.language-card .flag{height:1.5em;width:1.5em}.language-badge{display:inline-block;font-size:.65rem;font-weight:500;padding:.25em .75em;border-radius:999px;background:var(--color-background-dark);color:var(--color-text-light);text-decoration:none}.language-badge--available{background:var(--color-primary);color:var(--color-white)}:root{--color-background: rgb(242, 238, 232);--color-background-light: rgb(249, 247, 241);--color-background-dark: rgb(232, 227, 215);--color-primary:rgb(247, 48, 76);--color-text: #222222;--color-text-light: #666666;--color-white: #FFFFFF;--color-border: rgb(235,235,235);--color-input-text: rgb(180, 180, 180);--color-success: rgb(26, 127, 55);--color-success-light: rgb(218, 251, 225);--color-warning: rgb(154, 103, 0);--color-warning-light: rgb(255, 248, 197);--color-error: rgb(207, 34, 46);--color-error-light: rgb(255, 235, 233);--color-info: rgb(9, 105, 218);--color-info-light: rgb(221, 244, 255);--radius: 12px;--padding: 24px;--base-unit: 24px;--gap: var(--base-unit);--context-width: 450px}@view-transition{navigation:auto}*{margin:0;padding:0;box-sizing:border-box}body{background:var(--color-background);color:var(--color-text);padding:var(--padding);display:flex;flex-direction:column;min-height:100vh;font-size:var(--base-unit);font-family:"Inter",sans-serif;letter-spacing:-0.02rem;gap:var(--gap)}nav.global{display:flex;justify-content:space-between;align-items:center}nav span.page-title{text-transform:capitalize;color:var(--color-text-light);font-size:.75em;font-weight:200}nav a{text-decoration:none}footer{min-height:2em}main{max-width:var(--context-width);width:100%;flex:1;align-self:center}img.flag{border-radius:50%}img.flag.huge{height:2.75em;width:2.75em}a:focus-visible,button:focus-visible,[tabindex]:not([tabindex="-1"]):focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.main-nav{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.main-nav .btn{width:auto}.hero .cta{width:100%}.language.course-list{--gap: 0.5em}details.course>summary{list-style:none;cursor:pointer}details.course>summary::-webkit-details-marker{display:none}details.course[open]>summary{margin-bottom:.5em}.course-stages{padding-left:1em;border-left:2px solid var(--color-border)}@media(min-width: 450px){main{margin-block:1em}}
