/* MINT-Material · Informatik Oberstufe (Objektorientierung u. a.):
   Java-Quelltext, Klassenkarten (UML-Notation nach KC Niedersachsen), Objektkarten.
   Gilt für Inhalts-, Übungs-, Abitur- und Klausurseiten. Fachfarben kommen aus fach.css. */

/* Inline-Code */
.erklaer-text code,.stichliste code,.dbox code,.hinweis-card code,.applet-lead code,.applet-note code,.applet-readout code,
.aufgabe code,.aufgabe-text code,.teilaufgaben code,.ta-body code,.ux code,.vw-question code,.flip-card code,
.misconception code,.uebersicht-card code,.answer code,.hilfe-content code,.intro-box code{font-family:ui-monospace,'SF Mono',Menlo,Consolas,'Liberation Mono',monospace;font-size:.9em;background:#f4ede0;border:1px solid #e6dcc9;border-radius:6px;padding:1px 5px;color:#2b241d;overflow-wrap:anywhere}
.dbox code{background:#fff}

/* Quelltext-Block: <pre class="java">…</pre> — Hervorhebung macht oop-hl.js */
pre.java{margin:12px 0 10px;padding:12px 16px;background:#fffdf8;border:1px solid var(--rule,#d9cdb8);border-left:3px solid var(--fach-strong);border-radius:10px;font:14.5px/1.6 ui-monospace,'SF Mono',Menlo,Consolas,'Liberation Mono',monospace;color:#2b241d;overflow-x:auto;white-space:pre;tab-size:4;text-align:left}
pre.java.klein{font-size:13.5px}
pre.java .j-kw{color:#2c5fb5;font-weight:700}
pre.java .j-ty{color:#7c5fb5;font-weight:600}
pre.java .j-st{color:#4a7530}
pre.java .j-nu{color:#c47a3a}
pre.java .j-cm{color:#8a7d6b;font-style:italic}
pre.java mark{background:#fdf0c2;color:inherit;border-radius:3px;padding:0 2px}
pre.java .j-bad{background:#fbeeec;text-decoration:underline wavy #e2574c;text-underline-offset:3px}

/* Klassenkarte (Klassendiagramm) */
.uml-row{display:flex;flex-wrap:wrap;align-items:center;gap:0;margin:14px 0}
.uml-row.gap{gap:18px}
.uml{display:inline-flex;flex-direction:column;min-width:210px;max-width:100%;background:#fff;border:2px solid var(--fach-ink);border-radius:4px;font:14px/1.55 ui-monospace,'SF Mono',Menlo,Consolas,monospace;color:#2b241d;vertical-align:top}
.uml-name{padding:6px 12px;text-align:center;font:700 15.5px/1.35 'Fredoka',Inter,sans-serif;color:var(--fach-ink);background:color-mix(in srgb,var(--fach) 55%,#fff);border-bottom:2px solid var(--fach-ink)}
.uml ul{list-style:none;margin:0;padding:6px 12px}
.uml ul+ul{border-top:2px solid var(--fach-ink)}
.uml li{white-space:nowrap}
.uml li.ctor{color:var(--fach-ink)}
.uml-assoc{position:relative;flex:1 1 80px;min-width:80px;max-width:220px;height:2px;background:var(--fach-ink);margin:0}
.uml-assoc>span{position:absolute;left:50%;transform:translateX(-50%);bottom:6px;font:600 13px 'Fredoka',Inter,sans-serif;color:var(--fach-ink);white-space:nowrap}
.uml-assoc>.k1,.uml-assoc>.k2{bottom:auto;top:6px;transform:none;font-weight:500}
.uml-assoc>.k1{left:4px}.uml-assoc>.k2{left:auto;right:4px}

/* Objektkarte */
.okarte{display:inline-flex;flex-direction:column;min-width:170px;max-width:100%;background:#fff;border:2px solid #2f2f2f;border-radius:12px;font:14px/1.55 ui-monospace,'SF Mono',Menlo,Consolas,monospace;color:#2b241d;vertical-align:top;overflow:hidden}
.okarte-name{padding:6px 12px;text-align:center;font:600 15px/1.35 'Fredoka',Inter,sans-serif;text-decoration:underline;text-underline-offset:3px;border-bottom:2px solid #2f2f2f;background:#f4ede0}
.okarte ul{list-style:none;margin:0;padding:6px 12px}
.okarte li{white-space:nowrap}

.uml-cap{font-size:13.5px;color:var(--ink-soft,#5b4f43);margin:-4px 0 12px}
@media(max-width:560px){.uml,.okarte{min-width:0;font-size:13px}.uml li,.okarte li{white-space:normal;overflow-wrap:anywhere}.uml-row{gap:10px}.uml-assoc{flex-basis:100%;max-width:none;height:2px;min-width:0;margin:18px 0}}
@media print{pre.java{border-left-width:2px;background:#fff}.uml-name,.okarte-name{background:#fff}}

/* Klassendokumentation als Tabelle: <table class="doku"> */
.doku-wrap{overflow-x:auto;margin:12px 0}
table.doku{width:100%;border-collapse:collapse;background:#fff;border:2px solid var(--fach-ink);font-size:14.5px;line-height:1.5}
table.doku caption{caption-side:top;text-align:left;font:600 15px 'Fredoka',Inter,sans-serif;color:var(--fach-ink);padding:0 0 6px}
table.doku th{background:color-mix(in srgb,var(--fach) 55%,#fff);color:var(--fach-ink);text-align:left;padding:7px 12px;font:600 14px 'Fredoka',Inter,sans-serif;border-bottom:2px solid var(--fach-ink)}
table.doku td{padding:7px 12px;border-top:1px solid var(--rule);vertical-align:top}
table.doku td:first-child{font-family:ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-size:13.5px;white-space:nowrap}
.j-bad{background:#fbeeec;text-decoration:underline wavy #e2574c;text-underline-offset:3px}
@media(max-width:560px){table.doku td:first-child{white-space:normal;overflow-wrap:anywhere}}
.teilaufgaben code,.ta-body code,.aufgabe-text code,.ux code,.answer code,.hilfe-content code{white-space:normal}
.teilaufgaben{grid-template-columns:minmax(0,1fr)}
.teilaufgaben>li{min-width:0}
.uebersicht-card,.miss-fig,.miss-text,.formeln{min-width:0;max-width:100%}
.uebersicht-card pre.java,.miss-fig pre.java,.formeln pre.java{max-width:100%}
