/* Shared layouts for both languages. Keep established light and night palettes. */
.app-header .language-control{display:flex;align-items:center;gap:7px;margin:0 0 0 auto;font-size:12px;color:var(--muted)}
.language-control select{width:auto;max-width:140px;min-height:44px;padding:8px 28px 8px 10px;border:1px solid var(--line);border-radius:10px;font:14px system-ui;color:var(--ink);background:var(--panel)}
.app-header .button{margin-left:0}
.bottom-nav[hidden],.preview-nav[hidden]{display:none!important}
:root{--gold-text:var(--gold)}
[data-appearance=light]{--gold-text:#755c3b}
body[data-route=en]:before,body[data-route=einstieg]:before,body[data-route=beispielabend]:before{display:none}
.intro-heading{display:block;height:auto;padding:20px 0 0;min-height:0;margin:0 0 26px;border:0}
.intro-heading h1,.sample-heading h1{font-size:40px;line-height:1.16;margin:15px 0 22px;overflow-wrap:anywhere}
.intro-heading .eyebrow,.sample-heading .eyebrow{font-size:12px;letter-spacing:1.2px;line-height:1.5;color:var(--gold-text)}
.intro-lead,.sample-lead{font:19px/1.65 Georgia,serif;color:var(--ink)}
.intro-page,.sample-page{padding:8px 0 25px;overflow-wrap:anywhere}
.intro-page p,.sample-page p{line-height:1.7}
.intro-duration{font-size:14px;text-align:center;color:var(--muted);margin:12px 0 25px}
.preview-scope,.sample-choice{padding:16px 18px;border-left:2px solid var(--gold);background:var(--panel);font-size:15px;border-radius:0 12px 12px 0;color:var(--ink)}
.intro-section{margin:32px 0}.intro-section h2,.sample-page h2{font-size:28px;line-height:1.25;margin:0 0 16px}
.intro-section p{font-size:16px}.intro-phase{padding:20px;margin-top:14px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}
.intro-phase h3{font-size:24px;line-height:1.3;margin:0 0 12px}.intro-phase p{margin:0}
.intro-privacy{padding-top:25px;border-top:1px solid var(--line)}
.sample-back{display:inline-flex;align-items:center;min-height:44px;font-size:15px;line-height:1.5;color:var(--gold-text);text-decoration:underline;text-underline-offset:4px}
.sample-heading{margin:20px 0 24px}.sample-step{margin:22px 0;padding:24px 20px;background:var(--panel);border:1px solid var(--line);border-radius:17px}
.sample-step .sample-time{font-size:13px;color:var(--gold-text);margin:0 0 12px}.sample-step>p:not(.sample-time){font-size:17px}
.sample-step label{display:block;font-size:16px;line-height:1.5;margin:24px 0 10px;color:var(--ink)}
.sample-step textarea{display:block;width:100%;box-sizing:border-box;min-height:140px;resize:vertical;padding:14px;border:1px solid var(--line);background:var(--bg);border-radius:10px;color:var(--ink);font:17px/1.65 Georgia,serif}
.sample-step textarea::placeholder{color:var(--muted);opacity:1}.sample-step textarea:disabled{opacity:.7}
.sample-actions{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}.sample-actions .button{flex:1 1 165px;min-height:48px;line-height:1.4;white-space:normal}
.sample-save{padding-top:24px}.sample-save p{font-size:15px}.sample-save #sample-status{color:var(--gold-text);min-height:28px}
.sample-about{margin:28px 0;padding:20px 0;border-top:1px solid var(--line);font-size:15px}.sample-about summary{min-height:44px;cursor:pointer;color:var(--gold-text)}
.preview-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,500px);z-index:20;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:var(--panel);border-top:1px solid var(--line);box-sizing:border-box}
.preview-nav a{display:flex;align-items:center;justify-content:center;text-align:center;min-height:50px;padding:8px 4px;white-space:normal;font:14px/1.4 system-ui;color:var(--muted);border-radius:8px;text-decoration:none}
.preview-nav a[aria-current=page]{background:var(--bg);color:var(--gold-text);box-shadow:inset 0 -2px var(--gold)}
.language-invitation{margin:5px 0 22px;padding:22px 20px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}
.language-invitation .eyebrow{font-size:11px;color:var(--gold-text)}.language-invitation h2{font-size:27px;margin:12px 0}.language-invitation p{font-size:15px;line-height:1.65}.language-invitation a{display:inline-flex;align-items:center;min-height:44px;color:var(--gold-text);text-decoration:underline;text-underline-offset:4px}
.language-control select:focus-visible,.sample-step textarea:focus-visible,.sample-about summary:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
@media(max-width:360px){.intro-heading h1,.sample-heading h1{font-size:34px}.sample-step{padding:20px 16px}.language-control>span{font-size:11px}.language-control select{max-width:120px}.preview-nav a{font-size:13px}}
@media print{.app-header,.bottom-nav,.preview-nav,.sample-actions,.sample-back{display:none!important}body{max-width:none;padding-bottom:0}.sample-step{break-inside:avoid}}

/* Task-first English pages: short summaries, details only when requested. */
body[data-language=en]:before{display:none}
body[data-language=en] .preview-nav{grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;padding-left:6px;padding-right:6px}
body[data-language=en] .preview-nav a{font-size:13px;padding:8px 2px}
.en-home{padding:26px 0}.en-home h1{font-size:43px;line-height:1.15;margin:14px 0}.en-home .eyebrow,.en-home .card span,.en-months .eyebrow{color:var(--gold-text)}
.en-lead{font:20px/1.55 Georgia,serif;margin:0 0 25px}.en-home .primary-action{margin:24px 0}
.en-actions{display:grid;gap:14px;margin:24px 0}.en-actions .card,.en-months .card{display:block;text-decoration:none;color:var(--ink);padding:20px}
.en-actions h2,.en-months h2{font-size:26px;margin:0 0 8px}.en-actions p{font-size:16px;line-height:1.5;margin:0 0 12px}.en-actions span,.en-months span{font-size:15px;line-height:1.5}
.en-phase-link{display:block;color:var(--ink);font:23px/1.4 Georgia,serif;padding:20px 0;border-top:1px solid var(--line);text-decoration:none}.en-phase-link span{display:block;color:var(--muted);font:15px/1.6 system-ui;margin-top:7px}
.en-help{padding:18px 0;border-top:1px solid var(--line);margin:20px 0}.en-help summary,.en-symbol-result summary{cursor:pointer;min-height:44px;align-content:center;color:var(--ink);font-size:17px;line-height:1.5}.en-help p,.en-help a{font-size:16px;line-height:1.65}.en-help a{color:var(--gold-text)}
.en-storage{font-size:14px;line-height:1.65;color:var(--muted)}.en-months{display:grid;gap:14px;margin-top:20px}.en-months .eyebrow{display:block;margin-bottom:10px;letter-spacing:.5px}
.en-symbol-result{border-bottom:1px solid var(--line);padding:12px 0}.en-symbol-result summary span{float:right;color:var(--muted);font-size:14px;margin-left:10px}.en-symbol-result p{font-size:17px;line-height:1.65}
body[data-language=en] label{line-height:1.5}body[data-language=en] input,body[data-language=en] select,body[data-language=en] textarea{max-width:100%;box-sizing:border-box;font-size:16px;min-height:46px}body[data-language=en] textarea{font:17px/1.65 Georgia,serif;min-height:140px}body[data-language=en] #observation{min-height:220px}body[data-language=en] #en-reading{font-size:16px;line-height:1.65;margin-top:18px}
body[data-language=en] .en-help summary:focus-visible,body[data-language=en] .en-symbol-result summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
body[data-language=en] .journal-form>p[role=status]{display:block;font-size:15px;line-height:1.6;color:var(--gold-text)}
body[data-language=en] label,body[data-language=en] .page-top p{font-size:16px}
body[data-language=en] .db-check{min-height:48px}body[data-language=en] .db-check input[type=checkbox]{min-height:20px;width:20px;height:20px}

/* Readable help and appearance controls in both preview languages. */
.intro-source a{display:inline-block;padding:8px 0;font-size:15px;line-height:1.6;color:var(--gold-text);text-decoration:underline;text-underline-offset:3px}
.sample-step .sample-storage-hint{font-size:15px;line-height:1.65;padding:12px;background:var(--bg);border-left:2px solid var(--gold);color:var(--ink)}
.display-settings h2{font-size:28px;line-height:1.25}.display-settings label,.display-settings p{font-size:16px;line-height:1.65}.display-settings select{width:100%;min-height:48px;font-size:16px;padding:12px}.display-settings [hidden]{display:none!important}.display-settings #display-status{color:var(--gold-text)}
