/* Small, task-bound motion over the cream workspace. */
.intro-side{display:flex;align-items:center;gap:24px;flex:none}
.workspace-desk{position:relative;width:180px;height:92px;margin-block:-16px;flex:none;isolation:isolate}
.workspace-desk canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.tutorial-guide{position:relative}
.tutorial-guide .workspace-desk{position:absolute;right:20px;top:60px;margin:0}
.tutorial-guide .tutorial-copy{padding-right:204px}
.tutorial-heading .screen-kicker{line-height:1.6}
.grids td,.grids th{transition:background-color 120ms ease}
.grids td.is-reading-column{background-color:#ede8d6}
.grids th.is-reading-column{background-color:#e9e1cb;box-shadow:inset 0 -2px #b39550}
.grids tr.selected td.is-reading-column{background-color:#dfe6cf}
.grids tr.grouped td.is-reading-column{background-color:#e8e4d6}
.report-complete .dialog-heading h2{display:inline-block;color:#31553e;border:1px solid #80967b;border-bottom-width:3px;padding:9px 13px;letter-spacing:.035em}
.report-complete .dialog-heading h2::before{content:'✓';margin-right:10px;color:#527349}
.just-completed .dialog-heading h2{animation:completion-impression 300ms cubic-bezier(.2,.8,.2,1) both}
@keyframes completion-impression{0%{opacity:0;transform:scale(1.08) rotate(-2deg)}70%{opacity:1;transform:scale(.99) rotate(.3deg)}100%{opacity:1;transform:none}}
@media(max-width:1100px){.intro-side{gap:14px}.workspace-desk{width:150px;height:82px;margin-block:-12px}.tutorial-guide .tutorial-copy{padding-right:170px}}
@media(max-width:680px){.workspace-desk{display:none}.intro-side{min-width:0;flex-shrink:1}.tutorial-guide .tutorial-copy{padding-right:0}}
@media(prefers-reduced-motion:reduce){.grids td,.grids th{transition:none}.just-completed .dialog-heading h2{animation:none}}
