.txd, .tx {
  --f-font: 'Segoe UI', 'Segoe UI Web (West European)', -apple-system, BlinkMacSystemFont, Roboto, 'Helvetica Neue', Arial, sans-serif;
  --f-fg1: #242424; --f-fg2: #424242; --f-fg3: #616161; --f-fg4: #707070;
  --f-bg1: #FFFFFF; --f-bg2: #FAFAFA; --f-bg3: #F5F5F5; --f-bg4: #F0F0F0; --f-bg5: #EBEBEB; --f-bg6: #E6E6E6;
  --f-st1: #D1D1D1; --f-st2: #E0E0E0; --f-st3: #F0F0F0;
  --f-sh4: 0 0 2px rgba(0,0,0,.12), 0 2px 4px rgba(0,0,0,.14);
  --f-sh16: 0 0 2px rgba(0,0,0,.12), 0 8px 16px rgba(0,0,0,.14);
  --f-sh28: 0 0 8px rgba(0,0,0,.12), 0 14px 28px rgba(0,0,0,.14);
  --app-ppt: #C43E1C; --app-word: #185ABD; --app-xls: #107C41;
  --app-ppt-h: #AC3719; --app-word-h: #154FA6; --app-xls-h: #0E6D39;
  --hl-wash: rgba(255, 213, 0, .38); --hl-line: #A08020;
}
.txd { --txd-line: 132px; position: relative; margin: 0 0 28px; padding: var(--txd-line) 0 0; font-family: var(--f-font); }
.txd-lines { position: absolute; z-index: 3; left: 0; top: 0; width: 100%; overflow: visible; pointer-events: none; }
.txd-line { --app: var(--app-word); }
.txd-ppt { --app: var(--app-ppt); }
.txd-word { --app: var(--app-word); }
.txd-xls { --app: var(--app-xls); }
.txd-ln, .txd-hd { fill: none; stroke: var(--app); stroke-width: 2.25; stroke-linecap: round; stroke-linejoin: round; opacity: .62; transition: stroke-width .12s ease, opacity .12s ease; }
.txd-port { fill: #fff; stroke: var(--app); stroke-width: 2.25; }
.txd-pulse { fill: var(--app); }
.txd-line.is-on .txd-ln, .txd-line.is-on .txd-hd { stroke-width: 3.25; opacity: 1; }
.txd-line.is-on .txd-port { fill: var(--app); }
.txd-line.is-hot .txd-ln, .txd-line.is-hot .txd-hd { stroke-width: 3.25; opacity: 1; }
.tx {
  --tx-ink: #172C39; --tx-ink2: #2a2e34; --tx-muted: #5f6975; --tx-rule: #dcdfe2; --tx-rule2: #e6e9ec;
  --tx-paper: #f6f5f1; --tx-desk: #d5d9dd; --tx-navy: #17394B; --tx-navy-d: #0F2734; --tx-navy-t: #E6EDF1;
  --tx-orange: #B4501E; --tx-orange-t: #FBEDE4; --tx-crimson: #B01E36; --tx-crimson-t: #FAE6E9;
  --tx-amber: #95610A; --tx-amber-t: #FBF1DC; --tx-forest: #2E7D46; --tx-forest-d: #1D5530; --tx-forest-t: #E6F2E9;
  --tx-blue: #1D6FA5; --tx-focus: #d5ab30; --tx-hl: #FFF3A3;
  --tx-sans: var(--sans, 'IBM Plex Sans', system-ui, sans-serif);
  --tx-serif: var(--serif, 'Newsreader', Georgia, serif);
  --tx-mono: var(--mono, 'IBM Plex Mono', ui-monospace, monospace);
  --app: var(--app-word); --app-h: var(--app-word-h);
  position: relative;
  border: 1px solid var(--tx-rule);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(23, 44, 57, .06), 0 18px 40px -24px rgba(23, 44, 57, .35);
  color: var(--tx-ink);
  font: 400 14px/1.45 var(--tx-sans);
  overflow: hidden;
}
.tx[data-tab="slides"] { --app: var(--app-ppt); --app-h: var(--app-ppt-h); }
.tx[data-tab="plan"] { --app: var(--app-word); --app-h: var(--app-word-h); }
.tx[data-tab="workbook"] { --app: var(--app-xls); --app-h: var(--app-xls-h); }
.tx[hidden] { display: none; }
.tx *, .tx *::before, .tx *::after { box-sizing: border-box; }
.tx [hidden] { display: none !important; }
.tx :focus-visible { outline: 2px solid var(--tx-focus); outline-offset: 2px; }
.tx-skel { background: linear-gradient(var(--tx-paper) 0 76px, #fff 76px); }
.tx-head {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; column-gap: 16px;
  padding: 12px 14px 0; background: var(--tx-paper); border-bottom: 1px solid var(--tx-rule);
}
.tx-tabs { display: grid; grid-template-columns: repeat(var(--n, 3), minmax(0, 1fr)); gap: 6px; margin-bottom: -1px; min-width: 0; }
.tx-tab {
  --app: var(--app-word);
  position: relative; display: flex; align-items: center; gap: 12px; min-width: 0; margin: 0; padding: 12px 16px 13px;
  border: 1px solid var(--tx-rule); border-bottom: 0; border-radius: 9px 9px 0 0;
  background: #ECEAE4; color: var(--f-fg2); font-family: var(--f-font); text-align: left; cursor: pointer;
  box-shadow: inset 0 3px 0 transparent;
  transition: background-color .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.tx-tab.tx-tab-ppt { --app: var(--app-ppt); }
.tx-tab.tx-tab-word { --app: var(--app-word); }
.tx-tab.tx-tab-xls { --app: var(--app-xls); }
.tx-tab-app { flex: none; display: block; width: 28px; height: 28px; object-fit: contain; pointer-events: none; }
.tx-tab-t { display: flex; flex-direction: column; min-width: 0; }
.tx-tab-l { font: 600 16px/21px var(--f-font); color: var(--f-fg1); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tx-tab-d { font: 400 13px/18px var(--f-font); color: var(--f-fg3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tx-tab:hover, .tx-tab:focus-visible { background: linear-gradient(var(--hl-wash), var(--hl-wash)), #fff; border-color: var(--hl-line); box-shadow: inset 0 0 0 1px var(--hl-line); outline: none; }
.tx-tab[aria-selected="true"] {
  z-index: 1; padding-bottom: 14px; background: #fff; border-color: var(--tx-rule); color: var(--f-fg1);
  box-shadow: inset 0 4px 0 var(--app);
}
.tx-tab[aria-selected="true"] .tx-tab-l { color: var(--app-h); }
.tx-tab[aria-selected="true"]:hover, .tx-tab[aria-selected="true"]:focus-visible { background: linear-gradient(var(--hl-wash), var(--hl-wash)), #fff; box-shadow: inset 0 4px 0 var(--app), inset 0 0 0 1px var(--hl-line); }
.tx-tools { display: flex; align-items: center; gap: .5rem; padding-bottom: 10px; }
.tx-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .4rem; height: 32px; padding: 0 .7rem;
  border: 1px solid var(--tx-rule, #dcdfe2); border-radius: 6px; background: #fff; color: var(--tx-ink, #172C39);
  font: 500 13px/1 var(--tx-sans, system-ui, sans-serif); text-decoration: none; white-space: nowrap; cursor: pointer;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
.tx-btn:hover { background: #f1f3f4; border-color: #c3c9ce; }
.tx-btn:disabled { opacity: .4; cursor: default; }
.tx-btn[aria-pressed="true"] { background: var(--tx-navy-t); border-color: var(--tx-navy); color: var(--tx-navy-d); }
.tx-ibtn { width: 32px; padding: 0; }
.tx-i { flex: none; }
.tx-btn.tx-dl {
  height: 46px; padding: 0 1.3rem; gap: .6rem; border: 1px solid var(--app); border-radius: 6px;
  background: var(--app); color: #fff; font: 600 15.5px/1 var(--f-font);
  box-shadow: 0 10px 22px -14px rgba(0, 0, 0, .6), inset 0 -2px 0 rgba(0, 0, 0, .16);
}
.tx-btn.tx-dl .tx-i { width: 19px; height: 19px; }
.tx-btn.tx-dl:hover { background: var(--app-h); border-color: var(--app-h); color: #fff; }
.tx-btn.tx-dl:active { filter: brightness(.94); }
.tx-btn.tx-dl:focus-visible { outline: 2px solid var(--f-fg1); outline-offset: 2px; }
.tx-btn.tx-dl[aria-disabled="true"] { opacity: .5; pointer-events: none; }
.tx-bar {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem;
  padding: .55rem .8rem; border-bottom: 1px solid var(--tx-rule); background: #fff;
}
.tx-bar-l, .tx-bar-c, .tx-bar-r { display: flex; align-items: center; gap: .4rem; flex-wrap: wrap; }
.tx-count { min-width: 5.6em; text-align: center; font: 400 12.5px/1 var(--tx-mono); color: var(--tx-muted); }
.tx-zoomlbl { min-width: 3.4em; }
.tx-hint { font-size: 12.5px; color: var(--tx-muted); margin-right: .3rem; }
.tx-jump { display: inline-flex; gap: 3px; margin-left: .3rem; }
.tx-jbtn { width: 26px; height: 26px; border: 1px solid var(--tx-rule); border-radius: 4px; background: #fff; color: var(--tx-muted); font: 500 12px/1 var(--tx-mono); cursor: pointer; }
.tx-jbtn:hover { border-color: #b7c0c8; color: var(--tx-ink); }
.tx-jbtn[aria-current="true"] { background: var(--tx-navy); border-color: var(--tx-navy); color: #fff; }
.tx-nw { white-space: nowrap; }
.tx-sup { font-size: min(.62em, 11px); line-height: 0; vertical-align: super; white-space: nowrap; }
.tx-cm {
  display: inline; margin: 0; padding: 0 1px; border: 0; border-radius: 2px; background: transparent;
  font: 700 1em/1 Arial, 'Liberation Sans', Helvetica, sans-serif; color: var(--k-dark, #124A6F); text-decoration: none; cursor: pointer;
}
button.tx-cm:hover, a.tx-cm:hover { background: rgba(255, 213, 0, .42); outline: 2px solid #A08020; }
button.tx-cm:focus-visible { outline: 2px solid var(--tx-focus, #d5ab30); outline-offset: 1px; }
span.tx-cm { cursor: inherit; }
.tx-ed { border-radius: 2px; transition: box-shadow .15s ease; cursor: text; }
.tx-ed:hover { box-shadow: 0 0 0 2px rgba(29, 111, 165, .18); }
.tx-ed:focus { outline: none; box-shadow: 0 0 0 2px var(--tx-focus); background: rgba(255, 243, 163, .25); }
.tx-ed [contenteditable="false"] { cursor: pointer; }
.tx-slide, .tx-vp {
  --k: #17394B; --k-mid: #6E8C9C; --k-tint: #E6EDF1; --k-dark: #0F2734;
  --d-ink: #172C39; --d-navy: #17394B; --d-rule: #C5D0D7; --d-muted: #536C79; --d-ink2: #34505E;
  --d-serif: 'Lora', var(--tx-serif, 'Newsreader'), Georgia, 'Times New Roman', serif;
  --d-sans: Arial, 'Liberation Sans', Helvetica, sans-serif;
  --vp-sans: var(--tx-sans, 'IBM Plex Sans'), Arial, sans-serif;
}
.tx { --tx-hdr: 66px; --tx-gap: 24px; display: flex; flex-direction: column; height: clamp(560px, calc(100vh - var(--tx-hdr) - var(--tx-gap)), 1000px); }
@supports (height: 100dvh) { .tx { height: clamp(560px, calc(100dvh - var(--tx-hdr) - var(--tx-gap)), 1000px); } }
.tx-head { flex: none; }
.tx-body { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; }
.tx-panel { flex: 1 1 auto; min-height: 0; flex-direction: column; overflow: hidden; }
.tx-panel:not([hidden]) { display: flex; }
.tx-panel > * { flex: none; }
.tx-panel > .xw, .tx-panel > .pp-win, .tx-panel > .xl-win { flex: 1 1 auto; min-height: 0; }
@media (min-width: 881px) {
  .tx { --tx-hdr: 4.125rem; --tx-k: 0.95; height: auto; width: calc(min(100%, calc((100vh - var(--tx-hdr) - var(--tx-gap)) * 16 / 9)) * var(--tx-k)); margin-inline: auto; }
  @supports (height: 100dvh) { .tx { width: calc(min(100%, calc((100dvh - var(--tx-hdr) - var(--tx-gap)) * 16 / 9)) * var(--tx-k)); } }
  .tx-panel { flex: none; }
  .tx-panel > .xw, .tx-panel > .pp-win, .tx-panel > .xl-win { flex: none; width: 100%; aspect-ratio: 16 / 9; height: auto !important; min-height: 0 !important; }
}
.tx-panel:fullscreen { width: 100vw; height: 100vh; background: #fff; display: flex; flex-direction: column; }
.tx-panel:fullscreen > .xw, .tx-panel:fullscreen > .pp-win, .tx-panel:fullscreen > .xl-win { flex: 1 1 auto; width: 100%; aspect-ratio: auto; min-height: 0 !important; }
.tx-panel .xl-win { height: auto !important; min-height: 0 !important; border-radius: 0; box-shadow: none; }
.tx-panel .xw, .tx-panel .pp-win { display: flex; flex-direction: column; }
.tx-panel .xw > *, .tx-panel .pp-win > * { flex: none; }
.tx-panel .xw > .xw-desk { flex: 1 1 auto; height: auto !important; min-height: 120px; }
.tx-panel .pp-win > .pp-body { flex: 1 1 auto; min-height: 0; grid-template-rows: minmax(0, 1fr); }
.tx-panel .pp-rail { max-height: none; min-height: 0; }
.tx-panel .pp-main { display: flex; flex-direction: column; min-height: 0; min-width: 0; }
.tx-panel .pp-main > * { flex: none; }
.tx-panel .pp-main > .pp-stage { flex: 1 1 auto; height: auto !important; min-height: 0; overflow: auto; align-items: safe center; justify-content: safe center; }
.tx-panel .pp-stage.is-zoomed { display: block; }
@media (max-width: 1180px) {
  .tx-hint { display: none; }
  .tx-tab { gap: 10px; padding: 11px 12px 12px; }
}
@media (max-width: 960px) {
  .tx-btn.tx-dl { padding: 0 1rem; }
  .tx-tab-d { display: none; }
}
@media (max-width: 767.98px) {
  .txd { --txd-line: 64px; }
  .tx { border-radius: 8px; font-size: 13.5px; height: clamp(520px, calc(100vh - 82px), 900px); }
  @supports (height: 100dvh) { .tx { height: clamp(520px, calc(100dvh - 82px), 900px); } }
  .tx-head { grid-template-columns: minmax(0, 1fr); padding: 8px 8px 0; }
  .tx-tabs { gap: 4px; }
  .tx-tab { flex-direction: column; justify-content: flex-start; gap: 5px; padding: 9px 4px 10px; text-align: center; }
  .tx-tab[aria-selected="true"] { padding-bottom: 11px; }
  .tx-tab-app { width: 24px; height: 24px; }
  .tx-tab-t { align-items: center; }
  .tx-tab-l { font-size: 13px; line-height: 16px; white-space: normal; }
  .tx-tools { order: 2; grid-row: 2; margin: 0 -8px; padding: 8px; background: #fff; border-top: 1px solid var(--tx-rule); }
  .tx-btn.tx-dl { width: 100%; height: 44px; }
  .tx-bar { padding: .45rem .5rem; }
  .tx-bar .tx-btn span { display: none; }
  .tx-bar .tx-btn { width: 32px; padding: 0; }
  .tx-bar-c .tx-zoomlbl, .tx-bar-c .tx-ibtn { display: none; }
  .tx-jump { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .tx * { transition: none !important; animation: none !important; }
  .tx-tab, .txd-ln, .txd-hd { transition: none; }
  .txd-pulse { display: none; }
}
@page tx-letter { size: 8.5in 11in; margin: 0; }
@page tx-slide { size: 11in 8.5in; margin: 0; }
.tx-print {
  --tx-ink: #172C39; --tx-ink2: #2a2e34; --tx-muted: #5f6975; --tx-rule: #dcdfe2; --tx-navy: #17394B; --tx-focus: #d5ab30;
  --tx-sans: var(--sans, 'IBM Plex Sans', system-ui, sans-serif); --tx-serif: var(--serif, 'Newsreader', Georgia, serif); --tx-mono: var(--mono, 'IBM Plex Mono', monospace);
  color: var(--tx-ink); font-family: var(--tx-sans); -webkit-print-color-adjust: exact; print-color-adjust: exact;
}
.tx-print * { box-sizing: border-box; }
@media screen {
  .tx-print { display: flex; flex-direction: column; align-items: center; gap: 24px; padding: 24px 0; background: #d5d9dd; }
  .tx-print .tx-ppage, .tx-print .tx-pslide { box-shadow: 0 1px 3px rgba(0, 0, 0, .12), 0 10px 28px -10px rgba(0, 0, 0, .3); background: #fff; }
}
@media print {
  .tx-print { display: block; padding: 0; background: none; }
  .tx-print .tx-ppage, .tx-print .tx-pslide { box-shadow: none; margin: 0; }
  .tx-print .tx-ppage:last-child, .tx-print .tx-pslide:last-child { break-after: auto; }
}
@keyframes tx-reveal-k {
  0% { background-color: rgba(255, 233, 110, 0); box-shadow: 0 0 0 0 rgba(255, 226, 90, 0); }
  5% { background-color: rgba(255, 233, 110, .55); box-shadow: 0 0 0 5px rgba(255, 226, 90, .4); }
  72% { background-color: rgba(255, 233, 110, .42); box-shadow: 0 0 0 5px rgba(255, 226, 90, .3); }
  100% { background-color: rgba(255, 233, 110, 0); box-shadow: 0 0 0 0 rgba(255, 226, 90, 0); }
}
.tx .tx-reveal { animation: tx-reveal-k 8.4s ease-out 1; border-radius: 2px; }
@media (prefers-reduced-motion: reduce) {
  .tx .tx-reveal { animation: none !important; background-color: rgba(255, 233, 110, .45); box-shadow: 0 0 0 4px rgba(255, 226, 90, .35); }
}
#tour-deliverables, .tx, #tour-explorer { scroll-margin-top: 78px; }
.tx-panel:fullscreen > .tx-bar { display: none !important; }
