/* KUK-START -- Launcher fuer Vollbildanwendungen.
   Owner: scripts/ops/sync_webtool_shell.py -- nicht von Hand aendern. */
.kuk-start {
  display: inline-flex; align-items: center; gap: 7px;
  min-height: 34px; padding: 0 12px;
  border: 1px solid rgba(20, 40, 50, .22); border-radius: 9px;
  background: rgba(255, 255, 255, .92); color: #1b3946;
  font: inherit; font-size: 13px; font-weight: 600; line-height: 1;
  cursor: pointer;
}
.kuk-start:hover { border-color: rgba(20, 40, 50, .42); }
.kuk-start svg { flex: none; }
/* Steht er in einer eigenen Leiste der Anwendung, erbt er deren Farbe
   -- sonst leuchtet ein weisser Knopf aus einer dunklen Leiste heraus. */
.kuk-start[data-kuk-eingehaengt] {
  margin-left: auto; background: transparent; color: inherit;
  border-color: currentColor; opacity: .82;
}
.kuk-start[data-kuk-eingehaengt]:hover { opacity: 1; }
/* Ohne Anker schwebt er. Die Ecke ist je Anwendung gemessen:
   `oben-rechts` fuer drawio und den Raumplaner, deren obere Leiste
   rechts frei ist; `oben-links` fuer das Whiteboard, das rechts oben
   seine Bibliothek fuehrt -- und dort um die Breite seines eigenen
   Menuekopfs versetzt, damit beide nebeneinander stehen. */
.kuk-start-oben-rechts, .kuk-start-oben-links {
  position: fixed; z-index: 55; top: 12px;
  box-shadow: 0 4px 14px rgba(16, 24, 32, .18);
}
.kuk-start-oben-rechts { right: 14px; }
.kuk-start-oben-links { left: 62px; }
@media (max-width: 560px) {
  .kuk-start span { position: absolute; width: 1px; height: 1px;
    overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .kuk-start { padding: 0 9px; min-width: 34px; justify-content: center; }
}

.kuk-launcher {
  position: fixed; inset: 0; z-index: 60;
  background: rgba(16, 24, 32, .38);
  display: flex; align-items: flex-end; justify-content: center;
}
.kuk-launcher[hidden] { display: none; }
.kuk-launcher-blatt {
  width: 100%; max-height: 86vh; overflow-y: auto;
  background: #fff; color: #17313c;
  border-radius: 16px 16px 0 0;
  padding: 8px 18px 24px;
  box-shadow: 0 -8px 32px rgba(16, 24, 32, .18);
  font: 15px/1.5 system-ui, -apple-system, "Segoe UI", sans-serif;
}
.kuk-launcher-kopf {
  display: flex; align-items: center; justify-content: space-between;
  padding: 8px 0 4px;
}
.kuk-launcher-titel { font-weight: 700; }
.kuk-launcher-zu {
  font: inherit; font-size: 24px; line-height: 1;
  background: transparent; border: 0; cursor: pointer;
  min-width: 44px; min-height: 44px; color: inherit;
}
.kuk-launcher-bereich { padding: 8px 0; }
.kuk-launcher-bereich[hidden] { display: none; }
.kuk-launcher-label {
  margin: 0 0 6px; font-size: 12px; letter-spacing: .04em;
  text-transform: uppercase; color: #5b767f;
}
.kuk-launcher-ziel {
  display: flex; align-items: center; gap: 11px;
  padding: 7px 0; min-height: 44px;
  text-decoration: none; color: inherit;
}
.kuk-launcher-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.kuk-launcher-ziel:hover { color: #0b6269; }
.kuk-launcher-hinweis { font-size: 12px; color: #5b767f; }
.kuk-kachel {
  display: grid; place-items: center; flex: none;
  width: 34px; height: 34px; border-radius: 28%; corner-shape: squircle;
  border: 1px solid rgba(255,255,255,.24); color: #fff;
  background: linear-gradient(145deg, var(--tile-light), var(--tile-dark));
  box-shadow: inset 0 1px 1px rgba(255,255,255,.35), 0 3px 8px rgba(20,50,60,.16);
}
.kuk-kachel svg { display: block; width: 74%; height: 74%; overflow: visible; }
.kuk-kachel svg:not([stroke]) { stroke: currentColor; fill: none; stroke-width: 1.7; }
.kuk-kachel .duo { fill: rgba(255,255,255,.22); stroke: none; }
.kuk-launcher-offen { overflow: hidden; }

@media (min-width: 841px) {
  .kuk-launcher {
    background: transparent; inset: 0 0 auto auto;
    padding: 8px 14px 0; justify-content: flex-end;
  }
  .kuk-launcher-blatt {
    width: min(360px, calc(100vw - 36px));
    border-radius: 12px; margin-top: 52px;
    border: 1px solid rgba(20, 40, 50, .16);
    box-shadow: 0 12px 32px rgba(16, 24, 32, .16);
  }
}
@media (prefers-reduced-motion: reduce) {
  .kuk-start { transition: none; }
}
