.cal-bar{display:flex;flex-wrap:wrap;gap:1rem 2rem;align-items:center;justify-content:space-between;margin-bottom:1.2rem}.month-nav{display:flex;align-items:center;gap:.6rem}.month-nav h2{font-size:clamp(1.4rem,3.5vw,2rem);min-width:10ch;text-align:center}.month-nav button{width:44px;height:44px;border:1px solid var(--line);background:var(--white);font-size:1.6rem;line-height:1;cursor:pointer;border-radius:var(--radius);transition:background .15s,color .15s}.month-nav button:hover{background:var(--ink);color:var(--paper)}.month-nav .today{width:auto;padding:0 1rem;font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:.95rem}.legend{border:0;margin:0;padding:0;display:flex;gap:.5rem;flex-wrap:wrap}.legend label{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .8rem;border:1px solid var(--line);border-radius:99px;font-weight:600;font-size:.9rem;cursor:pointer;background:var(--white)}.legend input{accent-color:var(--ink)}.legend label:before{content:"";width:12px;height:12px;border-radius:50%}.k-practice:before,.c-practice{--c: var(--gold-deep)}.k-event:before,.c-event{--c: var(--ink-soft)}.k-tournament:before,.c-tournament{--c: var(--red)}.legend label:before{background:var(--c)}.k-practice{--c: var(--gold-deep)}.k-event{--c: var(--ink-soft)}.k-tournament{--c: var(--red)}.calendar{overflow:hidden;box-shadow:var(--shadow-lg)}.dow,.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.dow span{background:var(--ink);color:var(--paper);text-align:center;padding:.6rem 0;font-family:var(--display);font-weight:700;letter-spacing:.16em;text-transform:uppercase;font-size:.85rem}.day{min-height:118px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:.4rem;display:flex;flex-direction:column;gap:.3rem;min-width:0}.day:nth-child(7n){border-right:0}.day.pad{background:repeating-linear-gradient(-45deg,transparent 0 8px,rgba(212,204,187,.3) 8px 16px)}.dnum{font-family:var(--display);font-weight:800;font-size:.85rem;width:1.9rem;height:1.9rem;display:grid;place-items:center;border-radius:50%}.is-today .dnum{background:var(--red);color:var(--paper)}.chips{display:flex;flex-direction:column;gap:3px}.chip{display:block;font-size:.76rem;font-weight:600;line-height:1.25;padding:.22rem .4rem;border-radius:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:color-mix(in srgb,var(--c) 16%,white);border-left:3px solid var(--c);text-decoration:none}a.chip{background:var(--c);color:var(--paper);font-weight:700}a.chip:hover{background:var(--red-deep);text-decoration:underline}.dots{display:none;gap:3px}.dots i{width:7px;height:7px;border-radius:50%;background:var(--c)}.agenda-title{font-size:1.3rem;margin:2.5rem 0 1rem}.agenda{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.agenda li:not(.empty){display:grid;grid-template-columns:190px 1fr auto;gap:1rem;align-items:baseline;border-bottom:1px solid var(--line);border-left:4px solid var(--c, var(--line));padding:.85rem .4rem .85rem 1rem}.agenda .a-practice{--c: var(--gold-deep)}.agenda .a-event{--c: var(--ink-soft)}.agenda .a-tournament{--c: var(--red)}.agenda li.past{opacity:.5}.agenda .empty{margin-top:1rem}.a-date{font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:.06em}.a-main{font-weight:600}.a-main a{color:var(--red)}.a-main small{display:block;color:var(--ink-soft);font-weight:400}.a-type{font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;color:var(--ink-soft)}.band{background:var(--paper-2);border-block:1px solid var(--line);margin-top:2rem}.tour-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.tour{padding:1.3rem 1.4rem;text-decoration:none;border-left:8px solid var(--red);display:flex;flex-direction:column;gap:.3rem;transition:transform .15s,box-shadow .15s}.tour:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.t-date{font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.14em;font-size:.85rem;color:var(--red)}.tour strong{font-family:var(--display);font-size:1.2rem;text-transform:uppercase;line-height:1.15}.t-loc{color:var(--ink-soft);font-size:.93rem}@media(max-width:760px){.day{min-height:64px;align-items:center}.chips{display:none}.dots{display:flex}.agenda li:not(.empty){grid-template-columns:1fr;gap:.15rem}}
