/* office-book.css: visual kit for "AI-Powered Productivity for Microsoft Office Professionals".
   Exhibits are dark in both themes, like .tchart and .diagram (see reading.css).
   Motion: premium archetype, one curve, 350 to 600ms, staggers under 500ms. */

:root{--ob-ease:var(--ease-out,cubic-bezier(.23,1,.32,1));--ob-word:#2b7cd3;--ob-excel:#1f9d55;--ob-ppt:#d35230;--ob-outlook:#28a8ea;--ob-teams:#5b5fc7;--ob-copilot:#a855f7}

:is(.ob-hero,.ob-panel,.ob-app,.ob-gloss,.ob-stack,.ob-steps){--white:#f4f2fa;--text:#f4f2fa;--muted:#a9a5b8;--border:rgba(255,255,255,.1);--line:rgba(255,255,255,.1);--link:#c4b5fd;--teal:#2dd4bf;color:#f4f2fa}

/* Shared exhibit frame */
.ob-panel,.ob-gloss,.ob-stack,.ob-steps{position:relative;margin:2.2rem 0 .9rem;padding:1.2rem 1.25rem 1.1rem;border:1px solid rgba(255,255,255,.09);border-radius:18px;overflow:hidden;
  background:radial-gradient(120% 90% at 12% -10%,rgba(124,58,237,.16),transparent 60%),radial-gradient(110% 90% at 100% 110%,rgba(234,88,12,.10),transparent 62%),#101019;box-shadow:0 18px 46px rgba(0,0,0,.34)}
.ob-panel::before,.ob-gloss::before,.ob-stack::before,.ob-steps::before{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,var(--ob-word),var(--ob-excel),var(--ob-ppt),var(--ob-copilot));opacity:.85}
.ob-title{font-family:var(--font-display);font-weight:700;font-size:1rem;color:#f4f2fa;margin:0 0 .25rem;text-wrap:balance}
.ob-sub{font-size:.82rem;color:#a9a5b8;margin:0 0 1rem;line-height:1.5}
.ob-note{font-size:.8rem;color:#a9a5b8;margin-top:.8rem;line-height:1.5}
.ob-note a{color:#c4b5fd}
.ob-logo{width:1.15em;height:1.15em;object-fit:contain;display:inline-block;vertical-align:-.2em}

/* Scroll reveal */
.ob-reveal{transition:opacity .45s var(--ob-ease),transform .45s var(--ob-ease)}
.ob-js .ob-reveal{opacity:0;transform:translateY(18px)}
.ob-js .ob-reveal.is-in{opacity:1;transform:none}
.ob-stagger>*{transition:opacity .4s var(--ob-ease),transform .4s var(--ob-ease);transition-delay:calc(var(--i,0) * 60ms)}
.ob-js .ob-stagger>*{opacity:0;transform:translateY(14px)}
.ob-js .ob-stagger.is-in>*{opacity:1;transform:none}

/* ── Chapter hero: Copilot at the centre, the apps in orbit ── */
.ob-hero{position:relative;margin:0 0 2rem;border-radius:22px;overflow:hidden;border:1px solid rgba(255,255,255,.08);min-height:300px;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:1rem;padding:1.6rem 1.75rem;
  background:radial-gradient(90% 120% at 100% 50%,rgba(168,85,247,.22),transparent 60%),radial-gradient(70% 90% at 0% 100%,color-mix(in srgb,var(--hero,#d35230) 26%,transparent),transparent 65%),#0d0c16}
.ob-hero__kicker{font-family:var(--font-display);font-weight:700;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:#e0bf5f;margin:0 0 .6rem}
.ob-hero__line{font-family:var(--font-display);font-weight:800;font-size:clamp(1.3rem,2.6vw,1.9rem);line-height:1.12;color:#fff;margin:0 0 .7rem;text-wrap:balance}
.ob-hero__line span{color:color-mix(in srgb,var(--hero,#fb923c) 55%,#fff)}
.ob-hero__meta{display:flex;flex-wrap:wrap;gap:.4rem}
.ob-hero__meta span{font-size:.72rem;font-weight:700;padding:.2rem .6rem;border-radius:99px;background:rgba(255,255,255,.07);color:#d9d6e6}
.ob-orbit{position:relative;width:100%;max-width:300px;aspect-ratio:1;margin-inline:auto}
.ob-orbit__ring{position:absolute;inset:8%;border-radius:50%;border:1px dashed rgba(255,255,255,.16)}
.ob-orbit__ring--2{inset:24%;border-style:solid;border-color:rgba(168,85,247,.25)}
.ob-orbit__core{position:absolute;inset:36%;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,rgba(168,85,247,.35),rgba(168,85,247,.05) 70%)}
.ob-orbit__core img{width:62%;height:auto}
.ob-orbit__spin{position:absolute;inset:8%;animation:ob-spin 48s linear infinite;animation-play-state:paused}
.ob-orbit__sat{position:absolute;width:19%;aspect-ratio:1;left:calc(50% + 50% * var(--x) - 9.5%);top:calc(50% + 50% * var(--y) - 9.5%);display:grid;place-items:center;border-radius:14px;background:#17141f;border:1px solid rgba(255,255,255,.12);box-shadow:0 10px 24px rgba(0,0,0,.45);animation:ob-spin 48s linear infinite reverse;animation-play-state:paused}
.ob-orbit.is-in .ob-orbit__spin,.ob-orbit.is-in .ob-orbit__sat{animation-play-state:running}
.ob-orbit__sat img{width:66%;height:auto}
@keyframes ob-spin{to{transform:rotate(360deg)}}
@keyframes ob-breathe{0%,100%{transform:scale(1);opacity:.95}50%{transform:scale(1.06);opacity:1}}
@media (max-width:700px){.ob-hero{grid-template-columns:1fr;padding:1.3rem 1.1rem;min-height:0;gap:.5rem}.ob-orbit{max-width:160px}.ob-note,.ob-tl__d,.ob-term__eg{font-size:.84rem}}

/* ── Animated horizontal bars ── */
.ob-bars{display:flex;flex-direction:column;gap:.85rem}
.ob-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.3rem .8rem;align-items:end}
.ob-bar__label{font-size:.86rem;color:#e9e6f3;line-height:1.4}
.ob-bar__val{font-family:var(--font-display);font-weight:800;font-size:1.15rem;color:#fff;font-variant-numeric:tabular-nums}
.ob-bar__track{grid-column:1/-1;height:10px;border-radius:99px;background:rgba(255,255,255,.07);overflow:hidden}
.ob-bar__fill{height:100%;width:100%;border-radius:99px;background:linear-gradient(90deg,var(--c1,#a855f7),var(--c2,#fb923c));transform:scaleX(0);transform-origin:left;transition:transform .9s var(--ob-ease)}
.is-in .ob-bar__fill{transform:scaleX(calc(var(--v) / 100))}

/* ── Big stat tiles ── */
.ob-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(130px,100%),1fr));gap:.8rem}
.ob-stat{border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:1rem;background:rgba(255,255,255,.03)}
.ob-stat__v{font-family:var(--font-display);font-weight:800;font-size:2rem;line-height:1;color:#fff;font-variant-numeric:tabular-nums}
.ob-stat__v small{font-size:.55em;color:#e0bf5f;margin-left:.1em}
.ob-stat__k{font-size:.8rem;color:#a9a5b8;margin-top:.45rem;line-height:1.45}

/* ── Timeline ── */
.ob-timeline{position:relative;display:grid;grid-template-columns:repeat(var(--n,6),minmax(0,1fr));gap:.6rem;padding-top:2.1rem}
.ob-timeline::before{content:"";position:absolute;left:0;right:0;top:.95rem;height:2px;background:linear-gradient(90deg,rgba(255,255,255,.12),rgba(168,85,247,.7));transform-origin:left;transform:scaleX(0);transition:transform 1.2s var(--ob-ease)}
.ob-timeline.is-in::before{transform:scaleX(1)}
.ob-js .ob-tl{opacity:0;transform:translateY(12px)}
.ob-tl{position:relative;transition:opacity .45s var(--ob-ease),transform .45s var(--ob-ease);transition-delay:calc(200ms + var(--i,0) * 70ms)}
.ob-timeline.is-in .ob-tl{opacity:1;transform:none}
.ob-tl::before{content:"";position:absolute;top:-1.5rem;left:0;width:12px;height:12px;border-radius:50%;background:#101019;border:2px solid var(--dot,#a855f7);box-shadow:0 0 0 4px rgba(168,85,247,.12)}
.ob-tl__year{font-family:var(--font-display);font-weight:800;font-size:1rem;color:#fff}
.ob-tl__name{font-size:.78rem;font-weight:700;color:#e0bf5f;margin:.15rem 0 .3rem}
.ob-tl__d{font-size:.8rem;color:#a9a5b8;line-height:1.45}
.ob-tl img{position:absolute;top:-2.05rem;left:1.1rem;height:16px;width:auto;margin:0}
@media (max-width:760px){.ob-tl img{top:.1rem;left:auto;right:0}.ob-timeline{grid-template-columns:1fr;padding-top:0;padding-left:1.5rem;gap:1rem}.ob-timeline::before{left:.35rem;right:auto;top:0;bottom:0;width:2px;height:auto;transform-origin:top;transform:scaleY(0)}.ob-timeline.is-in::before{transform:scaleY(1)}.ob-tl::before{top:.2rem;left:-1.5rem}}

/* ── Before / after loop ── */
.ob-vs{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:stretch}
.ob-vs__col{border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:1rem;background:rgba(255,255,255,.025)}
.ob-vs__col--new{border-color:rgba(168,85,247,.45);background:rgba(168,85,247,.07)}
.ob-vs__h{font-family:var(--font-display);font-weight:700;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#a9a5b8;margin-bottom:.7rem}
.ob-vs__col--new .ob-vs__h{color:#c084fc}
.ob-vs ol{margin:0;padding-left:1.2rem;list-style:decimal;font-size:.86rem;line-height:1.55;color:#e9e6f3}
.ob-vs ol li{margin-bottom:.35rem}
.ob-vs__arrow{display:grid;place-items:center;color:#e0bf5f;font-size:1.6rem}
@media (max-width:700px){.ob-vs{grid-template-columns:1fr}.ob-vs__arrow{transform:rotate(90deg)}}

/* ── Tabs (app switcher, glossary filter) ── */
.ob-tabs{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1rem}
.ob-tab{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .8rem;border-radius:99px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:#e9e6f3;font:inherit;font-size:.8rem;font-weight:700;cursor:pointer;transition:background .2s var(--ob-ease),border-color .2s var(--ob-ease),transform .15s var(--ob-ease)}
.ob-tab img{width:18px;height:18px}
@media (hover:hover) and (pointer:fine){.ob-tab:hover{background:rgba(255,255,255,.08)}}
.ob-tab:active{transform:scale(.97)}
.ob-tab[aria-selected="true"],.ob-tab[aria-pressed="true"]{background:color-mix(in srgb,var(--tab,#a855f7) 26%,transparent);border-color:var(--tab,#a855f7);color:#fff}
.ob-tab:focus-visible{outline:2px solid #e0bf5f;outline-offset:2px}
.ob-tabpanel{animation:ob-fade 150ms ease-out}
@keyframes ob-fade{from{opacity:0}}
.ob-tabpanel[hidden]{display:none}
@keyframes ob-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.ob-appcard{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:start}
.ob-appcard__logo{width:56px;height:56px;border-radius:14px;display:grid;place-items:center;background:#17141f;border:1px solid rgba(255,255,255,.1)}
.ob-appcard__logo img{width:36px;height:36px}
.ob-appcard h4{text-transform:none;letter-spacing:0;margin:0 0 .3rem;font-family:var(--font-display);font-size:1rem;color:#fff}
.ob-appcard p{margin:0 0 .6rem;font-size:.86rem;color:#d9d6e6;line-height:1.55}
.ob-appcard ul{margin:0;padding-left:1.1rem;list-style:disc;font-size:.84rem;color:#e9e6f3;line-height:1.55}

/* ── App window mockup with a Copilot pane ── */
.ob-app{margin:2.2rem 0 .9rem;border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.1);background:#14121d;box-shadow:0 24px 60px rgba(0,0,0,.45)}
.ob-app__bar{display:flex;align-items:center;gap:.6rem;padding:.55rem .8rem;background:var(--app,#2b7cd3);color:#fff;font-size:.78rem;font-weight:700}
.ob-app__bar img{width:18px;height:18px;filter:drop-shadow(0 1px 1px rgba(0,0,0,.3))}
.ob-app__dots{display:none}
.ob-app__ribbon{display:flex;gap:.9rem;padding:.4rem .8rem;background:#1b1826;border-bottom:1px solid rgba(255,255,255,.06);font-size:.7rem;color:#a9a5b8;overflow:hidden;white-space:nowrap}
.ob-app__ribbon b{color:#fff;font-weight:700;border-bottom:2px solid var(--app,#2b7cd3);padding-bottom:.15rem}
.ob-app__body{display:grid;grid-template-columns:1fr 290px;min-height:300px}
.ob-app__canvas{padding:1.1rem 1.2rem;background:#f7f6fb;color:#17151f;position:relative;overflow:hidden}
.ob-app__pane{border-left:1px solid rgba(255,255,255,.08);background:#17141f;padding:.8rem;display:flex;flex-direction:column;gap:.6rem;font-size:.78rem}
.ob-app__pane-h{display:flex;align-items:center;gap:.45rem;font-weight:800;color:#fff}
.ob-app__pane-h img{width:18px;height:18px}
.ob-msg{border-radius:12px;padding:.55rem .7rem;line-height:1.5;transition:opacity .4s var(--ob-ease),transform .4s var(--ob-ease)}
.ob-js .ob-msg{opacity:0;transform:translateY(8px)}
.ob-msg--you{align-self:flex-end;max-width:92%;background:rgba(168,85,247,.22);color:#fff}
.ob-msg--ai{background:rgba(255,255,255,.05);color:#e9e6f3;border:1px solid rgba(255,255,255,.07)}
.ob-msg code{font-size:.92em}
.ob-msg .ob-skill{display:inline-block;padding:0 .4rem;border-radius:6px;background:rgba(224,191,95,.18);color:#f5d77a;font-weight:700}
.ob-js .ob-app.is-in .ob-msg{opacity:1;transform:none;transition-delay:calc(var(--i,1) * 320ms - 200ms)}
.ob-app__input{margin-top:auto;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:.5rem .6rem;color:#a9a5b8;display:flex;align-items:center;gap:.4rem}
.ob-app__input b{color:#f5d77a}
.ob-typing::after{content:"";display:inline-block;width:2px;height:1em;background:#c084fc;vertical-align:-.15em;margin-left:2px;animation:ob-caret 1s steps(1) 6}
@keyframes ob-caret{50%{opacity:0}}
/* canvas content helpers */
.ob-doc h5{font-family:Georgia,"Times New Roman",serif;font-size:1.05rem;margin:0 0 .5rem;color:#111}
.ob-doc p{font-family:Georgia,"Times New Roman",serif;font-size:.8rem;line-height:1.6;margin:0 0 .55rem;color:#2a2733}
.ob-doc mark{background:rgba(43,124,211,.16);color:inherit;padding:0 .1em;border-radius:3px;transition:background .6s var(--ob-ease)}
.ob-app.is-in .ob-doc mark{background:rgba(43,124,211,.28)}
.ob-doc .ob-flag{display:inline-block;font-family:var(--font-display);font-size:.62rem;font-weight:800;padding:.05rem .4rem;border-radius:99px;background:#fde7e2;color:#b42318;vertical-align:.1em}
.ob-line{height:8px;border-radius:4px;background:#e4e1ec;margin:.45rem 0}
.ob-line--s{width:55%}.ob-line--m{width:78%}
@media (max-width:760px){.ob-app__body{grid-template-columns:1fr}.ob-app__pane{border-left:0;border-top:1px solid rgba(255,255,255,.08)}}

/* Sheet grid inside the Excel canvas */
.ob-sheet{width:100%;border-collapse:collapse;font-family:"Segoe UI",var(--sans);font-size:.72rem;font-variant-numeric:tabular-nums;color:#1f1d26}
.ob-sheet th,.ob-sheet td{border:1px solid #dcd9e4;padding:.28rem .45rem;text-align:right;white-space:nowrap}
.ob-sheet thead th{background:#ecebf2;color:#57536a;font-weight:600;text-align:center}
.ob-sheet tbody th{background:#f2f1f6;color:#57536a;text-align:left;font-weight:600}
.ob-sheet td.is-calc{background:#e9f7ef;color:#0f5132;font-weight:700}
.ob-sheet td.is-warn{background:#fff4e5;color:#92400e;font-weight:700;position:relative}
.ob-app.is-in .ob-sheet td.is-warn{animation:ob-pulse 1.6s ease-in-out 2 1.4s}
@keyframes ob-pulse{50%{box-shadow:inset 0 0 0 2px #f59e0b}}

/* Slide canvas for PowerPoint */
.ob-deck{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}
.ob-slide{aspect-ratio:16/9;border-radius:8px;background:#fff;border:1px solid #e4e1ec;padding:8%;display:flex;flex-direction:column;gap:6%;box-shadow:0 6px 14px rgba(23,21,31,.12);transition:opacity .45s var(--ob-ease),transform .45s var(--ob-ease);transition-delay:calc(.5s + var(--i,0) * 70ms)}
.ob-js .ob-slide{opacity:0;transform:scale(.94) translateY(8px)}
.ob-js .ob-app.is-in .ob-slide{opacity:1;transform:none}
.ob-slide__t{height:12%;width:70%;border-radius:3px;background:#d35230}
.ob-slide__l{height:6%;border-radius:3px;background:#e4e1ec}
.ob-slide__chart{flex:1;display:flex;align-items:flex-end;gap:6%}
.ob-slide__chart i{flex:1;background:linear-gradient(#fb923c,#d35230);border-radius:2px 2px 0 0}
.ob-slide--hero{background:linear-gradient(135deg,#d35230,#7c3aed)}
.ob-slide--hero .ob-slide__t{background:rgba(255,255,255,.9)}
.ob-slide--hero .ob-slide__l{background:rgba(255,255,255,.5)}
@media (max-width:520px){.ob-deck{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ── Glossary cards ── */
.ob-gloss__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.75rem}
.ob-term{border:1px solid rgba(255,255,255,.08);border-left:3px solid var(--t,#a855f7);border-radius:6px 14px 14px 6px;padding:.95rem;background:rgba(255,255,255,.03);display:flex;flex-direction:column;gap:.4rem;transition:border-color .2s var(--ob-ease)}
@media (hover:hover) and (pointer:fine){.ob-term:hover{border-top-color:rgba(168,85,247,.5);border-right-color:rgba(168,85,247,.5);border-bottom-color:rgba(168,85,247,.5)}}
.ob-term[hidden]{display:none}
.ob-term__k{display:flex;align-items:center;gap:.5rem;font-family:var(--font-display);font-weight:800;font-size:1rem;color:#fff}
.ob-term__k i{font-style:normal;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-size:.95rem;background:color-mix(in srgb,var(--t,#a855f7) 22%,transparent);color:var(--t,#c084fc)}
.ob-term__d{font-size:.84rem;color:#e9e6f3;line-height:1.55}
.ob-term__eg{font-size:.8rem;color:#a9a5b8;line-height:1.5;border-top:1px dashed rgba(255,255,255,.1);padding-top:.45rem;margin-top:auto}
.ob-term__eg b{color:#e0bf5f;font-weight:700}

/* ── Layered stack diagram ── */
.ob-layers{display:flex;flex-direction:column;gap:.5rem}
.ob-layer{display:grid;grid-template-columns:150px 1fr;gap:.9rem;align-items:center;border-radius:12px;padding:.75rem .9rem;background:color-mix(in srgb,var(--l,#a855f7) 13%,#15131f);border:1px solid color-mix(in srgb,var(--l,#a855f7) 38%,transparent)}
.ob-layer__k{font-family:var(--font-display);font-weight:800;font-size:.86rem;color:#fff}
.ob-layer__k small{display:block;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--l,#c084fc);font-weight:700;margin-bottom:.1rem}
.ob-layer__v{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;font-size:.8rem;color:#e9e6f3}
.ob-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .55rem;border-radius:99px;background:rgba(255,255,255,.07);font-size:.76rem;font-weight:600;color:#f4f2fa;white-space:nowrap}
.ob-pill img{width:15px;height:15px}
@media (max-width:620px){.ob-layer{grid-template-columns:1fr;gap:.4rem}}

/* ── Simulated click-through steps ── */
.ob-steps__row{display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:.7rem;counter-reset:obstep}
.ob-step{position:relative;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:.9rem .9rem .85rem;background:rgba(255,255,255,.03);counter-increment:obstep}
.ob-step::before{content:counter(obstep);position:absolute;top:-.6rem;left:.8rem;width:1.5rem;height:1.5rem;border-radius:50%;display:grid;place-items:center;background:#e0bf5f;color:#1a1405;font-family:var(--font-display);font-weight:800;font-size:.75rem;box-shadow:0 0 0 4px #101019}
.ob-step__h{font-weight:800;font-size:.86rem;color:#fff;margin:.35rem 0 .3rem}
.ob-step__d{font-size:.8rem;color:#d9d6e6;line-height:1.5}
.ob-step kbd{font-family:var(--mono);font-size:.74rem;padding:.05rem .35rem;border-radius:5px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);color:#fff}
.ob-click{position:relative}
.ob-click::after{content:"";position:absolute;right:.7rem;bottom:.7rem;width:16px;height:16px;border-radius:50%;border:2px solid #c084fc;opacity:0}
.ob-steps.is-in .ob-step:first-child.ob-click::after{animation:ob-ripple 1.2s var(--ob-ease) .5s 1}
@keyframes ob-ripple{0%{opacity:.9;transform:scale(.4)}100%{opacity:0;transform:scale(2.2)}}
@media (max-width:760px){.ob-steps__row{grid-template-columns:1fr 1fr}}
@media (max-width:460px){.ob-steps__row{grid-template-columns:1fr}}

/* Status chips (match chapter 2 of the governance book) */
.chip{display:inline-block;padding:.1rem .55rem;border-radius:99px;font-size:.72rem;font-weight:700;white-space:nowrap}
.chip--ga{background:rgba(52,211,153,.18);color:#34D399}
.chip--pv{background:rgba(234,179,8,.18);color:#EAB308}
.chip--fr{background:rgba(168,85,247,.2);color:#d8b4fe}
.chip--in{background:rgba(96,165,250,.18);color:#93c5fd}

@media (prefers-reduced-motion:reduce){
  .ob-tabpanel{animation:none}.ob-term,.ob-tab{transition:none}
  .ob-reveal,.ob-stagger>*,.ob-tl,.ob-msg,.ob-slide{opacity:1!important;transform:none!important;transition:none!important}
  .ob-orbit__spin,.ob-orbit__sat,.ob-orbit__core,.ob-typing::after{animation:none!important}
  .ob-bar__fill{transition:none}.ob-timeline::before{transform:none;transition:none}
  .ob-steps .ob-click::after,.ob-sheet td.is-warn{animation:none!important}
}

/* Keep the simulated sheet looking like Excel inside .chapter-body tables */
.chapter-body .ob-sheet{margin:0;min-width:0;background:#fff;border-radius:0;box-shadow:none}
.chapter-body .ob-sheet tr,.chapter-body .ob-sheet tbody tr:nth-child(even),.chapter-body .ob-sheet tbody tr:hover{background:#fff}
.chapter-body .ob-sheet tr:nth-child(n) td{color:#1f1d26;background:#fff;font-size:.72rem}
.chapter-body .ob-sheet thead th{background:#ecebf2;color:#57536a;font-size:.68rem;letter-spacing:0;text-transform:none}
.chapter-body .ob-sheet tbody th{background:#f2f1f6;color:#57536a}
.chapter-body .ob-sheet tr:nth-child(n) td.is-calc{background:#e9f7ef;color:#0f5132}
.chapter-body .ob-sheet tr:nth-child(n) td.is-warn{background:#fff4e5;color:#92400e}

@media print{.ob-reveal,.ob-stagger>*,.ob-tl,.ob-msg,.ob-slide{opacity:1!important;transform:none!important}.ob-bar__fill{transform:scaleX(calc(var(--v) / 100))!important}.ob-orbit__spin,.ob-orbit__sat{animation:none!important}}
