@charset "utf-8";
/* ==========================================================================
   MaeliOS Kobold   -   usr/lib/brett.css
   --------------------------------------------------------------------------
   Brett- und Kartenspiele: gemeinsame Bühne, Leinwand und Raumfenster.
   Die Spiele zeichnen auf Canvas; nur die Mehrspieler-Lobby ist HTML.
   ========================================================================== */

.brettbox{
  position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;
  overflow:hidden;background:var(--buehne-verlauf,#04070c);
  min-height:0;
}
.brettbox::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse at 50% 46%,rgba(0,0,0,0) 52%,rgba(0,0,0,.46) 100%);
}
.brettcanvas{
  display:block;border-radius:14px;touch-action:none;
  box-shadow:0 0 0 1px rgba(120,210,255,.15),0 22px 60px rgba(0,0,0,.62);
}
.brettcanvas.klick{cursor:pointer}

/* --------------------------------------------------------------- Lobby */
.brettlobby{
  position:absolute;inset:0;z-index:8;display:flex;align-items:center;justify-content:center;
  padding:18px;background:rgba(3,8,14,.72);
  -webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);
  font-family:"Inter","Segoe UI","Noto Sans",system-ui,sans-serif;
}
.brettlobby.weg{display:none}
.blatt{
  width:min(520px,100%);max-height:100%;overflow:auto;
  padding:22px 22px 18px;
  color:#eaf4ff;
  background:linear-gradient(160deg,rgba(25,46,63,.98),rgba(10,20,31,.98));
  border:1px solid rgba(130,215,255,.26);border-radius:16px;
  box-shadow:0 24px 70px rgba(0,0,0,.62),inset 0 1px 0 rgba(255,255,255,.08);
}
.blattkopf{border-bottom:1px solid rgba(130,215,255,.16);padding-bottom:13px;margin-bottom:15px}
.blatttitel{font-size:22px;font-weight:650;letter-spacing:.01em}
.blattunter{font-size:12.5px;color:#93aec4;margin-top:4px;line-height:1.4}
.blatttext{font-size:13.5px;line-height:1.55;color:#c6d8e6;margin:0 0 16px}
.blattfehler{
  margin:0 0 13px;padding:9px 11px;border-radius:8px;font-size:12.5px;line-height:1.4;
  color:#ffd6d6;background:rgba(160,35,35,.28);border:1px solid rgba(255,110,110,.35);
}
.blattcodezeile{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  padding:12px;border-radius:12px;background:rgba(0,0,0,.22);
  border:1px solid rgba(130,215,255,.16);margin-bottom:14px;
}
.blattcode{
  flex:1 1 auto;min-width:118px;text-align:center;
  font-family:"Courier New","Liberation Mono",ui-monospace,monospace;
  font-size:34px;font-weight:700;letter-spacing:.18em;color:#8fe3ff;
  text-shadow:0 0 18px rgba(90,210,255,.42);
}
.blattaktionen{display:flex;gap:7px;flex-wrap:wrap}
.blattspieler{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.blattspielerzeile{
  display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:9px;
  background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.07);
  font-size:13px;
}
.blattspielerzeile.frei{opacity:.45;border-style:dashed}
/* Freier Platz mit Einladung: Bedienelemente in voller Deckkraft. */
.blattspielerzeile.frei-einladen{
  border-style:dashed;border-color:rgba(130,215,255,.22);
  background:rgba(255,255,255,.02);flex-wrap:wrap;
}
.blattspielerzeile.frei-einladen .blattname{opacity:.45}
.blatteinladen{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-left:auto}
.blatteinladewahl{
  max-width:190px;padding:5px 8px;border-radius:8px;cursor:pointer;
  border:1px solid rgba(130,215,255,.28);background:rgba(0,0,0,.32);
  color:#eaf4ff;font:600 12px/1.2 "Inter","Segoe UI","Noto Sans",system-ui,sans-serif;
}
.blatteinladewahl:focus{outline:0;border-color:#8fe3ff;box-shadow:0 0 0 3px rgba(90,210,255,.15)}
.blatteinladewahl option{background:#12202c;color:#eaf4ff}
.blatteinladeknopf{padding:6px 10px;font-size:12px}
.blattpunkt{width:10px;height:10px;border-radius:50%;box-shadow:0 0 10px currentColor;flex:0 0 auto}
.blattname{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.blattech{
  font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:#9fd8f0;
  padding:2px 6px;border-radius:999px;background:rgba(90,200,255,.12);
  border:1px solid rgba(110,210,255,.2);
}
.blattknopf{
  appearance:none;border:1px solid rgba(130,215,255,.28);border-radius:9px;
  background:rgba(255,255,255,.07);color:#eaf4ff;
  font:600 12.5px/1 "Inter","Segoe UI","Noto Sans",system-ui,sans-serif;
  padding:9px 13px;cursor:pointer;transition:background .16s,border-color .16s,transform .08s;
}
.blattknopf:hover{background:rgba(120,210,255,.16);border-color:rgba(150,230,255,.5)}
.blattknopf:active{transform:translateY(1px)}
.blattknopf:focus-visible{outline:2px solid #8fe3ff;outline-offset:2px}
.blattknopf.wichtig{
  width:100%;padding:11px 14px;font-size:13.5px;
  background:linear-gradient(180deg,#2e9fd0,#1d6f9e);border-color:#63c9f2;
  box-shadow:0 6px 18px rgba(20,120,170,.28);
}
.blattknopf.wichtig:hover{background:linear-gradient(180deg,#3bb2e4,#2280b4)}
.blattknopf.wichtig:disabled{opacity:.42;cursor:not-allowed;box-shadow:none}
.blattknopf.leise{background:rgba(255,255,255,.03);color:#a9c1d1}
.blattbeitreten{display:flex;gap:8px;margin:13px 0 10px}
.blattfeld{
  flex:1;min-width:0;padding:10px 12px;border-radius:9px;
  border:1px solid rgba(130,215,255,.28);background:rgba(0,0,0,.26);
  color:#eaf4ff;font:700 16px/1 "Courier New","Liberation Mono",ui-monospace,monospace;
  letter-spacing:.18em;text-transform:uppercase;outline:none;
}
.blattfeld::placeholder{color:#6c879b;letter-spacing:.1em}
.blattfeld:focus{border-color:#8fe3ff;box-shadow:0 0 0 3px rgba(90,210,255,.15)}
.blatthilfe{font-size:11.5px;line-height:1.45;color:#7f9bb0;margin-top:10px}
.blattoptionen{
  margin:14px 0 16px;padding:12px;border-radius:12px;
  background:rgba(0,0,0,.18);border:1px solid rgba(130,215,255,.16);
}
.blattoptionstitel{
  font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;
  color:#8fb8cc;margin-bottom:8px;
}
.blattoption{
  display:flex;gap:10px;align-items:flex-start;padding:8px 9px;border-radius:8px;
  cursor:pointer;
}
.blattoption:hover{background:rgba(255,255,255,.045)}
.blattoption input{
  margin:2px 0 0;width:15px;height:15px;flex:0 0 auto;accent-color:#3bb2e4;cursor:pointer;
}
.blattoption input:disabled{cursor:not-allowed;opacity:.55}
.blattoptiontext{display:flex;flex-direction:column;gap:2px;min-width:0}
.blattoptiontext b{font-size:12.5px;font-weight:600;color:#eaf4ff;line-height:1.3}
.blattoptiontext small{font-size:11px;line-height:1.4;color:#8fa9bb}
.blattoption input:disabled + .blattoptiontext{opacity:.65}

.blatt > .blattaktionen{margin-top:14px}
.blattcountdown{
  padding:14px;margin:8px 0 12px;border-radius:10px;text-align:center;
  font-size:19px;font-weight:650;color:#ffe28a;
  background:rgba(255,210,90,.07);border:1px solid rgba(255,210,90,.2);
}

@media (max-width:560px){
  .blatt{padding:18px 15px 14px}
  .blatttitel{font-size:19px}
  .blattcode{font-size:28px}
  .blattcodezeile{flex-direction:column;align-items:stretch}
  .blattaktionen{justify-content:center}
}
