/* --------------------------------------------------------------------------- Lern-Bar – Gestaltung Leitfarbe dunkles Petrol, Akzent warmes Bernstein, Karten sehr helles Blaugrau. Nur Systemschriften, keine Zeichensätze von außen. --------------------------------------------------------------------------- */ :root { color-scheme: light; --petrol: #1f4e5f; --petrol-hell: #2c6b81; --petrol-dunkel: #163a47; --bernstein: #d98a2b; --bernstein-dunkel: #a9660f; --grund: #ffffff; --flaeche: #edf3f5; --flaeche-kraeftig: #dde8ec; --rand: #c8d8de; --rand-zart: #dde8ec; --text: #16242a; --text-leise: #4d646d; --text-auf-petrol: #f2f8fa; --gut: #1d6f4a; --gut-flaeche: #e2f2ea; --warnung: #8a5a00; --warnung-flaeche: #fbf0dc; --fehler: #9b2226; --fehler-flaeche: #fbe9e9; --radius: 10px; --radius-klein: 6px; --schatten: 0 1px 2px rgb(22 36 42 / 8%), 0 2px 8px rgb(22 36 42 / 5%); --schrift: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; --schrift-fest: ui-monospace, "Cascadia Mono", "Segoe UI Mono", Consolas, "Liberation Mono", monospace; --breite: 1120px; } :root[data-thema="dunkel"] { color-scheme: dark; --petrol: #7fc0d4; --petrol-hell: #a3d4e3; --petrol-dunkel: #0f2a34; --bernstein: #e5a552; --bernstein-dunkel: #f0bd7c; --grund: #0e1b21; --flaeche: #16272f; --flaeche-kraeftig: #1e343e; --rand: #2c4652; --rand-zart: #233b45; --text: #e6eef1; --text-leise: #a3b8c0; --text-auf-petrol: #0e1b21; --gut: #6cc79a; --gut-flaeche: #14332a; --warnung: #e3b264; --warnung-flaeche: #33290f; --fehler: #f08a8d; --fehler-flaeche: #35191b; --schatten: 0 1px 2px rgb(0 0 0 / 40%), 0 2px 8px rgb(0 0 0 / 30%); } @media (prefers-color-scheme: dark) { :root:not([data-thema="hell"]) { color-scheme: dark; --petrol: #7fc0d4; --petrol-hell: #a3d4e3; --petrol-dunkel: #0f2a34; --bernstein: #e5a552; --bernstein-dunkel: #f0bd7c; --grund: #0e1b21; --flaeche: #16272f; --flaeche-kraeftig: #1e343e; --rand: #2c4652; --rand-zart: #233b45; --text: #e6eef1; --text-leise: #a3b8c0; --text-auf-petrol: #0e1b21; --gut: #6cc79a; --gut-flaeche: #14332a; --warnung: #e3b264; --warnung-flaeche: #33290f; --fehler: #f08a8d; --fehler-flaeche: #35191b; --schatten: 0 1px 2px rgb(0 0 0 / 40%), 0 2px 8px rgb(0 0 0 / 30%); } } *, *::before, *::after { box-sizing: border-box; } html { -webkit-text-size-adjust: 100%; } body { margin: 0; background: var(--grund); color: var(--text); font-family: var(--schrift); font-size: 16px; line-height: 1.6; min-height: 100dvh; } h1, h2, h3, h4 { line-height: 1.25; margin: 0 0 0.5em; font-weight: 650; letter-spacing: -0.01em; } h1 { font-size: 1.65rem; } h2 { font-size: 1.3rem; } h3 { font-size: 1.08rem; } p { margin: 0 0 1em; } a { color: var(--petrol); text-underline-offset: 2px; } a:hover { color: var(--petrol-hell); } :focus-visible { outline: 3px solid var(--bernstein); outline-offset: 2px; border-radius: 3px; } hr { border: 0; border-top: 1px solid var(--rand-zart); margin: 1.5rem 0; } code, kbd, samp, pre { font-family: var(--schrift-fest); font-size: 0.92em; } code { background: var(--flaeche); padding: 0.1em 0.35em; border-radius: var(--radius-klein); } /* --- Grundbausteine --- */ .huelle { max-width: var(--breite); margin: 0 auto; padding: 1.25rem 1rem 4rem; } .karte { background: var(--flaeche); border: 1px solid var(--rand-zart); border-radius: var(--radius); padding: 1rem 1.15rem; } .karte-grund { background: var(--grund); border: 1px solid var(--rand); border-radius: var(--radius); padding: 1rem 1.15rem; box-shadow: var(--schatten); } .leise { color: var(--text-leise); font-size: 0.9rem; } .stapel > * + * { margin-top: 1rem; } .stapel-eng > * + * { margin-top: 0.5rem; } .reihe { display: flex; gap: 0.75rem; flex-wrap: wrap; align-items: center; } .raster { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); } /* --- Bedienelemente --- */ .knopf { display: inline-flex; align-items: center; justify-content: center; gap: 0.45rem; min-height: 44px; padding: 0.55rem 1.1rem; border-radius: var(--radius-klein); border: 1px solid transparent; background: var(--petrol); color: var(--text-auf-petrol); font: inherit; font-weight: 600; cursor: pointer; text-decoration: none; transition: background-color 0.12s ease; } .knopf:hover { background: var(--petrol-hell); color: var(--text-auf-petrol); } .knopf:disabled { opacity: 0.55; cursor: not-allowed; } .knopf-zweit { background: transparent; color: var(--petrol); border-color: var(--rand); } .knopf-zweit:hover { background: var(--flaeche-kraeftig); color: var(--petrol); } .knopf-akzent { background: var(--bernstein); color: #26170a; } .knopf-akzent:hover { background: var(--bernstein-dunkel); color: #26170a; } .knopf-still { background: transparent; color: var(--text-leise); border-color: transparent; padding: 0.4rem 0.6rem; min-height: 38px; font-weight: 500; } .knopf-still:hover { background: var(--flaeche); color: var(--text); } label { display: block; font-weight: 600; font-size: 0.92rem; margin-bottom: 0.3rem; } input[type="text"], input[type="email"], input[type="password"], input[type="date"], input[type="number"], input[type="search"], select, textarea { width: 100%; min-height: 44px; padding: 0.5rem 0.7rem; border: 1px solid var(--rand); border-radius: var(--radius-klein); background: var(--grund); color: var(--text); font: inherit; } textarea { min-height: 6rem; resize: vertical; line-height: 1.5; } input:disabled, textarea:disabled, select:disabled { background: var(--flaeche); color: var(--text-leise); } .feld + .feld { margin-top: 0.9rem; } .hinweis { border-radius: var(--radius-klein); padding: 0.7rem 0.9rem; border: 1px solid; font-size: 0.95rem; } .hinweis-fehler { background: var(--fehler-flaeche); border-color: var(--fehler); color: var(--fehler); } .hinweis-warnung { background: var(--warnung-flaeche); border-color: var(--warnung); color: var(--warnung); } .hinweis-gut { background: var(--gut-flaeche); border-color: var(--gut); color: var(--gut); } /* --- Kopfzeile --- */ .kopf { background: var(--petrol-dunkel); color: #f2f8fa; border-bottom: 3px solid var(--bernstein); } :root[data-thema="dunkel"] .kopf { background: #0b2029; } .kopf-innen { max-width: var(--breite); margin: 0 auto; padding: 0.6rem 1rem; display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; } .marke { font-weight: 700; font-size: 1.1rem; color: #f2f8fa; text-decoration: none; letter-spacing: -0.01em; white-space: nowrap; } .marke:hover { color: #fff; } .marke .marke-akzent { color: #e5a552; } .hauptnavigation { display: flex; gap: 0.15rem; flex-wrap: wrap; flex: 1; } .hauptnavigation a { color: #cfe2e9; text-decoration: none; padding: 0.45rem 0.7rem; border-radius: var(--radius-klein); font-size: 0.95rem; font-weight: 500; white-space: nowrap; } .hauptnavigation a:hover { background: rgb(255 255 255 / 12%); color: #fff; } .hauptnavigation a[aria-current="page"] { background: rgb(255 255 255 / 16%); color: #fff; box-shadow: inset 0 -2px 0 #d98a2b; } .kopf-rechts { display: flex; align-items: center; gap: 0.5rem; margin-left: auto; } .kopf-knopf { background: transparent; border: 1px solid rgb(255 255 255 / 25%); color: #e3eef2; border-radius: var(--radius-klein); min-height: 38px; padding: 0.3rem 0.65rem; font: inherit; font-size: 0.9rem; cursor: pointer; } .kopf-knopf:hover { background: rgb(255 255 255 / 12%); } /* --- Fortschritt --- */ .balken { height: 10px; background: var(--flaeche-kraeftig); border-radius: 999px; overflow: hidden; border: 1px solid var(--rand-zart); } .balken > span { display: block; height: 100%; background: var(--petrol); border-radius: 999px; } /* --- Status-Marken: nie nur Farbe, immer auch ein Zeichen --- */ .marke-status { display: inline-flex; align-items: center; gap: 0.35rem; font-size: 0.82rem; font-weight: 650; padding: 0.15rem 0.55rem; border-radius: 999px; border: 1px solid var(--rand); background: var(--grund); color: var(--text-leise); white-space: nowrap; } .marke-status[data-ton="gut"] { color: var(--gut); border-color: var(--gut); background: var(--gut-flaeche); } .marke-status[data-ton="warnung"] { color: var(--warnung); border-color: var(--warnung); background: var(--warnung-flaeche); } .marke-status[data-ton="fehler"] { color: var(--fehler); border-color: var(--fehler); background: var(--fehler-flaeche); } /* --- Tabellen --- */ .tabelle-huelle { overflow-x: auto; } table.tabelle { border-collapse: collapse; width: 100%; font-size: 0.95rem; } table.tabelle th, table.tabelle td { text-align: left; padding: 0.5rem 0.7rem; border-bottom: 1px solid var(--rand-zart); vertical-align: top; } table.tabelle th { font-weight: 650; background: var(--flaeche); white-space: nowrap; } /* --- Anmeldung --- */ .anmeldung { min-height: 100dvh; display: grid; place-items: center; padding: 1.5rem 1rem; background: linear-gradient(160deg, var(--flaeche) 0%, var(--grund) 60%); } .anmeldung-karte { width: min(420px, 100%); background: var(--grund); border: 1px solid var(--rand); border-radius: var(--radius); padding: 1.75rem; box-shadow: var(--schatten); } /* --- Sprungmarke --- */ .sprung { position: absolute; left: -9999px; top: 0; background: #d98a2b; color: #26170a; padding: 0.6rem 1rem; z-index: 100; border-radius: 0 0 var(--radius-klein) 0; font-weight: 650; } .sprung:focus { left: 0; } /* --- Druck --- */ @media print { .kopf, .nicht-drucken { display: none !important; } body { background: #fff; color: #000; font-size: 11pt; } .huelle { max-width: none; padding: 0; } .karte, .karte-grund { border: 1px solid #999; box-shadow: none; background: #fff; } a { color: #000; text-decoration: none; } } /* Nur für Bildschirmleser sichtbar */ .nur-lesehilfe { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; } /* --- Handouts --- */ .handout-kuerzel { display: inline-flex; align-items: center; justify-content: center; min-width: 2.6rem; padding: 0.1rem 0.5rem; border-radius: var(--radius-klein); background: var(--petrol); color: var(--text-auf-petrol); font-weight: 700; font-size: 0.85rem; letter-spacing: 0.02em; flex-shrink: 0; } .handout-kuerzel-gross { font-size: 1rem; padding: 0.25rem 0.7rem; } .handout-kachel { display: block; height: 100%; background: var(--flaeche); border: 1px solid var(--rand-zart); border-radius: var(--radius); padding: 0.9rem 1rem; text-decoration: none; color: var(--text); } .handout-kachel:hover { background: var(--flaeche-kraeftig); border-color: var(--rand); color: var(--text); } .handout-treffer { display: flex; gap: 0.75rem; align-items: flex-start; background: var(--flaeche); border: 1px solid var(--rand-zart); border-radius: var(--radius); padding: 0.8rem 1rem; text-decoration: none; color: var(--text); } .handout-treffer:hover { background: var(--flaeche-kraeftig); color: var(--text); } .handout-worum { font-size: 1.05rem; color: var(--text-leise); margin: 0; } .handout-zuordnung dl { margin: 0; display: grid; gap: 0.6rem; } .handout-zuordnung dt { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--text-leise); font-weight: 650; margin-bottom: 0.2rem; } .handout-zuordnung dd { margin: 0; display: flex; flex-wrap: wrap; gap: 0.35rem; } .zuordnung-marke { display: inline-flex; gap: 0.35rem; align-items: baseline; background: var(--grund); border: 1px solid var(--rand); border-radius: var(--radius-klein); padding: 0.15rem 0.5rem; font-size: 0.87rem; } .zuordnung-marke strong { color: var(--petrol); } .fliesstext > *:first-child { margin-top: 0; } .fliesstext > *:last-child { margin-bottom: 0; } .fliesstext ul, .fliesstext ol { padding-left: 1.3rem; margin: 0 0 1em; } .fliesstext li + li { margin-top: 0.4rem; } .fliesstext table { border-collapse: collapse; width: 100%; font-size: 0.94rem; } .fliesstext th, .fliesstext td { border: 1px solid var(--rand-zart); padding: 0.45rem 0.65rem; text-align: left; vertical-align: top; } .fliesstext th { background: var(--flaeche); font-weight: 650; } .merksatz { border-left: 5px solid var(--bernstein); background: var(--warnung-flaeche); border-radius: 0 var(--radius) var(--radius) 0; padding: 0.9rem 1.1rem; } .merksatz-kennzeichnung { display: block; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.08em; font-weight: 700; color: var(--warnung); margin-bottom: 0.2rem; } .merksatz p { margin: 0; font-size: 1.08rem; font-weight: 600; } .pruefungsfrage { border: 1px solid var(--rand); border-radius: var(--radius); background: var(--grund); } .pruefungsfrage > summary { cursor: pointer; padding: 0.7rem 1rem; font-weight: 650; list-style: none; display: flex; align-items: center; gap: 0.5rem; min-height: 44px; } .pruefungsfrage > summary::-webkit-details-marker { display: none; } .pruefungsfrage > summary::before { content: "▸"; color: var(--petrol); font-size: 0.9rem; } .pruefungsfrage[open] > summary::before { content: "▾"; } .pruefungsfrage[open] > summary { border-bottom: 1px solid var(--rand-zart); } .pruefungsfrage > div { padding: 0.9rem 1rem; } a.glossarbegriff { color: inherit; text-decoration: underline dotted var(--petrol); text-decoration-thickness: 1.5px; text-underline-offset: 3px; cursor: help; } a.glossarbegriff:hover { color: var(--petrol); text-decoration-style: solid; } /* --- Glossar --- */ .glossar { display: grid; gap: 0.75rem; margin: 0; } .glossar-eintrag { scroll-margin-top: 1rem; } .glossar-eintrag dt { font-weight: 700; font-size: 1.05rem; margin-bottom: 0.3rem; } .glossar-langform { display: block; font-weight: 400; font-size: 0.85rem; color: var(--text-leise); } .glossar-eintrag dd { margin: 0; } .glossar-eintrag:target { outline: 3px solid var(--bernstein); outline-offset: 2px; } @media print { .pruefungsfrage > div { display: block !important; } .handout-zuordnung { border: 1px solid #999; } a.glossarbegriff { text-decoration: none; } } /* --- Wochenplan --- */ .wochen-nummer { display: inline-flex; align-items: center; padding: 0.2rem 0.7rem; border-radius: var(--radius-klein); background: var(--petrol); color: var(--text-auf-petrol); font-weight: 700; font-size: 0.9rem; } .wochen-nummer-klein { font-size: 0.8rem; padding: 0.1rem 0.5rem; } .leitfrage { font-size: 1.1rem; font-style: italic; color: var(--petrol); margin: 0 0 0.3rem; } :root[data-thema="dunkel"] .leitfrage { color: var(--petrol-hell); } .offen-liste { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--rand-zart); } .offen-liste li { display: flex; justify-content: space-between; gap: 0.75rem; padding: 0.45rem 0; border-bottom: 1px solid var(--rand-zart); } .offen-liste li::before { content: "○"; color: var(--text-leise); margin-right: 0.4rem; } .offen-liste li > span:first-of-type { flex: 1; } .wochentage { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.6rem; } .wochentag { border: 1px solid var(--rand-zart); border-left: 4px solid var(--rand); border-radius: var(--radius); background: var(--flaeche); padding: 0.7rem 0.9rem; } .wochentag-heute { border-left-color: var(--bernstein); background: var(--warnung-flaeche); } .wochentag-kopf { display: flex; align-items: center; gap: 0.6rem; flex-wrap: wrap; margin-bottom: 0.4rem; } .wochentag-inhalt { display: grid; gap: 0.5rem; grid-template-columns: 1fr; } @media (min-width: 720px) { .wochentag-inhalt { grid-template-columns: 1fr 1fr; gap: 1.25rem; } } .wochentag-marke { display: block; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.07em; font-weight: 700; color: var(--text-leise); margin-bottom: 0.15rem; } .theorie-liste { list-style: none; margin: 0; padding: 0; } .theorie-liste li { display: flex; align-items: center; gap: 0.4rem; flex-wrap: wrap; } .theorie-liste li + li { margin-top: 0.3rem; } /* --- Planliste zum Umsortieren --- */ .planliste { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.5rem; } .planliste-wartet { opacity: 0.6; pointer-events: none; } .planzeile { display: flex; align-items: flex-start; gap: 0.6rem; background: var(--flaeche); border: 1px solid var(--rand-zart); border-radius: var(--radius); padding: 0.7rem 0.8rem; } .planzeile-gezogen { opacity: 0.45; } .planzeile-ziel { border-color: var(--bernstein); box-shadow: inset 0 3px 0 var(--bernstein); } .planzeile-griff { cursor: grab; color: var(--text-leise); font-size: 1.2rem; line-height: 1.4; user-select: none; padding-top: 0.1rem; } .planzeile-inhalt { flex: 1; display: grid; gap: 0.25rem; } .planzeile-titel { font-weight: 650; text-decoration: none; } .planzeile-titel:hover { text-decoration: underline; } .planzeile-notiz { margin: 0.2rem 0 0; font-size: 0.9rem; background: var(--warnung-flaeche); border-left: 3px solid var(--bernstein); padding: 0.3rem 0.6rem; border-radius: 0 var(--radius-klein) var(--radius-klein) 0; } .planzeile-knoepfe { display: flex; flex-direction: column; gap: 0.15rem; } .planzeile-knoepfe .knopf { min-height: 34px; padding: 0.1rem 0.5rem; } .ankreuzfeld { display: flex; gap: 0.6rem; align-items: flex-start; font-weight: 400; cursor: pointer; } .ankreuzfeld input[type="checkbox"] { width: 20px; height: 20px; margin-top: 0.2rem; flex-shrink: 0; accent-color: var(--petrol); } .ankreuzfeld > span:last-child { font-weight: 600; font-size: 0.95rem; } @media print { .planzeile-griff, .planzeile-knoepfe { display: none; } } /* --- Merkkarten: Lernmodus --- */ .lernmodus { display: flex; flex-direction: column; gap: 0.9rem; min-height: calc(100dvh - 8rem); } .lernmodus-kopf { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; } .lernkarte { flex: 1; display: flex; flex-direction: column; gap: 0.9rem; width: 100%; min-height: 46vh; text-align: left; font: inherit; color: var(--text); background: var(--grund); border: 2px solid var(--rand); border-radius: var(--radius); padding: 1.25rem; cursor: pointer; box-shadow: var(--schatten); } .lernkarte-offen { cursor: default; border-color: var(--petrol); } .lernkarte-herkunft { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; } .lernkarte-frage { font-size: 1.35rem; font-weight: 650; line-height: 1.35; } .lernkarte-trenner { display: block; border-top: 2px dashed var(--rand); margin: 0.2rem 0; } .lernkarte-antwort { font-size: 1.15rem; line-height: 1.55; } .lernkarte-hinweis { margin-top: auto; text-align: center; color: var(--text-leise); font-size: 0.95rem; line-height: 1.7; } .bewerten { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.5rem; } .bewerten-knopf { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.1rem; min-height: 76px; padding: 0.6rem 0.4rem; border-radius: var(--radius); border: 2px solid; font: inherit; cursor: pointer; background: var(--grund); } .bewerten-knopf:disabled { opacity: 0.5; cursor: wait; } .bewerten-text { font-weight: 700; font-size: 1.05rem; } .bewerten-erklaerung { font-size: 0.78rem; opacity: 0.85; text-align: center; } .bewerten-taste { position: absolute; top: 0.3rem; right: 0.45rem; font-size: 0.7rem; opacity: 0.55; font-family: var(--schrift-fest); } .bewerten-nochmal { border-color: var(--fehler); color: var(--fehler); background: var(--fehler-flaeche); } .bewerten-unsicher { border-color: var(--warnung); color: var(--warnung); background: var(--warnung-flaeche); } .bewerten-sitzt { border-color: var(--gut); color: var(--gut); background: var(--gut-flaeche); } .lernmodus-fuss { text-align: center; margin: 0; } .lernmodus-rueckmeldung { text-align: center; min-height: 1.4rem; margin: 0; font-size: 0.9rem; color: var(--text-leise); } /* Auf Geräten ohne Tastatur die Tastenhinweise weglassen. */ @media (hover: none) and (pointer: coarse) { .nur-am-rechner { display: none; } } .bewertung-bilanz { list-style: none; margin: 0; padding: 0; display: flex; justify-content: center; gap: 1.75rem; } .bewertung-bilanz strong { display: block; font-size: 1.6rem; } .bewertung-bilanz span { font-size: 0.85rem; color: var(--text-leise); } /* --- Fächerübersicht --- */ .faecher { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.4rem; } .faecher li { display: grid; grid-template-columns: 1.6rem minmax(7rem, auto) 1fr 2.5rem; align-items: center; gap: 0.6rem; font-size: 0.92rem; } .fach-nummer { display: inline-flex; align-items: center; justify-content: center; width: 1.6rem; height: 1.6rem; border-radius: 50%; background: var(--flaeche-kraeftig); font-weight: 700; font-size: 0.8rem; } .fach-name { color: var(--text-leise); } .fach-balken { display: block; height: 8px; background: var(--flaeche-kraeftig); border-radius: 999px; overflow: hidden; } .fach-balken > span { display: block; height: 100%; background: var(--petrol); } .fach-zahl { text-align: right; font-variant-numeric: tabular-nums; } @media (max-width: 520px) { .faecher li { grid-template-columns: 1.6rem 1fr 2.5rem; } .fach-name { display: none; } } /* --- Feinschliff fürs Handy --- */ /* Ohne das legt der Browser beim Antippen eine blaue Fläche über die Karte. */ .lernkarte, .bewerten-knopf, .knopf, .kopf-knopf, .hauptnavigation a { -webkit-tap-highlight-color: transparent; } .lernkarte:focus-visible { outline: 3px solid var(--bernstein); outline-offset: 3px; } @media (max-width: 640px) { /* Die Kopfzeile bleibt einzeilig: Marke links, Bedienung rechts, die Navigation darunter in einer Zeile zum Schieben. */ .kopf-innen { gap: 0.5rem 0.75rem; padding: 0.5rem 0.75rem; } .hauptnavigation { order: 3; flex: 1 0 100%; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin: 0 -0.75rem; padding: 0 0.75rem; } .hauptnavigation::-webkit-scrollbar { display: none; } .hauptnavigation a { padding: 0.35rem 0.55rem; font-size: 0.9rem; } .kopf-rechts { gap: 0.35rem; } .kopf-rechts > .leise { display: none; } .huelle { padding: 1rem 0.85rem 3rem; } h1 { font-size: 1.4rem; } h2 { font-size: 1.15rem; } .lernmodus { min-height: calc(100dvh - 6rem); } .lernkarte { min-height: 40vh; padding: 1rem; } .lernkarte-frage { font-size: 1.2rem; } .bewerten { gap: 0.4rem; } .bewerten-knopf { min-height: 84px; } } /* --- Praxisaufgaben --- */ .aufgaben-nummer { display: inline-flex; align-items: center; justify-content: center; min-width: 2.8rem; padding: 0.15rem 0.55rem; border-radius: var(--radius-klein); background: var(--bernstein); color: #26170a; font-weight: 700; font-size: 0.85rem; flex-shrink: 0; } .aufgaben-nummer-gross { font-size: 1rem; padding: 0.25rem 0.75rem; } .aufgabenliste { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.5rem; } .aufgabenzeile { display: flex; align-items: center; gap: 0.75rem; background: var(--flaeche); border: 1px solid var(--rand-zart); border-radius: var(--radius); padding: 0.75rem 0.9rem; text-decoration: none; color: var(--text); } .aufgabenzeile:hover { background: var(--flaeche-kraeftig); color: var(--text); } .aufgaben-titel { flex: 1; font-weight: 650; } .statuswahl { display: flex; gap: 0.4rem; flex-wrap: wrap; } .kriterienliste { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.4rem; } .kriterienliste li { display: grid; grid-template-columns: 1.2rem 1fr; gap: 0.5rem; align-items: start; padding: 0.35rem 0; border-bottom: 1px solid var(--rand-zart); } .kriterienliste li[data-erfuellt="ja"] { color: var(--gut); } .kriterienliste li[data-erfuellt="ja"] > span:first-child { font-weight: 700; } .kriterien { border: 1px solid var(--rand); border-radius: var(--radius-klein); padding: 0.75rem 0.9rem; margin: 0; } .kriterien legend { font-weight: 650; padding: 0 0.35rem; font-size: 0.95rem; } .kriterium { padding: 0.3rem 0; } .kriterium + .kriterium { border-top: 1px solid var(--rand-zart); } .notiz-anzeige { white-space: pre-wrap; background: var(--grund); border: 1px solid var(--rand-zart); border-radius: var(--radius-klein); padding: 0.6rem 0.8rem; margin: 0; line-height: 1.55; } /* --- Anhänge --- */ .anhangliste { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 0.75rem; } .anhangliste li { display: grid; gap: 0.3rem; } .anhang-kachel { display: grid; gap: 0.3rem; text-decoration: none; color: var(--text); background: var(--grund); border: 1px solid var(--rand); border-radius: var(--radius); padding: 0.5rem; } .anhang-kachel:hover { border-color: var(--petrol); color: var(--text); } .anhang-kachel img { width: 100%; height: 110px; object-fit: cover; border-radius: var(--radius-klein); background: var(--flaeche); } .anhang-symbol { display: grid; place-items: center; height: 110px; border-radius: var(--radius-klein); background: var(--flaeche-kraeftig); font-weight: 700; letter-spacing: 0.05em; color: var(--text-leise); } .anhang-name { font-size: 0.88rem; font-weight: 600; overflow-wrap: anywhere; } input[type="file"] { width: 100%; padding: 0.5rem; border: 1px dashed var(--rand); border-radius: var(--radius-klein); background: var(--grund); color: var(--text); font: inherit; min-height: 44px; } /* --- Checklisten --- */ .laufzeile { display: flex; align-items: center; gap: 0.75rem; flex-wrap: wrap; background: var(--flaeche); border: 1px solid var(--rand-zart); border-radius: var(--radius); padding: 0.65rem 0.9rem; } .laufzeile-haupt { flex: 1 1 240px; display: grid; gap: 0.1rem; text-decoration: none; color: var(--text); } .laufzeile-haupt:hover { color: var(--petrol); } .laufzeile-titel { font-weight: 650; } .laufzeile-stand { display: flex; align-items: center; gap: 0.6rem; } .laufzeile-stand .balken { flex-shrink: 0; } .gruppenstand { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.35rem; } .gruppenstand li { display: grid; grid-template-columns: 1fr 70px 3rem; align-items: center; gap: 0.6rem; font-size: 0.9rem; } .gruppenstand .leise { text-align: right; font-variant-numeric: tabular-nums; } .schrittliste { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.35rem; } .schrittliste li { display: flex; gap: 0.7rem; align-items: flex-start; background: var(--flaeche); border: 1px solid var(--rand-zart); border-radius: var(--radius-klein); padding: 0.55rem 0.7rem; } .schrittliste li[data-erledigt="ja"] { background: var(--gut-flaeche); border-color: var(--gut); } .schrittliste li[data-erledigt="ja"] .schritt-text { color: var(--gut); } .schritt-haken { flex-shrink: 0; } .hakenknopf { width: 30px; height: 30px; border-radius: var(--radius-klein); border: 2px solid var(--rand); background: var(--grund); color: var(--gut); font-size: 1.05rem; font-weight: 700; line-height: 1; cursor: pointer; display: grid; place-items: center; padding: 0; } .hakenknopf:hover:not(:disabled) { border-color: var(--petrol); } .hakenknopf[aria-pressed="true"] { border-color: var(--gut); background: var(--gut-flaeche); } .hakenknopf:disabled { opacity: 0.55; cursor: not-allowed; } .schritt-inhalt { flex: 1; display: grid; gap: 0.25rem; } .schritt-text { line-height: 1.45; } .schritt-notiz > summary { cursor: pointer; font-size: 0.85rem; color: var(--text-leise); list-style: none; padding: 0.15rem 0; min-height: 28px; display: inline-flex; align-items: center; gap: 0.3rem; } .schritt-notiz > summary::-webkit-details-marker { display: none; } .schritt-notiz > summary::before { content: "+"; font-weight: 700; } .schritt-notiz[open] > summary::before { content: "−"; } .schritt-notiz > form { margin-top: 0.35rem; } .schritt-bemerkung { margin: 0; font-size: 0.88rem; font-style: italic; color: var(--text-leise); border-left: 3px solid var(--rand); padding-left: 0.6rem; } @media (max-width: 640px) { .hakenknopf { width: 38px; height: 38px; } .laufzeile-stand { width: 100%; justify-content: space-between; } .gruppenstand li { grid-template-columns: 1fr 60px 3rem; } } @media print { .schritt-notiz > summary { display: none; } .schritt-notiz[open] > form { display: none; } .hakenknopf { border-color: #666; } } /* --- Berichtsheft --- */ .tagesnotizen { display: grid; gap: 0.6rem; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); } .tagesnotiz { display: grid; gap: 0.35rem; background: var(--flaeche); border: 1px solid var(--rand-zart); border-left: 4px solid var(--rand); border-radius: var(--radius-klein); padding: 0.6rem 0.7rem; } .tagesnotiz-heute { border-left-color: var(--bernstein); background: var(--warnung-flaeche); } .tagesnotiz-kopf { display: flex; align-items: center; gap: 0.4rem; flex-wrap: wrap; font-size: 0.9rem; } .tagesnotiz textarea { min-height: 4.5rem; font-size: 0.92rem; } .tagesnotiz-fuss { display: flex; align-items: center; gap: 0.4rem; } .tagesnotiz-fuss label { margin: 0; font-size: 0.82rem; white-space: nowrap; } .tagesnotiz-fuss input { width: 5rem; min-height: 38px; } .blattliste { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.45rem; } .blattzeile-link { display: flex; align-items: center; gap: 0.85rem; background: var(--flaeche); border: 1px solid var(--rand-zart); border-radius: var(--radius); padding: 0.7rem 0.9rem; text-decoration: none; color: var(--text); } .blattzeile-link:hover { background: var(--flaeche-kraeftig); color: var(--text); } .blatt-zeitraum { flex: 1; font-weight: 650; } .blatt-nr { display: inline-flex; align-items: center; justify-content: center; min-width: 3.4rem; padding: 0.15rem 0.55rem; border-radius: var(--radius-klein); background: var(--petrol); color: var(--text-auf-petrol); font-weight: 700; font-size: 0.82rem; flex-shrink: 0; } .blatt-nr-gross { font-size: 0.95rem; padding: 0.25rem 0.7rem; } /* Zeilen im Wochenblatt */ .blattzeile { display: grid; grid-template-columns: 1fr 6rem 2.5rem; gap: 0.6rem; align-items: start; } .blattzeile:has(.blattzeile-lernfeld) { grid-template-columns: 6rem 1fr 6rem 2.5rem; } .blattzeile textarea { min-height: 3.6rem; } .blattzeile-stunden label { font-size: 0.8rem; } .zeile-weg { margin-top: 1.1rem; min-height: 38px; padding: 0.2rem 0.5rem; font-size: 1.1rem; } @media (max-width: 640px) { .blattzeile, .blattzeile:has(.blattzeile-lernfeld) { grid-template-columns: 1fr 5rem; } .zeile-weg { grid-column: 2; margin-top: 0; justify-self: end; } .blattzeile-lernfeld { grid-column: 1 / -1; } } /* Vorschläge */ .vorschlagsliste { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.4rem; } .vorschlag { display: grid; grid-template-columns: auto 1fr auto; grid-template-areas: "quelle text plus" "quelle herkunft plus"; gap: 0.15rem 0.6rem; width: 100%; text-align: left; font: inherit; color: var(--text); background: var(--grund); border: 1px solid var(--rand); border-radius: var(--radius-klein); padding: 0.55rem 0.7rem; cursor: pointer; align-items: center; } .vorschlag:hover { border-color: var(--petrol); background: var(--flaeche); } .vorschlag-quelle { grid-area: quelle; align-self: start; font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; padding: 0.15rem 0.4rem; border-radius: 3px; background: var(--flaeche-kraeftig); color: var(--text-leise); white-space: nowrap; } .vorschlag-quelle[data-quelle="tagesnotiz"] { background: var(--warnung-flaeche); color: var(--warnung); } .vorschlag-quelle[data-quelle="aufgabe"] { background: var(--gut-flaeche); color: var(--gut); } .vorschlag-text { grid-area: text; font-weight: 600; line-height: 1.4; } .vorschlag .leise { grid-area: herkunft; font-size: 0.8rem; } .vorschlag-plus { grid-area: plus; font-size: 1.3rem; color: var(--petrol); font-weight: 700; } /* Warnungen */ .warnliste { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.4rem; } .warnliste li { display: grid; grid-template-columns: 1.4rem 1fr; gap: 0.5rem; align-items: start; font-size: 0.93rem; line-height: 1.45; } .warnzeichen { display: grid; place-items: center; width: 1.4rem; height: 1.4rem; border-radius: 50%; font-weight: 700; font-size: 0.8rem; } .warnliste li[data-schwere="warnung"] .warnzeichen { background: var(--fehler-flaeche); color: var(--fehler); } .warnliste li[data-schwere="hinweis"] .warnzeichen { background: var(--flaeche-kraeftig); color: var(--text-leise); } .warnliste em { color: var(--text-leise); font-style: italic; } .feldwarnung { list-style: none; margin: 0.25rem 0 0; padding: 0; display: grid; gap: 0.15rem; } .feldwarnung li { font-size: 0.83rem; line-height: 1.35; padding-left: 0.9rem; position: relative; } .feldwarnung li::before { content: "•"; position: absolute; left: 0; } .feldwarnung li[data-schwere="warnung"] { color: var(--fehler); } .feldwarnung li[data-schwere="hinweis"] { color: var(--text-leise); } textarea[aria-invalid="true"] { border-color: var(--fehler); } /* Leseansicht */ .leseliste { list-style: none; margin: 0; padding: 0; } .leseliste li { display: flex; justify-content: space-between; gap: 1rem; padding: 0.45rem 0; border-bottom: 1px solid var(--rand-zart); line-height: 1.45; } .leseliste li:last-child { border-bottom: 0; } .leseliste .leise { white-space: nowrap; font-variant-numeric: tabular-nums; } /* Formulierungshilfe */ .formulierungshilfe > summary { cursor: pointer; list-style: none; min-height: 44px; display: flex; align-items: center; gap: 0.4rem; } .formulierungshilfe > summary::-webkit-details-marker { display: none; } .formulierungshilfe > summary::before { content: "▸"; color: var(--petrol); } .formulierungshilfe[open] > summary::before { content: "▾"; } .verbgruppen { display: grid; gap: 0.6rem; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); } .gegenueberstellung { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.9rem; } .gegenueberstellung li { border-left: 3px solid var(--rand); padding-left: 0.75rem; } .gegenueberstellung p { margin: 0 0 0.25rem; line-height: 1.45; } .gegenueberstellung .schlecht { color: var(--text-leise); text-decoration: line-through solid var(--fehler) 1px; } .gegenueberstellung .schlecht .marke-status { text-decoration: none; } .gegenueberstellung .gut { font-weight: 500; } @media print { .tagesnotizen, .vorschlagsliste, .formulierungshilfe { display: none; } }