.cls{gap:24px;margin-top:28px;display:grid}.cls-filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cls-chip{min-height:var(--control-h-sm);border:1px solid var(--line-2);background:var(--bg);color:var(--text);font:inherit;font-size:var(--fs-sm);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:8px;padding:0 14px;font-weight:550;line-height:1.2;list-style:none;transition:border-color .12s,background .12s;display:inline-flex}.cls-chip::-webkit-details-marker{display:none}.cls-chip:hover{border-color:var(--primary)}.cls-chip:focus-visible{box-shadow:var(--focus);border-color:var(--primary);outline:none}.cls-chip[aria-pressed=true]{background:var(--soft);border-color:var(--primary);color:var(--primary)}.cls-chip small{background:var(--primary);min-width:20px;height:20px;color:var(--primary-text);font-size:var(--fs-2xs);border-radius:999px;place-items:center;padding:0 6px;font-weight:700;display:inline-grid}.cls-pill{position:relative}.cls-pill>summary:after{content:"";opacity:.6;border-bottom:2px solid;border-right:2px solid;width:7px;height:7px;transition:transform .15s;transform:rotate(45deg)translate(-2px,-2px)}.cls-pill[open]>summary:after{transform:rotate(-135deg)translate(-2px,-2px)}.cls-pop{z-index:30;top:calc(100% + 6px);background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-sm);min-width:230px;max-width:min(320px,100vw - 32px);max-height:320px;box-shadow:var(--shadow-lg);padding:6px;display:grid;position:absolute;inset-inline-start:0;overflow-y:auto}.cls-pop label{border-radius:calc(var(--radius-sm) - 2px);font-size:var(--fs-sm);cursor:pointer;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.cls-pop label:hover{background:var(--hover)}.cls-pop input{width:18px;height:18px;accent-color:var(--primary);margin:0}.cls-pop small{color:var(--muted);font-size:var(--fs-xs);font-variant-numeric:tabular-nums}.cls-pop .is-empty{opacity:.5}.cls-clear{font-size:var(--fs-sm);margin-inline-start:4px}.cls-week{padding:24px}.cls-week-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.cls-week-head h2,.cls-courses h2{margin:0;font-size:1.25rem}.cls-nav{gap:6px;display:flex}.cls-arrow{width:var(--control-h-sm);padding:0;font-size:1.3rem;line-height:1}.cls-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-top:18px;display:grid}.cls-day-btn{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font:inherit;cursor:pointer;justify-items:center;padding:8px 2px 6px;line-height:1.2;transition:border-color .12s,background .12s;display:grid}.cls-day-btn small{font-size:var(--fs-2xs);color:var(--muted);text-transform:capitalize}.cls-day-btn b{font-variant-numeric:tabular-nums;font-size:1.05rem}.cls-day-btn i{min-height:1.3em;font-style:normal;font-size:var(--fs-2xs);color:var(--primary);font-weight:700}.cls-day-btn:hover:not(:disabled){border-color:var(--primary)}.cls-day-btn:focus-visible{box-shadow:var(--focus);outline:none}.cls-day-btn:disabled{opacity:.4;cursor:default}.cls-day-btn.is-today{background:var(--soft);border-color:var(--soft-line)}.cls-empty{color:var(--muted);margin:18px 0 0}.cls-day h3{font-family:inherit;font-size:var(--fs-sm);letter-spacing:0;margin:24px 0 4px;font-weight:700}.cls-day h3:first-letter{text-transform:uppercase}.cls-day h3 small,.cls-col h3 small{color:var(--muted);font-weight:500}.cls-item{border-top:1px solid var(--line);grid-template-columns:60px minmax(0,1fr) auto;align-items:start;gap:6px 18px;padding:16px 0;display:grid}.cls-item:has(>.cls-thumb){grid-template-columns:60px 56px minmax(0,1fr) auto}.cls-item.is-closed>:not(.cls-form){opacity:.55}.cls-time b{font-variant-numeric:tabular-nums;font-size:1.05rem;display:block}.cls-time small{color:var(--muted);font-size:var(--fs-xs);display:block}.cls-thumb{object-fit:cover;border-radius:var(--radius-sm);width:56px;height:56px}.cls-info{justify-items:start;gap:4px;min-width:0;display:grid}.cls-name{letter-spacing:0;margin:0;font-family:inherit;font-size:1.05rem;line-height:1.3}.cls-tags{flex-wrap:wrap;gap:6px;display:flex}.cls-tag{background:var(--surface);color:var(--muted);font-size:var(--fs-2xs);border-radius:999px;padding:2px 9px;font-weight:600;line-height:1.6}.cls-tag-level{background:var(--soft);color:var(--primary)}.cls-meta{color:var(--muted);font-size:var(--fs-sm)}.cls-note{font-size:var(--fs-xs);color:var(--muted);font-style:italic}.cls-more{font-size:var(--fs-sm)}.cls-side{text-align:end;justify-items:end;gap:6px;min-width:132px;display:grid}.cls-price b{font-variant-numeric:tabular-nums}.cls-price small{color:var(--muted);font-size:var(--fs-xs);display:block}.cls-spots{justify-items:inherit;gap:4px;display:grid}.cls-spots small{color:var(--muted);font-size:var(--fs-xs)}.cls-meter{background:var(--line);border-radius:999px;width:96px;height:4px;display:block;overflow:hidden}.cls-meter i{border-radius:inherit;background:var(--primary);height:100%;display:block}.cls-spots.is-few small{color:var(--warn);font-weight:600}.cls-spots.is-few i{background:var(--warn)}.cls-spots.is-full small{color:var(--bad);font-weight:600}.cls-spots.is-full i{background:var(--bad)}.cls-detail{border-radius:var(--radius-sm);background:var(--surface);font-size:var(--fs-sm);grid-column:2/-1;grid-template-columns:160px minmax(0,1fr);gap:16px;padding:14px;display:grid}.cls-detail:not(:has(img)){grid-template-columns:minmax(0,1fr)}.cls-detail img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-sm);width:100%}.cls-detail p{white-space:pre-line;margin:0}.cls-item>.cls-form{grid-column:1/-1}.cls-form{border-radius:var(--radius-sm);background:var(--soft);border:1px solid var(--soft-line);margin-top:8px;padding:20px}.cls-form-head{gap:2px;margin:0;display:grid}.cls-form-head span{color:var(--muted);font-size:var(--fs-sm);font-weight:400}.cls-form-head span:first-letter{text-transform:uppercase}.cls-form-actions{flex-wrap:wrap;gap:8px;display:flex}.cls-warn,.cls-form-head .cls-warn{color:var(--warn)}.cls-pick{margin-top:16px}.cls-pick>.cls-form{margin-top:0}.cls-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-top:18px;display:grid}.cls-col{align-content:start;gap:6px;min-width:0;display:grid}.cls-col h3{border-bottom:2px solid var(--line);font-family:inherit;font-size:var(--fs-sm);letter-spacing:0;margin:0 0 4px;padding-bottom:8px;font-weight:700}.cls-col h3 span{display:block}.cls-col h3 span:first-letter{text-transform:uppercase}.cls-mini{border:1px solid var(--line);border-inline-start:3px solid var(--primary);border-radius:var(--radius-sm);background:var(--bg);width:100%;color:var(--text);font:inherit;font-size:var(--fs-xs);text-align:start;cursor:pointer;justify-items:start;gap:2px;padding:8px 10px;line-height:1.35;transition:border-color .12s,background .12s;display:grid}.cls-mini b{font-size:var(--fs-sm);overflow-wrap:anywhere}.cls-mini small{color:var(--muted)}.cls-mini-time{color:var(--muted);font-variant-numeric:tabular-nums;font-weight:600}.cls-mini .cls-spots{justify-items:start;width:100%;margin-top:4px}.cls-mini .cls-meter{width:100%}.cls-mini:hover{border-color:var(--primary);background:var(--soft)}.cls-mini:focus-visible{box-shadow:var(--focus);outline:none}.cls-mini.is-picked{border-color:var(--primary);background:var(--soft);box-shadow:var(--focus)}.cls-mini.is-full{border-inline-start-color:var(--line-2)}.cls-mini.is-closed{opacity:.55;cursor:default}@media (min-width:961px){.cls-view-week .cls-days{display:none}}@media (max-width:960px){.cls-grid{grid-template-columns:minmax(0,1fr);gap:16px}.cls-col.is-empty{display:none}}.cls-course-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:16px;margin-top:14px;display:grid}.cls-course{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);flex-direction:column;display:flex;overflow:hidden}.cls-course.is-picked{border-color:var(--primary);box-shadow:var(--focus)}.cls-course-photo{aspect-ratio:16/9;object-fit:cover;width:100%;display:block}.cls-course-body{flex-direction:column;flex:1;align-items:flex-start;gap:8px;padding:20px;display:flex}.cls-course h3{margin:0;font-size:1.15rem}.cls-course p{margin:0}.cls-desc{-webkit-line-clamp:3;font-size:var(--fs-sm);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.cls-dates summary{cursor:pointer;color:var(--primary);font-size:var(--fs-sm);font-weight:600}.cls-dates ol{color:var(--muted);font-size:var(--fs-sm);margin:8px 0 0;padding-inline-start:20px}.cls-course-foot{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px 16px;width:100%;margin-top:auto;padding-top:14px;display:flex}.cls-course-foot .cls-spots{justify-items:start}.cls-course-foot .btn{margin-inline-start:auto}@media (max-width:600px){.cls-week{padding:18px 16px}:is(.cls-item,.cls-item:has(>.cls-thumb)){grid-template-columns:52px minmax(0,1fr);gap:8px 14px}.cls-thumb{display:none}.cls-side{text-align:start;flex-wrap:wrap;grid-column:2;justify-content:flex-start;align-items:center;gap:8px 14px;min-width:0;display:flex}.cls-side .cls-spots{justify-items:start}.cls-side .btn{margin-inline-start:auto}.cls-detail{grid-column:1/-1;grid-template-columns:minmax(0,1fr)}.cls-days{gap:4px}.cls-form{padding:16px}}.link{font:inherit;color:var(--primary);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}
