.tcge-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:14px 24px}
.tcge-head__cta{white-space:nowrap}
.tcge-filters{display:flex;flex-wrap:wrap;gap:12px 16px;margin:6px 0 14px}
.tcge-filters__field{display:flex;flex-direction:column;gap:4px;font-size:.85em;font-weight:600;color:var(--tcgsf-muted,#62626e);min-width:200px}
.tcge-filters__field select{padding:9px 10px;border:1px solid var(--tcgsf-border,#e2e2e8);border-radius:var(--tcgsf-radius-sm,8px);background:var(--tcgsf-surface,#fff);color:var(--tcgsf-ink,#24242c);font:inherit;font-weight:500}
.tcge-months{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.tcge-months__pill{padding:6px 12px;border-radius:999px;border:1px solid var(--tcgsf-border,#e2e2e8);font-size:.88em;font-weight:600;color:var(--tcgsf-ink-soft,#454550);background:var(--tcgsf-surface,#fff)}
.tcge-months__pill.is-active{background:var(--tcgsf-primary,#206464);border-color:var(--tcgsf-primary,#206464);color:#fff}
.tcge-list{display:flex;flex-direction:column;gap:12px}
.tcge-list__day{margin:22px 0 4px;font-size:1.05em;color:var(--tcgsf-muted,#62626e);font-weight:600}
.tcge-list__day:first-child{margin-top:0}
.tcge-card{display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;padding:14px 18px 14px 14px;border:1px solid var(--tcgsf-border,#e2e2e8);border-radius:var(--tcgsf-radius,12px);background:var(--tcgsf-surface,#fff);color:var(--tcgsf-ink,#24242c);text-decoration:none;transition:transform .15s var(--tcgsf-ease,ease),box-shadow .15s}
.tcge-card:hover{transform:translateY(-1px);box-shadow:var(--tcgsf-shadow,0 4px 16px rgba(19,26,58,.08))}
.tcge-card__date{display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:var(--tcgsf-radius-sm,8px);background:var(--tcgsf-primary-soft,#e3f1f0);color:var(--tcgsf-primary,#206464);line-height:1}
.tcge-card__day{font-size:1.7em;font-weight:800}
.tcge-card__mon{font-size:.8em;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-top:3px}
.tcge-card__body{display:flex;flex-direction:column;gap:4px;min-width:0}
.tcge-card__tags{display:flex;flex-wrap:wrap;gap:6px;margin:0}
.tcge-tag{display:inline-block;padding:2px 9px;border-radius:999px;font-size:.75em;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:var(--tcgsf-surface-alt,#f7f8fa);color:var(--tcgsf-ink-soft,#454550);text-decoration:none}
.tcge-tag--game{background:var(--tcgsf-primary-soft,#e3f1f0);color:var(--tcgsf-primary,#206464)}
.tcge-tag--past{background:var(--tcgsf-warn-soft,#fdf2dd);color:var(--tcgsf-warn,#9a6a08)}
.tcge-card__title{margin:2px 0 0;font-size:1.1em;line-height:1.3}
.tcge-card__meta{margin:0;font-size:.92em;color:var(--tcgsf-muted,#62626e)}
.tcge-card__prov{font-weight:600;color:var(--tcgsf-ink-soft,#454550)}
.tcge-card__money{margin:4px 0 0;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:.9em;color:var(--tcgsf-muted,#62626e)}
.tcge-card__money strong{color:var(--tcgsf-ink,#24242c)}
.tcge-empty{padding:32px;border:1px dashed var(--tcgsf-border,#e2e2e8);border-radius:var(--tcgsf-radius,12px);text-align:center;color:var(--tcgsf-ink-soft,#454550)}
.tcge-empty p{margin:0 0 12px}
/* single */
.tcge-single__head{margin:6px 0 22px}
.tcge-single__title{margin:8px 0 6px;font-size:clamp(26px,3.4vw,38px);line-height:1.15}
.tcge-single__when{margin:0;font-size:1.1em;font-weight:600;color:var(--tcgsf-primary,#206464)}
.tcge-single__grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:32px;align-items:start}
.tcge-single__media{margin:0 0 20px;border-radius:var(--tcgsf-radius,12px);overflow:hidden}
.tcge-single__media img{width:100%;height:auto;display:block}
.tcge-single__content{font-size:17px;line-height:1.65}
.tcge-single__main h2{margin:1.5em 0 .5em;font-size:1.3em}
.tcge-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px 22px;margin:0}
.tcge-facts--stack{grid-template-columns:1fr}
.tcge-facts dt{font-size:.78em;text-transform:uppercase;letter-spacing:.05em;color:var(--tcgsf-muted,#62626e);margin:0 0 2px}
.tcge-facts dd{margin:0;color:var(--tcgsf-ink,#24242c);line-height:1.5}
.tcge-box{padding:20px;border:1px solid var(--tcgsf-border,#e2e2e8);border-radius:var(--tcgsf-radius,12px);background:var(--tcgsf-surface,#fff);display:flex;flex-direction:column;gap:16px;position:sticky;top:calc(var(--tcgsf-header-height,76px) + 16px)}
.tcge-box__cta{text-align:center;font-size:1.05em}
.tcge-box__links{margin:0;font-size:.9em;color:var(--tcgsf-muted,#62626e)}
.tcge-single__disclaimer{margin:12px 0 0;font-size:.82em;color:var(--tcgsf-muted,#62626e)}
/* form */
.tcge-form{max-width:820px}
.tcge-form__lede{color:var(--tcgsf-ink-soft,#454550);margin:0 0 22px}
.tcge-form__group{border:1px solid var(--tcgsf-border,#e2e2e8);border-radius:var(--tcgsf-radius,12px);padding:18px 20px 20px;margin:0 0 20px;background:var(--tcgsf-surface,#fff)}
.tcge-form__group legend{padding:0 8px;font-weight:700;color:var(--tcgsf-ink,#24242c)}
.tcge-form__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.tcge-form__field{display:flex;flex-direction:column;gap:5px;margin:0 0 14px;font-size:.92em}
.tcge-form__field>span{font-weight:600;color:var(--tcgsf-ink,#24242c)}
.tcge-form__field small{color:var(--tcgsf-muted,#62626e)}
.tcge-form__field input,.tcge-form__field select,.tcge-form__field textarea{padding:10px 12px;border:1px solid var(--tcgsf-border,#e2e2e8);border-radius:var(--tcgsf-radius-sm,8px);background:var(--tcgsf-surface,#fff);color:var(--tcgsf-ink,#24242c);font:inherit}
.tcge-form__field.has-error input,.tcge-form__field.has-error select{border-color:var(--tcgsf-danger,#b21127)}
.tcge-form__error{color:var(--tcgsf-danger,#b21127);font-size:.88em;font-weight:600}
.tcge-form__notice{padding:12px 16px;border-radius:var(--tcgsf-radius-sm,8px);background:var(--tcgsf-warn-soft,#fdf2dd);color:var(--tcgsf-warn,#9a6a08);border:1px solid currentColor;margin:0 0 18px;font-weight:600}
.tcge-form__hp{position:absolute;left:-9999px;top:-9999px;height:0;overflow:hidden}
.tcge-form__submit{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.tcge-form__submit small{color:var(--tcgsf-muted,#62626e)}
.tcge-form__done{padding:28px;border-radius:var(--tcgsf-radius,12px);background:var(--tcgsf-success-soft,#e3f5ed);border:1px solid var(--tcgsf-success,#17845a)}
.tcge-form__done h2{margin:0 0 8px}
@media(max-width:820px){.tcge-single__grid{grid-template-columns:1fr}.tcge-box{position:static}}
@media(max-width:640px){.tcge-card{grid-template-columns:56px minmax(0,1fr);gap:12px;padding:12px}.tcge-card__day{font-size:1.4em}}

.tcge-list--home{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}

/* Phones: 16px fields so iOS does not zoom into the form or the filters. */
@media(max-width:640px){.tcge-form__field input,.tcge-form__field select,.tcge-form__field textarea,.tcge-filters__field select{font-size:16px}.tcge-filters__field{flex:1 1 100%;min-width:0}}
/* Dark mode: the primary is a bright cyan there, so white text fails. */
:root[data-tcgsf-theme='dark'] .tcge-months__pill.is-active{color:#0a1020}
