.community { --cm-border:rgba(201,168,76,.2); margin-block:1.5rem; min-width:0; }
.cm-hero,.cm-panel { background:linear-gradient(135deg,rgba(35,39,43,.94),rgba(15,18,21,.97)); border:1px solid var(--cm-border); border-radius:1rem; padding:clamp(1rem,3vw,1.75rem); min-width:0; }
.cm-hero { margin-bottom:1.25rem; }
.community h1 { color:#f8fafc; font-size:clamp(1.5rem,4vw,2.25rem); font-weight:700; }
.community h2 { color:#e8d6a0; font-size:1.15rem; font-weight:600; margin-bottom:.75rem; }
.community h3 { color:#f8fafc; font-weight:600; }
.cm-muted { color:#a3adb9; font-size:.875rem; margin-block:.5rem; }
.cm-grid { display:grid; align-items:start; gap:1.25rem; grid-template-columns:repeat(auto-fit,minmax(min(100%,21rem),1fr)); }
.cm-stack { display:grid; gap:1rem; }
.cm-row { display:flex; align-items:center; gap:.75rem; flex-wrap:wrap; }
.cm-list { display:grid; gap:.75rem; }
.cm-item { padding:.75rem; border:1px solid rgba(255,255,255,.08); border-radius:.65rem; overflow-wrap:anywhere; }
.cm-item a,.cm-link { color:#ead48e; text-decoration:underline; text-underline-offset:3px; }
.cm-form { display:grid; gap:1rem; }
.cm-fields { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr)); gap:1rem; }
.cm-form label,.cm-label { display:grid; gap:.4rem; color:#d0d7df; font-size:.875rem; min-width:0; }
.cm-form input:not([type=checkbox]):not([type=hidden]),.cm-form select,.cm-form textarea,.cm-input { background:#101418; border:1px solid rgba(255,255,255,.2); border-radius:.5rem; color:#f1f5f9; padding:.65rem .75rem; width:100%; min-width:0; }
.cm-form input:focus-visible,.cm-form select:focus-visible,.cm-form textarea:focus-visible,.cm-button:focus-visible,.cm-link:focus-visible { outline:2px solid #e8c76c; outline-offset:3px; }
.cm-button { display:inline-flex; justify-content:center; align-items:center; gap:.4rem; min-height:44px; padding:.55rem 1rem; background:#c9a84c; color:#14171a; border:1px solid #d9bc69; border-radius:.5rem; font-size:.875rem; font-weight:600; cursor:pointer; text-decoration:none; }
.cm-button-secondary { background:transparent; color:#ead48e; border-color:var(--cm-border); }
.cm-button-danger { background:#52242a; border-color:#b96770; color:#ffe4e6; }
.cm-error { padding:1rem; border:1px solid #b96770; border-radius:.65rem; background:#361e24; color:#ffd3d6; margin-bottom:1rem; }
.cm-badge { border:1px solid var(--cm-border); border-radius:2rem; padding:.2rem .65rem; color:#e8d6a0; font-size:.8rem; }
.cm-step { display:grid; gap:.75rem; padding:1rem; border:1px solid rgba(255,255,255,.1); border-radius:.6rem; }
.cm-board { width:100%; aspect-ratio:1; background:#12191f; border:1px solid var(--cm-border); border-radius:.75rem; }
.cm-board-editor { cursor:crosshair; touch-action:manipulation; }
.cm-board-wrap { width:min(100%,750px); margin-inline:auto; }
.cm-board text { font-size:22px; fill:#fff; paint-order:stroke; stroke:#111; stroke-width:4px; stroke-linejoin:round; }
.cm-share { overflow-wrap:anywhere; }
.cm-print-only { display:none; }
.cm-hidden { display:none!important; }
.cm-feedback { white-space:pre-wrap; overflow-wrap:anywhere; }

/* ── Community-Dashboard: Enterprise Command Center ──────────────────────────
   Glas-Panels mit Gold-Haarlinie, Timeline, Datumskacheln und Hover-Lifts.
   Alle Animationen respektieren prefers-reduced-motion (siehe tailwind.src). */
.dash-panel { position:relative; }
.dash-panel::before { content:""; position:absolute; inset-inline:1.25rem; top:0; height:1px; pointer-events:none;
  background:linear-gradient(90deg, transparent, rgba(240,215,143,.45), transparent); opacity:.7; }
.tour-date-tile { display:grid; width:3.5rem; flex:none; place-items:center; border-radius:.65rem;
  border:1px solid rgba(255,255,255,.1); background:rgba(7,10,14,.6); padding:.45rem .5rem; text-align:center;
  transition:border-color .3s, background-color .3s; }
li:hover .tour-date-tile, a:hover .tour-date-tile { border-color:rgba(201,168,76,.35); background:rgba(7,10,14,.8); }
.tour-date-day { font-size:1.125rem; line-height:1; font-weight:600; color:#fff; }
.tour-date-month { margin-top:.15rem; font-size:10px; font-weight:500; letter-spacing:.15em; color:#c9a84c; text-transform:uppercase; }
.tour-date-time { margin-top:.15rem; font-family:ui-monospace,Menlo,Consolas,monospace; font-size:10px; color:#758498; }
.glass-panel { transition:border-color .3s, box-shadow .3s; }
.glass-panel:hover { border-color:rgba(201,168,76,.18); }
@media (prefers-reduced-motion: no-preference) {
  .glass-panel { animation: dash-rise .55s cubic-bezier(.2,.7,.2,1) backwards; }
  .glass-panel:nth-of-type(2) { animation-delay:.05s; }
  .glass-panel:nth-of-type(3) { animation-delay:.1s; }
}
@keyframes dash-rise { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:none; } }
/* ── Taktiktafeln: Enterprise Operations-Deck ───────────────────────────────
   Premium-Glasflächen, Gold-Haarlinien, Sigill-Marker und animierte
   Kommando-Grafik. Alle Animationen respektieren prefers-reduced-motion. */
.tactic-kpi { position:relative; overflow:hidden; border-radius:.8rem; border:1px solid rgba(255,255,255,.06);
  background:rgba(18,24,33,.5); padding:.85rem 1rem; transition:border-color .3s, background-color .3s; }
.tactic-kpi::before { content:""; position:absolute; inset-inline:0; top:0; height:1px; opacity:0; transition:opacity .3s;
  background:linear-gradient(90deg, transparent, rgba(201,168,76,.55), transparent); }
.tactic-kpi:hover { border-color:rgba(201,168,76,.25); background:rgba(18,24,33,.7); }
.tactic-kpi:hover::before { opacity:1; }
.tactic-kpi-icon { display:grid; height:2.25rem; width:2.25rem; flex:none; place-items:center; border-radius:.6rem;
  border:1px solid rgba(201,168,76,.2); background:rgba(201,168,76,.07); color:#e3c46a; transition:all .3s; }
.tactic-kpi:hover .tactic-kpi-icon { border-color:rgba(201,168,76,.4); background:rgba(201,168,76,.15); color:#f0d78f; }

.tactic-step { display:flex; gap:.9rem; align-items:flex-start; border-radius:.8rem; border:1px solid rgba(255,255,255,.07);
  background:rgba(255,255,255,.025); padding:1rem 1.1rem; backdrop-filter:blur(6px);
  transition:border-color .3s, background-color .3s, transform .3s; }
.tactic-step:hover { border-color:rgba(201,168,76,.25); background:rgba(201,168,76,.045); transform:translateY(-2px); }
.tactic-step-icon { display:grid; height:2.5rem; width:2.5rem; flex:none; place-items:center; border-radius:.7rem;
  border:1px solid rgba(201,168,76,.25); background:linear-gradient(135deg, rgba(201,168,76,.18), transparent);
  color:#f0d78f; box-shadow:inset 0 1px 0 rgba(240,215,143,.15); }

.tactic-dot { display:inline-block; height:.55rem; width:.55rem; flex:none; border-radius:9999px; }
.tactic-dot-position { background:#34d399; box-shadow:0 0 10px rgba(52,211,153,.8); }
.tactic-dot-danger { background:#fb7185; box-shadow:0 0 10px rgba(251,113,133,.8); transform:rotate(45deg); border-radius:2px; }
.tactic-dot-arrow { background:linear-gradient(135deg,#f0d78f,#c9a84c); box-shadow:0 0 10px rgba(201,168,76,.8); }

.tactic-card { position:relative; display:flex; flex-direction:column; overflow:hidden; border-radius:.85rem;
  border:1px solid rgba(255,255,255,.09); background:rgba(255,255,255,.03);
  box-shadow:0 18px 40px -28px rgba(0,0,0,.8); backdrop-filter:blur(8px);
  transition:transform .3s, border-color .3s, box-shadow .3s; }
.tactic-card:hover { border-color:rgba(201,168,76,.3); box-shadow:0 28px 64px -34px rgba(201,168,76,.55); transform:translateY(-3px); }
.tactic-card::before { content:""; position:absolute; inset-inline:0; top:0; z-index:10; height:1px; opacity:0; transition:opacity .3s;
  background:linear-gradient(90deg, transparent, rgba(240,215,143,.7), transparent); }
.tactic-card:hover::before { opacity:1; }
.tactic-card-stripe { position:absolute; inset-block:0; left:0; width:2px; pointer-events:none;
  background:linear-gradient(to bottom, transparent, rgba(201,168,76,.6), transparent); }
.tactic-card-sheen { position:absolute; inset-block:0; left:0; z-index:20; width:33%; opacity:0; pointer-events:none;
  background:linear-gradient(90deg, transparent, rgba(240,215,143,.07), transparent); }
.tactic-card-media { position:relative; display:block; overflow:hidden; border-bottom:1px solid rgba(255,255,255,.06);
  aspect-ratio:320/150; background:radial-gradient(120% 90% at 50% 0%, rgba(201,168,76,.08), transparent 58%),
  linear-gradient(180deg, rgba(18,24,33,.95), rgba(7,10,14,.98)); }
.tactic-card-media::before { content:""; position:absolute; inset:0; pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size:18px 18px;
  -webkit-mask-image:radial-gradient(92% 84% at 50% 46%, #000 28%, transparent 100%);
  mask-image:radial-gradient(92% 84% at 50% 46%, #000 28%, transparent 100%); }
.tactic-card-media svg { position:relative; height:100%; width:100%; }
.tactic-card-veil { position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(to top, rgba(7,10,14,.92) 0%, rgba(7,10,14,.35) 36%, transparent 62%); }
.tactic-card-glyph { display:grid; height:2.5rem; width:2.5rem; flex:none; place-items:center; border-radius:.7rem;
  border:1px solid rgba(201,168,76,.2); background:rgba(201,168,76,.07); color:#e3c46a; transition:all .3s; }
.tactic-card:hover .tactic-card-glyph { border-color:rgba(201,168,76,.45); background:rgba(201,168,76,.15); color:#f0d78f; }
.tactic-card-title { font-size:1rem; font-weight:600; color:#fff; transition:color .2s; }
.tactic-card:hover .tactic-card-title { color:#f0d78f; }
.tactic-chip { display:inline-flex; align-items:center; gap:.35rem; border-radius:.45rem; border:1px solid;
  padding:.25rem .5rem; font-family:ui-monospace,Menlo,Consolas,monospace; font-size:10px; font-weight:600; letter-spacing:.06em; }
.tactic-chip-position { border-color:rgba(52,211,153,.3); background:rgba(52,211,153,.1); color:#6ee7b7; }
.tactic-chip-danger { border-color:rgba(251,113,133,.3); background:rgba(251,113,133,.1); color:#fda4af; }
.tactic-chip-arrow { border-color:rgba(201,168,76,.3); background:rgba(201,168,76,.1); color:#f0d78f; }
.tactic-empty { position:relative; overflow:hidden; border-radius:.85rem; border:1px solid rgba(255,255,255,.09);
  background:rgba(255,255,255,.03); padding:3rem 1.25rem; text-align:center; box-shadow:0 18px 40px -28px rgba(0,0,0,.8); backdrop-filter:blur(8px); }
.tactic-rise { animation:tactic-rise .55s cubic-bezier(.2,.7,.2,1) backwards; }

.tactic-dossier { position:relative; overflow:hidden; border-radius:1rem; border:1px solid rgba(255,255,255,.06);
  background:linear-gradient(135deg, rgba(26,35,48,.8), rgba(11,15,20,.6) 55%, rgba(7,10,14,1)); }
.tactic-dossier::before { content:""; position:absolute; inset-inline:0; top:0; z-index:10; height:1px;
  background:linear-gradient(90deg, transparent, rgba(201,168,76,.6), transparent); }
.tactic-dossier-glyph { display:grid; height:3rem; width:3rem; flex:none; place-items:center; border-radius:.8rem;
  border:1px solid rgba(201,168,76,.3); background:linear-gradient(135deg, rgba(201,168,76,.2), transparent);
  color:#f0d78f; box-shadow:inset 0 1px 0 rgba(240,215,143,.15); }
.tactic-lead { white-space:pre-wrap; overflow-wrap:anywhere; border-left:2px solid rgba(201,168,76,.4);
  padding-left:1rem; font-size:.9rem; line-height:1.7; color:#cbd5e1; }

.tactic-fact { display:flex; align-items:center; justify-content:space-between; gap:.75rem; border-radius:.6rem;
  border:1px solid transparent; padding:.5rem .65rem; transition:all .2s; }
.tactic-fact:hover { border-color:rgba(255,255,255,.06); background:rgba(255,255,255,.02); }
.tactic-fact dt { display:flex; min-width:0; align-items:center; gap:.5rem; font-size:10px; font-weight:500;
  letter-spacing:.14em; text-transform:uppercase; color:#8a9aaf; }
.tactic-fact dd { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-align:right; font-size:.75rem; color:#e2e8f0; }
.tactic-fact-icon { display:grid; height:1.5rem; width:1.5rem; flex:none; place-items:center; border-radius:.4rem;
  border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.02); color:#8a9aaf; transition:all .2s; }
.tactic-fact:hover .tactic-fact-icon { border-color:rgba(201,168,76,.3); color:#e3c46a; }

/* Premium-Board: Rahmen, Typografie und Marker-Animationen */
.tactic-board-frame { border-radius:.8rem; overflow:hidden; border:1px solid rgba(201,168,76,.18);
  background:#0b0f14; box-shadow:0 24px 60px -30px rgba(0,0,0,.85), inset 0 1px 0 rgba(240,215,143,.12); }
.tactic-board { display:block; width:100%; height:auto; aspect-ratio:1/1; background:#0b0f14; }
.tactic-board-editor { cursor:crosshair; touch-action:manipulation; }
.tactic-board-label { font-family:"Inter",ui-sans-serif,system-ui,sans-serif; font-size:26px; font-weight:600; letter-spacing:.02em;
  fill:#fff; stroke:#0b0f14; stroke-width:7px; paint-order:stroke; stroke-linejoin:round; }
.tactic-board-hud { font-family:ui-monospace,Menlo,Consolas,monospace; font-size:22px; letter-spacing:.14em; fill:#8a9aaf; fill-opacity:.85; }
.tactic-board-ping { transform-box:fill-box; transform-origin:center; opacity:.9; }
.tactic-arrow-flow { stroke-linecap:round; }
.tactic-embed { position:relative; overflow:hidden; border-radius:.85rem; border:1px solid rgba(255,255,255,.09);
  background:linear-gradient(135deg, rgba(26,35,48,.7), rgba(7,10,14,.95)); padding:1rem; }
.tactic-embed-line { position:absolute; inset-inline:1.25rem; top:0; height:1px;
  background:linear-gradient(90deg, transparent, rgba(240,215,143,.5), transparent); }
.tactic-embed-head { display:flex; align-items:flex-start; gap:.75rem; margin-bottom:.75rem; }
.tactic-embed-glyph { display:grid; height:2rem; width:2rem; flex:none; place-items:center; border-radius:.55rem;
  border:1px solid rgba(201,168,76,.25); background:rgba(201,168,76,.08); color:#e3c46a; }
.tactic-embed-link { display:inline-flex; flex:none; align-items:center; gap:.4rem; border-radius:.5rem;
  border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.02); padding:.4rem .7rem;
  font-size:11px; font-weight:500; color:#cbd5e1; text-decoration:none; transition:all .2s; }
.tactic-embed-link:hover { border-color:rgba(201,168,76,.4); color:#f0d78f; }
.tactic-embed-board { border-radius:.6rem; }

.tactic-progress { display:inline-block; height:.4rem; width:6rem; overflow:hidden; border-radius:9999px; background:rgba(255,255,255,.07); }
.tactic-progress > span { display:block; height:100%; width:0%; border-radius:9999px;
  background:linear-gradient(90deg, rgba(201,168,76,.6), rgba(240,215,143,.95)); transition:width .3s ease; }
.tactic-json { border-radius:.6rem; border:1px solid rgba(255,255,255,.07); background:rgba(7,10,14,.5); padding:.8rem 1rem; }
.tactic-json summary { display:flex; cursor:pointer; align-items:center; gap:.5rem; font-size:.8rem; font-weight:600; color:#e2e8f0; }
.tactic-json summary::marker { content:""; }

/* Keyframes */
@keyframes tactic-route { to { stroke-dashoffset:-56; } }
@keyframes tactic-scan { 0% { transform:translateY(-120px); opacity:0; } 14% { opacity:.85; } 86% { opacity:.4; } 100% { transform:translateY(120px); opacity:0; } }
@keyframes tactic-relief { 0%,100% { opacity:.28; } 50% { opacity:.75; } }
@keyframes tactic-blip { 0%,100% { opacity:.3; } 50% { opacity:1; } }
@keyframes tactic-rise { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:none; } }
@keyframes tactic-draw { from { stroke-dashoffset:1; } to { stroke-dashoffset:0; } }
@keyframes tactic-sheen { 0% { transform:translateX(-160%) skewX(-14deg); opacity:0; } 14% { opacity:.65; } 100% { transform:translateX(420%) skewX(-14deg); opacity:0; } }
@keyframes tactic-ping { 0% { transform:scale(.55); opacity:.9; } 70%,100% { transform:scale(1.6); opacity:0; } }
@keyframes tactic-arrow-flow { to { stroke-dashoffset:-68; } }
.tactic-draw { stroke-dasharray:1; stroke-dashoffset:0; }
.tactic-scan, .tactic-board-ping { opacity:0; }
@media (prefers-reduced-motion: no-preference) {
  .tactic-route { animation:tactic-route 3.6s linear infinite; }
  .tactic-scan { animation:tactic-scan 7s cubic-bezier(.45,0,.55,1) infinite; }
  .tactic-relief { animation:tactic-relief 9s ease-in-out infinite; }
  .tactic-blip { animation:tactic-blip 2.8s ease-in-out infinite; }
  .tactic-draw { animation:tactic-draw 2.6s ease-out .2s forwards; }
  .tactic-board-ping { animation:tactic-ping 3.4s cubic-bezier(0,0,.2,1) infinite; }
  .tactic-arrow-flow { animation:tactic-arrow-flow 2.2s linear infinite; }
  .tactic-card:hover .tactic-card-sheen { animation:tactic-sheen 1s cubic-bezier(.2,.7,.2,1); }
}
@media print {
 body.cm-print-plan .cm-print-only {display:block;color:black!important;font-size:1.5rem;}
 body.cm-print-plan header,body.cm-print-plan footer,body.cm-print-plan .cm-no-print { display:none!important; }
 body.cm-print-plan #main > :not([data-guide-plan]) { display:none!important; }
 body.cm-print-plan,body.cm-print-plan main,body.cm-print-plan .cm-panel { background:white!important;color:black!important; }
 body.cm-print-plan .community h2,body.cm-print-plan .community h3,body.cm-print-plan .cm-muted,body.cm-print-plan .cm-step {color:black!important;}
 body.cm-print-plan main {max-width:none!important;}
 body.cm-print-plan .cm-step {break-inside:avoid;}
}

/* ── Spielabende: Enterprise Operations-Kalender ──────────────────────────
   Premium-Glasflächen, Gold-Haarlinien, Datums-Sigill, Kapazitäts-Meter und
   animierte Kommando-Grafik. Respektiert prefers-reduced-motion. */
.event-kpi { position:relative; overflow:hidden; border-radius:.8rem; border:1px solid rgba(255,255,255,.06);
  background:rgba(18,24,33,.5); padding:.85rem 1rem; transition:border-color .3s, background-color .3s; }
.event-kpi::before { content:""; position:absolute; inset-inline:0; top:0; height:1px; opacity:0; transition:opacity .3s;
  background:linear-gradient(90deg, transparent, rgba(201,168,76,.55), transparent); }
.event-kpi:hover { border-color:rgba(201,168,76,.25); background:rgba(18,24,33,.7); }
.event-kpi:hover::before { opacity:1; }
.event-kpi-icon { display:grid; height:2.25rem; width:2.25rem; flex:none; place-items:center; border-radius:.6rem;
  border:1px solid rgba(201,168,76,.2); background:rgba(201,168,76,.07); color:#e3c46a; transition:all .3s; }
.event-kpi:hover .event-kpi-icon { border-color:rgba(201,168,76,.4); background:rgba(201,168,76,.15); color:#f0d78f; }

.event-step { display:flex; gap:.9rem; align-items:flex-start; border-radius:.8rem; border:1px solid rgba(255,255,255,.07);
  background:rgba(255,255,255,.025); padding:1rem 1.1rem; backdrop-filter:blur(6px);
  transition:border-color .3s, background-color .3s, transform .3s; }
.event-step:hover { border-color:rgba(201,168,76,.25); background:rgba(201,168,76,.045); transform:translateY(-2px); }
.event-step-icon { display:grid; height:2.5rem; width:2.5rem; flex:none; place-items:center; border-radius:.7rem;
  border:1px solid rgba(201,168,76,.25); background:linear-gradient(135deg, rgba(201,168,76,.18), transparent);
  color:#f0d78f; box-shadow:inset 0 1px 0 rgba(240,215,143,.15); }
.event-step-num { font-family:ui-monospace,Menlo,Consolas,monospace; font-size:10px; letter-spacing:.2em; color:rgba(201,168,76,.8); }

.event-card { position:relative; display:flex; flex-direction:column; overflow:hidden; border-radius:.85rem;
  border:1px solid rgba(255,255,255,.09); background:rgba(255,255,255,.03);
  box-shadow:0 18px 40px -28px rgba(0,0,0,.8); backdrop-filter:blur(8px);
  transition:transform .3s, border-color .3s, box-shadow .3s; }
.event-card:hover { border-color:rgba(201,168,76,.3); box-shadow:0 28px 64px -34px rgba(201,168,76,.55); transform:translateY(-3px); }
.event-card::before { content:""; position:absolute; inset-inline:0; top:0; z-index:10; height:1px; opacity:0; transition:opacity .3s;
  background:linear-gradient(90deg, transparent, rgba(240,215,143,.7), transparent); }
.event-card:hover::before { opacity:1; }
.event-card-stripe { position:absolute; inset-block:0; left:0; width:2px; pointer-events:none;
  background:linear-gradient(to bottom, transparent, rgba(201,168,76,.6), transparent); }
.event-card-sheen { position:absolute; inset-block:0; left:0; z-index:20; width:33%; opacity:0; pointer-events:none;
  background:linear-gradient(90deg, transparent, rgba(240,215,143,.07), transparent); }
.event-card-media { position:relative; display:block; overflow:hidden; border-bottom:1px solid rgba(255,255,255,.06);
  background:radial-gradient(120% 90% at 50% 0%, rgba(201,168,76,.09), transparent 58%),
  linear-gradient(180deg, rgba(18,24,33,.95), rgba(7,10,14,.98)); }
.event-card-media::before { content:""; position:absolute; inset:0; pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size:18px 18px;
  -webkit-mask-image:radial-gradient(92% 84% at 50% 46%, #000 28%, transparent 100%);
  mask-image:radial-gradient(92% 84% at 50% 46%, #000 28%, transparent 100%); }
.event-card-media svg { position:relative; height:100%; width:100%; }
.event-card-veil { position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(to top, rgba(7,10,14,.92) 0%, rgba(7,10,14,.35) 36%, transparent 62%); }
.event-card-glyph { display:grid; height:2.5rem; width:2.5rem; flex:none; place-items:center; border-radius:.7rem;
  border:1px solid rgba(201,168,76,.2); background:rgba(201,168,76,.07); color:#e3c46a; transition:all .3s; }
.event-card:hover .event-card-glyph { border-color:rgba(201,168,76,.45); background:rgba(201,168,76,.15); color:#f0d78f; }
.event-card-title { font-size:1rem; font-weight:600; color:#fff; transition:color .2s; }
.event-card:hover .event-card-title { color:#f0d78f; }

.event-chip { display:inline-flex; align-items:center; gap:.35rem; border-radius:.45rem; border:1px solid;
  padding:.25rem .5rem; font-family:ui-monospace,Menlo,Consolas,monospace; font-size:10px; font-weight:600; letter-spacing:.06em; }
.event-chip-game { border-color:rgba(201,168,76,.3); background:rgba(201,168,76,.1); color:#f0d78f; }
.event-chip-kind { border-color:rgba(52,211,153,.3); background:rgba(52,211,153,.1); color:#6ee7b7; }
.event-chip-kind-beginners { border-color:rgba(56,189,248,.3); background:rgba(56,189,248,.1); color:#7dd3fc; }
.event-chip-kind-map_test { border-color:rgba(251,191,36,.3); background:rgba(251,191,36,.1); color:#fcd34d; }
.event-chip-kind-cup { border-color:rgba(251,113,133,.3); background:rgba(251,113,133,.1); color:#fda4af; }
.event-chip-mode { border-color:rgba(255,255,255,.12); background:rgba(255,255,255,.03); color:#cbd5e1; }

.event-cap { display:block; height:.4rem; width:100%; overflow:hidden; border-radius:9999px; background:rgba(255,255,255,.07); }
.event-cap > span { display:block; height:100%; border-radius:9999px;
  background:linear-gradient(90deg, rgba(201,168,76,.6), rgba(240,215,143,.95)); transition:width .4s ease; }
.event-cap-full > span { background:linear-gradient(90deg, rgba(251,191,36,.7), rgba(251,113,133,.9)); }

.event-date-tile { display:grid; width:3.75rem; flex:none; place-items:center; border-radius:.7rem;
  border:1px solid rgba(201,168,76,.22); background:linear-gradient(180deg, rgba(201,168,76,.12), rgba(7,10,14,.6));
  padding:.5rem .4rem; text-align:center; box-shadow:inset 0 1px 0 rgba(240,215,143,.12); }
.event-date-day { font-size:1.25rem; line-height:1; font-weight:700; color:#fff; font-variant-numeric:tabular-nums; }
.event-date-month { margin-top:.2rem; font-size:10px; font-weight:600; letter-spacing:.16em; color:#e3c46a; text-transform:uppercase; }
.event-date-time { margin-top:.2rem; font-family:ui-monospace,Menlo,Consolas,monospace; font-size:10px; color:#8a9aaf; }

.event-empty { position:relative; overflow:hidden; border-radius:.85rem; border:1px solid rgba(255,255,255,.09);
  background:rgba(255,255,255,.03); padding:3rem 1.25rem; text-align:center; box-shadow:0 18px 40px -28px rgba(0,0,0,.8); backdrop-filter:blur(8px); }
.event-rise { animation:event-rise .55s cubic-bezier(.2,.7,.2,1) backwards; }

.event-dossier { position:relative; overflow:hidden; border-radius:1rem; border:1px solid rgba(255,255,255,.06);
  background:linear-gradient(135deg, rgba(26,35,48,.8), rgba(11,15,20,.6) 55%, rgba(7,10,14,1)); }
.event-dossier::before { content:""; position:absolute; inset-inline:0; top:0; z-index:10; height:1px;
  background:linear-gradient(90deg, transparent, rgba(201,168,76,.6), transparent); }
.event-dossier-glyph { display:grid; height:3rem; width:3rem; flex:none; place-items:center; border-radius:.8rem;
  border:1px solid rgba(201,168,76,.3); background:linear-gradient(135deg, rgba(201,168,76,.2), transparent);
  color:#f0d78f; box-shadow:inset 0 1px 0 rgba(240,215,143,.15); }
.event-lead { white-space:pre-wrap; overflow-wrap:anywhere; border-left:2px solid rgba(201,168,76,.4);
  padding-left:1rem; font-size:.9rem; line-height:1.7; color:#cbd5e1; }

.event-fact { display:flex; align-items:center; justify-content:space-between; gap:.75rem; border-radius:.6rem;
  border:1px solid transparent; padding:.5rem .65rem; transition:all .2s; }
.event-fact:hover { border-color:rgba(255,255,255,.06); background:rgba(255,255,255,.02); }
.event-fact dt { display:flex; min-width:0; align-items:center; gap:.5rem; font-size:10px; font-weight:500;
  letter-spacing:.14em; text-transform:uppercase; color:#8a9aaf; }
.event-fact dd { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-align:right; font-size:.75rem; color:#e2e8f0; }
.event-fact a { color:#f0d78f; }
.event-fact-icon { display:grid; height:1.5rem; width:1.5rem; flex:none; place-items:center; border-radius:.4rem;
  border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.02); color:#8a9aaf; transition:all .2s; }
.event-fact:hover .event-fact-icon { border-color:rgba(201,168,76,.3); color:#e3c46a; }

.event-member { display:flex; align-items:center; gap:.7rem; border-radius:.7rem; border:1px solid rgba(255,255,255,.06);
  background:rgba(255,255,255,.02); padding:.55rem .7rem; transition:all .2s; }
.event-member:hover { border-color:rgba(201,168,76,.25); background:rgba(201,168,76,.04); }
.event-avatar { display:grid; height:2rem; width:2rem; flex:none; place-items:center; border-radius:.55rem;
  border:1px solid rgba(201,168,76,.25); background:linear-gradient(135deg, rgba(201,168,76,.2), rgba(7,10,14,.6));
  font-family:ui-monospace,Menlo,Consolas,monospace; font-size:.7rem; font-weight:700; color:#f0d78f; }
.event-avatar-host { border-color:rgba(52,211,153,.4); background:linear-gradient(135deg, rgba(52,211,153,.25), rgba(7,10,14,.6)); color:#6ee7b7; }

.event-filter { display:inline-flex; align-items:center; gap:.35rem; border-radius:.6rem; border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.02); padding:.4rem .75rem; font-size:.75rem; color:#cbd5e1; transition:all .2s; cursor:pointer; }
.event-filter:hover { border-color:rgba(201,168,76,.35); color:#f0d78f; }
.event-filter-active { border-color:rgba(201,168,76,.5); background:rgba(201,168,76,.12); color:#f0d78f;
  box-shadow:inset 0 1px 0 rgba(240,215,143,.12); }

.event-timeline { position:relative; }
.event-timeline::before { content:""; position:absolute; top:.5rem; bottom:.5rem; left:13px; width:1px;
  background:linear-gradient(to bottom, rgba(201,168,76,.4), rgba(255,255,255,.07), transparent); }
.event-timeline-item { position:relative; display:flex; gap:.85rem; padding-block:.55rem; }
.event-timeline-dot { position:relative; z-index:1; display:grid; height:1.75rem; width:1.75rem; flex:none; place-items:center;
  border-radius:9999px; border:1px solid rgba(201,168,76,.3); background:#0b0f14; color:#e3c46a; }

.event-form-section { position:relative; overflow:hidden; border-radius:.85rem; border:1px solid rgba(255,255,255,.07);
  background:rgba(255,255,255,.02); padding:1.25rem; }
.event-form-section::before { content:""; position:absolute; inset-inline:1.25rem; top:0; height:1px;
  background:linear-gradient(90deg, transparent, rgba(240,215,143,.35), transparent); }
.event-form-num { display:grid; height:2rem; width:2rem; flex:none; place-items:center; border-radius:.6rem;
  border:1px solid rgba(201,168,76,.3); background:rgba(201,168,76,.1); font-family:ui-monospace,Menlo,Consolas,monospace;
  font-size:.7rem; font-weight:700; color:#f0d78f; }

/* Keyframes */
@keyframes event-route { to { stroke-dashoffset:-56; } }
@keyframes event-scan { 0% { transform:translateY(-110px); opacity:0; } 14% { opacity:.85; } 86% { opacity:.4; } 100% { transform:translateY(110px); opacity:0; } }
@keyframes event-relief { 0%,100% { opacity:.28; } 50% { opacity:.75; } }
@keyframes event-blip { 0%,100% { opacity:.3; } 50% { opacity:1; } }
@keyframes event-rise { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:none; } }
@keyframes event-draw { from { stroke-dashoffset:1; } to { stroke-dashoffset:0; } }
@keyframes event-sheen { 0% { transform:translateX(-160%) skewX(-14deg); opacity:0; } 14% { opacity:.65; } 100% { transform:translateX(420%) skewX(-14deg); opacity:0; } }
@keyframes event-ping { 0% { transform:scale(.55); opacity:.9; } 70%,100% { transform:scale(1.6); opacity:0; } }
.event-draw { stroke-dasharray:1; stroke-dashoffset:0; }
.event-scan, .event-board-ping { opacity:0; }
@media (prefers-reduced-motion: no-preference) {
  .event-route { animation:event-route 3.6s linear infinite; }
  .event-scan { animation:event-scan 7s cubic-bezier(.45,0,.55,1) infinite; }
  .event-relief { animation:event-relief 9s ease-in-out infinite; }
  .event-blip { animation:event-blip 2.8s ease-in-out infinite; }
  .event-draw { animation:event-draw 2.6s ease-out .2s forwards; }
  .event-board-ping { animation:event-ping 3.4s cubic-bezier(0,0,.2,1) infinite; }
  .event-card:hover .event-card-sheen { animation:event-sheen 1s cubic-bezier(.2,.7,.2,1); }
}
