/* Shared engagement presentation; local variants of the host Tron tokens. */
/* Grow the workspace surface, leaving its cards at their natural height. */
.cabinet-shell:has([data-cabinet-host="progress"]:not([hidden])) { min-height:100dvh; }
.cabinet-workspace:has([data-cabinet-host="progress"]:not([hidden])),
#cabinetContent:has([data-cabinet-host="progress"]:not([hidden])),
[data-cabinet-host="progress"]:not([hidden]) { display:flex; flex-direction:column; flex:1; min-width:0; }
[data-cabinet-host="progress"] > .student-progress-shell { flex:1; grid-template-rows:auto minmax(min-content,1fr); }
#pageModeAdmin[data-progress-workspace] :is(.admin-workspace,.admin-theme-card,#adminStudentDetails) {
    display:flex; flex-direction:column; flex:1; min-width:0;
}
#pageModeAdmin[data-progress-workspace] #admin-tails-panel { flex:1; }
.admin-progress-student-context { display:none; }
#pageModeAdmin[data-progress-workspace] .admin-progress-student-context {
    display:block; flex-basis:100%; margin:0 0 4px; color:var(--skin-text); font-weight:650;
    font-size:16px; text-transform:none; letter-spacing:normal;
}
.engagement { --eng-led:var(--skin-energy,#55efff); --eng-lit:#8cdeea; --eng-top:#3c8295; --eng-left:#205467; --eng-right:#102d3c; color:var(--skin-text,#eef8ff); min-width:0; --eng-attention:#ffb342; }
.eng-layout { min-width:0; container-type:inline-size; }
.engagement [hidden] { display:none !important; }
.engagement *, .engagement *::before, .engagement *::after { box-sizing:border-box; }
.engagement h2, .engagement h3, .engagement h4, .engagement p { margin:0; }
.engagement h2 { font-size:clamp(22px,1.2vw + 10px,30px); font-weight:700; letter-spacing:-.025em; }
.engagement h3 { font-size:16px; line-height:1.4; font-weight:650; }
.engagement p { color:var(--skin-text-muted); font-size:14px; line-height:1.55; }
.engagement button { font:inherit; cursor:pointer; }
.engagement button:disabled { opacity:.4; cursor:default; }
.engagement button:focus-visible, .engagement input:focus-visible, .engagement select:focus-visible, .engagement [tabindex]:focus-visible { outline:2px solid var(--skin-focus); outline-offset:2px; }
.eng-demo { display:flex; align-items:center; flex-wrap:wrap; gap:8px 20px; margin-bottom:18px; padding-bottom:10px; border-bottom:1px solid var(--skin-line); color:var(--skin-text-muted); font-size:12px; }
.eng-demo > span:first-child { letter-spacing:.06em; }
.eng-demo i { display:inline-block; width:6px; height:6px; border-radius:50%; margin-right:5px; background:var(--eng-attention); }
.eng-demo label { margin:0 0 0 auto; display:flex; align-items:center; gap:8px; }
.engagement .eng-demo select { width:auto; max-width:240px; min-height:32px; padding:5px 28px 5px 8px; margin:0; font-size:12px; border:1px solid var(--skin-line); border-radius:6px; background:var(--skin-surface-1); color:var(--skin-text-muted); }
.eng-heading { display:flex; flex-wrap:wrap; justify-content:flex-start; align-items:center; gap:12px 36px; margin-bottom:18px; }
.eng-heading p { margin-top:7px; }
.eng-eyebrow { display:block; color:var(--skin-text-muted); text-transform:uppercase; font-size:12px; font-weight:650; letter-spacing:.09em; margin-bottom:8px; }
.eng-chip { font-size:12px; color:var(--skin-text-muted); }
.eng-periods { display:flex; flex-wrap:wrap; gap:3px; padding:4px; border-radius:8px; border:1px solid var(--skin-line); background:var(--skin-surface-1); }
.engagement .eng-periods button { min-height:36px; margin:0; padding:7px 12px; border:1px solid transparent; border-radius:5px; background:transparent; box-shadow:none; font-size:13px; color:var(--skin-text-muted); }
.eng-periods small { font-size:11px; margin-left:3px; }
.engagement .eng-periods button[aria-pressed="true"] { color:var(--skin-energy); border-color:var(--skin-border-active); background:var(--skin-energy-soft); }
.engagement .eng-periods button[aria-expanded="true"] { border-style:dashed; border-color:var(--skin-text-muted); }
.eng-period-row { display:flex; align-items:center; flex-wrap:wrap; gap:8px 16px; margin-top:12px; }
.eng-date-navigation { display:flex; align-items:center; gap:12px; }
.eng-date-navigation strong { text-align:center; font-size:14px; font-weight:600; font-variant-numeric:tabular-nums; }
.engagement .eng-date-navigation button, .engagement .eng-map-nav button { flex:0 0 34px; width:34px; height:34px; margin:0; padding:0; border:1px solid var(--skin-line); border-radius:6px; color:var(--skin-text-muted); background:var(--skin-surface-1); box-shadow:none; font-size:22px; line-height:1; }
.eng-period-row > span { font-size:12px; color:var(--skin-text-muted); }
.eng-custom { display:flex; align-items:end; flex-wrap:wrap; gap:10px 12px; padding:14px; margin-bottom:16px; border:1px dashed var(--skin-line-bright); border-radius:8px; background:var(--skin-surface-1); }
.eng-custom > p { flex-basis:100%; }
.eng-custom label { margin:0; color:var(--skin-text-muted); font-size:13px; }
.eng-custom input { display:block; margin:5px 0 0; padding:7px; width:155px; min-height:36px; }
.eng-custom button { min-height:36px; margin:0; }
.eng-custom span { color:var(--skin-danger); font-size:13px; }
.eng-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); align-items:start; gap:16px; }
.eng-primary-stack, .eng-secondary-stack { display:grid; gap:16px; min-width:0; align-content:start; }
.eng-daily-card { display:flex; flex-direction:column; }
.eng-trend-card {  }
.eng-calendar-card {  }
.eng-homework-card {  }
.eng-card { min-width:0; border:1px solid var(--skin-line); border-radius:var(--skin-radius,10px); padding:clamp(16px,1.1cqw,26px); background:radial-gradient(ellipse at 8% 0%,rgba(60,130,149,.12),transparent 58%),linear-gradient(135deg,rgba(255,255,255,.018),transparent 48%),var(--skin-surface-1); box-shadow:inset 0 1px 0 rgba(160,235,245,.06),0 12px 25px -24px #000; }
.eng-stat-heading { display:flex; flex-wrap:wrap; align-items:flex-start; justify-content:space-between; gap:8px; }
.eng-stat-line { display:flex; align-items:center; gap:20px; margin:12px 0 0; }
.eng-stat-line > strong { font-size:clamp(44px,3cqw,64px); line-height:1; font-weight:600; letter-spacing:-.04em; font-variant-numeric:tabular-nums; }
.eng-stat-line > span { color:var(--skin-text-muted); font-size:14px; max-width:270px; line-height:1.5; }
.eng-daily-scroll { overflow-x:auto; padding:24px 3px 4px; margin-top:20px; }
.eng-bars { display:grid; grid-template-columns:repeat(var(--days),minmax(24px,1fr)); align-items:end; gap:4px; min-width:calc(var(--days) * 28px); height:238px; background:repeating-linear-gradient(to top,transparent 0 46px,rgba(151,183,211,.09) 47px,transparent 48px); }
.eng-bars.is-empty { display:block; min-width:0; height:auto; background:none; }
.engagement .eng-empty { padding:24px 12px; min-height:88px; display:flex; align-items:center; justify-content:center; text-align:center; color:var(--skin-text-muted); }
.eng-unknown-marker { display:block; color:var(--skin-text-muted); font-size:16px; line-height:1; }
.eng-bar-track > .eng-unknown-marker { width:100%; text-align:center; padding-bottom:5px; }
.eng-history-marker { stroke:var(--skin-text-muted); stroke-width:1; fill:none; opacity:.65; }
.engagement .eng-bar-day { display:flex; height:230px; flex-direction:column; align-items:center; justify-content:end; gap:4px; padding:0 2px; margin:0; background:transparent; border:0; box-shadow:none; color:var(--skin-text-muted); border-radius:4px; }

.eng-bar-count { position:absolute; bottom:100%; left:50%; transform:translateX(-50%); padding-bottom:5px; font-style:normal; font-size:13px; font-variant-numeric:tabular-nums; color:var(--skin-text); }
.eng-bar-track { position:relative; display:flex; align-items:end; width:100%; max-width:42px; height:176px; border-bottom:1px solid var(--skin-line-bright); }
.eng-bar-track i { transform-origin:center bottom; box-shadow:inset 1px 0 rgba(140,222,234,.5),inset -1px 0 rgba(0,0,0,.3),0 0 12px -5px var(--eng-led); position:relative; display:block; width:100%; min-height:0; border-radius:3px 3px 0 0; background:linear-gradient(180deg,#48bfd0,#1c5364); }
.eng-bar-weekday { margin-top:5px; font-size:12px; text-transform:capitalize; }
.eng-bar-date { font-size:12px; color:var(--skin-text-muted); }
.engagement .eng-footnote { font-size:12px; color:var(--skin-text-muted); margin-top:12px; line-height:1.5; }
.eng-card-heading { display:flex; align-items:start; justify-content:space-between; gap:12px; margin-bottom:16px; }
.eng-card-heading p { font-size:13px; margin-top:4px; color:var(--skin-text-muted); }
.eng-map-nav { display:flex; gap:6px; }
.eng-calendar-scroll { overflow-x:auto; padding:3px 2px; }
.eng-calendar { position:relative; isolation:isolate; display:grid; grid-template-columns:28px repeat(var(--weeks),minmax(44px,1fr)); min-width:calc(28px + var(--weeks) * 44px); user-select:none; touch-action:pan-y; }
.eng-week, .eng-weekdays { display:grid; grid-template-rows:26px repeat(7,var(--day-height)); }
.eng-weekdays { font-size:12px; color:var(--skin-text-muted); }
.eng-weekdays span { display:flex; align-items:center; }
.eng-month { overflow:visible; white-space:nowrap; font-size:12px; color:var(--skin-text-muted); }
.engagement .eng-map-day { position:relative; display:block; width:100%; height:var(--day-height); padding:0; margin:0; border:0; border-radius:0; background:transparent; box-shadow:none; transform:none; }

.eng-map-day svg { display:block; width:44px; height:var(--day-height); margin:auto; overflow:hidden; }
.eng-prism-base { fill:#102833; stroke:#548493; stroke-width:.8; }
.eng-prism-reflection { fill:var(--eng-led); opacity:.07; }
.eng-prism-left { fill:var(--eng-left); stroke:#51a9bd; stroke-width:.7; }
.eng-prism-right { fill:var(--eng-right); stroke:#327387; stroke-width:.7; }
.eng-prism-top { fill:var(--eng-top); stroke:var(--eng-lit); stroke-width:.8; }
.eng-map-day.is-month-before { border-right:1px solid var(--skin-line-bright); }
.eng-map-day.is-month-after { border-left:1px solid var(--skin-line-bright); }
.eng-today-dot { fill:var(--eng-attention); }
.eng-map-day.is-month-start::before { content:""; position:absolute; inset:0 0 auto; border-top:1px solid var(--skin-line-bright); }

.eng-map-day.is-selected .eng-prism-top { fill:#438da0; stroke:var(--skin-energy); }
.eng-map-day.is-unknown .eng-prism-base { fill:transparent; stroke:var(--skin-text-muted); stroke-dasharray:3 2; }
.eng-map-day.is-future .eng-prism-base { fill:none; stroke:var(--skin-line-bright); stroke-dasharray:1 4; }

.eng-map-day.is-today .eng-calendar-date { fill:var(--eng-attention); font-weight:700; }
.eng-map-day text { font-size:11px; fill:var(--skin-text-muted); font-family:inherit; }
.eng-calendar-legend { display:flex; flex-wrap:wrap; gap:8px 16px; margin-top:14px; font-size:12px; color:var(--skin-text-muted); }
.eng-calendar-legend i { display:inline-block; width:9px; height:9px; margin-right:4px; border:1px solid var(--skin-energy); }
[data-eng-trend] { overflow-x:auto; padding:3px; }
.eng-trend { display:block; width:100%; min-width:580px; height:185px; overflow:visible; }
.eng-trend-grid { fill:none; stroke:var(--skin-line); stroke-width:.7; }
.eng-trend-line { fill:none; stroke:var(--skin-energy); stroke-width:1.8; stroke-linejoin:round; }
.eng-trend circle { fill:var(--skin-surface-1); stroke:var(--skin-energy); stroke-width:1.5; }
.eng-trend circle.is-current { fill:var(--skin-energy); }
.eng-trend circle.is-unknown { stroke-dasharray:2 2; stroke:var(--skin-text-muted); }
.eng-trend .eng-point-hit { fill:transparent; stroke:none; pointer-events:all; }
.eng-trend [data-eng-point] { cursor:pointer; }
.eng-trend text { fill:var(--skin-text-muted); text-anchor:middle; font-family:inherit; font-size:12px; }
.eng-trend .eng-point-value { fill:var(--skin-text); font-size:13px; }
.engagement .eng-trend-detail { margin-top:8px; font-size:13px; }
.eng-homework-card { display:grid; grid-template-columns:1fr auto; column-gap:20px; align-content:start; align-items:center; }
.eng-homework-card > h3, .eng-homework-card > .eng-footnote { grid-column:1/-1; }
.eng-homework-fact { margin:16px 0; }
.eng-homework-fact p { font-size:12px; margin-top:6px; }
.eng-homework-total { font-size:36px; font-weight:600; font-variant-numeric:tabular-nums; }
.eng-homework-total small { font-size:13px; color:var(--skin-text-muted); font-weight:400; }
.eng-homework-card dl { margin:12px 0; font-size:13px; color:var(--skin-text-muted); }
.eng-homework-card dl div { display:flex; justify-content:space-between; gap:20px; padding:4px 0; }
.eng-homework-card dd { margin:0; font-weight:650; color:var(--skin-text); }
.engagement .eng-link { display:inline-flex; align-items:center; gap:16px; justify-content:space-between; width:fit-content; min-height:30px; margin:8px 0 0; padding:3px 0; color:var(--skin-energy); background:transparent; border:0; border-radius:2px; box-shadow:none; font-size:14px; }
.eng-overview-grid { display:grid; grid-template-columns:minmax(280px,.75fr) minmax(0,1.4fr); gap:24px; max-width:1550px; }
.eng-overview-fact { padding:24px; align-self:start; display:grid; grid-template-columns:auto 1fr; gap:8px 20px; }
.eng-overview-fact > .eng-eyebrow, .eng-overview-fact > p, .eng-overview-fact > button { grid-column:1/-1; }
.eng-overview-number { font-size:clamp(54px,4cqw,76px); line-height:1.15; font-weight:550; letter-spacing:-.06em; }
.eng-overview-number span { display:block; margin-top:5px; color:var(--skin-text-muted); font-size:13px; letter-spacing:0; }
.eng-mini-bars { display:flex; align-items:end; justify-content:end; gap:8px; height:90px; margin:8px 0; }
.eng-mini-bars i { transform-origin:center bottom; box-shadow:inset 1px 0 rgba(140,222,234,.4); display:block; width:clamp(12px,1.6cqw,26px); height:var(--h); border-radius:3px 3px 0 0; background:linear-gradient(180deg,#48bfd0,#173d4c); }
.eng-advice-list { display:grid; gap:12px; }
.eng-advice { display:flex; align-items:start; gap:14px; padding:18px 20px; border:1px solid var(--skin-line); border-radius:var(--skin-radius,10px); background:var(--skin-surface-1); --eng-tone:var(--skin-text-muted); }
.eng-advice h3 { color:var(--eng-tone); margin-bottom:5px; }
.eng-advice p { max-width:68ch; }
.eng-advice-dot { width:6px; height:6px; flex:0 0 6px; margin-top:8px; border-radius:50%; background:var(--eng-tone); }
.eng-tone-positive { --eng-tone:var(--skin-success); }
.eng-tone-attention { --eng-tone:var(--eng-attention); }
.eng-tone-alarm { --eng-tone:var(--skin-danger); }
.engagement .eng-context-note { margin-top:18px; font-size:13px; color:var(--skin-text-muted); max-width:85ch; }
.eng-day-card { position:fixed; inset:auto; margin:0; color:var(--skin-text); z-index:12000; max-height:min(380px,calc(100vh - 24px)); display:flex; flex-direction:column; border:1px solid var(--skin-line-bright); border-radius:10px; background:var(--skin-surface-2); box-shadow:0 18px 45px rgba(0,0,0,.65); padding:16px; }
.eng-day-card[data-pinned="true"] { border-color:var(--skin-border-active); }
.eng-day-card header { display:flex; justify-content:space-between; align-items:start; gap:12px; }
.eng-day-card header strong { font-size:15px; }
.eng-day-card header p { font-size:13px; margin-top:4px; }
.engagement .eng-day-card button { flex:0 0 32px; min-width:32px; min-height:32px; margin:-5px -5px 0 0; padding:2px; border:0; box-shadow:none; background:transparent; color:var(--skin-text-muted); font-size:22px; }
.eng-day-content { overflow-y:auto; min-height:0; margin:12px -4px 0 0; padding-right:8px; }
.eng-day-content section { margin:0 0 7px; font-size:14px; line-height:1.6; }
.eng-day-content h4, .eng-day-content p { display:inline; font-size:14px; line-height:1.6; }
.eng-day-content h4 { font-weight:600; }
.eng-task-alarm { color:var(--skin-danger); }
.eng-day-card footer { border-top:1px solid var(--skin-line); padding-top:9px; margin-top:5px; font-size:12px; color:var(--skin-text-muted); line-height:1.45; }
@keyframes eng-selection-pulse { 0%,100% { opacity:.6; } 50% { opacity:1; } }
@media (prefers-reduced-motion:reduce) { .engagement *, .engagement *::after { animation:none !important; transition:none !important; } }
@container (max-width:1000px) { .eng-grid { grid-template-columns:minmax(0,1fr);  } .eng-daily-scroll { margin-top:12px; } .eng-overview-grid { grid-template-columns:1fr; max-width:760px; } }
@container (max-width:560px) { .eng-demo-detail { display:none; } .eng-demo label { margin-left:0; } .eng-demo { gap:8px 12px; } .eng-card { padding:14px; } .eng-heading { gap:14px; } .eng-periods { width:100%; } .engagement .eng-periods button { flex:1; padding:7px 6px; } .eng-periods small { display:block; margin:0; } .eng-stat-line { gap:14px; } .eng-stat-line > strong { font-size:44px; } .eng-advice { padding:15px; } .eng-date-navigation { width:100%; justify-content:space-between; gap:6px; } .eng-heading > div:first-child { width:100%; } .eng-homework-card { grid-template-columns:1fr; } .eng-homework-card dl { margin:0 0 8px; } .eng-homework-fact { margin:12px 0; } .eng-homework-card > h3, .eng-homework-card > .eng-footnote { grid-column:auto; } }
/* Host changes are limited to preview navigation and the new slice surfaces. */
.student-progress-shell[data-progress-tab="overview"] > .student-progress-surface > .student-progress-toolbar,
.student-progress-shell[data-progress-tab="engagement"] > .student-progress-surface > .student-progress-toolbar { display:none; }
.student-progress-shell[data-engagement-preview="true"] { grid-template-columns:minmax(0,1fr); }
.student-progress-shell[data-engagement-preview="true"] .student-progress-tabs { min-width:0; max-width:100%; overflow-x:auto; padding:3px 3px 0; }
.student-progress-shell[data-engagement-preview="true"] .student-progress-tabs button { flex:0 0 auto; margin-bottom:0; }
html[data-visual-skin="tron"] .student-progress-shell[data-progress-tab="engagement"] > .student-progress-surface,
html[data-visual-skin="tron"] .student-progress-shell[data-progress-tab="overview"] > .student-progress-surface { background:radial-gradient(ellipse at 6% 0%,rgba(54,120,142,.14),transparent 48%),radial-gradient(ellipse at 100% 80%,rgba(22,74,100,.14),transparent 55%),repeating-linear-gradient(118deg,rgba(125,184,201,.018) 0 1px,transparent 1px 5px),var(--skin-surface-2); }
html[data-visual-skin="tron"] .engagement .eng-advice h3 { color:var(--eng-tone); }

/* A single logical-cell overlay: month separators never contribute selection edges. */
.eng-selection { position:absolute; left:28px; top:26px; width:calc(100% - 28px); height:calc(7 * var(--day-height)); overflow:visible; pointer-events:none; z-index:-1; }
.eng-selection-fill { fill:var(--eng-led); fill-opacity:.065; }
.eng-selection-border { fill:none; stroke:var(--eng-led); stroke-width:1.25; stroke-linecap:square; opacity:.9; filter:drop-shadow(0 0 2px rgba(85,239,255,.4)); animation:eng-selection-pulse var(--eng-motion-ms) ease-in-out 3; }
.eng-selection.is-clipped .eng-selection-border { stroke-dasharray:4 2; }
.engagement.is-dragging .eng-selection-border { animation:none; filter:none; }
.eng-map-day.is-selected .eng-prism-left { fill:#286379; }
.eng-map-day.is-selected .eng-prism-reflection { opacity:.16; }
.eng-day-state { font-size:9px; }
.eng-calendar-legend .eng-today-key { display:inline-block; width:5px; height:5px; border-radius:50%; background:var(--eng-attention); vertical-align:middle; margin:0 5px 2px 0; }
.eng-scale-help { margin-top:8px; color:var(--skin-text-muted); font-size:12px; }
.eng-scale-help summary { width:fit-content; cursor:pointer; border-bottom:1px dotted var(--skin-line-bright); }
.eng-scale-help p { margin-top:8px; font-size:12px; max-width:64ch; }
.eng-trend-line polyline { stroke-dasharray:1; stroke-dashoffset:0; }
@media (prefers-reduced-motion:reduce) { .eng-selection-border { animation:none; filter:none; } }

/* Short interaction light is independent of data motion and never changes geometry. */
.engagement :is(button,input,select,summary) { transition:color 200ms ease,background-color 200ms ease,border-color 200ms ease,box-shadow 200ms ease; }
.engagement :is(button,input,select,summary):focus-visible { outline:2px solid var(--skin-focus); outline-offset:2px; }
.engagement button:active:not(:disabled) { transform:none; }
.eng-map-day :is(.eng-prism-top,.eng-prism-left,.eng-prism-right,.eng-prism-base,.eng-calendar-date,.eng-prism-reflection),
.eng-bar-day :is(i,.eng-bar-count,.eng-bar-date,.eng-bar-weekday),
.eng-trend [data-eng-point] :is(circle,text) { transition:fill 200ms ease,stroke 200ms ease,opacity 200ms ease,filter 200ms ease,box-shadow 200ms ease,color 200ms ease; }
.engagement .eng-map-day:focus-visible { background:var(--skin-energy-soft); }
.eng-map-day:focus-visible .eng-prism-top { fill:#67bac9;stroke:#d3fcff; }
.eng-map-day:focus-visible :is(.eng-prism-left,.eng-prism-right,.eng-prism-base) { stroke:var(--eng-lit); }
.eng-map-day:focus-visible .eng-prism-reflection { opacity:.65; }
.eng-map-day:focus-visible .eng-calendar-date { fill:#d3fcff; }
.engagement .eng-bar-day:focus-visible { background:var(--skin-energy-soft);transform:none; }
.eng-bar-day:focus-visible i { box-shadow:inset 0 0 0 1px #b5f6ff,0 0 16px -3px var(--eng-led); }
.eng-bar-day:focus-visible :is(.eng-bar-count,.eng-bar-date,.eng-bar-weekday) { color:var(--eng-led); }
.eng-trend [data-eng-point]:focus-visible circle:not(.eng-point-hit) { fill:var(--eng-lit);stroke:#e1fcff;filter:drop-shadow(0 0 4px var(--eng-led)); }
.eng-trend [data-eng-point]:focus-visible text { fill:var(--eng-led); }
.engagement :is(button:not(.eng-map-day):not(.eng-bar-day),input,select,summary):focus-visible { border-color:var(--eng-lit);box-shadow:0 0 12px -5px var(--eng-led); }
@media (hover:hover) and (pointer:fine) {
    .engagement:not(.is-dragging) .eng-map-day[data-eng-map-day]:hover { background:var(--skin-energy-soft); }
    .engagement:not(.is-dragging) .eng-map-day[data-eng-map-day]:hover .eng-prism-top { fill:#67bac9;stroke:#d3fcff; }
    .engagement:not(.is-dragging) .eng-map-day[data-eng-map-day]:hover :is(.eng-prism-left,.eng-prism-right,.eng-prism-base) { stroke:var(--eng-lit); }
    .engagement:not(.is-dragging) .eng-map-day[data-eng-map-day]:hover .eng-prism-reflection { opacity:.65; }
    .engagement:not(.is-dragging) .eng-map-day[data-eng-map-day]:hover .eng-calendar-date { fill:#d3fcff; }
    .engagement .eng-bar-day:hover { background:var(--skin-energy-soft);transform:none; }
    .eng-bar-day:hover i { box-shadow:inset 0 0 0 1px #b5f6ff,0 0 16px -3px var(--eng-led); }
    .eng-bar-day:hover :is(.eng-bar-count,.eng-bar-date,.eng-bar-weekday) { color:var(--eng-led); }
    .eng-trend [data-eng-point]:hover circle:not(.eng-point-hit) { fill:var(--eng-lit);stroke:#e1fcff;filter:drop-shadow(0 0 4px var(--eng-led)); }
    .eng-trend [data-eng-point]:hover text { fill:var(--eng-led); }
    .engagement :is(button:not(.eng-map-day):not(.eng-bar-day):not(:disabled),input,select,summary):hover { color:var(--eng-lit);border-color:var(--eng-lit);box-shadow:0 0 12px -5px var(--eng-led);background-color:var(--skin-energy-soft);transform:none; }
}
.engagement button:not(.eng-map-day):not(.eng-bar-day):active:not(:disabled) { background-color:var(--skin-energy-soft);box-shadow:inset 0 0 0 1px var(--eng-lit); }
.engagement .eng-map-day.is-future { cursor:default; }
[data-eng-trend] { position:relative; }
.eng-trend.eng-motion-exit { position:absolute;top:3px;left:3px;pointer-events:none; }
.eng-value { position:relative; }
.eng-value-current { display:inline-block; }
.eng-value-exit { position:absolute;top:0;left:0;width:100%;pointer-events:none; }
.eng-value-exit::before { content:attr(data-text); }
@media (prefers-reduced-motion:reduce) {
    .engagement *, .engagement *::before { transition:none !important;animation:none !important; }
}

[data-eng-homework-value] { display:inline-block; }
