.powerpoint-shortcut > img { width: 46px; height: 46px; }
.powerpoint-window {
  position: absolute;
  left: clamp(18px, 7vw, 108px);
  top: clamp(10px, 3.7vh, 34px);
  width: min(1160px, calc(100% - 44px));
  height: min(760px, calc(100% - 48px));
  min-width: 570px;
  min-height: 390px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 2px solid #1654b6;
  border-top: 0;
  border-radius: 8px 8px 0 0;
  background: #e8e8e8;
  box-shadow: 4px 6px 18px #0007;
  z-index: 6;
  color: #333;
  font: 12px "Segoe UI", Tahoma, Arial, sans-serif;
  resize: both;
  max-width: 100%;
  max-height: calc(100% - 31px);
}
.powerpoint-window.maximized {
  inset: 0 0 31px !important;
  width: 100% !important;
  height: calc(100% - 31px) !important;
  border-radius: 0;
  resize: none;
}
/* Compact Office 2010 header, matching the supplied Insert-ribbon reference. */
.ppt-titlebar { position: relative; height: 26px; flex-shrink: 0; padding: 2px 4px; border-radius: 5px 5px 0 0; color: #283345; background: linear-gradient(#66738f 0%,#c1cbda 18%,#e1e7ee 65%,#d5deeb); box-shadow: inset 0 1px #e6edf7; touch-action: none; }
.ppt-titlebar > img { width: 17px; height: 17px; }
.ppt-titlebar #ppt-window-title { position: absolute; left: 180px; right: 180px; text-align: center; color: #293346; text-shadow: 0 1px #ffffff80; font: 11px Tahoma,Arial,sans-serif; pointer-events: none; }
.ppt-titlebar .window-controls { z-index: 1; align-self: flex-start; margin-top: -2px; }
.ppt-titlebar .window-controls button { height: 20px; width: 27px; border: 1px solid #8e9eaf; border-radius: 0 0 3px 3px; background: linear-gradient(#e6ecf4,#aebed3); color: #4f6177; box-shadow: inset 0 1px #f4f7fc; }
.ppt-titlebar .window-controls .close-window { width: 38px; color: white; background: linear-gradient(#e1a18a,#c64d28); text-shadow: 0 1px #8a351c; font-size: 20px; }
.ppt-titlebar .minimize-glyph { border-color: #55677c; border-bottom-width: 2px; height: 10px; }
.ppt-titlebar .maximize-glyph { border-color: #55677c; width: 11px; height: 10px; border-top-width: 2px; }
.ppt-app-shell { position: relative; display: flex; flex: 1; min-height: 0; flex-direction: column; background: #f2f2f2; }
.ppt-topline { height: 28px; display: flex; align-items: flex-end; flex-shrink: 0; gap: 0; background: linear-gradient(#d8e0ed,#f2f5fa); border-bottom: 1px solid #b2bdcc; white-space: nowrap; }
.ppt-quick-access { height: 20px; display: flex; align-items: center; gap: 1px; padding-left: 4px; }
.ppt-quick-access button { width: 21px; height: 20px; padding: 1px; border: 1px solid transparent; border-radius: 2px; background: none; color: #52719c; font: 17px Arial; }
.ppt-quick-access svg { width: 14px; height: 14px; }
.ppt-quick-access > span { font-size: 10px; color: #66748a; padding-left: 4px; }
.ppt-quick-access button:hover { border-color: #e4ab5c; background: #fff3d8; }
.ppt-file-tab { height: 27px; min-width: 48px; border: 1px solid #bd6a2f; border-bottom: 0; border-radius: 3px 3px 0 0; padding: 0 13px; color: white; text-shadow: 0 1px #ae5b28; background: linear-gradient(#f5b66c,#e98732 45%,#dc7428); font-size: 11px; font-weight: 600; }
.ppt-file-tab:hover { background: #ee9b45; }
.ppt-tabs { height: 28px; display: flex; align-items: flex-end; padding-left: 2px; flex: 1; min-width: 0; }
.ppt-tabs button { height: 27px; padding: 0 13px; background: transparent; border: 1px solid transparent; border-bottom: 0; color: #4b4b4e; font: 11px Tahoma,Arial,sans-serif; }
.ppt-tabs button:hover { background: #fff5e4; color: #8d501c; }
.ppt-tabs button.active { border: 1px solid #afb9c8; border-bottom: 1px solid #fff; border-radius: 3px 3px 0 0; background: linear-gradient(#fff,#fafbfc); height: 27px; margin-bottom: -1px; color: #30333b; box-shadow: inset 0 1px #fff; }
.ppt-ribbon-help { height: 17px; width: 17px; padding: 0; align-self: center; margin: 0 8px; border: 1px solid #4b76a5; border-radius: 50%; background: linear-gradient(#85b7e4,#4276ae); color: #fff; font: bold 11px Arial; box-shadow: inset 0 1px #bdddf5; }
.ppt-ribbon { display: flex; align-items: stretch; flex-shrink: 0; height: 85px; overflow-x: auto; overflow-y: hidden; padding: 4px 5px 0; background: linear-gradient(#fff 0%, #f9fafc 70%, #e8edf3); border-bottom: 1px solid #aeb9c9; }
.ppt-ribbon-group { position: relative; display: flex; flex-direction: column; justify-content: center; min-width: 63px; padding: 0 7px 13px; border-right: 1px solid #ddd; }
.ppt-ribbon-group:last-child { border-right: 0; }
.ppt-ribbon-items { height: 67px; display: flex; align-items: center; justify-content: center; gap: 4px; }
.ppt-ribbon-label { position: absolute; left: 0; right: 0; bottom: 0; height: 15px; text-align: center; font-size: 9px; line-height: 14px; color: #777; }
.ppt-command { min-width: 42px; height: 49px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; padding: 2px 4px; border: 1px solid transparent; border-radius: 2px; background: transparent; color: #555; font-size: 9px; line-height: 11px; white-space: nowrap; }
.ppt-command:hover { border-color: #e3a27d; background: #fff3e7; color: #9d3c13; }
.ppt-command-icon { color: #d66027; font: 19px "Segoe UI Symbol", Arial, sans-serif; line-height: 22px; }
.ppt-command-large { min-width: 51px; height: 62px; font-size: 10px; }
.ppt-command-large .ppt-command-icon { font-size: 27px; }
.ppt-command-stack { display: flex; flex-direction: column; gap: 0; }
.ppt-command-stack .ppt-command { min-width: 88px; height: 16px; flex-direction: row; justify-content: flex-start; padding: 0 4px; font-size: 8px; }
.ppt-command-stack .ppt-command-icon { width: 18px; text-align: center; font-size: 14px; line-height: 16px; }
.ppt-ribbon-group.wide { min-width: 137px; }
.ppt-ribbon-group.font-group { min-width: 170px; }
.ppt-ribbon-group.paragraph-group { min-width: 160px; }
.ppt-ribbon-group.drawing-group { min-width: 135px; }
.ppt-ribbon-group.editing-group { min-width: 125px; }
.ppt-ribbon-group.illustration-group { min-width: 232px; }
.ppt-ribbon-group.themes-group { min-width: 290px; }
.ppt-ribbon-group.transition-group { min-width: 390px; }
.ppt-ribbon-group.animation-group { min-width: 395px; }
.ppt-ribbon-group.views-group { min-width: 240px; }
.ppt-font-row, .ppt-format-row { display: flex; align-items: center; gap: 4px; }
.ppt-font-row { margin-bottom: 3px; }
.ppt-font-row select { height: 22px; border: 1px solid #bcbcbc; background: white; color: #444; font-size: 10px; }
.ppt-font-row select:first-child { width: 105px; }
.ppt-font-row select:last-child { width: 44px; }
.ppt-format-row button { min-width: 23px; height: 24px; background: transparent; border: 1px solid transparent; color: #555; font-size: 12px; }
.ppt-format-row button:hover { border-color: #e3a27d; background: #fff3e7; }
.ppt-font-color { border-bottom: 3px solid #d94f1c !important; font-weight: bold; }
.ppt-ribbon-group label { display: flex; align-items: center; gap: 5px; margin: 3px 0; font-size: 10px; color: #555; }
.ppt-ribbon-group label select, .ppt-ribbon-group label input[type="number"] { height: 20px; border: 1px solid #bbb; background: white; color: #444; font-size: 10px; }
.ppt-ribbon-group label input[type="checkbox"] { accent-color: #e46b2a; }
.ppt-small-input { width: 29px; }
.ppt-theme-row { display: flex; gap: 8px; align-items: center; }
.ppt-theme-swatch { width: 56px; height: 58px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; border: 1px solid transparent; background: transparent; color: #555; font-size: 9px; }
.ppt-theme-swatch i { display: block; width: 43px; height: 31px; background: linear-gradient(90deg,#e86e2c 0 23%,white 23%); border: 1px solid #b9b9b9; box-shadow: 1px 1px 2px #aaa; }
.ppt-theme-swatch.blue i { background: linear-gradient(90deg,#3d70a9 0 23%,white 23%); }
.ppt-theme-swatch.green i { background: linear-gradient(90deg,#709344 0 23%,white 23%); }
.ppt-theme-swatch.purple i { background: linear-gradient(90deg,#89618f 0 23%,white 23%); }
.ppt-theme-swatch.selected, .ppt-theme-swatch:hover { border-color: #e57333; background: #fff4ea; }
.ppt-transition-row, .ppt-animation-row { display: flex; gap: 4px; align-items: center; }
.ppt-transition-row button, .ppt-animation-row button { height: 45px; min-width: 54px; padding: 3px 6px; border: 1px solid #d3d3d3; background: linear-gradient(white,#f4f4f4); color: #555; font-size: 9px; }
.ppt-transition-row button.selected, .ppt-animation-row button.selected, .ppt-transition-row button:hover, .ppt-animation-row button:hover { border-color: #e16d2b; background: #fff4ea; color: #a34018; }
.ppt-editor { display: flex; flex: 1; min-height: 0; }
.ppt-slide-pane { width: 171px; flex-shrink: 0; display: flex; flex-direction: column; background: #f7f7f7; border-right: 1px solid #c4c4c4; }
.ppt-pane-heading { height: 27px; display: flex; align-items: center; justify-content: space-between; padding: 0 8px 0 14px; color: #666; font-size: 11px; }
.ppt-pane-heading button { width: 23px; height: 22px; border: 1px solid transparent; background: transparent; color: #dd6428; font-size: 18px; }
.ppt-pane-heading button:hover { border-color: #e2a27e; background: #fff1e4; }
.ppt-slide-list { flex: 1; min-height: 0; overflow: auto; padding: 5px 6px 15px; }
.ppt-slide-thumb { position: relative; width: 100%; min-height: 94px; display: flex; align-items: center; gap: 6px; padding: 5px; border: 1px solid transparent; background: transparent; text-align: left; }
.ppt-slide-thumb:hover { background: #fdf4e9; }
.ppt-slide-thumb.selected { border-color: #e78446; background: #fff2e6; }
.ppt-thumb-number { width: 15px; align-self: flex-start; padding-top: 4px; text-align: center; color: #777; font-size: 10px; }
.ppt-thumb-canvas { width: 112px; height: 74px; display: flex; flex-direction: column; justify-content: center; padding: 12px 9px; overflow: hidden; background: white; border: 1px solid #aaa; box-shadow: 1px 2px 3px #0002; }
.ppt-thumb-canvas.cover { border: 5px solid #e86e2c; }
.ppt-thumb-canvas b { overflow: hidden; max-height: 22px; color: #4a4a4a; font: bold 8px Arial,sans-serif; white-space: nowrap; text-overflow: ellipsis; }
.ppt-thumb-canvas i { overflow: hidden; margin-top: 6px; color: #999; font: normal 6px Arial,sans-serif; white-space: nowrap; text-overflow: ellipsis; }
.ppt-work-area { display: flex; flex: 1; min-width: 0; min-height: 0; flex-direction: column; background: #d8d8d8; }
.ppt-ruler { height: 19px; display: flex; justify-content: space-around; flex-shrink: 0; padding: 1px 9%; background: #eee; border-bottom: 1px solid #ccc; color: #777; font: 9px/17px Arial,sans-serif; }
.ppt-stage { display: grid; flex: 1; min-height: 0; place-items: center; overflow: auto; padding: 12px; background: linear-gradient(135deg,#e2e2e2,#d3d3d3); }
.ppt-slide { position: relative; width: min(var(--ppt-slide-width, 580px), 88%); aspect-ratio: 4 / 3; overflow: hidden; background: white; border: 1px solid #aaa; box-shadow: 0 3px 12px #0004; }
.ppt-slide[data-theme="blue"] { --ppt-accent: #4478ad; --ppt-accent-dark: #284e78; }
.ppt-slide[data-theme="green"] { --ppt-accent: #78984d; --ppt-accent-dark: #4d6830; }
.ppt-slide[data-theme="purple"] { --ppt-accent: #8a6792; --ppt-accent-dark: #5c4063; }
.ppt-slide[data-theme="orange"] { --ppt-accent: #e86e2c; --ppt-accent-dark: #b54417; }
/* Angles-style orange master: layered gradients and warm paper, as in Office 2010. */
.ppt-cover-slide { border: 1px solid #a8a29a; padding: 0; background: #faf8f0; }
.ppt-theme-art { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.ppt-theme-art i { position: absolute; display: block; width: 100%; left: 0; margin: 0; }
.ppt-theme-art i:nth-child(1) { top: 0; height: 29%; background: linear-gradient(118deg,var(--ppt-accent-dark,#bc4c18),var(--ppt-accent,#ec8a2c) 60%,#f2bc64); clip-path: polygon(0 0,100% 0,100% 38%,0 100%); }
.ppt-theme-art i:nth-child(2) { top: 0; height: 30%; background: linear-gradient(105deg,#f6d090,var(--ppt-accent,#ec8a2c) 65%,var(--ppt-accent-dark,#bc4c18)); clip-path: polygon(0 0,78% 0,0 87%); filter: drop-shadow(1px 2px 2px #62270455); }
.ppt-theme-art i:nth-child(3) { bottom: 0; height: 6%; background: linear-gradient(105deg,var(--ppt-accent-dark,#bc4c18),var(--ppt-accent,#ec8a2c) 63%,#f4d6a6); clip-path: polygon(0 0,100% 76%,100% 100%,0 100%); }
.ppt-cover-panel { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; padding: 31% 10% 16%; background: transparent; }
.ppt-cover-panel::before { content: none; }
.ppt-cover-kicker { position: absolute; top: 36%; left: 10%; color: var(--ppt-accent-dark,#bc4c18); font: 9px Arial,sans-serif; letter-spacing: 2px; }
.ppt-placeholder { outline: 1px dashed transparent; min-width: 35px; white-space: pre-wrap; overflow-wrap: anywhere; position: relative; z-index: 1; }
.ppt-placeholder[contenteditable] { outline: none; padding: 9px; }
.ppt-placeholder:empty::before { content: attr(data-placeholder); color: #6b625a; }
.ppt-placeholder:focus { outline: none; background: transparent; }
.ppt-slide-title { color: #51463c; font: 30px/1.17 Calibri,Arial,sans-serif; }
.ppt-slide-subtitle { margin-top: 18px; color: #7d7267; font: 18px/1.35 Calibri,Arial,sans-serif; }
.ppt-cover-rule { width: 70px; height: 2px; margin: 22px 9px 0; background: linear-gradient(90deg,var(--ppt-accent-dark,#bc4c18),#edb36a); }
.ppt-cover-footer { position: absolute; left: 11%; right: 10%; bottom: 10%; color: #93877a; font: 8px Arial,sans-serif; }
.ppt-cover-footer span { color: var(--ppt-accent,#ec8a2c); padding: 0 6px; }
.ppt-content-slide { padding: 0; background: #faf8f0; }
.ppt-content-slide .ppt-theme-art i:nth-child(1) { height: 13%; }
.ppt-content-slide .ppt-theme-art i:nth-child(2) { height: 15%; }
.ppt-content-slide .ppt-theme-art i:nth-child(3) { height: 4%; }
.ppt-content-heading { position: absolute; left: 9%; right: 9%; top: 17%; display: flex; align-items: center; gap: 0; min-height: 28%; padding: 0 0 12px; border-bottom: 0; }
.ppt-slide-mark { display: none; }
.ppt-content-slide .ppt-slide-title { flex: 1; align-self: center; font-size: 26px; line-height: 1.15; color: var(--ppt-accent-dark,#bc4c18); }
.ppt-content-slide .ppt-slide-title.ppt-long-title { font-size: 20px; line-height: 1.2; }
.ppt-slide-body { position: absolute; left: 9%; right: 9%; top: 49%; bottom: 14%; display: flex; flex-direction: column; justify-content: center; min-height: 0; margin: 0; padding: 8px 10px; color: #5f574e; font: 19px/1.5 Calibri,Arial,sans-serif; text-align: center; white-space: pre-line; }
.ppt-slide-body::first-line { color: var(--ppt-accent-dark,#bc4c18); font-weight: bold; letter-spacing: .4px; }
.ppt-content-footer { position: absolute; left: 9%; right: 9%; bottom: 7%; display: flex; justify-content: space-between; color: #a29789; font: 8px Arial,sans-serif; letter-spacing: 1px; }
.ppt-content-footer span:last-child { color: var(--ppt-accent,#ec8a2c); }
.ppt-notes { height: 54px; display: flex; align-items: flex-start; gap: 12px; flex-shrink: 0; padding: 8px 13px; border-top: 1px solid #c6c6c6; background: #f4f4f4; }
.ppt-notes label { padding-top: 4px; color: #777; font-size: 10px; white-space: nowrap; }
.ppt-notes textarea { flex: 1; min-width: 0; height: 36px; resize: none; border: 1px solid transparent; background: transparent; outline: 0; color: #555; font: 10px Arial,sans-serif; }
.ppt-notes textarea:focus { border-color: #dfa07d; background: white; }
.ppt-statusbar { height: 25px; display: flex; align-items: center; gap: 15px; flex-shrink: 0; padding: 0 8px; border-top: 1px solid #bbb; background: #e6e6e6; color: #666; font-size: 9px; }
.ppt-statusbar button { height: 21px; min-width: 24px; border: 1px solid transparent; background: transparent; color: #666; }
.ppt-statusbar button:hover { border-color: #df9f78; background: #fff5ec; }
.ppt-status-spacer { flex: 1; }
.ppt-zoom-label { margin-left: 8px; color: #777; }
.ppt-statusbar input[type="range"] { width: 100px; height: 15px; accent-color: #df6b2d; }
.ppt-toast { position: absolute; right: 18px; bottom: 38px; z-index: 40; padding: 8px 13px; border: 1px solid #ac5b2e; border-radius: 3px; background: #fff4e9; box-shadow: 1px 3px 9px #0003; color: #713914; font-size: 11px; }
.ppt-backstage { position: absolute; inset: 0; z-index: 30; display: grid; grid-template-columns: 204px 1fr; background: #fff; box-shadow: 0 0 8px #0003; }
.ppt-backstage-menu { display: flex; flex-direction: column; padding: 20px 0; background: #df6227; color: white; }
.ppt-backstage-brand { padding: 4px 22px 22px; font-weight: bold; font-size: 18px; }
.ppt-backstage-menu button { height: 39px; padding: 0 22px; border: 0; background: transparent; color: white; text-align: left; }
.ppt-backstage-menu button:hover, .ppt-backstage-menu button.selected { background: #fff; color: #c14e1a; }
.ppt-backstage-menu button:last-child { margin-top: auto; border-top: 1px solid #f4a078; }
.ppt-backstage-main { padding: 40px 7%; overflow: auto; color: #555; }
.ppt-backstage-main h1 { margin: 0 0 12px; color: #bd4f1e; font-size: 28px; font-weight: 400; }
.ppt-backstage-main > p { margin: 0 0 27px; font-size: 16px; }
.ppt-info-card { max-width: 540px; padding: 14px 18px; border-bottom: 1px solid #ddd; }
.ppt-info-card b { color: #454545; font-size: 14px; }
.ppt-info-card p { margin: 5px 0 0; color: #777; font-size: 11px; }
.ppt-backstage-details { display: grid; grid-template-columns: repeat(2,minmax(120px,200px)); gap: 12px 25px; max-width: 540px; margin-top: 25px; color: #777; font-size: 10px; }
.ppt-presenter { position: absolute; inset: 0; z-index: 35; display: flex; align-items: center; justify-content: center; gap: 20px; background: #202020; }
#ppt-presenter-slide { display: grid; place-items: center; width: 80%; height: 85%; }
#ppt-presenter-slide .ppt-slide { width: min(84%,850px); }
#ppt-presenter-slide .ppt-placeholder { pointer-events: none; }
.ppt-presenter button { position: absolute; border: 1px solid #ffffff55; border-radius: 3px; background: #333; color: white; }
.ppt-exit-show { top: 14px; right: 17px; padding: 7px 11px; font-size: 11px; }
.ppt-prev-slide, .ppt-next-slide { top: 50%; width: 35px; height: 52px; transform: translateY(-50%); font: 35px Arial; }
.ppt-prev-slide { left: 13px; }
.ppt-next-slide { right: 13px; }
.ppt-presenter-count { position: absolute; right: 18px; bottom: 11px; color: #ddd; font-size: 11px; }
.powerpoint-task img { width: 18px; height: 18px; }
@media (max-width: 900px) {
  .powerpoint-window { left: 12px; width: calc(100% - 24px); min-width: 0; height: calc(100% - 44px); }
  .ppt-help-search { display: none; }
  .ppt-account { display: none; }
  .ppt-ribbon-group.drawing-group, .ppt-ribbon-group.editing-group { display: none; }
  .ppt-tabs button { padding: 0 6px; font-size: 10px; }
  .ppt-slide-pane { width: 135px; }
  .ppt-slide { width: min(var(--ppt-slide-width, 580px),96%); }
}
@media (max-width: 600px) {
  .powerpoint-window { left: 0; top: 0; width: 100%; height: calc(100% - 31px); border-radius: 0; }
  .ppt-topline { height: 31px; overflow: hidden; }
  .ppt-quick-access { padding: 0 3px; }
  .ppt-quick-access button { width: 19px; font-size: 15px; }
  .ppt-file-tab { min-width: 39px; padding: 0 7px; }
  .ppt-tabs { overflow-x: auto; }
  .ppt-tabs button { padding: 0 5px; font-size: 9px; }
  .ppt-ribbon { height: 75px; overflow-x: auto; }
  .ppt-ribbon-group { min-width: 57px !important; }
  .ppt-ribbon-group.font-group { min-width: 150px !important; }
  .ppt-ribbon-group.themes-group { min-width: 250px !important; }
  .ppt-ribbon-group.transition-group, .ppt-ribbon-group.animation-group { min-width: 330px !important; }
  .ppt-slide-pane { width: 100px; }
  .ppt-slide-thumb { min-height: 73px; padding: 2px; gap: 2px; }
  .ppt-thumb-number { width: 10px; font-size: 8px; }
  .ppt-thumb-canvas { width: 78px; height: 54px; padding: 6px 4px; }
  .ppt-thumb-canvas.cover { border-width: 3px; }
  .ppt-thumb-canvas b { font-size: 6px; }
  .ppt-thumb-canvas i { font-size: 5px; }
  .ppt-stage { padding: 5px; }
  .ppt-slide { width: min(var(--ppt-slide-width, 580px),98%); }
  .ppt-cover-panel { padding-left: 25%; }
  .ppt-cover-kicker { left: 25%; }
  .ppt-slide-title { font-size: 18px; }
  .ppt-slide-subtitle { margin-top: 8px; font-size: 12px; }
  .ppt-slide-body { font-size: 11px; }
  .ppt-statusbar { gap: 5px; padding: 0 4px; }
  .ppt-statusbar span:nth-child(2), .ppt-statusbar button[data-ppt-action="spellcheck"] { display: none; }
  .ppt-statusbar input[type="range"] { width: 58px; }
}

.ppt-ribbon[data-tab="Insert"] { gap: 0; padding: 4px 3px 0; }
.ppt-ribbon[data-tab="Insert"] .ppt-ribbon-group { min-width: 0 !important; flex-shrink: 0; padding: 0 5px 13px; }
.ppt-ribbon[data-tab="Insert"] .ppt-ribbon-items { height: 64px; align-items: flex-start; gap: 0; }
.ppt-ribbon[data-tab="Insert"] .ppt-command { position: relative; min-width: 44px; width: 45px; height: 63px; justify-content: flex-start; padding: 0 2px; border-radius: 2px; gap: 3px; color: #40454c; font: 10px/12px Tahoma,Arial,sans-serif; }
.ppt-ribbon-icon { height: 27px; width: 27px; flex-shrink: 0; filter: drop-shadow(0 1px 0 #fff); }
.ppt-ribbon[data-tab="Insert"] .ppt-command-caption { min-height: 24px; text-align: center; }
.ppt-ribbon[data-tab="Insert"] .ppt-command-arrow { position: absolute; bottom: 1px; left: 0; right: 0; text-align: center; font-size: 8px; }
.ppt-ribbon[data-tab="Insert"] .insert-images .ppt-command { width: 54px; }
.ppt-ribbon[data-tab="Insert"] .insert-illustrations .ppt-command { width: 50px; }
.ppt-ribbon[data-tab="Insert"] .insert-links .ppt-command { width: 49px; color: #8a8b8b; }
.ppt-ribbon[data-tab="Insert"] .insert-links .ppt-ribbon-icon { opacity: .66; }
.ppt-ribbon[data-tab="Insert"] .insert-text .ppt-command { width: 47px; }
.ppt-ribbon[data-tab="Insert"] .insert-symbols .ppt-command { width: 48px; }
.ppt-ribbon[data-tab="Insert"] .insert-media .ppt-command { width: 44px; }
.ppt-ribbon-label { color: #6c7380; font: 9px/14px Tahoma,Arial,sans-serif; }
.ppt-ribbon-group.font-group .ppt-ribbon-items { flex-wrap: wrap; }
.ppt-thumb-canvas { position: relative; background: #faf8f0; }
.ppt-thumb-canvas.cover { border: 1px solid #a8a29a; padding: 26px 9px 7px; }
.ppt-thumb-canvas.content { padding-top: 20px; }
.ppt-thumb-canvas > b,.ppt-thumb-canvas > i { position: relative; z-index: 1; color: #63564a; }
.ppt-thumb-canvas > b { font-size: 7px; }
.ppt-thumb-canvas > i { color: #9c8c7a; font-size: 5px; }
.ppt-thumb-canvas[data-theme="orange"],.ppt-slide[data-theme="orange"] { --ppt-accent: #e7892c; --ppt-accent-dark: #b34c1d; }
.ppt-thumb-canvas[data-theme="blue"] { --ppt-accent: #4478ad; --ppt-accent-dark: #284e78; }
.ppt-thumb-canvas[data-theme="green"] { --ppt-accent: #78984d; --ppt-accent-dark: #4d6830; }
.ppt-thumb-canvas[data-theme="purple"] { --ppt-accent: #8a6792; --ppt-accent-dark: #5c4063; }
.ppt-theme-swatch i { background: linear-gradient(155deg,#d66f25 0 30%,#f0c47f 30% 34%,#faf8f0 34% 95%,#cc702f 95%); }
.ppt-theme-swatch.blue i { background: linear-gradient(155deg,#4478ad 0 32%,#faf8f0 32% 95%,#4478ad 95%); }
.ppt-theme-swatch.green i { background: linear-gradient(155deg,#78984d 0 32%,#faf8f0 32% 95%,#78984d 95%); }
.ppt-theme-swatch.purple i { background: linear-gradient(155deg,#8a6792 0 32%,#faf8f0 32% 95%,#8a6792 95%); }
#ppt-theme-name { color: #8d5f3e; }
@media(max-width:600px) { .ppt-titlebar #ppt-window-title { left: 110px; right: 100px; font-size: 9px; } .ppt-topline { height:28px; } .ppt-tabs button { padding:0 7px; } .ppt-ribbon[data-tab="Insert"] { height:85px; } .ppt-cover-panel { padding:31% 9% 13%; } .ppt-cover-kicker { left:10%; } .ppt-thumb-canvas.cover { border-width:1px; padding:17px 5px 4px; } .ppt-slide-title { font-size:19px; } .ppt-slide-subtitle { font-size:12px; margin-top:9px; } }

.ppt-thumb-canvas.content .ppt-theme-art i:nth-child(1) { height: 13%; }
.ppt-thumb-canvas.content .ppt-theme-art i:nth-child(2) { height: 15%; }
.ppt-thumb-canvas.content .ppt-theme-art i:nth-child(3) { height: 4%; }

/* NBS presentation palette: clean slides with the supplied brand colors. */
.ppt-slide[data-theme="nbs"], .ppt-thumb-canvas[data-theme="nbs"] {
  --ppt-accent: #1E9171;
  --ppt-accent-dark: #945A39;
  background: #fffdf9;
}
[data-theme="nbs"] .ppt-theme-art i:nth-child(1) {
  background: #945A39;
  clip-path: polygon(0 0,100% 0,100% 27%,0 100%);
}
[data-theme="nbs"] .ppt-theme-art i:nth-child(2) {
  background: #1E9171;
  clip-path: polygon(0 0,64% 0,0 78%);
  filter: none;
}
[data-theme="nbs"] .ppt-theme-art i:nth-child(3) {
  background: #1E9171;
  clip-path: polygon(65% 0,100% 0,100% 100%,0 100%);
}
.ppt-slide[data-theme="nbs"] .ppt-content-heading { top: 20%; min-height: 30%; }
.ppt-slide[data-theme="nbs"] .ppt-slide-title { font-size: 28px; font-weight: 600; line-height: 1.2; }
.ppt-slide[data-theme="nbs"] .ppt-slide-title.ppt-long-title { font-size: 23px; line-height: 1.25; }
.ppt-slide[data-theme="nbs"] .ppt-slide-body {
  top: 55%; bottom: 18%; color: #945A39; text-align: left;
  font-size: 18px; line-height: 1.55; justify-content: center;
}
.ppt-slide[data-theme="nbs"] .ppt-content-footer { color: #945A39; }
.ppt-slide[data-theme="nbs"] .ppt-content-footer span:last-child { color: #1E9171; }
.ppt-theme-swatch.nbs i { background: linear-gradient(155deg,#1E9171 0 16%,#945A39 16% 32%,#fffdf9 32% 95%,#1E9171 95%); }
.ppt-thumb-canvas[data-theme="nbs"] > b { color: #945A39; }
.ppt-thumb-canvas[data-theme="nbs"] > i { color: #1E9171; }
@media(max-width:600px) {
  .ppt-slide[data-theme="nbs"] .ppt-slide-title { font-size: 20px; }
  .ppt-slide[data-theme="nbs"] .ppt-slide-title.ppt-long-title { font-size: 16px; }
  .ppt-slide[data-theme="nbs"] .ppt-slide-body { font-size: 12px; }
}

/* Session summaries sit between the heading and a compact presenter credit. */
.ppt-slide.ppt-has-description .ppt-content-heading { top: 16%; min-height: 20%; padding-bottom: 0; }
.ppt-slide-description { position: absolute; left: 9%; right: 9%; top: 39%; margin: 0; color: #55483f; font: 16px/1.5 Calibri,Arial,sans-serif; }
.ppt-slide.ppt-has-description .ppt-slide-body { top: 81%; bottom: 8%; justify-content: flex-start; font-size: 12px; line-height: 1.4; color: #1E9171; }
.ppt-slide.ppt-has-description .ppt-content-footer { bottom: 4%; }
@media(max-width:600px) {
  .ppt-slide-description { font-size: 10px; line-height: 1.4; }
  .ppt-slide.ppt-has-description .ppt-slide-body { font-size: 8px; }
}

/* Photo sessions use a balanced text-and-image layout. */
.ppt-slide.ppt-has-photo .ppt-content-heading { top: 14%; min-height: 18%; }
.ppt-slide.ppt-has-photo .ppt-slide-title { font-size: 25px; }
.ppt-slide.ppt-has-photo .ppt-slide-description { top: 35%; right: 44%; font-size: 14px; line-height: 1.5; }
.ppt-session-photo { position: absolute; left: 59%; top: 33%; width: 34%; height: 56%; object-fit: contain; object-position: right center; }
.ppt-slide.ppt-has-photo .ppt-slide-body { top: 85%; right: 44%; bottom: 6%; font-size: 11px; }
@media(max-width:600px) {
  .ppt-slide.ppt-has-photo .ppt-slide-title { font-size: 17px; }
  .ppt-slide.ppt-has-photo .ppt-slide-description { font-size: 9px; line-height: 1.4; }
  .ppt-slide.ppt-has-photo .ppt-slide-body { font-size: 7px; }
}

.ppt-slide.ppt-photo-only .ppt-content-heading { top: 22%; right: 49%; min-height: 25%; }
.ppt-slide.ppt-photo-only .ppt-slide-title { font-size: 25px; }
.ppt-slide.ppt-photo-only .ppt-slide-title.ppt-long-title { font-size: 21px; }
.ppt-photo-only .ppt-session-photo { left: 53%; top: 16%; width: 40%; height: 73%; }
.ppt-slide.ppt-photo-only .ppt-slide-body { top: 58%; right: 49%; bottom: 18%; font-size: 16px; line-height: 1.5; }
@media(max-width:600px) {
 .ppt-slide.ppt-photo-only .ppt-slide-title { font-size: 17px; }
 .ppt-slide.ppt-photo-only .ppt-slide-title.ppt-long-title { font-size: 14px; }
 .ppt-slide.ppt-photo-only .ppt-slide-body { font-size: 10px; }
}

.ppt-slide.ppt-landscape-photo .ppt-content-heading { top: 14%; right: 9%; min-height: 12%; }
.ppt-landscape-photo .ppt-session-photo { left: 9%; top: 28%; width: 82%; height: 54%; object-position: center; }
.ppt-slide.ppt-landscape-photo .ppt-slide-body { top: 84%; right: 9%; bottom: 4%; font-size: 12px; line-height: 1.35; text-align: center; }
.ppt-slide.ppt-landscape-photo .ppt-content-footer { bottom: 3%; }
@media(max-width:600px) { .ppt-slide.ppt-landscape-photo .ppt-slide-body { font-size: 8px; } }

.ppt-slide .ppt-slide-body{font-weight:700}
.ppt-slide.ppt-long-description:not(.ppt-has-photo) .ppt-slide-title.ppt-long-title{font-size:21px;line-height:1.2}
.ppt-slide.ppt-long-description:not(.ppt-has-photo) .ppt-slide-description{font-size:15px;line-height:1.4}
@media(max-width:600px){.ppt-slide.ppt-long-description:not(.ppt-has-photo) .ppt-slide-title.ppt-long-title{font-size:15px}.ppt-slide.ppt-long-description:not(.ppt-has-photo) .ppt-slide-description{font-size:9px;line-height:1.4}}

.ppt-slide.ppt-landscape-photo.ppt-has-description .ppt-slide-description{top:35%;right:49%;font-size:14px;line-height:1.5}
.ppt-slide.ppt-landscape-photo.ppt-has-description .ppt-session-photo{left:53%;top:33%;width:40%;height:46%}
.ppt-slide.ppt-landscape-photo.ppt-has-description .ppt-slide-body{top:83%;right:9%;bottom:4%;font-size:12px}
@media(max-width:600px){.ppt-slide.ppt-landscape-photo.ppt-has-description .ppt-slide-description{font-size:9px;line-height:1.4}.ppt-slide.ppt-landscape-photo.ppt-has-description .ppt-slide-body{font-size:8px}}

/* Keep long session summaries readable beside portrait photos. */
.ppt-slide.ppt-has-photo.ppt-long-description:not(.ppt-landscape-photo) .ppt-content-heading{top:7%;min-height:22%}
.ppt-slide.ppt-has-photo.ppt-long-description:not(.ppt-landscape-photo) .ppt-slide-title.ppt-long-title{font-size:18px;line-height:1.12}
.ppt-slide.ppt-has-photo.ppt-long-description:not(.ppt-landscape-photo) .ppt-slide-description{top:35%;right:46%;font-size:11px;line-height:1.4}
.ppt-slide.ppt-has-photo.ppt-long-description:not(.ppt-landscape-photo) .ppt-session-photo{left:58%;top:31%;width:34%;height:56%;object-fit:cover;object-position:center 38%}
@media(max-width:600px){.ppt-slide.ppt-has-photo.ppt-long-description:not(.ppt-landscape-photo) .ppt-slide-description{font-size:7px;line-height:1.35}}

/* Consistent green presenter credits on every slide and theme. */
.ppt-slide[data-theme] .ppt-slide-body,.ppt-slide[data-theme] .ppt-slide-body::first-line{color:#1E9171}

.ppt-slide.ppt-landscape-photo.ppt-long-description .ppt-slide-description{font-size:11px;line-height:1.34}
@media(max-width:600px){.ppt-slide.ppt-landscape-photo.ppt-long-description .ppt-slide-description{font-size:7px;line-height:1.3}}

.ppt-session-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(0,2fr) minmax(0,3fr);gap:3px}
.ppt-session-gallery img{width:100%;height:100%;min-height:0;object-fit:contain}
.ppt-session-gallery img:first-child{grid-column:1 / -1}

.ppt-session-gallery[data-photo-count="2"]{grid-template-rows:minmax(0,1fr)}
.ppt-session-gallery[data-photo-count="2"] img:first-child{grid-column:auto}
