.entity-main .entity-hero{gap:12px;padding:14px 18px}.entity-main .entity-hero h1{margin-block:3px 6px;font-size:clamp(1.35rem,3vw,2rem)}.entity-main .entity-hero p{margin-block:3px}.entity-main .entity-hero__meta{font-size:.8rem}.entity-main .teacher-profile{margin-block:6px;padding:6px 12px}.entity-main .teacher-profile__source{border:0;margin:0;padding:0}.entity-quick{flex-wrap:wrap;gap:8px;margin:10px 0;display:flex}.entity-quick a{border:1px solid var(--line);overflow-wrap:anywhere;border-radius:3px;align-items:center;min-height:44px;padding:6px 10px;display:inline-flex}.entity-quick [hidden]{display:none}.entity-main .entity-section{margin-top:12px}.semester-map__asof{margin-block:5px 0;font-size:.75rem}.teacher-profile dt,.teacher-profile__source,.teacher-profile__source *,.entity-main .calendar-subscription__trigger,.entity-main .calendar-subscription__trigger *,.entity-main .day-column>header span,.entity-main .day-column>header small{font-size:.75rem!important}.entity-main .planner-card :is(time,.planner-card__counter,.planner-card__recurrence,.planner-card__pair,.planner-card__source-update,.planner-card__warning,.planner-card__markers b,.planner-card__person,.planner-card__place,.planner-card__dates,.planner-card__dates *,.planner-card__source,.planner-card__source *){font-size:.75rem}.entity-main .planner-card__title{letter-spacing:0;font-size:.875rem;font-weight:700;line-height:1.25}.entity-main .planner-card__place a{color:var(--brand-primary);text-decoration:underline;text-decoration-color:var(--brand-blue-70);text-underline-offset:2px;font-weight:500}.entity-main .planner-card__place a:hover,.entity-main .planner-card__place a:focus-visible{color:var(--brand-accent);text-decoration-color:currentColor}.semester-map{border:1px solid var(--line-subtle);background:var(--surface-canvas);margin:18px 0}.semester-map__head{border-bottom:1px solid var(--line-subtle);background:var(--surface-subtle);justify-content:space-between;align-items:center;gap:18px;min-height:58px;padding:9px 14px;display:flex}.semester-map__head .eyebrow,.semester-map__head h2{margin:0}.semester-map__head h2{color:var(--brand-primary);margin-top:2px;font-size:1.15rem}.semester-map__head .eyebrow{color:var(--brand-primary)}.semester-map__legend{color:var(--text-secondary);gap:12px;font-size:.75rem;font-weight:500;display:flex}.semester-map__legend span{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.semester-map__legend i{border:1px solid var(--brand-primary);background:var(--surface-canvas);border-radius:50%;width:12px;height:12px;display:block}.semester-map__legend .is-past,.semester-map__dot.is-past{border-color:var(--brand-primary);background:var(--brand-primary)}.semester-map__legend .is-today,.semester-map__dot.is-today{border-color:var(--brand-accent);background:var(--brand-accent);box-shadow:0 0 0 3px var(--brand-accent-soft)}.semester-map__row{border-bottom:1px solid var(--surface-subtle);grid-template-columns:minmax(220px,.8fr) 170px minmax(300px,1.4fr);align-items:center;gap:12px;min-height:58px;padding:7px 14px;display:grid}.semester-map__row:last-child{border:0}.semester-map__label{min-width:0}.semester-map__label h3{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.8rem;line-height:1.2;overflow:hidden}.semester-map__label p{color:var(--text-secondary);white-space:nowrap;gap:6px;margin:3px 0 0;font-size:.75rem;display:flex;overflow:hidden}.semester-map__label p strong,.semester-map__progress strong{color:var(--brand-primary)}.semester-map__label p span+span:before{content:"·";margin-right:6px}.semester-map__progress{border-right:1px solid var(--surface-subtle);justify-items:end;padding-right:12px;display:grid}.semester-map__progress strong{font-variant-numeric:tabular-nums;font-size:.86rem}.semester-map__progress small{color:var(--text-secondary);white-space:nowrap;font-size:.75rem;font-weight:500}.semester-map__track{flex-wrap:wrap;align-items:center;gap:4px;min-width:0;display:flex}.semester-map__month{color:var(--text-muted);margin-left:4px;font-size:.75rem;font-weight:600}.semester-map__month:first-child{margin-left:0}.semester-map__dot{border:2px solid var(--brand-primary);background:var(--surface-canvas);width:24px;height:24px;color:var(--brand-primary);font-variant-numeric:tabular-nums;border-radius:50%;flex:none;place-items:center;font-size:.75rem;font-weight:600;line-height:1;text-decoration:none;display:grid;position:relative}.semester-map__dot.is-past,.semester-map__dot.is-today{color:var(--surface-canvas)}.semester-map__dot:after{content:attr(data-date-label);z-index:5;border:1px solid var(--brand-primary);background:var(--surface-canvas);width:max-content;color:var(--text-primary);padding:4px 6px;font-size:.75rem;font-weight:700;display:none;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.semester-map__dot:hover:after,.semester-map__dot:focus-visible:after{display:block}@media (width<=720px){.semester-map{margin:12px 0}.semester-map__head{flex-direction:column;align-items:flex-start;gap:8px}.semester-map__row{grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;padding:9px 10px}.semester-map__progress{border:0;padding:0}.semester-map__track{grid-column:1/-1}}@media (width<=560px){.entity-main .planner-card__title{font-size:.9375rem}.entity-main .planner-card :is(time,.planner-card__person,.planner-card__place,.planner-card__dates,.planner-card__dates *){font-size:.8125rem}.semester-map__legend{justify-content:space-between;gap:6px;width:100%}.semester-map__label p{white-space:normal;grid-template-columns:auto minmax(0,1fr);gap:2px 5px;display:grid;overflow:visible}.semester-map__label p span+span:before{content:none}.semester-map__label p span:last-child{grid-column:1/-1}}
