:root{--ink:var(--color-text,#183b34);--green:var(--color-primary,#173e36);--green-hover:var(--color-secondary,#225348);--paper:var(--color-background,#f6f8f5);--white:var(--color-surface,#fff);--line:#d9e2dc;--muted:var(--color-text-secondary,#586a63);--yellow:var(--color-accent,#f3d16b);--red:#9b3631;--radius:16px;color:var(--ink);background:var(--paper);font-synthesis:none;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,.button{border:1px solid var(--line);background:var(--white);min-height:46px;color:var(--ink);cursor:pointer;text-align:center;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:9px 18px;font-weight:600;line-height:1.4;display:inline-flex}button:hover,.button:hover{background:#edf3ed}button:disabled{opacity:.5;cursor:wait}.primary:hover{background:var(--green-hover)}:focus-visible{outline-offset:3px;outline:3px solid #a17a10}input,textarea,select{background:var(--white);width:100%;min-width:0;min-height:48px;color:var(--ink);border:1px solid #afc0b5;border-radius:8px;padding:11px 14px;display:block}textarea{resize:vertical}label{flex-direction:column;gap:7px;font-size:15px;font-weight:600;display:flex}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.035em;margin-bottom:20px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,4vw,3.5rem);font-weight:500;line-height:1.16}h2{font-size:1.4rem;line-height:1.3}h3{font-size:1.1rem}p{margin-bottom:20px}img{max-width:100%}.muted,.hint{color:var(--muted)}.small,.hint{font-size:14px;font-weight:400}.hint{display:block}.eyebrow{letter-spacing:.15em;margin-bottom:18px;font-size:12px;font-weight:700;display:block}.brand{letter-spacing:-1px;white-space:nowrap;font-size:23px;font-weight:800;line-height:1.15}.brand-dot{color:#ba8519}.stack{flex-direction:column;gap:20px;display:flex}.stack p{margin-bottom:0}.actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.text-button{background:0 0;border-color:#0000;padding:8px 10px;font-weight:500}.danger{color:var(--red)}.notice{white-space:pre-wrap;overflow-wrap:anywhere;border-radius:10px;margin:16px 0;padding:16px 20px}.notice p{margin:8px 0 0}.notice.success{color:#235733;background:#e7f1e8;border:1px solid #bbd5bd}.notice.error{color:#783820;background:#fff0e6;border:1px solid #edc9b2}.login-shell{grid-template-columns:1.05fr 1fr;min-height:100dvh;display:grid}.login-story{background:var(--green);color:#fff;flex-direction:column;justify-content:space-between;min-height:650px;padding:56px clamp(32px,6vw,100px);display:flex}.login-story .brand-dot,.login-story .eyebrow{color:var(--yellow)}.login-story h1{margin:28px 0;font-size:clamp(2.8rem,4.2vw,4.8rem);line-height:1.13}.login-story p{color:#cfddd5;max-width:350px}.login-story .small{margin:0}.login-panel{justify-content:center;align-items:center;padding:48px;display:flex}.login-card{width:100%;max-width:390px}.login-card h2{margin-bottom:16px;font-family:Georgia,serif;font-size:2.1rem;font-weight:500}.login-card .stack{margin:32px 0}.login-card .primary{min-height:52px}.device-page{max-width:1100px;min-height:100dvh;margin:auto;padding:40px 32px}.device-page section{text-align:center;margin:100px auto 0}.device-grid{grid-template-columns:repeat(3,1fr);gap:20px;margin:40px 0;display:grid}.device-card{border-radius:18px;flex-direction:column;gap:28px;min-height:220px;display:flex}.device-icon{border:3px solid var(--green);border-radius:5px;width:72px;height:49px;display:block;position:relative}.device-0:after{content:"";border-bottom:3px solid var(--green);position:absolute;bottom:-12px;left:12px;right:12px}.device-1{width:49px;height:66px}.device-2{border-radius:8px;width:34px;height:59px}.topbar{background:var(--white);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;padding:30px max(32px,50vw - 590px);display:flex}.account{align-items:center;gap:20px;font-size:14px;display:flex}.main-nav{background:var(--white);border-bottom:1px solid var(--line);gap:36px;padding:0 max(32px,50vw - 590px);display:flex}.main-nav a{border-bottom:3px solid #0000;padding:19px 0;font-weight:600}.main-nav a.active{border-color:var(--green)}.learning-main{max-width:1244px;min-height:65dvh;margin:0 auto;padding:52px 32px 80px}.page-heading{max-width:800px;margin-bottom:38px}.page-heading h1{font-size:clamp(2rem,3.4vw,3rem)}.page-heading.compact{margin:24px 0}.content-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.theme-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;min-height:260px;padding:28px;transition:transform .15s,border-color .15s;display:flex;overflow:hidden}.theme-card:hover{border-color:var(--green);transform:translateY(-3px)}.theme-card h2{margin:24px 0 10px}.theme-card p{color:var(--muted);font-size:15px}.card-number{width:48px;height:48px;color:var(--green);background:#eef3e8;border-radius:12px;justify-content:center;align-items:center;font-size:15px;font-weight:600;display:flex}.card-action{justify-content:space-between;margin-top:auto;font-size:14px;font-weight:600;display:flex}.theme-image{object-fit:cover;width:calc(100% + 56px);max-width:none;height:170px;margin:-28px -28px 0}.section-nav{flex-wrap:wrap;gap:8px;margin:28px 0;display:flex}.section-nav a{border:1px solid var(--line);background:var(--white);border-radius:30px;min-height:46px;padding:10px 20px}.section-nav a.active{background:var(--green);color:#fff;border-color:var(--green)}.back-link{font-size:14px;font-weight:600}.practice{background:var(--white);border:1px solid var(--line);border-radius:20px;max-width:900px;padding:36px 40px}.practice-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}.practice-heading .eyebrow{margin:0}.translation{overflow-wrap:anywhere;margin:30px 0 36px;font-family:Georgia,serif;font-size:clamp(1.7rem,2.5vw,2.2rem);line-height:1.35}.practice input{min-height:60px;font-size:18px}.practice-actions{justify-content:space-between;gap:12px;margin:12px 0;display:flex}.practice-bottom{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-top:28px;padding-top:22px;font-size:14px;display:flex}.audio{width:250px;max-width:100%;height:44px}.gap-sentence{overflow-wrap:anywhere;font-size:clamp(1.25rem,2vw,1.65rem);line-height:2.7}.gap-sentence select{vertical-align:middle;background:#f6f8ef;border:1px solid #8caa93;width:auto;min-width:110px;max-width:100%;margin:3px 8px;font-size:18px;display:inline-block}.dialogue{background:var(--white);border:1px solid var(--line);border-radius:16px;max-width:960px;margin-bottom:24px;padding:32px}.dialogue-line{border-top:1px solid var(--line);grid-template-columns:100px minmax(0,1fr);gap:12px 24px;padding:24px 0;display:grid}.dialogue-line .audio{grid-column:2}.dialogue-line p{margin:0 0 8px}.speaker{color:var(--muted);font-size:14px;font-weight:700}.dutch-line{font-size:19px}.explanation{background:#edf2e6;border-radius:12px;max-width:900px;margin:24px 0;padding:20px}.explanation p{white-space:pre-wrap;margin-top:16px}.footer{border-top:1px solid var(--line);max-width:1180px;color:var(--muted);justify-content:space-between;gap:20px;margin:0 auto;padding:24px 0;font-size:14px;display:flex}.empty{background:var(--white);text-align:center;color:var(--muted);border:1px dashed #b9c9be;border-radius:16px;padding:48px 28px}.narrow{max-width:650px;margin:10vh auto;padding:32px}.narrow a{margin-top:24px;display:block}.admin-shell{grid-template-columns:230px minmax(0,1fr);min-height:100dvh;display:grid}.sidebar{background:var(--green);color:#fff;flex-direction:column;height:100dvh;padding:34px 22px;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar .brand-dot{color:var(--yellow)}.sidebar-label{letter-spacing:.14em;color:#b7cfc2;margin:45px 12px 14px;font-size:11px}.sidebar nav{flex-direction:column;gap:3px;display:flex}.sidebar nav a{border-radius:8px;padding:10px 12px;font-size:14px}.sidebar nav a.active{color:#ffdf7b;background:#30594e}.sidebar nav a:hover{background:#2b5146}.sidebar form{margin-top:auto;padding-top:30px}.admin-main{min-width:0;max-width:1600px;padding:45px clamp(22px,4vw,64px)}.admin-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;display:flex}.admin-heading h1{margin:0;font-size:2.5rem}.admin-heading .eyebrow{margin-bottom:10px}.admin-list{border:1px solid var(--line);background:var(--white);border-radius:12px;overflow:hidden}.admin-row{border-bottom:1px solid var(--line);flex-direction:column;gap:16px;padding:22px 24px;display:flex}.admin-row:last-child,.student-row:last-child{border-bottom:0}.row-title{overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:12px;display:flex}.row-title strong{font-size:17px}.row-actions{flex-wrap:wrap;gap:8px;display:flex}.row-actions button,.row-actions .button{padding:7px 12px;font-size:14px}.badge{color:#765711;white-space:nowrap;background:#f6edcc;border-radius:20px;padding:3px 10px;font-size:12px;display:inline-block}.badge.published{color:#2c612e;background:#e8f2e7}.filter{max-width:340px;margin:0 0 24px}.panel{background:var(--white);border:1px solid var(--line);border-radius:14px;margin:24px 0;padding:28px}.editor-heading{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.editor-heading h2{margin:0}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.gap-editor{background:#f6f8f2;border-radius:12px;padding:22px}.gap-editor fieldset{border:1px solid #bdcdbf;border-radius:10px;min-width:0;margin:18px 0;padding:16px}.gap-editor legend{font-weight:600}.option-row{align-items:center;gap:10px;margin-bottom:12px;display:flex}.option-row input[type=radio]{width:20px;min-width:20px;height:20px;min-height:20px;accent-color:var(--green)}.option-row button{padding:8px 12px}.checkbox{flex-direction:row;align-items:center;gap:12px}.checkbox input{width:22px;min-height:22px;accent-color:var(--green)}.student-row{border-bottom:1px solid var(--line);padding:24px}.student-dates{flex-wrap:wrap;gap:30px;margin:20px 0;display:flex}.student-dates dt{color:var(--muted);font-size:12px}.student-dates dd{margin:0;font-size:14px}.media-editor{border-top:1px solid var(--line);margin-top:28px;padding-top:24px}.media-editor audio{max-width:100%}.media-editor form{margin-top:16px}.media-preview{border-radius:8px;width:240px}.pagination{flex-wrap:wrap;justify-content:space-between;gap:20px;margin:26px 0;font-size:14px;display:flex}summary{cursor:pointer;min-height:32px;font-weight:600}input[type=file]{padding:10px;font-size:14px}.app-shell[data-device=Tablet] button,.app-shell[data-device=GSM] button{min-height:52px}.app-shell[data-device=GSM] .content-grid{grid-template-columns:1fr;max-width:700px}.app-shell[data-device=GSM] .practice{max-width:740px}.app-shell[data-device=GSM] .gap-sentence select{min-height:56px}@media (max-width:1050px){.content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-shell{grid-template-columns:190px minmax(0,1fr)}.sidebar{padding:30px 16px}.sidebar .brand{font-size:21px}.admin-heading{flex-direction:column;align-items:flex-start}.footer{margin:0 32px}.login-story{padding:40px}.login-panel{padding:36px}.form-grid{grid-template-columns:1fr}}@media (max-width:700px){.login-shell{grid-template-columns:1fr}.login-story{gap:35px;min-height:0;padding:30px 26px}.login-story h1{margin:0;font-size:2.6rem}.login-story .eyebrow,.login-story div>p,.login-story>.small{display:none}.login-panel{padding:40px 26px}.login-card{max-width:none}.topbar{align-items:flex-start;padding:22px}.topbar .brand{white-space:normal;max-width:160px;font-size:19px}.account{flex-direction:column;align-items:flex-end;gap:6px}.main-nav{gap:28px;padding:0 24px}.learning-main{padding:34px 20px 50px}.content-grid{grid-template-columns:1fr;gap:16px}.theme-card{min-height:220px;padding:24px}.theme-image{width:calc(100% + 48px);margin:-24px -24px 0}.page-heading{margin-bottom:26px}.practice{padding:25px 20px}.practice-heading{gap:16px}.translation{margin:24px 0;font-size:1.8rem}.practice-actions{flex-direction:column}.practice-actions button{min-height:52px}.practice-bottom{gap:4px}.practice-bottom>span{display:none}.gap-sentence select{max-width:calc(100% - 16px);font-size:17px}.dialogue{padding:24px 20px}.dialogue-line{grid-template-columns:1fr;gap:6px}.dialogue-line .audio{grid-column:1}.dialogue-line .speaker{margin-bottom:6px}.section-nav{gap:6px}.section-nav a{padding:10px 14px;font-size:14px}.footer{flex-direction:column;gap:8px;margin:0 20px}.device-page{padding:28px 24px}.device-page section{margin:55px auto 0}.device-grid{grid-template-columns:1fr;gap:12px}.device-card{flex-direction:row;gap:30px;min-height:110px}.device-card .device-icon{transform:scale(.7)}.admin-shell{grid-template-columns:1fr}.sidebar{height:auto;padding:22px;position:relative}.sidebar .brand br{display:none}.sidebar-label{margin:20px 0 8px}.sidebar nav{flex-direction:row;gap:3px;padding-bottom:8px;overflow-x:auto}.sidebar nav a{flex-shrink:0;font-size:14px}.sidebar form{padding:0;position:absolute;top:16px;right:14px}.sidebar .brand{max-width:200px;font-size:18px}.admin-main{padding:28px 18px}.admin-heading h1{font-size:2.15rem}.admin-row,.student-row{padding:20px 18px}.panel{padding:20px 16px}.row-title{align-items:flex-start}.gap-editor{padding:16px 10px}.option-row{gap:6px}.option-row button{padding:8px}.option-row input:not([type=radio]){padding:10px}.student-dates{flex-direction:column;gap:14px}.pagination{font-size:13px}.admin-heading .actions{width:100%}.admin-heading .actions button{flex:1}.editor-heading{align-items:flex-start;gap:12px}.form-grid{gap:18px}}@media (orientation:landscape) and (max-height:550px){.device-page section{margin-top:25px}.device-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin:20px 0}.device-card{min-height:110px}.login-story{min-height:0}.sidebar{height:auto;position:relative}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.language-selector{flex-shrink:0;gap:4px;display:flex}.language-selector button{min-width:48px;padding:8px 12px}.language-selector [aria-pressed=true]{background:var(--green);color:var(--on-primary,#fff)}.topbar,.account{flex-wrap:wrap}.login-card>.language-selector{margin-bottom:24px}.device-page>.language-selector{float:right}.primary{background:var(--color-button-primary,var(--green));color:var(--on-button,#fff);border-color:#0000}.primary:hover{background:var(--color-secondary,var(--green-hover));color:var(--on-secondary,#fff)}.login-story,.sidebar,.section-nav a.active{color:var(--on-primary,#fff)}.sidebar button{color:inherit}:focus-visible{outline:3px solid var(--ink);box-shadow:0 0 0 6px var(--white)}.support-text{color:var(--muted);margin:10px 0 24px;font-size:1rem;line-height:1.6}.dutch-line{font-size:1.3rem;font-weight:600}.notice .support-text{color:inherit;font-size:1rem;font-weight:400}.appearance-preview{background:var(--color-background);color:var(--color-text);border-radius:12px;padding:24px}.appearance-preview article{background:var(--color-surface);border-radius:12px;padding:24px}.appearance-preview .muted{color:var(--color-text-secondary)}.appearance-preview h2{border-bottom:4px solid var(--color-accent)}.recording-panel{padding:18px 0}.recording-panel audio{margin:16px 0;display:block}.recording-status{color:var(--red);font-weight:700}@media (max-width:700px){.topbar{gap:16px}.account{flex-direction:row;justify-content:space-between;width:100%}.language-selector{order:-1}.recording-panel .actions button{flex:140px}}.login-story p,.login-story .eyebrow,.sidebar-label{color:inherit}.sidebar nav a.active,.sidebar nav a:hover{background:var(--color-secondary);color:var(--on-secondary)}.sidebar .brand-dot,.login-story .brand-dot{color:inherit}.card-number{background:var(--card-one);color:var(--card-ink)}.theme-card:nth-child(3n+2) .card-number{background:var(--card-two)}.theme-card:nth-child(3n) .card-number{background:var(--card-three)}.gap-sentence select,.explanation{background:var(--white);color:var(--ink)}.bilingual-label{align-items:inherit;flex-direction:column;gap:2px;line-height:1.2;display:inline-flex}.bilingual-label small{color:var(--muted);font-size:.72em;font-weight:400;line-height:1.25}.bilingual-nav{flex-wrap:wrap;display:flex;overflow-x:visible}.bilingual-nav a{text-align:center;min-width:110px}.bilingual-nav .bilingual-label{align-items:center}.bilingual-nav .bilingual-label small{color:inherit;opacity:.72}.navigation-editor-row{border:1px solid var(--line);border-radius:10px;padding:18px}.navigation-editor-row .actions{margin-top:12px}@media (max-width:700px){.bilingual-nav{gap:4px;padding:8px 14px}.bilingual-nav a{flex:30%;min-width:0;padding:10px 5px;font-size:13px}.bilingual-label small{font-size:.7em}}.filters{flex-wrap:wrap;gap:16px;display:flex}.filters .filter{min-width:220px}.content-counters{color:var(--muted);margin:-10px 0 20px}.inline-item{padding:0}.inline-item>summary{justify-content:space-between;gap:16px;padding:22px 24px;list-style:none;display:flex}.inline-item>summary::-webkit-details-marker{display:none}.inline-item[open]>summary{border-bottom:1px solid var(--line)}.summary-hint{color:var(--muted);white-space:nowrap;font-size:14px}.audio-badge{white-space:nowrap;border-radius:20px;padding:3px 10px;font-size:12px}.has-audio{color:#2c612e;background:#e8f2e7}.missing-audio{color:#8a5200;background:#fff1da}.inline-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 22px;padding:20px 24px 0;display:grid}.inline-fields p{margin:0}.status-line{color:var(--muted);grid-column:1/-1}.inline-item>.editor{margin:18px 24px}.inline-item>.row-actions{padding:0 24px 22px}@media (max-width:700px){.inline-item>summary{align-items:flex-start;padding:18px}.inline-fields{grid-template-columns:1fr;padding:18px 18px 0}.inline-item>.editor{margin:12px 18px}.inline-item>.row-actions{padding:0 18px 18px}.summary-hint{display:none}}.verb-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.65rem;display:grid}.verb-card{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:.7rem;gap:.2rem;padding:.8rem;display:grid}.conjugation{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.5rem;display:grid}.conjugation div{background:var(--surface);border-radius:.5rem;padding:.6rem}.conjugation b{color:var(--muted);font-size:.82rem;display:block}.verb-detail{margin:1rem 0}.verb-editor-fields{border:0;min-width:0;margin:0;padding:0}.lesson-explanation{white-space:pre-line}.verb-card,.conjugation div{background:var(--white)}.verb-card small{color:var(--muted)}.verb-detail{scroll-margin-top:20px}.verb-detail h2{overflow-wrap:anywhere}.verb-grid{grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr))}.section-nav button[aria-pressed=true]{background:var(--ink);color:var(--white)}.gap-sentence select{max-width:100%}.verb-admin .filters>label{min-width:0}.dialogue-module{max-width:960px;margin:28px 0 60px}.password-input{align-items:stretch;width:100%;display:flex}.password-input input{border-radius:8px 0 0 8px}.password-toggle{border-left:0;border-radius:0 8px 8px 0;min-width:70px;padding:8px 12px}.password-toggle svg{stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.page-heading:has(>.eyebrow) h1 .bilingual-label small{display:none}.dialogue-roles{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0;display:grid}.dialogue-roles>div{background:var(--white);border:1px solid var(--line);border-radius:12px;flex-direction:column;min-width:0;padding:18px;display:flex}.dialogue-roles strong,.dialogue-role strong{font-size:16px}.dialogue-roles .support-text,.dialogue-role .support-text{margin-top:4px;font-size:14px;display:block}.dialogue-modes{flex-wrap:wrap;gap:10px;margin:28px 0;display:flex}.dialogue-modes button.active{background:var(--green);color:#fff;border-color:var(--green)}.dialogue-transcript{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:8px 28px 24px}.dialogue-turn{border-bottom:1px solid var(--line);min-width:0;padding:22px 0}.dialogue-turn:last-child{border-bottom:0}.dialogue-turn p{overflow-wrap:anywhere;margin:14px 0 0}.dialogue-turn .dutch-line{font-size:20px;font-weight:600}.dialogue-turn .dialogue-prompt{font-family:Georgia,serif;font-size:22px;line-height:1.45}.dialogue-turn .audio{margin-top:14px;display:block}.dialogue-turn .actions{margin-top:18px}.dialogue-roles [data-speaker-role=A],.dialogue-turn[data-speaker-role=A]{--dialogue-role-color:var(--dialogue-person-a)}.dialogue-roles [data-speaker-role=B],.dialogue-turn[data-speaker-role=B]{--dialogue-role-color:var(--dialogue-person-b)}.dialogue-roles [data-speaker-role] strong,.dialogue-turn .dialogue-role strong,.dialogue-turn .dutch-line,.dialogue-edit-line h3{color:var(--dialogue-role-color)}.dialogue-module .support-text,.dialogue-color-preview .support-text,.dialogue-turn .dialogue-prompt,.dialogue-role .bilingual-label small,.dialogue-answer-label .bilingual-label small,.dialogue-feedback .bilingual-label small,.dialogue-audio-hint .bilingual-label small{color:var(--dialogue-translation)}.dialogue-turn.dialogue-exercise{border-left:4px solid var(--dialogue-role-color)}:root{--dialogue-person-b-button-background:#d9eaf7}.dialogue-exercise[data-speaker-role=B] .actions button,.dialogue-modes button.active[data-speaker-role=B]{background:var(--dialogue-person-b-button-background);color:var(--ink);border-color:var(--dialogue-person-b-button-background)}.dialogue-turn.dialogue-exercise .dialogue-answer-input:focus{outline-color:var(--dialogue-role-color)}.dialogue-turn.dialogue-exercise .dialogue-answer-input,.dialogue-turn .dialogue-answer-label,.dialogue-turn .dialogue-feedback{color:var(--dialogue-role-color)}.dialogue-edit-line{border-left:4px solid var(--dialogue-role-color);padding-left:14px}.dialogue-edit-line textarea[name=dutch]{color:var(--dialogue-role-color);font-weight:600}.appearance-color-controls{align-items:center;gap:10px;display:flex}.appearance-color-controls input[type=color]{cursor:pointer;width:64px;min-width:64px;padding:4px}.appearance-color-controls input[type=text]{max-width:150px;font-family:ui-monospace,monospace}.appearance-dialogue-settings{border-top:1px solid var(--line);padding-top:24px}.dialogue-color-preview{margin:20px 0}.dialogue-color-preview article{padding:8px 24px}.dialogue-color-preview .dialogue-turn:last-child{border-bottom:0}.login-shell,.login-preview{background:var(--login-background)}.login-shell .login-story,.login-preview .login-story{background:var(--login-background);color:var(--login-text)}.login-shell .login-story .bilingual-label small,.login-preview .login-story .bilingual-label small,.login-shell .login-story p,.login-shell .login-story .eyebrow,.login-preview .login-story p{color:var(--login-secondary)}.login-shell .login-story .brand-dot{color:var(--login-accent)}.login-shell .login-panel,.login-preview .login-panel{background:var(--login-surface)}.login-shell .login-panel .primary,.login-preview .login-panel .primary{background:var(--login-button);color:var(--login-button-text);border-color:var(--login-button)}.login-shell .login-panel .primary:hover,.login-preview .login-panel .primary:hover{filter:brightness(.9)}.appearance-login-settings{border-top:1px solid var(--line);padding-top:24px}.login-content-field{border:1px solid var(--line);border-radius:10px;min-width:0;padding:14px}.login-content-field legend{font-weight:700}.login-content-field label{margin:8px 0}.login-preview{border:1px solid var(--line);border-radius:12px;grid-template-columns:1fr 1fr;min-height:280px;display:grid;overflow:hidden}.login-preview .login-story{gap:16px;min-height:0;padding:26px}.login-preview .login-story h2{font-family:Georgia,serif;font-size:clamp(1.3rem,2vw,2rem);line-height:1.25}.login-preview .login-story h2 .bilingual-label{display:block}.login-preview .login-story p{margin:10px 0}.login-preview .login-panel{padding:26px}.login-preview .login-card{max-width:none}.login-preview .login-card label{margin-bottom:12px}.login-preview .login-card .primary{margin-top:12px}@media (max-width:700px){.login-preview{grid-template-columns:1fr}.login-preview .login-story,.login-preview .login-story>div>p{display:block}.login-preview .login-panel{padding:22px}.appearance-color-controls{flex-wrap:wrap}.appearance-color-controls input[type=text]{max-width:160px}}.dialogue-progress{justify-content:space-between;margin-top:20px}.dialogue-exercise{background:#f7faf7;border-radius:10px;margin:0 -14px;padding:22px 14px}.dialogue-answer-label{margin:18px 0 8px;display:block}.dialogue-answer-input{width:100%;max-width:680px}.dialogue-audio-hint{margin-top:16px}.dialogue-feedback{border:1px solid var(--line);overflow-wrap:anywhere;border-radius:10px;margin-top:18px;padding:14px 16px}.dialogue-feedback.correct{background:#e7f1e8;border-color:#bbd5bd}.dialogue-feedback.incorrect{background:#fff0e6;border-color:#edc9b2}.dialogue-feedback.revealed{background:#f3f6f3}.dialogue-feedback p{margin:8px 0}.dialogue-edit-line{min-width:0;margin:18px 0}.dialogue-edit-line textarea{min-height:90px}.dialogue-edit-line .media-editor{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}@media (max-width:680px){.dialogue-roles{grid-template-columns:1fr}.dialogue-transcript{padding:8px 18px 18px}.dialogue-modes button,.dialogue-turn .audio{width:100%}.dialogue-edit-line{padding:20px}.dialogue-module{margin-top:20px}}.home-hero{--home-navy:#16345a;--home-blue:#8ccbff;--home-yellow:#ffc94d;background:var(--home-navy);color:#fff;min-height:100dvh;font-family:Poppins,Arial,sans-serif;overflow:hidden}.home-hero-content{text-align:center;flex-direction:column;align-items:center;max-width:1280px;min-height:100dvh;margin:auto;padding:clamp(32px,6vh,76px) 24px 34px;display:flex}.home-brand{letter-spacing:-.055em;color:#fff;font-size:clamp(1.65rem,2.4vw,2.125rem);font-weight:800;text-decoration:none}.home-brand span{color:var(--home-yellow)}.home-message{flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;padding:clamp(52px,9vh,120px) 0;display:flex}.home-kicker{letter-spacing:.24em;flex-direction:column;align-items:center;gap:8px;display:flex}.home-kicker strong{font-size:clamp(.7rem,1.35vw,1rem);font-weight:600}.home-kicker span{color:var(--home-blue);letter-spacing:.2em;font-size:clamp(.65rem,1.1vw,.875rem)}.home-kicker i{background:var(--home-yellow);border-radius:999px;width:120px;height:4px;margin:24px 0 clamp(32px,5vh,66px)}.home-message h1{letter-spacing:-.055em;flex-direction:column;align-items:center;max-width:100%;margin:0;font-family:Playfair Display,Georgia,serif;font-size:clamp(3.65rem,10vw,6rem);font-weight:600;line-height:.95;display:flex;position:relative}.home-message h1:before,.home-message h1:after{content:"";background:var(--home-yellow);border-radius:99px;width:clamp(26px,5vw,68px);height:6px;position:absolute;top:50%}.home-message h1:before{right:calc(100% + clamp(16px,3vw,52px));transform:rotate(27deg)}.home-message h1:after{left:calc(100% + clamp(16px,3vw,52px));transform:rotate(-27deg)}.home-translation{color:var(--home-blue);margin:clamp(22px,4vh,42px) 0 clamp(32px,5vh,54px);font-size:clamp(1.75rem,3.5vw,2.125rem);font-weight:600}.home-cta{background:var(--home-blue);color:var(--home-navy);border-radius:999px;align-items:center;gap:24px;padding:18px 42px;font-size:clamp(1rem,1.8vw,1.25rem);font-weight:700;text-decoration:none;transition:transform .2s,background .2s;display:inline-flex}.home-cta:hover{background:#b5e0ff;transform:translateY(-2px)}.home-cta:focus-visible{outline:3px solid var(--home-yellow);outline-offset:4px}.home-cta span{font-size:1.6em;line-height:.7}.home-footer{flex-direction:column;align-items:center;gap:20px;display:flex}.home-footer p{margin:0;font-family:Georgia,serif;font-size:clamp(1.15rem,2vw,1.375rem);font-style:italic}.home-footer>i{background:var(--home-yellow);border-radius:70% 40%;width:150px;height:4px;transform:rotate(-4deg)}.home-footer nav{align-items:center;gap:24px;margin-top:10px;display:flex}.home-footer nav a{color:var(--home-blue);width:38px;height:38px;place-items:center;transition:transform .2s;display:grid}.home-footer nav a:hover{transform:translateY(-2px)scale(1.05)}.home-footer svg{fill:currentColor;stroke:currentColor;stroke-width:1.8px;width:34px;height:34px}.home-footer svg circle,.home-footer svg rect{fill:none}.home-footer .home-social-play{fill:var(--home-navy);stroke:none}@media (max-width:700px){.home-hero-content{padding:28px 20px}.home-message{padding:64px 0}.home-kicker{letter-spacing:.16em}.home-kicker i{margin:20px 0 40px}.home-message h1{font-size:clamp(3.25rem,16vw,4rem)}.home-message h1:before,.home-message h1:after{display:none}.home-cta{justify-content:center;width:100%;max-width:330px;padding:17px 28px}.home-footer nav{gap:20px}.home-footer nav a,.home-footer svg{width:30px;height:30px}}
:root{--ink:var(--color-text);--green:var(--color-primary);--green-hover:var(--color-secondary);--paper:var(--color-background);--white:var(--color-surface);--line:var(--ui-border-color);--muted:var(--color-text-secondary);--yellow:var(--color-accent);--red:var(--ui-error-color);font-family:Poppins,Arial,sans-serif}body{font-size:var(--ui-body);color:var(--color-text);background:var(--color-background);line-height:1.6}h1,.page-heading h1{font:600 var(--ui-page-title)/1.2 "Playfair Display",Georgia,serif;color:var(--ui-title-color);letter-spacing:-.02em;overflow-wrap:anywhere}h2{font-size:var(--ui-section-title);color:var(--ui-section-color);line-height:1.25}h3,.theme-card h2{font-size:var(--ui-card-title);line-height:1.3}.small,.hint,.support-text,.bilingual-label small,.theme-card p,.practice-bottom{font-size:var(--ui-translation);opacity:1;color:var(--ui-translation-color);line-height:1.5}.eyebrow{font-size:14px}.muted{color:var(--color-text-secondary)}button,.button{min-height:var(--ui-button-space);font-size:var(--ui-button);overflow-wrap:anywhere}.primary{background:var(--color-button-primary);color:var(--ui-button-text-color);border-color:var(--color-button-primary)}.primary small{color:inherit}button:disabled{opacity:1;color:var(--color-text-secondary);background:var(--color-background);cursor:not-allowed}input,textarea,select{font-size:max(16px,var(--ui-input));min-height:var(--ui-field-space);border-color:var(--ui-border-color)}label{font-size:16px}label .hint{font-weight:400}:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px;box-shadow:0 0 0 2px var(--color-surface)}.topbar,.main-nav{gap:var(--ui-nav-space);padding-inline:max(24px,50% - 640px)}.account{font-size:var(--ui-nav);flex-wrap:wrap}.main-nav{flex-wrap:wrap}.main-nav a{min-height:44px;padding-block:var(--ui-nav-space);font-size:var(--ui-nav);color:var(--ui-nav-color)}.main-nav small{font-size:var(--ui-nav-translation);color:var(--ui-nav-translation-color)}.main-nav a.active{border-color:var(--ui-nav-active-color)}.learning-main{max-width:1280px;padding:var(--ui-page-space);color:var(--ui-body-color)}.learning-main .muted{color:var(--ui-extra-color)}.theme-card,.panel,.practice{border-color:var(--ui-border-color);background:var(--color-surface);padding:24px}.theme-card{min-width:0}.card-action,.back-link{font-size:var(--ui-button);min-height:44px}.practice{max-width:80ch}.practice .translation{font:400 var(--ui-prompt)/1.6 Poppins,Arial,sans-serif;color:var(--ui-practice-translation-color);margin:24px 0}.practice input,.gap-sentence select{font-size:var(--ui-practice-input);min-height:var(--ui-field-space)}.practice-actions{gap:var(--ui-practice-space);flex-wrap:wrap}.practice .notice{font-size:var(--ui-feedback)}.practice .dutch-line{font-size:var(--ui-answer)}.audio{max-width:100%;height:54px}.notice.success,.dialogue-feedback.correct{color:var(--ui-success-color);background:var(--color-surface);border:1px solid}.notice.error,.dialogue-feedback.incorrect{color:var(--ui-error-color);background:var(--color-surface);border:1px solid}.admin-shell{font-size:var(--ui-admin-table)}.admin-sidebar a,.admin-nav a{font-size:var(--ui-admin-menu);min-height:44px}.admin-main,.admin-content,.panel,.form-grid>*{min-width:0}.admin-shell input,.admin-shell textarea,.admin-shell select{font-size:var(--ui-admin-input)}.admin-shell .small,.admin-shell .hint,.admin-shell small{font-size:max(14px,var(--ui-translation))}.admin-row,.student-row{min-height:var(--ui-row-space);overflow-wrap:anywhere}.admin-list,.row-title,.student-dates{min-width:0}.row-title span{overflow-wrap:anywhere}.admin-shell table{font-size:var(--ui-admin-table)}.table-scroll{max-width:100%;overflow-x:auto}.table-scroll table{min-width:640px}td,th{overflow-wrap:anywhere;padding:12px}@media (max-width:1024px){.learning-main{padding:24px}h1,.page-heading h1{font-size:max(24px,calc(var(--ui-page-title) - 4px))}}@media (max-width:767px){body{font-size:max(16px,calc(var(--ui-body) - 1px))}.learning-main{padding:20px 18px}h1,.page-heading h1{font-size:max(24px,calc(var(--ui-page-title) - 8px))}h2{font-size:max(20px,calc(var(--ui-section-title) - 4px))}.topbar{flex-wrap:wrap;padding:20px 18px}.account{gap:12px}.main-nav{padding-inline:18px}.theme-card,.panel,.practice{padding:20px}.admin-row,.student-row{flex-wrap:wrap}.form-grid{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.admin-shell .sidebar nav a{font-size:var(--ui-admin-menu);min-height:44px}.admin-shell .sidebar-label{font-size:14px}.admin-shell .sidebar .brand{font-size:26px}.admin-shell .admin-main{font-size:var(--ui-admin-table)}.appearance-fieldset{border:0;min-width:0;margin:0;padding:0}.appearance-presets{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:24px;display:grid}.appearance-presets button{min-height:64px}.appearance-presets [aria-pressed=true]{background:var(--color-primary);color:var(--on-primary);border-width:2px}.appearance-section{border:1px solid var(--ui-border-color);background:var(--color-surface);border-radius:14px;margin:12px 0}.appearance-section>summary{cursor:pointer;min-height:56px;padding:20px;font-size:18px;font-weight:600}.appearance-section-body{padding:0 20px 20px}.appearance-controls-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:20px 0;display:grid}.appearance-controls-grid>div{border:1px solid var(--ui-border-color);border-radius:12px;min-width:0;padding:16px}.appearance-controls-grid ul{flex-wrap:wrap}.appearance-controls-grid input[type=color]{flex:none}.appearance-controls-grid input[type=number]{max-width:150px}.appearance-controls-grid details{margin-top:10px}.appearance-controls-grid label{flex-wrap:wrap}.appearance-region-preview{background:var(--color-background);color:var(--color-text);border:1px solid var(--ui-border-color);overflow-wrap:anywhere;border-radius:12px;margin:24px 0;padding:24px}.appearance-sample .preview-language{margin-bottom:20px;font-size:16px}.appearance-sample .preview-language button{min-height:44px;font-size:15px}.appearance-sample .main-nav{gap:var(--ui-nav-space);padding:0}.appearance-sample .preview-dialogues{min-height:0;font-size:var(--ui-body)}.appearance-sample .practice{width:100%}.appearance-sample .preview-page{padding:var(--ui-page-space);background:var(--color-surface);font-size:var(--ui-body);color:var(--ui-body-color);border-radius:12px}.appearance-sample .preview-title{font:600 var(--ui-page-title)/1.2 Georgia,serif;color:var(--ui-title-color)}.appearance-sample .preview-page h3{font-size:var(--ui-section-title);color:var(--ui-section-color)}.appearance-sample .preview-page .muted{font-size:var(--ui-translation);color:var(--ui-extra-color)}.appearance-sample .preview-admin{background:var(--color-surface);min-height:0;padding:20px;display:block}.appearance-sample .preview-admin nav{padding:12px 0}.appearance-sample .preview-admin table{width:100%;min-width:320px}.appearance-sample .login-preview .login-story small{font-size:var(--ui-login-translation);color:var(--login-secondary)}.appearance-save{background:var(--color-surface);border-top:1px solid var(--ui-border-color);z-index:2;margin-top:24px;padding:16px;position:sticky;bottom:0}.appearance-save p{margin:0 0 10px}.appearance-warning{border:1px solid var(--ui-warning-color);color:var(--ui-warning-color);border-radius:10px;padding:16px}@media (max-width:767px){.appearance-controls-grid{grid-template-columns:minmax(0,1fr)}.appearance-section-body{padding-inline:12px}.appearance-region-preview{padding:14px}.appearance-sample .login-preview{grid-template-columns:minmax(0,1fr)}.appearance-presets{gap:6px}.appearance-presets button{padding:8px}.appearance-save{position:static}.appearance-editor{padding:16px}}@media (max-width:700px){.admin-shell .sidebar .brand{max-width:none;font-size:24px;line-height:1.2;display:block}.admin-shell .sidebar .brand br{display:block}.admin-shell .sidebar form{margin-top:16px;position:static}.admin-shell .sidebar nav{flex-wrap:wrap;gap:8px;overflow:visible}.admin-shell .sidebar nav a{padding:10px 12px}}
.login-shell{background:var(--login-background);min-height:100dvh;color:var(--login-text);grid-template-columns:minmax(0,1fr) minmax(0,1fr);font-family:Poppins,Arial,sans-serif;display:grid}@media (max-width:767px){.login-shell{grid-template-columns:minmax(0,1fr);min-height:0}}.login-shell>.login-story{background:var(--login-background);color:var(--login-text);text-align:center;overflow-wrap:anywhere;flex-direction:column;align-items:center;gap:1.5rem;min-height:auto;padding:clamp(1.5rem,4vw,2rem);display:flex}.login-shell>.login-story .brand{color:var(--login-text);letter-spacing:-.05em;margin:0;font:800 clamp(1.6rem,2.4vw,2.35rem)/1 Poppins,Arial,sans-serif}.login-hero-copy{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:clamp(.5rem,1.5vh,1rem);width:100%;min-width:0;display:flex}.login-hero-kicker{letter-spacing:.21em;gap:.4rem;font-family:Poppins,Arial,sans-serif;display:grid}.login-hero-kicker strong{font-size:var(--ui-translation);font-weight:600}.login-hero-kicker span{color:var(--login-secondary);font-size:var(--ui-login-translation)}.login-hero-kicker i,.login-hero-footer>i{background:var(--ui-role-action-color,lightblue);border-radius:99px;width:7.5rem;height:4px;margin:.55rem auto 0;display:block}.login-shell>.login-story .login-hero-copy h1{color:var(--login-text);font-family:Playfair Display,Georgia,serif;font-size:var(--ui-login-title,36px);letter-spacing:-.04em;margin:clamp(.35rem,1vh,.9rem) 0 0;font-weight:600;line-height:1;display:grid;position:relative}.login-shell>.login-story .login-hero-copy h1:before,.login-shell>.login-story .login-hero-copy h1:after{content:none}.login-hero-subtitle{color:var(--login-text);font:500 var(--ui-login-subtitle,22px) / 1.15 Poppins, Arial, sans-serif;gap:.3rem;margin:0;display:grid}.login-hero-subtitle .bilingual-label{color:var(--login-secondary);font-size:var(--ui-login-translation);display:block}.login-shell>.login-story .login-hero-translation{color:var(--login-secondary);font:500 var(--ui-login-translation,15px) / 1.4 Poppins, Arial, sans-serif;margin:0}.login-hero-cta{color:var(--login-text);background:var(--login-secondary);font:600 var(--ui-body,17px) / 1 Poppins, Arial, sans-serif;border-radius:999px;justify-content:center;align-items:center;margin-top:.35rem;padding:.85rem 1.7rem;text-decoration:none;transition:transform .2s,background .2s;display:inline-flex}.login-hero-cta:hover,.login-hero-cta:focus-visible{background:var(--ui-role-action-color,lightblue);transform:translateY(-2px)}.login-hero-cta>span:first-child{text-align:center;gap:.18rem;display:grid}.login-hero-cta small{font-size:var(--ui-login-translation);font-weight:500}.login-hero-cta:focus-visible,.login-hero-footer nav a:focus-visible{outline:3px solid var(--ui-role-action-color,lightblue);outline-offset:4px}.login-hero-footer{gap:.65rem;display:grid}.login-shell>.login-story .login-hero-footer p{color:var(--login-text);font:italic var(--ui-body,17px) / 1.3 Georgia, serif;margin:0}.login-hero-footer p small{color:var(--login-secondary);margin-top:.18rem;font:.68em/1.3 Poppins,Arial,sans-serif;display:block}.login-hero-footer>i{width:8rem;height:3px;margin:0 auto .35rem;transform:rotate(-4deg)}.login-hero-footer nav{justify-content:center;gap:1rem;display:flex}.login-hero-footer nav a{width:44px;height:44px;color:var(--login-secondary);place-items:center;transition:transform .2s;display:grid}.login-hero-footer nav a:hover{transform:translateY(-2px)scale(1.05)}.login-hero-footer svg{fill:currentColor;stroke:currentColor;stroke-width:1.7px;width:30px;height:30px}.login-hero-footer .instagram-icon{fill:none;stroke:var(--login-secondary);stroke-width:1.9px}.login-hero-footer .instagram-icon circle:last-child{fill:var(--login-text);stroke:var(--login-text)}.login-hero-footer .social-fill{fill:var(--login-text);stroke:none}.login-shell>.login-panel{background:var(--login-surface);color:var(--color-text);flex-direction:column;justify-content:center;min-width:0;padding:clamp(20px,3vw,40px);font-family:Poppins,Arial,sans-serif;display:flex;overflow:auto}.login-shell>.login-panel .login-card{width:min(100%,520px);min-width:0;max-width:520px;margin:0 auto}.login-shell>.login-panel .language-selector{gap:12px;margin-bottom:16px}.login-shell>.login-panel .language-selector button{min-width:44px;min-height:44px;font-size:max(16px, var(--ui-input));color:var(--color-text);border:1px solid var(--ui-border-color,#bfd0cb);background:0 0;border-radius:14px}.login-shell>.login-panel .language-selector [aria-pressed=true]{background:var(--login-button);color:var(--login-button-text)}.login-shell>.login-panel h1,.login-shell>.login-panel h2{color:var(--color-text);font-family:Playfair Display,Georgia,serif;font-size:var(--ui-page-title,36px);margin:0 0 16px;line-height:1.15}.login-shell>.login-panel h1 small,.login-shell>.login-panel h2 small{color:var(--color-text-secondary,#7888a0);font-size:.72em}.login-shell>.login-panel .muted{color:var(--ui-translation-color,var(--color-text-secondary,#536780));font-size:var(--ui-translation,15px);line-height:1.5}.login-shell>.login-panel .bilingual-label{gap:8px}.login-shell>.login-panel p small,.login-shell>.login-panel label small,.login-shell>.login-panel .primary small{font-size:var(--ui-translation,15px);color:var(--ui-translation-color,var(--color-text-secondary,#536780));line-height:1.4}.login-shell>.login-panel label{font-size:max(16px, var(--ui-input));color:var(--color-text);gap:8px;display:grid}.login-shell>.login-panel .stack{gap:18px;margin:16px 0;display:grid}.login-shell>.login-panel input{min-height:var(--ui-field-space,48px);font-size:max(16px, var(--ui-input));background:var(--login-surface);color:var(--color-text);border:1px solid var(--ui-border-color,#bfd0cb);border-radius:8px;width:100%;padding:12px 16px}.login-shell>.login-panel .password-toggle{min-width:44px;min-height:44px;font-size:max(16px, var(--ui-input));color:var(--color-text);cursor:pointer;background:0 0;border:none;padding:8px}.login-shell>.login-panel .password-toggle svg{flex:none;width:24px;height:24px}.login-shell>.login-panel .primary{width:100%;min-height:var(--ui-button-space,48px);background:var(--login-button);color:var(--login-button-text);font-size:var(--ui-body,17px);cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;display:inline-flex}.login-shell>.login-panel .primary small{color:inherit}.login-shell>.login-panel .small.muted{font-size:var(--ui-translation,15px);color:var(--ui-translation-color,var(--color-text-secondary,#536780))}@media (min-height:0) and (max-height:800px){.login-shell>.login-story{gap:.75rem;padding:1rem clamp(1rem,3vw,1.5rem)}.login-hero-copy{gap:.5rem}.login-shell>.login-panel{padding:clamp(16px,2.5vw,28px)}.login-shell>.login-panel .stack{gap:12px;margin:10px 0}.login-shell>.login-panel h1,.login-shell>.login-panel h2{margin-bottom:10px}}@media (max-width:767px){.login-shell>.login-story{min-height:auto;padding:2rem 1.25rem}.login-hero-copy{flex:none}.login-shell>.login-panel{padding:clamp(20px,4vw,36px) 20px}}@media (prefers-reduced-motion:reduce){.login-hero-cta,.login-hero-cta:hover,.login-hero-cta:focus-visible,.login-hero-footer nav a,.login-hero-footer nav a:hover{transition:none;transform:none}}.login-hero-copy,.login-shell>.login-panel .login-card{overflow-wrap:anywhere;word-break:break-word}.login-shell>.login-story .login-hero-subtitle{color:var(--login-text);max-width:100%}.login-hero-subtitle .bilingual-label{font-size:var(--ui-login-subtitle);color:var(--login-text)}.login-hero-subtitle small,.login-hero-footer p small{font-size:var(--ui-login-translation);color:var(--login-secondary);line-height:1.5}.login-hero-cta{background:var(--ui-role-action-color);color:var(--color-text);min-height:48px;line-height:1.4}.login-hero-cta small{color:inherit}.login-hero-kicker i,.login-hero-footer>i{background:var(--login-accent)}.login-shell>.login-panel input{font-size:max(16px,var(--ui-input))}.login-shell>.login-panel .primary{font-size:var(--ui-button)}.login-shell>.login-panel .muted{font-size:var(--ui-body)}@media (max-width:767px){.login-shell>.login-story .login-hero-copy h1{font-size:max(24px,calc(var(--ui-login-title) - 8px))}.login-shell>.login-panel h2{font-size:max(24px,calc(var(--ui-page-title) - 8px))}}.login-hero-subtitle .bilingual-label{flex-direction:column;gap:6px;display:flex}.login-shell>.login-panel .password-toggle{white-space:nowrap;min-width:84px}.login-shell>.login-story .brand-dot{color:var(--login-accent)}.login-shell>.login-story .login-hero-copy>p,.login-shell>.login-story .login-hero-footer>p{display:block}
.dialogues-page,.device-page,.student-module-page{--dialogue-blue:var(--ui-title-color,#16345a);--dialogue-light:var(--ui-role-action-color);--dialogue-yellow:var(--color-accent);--student-body:var(--ui-body,17px);--student-support:var(--ui-translation);background:var(--color-background,#f7fbfe);color:var(--dialog-role-text,var(--ui-body-color));font-family:Poppins,Arial,sans-serif;font-size:var(--student-body);min-height:100dvh}.dialogues-page .topbar,.dialogues-page .main-nav{background:var(--color-surface,#fff);border-color:var(--ui-border-color,#dbe6ed);padding-inline:max(24px,50% - 640px)}.dialogues-page .topbar{padding-block:var(--ui-page-space,28px);gap:var(--ui-nav-space,24px)}.dialogues-page .brand,.device-page .brand,.student-module-page .brand{font-size:var(--ui-section-title,2rem);color:var(--ui-title-color,var(--color-text,#16345a));font-weight:800}.dialogues-page .brand-dot,.device-page .brand-dot{color:var(--ui-accent-color,var(--color-accent,#ffc94d))}.dialogues-page .account{font-size:var(--student-body);gap:var(--ui-nav-space,24px)}.dialogues-page button,.device-page button,.student-module-page button{font-size:var(--ui-button,17px);color:var(--color-text);min-height:44px}.dialogues-page .language-selector button,.device-page .language-selector button{background:var(--color-surface,#fff);min-width:72px;min-height:44px;color:var(--ui-button-text-color,var(--color-text,#16345a));border-color:var(--ui-border-color,#c8d9e7)}.dialogues-page .language-selector [aria-pressed=true],.device-page .language-selector [aria-pressed=true]{background:var(--color-primary,#16345a);color:var(--on-primary,#fff)}.dialogues-page .bilingual-label,.device-page .bilingual-label{gap:6px}.dialogues-page .bilingual-label small,.device-page .bilingual-label small{font-size:var(--student-support);opacity:1;color:var(--ui-translation-color,var(--color-text-secondary,#58718d));line-height:1.4}.dialogues-page .main-nav{gap:var(--ui-nav-space,28px)}.dialogues-page .main-nav a{padding:var(--ui-nav-space,22px) var(--ui-nav-space,28px) var(--ui-nav-space,18px) 0;font-size:var(--ui-nav,1.5rem);text-align:left;color:var(--ui-nav-color,var(--color-text,#16345a));min-height:44px}.dialogues-page .main-nav a.active{border-color:var(--ui-nav-active-color,var(--color-primary,#16345a));border-width:4px}.dialogues-page .main-nav .bilingual-label{align-items:flex-start}.dialogues-page .learning-main,.student-module-page .learning-main{max-width:1280px;padding:var(--ui-page-space,56px) var(--ui-nav-space,24px) var(--ui-nav-space,80px);margin-inline:auto}.dialogues-page .support-text,.device-page .support-text{font-size:var(--student-support);line-height:1.5}.dialogues-hero{align-items:center;gap:var(--ui-section-space,48px);margin-bottom:var(--ui-section-space,48px);grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr);display:grid}.dialogues-hero h1{font:600 var(--ui-page-title,3.4rem)/1.05 "Playfair Display", Georgia, serif;color:var(--ui-title-color,var(--color-text,#16345a));margin:0}.dialogues-title-translation{font-size:var(--ui-translation,1.75rem);color:var(--ui-translation-color,var(--color-text-secondary,#587da4));margin-top:12px;display:block}.dialogues-hero>div>i{background:var(--ui-accent-color,var(--color-accent,#ffc94d));border-radius:4px;width:96px;height:4px;margin:24px 0;display:block}.dialogues-hero p{font-size:var(--ui-body,1.5rem);max-width:75ch;margin:0;line-height:1.5}.dialogue-hero-art{align-items:center;gap:24px;display:flex}.dialogue-hero-art svg{flex:none;width:120px}.dialogue-hero-art em{font:600 italic var(--ui-section-title,1.875rem)/1.25 Georgia, serif;display:block}.dialogue-hero-art span{font-size:var(--student-support);color:var(--ui-translation-color,var(--color-text-secondary,#587da4));margin-top:16px;display:block}.dialogue-spark{stroke:var(--ui-accent-color,var(--color-accent,#ffc94d))}:is(.dialogues-page,.dialogue-module) .dialogue-grid{gap:var(--ui-grid-space,28px);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}:is(.dialogues-page,.dialogue-module) .dialogue-card{min-width:0;min-height:360px;padding:var(--ui-card-space,28px);gap:var(--ui-card-space,24px);border:1px solid var(--ui-border-color,#dbe6ed);background:var(--color-surface,#fff);border-radius:20px;box-shadow:0 8px 24px #16345a0a}.dialogue-card-top{justify-content:space-between;align-items:center;display:flex}:is(.dialogues-page,.dialogue-module) .dialogue-card .card-number{background:var(--ui-accent-color,var(--color-accent,#ffc94d));width:64px;height:64px;color:var(--ui-title-color,var(--color-text,#16345a));font-size:var(--ui-card-title,1.5rem);border-radius:16px;font-weight:700}.dialogue-card-top svg{width:64px;height:64px;color:var(--ui-extra-color,#6faef0)}:is(.dialogues-page,.dialogue-module) .dialogue-card h2{font:600 var(--ui-card-title,2rem)/1.2 "Playfair Display", Georgia, serif;overflow-wrap:anywhere;color:var(--ui-title-color,var(--color-text,#16345a));margin:0 0 12px}:is(.dialogues-page,.dialogue-module) .dialogue-card .support-text{font-size:var(--student-support);color:var(--ui-translation-color,var(--color-text-secondary,#58718d));margin:0}.dialogues-page .card-action{font-size:var(--student-body);background:var(--dialogue-light);color:var(--dialog-role-text,var(--ui-body-color));border-radius:40px;align-items:center;gap:12px;min-height:84px;padding:16px 20px;display:flex}.dialogues-page .card-action b{width:44px;height:44px;font-size:var(--ui-card-title,28px);background:#ffffff59;border-radius:50%;flex:none;place-items:center;display:grid}.dialogues-page .back-link{font-size:var(--student-body);margin-bottom:var(--ui-section-space,32px);gap:8px;min-height:44px;display:inline-flex}:is(.dialogues-page,.dialogue-module) .dialogue-module{max-width:none;margin:0}:is(.dialogues-page,.dialogue-module) .dialogue-detail-hero{margin-bottom:var(--ui-section-space,36px)}:is(.dialogues-page,.dialogue-module) .dialogue-detail-art{display:none}:is(.dialogues-page,.dialogue-module) .dialogue-module .page-heading{max-width:none;margin:0}:is(.dialogues-page,.dialogue-module) .dialogue-module h1{font:600 var(--ui-page-title,4rem)/1.12 "Playfair Display", Georgia, serif;letter-spacing:-.035em;white-space:normal;overflow-wrap:anywhere;color:var(--ui-title-color,var(--color-text,#16345a));max-width:75ch;margin:0}:is(.dialogues-page,.dialogue-module) .dialogue-module h1:after{content:"";background:var(--ui-accent-color,var(--color-accent,#ffc94d));border-radius:4px;width:96px;height:4px;margin:24px 0 16px;display:block}:is(.dialogues-page,.dialogue-module) .dialogue-detail-hero .support-text{font-size:var(--ui-translation,1.625rem);color:var(--ui-translation-color,var(--color-text-secondary,#587da4));margin:0}:is(.dialogues-page,.dialogue-module) .dialogue-modes{gap:var(--ui-grid-space,20px);margin:0 0 var(--ui-section-space,32px);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}:is(.dialogues-page,.dialogue-module) .dialogue-mode-card{text-align:left;min-height:176px;padding:var(--ui-card-space,24px);background:var(--color-surface,#fff);color:var(--dialog-role-text,var(--ui-body-color));border:1px solid var(--ui-border-color,#c6deef);border-radius:20px;grid-template-columns:64px minmax(0,1fr) 20px;gap:18px;transition:transform .2s,box-shadow .2s;display:grid}:is(.dialogues-page,.dialogue-module) .dialogue-mode-card .bilingual-label{font-size:var(--ui-body,17px);align-items:flex-start;line-height:1.35}:is(.dialogues-page,.dialogue-module) .dialogue-mode-card small{color:var(--ui-translation-color,var(--color-text-secondary,#58718d))}:is(.dialogues-page,.dialogue-module) .dialogue-mode-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #16345a12}:is(.dialogues-page,.dialogue-module) .dialogue-mode-card[aria-pressed=true],:is(.dialogues-page,.dialogue-module) .dialogue-mode-card.active{background:var(--color-primary,#16345a);color:var(--on-primary,#fff);border-color:var(--color-primary,#16345a)}:is(.dialogues-page,.dialogue-module) .dialogue-mode-card[aria-pressed=true] small,:is(.dialogues-page,.dialogue-module) .dialogue-mode-card.active small{color:#ffffffd9}:is(.dialogues-page,.dialogue-module) .dialogue-mode-card.B[aria-pressed=true],:is(.dialogues-page,.dialogue-module) .dialogue-mode-card.B.active{background:var(--dialogue-person-b,#d9eaf7);color:var(--on-person-b,#16345a);border-color:var(--dialogue-person-b,#8ccbff)}:is(.dialogues-page,.dialogue-module) .dialogue-mode-card.B[aria-pressed=true] small,:is(.dialogues-page,.dialogue-module) .dialogue-mode-card.B.active small{color:var(--on-person-b,#16345a)}.dialogue-mode-icon{width:64px;height:64px;font-style:normal;font-size:var(--ui-section-title,32px);flex:none;place-items:center;font-weight:800;display:grid}.dialogue-mode-icon svg{width:60px;height:54px}.dialogue-mode-icon.A,.dialogue-mode-icon.B{color:var(--on-primary,#fff);border-radius:50%}.dialogue-mode-icon.A{background:var(--dialogue-person-a,var(--color-primary,#16345a));color:var(--on-person-a,#fff)}.dialogue-mode-icon.B{background:var(--dialogue-person-b,var(--dialogue-light,#8ccbff));color:var(--on-person-b,#16345a)}.dialogue-mode-arrow{font-size:var(--ui-section-title,36px);line-height:1}:is(.dialogues-page,.dialogue-module) .dialogue-transcript{border:1px solid var(--ui-border-color,#dbe6ed);background:var(--color-surface,#fff);border-radius:20px;padding:12px 32px}:is(.dialogues-page,.dialogue-module) .dialogue-turn{padding:var(--ui-turn-space,28px) 0}:is(.dialogues-page,.dialogue-module) .dialogue-turn[data-speaker-role=A]{--dialog-role-color:var(--dialogue-person-a,var(--color-primary,#16345a));--dialog-role-text:var(--dialogue-person-a-text,var(--color-text,#16345a));--dialog-role-ink:var(--on-person-a,#fff)}:is(.dialogues-page,.dialogue-module) .dialogue-turn[data-speaker-role=B]{--dialog-role-color:var(--dialogue-person-b,var(--dialogue-light,#8ccbff));--dialog-role-text:var(--dialogue-person-b-text,var(--color-text,#16345a));--dialog-role-ink:var(--on-person-b,#16345a)}:is(.dialogues-page,.dialogue-module) .dialogue-role{align-items:center;gap:16px;display:flex}:is(.dialogues-page,.dialogue-module) .dialogue-role strong{font-size:var(--ui-role,var(--student-body));color:var(--dialog-role-text);line-height:1.35}:is(.dialogues-page,.dialogue-module) .dialogue-role .support-text{font-size:var(--ui-role,var(--student-support));margin:4px 0 0}:is(.dialogues-page,.dialogue-module) .dialogue-speaker-badge{background:var(--dialog-role-color);width:48px;height:48px;color:var(--dialog-role-ink);font:700 var(--ui-card-title,24px)/1 Arial, sans-serif;border-radius:50%;flex:none;place-items:center;display:grid}:is(.dialogues-page,.dialogue-module) .dialogue-turn .dutch-line{font-size:var(--ui-dialogue,2rem);color:var(--dialog-role-text,var(--ui-body-color));max-width:75ch;margin:20px 0 8px;line-height:1.45}:is(.dialogues-page,.dialogue-module) .dialogue-turn .support-text{font-size:var(--ui-dialogue-translation,var(--student-support));color:var(--ui-translation-color,var(--color-text-secondary,#58718d))}:is(.dialogues-page,.dialogue-module) .dialogue-exercise{padding:var(--ui-practice-space,28px);border:1px solid var(--ui-border-color,#dbe6ed);border-left:4px solid var(--dialog-role-color);background:var(--color-surface,#fbfdff);border-radius:16px;margin:16px 0}:is(.dialogues-page,.dialogue-module) .dialogue-prompt{font-size:var(--ui-prompt,var(--ui-dialogue,2rem));color:var(--ui-practice-color,var(--dialog-role-text));max-width:75ch;margin:24px 0;line-height:1.5}:is(.dialogues-page,.dialogue-module) .dialogue-answer-input{font-size:max(var(--ui-practice-input,1rem), 16px);min-height:44px;padding:16px}:is(.dialogues-page,.dialogue-module) .dialogue-exercise .actions{gap:var(--ui-button-space,16px);margin-top:20px}:is(.dialogues-page,.dialogue-module) .dialogue-exercise .actions button{min-height:44px;font-size:var(--ui-button,17px);border-radius:12px;padding:14px 24px}:is(.dialogues-page,.dialogue-module) .dialogue-exercise .actions .primary{background:var(--color-button-primary,var(--color-primary,#16345a));color:var(--on-button,#fff)}:is(.dialogues-page,.dialogue-module) .dialogue-exercise .actions .primary:hover{background:var(--color-button-primary-hover,var(--color-primary-dark,#0f2440))}:is(.dialogues-page,.dialogue-module) .dialogue-exercise .actions .secondary{color:var(--ui-button-text-color,var(--color-text,#16345a));border:1px solid var(--ui-border-color,#c8d9e7);background:0 0}.dialogues-page .completion-banner,.dialogues-page .feedback{font-size:var(--student-body);line-height:1.5}.student-module-page .module-grid{gap:var(--ui-grid-space,28px);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.student-module-page .module-card,.device-page .device-card{padding:var(--ui-card-space,28px);border:1px solid var(--ui-border-color,#dbe6ed);background:var(--color-surface,#fff);border-radius:20px;min-width:0}.student-module-page .module-card h2,.device-page .device-card h2{font:600 var(--ui-card-title,2rem)/1.2 "Playfair Display", Georgia, serif;overflow-wrap:anywhere;color:var(--ui-title-color,var(--color-text,#16345a));margin:0 0 12px}.device-page .device-card button{min-height:44px;font-size:var(--ui-button,17px);padding:14px 24px}.student-module-page .module-card .card-action,.device-page .device-card .card-action{min-height:44px;font-size:var(--student-body);align-items:center;gap:12px;display:flex}@media (max-width:1024px){.dialogues-hero{grid-template-columns:1fr}.dialogue-hero-art{justify-content:flex-start}:is(.dialogues-page,.dialogue-module) .dialogue-grid,:is(.dialogues-page,.dialogue-module) .dialogue-modes{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:768px){.dialogues-page .topbar,.dialogues-page .main-nav{padding-inline:20px}.dialogues-page .main-nav{flex-wrap:wrap;gap:16px}.dialogues-page .main-nav a{font-size:var(--ui-nav,1.25rem);padding:16px 0}.dialogues-page .learning-main,.student-module-page .learning-main{padding:32px 20px 56px}.dialogues-hero h1{font-size:clamp(24px, var(--ui-page-title,3.4rem), 2.4rem)}:is(.dialogues-page,.dialogue-module) .dialogue-grid,:is(.dialogues-page,.dialogue-module) .dialogue-modes{grid-template-columns:1fr}:is(.dialogues-page,.dialogue-module) .dialogue-turn .dutch-line{font-size:var(--ui-dialogue,1.6rem)}:is(.dialogues-page,.dialogue-module) .dialogue-module h1{font-size:clamp(24px, var(--ui-page-title,4rem), 2.6rem)}:is(.dialogues-page,.dialogue-module) .dialogue-transcript{padding:8px 20px}.dialogue-hero-art svg{width:88px}}@media (max-width:480px){.dialogues-page .topbar,.dialogues-page .main-nav{padding-inline:16px}.dialogues-page .learning-main,.student-module-page .learning-main{padding:24px 16px 48px}.dialogues-page .brand,.device-page .brand,.student-module-page .brand{font-size:max(24px, var(--ui-section-title,2rem));font-size:24px}body,.dialogues-page,.device-page,.student-module-page{font-size:max(16px, var(--ui-body,17px))}.dialogues-hero h1,:is(.dialogues-page,.dialogue-module) .dialogue-module h1{font-size:max(24px, var(--ui-page-title,3.4rem))}.dialogues-title-translation,:is(.dialogues-page,.dialogue-module) .dialogue-detail-hero .support-text{font-size:max(16px, var(--ui-translation,1.75rem))}:is(.dialogues-page,.dialogue-module) .dialogue-card h2,.student-module-page .module-card h2,.device-page .device-card h2{font-size:max(24px, var(--ui-card-title,2rem))}.dialogues-page button,.device-page button,.student-module-page button,.dialogues-page .main-nav a,.dialogues-page .back-link,.dialogues-page .card-action,.student-module-page .module-card .card-action,.device-page .device-card .card-action{min-height:44px}.dialogues-page .bilingual-label small,.device-page .bilingual-label small,.dialogues-page .support-text,.device-page .support-text,:is(.dialogues-page,.dialogue-module) .dialogue-card .support-text,:is(.dialogues-page,.dialogue-module) .dialogue-turn .support-text{font-size:max(16px, var(--student-support))}:is(.dialogues-page,.dialogue-module) .dialogue-answer-input{font-size:max(16px, var(--ui-practice-input,1rem))}}@media (prefers-reduced-motion:reduce){:is(.dialogues-page,.dialogue-module) .dialogue-mode-card{transition:none}:is(.dialogues-page,.dialogue-module) .dialogue-mode-card:hover{transform:none}}@media (forced-colors:active){:is(.dialogues-page,.dialogue-module) .dialogue-mode-card[aria-pressed=true],:is(.dialogues-page,.dialogue-module) .dialogue-mode-card.active{border:2px solid buttontext}}:is(.dialogues-page,.dialogue-module) .dialogue-exercise[data-speaker-role=B] .actions button{background:var(--ui-role-action-color);color:var(--color-text);border-color:var(--ui-role-action-color)}:is(.dialogues-page,.dialogue-module) .dialogue-turn .support-text{color:var(--dialogue-translation)}:is(.dialogues-page,.dialogue-module) .dialogue-feedback{font-size:var(--ui-feedback)}:is(.dialogues-page,.dialogue-module) .dialogue-feedback .dutch-line{font-size:var(--ui-answer)}:is(.dialogues-page,.dialogue-module) .dialogue-exercise .actions{gap:var(--ui-practice-space)}:is(.dialogues-page,.dialogue-module) .dialogue-exercise .actions button{min-height:var(--ui-button-space)}.student-module-page .module-heading h1,.device-page h1{font:600 var(--ui-page-title)/1.2 "Playfair Display",Georgia,serif;color:var(--ui-title-color)}.module-topic-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.module-topic-card{border:1px solid var(--ui-border-color);background:var(--color-surface);border-radius:20px;flex-direction:column;gap:16px;min-width:0;padding:24px;display:flex}.module-topic-card h2{font-size:var(--ui-card-title);line-height:1.3}.module-topic-card p{font-size:var(--ui-translation);color:var(--ui-translation-color)}.module-topic-card .card-number{background:var(--color-accent);color:var(--color-text)}.module-topic-card .card-action{min-height:44px;margin-top:auto}.device-page{max-width:1280px;padding:var(--ui-page-space);margin:auto}.device-page section{margin:48px auto}.device-page h1 small{font-size:var(--ui-translation)}.device-page .device-card{background:var(--color-surface);border-color:var(--ui-border-color)}@media (max-width:1024px){.module-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}:is(.dialogues-page,.dialogue-module) .dialogue-module h1,.dialogues-hero h1,.student-module-page .module-heading h1,.device-page h1{font-size:max(24px,calc(var(--ui-page-title) - 4px))}}@media (max-width:767px){.module-topic-grid,.device-page .device-grid{grid-template-columns:minmax(0,1fr)}:is(.dialogues-page,.dialogue-module) .dialogue-module h1,.dialogues-hero h1,.student-module-page .module-heading h1,.device-page h1{font-size:max(24px,calc(var(--ui-page-title) - 8px))}:is(.dialogues-page,.dialogue-module) .dialogue-card h2{font-size:var(--ui-card-title)}.dialogues-page .account{justify-content:flex-start;width:100%}:is(.dialogues-page,.dialogue-module) .dialogue-mode-card{grid-template-columns:48px minmax(0,1fr) 16px;gap:12px;padding:18px}.dialogue-mode-icon{width:48px;height:48px}.dialogue-mode-icon svg{width:44px}.dialogues-page .bilingual-label small,.dialogues-page .support-text{font-size:var(--ui-translation)}:is(.dialogues-page,.dialogue-module) .dialogue-turn .support-text{font-size:var(--ui-dialogue-translation)}}
