/* werkzeuge.css — Oberfläche der kollaborativen Werkzeuge (Hub + einzelne Tools).
   Baut auf core/base.css, themes/tokens.js und live/live.css auf. */

/* ---- Hub / Intro ---- */
.wz-hero{ text-align:center; padding:1rem 0 .4rem; }
.wz-hero h1{ margin:.2rem 0; color:var(--navy); font-size:clamp(1.6rem,5vw,2.4rem); }
.wz-hero p{ color:var(--muted); max-width:720px; margin:.2rem auto; }

/* Kachelgitter nutzt .tool-grid/.tool-card aus live.css; hier nur Ergänzungen. */
.wz-card{ position:relative; }
.wz-card__row{ display:flex; align-items:center; gap:.6rem; }
.wz-card .tool-card__icon{ line-height:1; }
.wz-tags{ display:flex; gap:.4rem; flex-wrap:wrap; margin-top:.3rem; }

/* ---- Bereichs-Kopf eines Werkzeugs ---- */
.wz-tophead{ display:flex; align-items:center; gap:.6rem; flex-wrap:wrap; margin-bottom:.8rem; }
.wz-tophead .spacer{ flex:1; }
.wz-tophead strong{ color:var(--navy); }

/* ---- Modus-Wahl (Host / lokal) ---- */
.wz-modes{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; max-width:720px; margin:1.2rem auto; }
@media (max-width:560px){ .wz-modes{ grid-template-columns:1fr; } }

/* ---- Karten / Eingabezeilen ---- */
.wz-row{ display:flex; gap:.5rem; flex-wrap:wrap; align-items:center; margin:.6rem 0; }
.wz-row > input, .wz-row > textarea, .wz-row > select{ flex:1 1 14rem; min-width:0; }
.wz-grow{ flex:1 1 auto; }
.wz-muted{ color:var(--muted); font-size:.9rem; }
.wz-err{ color:var(--bad); font-weight:700; min-height:1.2em; }
.wz-empty{ color:var(--muted); text-align:center; padding:1.4rem; }

/* ---- Farbwahl (Pinnwand) ---- */
.wz-colors{ display:flex; gap:.4rem; flex-wrap:wrap; align-items:center; }
.wz-color{ width:34px; height:34px; min-height:34px; border-radius:50%; border:2px solid var(--line); padding:0; cursor:pointer; }
.wz-color[aria-pressed=true]{ outline:3px solid var(--accent); outline-offset:2px; }

/* ---- Pinnwand-Karten ---- */
.wz-board{ display:grid; gap:1rem; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); margin:1rem 0; align-items:start; }
.wz-cols{ display:grid; gap:1rem; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); margin:1rem 0; align-items:start; }
.wz-col{ background:var(--soft); border:1px solid var(--line); border-radius:var(--radius-card); padding:.6rem; }
.wz-col__head{ font-weight:800; color:var(--navy); margin:.1rem .2rem .5rem; }
.wz-col__cards{ display:flex; flex-direction:column; gap:.7rem; }
.wz-note{ position:relative; border:1px solid var(--line); border-radius:var(--radius-card); box-shadow:var(--shadow);
  padding:.7rem .8rem .5rem; background:var(--paper); }
.wz-note.c-yellow{ background:#fff7c7; } .wz-note.c-pink{ background:#ffd7e6; } .wz-note.c-blue{ background:#d4e7ff; }
.wz-note.c-green{ background:#d6f3df; } .wz-note.c-orange{ background:#ffe1c2; } .wz-note.c-violet{ background:#e7d9ff; }
.wz-note.c-white{ background:#ffffff; }
.wz-note__text{ color:#1f2433; white-space:pre-wrap; word-break:break-word; }
.wz-note__foot{ display:flex; align-items:center; gap:.5rem; margin-top:.5rem; font-size:.8rem; color:#3a3f50; }
.wz-note__author{ font-weight:700; flex:1; }
.wz-like{ background:rgba(0,0,0,.06); border:0; border-radius:var(--radius-pill); padding:.2rem .6rem; min-height:36px;
  font-weight:800; color:#1f2433; cursor:pointer; }
.wz-like.liked{ background:color-mix(in srgb,var(--bad) 22%,transparent); }
.wz-mini{ background:rgba(0,0,0,.06); border:0; border-radius:var(--radius-pill); min-height:36px; padding:.2rem .55rem;
  font-weight:700; color:#1f2433; cursor:pointer; }

/* ---- Dokument-Blöcke ---- */
.wz-doc{ display:flex; flex-direction:column; gap:.8rem; margin:1rem 0; max-width:820px; }
.wz-block{ background:var(--panel); border:1px solid var(--line); border-radius:var(--radius-card); box-shadow:var(--shadow); padding:.8rem 1rem; }
.wz-block__text{ white-space:pre-wrap; word-break:break-word; }
.wz-block__foot{ display:flex; align-items:center; gap:.5rem; margin-top:.5rem; font-size:.82rem; color:var(--muted); }
.wz-block__author{ flex:1; font-weight:700; }

/* ---- Gruppenwahl ---- */
.wz-groups{ display:grid; gap:1rem; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); margin:1rem 0; align-items:start; }
.wz-group{ background:var(--panel); border:1.5px solid var(--line); border-radius:var(--radius-card); box-shadow:var(--shadow); padding:.9rem; }
.wz-group.full{ opacity:.7; }
.wz-group.mine{ outline:3px solid var(--accent); }
.wz-group__name{ font-weight:800; color:var(--navy); font-size:1.1rem; }
.wz-group__cap{ font-weight:800; color:var(--accent); margin:.3rem 0; }
.wz-group__cap .of{ color:var(--muted); font-weight:700; }
.wz-group__members{ display:flex; flex-wrap:wrap; gap:.35rem; margin:.5rem 0; }
.wz-member{ background:var(--soft); border-radius:var(--radius-pill); padding:.15rem .55rem; font-size:.8rem; font-weight:700; }
.wz-group__bar{ height:8px; background:var(--soft); border-radius:var(--radius-pill); overflow:hidden; border:1px solid var(--line); margin:.4rem 0; }
.wz-group__bar i{ display:block; height:100%; background:linear-gradient(90deg,var(--accent),var(--accent2)); }
.wz-tag-full{ display:inline-block; font-size:.72rem; font-weight:800; color:var(--bad); }

/* ---- Wortwolke ---- */
.wz-cloud{ display:flex; flex-wrap:wrap; gap:.4rem .9rem; align-items:baseline; justify-content:center; margin:1rem 0; }
.wz-cloud .w{ font-weight:800; color:var(--navy); line-height:1.1; }

/* ---- Picker (Zufallsrad) ---- */
.wz-wheel-wrap{ display:flex; flex-direction:column; align-items:center; gap:.8rem; margin:1rem 0; }
.wz-wheel{ position:relative; width:min(360px,80vw); height:min(360px,80vw); }
.wz-wheel svg{ width:100%; height:100%; display:block; transition:transform 4s cubic-bezier(.16,.84,.3,1); }
.wz-wheel__pin{ position:absolute; top:-6px; left:50%; transform:translateX(-50%); font-size:1.8rem; z-index:2; }
.wz-pick-result{ font-size:clamp(1.4rem,5vw,2.4rem); font-weight:900; color:var(--accent); text-align:center; min-height:1.4em; }
.wz-drawn{ display:flex; flex-wrap:wrap; gap:.4rem; margin:.6rem 0; }
.wz-drawn .d{ background:var(--soft); border-radius:var(--radius-pill); padding:.2rem .6rem; font-weight:700; font-size:.85rem; color:var(--muted); text-decoration:line-through; }

/* ---- Timer ---- */
.wz-clock{ text-align:center; margin:1rem 0; }
.wz-clock__time{ font-family:var(--font-mono); font-weight:900; letter-spacing:.02em; line-height:1;
  font-size:clamp(3.5rem,22vw,12rem); color:var(--navy); font-variant-numeric:tabular-nums; }
.wz-clock__time.warn{ color:var(--warn); }
.wz-clock__time.done{ color:var(--bad); animation:wzpulse 1s var(--ease) infinite; }
@keyframes wzpulse{ 0%,100%{ opacity:1; } 50%{ opacity:.5; } }
.wz-clock__progress{ height:14px; background:var(--soft); border-radius:var(--radius-pill); overflow:hidden; border:1px solid var(--line);
  max-width:680px; margin:1rem auto; }
.wz-clock__progress i{ display:block; height:100%; background:linear-gradient(90deg,var(--accent),var(--accent2)); transition:width .9s linear; }
.wz-preset{ background:var(--soft); border:1.5px solid var(--line); border-radius:var(--radius-pill); padding:.4rem .9rem; }
.wz-preset.is-on{ background:var(--accent); color:#fff; border-color:transparent; }

/* ---- Exit-Ticket ---- */
.wz-ticket{ background:var(--panel); border:1px solid var(--line); border-radius:var(--radius-card); box-shadow:var(--shadow);
  padding:1rem; max-width:640px; margin:1rem auto; }
.wz-ticket label{ display:block; font-weight:700; color:var(--navy); margin:.8rem 0 .2rem; }
.wz-ticket .hint{ color:var(--muted); font-weight:400; font-size:.86rem; }
.wz-wall{ display:grid; gap:.8rem; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); margin:1rem 0; align-items:start; }
.wz-wall__card{ background:var(--panel); border:1px solid var(--line); border-radius:var(--radius-card); box-shadow:var(--shadow); padding:.8rem; }
.wz-wall__card h4{ margin:.1rem 0 .4rem; color:var(--navy); font-size:.95rem; }
.wz-wall__card ul{ margin:.2rem 0; padding-left:1.1rem; }
.wz-wall__name{ font-weight:800; color:var(--accent); margin-bottom:.3rem; }

/* ---- Gemeinsames ---- */
.wz-panel{ background:var(--panel); border:1px solid var(--line); border-radius:var(--radius-card); box-shadow:var(--shadow); padding:1rem; margin:.8rem 0; }
.wz-count-line{ font-weight:800; color:var(--accent); }
.wz-toggle{ display:inline-flex; align-items:center; gap:.4rem; font-weight:700; }
