/* noto-emoji-[0]-400-normal */
@font-face {
  font-family: 'Noto Emoji';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/fonts/noto-emoji-0-400-normal.woff2) format('woff2');
  unicode-range: U+1f1e6-1f1ff;
}

/* noto-emoji-[1]-400-normal */
@font-face {
  font-family: 'Noto Emoji';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/fonts/noto-emoji-1-400-normal.woff2) format('woff2');
  unicode-range: U+200d,U+2620,U+26a7,U+fe0f,U+1f308,U+1f38c,U+1f3c1,U+1f3f3-1f3f4,U+1f6a9,U+e0062-e0063,U+e0065,U+e0067,U+e006c,U+e006e,U+e0073-e0074,U+e0077,U+e007f;
}

/* noto-emoji-[2]-400-normal */
@font-face {
  font-family: 'Noto Emoji';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/fonts/noto-emoji-2-400-normal.woff2) format('woff2');
  unicode-range: U+23,U+2a,U+30-39,U+a9,U+ae,U+200d,U+203c,U+2049,U+20e3,U+2122,U+2139,U+2194-2199,U+21a9-21aa,U+23cf,U+23e9-23ef,U+23f8-23fa,U+24c2,U+25aa-25ab,U+25b6,U+25c0,U+25fb-25fe,U+2611,U+2622-2623,U+2626,U+262a,U+262e-262f,U+2638,U+2640,U+2642,U+2648-2653,U+2660,U+2663,U+2665-2666,U+2668,U+267b,U+267e-267f,U+2695,U+269b-269c,U+26a0,U+26a7,U+26aa-26ab,U+26ce,U+26d4,U+2705,U+2714,U+2716,U+271d,U+2721,U+2733-2734,U+2747,U+274c,U+274e,U+2753-2755,U+2757,U+2764,U+2795-2797,U+27a1,U+27b0,U+27bf,U+2934-2935,U+2b05-2b07,U+2b1b-2b1c,U+2b55,U+3030,U+303d,U+3297,U+3299,U+fe0f,U+1f170-1f171,U+1f17e-1f17f,U+1f18e,U+1f191-1f19a,U+1f201-1f202,U+1f21a,U+1f22f,U+1f232-1f23a,U+1f250-1f251,U+1f310,U+1f3a6,U+1f3b5-1f3b6,U+1f3bc,U+1f3e7,U+1f441,U+1f499-1f49c,U+1f49f-1f4a0,U+1f4ac-1f4ad,U+1f4b1-1f4b2,U+1f4b9,U+1f4db,U+1f4f2-1f4f6,U+1f500-1f507,U+1f515,U+1f518-1f524,U+1f52f-1f53d,U+1f549,U+1f54e,U+1f5a4,U+1f5e8,U+1f5ef,U+1f6ab,U+1f6ad-1f6b1,U+1f6b3,U+1f6b7-1f6bc,U+1f6be,U+1f6c2-1f6c5,U+1f6d0-1f6d1,U+1f6d7,U+1f6dc,U+1f7e0-1f7eb,U+1f7f0,U+1f90d-1f90e,U+1f9d1-1f9d2,U+1f9e1,U+1fa75-1fa77,U+1faaf;
}

/* noto-emoji-[3]-400-normal */
@font-face {
  font-family: 'Noto Emoji';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/fonts/noto-emoji-3-400-normal.woff2) format('woff2');
  unicode-range: U+200d,U+231a-231b,U+2328,U+23f0-23f3,U+2602,U+260e,U+2692,U+2694,U+2696-2697,U+2699,U+26b0-26b1,U+26cf,U+26d1,U+26d3,U+2702,U+2709,U+270f,U+2712,U+fe0f,U+1f302,U+1f321,U+1f392-1f393,U+1f3a9,U+1f3bd,U+1f3ee,U+1f3f7,U+1f3fa,U+1f451-1f462,U+1f484,U+1f489-1f48a,U+1f48c-1f48e,U+1f4a1,U+1f4a3,U+1f4a5,U+1f4b0,U+1f4b3-1f4b8,U+1f4bb-1f4da,U+1f4dc-1f4f1,U+1f4ff,U+1f508-1f514,U+1f516-1f517,U+1f526-1f529,U+1f52c-1f52e,U+1f550-1f567,U+1f56f-1f570,U+1f576,U+1f587,U+1f58a-1f58d,U+1f5a5,U+1f5a8,U+1f5b1-1f5b2,U+1f5c2-1f5c4,U+1f5d1-1f5d3,U+1f5dc-1f5de,U+1f5e1,U+1f5f3,U+1f6aa,U+1f6ac,U+1f6bd,U+1f6bf,U+1f6c1,U+1f6cb,U+1f6cd-1f6cf,U+1f6d2,U+1f6e0-1f6e1,U+1f6f0,U+1f97b-1f97f,U+1f9af,U+1f9ba,U+1f9e2-1f9e6,U+1f9ea-1f9ec,U+1f9ee-1f9f4,U+1f9f7-1f9ff,U+1fa71-1fa74,U+1fa79-1fa7b,U+1fa86,U+1fa8e-1fa8f,U+1fa91-1fa93,U+1fa96,U+1fa99-1faa0,U+1faa2-1faa7,U+1faaa-1faae;
}

/* noto-emoji-[4]-400-normal */
@font-face {
  font-family: 'Noto Emoji';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/fonts/noto-emoji-4-400-normal.woff2) format('woff2');
  unicode-range: U+265f,U+26bd-26be,U+26f3,U+26f8,U+fe0f,U+1f004,U+1f0cf,U+1f380-1f384,U+1f386-1f38b,U+1f38d-1f391,U+1f396-1f397,U+1f399-1f39b,U+1f39e-1f39f,U+1f3a3-1f3a5,U+1f3a7-1f3a9,U+1f3ab-1f3b4,U+1f3b7-1f3bb,U+1f3bd-1f3c0,U+1f3c5-1f3c6,U+1f3c8-1f3c9,U+1f3cf-1f3d3,U+1f3f8-1f3f9,U+1f47e,U+1f4e2,U+1f4f7-1f4fd,U+1f52b,U+1f579,U+1f58c-1f58d,U+1f5bc,U+1f6f7,U+1f6f9,U+1f6fc,U+1f93f,U+1f941,U+1f945,U+1f947-1f94f,U+1f9e7-1f9e9,U+1f9f5-1f9f6,U+1fa70-1fa71,U+1fa80-1fa81,U+1fa83-1fa85,U+1fa87-1fa8a,U+1fa94-1fa95,U+1fa97-1fa98,U+1faa1,U+1faa9,U+1fadf;
}

/* noto-emoji-[5]-400-normal */
@font-face {
  font-family: 'Noto Emoji';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/fonts/noto-emoji-5-400-normal.woff2) format('woff2');
  unicode-range: U+2693,U+26e9-26ea,U+26f1-26f2,U+26f4-26f5,U+26fa,U+26fd,U+2708,U+fe0f,U+1f301,U+1f303,U+1f306-1f307,U+1f309,U+1f310,U+1f3a0-1f3a2,U+1f3aa,U+1f3cd-1f3ce,U+1f3d5,U+1f3d7-1f3db,U+1f3df-1f3e6,U+1f3e8-1f3ed,U+1f3ef-1f3f0,U+1f488,U+1f492,U+1f4ba,U+1f54b-1f54d,U+1f5fa-1f5ff,U+1f680-1f6a2,U+1f6a4-1f6a8,U+1f6b2,U+1f6d1,U+1f6d5-1f6d6,U+1f6dd-1f6df,U+1f6e2-1f6e5,U+1f6e9,U+1f6eb-1f6ec,U+1f6f3-1f6f6,U+1f6f8,U+1f6fa-1f6fb,U+1f9bc-1f9bd,U+1f9ed,U+1f9f3,U+1fa7c;
}

/* noto-emoji-[6]-400-normal */
@font-face {
  font-family: 'Noto Emoji';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/fonts/noto-emoji-6-400-normal.woff2) format('woff2');
  unicode-range: U+200d,U+2615,U+fe0f,U+1f32d-1f330,U+1f336,U+1f33d,U+1f344-1f37f,U+1f382,U+1f52a,U+1f7e9,U+1f7eb,U+1f942-1f944,U+1f950-1f96f,U+1f99e,U+1f9aa,U+1f9c0-1f9cb,U+1fad0-1fadc;
}

/* noto-emoji-[7]-400-normal */
@font-face {
  font-family: 'Noto Emoji';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/fonts/noto-emoji-7-400-normal.woff2) format('woff2');
  unicode-range: U+200d,U+2600-2601,U+2603-2604,U+2614,U+2618,U+26a1,U+26c4-26c5,U+26c8,U+26f0,U+2728,U+2744,U+2b1b,U+2b50,U+fe0f,U+1f300,U+1f304-1f305,U+1f308,U+1f30a-1f30f,U+1f311-1f321,U+1f324-1f32c,U+1f331-1f335,U+1f337-1f33c,U+1f33e-1f344,U+1f3d4,U+1f3d6,U+1f3dc-1f3de,U+1f3f5,U+1f400-1f43f,U+1f490,U+1f4a7,U+1f4ae,U+1f525,U+1f54a,U+1f573,U+1f577-1f578,U+1f648-1f64a,U+1f6d8,U+1f940,U+1f980-1f9ae,U+1f9ba,U+1fa90,U+1faa8,U+1fab0-1fabf,U+1facd-1facf,U+1fae7;
}

/* noto-emoji-[8]-400-normal */
@font-face {
  font-family: 'Noto Emoji';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/fonts/noto-emoji-8-400-normal.woff2) format('woff2');
  unicode-range: U+200d,U+2640,U+2642,U+2695-2696,U+26f7,U+26f9,U+2708,U+2764,U+27a1,U+fe0f,U+1f33e,U+1f373,U+1f37c,U+1f384-1f385,U+1f393,U+1f3a4,U+1f3a8,U+1f3c2-1f3c4,U+1f3c7,U+1f3ca-1f3cc,U+1f3eb,U+1f3ed,U+1f3fb-1f3ff,U+1f430,U+1f466-1f469,U+1f46b-1f478,U+1f47c,U+1f481-1f483,U+1f486-1f487,U+1f48b,U+1f48f,U+1f491,U+1f4bb-1f4bc,U+1f527,U+1f52c,U+1f574-1f575,U+1f57a,U+1f645-1f647,U+1f64b,U+1f64d-1f64e,U+1f680,U+1f692,U+1f6a3,U+1f6b4-1f6b6,U+1f6c0,U+1f6cc,U+1f91d,U+1f926,U+1f930-1f931,U+1f934-1f93a,U+1f93c-1f93e,U+1f977,U+1f9af-1f9b3,U+1f9b8-1f9b9,U+1f9bc-1f9bd,U+1f9cc-1f9cf,U+1f9d1-1f9df,U+1fa70,U+1fa82,U+1fac3-1fac5,U+1fac8,U+1faef;
}

/* noto-emoji-[9]-400-normal */
@font-face {
  font-family: 'Noto Emoji';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/fonts/noto-emoji-9-400-normal.woff2) format('woff2');
  unicode-range: U+200d,U+2194-2195,U+2603,U+261d,U+2620,U+2639-263a,U+2665,U+26a1,U+26c4,U+270a-270d,U+2728,U+2763-2764,U+2b50,U+fe0f,U+1f31a-1f31f,U+1f32b,U+1f389-1f38a,U+1f3fb-1f3ff,U+1f440-1f450,U+1f463-1f465,U+1f479-1f47b,U+1f47d-1f480,U+1f485,U+1f48b-1f48c,U+1f493-1f49f,U+1f4a2,U+1f4a4-1f4a6,U+1f4a8-1f4ab,U+1f4af,U+1f525,U+1f573,U+1f590,U+1f595-1f596,U+1f5a4,U+1f5e3,U+1f600-1f644,U+1f648-1f64a,U+1f64c,U+1f64f,U+1f90c-1f925,U+1f927-1f92f,U+1f932-1f933,U+1f970-1f976,U+1f978-1f97a,U+1f9a0,U+1f9b4-1f9b7,U+1f9bb,U+1f9be-1f9bf,U+1f9d0,U+1f9e0-1f9e1,U+1fa75-1fa79,U+1fac0-1fac2,U+1fac6,U+1fae0-1fae6,U+1fae8-1faea,U+1faef-1faf8;
}@font-face { font-family: Inter; font-style: normal; font-weight: 100 900; font-display: swap; src: url('/fonts/inter-latin-wght-normal.woff2') format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: Inter; font-style: normal; font-weight: 100 900; font-display: swap; src: url('/fonts/inter-latin-ext-wght-normal.woff2') format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
/* Shared visual layer. Existing IDs, permissions and chat actions stay intact. */
:root {
  color-scheme: dark;
  --bg: #101217; --surface: #181b23; --surface-hi: #222631; --surface-el: #2a3040;
  --border: #343c4e; --border-hi: #57647d;
  --text: #f2f4fa; --text-mut: #acb5c8; --text-dim: #a1abc0;
  --accent: #acb5ff; --accent-hi: #c5cbff; --accent-bg: #2c3255;
  --accent-line: #454e80; --good: #85cfa7; --bad: #f19d99;
  --danger: var(--bad); --line: var(--border); --panel3: var(--surface-el);
  --font-ui: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
html { scroll-padding: 20px; }
body { height: 100dvh; background: var(--bg); }
button, input, select, textarea { font-family: var(--font-ui); }
button, a, input, select, textarea, summary { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
input, select, textarea { border-radius: 9px; line-height: 1.5; }
input:not([type=checkbox]):not([type=radio]), select { min-height: 40px; }
input::placeholder, textarea::placeholder { color: var(--text-dim); opacity: 1; }
textarea { resize: vertical; }
button:disabled { cursor: not-allowed; }
header { height: 62px; min-height: 62px; padding: 0 22px; gap: 14px; background: var(--bg); }
header h1 { font: 650 17px/1.2 var(--font-ui); letter-spacing: -.4px; text-transform: none; border: 0; padding: 0; }
.suite-mark { display: inline-grid; place-items: center; width: 30px; height: 30px; margin-right: 9px; background: var(--accent-bg); color: var(--accent); border: 1px solid var(--accent-line); border-radius: 9px; font-size: 16px; vertical-align: middle; }
header .status { font: 12px/1.4 var(--font-ui); letter-spacing: 0; text-transform: none; }
header .userchip { font-family: var(--font-ui); gap: 10px; }
#navKlapp { min-width: 40px; min-height: 40px; }
.seitennav { padding: 20px 12px; gap: 6px; background: var(--bg); }
.seitennav button { min-height: 42px; border-radius: 10px; padding: 10px 12px; }
.seitennav button.active { background: var(--accent-bg); color: var(--accent-hi); box-shadow: none; }
.seitennav .nav-gruppe { margin: 5px 0; }
.seitennav .nav-unter { margin-left: 11px; border-left: 1px solid var(--border); padding-left: 8px; }
.seitennav .nav-unter button { font-size: 13px; }
.nav-mobile-head, #navBackdrop { display: none; }
main { min-width: 0; }
.view:not(.cockpit):not(.vaultmode) { padding: 28px 30px 40px; }
h2 { font: 650 22px/1.3 var(--font-ui); text-transform: none; letter-spacing: -.5px; color: var(--text); margin-bottom: 22px; }
label { font-family: var(--font-ui); text-transform: none; letter-spacing: 0; font-size: 12px; }
.hint { font-family: var(--font-ui); letter-spacing: 0; text-transform: none; font-size: 12px; line-height: 1.6; }
.card, .addbox, .md-jarvis { border-radius: 14px; box-shadow: 0 4px 18px #0000000d; }
.card { padding: 20px; }
.grid { grid-template-columns: repeat(auto-fill,minmax(min(100%,320px),1fr)); gap: 18px; }
.form-grid > *, .row > *, .md-kopf > *, .card, .tg-haupt { min-width: 0; }
.card p, .hint, .empty, .ctx-notes, .tg-blase { overflow-wrap: anywhere; }
.btn { border-radius: 8px; min-height: 38px; font-weight: 550; letter-spacing: 0; }
.btn.sm { min-height: 34px; padding: 6px 10px; }
.btn:not(.ghost):not(.danger):not(.green) { background: var(--accent); color: #191c32; border-color: var(--accent); }
.btn.green { background: #8ad6b1; border-color: #8ad6b1; color: #112b21; }
.btn.ghost { background: transparent; }
.btn.ghost:hover { background: var(--surface-hi); border-color: var(--border-hi); }
.btn.danger { color: var(--bad); }
.md-kopf { flex-wrap: wrap; gap: 12px; }
.md-reiter { gap: 6px; padding-bottom: 7px; }
.md-reiter button { min-height: 42px; border-radius: 8px; border: 0; margin: 0; }
.md-reiter button.aktiv { background: var(--accent-bg); color: var(--accent-hi); }
.tg-liste { background: var(--surface); padding: 8px; }
.tg-eintrag { min-height: 42px; }
.tg-eintrag.aktiv { background: var(--accent-bg); color: var(--accent-hi); }
.tg-blase.model { background: #343e69; color: var(--text); }
.tg-verlauf { padding: 18px; background: var(--bg); }
.cock-left { width: 280px; }
.cock-right { width: 280px; }
.actorbar { padding: 16px 14px; }
.actorbtn { border-radius: 10px; }
.actorbtn .lbl-sm { font: 11px/1.5 var(--font-ui); text-transform: none; letter-spacing: 0; }
.actorbtn .lbl-nm { font-size: 15px; }
.conv-list { padding: 6px 8px; }
.conv { margin: 3px 0; padding: 13px 10px; border-radius: 10px; border-bottom-color: transparent; }
.conv.active { background: var(--accent-bg); box-shadow: none; }
.conv .nm { font-size: 14px; }
.conv .pv { font-size: 12px; line-height: 1.5; }
.conv .ts { font-family: var(--font-ui); letter-spacing: 0; }
.cock-head { height: auto; min-height: 72px; padding: 12px 18px; gap: 10px; flex-wrap: wrap; }
.cock-head .peer { min-width: 0; flex: 1 1 160px; }
.cock-head .peer > div:last-child { min-width: 0; }
.cock-head .peer .nm { line-height: 1.5; overflow-wrap: anywhere; }
.cock-head .peer .sub { font-family: var(--font-ui); letter-spacing: 0; text-transform: none; line-height: 1.6; }
.cock-head > .row { flex-wrap: wrap; }
.cock-head .btn { min-width: 34px; }
.thread { padding: 20px 24px; background: radial-gradient(ellipse at 50% 0%,#21263c55,transparent 75%),var(--bg); }
.bub { padding: 10px 13px 8px; line-height: 1.55; max-width: min(84%,520px); }
.bub.in { background: #222733; border-color: #343c4e; }
.bub.out { background: #343e69; border-color: #465381; }
.bub.out .t { color: #c7cde2; }
.daydiv span { font-family: var(--font-ui); text-transform: none; letter-spacing: 0; font-size: 11px; }
.cock-empty { font: 14px/1.6 var(--font-ui); letter-spacing: 0; text-transform: none; padding: 24px; text-align: center; }
.cock-right .head { min-height: 72px; padding: 16px 20px; }
.cock-right .head h2 { font-size: 16px; letter-spacing: 0; }
.cock-right .body { padding: 18px; }
.composer { padding: 12px 16px; background: var(--surface); }
.composer .tools { gap: 6px; margin-bottom: 10px; }
.composer .tools:not(.expanded) > :nth-child(n+5):not(#composerToolsToggle) { display: none; }
.composer .tools.expanded { max-height: 28dvh; overflow-y: auto; padding: 3px; }
#composerToolsToggle { margin-left: auto; white-space: nowrap; }
.composer textarea { background: var(--bg); border-radius: 12px; min-height: 48px; padding: 12px; font-size: 14px; }
.composer .row-input > .btn { min-height: 46px; }
.composer .hint { font-size: 10px; line-height: 1.7; }
.composer-panel { border-radius: 14px; box-shadow: 0 16px 48px #0006; }
.empty { font-family: var(--font-ui); text-transform: none; letter-spacing: 0; line-height: 1.6; }
.vaultmode .vault-main { min-width: 0; }
.vault-kat-leiste { gap: 8px; }
.kat-chip { border-radius: 8px; }
.login-page { height: auto; min-height: 100dvh; padding: 24px; background: radial-gradient(ellipse at 50% 25%,#2b315655,transparent 65%),var(--bg); }
.login-page .box { max-width: 420px; padding: 38px; border-radius: 20px; box-shadow: 0 25px 80px #0004; }
.login-page .brand { font: 650 20px/1.4 var(--font-ui); letter-spacing: -.4px; text-transform: none; }
.login-page .sub { font: 13px/1.5 var(--font-ui); text-transform: none; letter-spacing: 0; margin: 12px 0 30px; }
.login-page label { font-size: 13px; margin-top: 18px; }
.login-page input { min-height: 48px; font-size: 16px; background: var(--bg); }
.login-page button { min-height: 48px; background: var(--accent); color: #191c32; border-radius: 9px; font-weight: 650; }
@media (max-width:1599px) and (min-width:861px) { .cock-head .lang { display: none; } }
@media (min-width:861px) and (max-width:1199px) {
  .cock-left { width: 240px; }
  .cock-right { display: none; }
  .cockpit { position: relative; }
  .cockpit[data-handy=seite] .cock-right { display: flex; position: absolute; right: 0; top: 0; bottom: 0; width: min(360px,100%); z-index: 15; box-shadow: -18px 0 50px #0006; }
  .handy-zurueck[onclick="handyAnsicht('seite')"], .cock-right .handy-zurueck { display: inline-flex; }
}
@media (max-width:860px) {
  header { height: calc(58px + env(safe-area-inset-top)); min-height: calc(58px + env(safe-area-inset-top)); flex-wrap: nowrap; padding: env(safe-area-inset-top) 12px 0; gap: 8px; }
  header h1 { font-size: 15px; white-space: nowrap; }
  header h1 .suite-mark { width: 27px; height: 27px; margin-right: 6px; }
  header .userchip { gap: 3px; }
  #meName { display: none; }
  header .userchip button { font-size: 12px; padding: 6px; }
  #navKlapp { display: inline-flex; order: -1; }
  #navBackdrop { position: fixed; inset: 0; z-index: 79; border: 0; background: #05070cb3; cursor: pointer; }
  body.nav-open #navBackdrop { display: block; }
  #nav.seitennav, #nav.seitennav.schmal { position: fixed; inset: 0 auto 0 0; width: min(310px,88vw); padding: calc(16px + env(safe-area-inset-top)) 14px calc(20px + env(safe-area-inset-bottom)); flex-direction: column; overflow-x: hidden; overflow-y: auto; z-index: 80; background: var(--surface); border-right: 1px solid var(--border); transform: translateX(-105%); visibility: hidden; transition: transform .18s ease; }
  body.nav-open #nav.seitennav { transform: translateX(0); visibility: visible; }
  #nav .nav-mobile-head { display: flex; align-items: center; justify-content: space-between; padding: 0 4px 14px; font-weight: 600; }
  #nav .nav-mobile-head button { width: 44px; justify-content: center; }
  #nav button, #nav.schmal button { width: 100%; flex: 0 0 auto; min-height: 44px; justify-content: flex-start; }
  #nav .lb, #nav.schmal .lb { display: inline; flex: 1; }
  #nav .pf { display: inline; }
  #nav .nav-gruppe, #nav .nav-unter { display: flex; flex-direction: column; }
  #nav .nav-gruppe.zu .nav-unter { display: none; }
  #nav .nav-kopf { display: flex; }
  #nav .nav-unter { margin-left: 11px; }
  .view:not(.cockpit):not(.vaultmode) { padding: 20px 16px 32px; }
  h2 { font-size: 21px; }
  .card { padding: 16px; }
  .md-kopf { align-items: center; }
  #tr_model { flex: 1; min-width: 0 !important; max-width: 100%; }
  .md-reiter { margin-bottom: 16px; }
  input:not([type=checkbox]):not([type=radio]),select,textarea { font-size: 16px; }
  .btn, .btn.sm { min-height: 44px; }
  .cock-left, .cock-right { width: 100%; }
  .handy-zurueck { display: inline-flex; }
  .cock-head { padding: 8px 12px; gap: 6px; }
  .cock-head .peer { flex: 1 1 160px; }
  .cock-head > .row { flex-wrap: nowrap; overflow-x: auto; width: 100%; }
  .cock-head > .row .btn { flex: 0 0 auto; min-width: 44px; }
  .cock-head .peer .sub { font-size: 11px; }
  .thread { padding: 12px; }
  .bub { max-width: 90%; font-size: 14px; }
  .composer { padding: 10px 10px max(10px,env(safe-area-inset-bottom)); }
  .composer .tools { flex-wrap: wrap; gap: 5px; }
  .composer .tools .btn { font-size: 12px; padding: 6px 9px; }
  .composer .tools:not(.expanded) > :nth-child(n+3):not(#composerToolsToggle) { display: none; }
  .composer .tools .lang { display: inline; }
  .composer .hint { display: none; }
  .composer .row-input { gap: 6px; }
  .composer textarea { font-size: 16px; }
  .composer .row-input > .btn { padding: 8px 10px; }
  .composer-panel { max-height: 45dvh; }
  .composer-panel .cp-head { flex-wrap: wrap; }
  .tg-wrap { flex-direction: column; }
  .tg-liste { width: 100%; flex-basis: auto; max-height: 220px; }
  .tg-haupt { width: 100%; }
  .tg-blase { max-width: 94%; }
  .login-page { padding: 18px; }
  .login-page .box { padding: 28px 24px; }
}
@media (prefers-reduced-motion:reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; } }

/* Higher specificity than the legacy primary-button rules. */
button.btn.green { background: #8ad6b1; border-color: #8ad6b1; color: #112b21; }
button.btn.green:hover { background: #a0e5c3; }
button.btn:not(.ghost):not(.danger):not(.green) { color: #191c32; }
.suite-icon { width: 18px; height: 18px; flex: 0 0 18px; vertical-align: middle; }
#nav .ic { display: inline-flex; align-items: center; justify-content: center; }
#nav .nav-mobile-head > button { padding: 10px; }
#nav button { font-size: 13px; }
.cock-head .btn { display: inline-flex; align-items: center; justify-content: center; gap: 5px; }
.actorbtn .lbl-nm, .conv .av, .cock-head .peer .av { font-family: var(--font-ui); letter-spacing: 0; }
button.btn.sm { font-family: var(--font-ui); text-transform: none; }
input[type=file] { width: 100%; min-width: 0; }
.ed-sec .row { flex-wrap: wrap; }
.ed-sec .row > div { max-width: 100%; }
.md-reiter button { scroll-margin-inline: 10px; }
@media (max-width:860px) {
  .composer #emFavRow { display: none; }
  .md-reiter { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); overflow: visible; }
  .md-reiter button { white-space: normal; padding: 9px; font-size: 12px; justify-content: center; }
  .md-reiter .z { padding: 1px 5px; }
  #view-model .md-reiter { display: flex; overflow-x: auto; }
  #view-model .md-reiter button { white-space: nowrap; }
  .row-input #btnEmoji { min-width: 40px; }
}

.composer .tools .suite-icon { margin-right: 5px; }
.composer .tools .btn { display: inline-flex; align-items: center; justify-content: center; }
/* The collapsed tools rule wins over their shared inline-flex styling. */
.composer .tools:not(.expanded) > .btn:nth-child(n+5):not(#composerToolsToggle) { display: none; }
@media (min-width:861px) {
  .cock-head > .handy-zurueck, .cock-head .row .handy-zurueck { display: none; }
}
@media (min-width:861px) and (max-width:1199px) {
  .cock-head .row .handy-zurueck[onclick="handyAnsicht('seite')"] { display: inline-flex; }
}
@media (max-width:860px) {
  .composer .tools:not(.expanded) > .btn:nth-child(n+3):not(#composerToolsToggle) { display: none; }
}

:root { --font-ui: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Apple Color Emoji', 'Segoe UI Emoji', 'Noto Emoji', sans-serif; --font-mono: ui-monospace, 'SF Mono', Menlo, Consolas, 'Apple Color Emoji', 'Segoe UI Emoji', 'Noto Emoji', monospace; }
.em-fav button, .em-grid button, .tg-block-t, .phase-chip { font-family: var(--font-ui); }

:root { --font-mono: ui-monospace, 'SF Mono', Menlo, Consolas, monospace, 'Apple Color Emoji', 'Segoe UI Emoji', 'Noto Emoji'; }
@media (max-width:860px) { .cock-head > .row { flex-wrap: nowrap !important; } }

/* The previous container query targeted its own container and could not
   move the editor navigation above the form. A grid also puts the help
   sentence below both columns instead of squeezing the text fields. */
.ed-wrap { display: grid; grid-template-columns: 190px minmax(0,1fr); align-items: start; }
.ed-wrap > .hint { grid-column: 1 / -1; }
.ed-inhalt { width: 100%; }
#tr_inhalt .ed-wrap { display: block; }
[data-profile-editor] > label:first-child { margin-top: 0 !important; }
.profile-savebar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 14px 0; margin-top: 16px; border-top: 1px solid var(--border); }
@media (max-width:860px) {
  .ed-wrap { grid-template-columns: minmax(0,1fr); }
  .ed-nav { width: 100%; position: static; display: flex; flex-wrap: wrap; gap: 5px; }
  .ed-nav button { width: auto; min-height: 44px; }
  .md-jarvis .karte .row { flex-wrap: wrap; }
  .ed-sec .row > div { flex-basis: 160px !important; }
}
