/* KNIGHTS — Siro-integrated Discord events calendar. Scoped to .knights-cal. */
.knights-cal{--kc-ink:#f4f7ff;--kc-muted:#a9b8cc;--kc-line:#2a3c55;--kc-panel:#0d1a2e;--kc-surface:#0b1526;--kc-orange:#ed9c3b;color:var(--kc-ink)!important;max-width:1160px;margin:12px auto 60px;font-family:inherit}
.knights-cal *{box-sizing:border-box}.knights-cal button,.knights-cal select{font:inherit}
.knights-cal .kc-head{display:flex;gap:18px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-bottom:19px}
.knights-cal .kc-eyebrow{color:var(--kc-orange);font-weight:800;font-size:11px;letter-spacing:.19em}
.knights-cal h1{font-size:clamp(28px,3vw,42px);font-weight:900;line-height:1.15;color:var(--kc-ink)!important;margin:7px 0 8px}
.knights-cal .kc-head p{font-size:14px;line-height:1.55;color:var(--kc-muted)!important;max-width:700px;margin:0}
.knights-cal .kc-discord-link{display:inline-flex;align-items:center;gap:7px;border:1px solid #de983d;border-radius:7px;background:#e58b2f;color:#0b111e!important;text-decoration:none!important;font-weight:800;font-size:13px;padding:10px 15px}
.knights-cal .kc-discord-link:hover{filter:brightness(1.13)}
.knights-cal .kc-info{margin:0 0 16px;min-height:21px;font-size:12px;color:var(--kc-muted)!important}
.knights-cal .kc-info[data-state=error]{color:#ffb4b4!important}.knights-cal .kc-info[data-state=ok]{color:#b1dbcb!important}
.knights-cal .kc-calbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:15px;background:var(--kc-panel);padding:16px;border:1px solid var(--kc-line);border-radius:10px 10px 0 0}
.knights-cal .kc-monthcontrols{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.knights-cal .kc-monthcontrols h2{color:var(--kc-ink)!important;font-weight:850;font-size:20px;min-width:176px;margin:0;text-align:center}
.knights-cal .kc-nav{border:1px solid #415775;border-radius:7px;background:#16263d;color:var(--kc-ink)!important;min-width:34px;min-height:34px;cursor:pointer;font-size:19px}
.knights-cal .kc-nav:hover,.knights-cal .kc-nav:focus-visible{border-color:var(--kc-orange)}
.knights-cal .kc-today{padding:0 11px;font-size:12px;font-weight:800}
.knights-cal .kc-filterlabel{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--kc-muted)!important;font-weight:800}
.knights-cal .kc-filterlabel select{max-width:260px;min-height:35px;border:1px solid #415775;border-radius:7px;background:#142238;color:var(--kc-ink)!important;padding:7px 10px;cursor:pointer}
.knights-cal .kc-calendar-wrap{border:1px solid var(--kc-line);border-top:0;border-radius:0 0 10px 10px;overflow:hidden;background:#0b1425}
.knights-cal .kc-weekdays,.knights-cal .kc-cells{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.knights-cal .kc-weekdays{background:#14243b;border-bottom:1px solid var(--kc-line)}
.knights-cal .kc-weekdays span{text-align:center;padding:11px 4px;font-weight:800;font-size:12px;color:#b9c9dd}
.knights-cal .kc-cells{gap:1px;background:var(--kc-line)}
.knights-cal .kc-day{background:var(--kc-surface);min-width:0;min-height:121px;padding:9px 7px;display:flex;flex-direction:column;gap:6px}
.knights-cal .kc-day.kc-other{background:#091121;opacity:.55}.knights-cal .kc-day.kc-now{box-shadow:inset 0 0 0 2px var(--kc-orange)}
.knights-cal .kc-num{align-self:flex-start;display:inline-block;border-radius:20px;font-size:12px;font-weight:800;color:#cfdded;padding:3px 6px}
.knights-cal .kc-now .kc-num{background:var(--kc-orange);color:#121821}
.knights-cal .kc-event-chip{cursor:pointer;background:#1d3551;border:1px solid #36557c;border-left:3px solid var(--kc-orange);color:#edf4ff!important;text-align:left;border-radius:4px;padding:5px 6px;min-width:0;font-size:11px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%;text-decoration:none!important}
.knights-cal .kc-event-chip:hover,.knights-cal .kc-event-chip:focus-visible{background:#284a71;border-color:#f1aa52}
.knights-cal .kc-event-chip[data-game=ase]{border-left-color:#43c86b}.knights-cal .kc-event-chip[data-game=asa]{border-left-color:#5ca5ed}
.knights-cal .kc-event-chip[data-game=pal]{border-left-color:#dbbc30}.knights-cal .kc-event-chip[data-game=conan]{border-left-color:#e36367}.knights-cal .kc-event-chip[data-game=dune]{border-left-color:#e98e2b}
.knights-cal .kc-event-chip.kc-live{box-shadow:inset 0 0 0 1px #50b69d}
.knights-cal .kc-more{font-size:10px;color:#d6ab77!important;font-weight:750;padding:0 5px}
.knights-cal .kc-agenda{margin-top:28px}
.knights-cal .kc-agenda-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:13px;flex-wrap:wrap}
.knights-cal .kc-agenda-head h2{color:var(--kc-ink)!important;font-size:23px;font-weight:900;margin:5px 0 0}
.knights-cal .kc-timezone{color:var(--kc-muted);font-size:12px}
.knights-cal .kc-agenda-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.knights-cal .kc-event-card{background:#101d31;border:1px solid var(--kc-line);border-radius:9px;display:flex;gap:15px;padding:16px;min-width:0;align-items:flex-start}
.knights-cal .kc-date-tile{flex:0 0 58px;text-align:center;border-radius:7px;background:#1d2e47;border:1px solid #314b6b;padding:8px 3px}
.knights-cal .kc-date-tile b{display:block;color:var(--kc-orange);font-size:13px;text-transform:uppercase}
.knights-cal .kc-date-tile strong{display:block;color:var(--kc-ink);font-size:26px;line-height:1.1}
.knights-cal .kc-item-main{flex:1;min-width:0}.knights-cal .kc-item-main h3{font-size:15px;line-height:1.3;font-weight:800;margin:2px 0 6px;color:var(--kc-ink)!important}
.knights-cal .kc-item-main p{color:var(--kc-muted)!important;font-size:12px;line-height:1.4;margin:0 0 9px}
.knights-cal .kc-item-main .kc-event-meta{color:var(--kc-orange)!important;font-weight:700}
.knights-cal .kc-item-main button{border:1px solid #395f80;border-radius:6px;background:#1b3047;color:#fff;padding:7px 10px;font-size:12px;font-weight:750;cursor:pointer}
.knights-cal .kc-item-main button:hover{border-color:var(--kc-orange)}
.knights-cal .kc-empty{background:#0f1c30;border:1px solid var(--kc-line);border-radius:10px;padding:20px;color:var(--kc-muted)!important;font-size:14px;grid-column:1/-1}
.knights-cal .kc-dialog{border:1px solid #526278;border-top:3px solid var(--kc-orange);border-radius:12px;padding:20px;max-width:min(560px,95vw);width:100%;max-height:85vh;overflow-y:auto;background:#101c30;color:var(--kc-ink);box-shadow:0 24px 80px #000a}
.knights-cal .kc-dialog::backdrop{background:#000b}.knights-cal .kc-dialog-header{display:flex;justify-content:space-between;align-items:center}
.knights-cal .kc-dialog-header button{border:0;background:transparent;color:#c7d8ed;font-size:28px;cursor:pointer}
.knights-cal .kc-dialog-tag{font-size:12px;color:var(--kc-orange);font-weight:800;text-transform:uppercase}
.knights-cal .kc-dialog h2{color:var(--kc-ink);font-size:23px;line-height:1.2;margin:9px 0}
.knights-cal .kc-dialog-when{color:var(--kc-orange);font-weight:800;font-size:13px}
.knights-cal .kc-dialog-desc{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55;color:#cbd5e3;font-size:14px}
.knights-cal .kc-dialog-extra{color:var(--kc-muted);font-size:12px;line-height:1.45}
.knights-cal .kc-dialog-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.knights-cal .kc-dialog-actions a{padding:10px 14px;background:#e99031;color:#101724!important;text-decoration:none!important;border-radius:7px;font-weight:800;font-size:13px}
.knights-cal .kc-dialog-actions button{padding:10px 14px;background:#28384e;color:#fff;border:1px solid #526278;border-radius:7px;cursor:pointer;font-size:13px}
@media(max-width:850px){.knights-cal .kc-agenda-list{grid-template-columns:1fr}}
@media(max-width:620px){.knights-cal{margin-bottom:35px}.knights-cal .kc-day{min-height:80px;padding:5px 3px;gap:4px}.knights-cal .kc-monthcontrols h2{min-width:145px;font-size:18px}.knights-cal .kc-calbar{padding:12px}.knights-cal .kc-event-chip{font-size:10px;padding:5px 3px;white-space:normal;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.knights-cal .kc-num{padding:2px 3px}.knights-cal .kc-weekdays span{padding:8px 1px;font-size:10px}.knights-cal .kc-more{font-size:9px}.knights-cal .kc-head{align-items:flex-start}.knights-cal .kc-filterlabel{width:100%;justify-content:space-between}.knights-cal .kc-filterlabel select{min-width:0;flex:1}}
