/*
 * German - Schwarz, Rot, Gold, and everything in its place.
 *
 * Where British is a street party, this one is the drawing office: the
 * console sits on Millimeterpapier with a Schriftfeld in the corner, cards are
 * form sections headed by a small flag, tables are ruled in ink,
 * the scores are boxes on a Formular and the clock is an enamel plate. The
 * topbar is the flag stacked, the side nav an Autobahn sign with the active
 * page as a yellow Bundesstrasse plate, server tabs are number plates, the
 * login form has been stamped GEPRUEFT, the toast says Achtung. Fraktur for
 * the titles, DIN for everything that has to be read. Cursors: a sharpened
 * green pencil, a white glove, eine Mass.
 *
 * No bunting, no skyline, no weather. Nothing here moves. It is efficient.
 *
 * As in British, --bg is a paper colour because the console uses it as an
 * inset well, the wallpaper is painted with literals on .plus-grid::before,
 * and every text colour clears 4.5:1 on its surface. Art is
 * img/brand/german/, drawn for this skin; no federal eagle, no real plates.
 */

[data-brand="german"] {
  --bg: #f2f1ec;
  --surface: #fbfbf8;
  --surface-2: #e8e7e0;
  --field: #ffffff;
  --primary: #14161c;
  --primary-ink: #ffce00;
  --secondary: #6b6f78;
  --accent: #dd0000;
  --fg: #111111;
  --text: #111111;
  --muted: #4b4f57;
  --line: rgba(20, 22, 28, 0.24);
  --valkyra: #c1121c;
  --lonestar: #005387;
  --manticore: #1d6b3a;
  --teamkill: #7a5f00;
  --watch: #a04f10;
  --flag: #6b2fa8;

  --good: #1d6b3a;
  --bad: #dd0000;
  --warn: #a04f10;
  --info: #005387;
  --idle: #8b8f98;
  --bad-soft: rgba(221, 0, 0, 0.1);
  --badge-live: #1d6b3a;
  --badge-next: #7a5f00;

  --scrim: rgba(10, 10, 12, 0.6);
  --spotlight: rgba(10, 10, 12, 0.64);
  --shadow: 0 14px 36px rgba(10, 10, 12, 0.3);
  --shadow-lift: 0 -8px 24px rgba(10, 10, 12, 0.2);
  --radius: 2px;
  /* Bahnschrift is Windows' own DIN 1451; DIN Alternate is the Mac's. Barlow
     is the download for everyone else. */
  --font: "Bahnschrift", "DIN Alternate", "Barlow", "Segoe UI", system-ui, sans-serif;
  --mono: "IBM Plex Mono", "Cascadia Mono", ui-monospace, monospace;

  --de-fraktur: "UnifrakturMaguntia", "Old English Text MT", Georgia, serif;
  --de-black: #14161c;
  --de-red: #dd0000;
  --de-gold: #ffce00;
  --de-autobahn: #005387;
  --de-bundesstrasse: #f7b500;

  --cur-default: url("../../img/brand/german/cursors/default.svg") 1 1, default;
  --cur-pointer: url("../../img/brand/german/cursors/pointer.svg") 11 1, pointer;
  --cur-text: url("../../img/brand/german/cursors/text.svg") 16 16, text;
  --cur-grab: url("../../img/brand/german/cursors/grab.svg") 15 14, grab;
  --cur-grabbing: url("../../img/brand/german/cursors/grabbing.svg") 15 14, grabbing;
  --cur-help: url("../../img/brand/german/cursors/help.svg") 1 1, help;
  --cur-no: url("../../img/brand/german/cursors/not-allowed.svg") 16 16, not-allowed;
  --cur-wait: url("../../img/brand/german/cursors/wait.svg") 16 16, wait;
  --cur-progress: url("../../img/brand/german/cursors/progress.svg") 1 1, progress;

  cursor: var(--cur-default);
  scrollbar-color: #14161c #dddcd4;
}

/* ---------- Wallpaper ---------- */

/* Behind the console: Millimeterpapier, heavy line every fifth square, and the
   drawing's Schriftfeld in the bottom right corner. */
[data-brand="german"].plus-grid::before,
[data-brand="german"] .plus-grid::before {
  background-color: #f4f2ea;
  background-image:
    url("../../img/brand/german/schriftfeld.svg?v=2"),
    linear-gradient(rgba(201, 72, 32, 0.3) 1px, transparent 1px),
    linear-gradient(90deg, rgba(201, 72, 32, 0.3) 1px, transparent 1px),
    linear-gradient(rgba(201, 72, 32, 0.13) 1px, transparent 1px),
    linear-gradient(90deg, rgba(201, 72, 32, 0.13) 1px, transparent 1px);
  background-size: 352px auto, 50px 50px, 50px 50px, 10px 10px, 10px 10px;
  background-position: right 18px bottom 18px, 0 0, 0 0, 0 0, 0 0;
  background-repeat: no-repeat, repeat, repeat, repeat, repeat;
}

/* Nothing to read outside the login form, so the flag shows itself in full. */
[data-brand="german"] .plus-grid:has(.connect-wrap)::before {
  background-image: linear-gradient(180deg, #000 0 33.34%, #dd0000 33.34% 66.67%, #ffce00 66.67%);
  background-size: auto;
  background-position: 0 0;
}

@media print {
  [data-brand="german"] .connect-card::after {
    display: none;
  }
}

[data-brand="german"] ::selection {
  background: var(--de-gold);
  color: #111;
}

[data-brand="german"] a {
  color: var(--de-autobahn);
}

[data-brand="german"] a:hover {
  color: var(--de-red);
}

/* ---------- Brand ---------- */

[data-brand="german"] .mark {
  display: grid;
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 0;
  background: url("../../img/brand/german/brezel.svg") center / contain no-repeat;
  font-size: 0;
}

[data-brand="german"] .brand-icon {
  display: none;
}

/* UnifrakturMaguntia ships one weight: pin it and keep synthesis off. */
[data-brand="german"] .brand h1,
[data-brand="german"] .view-head h2,
[data-brand="german"] .faq-head h2,
[data-brand="german"] .modal h3,
[data-brand="german"] .tour-card h3 {
  font-family: var(--de-fraktur);
  font-weight: 400;
  font-synthesis: none;
  letter-spacing: 0.01em;
  color: var(--de-black);
}

[data-brand="german"] .brand h1 {
  font-size: 26px;
}

[data-brand="german"] .view-head h2 {
  font-size: 34px;
}

[data-brand="german"] .modal h3,
[data-brand="german"] .tour-card h3,
[data-brand="german"] .faq-head h2 {
  font-size: 24px;
}

[data-brand="german"] .view-head p {
  color: #2c2f36;
}

[data-brand="german"] .brand-sub {
  font-weight: 700;
  letter-spacing: 0.14em;
  color: var(--de-red);
}

/* ---------- Topbar: the flag, stacked - black bar, red rule, gold rule ---------- */

[data-brand="german"] .topbar {
  position: relative;
  background: #0d0e11;
  border-bottom: 3px solid var(--de-red);
  box-shadow: 0 3px 0 var(--de-gold);
  color: #fff;
}

[data-brand="german"] .topbar .mark {
  width: 34px;
  height: 34px;
}

[data-brand="german"] .topbar .brand h1 {
  font-size: 22px;
  color: #fff;
}

[data-brand="german"] .topbar .brand-sub {
  color: var(--de-gold);
}

[data-brand="german"] .topbar .hint {
  color: #e6e6e6;
}

[data-brand="german"] .live-chip {
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.04em;
}

[data-brand="german"] .live-chip.down {
  color: #ff9b9b;
}

/* Server tabs are number plates: white, black edge, the blue strip on the left. */
[data-brand="german"] .server-tab {
  background: #fff;
  color: #111;
  border: 2px solid #111;
  border-left: 11px solid #003399;
  border-radius: 4px;
  font-weight: 700;
  letter-spacing: 0.04em;
}

[data-brand="german"] .server-tab.active {
  background: var(--de-gold);
  border-color: #111;
  border-left-color: #003399;
}

[data-brand="german"] .server-tab .icon-btn {
  background: transparent;
  border: 0;
  box-shadow: none;
  color: inherit;
}

/* ---------- Side nav: an Autobahn sign; where you are is the yellow plate ---------- */

[data-brand="german"] .nav {
  background: var(--de-autobahn);
  border-right: 4px solid #fff;
  box-shadow: inset -1px 0 0 #00365a;
}

[data-brand="german"] .nav > a {
  border-radius: 3px;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: none;
}

[data-brand="german"] .nav > a:hover {
  background: rgba(255, 255, 255, 0.16);
  color: #fff;
}

[data-brand="german"] .nav > a.active {
  background: var(--de-bundesstrasse);
  color: #111;
  box-shadow: inset 0 0 0 2px #111;
}

/* The page's black scrollbar reads as a stray stripe down the sign. */
[data-brand="german"] .nav {
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.55) transparent;
}

/* Links and buttons share the foot; the base sizes them differently. */
[data-brand="german"] .nav-foot .btn {
  padding: 9px 12px;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* ---------- Cards: a section of the Formular, a small flag at its head ---------- */

[data-brand="german"] .card,
[data-brand="german"] .ws-card,
[data-brand="german"] .stat-tiles {
  background: var(--surface);
  border: 1px solid rgba(20, 22, 28, 0.5);
  box-shadow: 3px 3px 0 rgba(20, 22, 28, 0.18);
}

[data-brand="german"] .card > h3:first-child,
[data-brand="german"] .card > .card-head:first-child {
  margin: -16px -16px 14px;
  padding: 9px 16px 9px 30px;
  /* Bands across, black on top: stood on end they are somebody else's flag. */
  background:
    linear-gradient(var(--de-black), var(--de-black)) 20px 0 / 1px 100% no-repeat,
    linear-gradient(180deg, #000 0 33.4%, var(--de-red) 33.4% 66.7%, var(--de-gold) 66.7%) 0 0 / 20px 100% no-repeat,
    #fff;
  border-bottom: 2px solid var(--de-black);
  border-radius: 1px 1px 0 0;
  color: var(--de-black);
}

[data-brand="german"] .card > h3:first-child,
[data-brand="german"] .card > .card-head:first-child h3 {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.14em;
  color: var(--de-black);
}

[data-brand="german"] .card > .card-head:first-child .hint,
[data-brand="german"] .card > .card-head:first-child label,
[data-brand="german"] .card > .card-head:first-child .lbl {
  color: #2c2f36;
}

[data-brand="german"] .card > details > summary.card-head,
[data-brand="german"] details.card > summary.card-head {
  cursor: var(--cur-pointer) !important;
}

/* ---------- Buttons: square, outlined, a hard shadow. Paint only, no sizing. ---------- */

[data-brand="german"] .btn {
  background: #fff;
  color: var(--de-black);
  border: 2px solid var(--de-black);
  border-radius: 2px;
  box-shadow: 2px 2px 0 var(--de-black);
  font-weight: 700;
}

[data-brand="german"] .btn:hover {
  background: #f3f0df;
  border-color: var(--de-black);
}

[data-brand="german"] .btn:active {
  transform: translate(2px, 2px);
  box-shadow: none;
}

[data-brand="german"] .btn-primary,
[data-brand="german"] .nav-foot a.btn:hover {
  background: var(--de-black);
  color: var(--de-gold);
  border-color: var(--de-black);
  box-shadow: 2px 2px 0 var(--de-red);
}

[data-brand="german"] .btn-primary:hover {
  background: #2a2d36;
  color: var(--de-gold);
}

[data-brand="german"] .btn-gold,
[data-brand="german"] .btn-gold:hover {
  background: var(--de-gold);
  color: #111;
  border-color: #111;
  box-shadow: 2px 2px 0 #111;
  letter-spacing: 0.16em;
}

[data-brand="german"] .btn-gold:hover {
  background: #ffdb45;
}

[data-brand="german"] .btn-danger {
  background: #fff;
  color: var(--de-red);
  border-color: var(--de-red);
  box-shadow: 2px 2px 0 var(--de-red);
}

[data-brand="german"] .btn-danger:hover,
[data-brand="german"] .nav-foot a.btn-danger:hover {
  background: var(--de-red);
  color: #fff;
  border-color: var(--de-red);
  box-shadow: 2px 2px 0 #6b0000;
}

[data-brand="german"] .btn:disabled,
[data-brand="german"] .btn[aria-disabled="true"] {
  opacity: 0.55;
  box-shadow: none;
}

/* ---------- Pills and chips ---------- */

[data-brand="german"] .pill {
  background: #fff;
  color: #2c2f36;
  border: 1px solid var(--de-black);
  border-radius: 2px;
}

[data-brand="german"] .pill:hover {
  background: #f3f0df;
}

[data-brand="german"] .pill.active {
  background: var(--de-black);
  border-color: var(--de-black);
  color: var(--de-gold);
}

/* After .pill.active, which ties with the base faction rules and would paint
   all three black. White clears 4.5:1 on each. */
[data-brand="german"] .pill.valkyra.active { background: var(--valkyra); border-color: var(--valkyra); color: #fff; }
[data-brand="german"] .pill.lonestar.active { background: var(--lonestar); border-color: var(--lonestar); color: #fff; }
[data-brand="german"] .pill.manticore.active { background: var(--manticore); border-color: var(--manticore); color: #fff; }

[data-brand="german"] .gold-pill {
  background: var(--de-red);
  color: #fff;
  padding: 4px 10px;
}

[data-brand="german"] .chip,
[data-brand="german"] .legend-btn {
  background: #fff;
  border-radius: 2px;
}

/* ---------- Fields: das Formular ---------- */

[data-brand="german"] .ctrl,
[data-brand="german"] .field input:not([type="checkbox"]):not([type="range"]),
[data-brand="german"] .field select,
[data-brand="german"] .field textarea {
  background: #fff;
  color: #111;
  border: 2px solid var(--de-black);
  border-radius: 0;
}

[data-brand="german"] .ctrl:focus,
[data-brand="german"] .field input:not([type="checkbox"]):not([type="range"]):focus,
[data-brand="german"] .field select:focus,
[data-brand="german"] .field textarea:focus {
  border-color: var(--de-black);
  outline: 3px solid var(--de-gold);
  outline-offset: 0;
  box-shadow: inset 0 0 0 2px var(--de-black);
}

[data-brand="german"] ::placeholder {
  color: #5f636c;
  opacity: 1;
}

[data-brand="german"] .field label,
[data-brand="german"] .lbl {
  color: #2c2f36;
}

[data-brand="german"] .tick,
[data-brand="german"] .switch input[type="checkbox"],
[data-brand="german"] .row-check input[type="checkbox"] {
  background: #fff;
  border: 2px solid var(--de-black);
  border-radius: 0;
}

[data-brand="german"] .tick:checked,
[data-brand="german"] .switch input[type="checkbox"]:checked,
[data-brand="german"] .row-check input[type="checkbox"]:checked {
  background: var(--de-black);
  border-color: var(--de-black);
}

[data-brand="german"] .tick:checked::after,
[data-brand="german"] .switch input[type="checkbox"]:checked::after,
[data-brand="german"] .row-check input[type="checkbox"]:checked::after {
  left: 3px;
  top: 0;
}

/* One focus style everywhere: gold with a black keyline. */
[data-brand="german"] :focus-visible {
  outline: 3px solid var(--de-gold);
  outline-offset: 1px;
  box-shadow: 0 0 0 5px var(--de-black);
}

[data-brand="german"] .ctrl:focus-visible,
[data-brand="german"] .field input:focus-visible,
[data-brand="german"] .field select:focus-visible,
[data-brand="german"] .field textarea:focus-visible {
  outline-offset: 0;
  box-shadow: inset 0 0 0 2px var(--de-black);
}

/* ---------- Tables: ruled in ink; the sorted column is underlined in gold ---------- */

[data-brand="german"] .table-wrap {
  background: #fff;
  border: 2px solid var(--de-black);
  border-radius: 0;
}

[data-brand="german"] th,
[data-brand="german"] .feed-kills th {
  background: #ecebe4;
  color: #111;
  border-bottom: 2px solid var(--de-black);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
}

/* The base greys the Time head out; here it is ink like the rest. */
[data-brand="german"] .player-table th.time-col {
  color: #111;
}

[data-brand="german"] .player-table th[data-sort]:hover,
[data-brand="german"] .audit-table th[data-audit-sort]:hover,
[data-brand="german"] .db-table th[data-db-sort]:hover,
[data-brand="german"] .flag-table th[data-flag-sort]:hover,
[data-brand="german"] .feed-kills th[data-feed-sort]:hover,
[data-brand="german"] .feed-stats th[data-stats-sort]:hover {
  color: var(--de-red);
  text-decoration: underline;
}

[data-brand="german"] .player-table th[aria-sort],
[data-brand="german"] .audit-table th[aria-sort],
[data-brand="german"] .db-table th[aria-sort],
[data-brand="german"] .feed-kills th[aria-sort] {
  color: #111;
  box-shadow: inset 0 -4px 0 var(--de-gold);
}

[data-brand="german"] tbody tr:nth-child(even) td {
  background-color: rgba(20, 22, 28, 0.035);
}

[data-brand="german"] tbody tr:hover td {
  background-color: #fff3c4;
}

[data-brand="german"] .cell-pick:hover,
[data-brand="german"] .feed-steam:hover {
  color: var(--de-red);
  text-decoration: underline;
}

/* ---------- Scores: three boxes on the form; clock: an enamel plate ---------- */

[data-brand="german"] .score {
  background: #fff;
  border: 2px solid var(--de-black);
  border-radius: 0;
  box-shadow: inset 0 7px 0 var(--de-black);
  padding-top: 17px;
}

/* The box is headed in the faction's own ink. */
[data-brand="german"] .score.valkyra { box-shadow: inset 0 7px 0 var(--valkyra); }
[data-brand="german"] .score.lonestar { box-shadow: inset 0 7px 0 var(--lonestar); }
[data-brand="german"] .score.manticore { box-shadow: inset 0 7px 0 var(--manticore); }

[data-brand="german"] .score .name {
  color: #111;
  font-weight: 700;
}

[data-brand="german"] .score .n {
  font-size: 40px;
}

[data-brand="german"] .timer {
  display: inline-block;
  padding: 2px 16px;
  background: #fff;
  border: 3px solid var(--de-black);
  border-radius: 6px;
  box-shadow: inset 0 0 0 2px #fff, inset 0 0 0 3px var(--de-black);
  color: #111;
  font-family: var(--mono);
  font-size: 38px;
  font-weight: 600;
  letter-spacing: 0.04em;
}

/* ---------- Overlays: three stripes across the top ---------- */

[data-brand="german"] .modal,
[data-brand="german"] .tour-card {
  background: linear-gradient(180deg, #000 0 6px, #dd0000 6px 12px, #ffce00 12px 18px, var(--surface) 18px);
  border: 2px solid var(--de-black);
  border-radius: 2px;
  padding-top: 32px;
}

[data-brand="german"] .menu {
  background: #fff;
  border: 2px solid var(--de-black);
  border-radius: 2px;
}

[data-brand="german"] .menu button:hover,
[data-brand="german"] .combo-opt.active,
[data-brand="german"] .combo-opt:hover {
  background: var(--de-gold);
  color: #111;
  border-radius: 0;
}

[data-brand="german"] .combo-opt.active .combo-detail,
[data-brand="german"] .combo-opt:hover .combo-detail {
  color: inherit;
}

/* Achtung. */
[data-brand="german"] .wd-toast {
  background: var(--de-gold);
  color: #111;
  border: 3px solid #111;
  border-radius: 0;
  font-weight: 700;
}

[data-brand="german"] .tour-spot {
  border-color: var(--de-gold);
}

[data-brand="german"] .gs-stage {
  background: var(--surface);
  border: 2px solid var(--de-black);
  border-radius: 2px;
}

/* ---------- Patchlog: the fold line of the file, a punched hole per date ---------- */

[data-brand="german"] .patchlog-group::before {
  left: 5px;
  width: 0;
  border-radius: 0;
  background: none;
  border-left: 2px dashed var(--de-black);
}

[data-brand="german"] .patchlog-date::before {
  width: 14px;
  height: 14px;
  left: -1px;
  border-radius: 0;
  background: var(--de-gold);
  border: 3px solid var(--de-black);
}

/* .modal h3 reaches the date too; put it back to a label. */
[data-brand="german"] .modal .patchlog-date {
  font-family: var(--font);
  font-size: 13px;
  font-weight: 700;
}

[data-brand="german"] .patchlog-date span {
  background: var(--de-black);
  border-color: var(--de-black);
  color: var(--de-gold);
  border-radius: 2px;
}

[data-brand="german"] .patchlog-item {
  background: #fff;
  border-radius: 2px;
}

[data-brand="german"] .patchlog-item p {
  color: #2c2f36;
}

/* ---------- Login ---------- */

/* No bunting, no skyline: the flag, the form, and the stamp that says it was checked. */
[data-brand="german"] .connect-card {
  background: linear-gradient(180deg, #000 0 8px, #dd0000 8px 16px, #ffce00 16px 24px, var(--surface) 24px);
  border: 2px solid var(--de-black);
  border-radius: 2px;
  padding-top: 48px;
  box-shadow: 6px 6px 0 rgba(10, 10, 12, 0.55);
  backdrop-filter: none;
  position: relative;
}

[data-brand="german"] .connect-card::after {
  content: "";
  position: absolute;
  top: 40px;
  right: 14px;
  width: 132px;
  height: 56px;
  pointer-events: none;
  background: url("../../img/brand/german/stempel.svg") center / contain no-repeat;
  transform: rotate(-9deg);
}

[data-brand="german"] .connect-card .mark {
  width: 56px;
  height: 56px;
}

[data-brand="german"] .connect-card .brand h1 {
  font-size: 36px;
}

/* ---------- Scrollbars ---------- */

[data-brand="german"] ::-webkit-scrollbar {
  width: 12px;
  height: 12px;
}

[data-brand="german"] ::-webkit-scrollbar-track {
  background: #dddcd4;
}

[data-brand="german"] ::-webkit-scrollbar-thumb {
  background: var(--de-black);
  border: 2px solid #dddcd4;
  border-radius: 0;
}

[data-brand="german"] .server-tabs {
  scrollbar-width: thin;
  scrollbar-color: #ffce00 transparent;
}

[data-brand="german"] .server-tabs::-webkit-scrollbar {
  height: 5px;
}

/* ---------- Cursors ----------
   Same arrangement as British: each of the console's cursors gets its twin,
   and each keeps the keyword behind it for a browser that skips the art. */

[data-brand="german"] a[href],
[data-brand="german"] button,
[data-brand="german"] select,
[data-brand="german"] summary,
[data-brand="german"] label[for],
[data-brand="german"] [role="button"],
[data-brand="german"] input[type="checkbox"],
[data-brand="german"] input[type="range"],
[data-brand="german"] .btn,
[data-brand="german"] .server-tab,
[data-brand="german"] .perm-acc-btn,
[data-brand="german"] .perm-acc-head > label,
[data-brand="german"] .perm-list label,
[data-brand="german"] .role-card-head,
[data-brand="german"] .tick,
[data-brand="german"] .switch input[type="checkbox"],
[data-brand="german"] .row-check input[type="checkbox"],
[data-brand="german"] .wd-toast.show,
[data-brand="german"] .probe-table details summary,
[data-brand="german"] .db-notes-only,
[data-brand="german"] .db-notes-only input,
[data-brand="german"] .btn-plain,
[data-brand="german"] .ws-more,
[data-brand="german"] .feed-match-head,
[data-brand="german"] .cell-pick,
[data-brand="german"] .feed-steam,
[data-brand="german"] .feed-setup > summary,
[data-brand="german"] .combo-clear,
[data-brand="german"] .combo-opt,
[data-brand="german"] .pill,
[data-brand="german"] .player-table th[data-sort],
[data-brand="german"] .audit-table th[data-audit-sort],
[data-brand="german"] .db-table th[data-db-sort],
[data-brand="german"] .flag-table th[data-flag-sort],
[data-brand="german"] .feed-kills th[data-feed-sort],
[data-brand="german"] .feed-stats th[data-stats-sort],
[data-brand="german"] .legend-btn,
[data-brand="german"] .acc-btn,
[data-brand="german"] .faq summary,
[data-brand="german"] .menu button,
[data-brand="german"] .feed-result-close {
  cursor: var(--cur-pointer);
}

[data-brand="german"] input:not([type="checkbox"]):not([type="range"]):not([type="button"]):not([type="submit"]),
[data-brand="german"] textarea,
[data-brand="german"] [contenteditable="true"] {
  cursor: var(--cur-text);
}

[data-brand="german"] .rot-handle {
  cursor: var(--cur-grab);
}

[data-brand="german"] .rot-handle:active {
  cursor: var(--cur-grabbing);
}

[data-brand="german"] body.rot-dragging,
[data-brand="german"] body.rot-dragging * {
  cursor: var(--cur-grabbing) !important;
}

[data-brand="german"] .help-tip,
[data-brand="german"] abbr[title] {
  cursor: var(--cur-help);
}

[data-brand="german"] button:disabled,
[data-brand="german"] .btn:disabled,
[data-brand="german"] .btn[aria-disabled="true"],
[data-brand="german"] select:disabled,
[data-brand="german"] input:disabled,
[data-brand="german"] textarea:disabled,
[data-brand="german"] .tick:disabled,
[data-brand="german"] .switch input[type="checkbox"]:disabled {
  cursor: var(--cur-no);
}

[data-brand="german"] [aria-busy="true"] {
  cursor: var(--cur-progress);
}

[data-brand="german"] [aria-busy="true"] button,
[data-brand="german"] #connect-submit:disabled {
  cursor: var(--cur-wait);
}
