/* ============================================================================
   Kreuzworträtsel – Oberfläche im CI von RichardGisler / FinSys

   Farben, Schriften, Radien und Schatten sind aus
   firefly-extension/resources/scss/custom.css übernommen (--ext-*),
   die Marken- und Favicon-Adressen aus ext-favicon.twig.

   Avenir und die Bildmarke werden von richardgisler.ch geladen – genau wie
   in FinSys. Fallen sie aus, greifen die Rückfallschriften und das Logo
   bleibt einfach leer; das Layout hält.
   OCR-B (Schnitt 700) liegt als Base64 direkt hier drin und wird für
   Spielcode, Uhr und Punktzahlen verwendet.
   ========================================================================= */
@import url("https://RG9.ch/CORPORATE/fonts/Avenir/Avenir.css");

@font-face {
  font-family: 'OCRB';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  size-adjust: 113%;
  src: url('data:font/ttf;base64,AAEAAAAOAIAAAwBgT1MvMoP9bZ8AAAFoAAAATmNtYXAhkyJ7AAAJUAAAAFRjdnQgGWgfngAACxwAAACMZnBnbafZXpMAAAmkAAAAZGdseWbCMyBoAAAMeAAANTRoZG14JBwciAAAAogAAAbIaGVhZPqnkfEAAADsAAAANmhoZWEFowERAAABJAAAACRobXR4Gw8XpwAAAbgAAADQbG9jYathuVEAAAuoAAAA0G1heHAA2QGNAAABSAAAACBuYW1lFIcuEwAAQawAAAE8cG9zdP9+ABUAAELoAAAAIHByZXATTareAAAKCAAAARMAAQAAAAEAAIrE2wNfDzz1AAID6AAAAACyWnsAAAAAAOa11Ar//P7fAoQDIAABAAsAAgAAAAAAAAABAAADIP7fAAACWv/8/9YChAABAAAAAAAAAAAAAAAAAAAAAQABAAAAZwA4AAUAAAAAAAIACABAAAoAAABaARMAAAAAAAACWgK8AAUAAgK8AooAAACPArwCigAAAcUAMgEDAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEFsdHMAIAAgIBkDIADIAAADIAEhAAACWgAlAAAA9gCUAGUAWwBHAFoA6wDQAJwAWwBsAIkAZwDRAH0AWgCPAG8AYQBjAH0AWgBhAFoAWwDaAI4AUgBtAGgAfQBjAFsAZgCDAIgAhgCvAGQAdgCXAIIAYwCPAGAAbABdAHgAVwB/AHYAagBsAFAAXABPAFYAgACqAHwAgABc//wAsgBsAHEAjQBYAG0AiQBhAIUArwCsAIQAzwBiAG0AXwBxAFcAmwB6AIsAbgBYAF4AXwBOAIEAfQEEAIsAggDzAOkAUwANAI0AawBXAAAAEAAAAGwJBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAAAAKBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYAAAALBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcAAAAMBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcAAAANCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAPCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkAAAAQCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoAAAARCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoAAAASCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsAAAATCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsL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') format('truetype');
}

:root {
  /* --- Marke --- */
  --blau: #3a7eb4;             /* --ext-primary   */
  --blau-tief: #2e6590;        /* --ext-link      */
  --blau-hell: #c4d9e9;        /* --ext-primary-light */
  --gold: #c7a25f;             /* --ext-accent    */
  --gold-text: #7b643b;        /* --ext-accent-text */
  --rot: #bb0000;

  /* --- Flächen --- */
  --bg: #eceff2;               /* --ext-bg      */
  --surface: #ffffff;          /* --ext-surface */
  --surface-2: #f2f4f7;        /* --ext-raised  */
  --hover: #e6ebf1;            /* --ext-hover   */
  --text: #1d2d3e;
  --muted: #5b6b7b;
  --line: rgba(0, 0, 0, .09);
  --line-strong: rgba(0, 0, 0, .16);

  /* --- Raster --- */
  --grid-line: #414b56;        /* --ext-primary-dark */
  --cell: #ffffff;
  --clue-bg: #f2f4f7;
  --empty: #dfe3e8;
  --sel: #f0dcb4;
  --sel-word: #faf2e2;

  --ok: #107e3e;
  --bad: #bb0000;

  --radius: 10px;              /* --ext-r */
  --shadow: 0 1px 2px rgba(0, 0, 0, .06), 0 2px 10px rgba(0, 0, 0, .09);
  --shadow-lg: 0 14px 36px rgba(0, 0, 0, .16);
  --font: "Avenir", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  --mono: "OCRB", "Roboto Mono", ui-monospace, Consolas, monospace;
  --logo: url("https://richardgisler.ch/DATA/img/logos/logo-r-neg.svg");
  --logo-filter: invert(1);    /* weisses R auf heller Fläche -> schwarz */
  --cs: 70px;
  color-scheme: light dark;
}
@media (prefers-color-scheme: dark) {
  :root {
    --blau: #4d9bf0;
    --blau-tief: #7ab4f5;
    --blau-hell: #2a5570;
    --gold-text: #d8bd86;
    --bg: #1d232a;             /* --ext-bg      dunkel */
    --surface: #23292f;        /* --ext-surface dunkel */
    --surface-2: #2b3138;      /* --ext-raised  dunkel */
    --hover: #32383f;
    --text: #eaecee;
    --muted: #a9b4be;
    --line: rgba(255, 255, 255, .12);
    --line-strong: rgba(255, 255, 255, .22);
    --grid-line: #6b7681;
    --cell: #32383f;
    --clue-bg: #23292f;
    --empty: #171c21;
    --sel: #6b5526;
    --sel-word: #3a3222;
    --ok: #4db678;
    --bad: #ff8888;
    --shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 2px 10px rgba(0, 0, 0, .35);
    --shadow-lg: 0 14px 36px rgba(0, 0, 0, .5);
    --logo-filter: none;       /* auf dunkler Fläche bleibt das R weiss */
  }
}

* { box-sizing: border-box; }
html, body { height: 100%; }
body {
  margin: 0; background: var(--bg); color: var(--text);
  font: 15px/1.55 var(--font);
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%; overscroll-behavior: none;
}
button, input, select { font: inherit; color: inherit; }
a { color: var(--blau); }
[hidden] { display: none !important; }
.view { min-height: 100%; display: flex; flex-direction: column; }
.center { align-items: center; justify-content: center; padding: 24px 16px 48px; }

/* ---------------- Karten / Formulare ---------------- */
.card {
  position: relative; overflow: hidden;
  width: 100%; max-width: 430px; background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--radius); padding: 28px; box-shadow: var(--shadow-lg);
}
.card::before {
  content: ""; position: absolute; inset: 0 0 auto 0; height: 4px; background: var(--blau);
}
.card-wide { max-width: 560px; }
.logo { display: flex; align-items: center; gap: 10px; margin: 0 0 6px; font-size: 23px; letter-spacing: -.02em; }
/* Bildmarke – dieselbe Datei und dieselbe Invertierlogik wie in FinSys */
.logo-mark {
  width: 30px; height: 30px; flex: none;
  background: var(--logo) center/contain no-repeat;
  filter: var(--logo-filter);
}
.brand-logo {
  width: 26px; height: 26px; display: block; flex: none;
  background: var(--logo) center/contain no-repeat;
  filter: var(--logo-filter);
}
.brand {
  display: flex; align-items: center; gap: 9px;
  padding-right: 12px; margin-right: 2px;
  border-right: 1px solid var(--line);
}
.brand-name { font-weight: 600; letter-spacing: .06em; font-size: 14px; }
@media (max-width: 720px) { .brand-name { display: none; } }
.tagline { margin: 0 0 20px; color: var(--muted); font-size: 13.5px; }
.field { display: block; margin: 0 0 14px; border: 0; padding: 0; }
.field > span, .field > legend { display: block; font-size: 12.5px; font-weight: 600; color: var(--muted); margin-bottom: 5px; }
.field legend small { font-weight: 400; }
input[type=text], input[type=password], select {
  width: 100%; padding: 10px 12px; border: 1px solid var(--line);
  border-radius: var(--radius); background: var(--surface); outline: none;
}
input:focus, select:focus { border-color: var(--blau); box-shadow: 0 0 0 3px rgba(43,108,163,.18); }
.code-input { letter-spacing: .4em; font-family: var(--mono); font-size: 22px; text-align: center; }
.grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.chips { display: flex; flex-wrap: wrap; gap: 6px; }
.chip { border: 1px solid var(--line); background: var(--surface); border-radius: 999px; padding: 5px 11px; font-size: 12.5px; cursor: pointer; }
.chip.on { background: var(--blau); border-color: var(--blau); color: #fff; }
.clue-bar .tag { background: var(--blau); }
.more { margin: 0 0 14px; }
.more summary { cursor: pointer; color: var(--muted); font-size: 13px; margin-bottom: 10px; }
.btn {
  border: 1px solid var(--line); background: var(--surface); border-radius: var(--radius);
  padding: 9px 14px; cursor: pointer; font-size: 13.5px; font-weight: 600; white-space: nowrap;
}
.btn:hover { border-color: var(--muted); }
.btn:active { transform: translateY(1px); }
.btn-primary { background: var(--blau); border-color: var(--blau); color: #fff; }
.btn-primary:hover { filter: brightness(1.1); }
.btn-ghost { background: transparent; color: var(--muted); }
.btn-block { width: 100%; padding: 12px; margin-top: 6px; }
.footnote { color: var(--muted); font-size: 12px; margin: 18px 0 0; text-align: center; }
.error { color: var(--bad); font-size: 13px; margin: 12px 0 0; }

/* ---------------- Topbar ---------------- */
.topbar {
  display: flex; align-items: center; gap: 10px; padding: 7px 12px;
  padding-top: max(7px, env(safe-area-inset-top));
  background: var(--surface); border-bottom: 1px solid var(--line); flex: none;
}
.spacer { flex: 1; }
.icon-btn { border: 0; background: transparent; cursor: pointer; font-size: 15px; padding: 6px 8px; border-radius: 8px; position: relative; line-height: 1; }
.icon-btn:hover { background: var(--surface-2); }
.room-code { font-family: var(--mono); border: 1px dashed var(--line-strong); background: var(--surface-2); border-radius: 8px; padding: 5px 10px; cursor: pointer; font-family: var(--mono); font-size: 14px; letter-spacing: .18em; font-weight: 700; }
.topbar-stat { display: flex; flex-direction: column; line-height: 1.15; }
.topbar-stat b { font-size: 14px; }
.topbar-stat small { font-size: 10px; color: var(--muted); text-transform: uppercase; letter-spacing: .05em; }
.mono { font-family: var(--mono); font-variant-numeric: tabular-nums; }
.zoom { display: flex; }
.dot { position: absolute; top: 3px; right: 4px; width: 7px; height: 7px; border-radius: 50%; background: var(--rot); }

/* ---------------- Fragenleiste ---------------- */
.clue-bar {
  flex: none; background: var(--surface); border-bottom: 1px solid var(--line);
  padding: 9px 14px; font-size: 14.5px; min-height: 40px; display: flex; align-items: center; gap: 8px;
}
.clue-bar .tag { background: var(--blau); color: #fff; border-radius: 5px; padding: 1px 7px; font-size: 11.5px; font-weight: 700; flex: none; }
.clue-bar-empty { color: var(--muted); font-size: 13px; }
.clue-bar .len { color: var(--muted); font-size: 12.5px; }

/* ---------------- Spielfläche ---------------- */
.play { flex: 1; display: flex; min-height: 0; }
.grid-area { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.grid-scroll { flex: 1; overflow: auto; padding: 14px; -webkit-overflow-scrolling: touch; }
.grid {
  display: grid; gap: 0; background: var(--grid-line); border: 2px solid var(--grid-line);
  width: max-content; margin: 0 auto; user-select: none;
}
.cell {
  width: var(--cs); height: var(--cs); position: relative; background: var(--cell);
  border-right: 1px solid var(--grid-line); border-bottom: 1px solid var(--grid-line);
  overflow: hidden;
}

.grid > .cell.empty { background: var(--empty); border-color: var(--empty); }
.cell.clue.done .clue-part { text-decoration: line-through; }

/* Buchstabenfeld */
.cell.letter { cursor: pointer; display: grid; place-items: center; }
.cell.letter .ltr {
  font-weight: 700; text-transform: uppercase; line-height: 1;
  font-size: calc(var(--cs) * .46);
}
.cell.letter.solved { background: color-mix(in srgb, var(--cell) 88%, currentColor); }
.cell.letter.solved .ltr { color: var(--solver, var(--ok)); }
.cell.letter.mine .ltr { color: var(--muted); }
.cell.word { background: var(--sel-word); }
.cell.active { background: var(--sel); }
.cell.letter.solved.word, .cell.letter.solved.active { background: var(--sel-word); }
.cell.bonus { box-shadow: inset 0 0 0 3px var(--gold); }
.cell .bnum {
  position: absolute; right: 2px; bottom: 1px; font-size: calc(var(--cs) * .19);
  font-weight: 700; color: var(--gold-text); line-height: 1;
}
@keyframes shake { 0%,100%{transform:translateX(0)} 25%{transform:translateX(-3px)} 75%{transform:translateX(3px)} }
.cell.shake { animation: shake .18s 2; }
@keyframes pop { 0%{transform:scale(.5);opacity:0} 60%{transform:scale(1.15)} 100%{transform:scale(1);opacity:1} }
.cell.pop .ltr { animation: pop .32s ease-out; }

/* Fragefeld */
.cell.clue { background: var(--clue-bg); display: flex; flex-direction: column; }
.cell .clue-part {
  flex: 1; position: relative; padding: 2px 11px 1px 3px;
  font-size: 10px; line-height: 1.1; font-weight: 700;
  hyphens: auto; -webkit-hyphens: auto; overflow-wrap: anywhere; word-break: break-word;
  overflow: hidden; display: flex; align-items: center;
}
.cell .clue-part > span.txt { display: block; max-height: 100%; }
/* Reicht der Platz trotz Verkleinern nicht, blendet der Text weich aus –
   den vollen Wortlaut zeigt die Leiste über dem Raster. */
.cell .clue-part.clipped::before {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 40%;
  background: linear-gradient(to bottom, transparent, var(--clue-bg)); pointer-events: none;
}
.cell .clue-part.active.clipped::before { background: linear-gradient(to bottom, transparent, var(--sel)); }
.cell .clue-part.active { background: var(--sel); }
.cell .clue-part + .clue-part { border-top: 1px solid var(--line); }
.cell .clue-part .arrow { position: absolute; color: var(--text); font-size: 9px; line-height: 1; }
.cell .clue-part .arrow.right { right: 1px; top: 50%; transform: translateY(-50%); }
.cell .clue-part .arrow.down { right: 50%; bottom: 0; transform: translateX(50%); }
.cell.clue.done { opacity: .45; }

/* ---------------- Lösungswort ---------------- */
.bonus-bar {
  flex: none; display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
  padding: 10px 14px; background: var(--surface); border-top: 1px solid var(--line);
}
.bonus-label { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); }
.bonus-cells { display: flex; gap: 3px; }
.bonus-cells span {
  width: 30px; height: 34px; border: 1.5px solid var(--grid-line); background: var(--blau-hell);
  display: grid; place-items: center; font-weight: 700; position: relative; border-radius: 3px;
}
.bonus-cells span::after {
  content: attr(data-n); position: absolute; right: 2px; bottom: 0; font-size: 9px; color: var(--gold-text); font-weight: 700;
}
.bonus-form { display: flex; gap: 6px; }
.bonus-form input { width: 190px; padding: 7px 10px; border: 1px solid var(--line); border-radius: 8px; text-transform: uppercase; }
.bonus-done { font-weight: 600; color: var(--ok); }

/* ---------------- Seitenleiste ---------------- */
.side { width: 268px; flex: none; border-left: 1px solid var(--line); background: var(--surface); display: flex; flex-direction: column; min-height: 0; }
.panel { padding: 12px 14px; border-bottom: 1px solid var(--line); }
.panel-grow { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.panel h2 { margin: 0 0 8px; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); }
.ranking { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 3px; }
.ranking li { display: flex; align-items: center; gap: 8px; padding: 4px 6px; border-radius: 7px; font-size: 14px; }
.ranking li.me { background: var(--surface-2); }
.ranking li.off { opacity: .45; }
.ranking .pos { width: 16px; color: var(--muted); font-size: 12px; text-align: right; }
.ranking .swatch { width: 10px; height: 10px; border-radius: 3px; flex: none; }
.ranking .pname { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ranking .pts { font-family: var(--mono); font-weight: 700; font-variant-numeric: tabular-nums; }
.ranking .wcount { color: var(--muted); font-size: 11.5px; }
.ranking-big li { font-size: 16px; padding: 7px 8px; }
.feed { overflow-y: auto; flex: 1; display: flex; flex-direction: column; gap: 5px; font-size: 13px; padding-right: 4px; }
.feed div { color: var(--muted); }
.feed b { color: var(--text); }
.host-actions { display: flex; gap: 6px; flex-wrap: wrap; }
.host-actions .btn { flex: 1 1 auto; min-width: 0; }

/* ---------------- Chat / Overlay / Toast ---------------- */
.hidden-input { position: absolute; opacity: 0; border: 0; padding: 0; background: transparent; width: 100%; height: 100%; left: 0; top: 0; font-size: 16px; caret-color: transparent; }
.chat-panel {
  position: fixed; right: 12px; bottom: 12px; width: min(330px, calc(100vw - 24px)); height: min(420px, 62vh);
  background: var(--surface); border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--shadow);
  display: flex; flex-direction: column; overflow: hidden; z-index: 30;
}
.chat-head { display: flex; justify-content: space-between; align-items: center; padding: 8px 8px 8px 14px; border-bottom: 1px solid var(--line); font-weight: 600; font-size: 13px; }
.chat-log { flex: 1; overflow-y: auto; padding: 10px 14px; display: flex; flex-direction: column; gap: 6px; font-size: 13.5px; }
.chat-form { display: flex; gap: 6px; padding: 8px; border-top: 1px solid var(--line); }
.chat-form input { flex: 1; padding: 8px 10px; border: 1px solid var(--line); border-radius: 8px; }
.overlay { position: fixed; inset: 0; background: rgba(0,0,0,.55); display: grid; place-items: center; padding: 20px; z-index: 40; }
.overlay-card { background: var(--surface); border-radius: 16px; padding: 26px; max-width: 520px; width: 100%; box-shadow: var(--shadow); max-height: 88vh; overflow: auto; }
.overlay-card h2 { margin: 0 0 14px; }
.end-solution { margin: 16px 0; font-size: 13px; display: grid; gap: 3px; max-height: 34vh; overflow: auto; }
.end-solution span { color: var(--muted); }
.overlay-actions { display: flex; gap: 8px; margin-top: 8px; }
.toast { position: fixed; left: 50%; bottom: 22px; transform: translateX(-50%); background: #23272e; color: #fff; padding: 10px 18px; border-radius: 999px; font-size: 13.5px; z-index: 50; box-shadow: var(--shadow); }
.toast.good { background: var(--ok); }
.toast.bad { background: var(--bad); }
.reconnect { position: fixed; top: 0; left: 0; right: 0; background: #b3541e; color: #fff; text-align: center; padding: 6px; font-size: 13px; z-index: 60; }

.only-narrow { display: none; }
@media (max-width: 860px) {
  .side { position: fixed; inset: auto 0 0 0; height: 62vh; width: 100%; border-left: 0; border-top: 1px solid var(--line); border-radius: 16px 16px 0 0; z-index: 25; box-shadow: var(--shadow); }
  .side:not(.open) { display: none; }
  .only-narrow { display: inline-block; }
  .grid-scroll { padding: 8px; }
  .bonus-form input { width: 130px; }
}
