/* GrabSauce webapps — /apology-letter/ ([gs_apology_letter]) and /sales-meeting/ ([gs_sales_meeting]).
 * Loaded after css/emoji-generator.css, which supplies the shared chrome and
 * the --gs-* tokens on .gs-emoji. Only the webapp-specific bits live here, plus
 * the queue display and the run bar that all five tool pages share. */

/* The input box is shorter: the options sit under it. */
.gs-webapp textarea[data-gs-input] { min-height: 150px; flex: 0 0 auto; }

/* Output is mostly plain text with some ASCII (letterhead, KPI chart, bingo):
   keep it monospace and small enough that 30 columns fit a phone. */
.gs-emoji textarea.gs-webapp__output { font-size: 15px; line-height: 1.45; min-height: 420px; }

.gs-webapp__field { border: 0; margin: 16px 0 0; padding: 0; min-width: 0; }
.gs-webapp .gs-webapp__q {
    display: block;
    color: var(--gs-orange);
    font-weight: 700;
    font-size: 14px;
    margin: 0 0 8px;
    padding: 0;
    float: none;
    width: auto;
    text-align: left;
}
.gs-webapp__val { color: var(--gs-teal); font-weight: 700; margin-left: 6px; }

/* "Who's upset?" chips: the mode pills, smaller */
.gs-webapp__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.gs-webapp__chips legend { width: 100%; }
.gs-webapp__chip label { padding: 6px 12px; font-size: 13px; }
.gs-emoji input.gs-webapp__text {
    width: 100%;
    margin: 6px 0 0;
    background: var(--gs-navy-darkest);
    color: #f5f5f5;
    border: 1px solid var(--gs-muted);
    border-radius: 8px;
    padding: 9px 12px;
    font-family: 'Courier New', monospace;
    font-size: 15px;
}
.gs-emoji input.gs-webapp__text::placeholder { color: var(--gs-dim); }
.gs-emoji input.gs-webapp__text:focus { outline: none; border-color: var(--gs-orange); box-shadow: 0 0 0 2px rgba(231, 127, 36, 0.25); }

/* 0-4 sliders */
.gs-webapp__range { width: 100%; margin: 0; accent-color: var(--gs-orange); cursor: pointer; }
.gs-webapp__range:focus-visible { outline: 2px solid var(--gs-teal); outline-offset: 4px; }
.gs-webapp__ends { display: flex; justify-content: space-between; color: var(--gs-dim); font-size: 12px; margin-top: 2px; }

/* Extras checkboxes */
.gs-webapp__checks { border: 0; margin: 16px 0 0; padding: 0; min-width: 0; display: flex; flex-wrap: wrap; gap: 6px 16px; }
.gs-webapp__checks legend { width: 100%; }
.gs-webapp__check { display: inline-flex; gap: 6px; align-items: center; color: var(--gs-grey); font-size: 14px; cursor: pointer; }
.gs-webapp__check input { accent-color: var(--gs-orange); width: 16px; height: 16px; margin: 0; }

/* Queue: "#3 in line · ~60 s" + a little line of people. Plain spans, not
   <pre>: style.css forces pre to 7px on phones. */
.gs-webapp__queue {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px 12px;
    margin: 12px 0 0;
    padding: 10px 14px;
    border: 1px dashed var(--gs-orange);
    border-radius: 8px;
    background: rgba(231, 127, 36, 0.06);
    font-family: 'Courier New', monospace;
}
.gs-webapp__queue[hidden] { display: none; }
.gs-webapp__queue-pos { color: var(--gs-orange); font-size: 34px; font-weight: 700; line-height: 1; }
.gs-webapp__queue-meta { color: #fff; font-size: 14px; }
.gs-webapp__queue-line { flex-basis: 100%; color: var(--gs-teal); font-size: 14px; letter-spacing: 1px; white-space: normal; word-break: break-all; }

.gs-emoji button.gs-webapp__local { margin-top: 10px; white-space: normal; text-align: left; border-color: var(--gs-teal); color: var(--gs-teal); }
.gs-emoji button.gs-webapp__local[hidden] { display: none; }

/* Translators + emoji (js/gs-box-tool.js): the in-browser model is the fallback,
   tucked into a "run it in your browser" box under the AI note. */
.gs-box-local { margin: 12px 0 0; color: var(--gs-grey); font-size: 14px; }
.gs-box-local[hidden] { display: none; }
.gs-box-local > summary { cursor: pointer; color: var(--gs-teal); }
.gs-box-local__why { margin: 8px 0 0; padding: 0; color: var(--gs-dim); font-size: 13px; }

@media (max-width: 767px) {
    .gs-emoji textarea.gs-webapp__output { font-size: 13px; min-height: 360px; }
}

/* ==== Run bar (all 5 tool pages) ============================================
 * ONE main button, top middle: [data-gs-ai-run] = run / re-run, Stop while busy
 * (data-gs-state="stop"), Instant while the AI box is offline (data-gs-state=
 * "instant"). In line at #1-#5 the queue sits under the button; further back
 * (.gs-run--long, set by GSBoxTool.queueView) it is "⚡ Instant" on the left,
 * "You're #7 in line" in the middle, Stop on the right. Markup: gs_tool_markup().
 * ========================================================================== */
.gs-run { max-width: 820px; margin: 0 auto 28px; text-align: center; }
.gs-run[hidden] { display: block; } /* never hidden: it is the only way to run */
.gs-run__bar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    grid-template-areas: "left main right" "queue queue queue";
    align-items: center;
    gap: 12px 16px;
}
.gs-emoji button.gs-run__main {
    grid-area: main;
    font-size: 18px;
    padding: 14px 30px;
    min-width: 240px;
    box-shadow: 0 0 0 4px rgba(231, 127, 36, 0.15);
    transition: background .15s, color .15s, border-color .15s;
}
.gs-emoji button.gs-run__main[data-gs-state="stop"] { background: var(--gs-navy-darkest); border-color: var(--gs-orange); color: var(--gs-orange); box-shadow: none; }
.gs-emoji button.gs-run__main[data-gs-state="stop"]:hover { background: var(--gs-navy-mid); color: #fff; }
.gs-emoji button.gs-run__main[data-gs-state="instant"] { background: var(--gs-teal); border-color: var(--gs-teal); color: var(--gs-navy); box-shadow: 0 0 0 4px rgba(46, 196, 182, 0.15); }
.gs-emoji button.gs-run__main[data-gs-state="instant"]:hover { background: #26a89c; border-color: #26a89c; }
.gs-emoji button.gs-run__instant {
    grid-area: left;
    justify-self: end;
    font-size: 16px;
    padding: 12px 20px;
    border-color: var(--gs-teal);
    color: var(--gs-teal);
}
.gs-emoji button.gs-run__instant:hover { background: rgba(46, 196, 182, 0.12); border-color: var(--gs-teal); }
.gs-emoji button.gs-run__instant[hidden] { display: none; }
.gs-run .gs-run__queue { grid-area: queue; justify-self: center; margin: 0; justify-content: center; text-align: left; }
.gs-run__queue .gs-webapp__queue-who { color: var(--gs-grey); font-size: 14px; }
/* Near the front: a small line under the button. */
.gs-run:not(.gs-run--long) .gs-webapp__queue-pos { font-size: 22px; }
.gs-run:not(.gs-run--long) .gs-webapp__queue-line { display: none; }
/* Far back: Instant | count | Stop */
.gs-run--long .gs-run__bar { grid-template-areas: "left queue main"; }
.gs-emoji .gs-run--long button.gs-run__main { justify-self: start; min-width: 0; }
.gs-run--long .gs-run__queue { max-width: 320px; }
.gs-emoji .gs-run p.gs-run__note {
    color: var(--gs-grey);
    font-size: 13px;
    line-height: 1.5;
    margin: 12px auto 0;
    padding: 0;
    max-width: 640px;
    min-height: 1.5em;
}
.gs-run__progress { display: block; width: 100%; max-width: 420px; height: 10px; margin: 10px auto 0; accent-color: var(--gs-orange); }
.gs-run__progress[hidden] { display: none; }

@media (max-width: 767px) {
    .gs-run { margin-bottom: 22px; }
    .gs-run__bar { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-areas: "main main" "queue queue"; gap: 10px; }
    .gs-emoji button.gs-run__main { width: 100%; min-width: 0; font-size: 17px; }
    .gs-run--long .gs-run__bar { grid-template-areas: "queue queue" "left main"; }
    .gs-emoji .gs-run--long button.gs-run__main, .gs-emoji .gs-run--long button.gs-run__instant { justify-self: stretch; width: 100%; padding: 12px 10px; }
    .gs-run--long .gs-run__queue { max-width: none; width: 100%; }
}
/* ==== end run bar ==== */

/* ==== apology letter: letterhead form + paper preview (js/apology-letter.js) ==== */
.gs-apology__brand { display: flex; flex-direction: column; }
.gs-apology__lbl { display: block; color: var(--gs-grey); font-size: 13px; margin: 8px 0 0; }
.gs-apology__brand .gs-apology__lbl:first-of-type { margin-top: 0; }
.gs-apology__logo-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin: 10px 0 0; }
/* The file input stays focusable; its label is the button you see. */
.gs-apology__file { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; clip: rect(0 0 0 0); }
/* A <label> dressed as the shared .gs-emoji__btn (that style targets <button> only). */
.gs-emoji label.gs-apology__logo-btn {
    display: inline-block; margin: 0; cursor: pointer;
    font-family: 'Courier New', monospace; font-size: 14px; font-weight: 700; line-height: 1.2;
    border-radius: 8px; padding: 10px 16px; border: 1px solid var(--gs-teal); background: transparent; color: var(--gs-teal);
}
.gs-emoji label.gs-apology__logo-btn:hover { border-color: var(--gs-orange); color: #fff; }
.gs-apology__file:focus-visible + label.gs-apology__logo-btn { outline: 2px solid var(--gs-teal); outline-offset: 3px; }
.gs-apology__thumb { max-height: 40px; max-width: 120px; background: #fff; border-radius: 4px; padding: 3px; }
.gs-apology__thumb[hidden], .gs-emoji button.gs-apology__logo-remove[hidden] { display: none; }
.gs-apology__hint { flex-basis: 100%; color: var(--gs-dim); font-size: 12px; }
.gs-apology__signer { display: grid; grid-template-columns: 1fr 1fr; gap: 0 10px; margin: 6px 0 0; }

/* The textarea the engine writes to is kept for Copy/Share, off screen. */
.gs-emoji textarea.gs-apology__plain { position: absolute; left: -9999px; width: 1px; height: 1px; min-height: 0; opacity: 0; }

/* The paper: a white US Letter-ish sheet. Serif body, sans letterhead. */
.gs-apology__paper {
    position: relative;
    background: #fff;
    color: #1a1a2e;
    border-radius: 3px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(255, 255, 255, 0.06);
    padding: 34px 38px 22px;
    margin: 12px 0 0;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 15px;
    line-height: 1.5;
    min-height: 520px;
    display: flex;
    flex-direction: column;
    overflow-wrap: anywhere;
}
.gs-apology__paper p { margin: 0 0 10px; padding: 0; color: inherit; font-size: inherit; line-height: inherit; }
.gs-apology__head { display: flex; align-items: center; gap: 14px; }
.gs-apology__logo { max-height: 60px; max-width: 150px; object-fit: contain; flex: 0 0 auto; }
.gs-apology__mono {
    flex: 0 0 auto;
    width: 54px; height: 54px;
    border-radius: 50%;
    background: #1a1a2e;
    box-shadow: inset 0 0 0 3px #1a1a2e, inset 0 0 0 4px #e77f24;
    color: #fff;
    font: 700 19px/54px Helvetica, Arial, sans-serif;
    text-align: center;
}
.gs-apology__co { min-width: 0; font-family: Helvetica, Arial, sans-serif; }
.gs-apology__co-name { font-size: 21px; font-weight: 700; line-height: 1.15; color: #1a1a2e; }
.gs-apology__co-office { font-size: 10px; font-weight: 700; letter-spacing: 1.4px; text-transform: uppercase; color: #c9661a; margin: 3px 0 2px; }
.gs-apology__co-addr { font-size: 10px; color: #6e6e7d; line-height: 1.4; }
.gs-apology__rule { border-top: 2px solid #1a1a2e; border-bottom: 1px solid #e77f24; height: 3px; margin: 14px 0 18px; }
.gs-apology__meta { display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.gs-apology__paper p.gs-apology__subject { font-weight: 700; margin: 10px 0 14px; }
.gs-apology__body { white-space: pre-line; }
.gs-apology__paper p.gs-apology__placeholder { color: #8a8a98; font-style: italic; }
.gs-apology__sig { position: relative; margin: 6px 0 0; }
.gs-apology__paper .gs-apology__sig p { margin: 0; }
/* The signature: the signer's name in a script font (SIL OFL, fonts/mrs-saint-delafield-OFL.txt),
   self-hosted like Open Sans. Only fetched when a signed letter is on screen. */
@font-face {
    font-family: 'GS Signature';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(../fonts/mrs-saint-delafield.ttf) format('truetype');
}
/* JS (fitAutograph) shrinks the span to fit the line. */
.gs-apology__autograph { max-width: 340px; margin: 2px 0 -6px; white-space: nowrap; }
.gs-apology__autograph span {
    display: inline-block;
    padding: 0 6px 0 4px;
    font: 400 2.25em/1.35 'GS Signature', 'Brush Script MT', 'Segoe Script', cursive;
    color: #1f3a93;
    transform: rotate(-3deg);
    transform-origin: 0 70%;
}
.gs-apology__paper p.gs-apology__name { font-weight: 700; }
.gs-apology__paper p.gs-apology__title { font-style: italic; }
.gs-apology__paper p.gs-apology__ps { font-style: italic; margin-top: 14px; }
.gs-apology__paper p.gs-apology__fine {
    margin: auto 0 0;
    padding: 12px 0 0;
    border-top: 1px solid #d8d8e0;
    font: 9px/1.45 Helvetica, Arial, sans-serif;
    color: #7a7a88;
    text-align: center;
}
.gs-apology__sig + .gs-apology__fine, .gs-apology__ps + .gs-apology__fine, .gs-apology__body + .gs-apology__fine { margin-top: 22px; }
.gs-emoji button.gs-apology__pdf:disabled { opacity: 0.5; cursor: not-allowed; }
.gs-apology__pdf-note { margin: 8px 0 0; padding: 0; color: var(--gs-teal); font-size: 13px; min-height: 0; }
.gs-apology__pdf-note:empty { display: none; }

@media (max-width: 767px) {
    .gs-apology__signer { grid-template-columns: 1fr; }
    .gs-apology__paper { padding: 20px 16px 14px; font-size: 13px; min-height: 420px; }
    .gs-apology__head { gap: 10px; }
    .gs-apology__logo { max-height: 44px; max-width: 96px; }
    .gs-apology__mono { width: 42px; height: 42px; font-size: 15px; line-height: 42px; }
    .gs-apology__co-name { font-size: 16px; }
    .gs-apology__co-office, .gs-apology__co-addr { font-size: 9px; }
    .gs-apology__rule { margin: 10px 0 14px; }
    .gs-apology__paper p.gs-apology__fine { font-size: 8px; }
}
/* ==== end apology letter ==== */

/* ==== sales meeting: form + slide deck (js/sales-meeting.js) ==== */

/* Company, topic and logo sit above "the bad news" (the panel is a flex column). */
.gs-emoji--sales .gs-sales__top { order: -1; margin: 0 0 16px; }
.gs-emoji--sales .gs-sales__top .gs-webapp__field:first-child { margin-top: 0; }
.gs-emoji--sales textarea[data-gs-input] { min-height: 120px; }
.gs-sales__opt { color: var(--gs-dim); font-weight: 400; font-size: 12px; }
.gs-sales__logo-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.gs-sales__logo-preview { width: 56px; height: 56px; object-fit: contain; background: #fff; border-radius: 8px; padding: 4px; }
.gs-sales__logo-preview[hidden], .gs-emoji button.gs-sales__logo-rm[hidden] { display: none; }
.gs-emoji input.gs-sales__file { color: var(--gs-grey); font-family: 'Courier New', monospace; font-size: 13px; max-width: 100%; }
.gs-emoji input.gs-sales__file::file-selector-button {
    font: 700 13px 'Courier New', monospace; color: var(--gs-grey); background: transparent;
    border: 1px solid var(--gs-muted); border-radius: 8px; padding: 8px 12px; margin-right: 10px; cursor: pointer;
}
.gs-emoji input.gs-sales__file::file-selector-button:hover { border-color: var(--gs-orange); color: #fff; }
.gs-emoji button.gs-sales__logo-rm { padding: 6px 10px; font-size: 13px; }
.gs-emoji .gs-sales__logo-msg { color: var(--gs-teal); font-size: 13px; margin: 6px 0 0; padding: 0; min-height: 1em; }
.gs-emoji textarea.gs-sales__notes { min-height: 220px; font-size: 14px; }

/* Right-hand panel: the slide text (js/sales-meeting.js script()); typing redraws the deck. */
.gs-emoji__panel--side { border-color: var(--gs-teal); }
.gs-emoji textarea.gs-sales__script { min-height: 420px; font-size: 14px; line-height: 1.45; white-space: pre-wrap; }
.gs-emoji textarea.gs-sales__script[readonly] { color: var(--gs-grey); }
.gs-emoji textarea.gs-sales__script[readonly]:focus { border-color: var(--gs-muted); box-shadow: 0 0 0 2px rgba(46, 196, 182, 0.35); }
.gs-emoji button.gs-emoji__btn[data-gs-script-reset][hidden] { display: none; }
.gs-webapp__script-msg { color: var(--gs-teal); font-size: 13px; min-height: 1em; }
.gs-emoji .gs-webapp__help { margin: 12px 0 0; color: var(--gs-grey); font-size: 13px; line-height: 1.5; }
.gs-emoji .gs-webapp__help > summary { cursor: pointer; color: var(--gs-orange); font-weight: 700; }
.gs-emoji .gs-webapp__help > summary:focus-visible { outline: 2px solid var(--gs-teal); outline-offset: 2px; }
.gs-emoji .gs-webapp__help ul { margin: 8px 0 0; padding: 0 0 0 18px; }
.gs-emoji .gs-webapp__help li { margin: 0 0 6px; padding: 0; font-size: 13px; }
.gs-emoji .gs-webapp__help code { background: var(--gs-navy-darkest); color: #f5f5f5; padding: 1px 4px; border-radius: 4px; font-size: 12px; }
/* Apology letter: the letter as plain text, under the paper (js/apology-letter.js letterScript()). */
.gs-apology__edit { margin-top: 20px; padding-top: 16px; border-top: 1px dashed var(--gs-muted); display: flex; flex-direction: column; }
.gs-emoji textarea.gs-apology__script { min-height: 340px; font-size: 14px; line-height: 1.45; white-space: pre-wrap; flex: 0 0 auto; }
.gs-emoji textarea.gs-apology__script[readonly] { color: var(--gs-grey); }
.gs-emoji textarea.gs-apology__script[readonly]:focus { border-color: var(--gs-muted); box-shadow: 0 0 0 2px rgba(46, 196, 182, 0.35); }
/* Speaker notes: under everything, after the deck and the stats line. */
.gs-emoji__below { margin: 24px 0 0; }

/* ---- the deck chrome ---- */
.gs-deck { margin: 24px 0 0; }
.gs-deck *, .gs-deck *::before, .gs-deck *::after { box-sizing: border-box; }
.gs-deck__bar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 0 0 10px; }
.gs-deck__label { color: var(--gs-orange, #e77f24); font-weight: 700; font-size: 15px; }
.gs-deck__badge { color: var(--gs-teal, #2ec4b6); font-size: 13px; }
.gs-deck__badge[hidden] { display: none; }
.gs-deck__tools { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-left: auto; }
.gs-deck__count { color: #fff; font-size: 14px; min-width: 4.5em; text-align: center; }
.gs-emoji .gs-deck__tools button.gs-emoji__btn { padding: 8px 12px; }
.gs-deck__hint { color: var(--gs-dim, #8a8aaa); font-size: 12px; margin: 8px 0 0; padding: 0; }
.gs-deck__screen { position: relative; border-radius: 10px; outline: none; touch-action: pan-y; cursor: pointer; user-select: none; -webkit-user-select: none; }
.gs-deck__screen:focus-visible { box-shadow: 0 0 0 2px var(--gs-teal, #2ec4b6); }
.gs-deck__frame {
    position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden;
    container-type: inline-size; border-radius: 10px; background: #fff;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.45);
}
.gs-deck__fsbar { display: none; }

/* Full screen: the Fullscreen API, or (iPhone Safari) the screen pinned over the page. */
.gs-deck__screen:fullscreen, .gs-deck__screen:-webkit-full-screen, .gs-deck__screen.is-pseudo-full {
    position: fixed; inset: 0; z-index: 2147483000; width: 100%; height: 100%; max-width: none;
    display: flex; align-items: center; justify-content: center; background: #000; border-radius: 0;
}
.gs-deck__screen:fullscreen .gs-deck__frame, .gs-deck__screen:-webkit-full-screen .gs-deck__frame, .gs-deck__screen.is-pseudo-full .gs-deck__frame {
    width: min(100vw, 177.78vh); border-radius: 0; box-shadow: none;
}
@supports (height: 100dvh) {
    .gs-deck__screen.is-pseudo-full .gs-deck__frame { width: min(100vw, calc(100dvh * 16 / 9)); }
}
/* Presenter buttons: hidden until the mouse moves or the screen is tapped (js: .show-ui). */
.gs-deck__screen:fullscreen .gs-deck__fsbar, .gs-deck__screen:-webkit-full-screen .gs-deck__fsbar, .gs-deck__screen.is-pseudo-full .gs-deck__fsbar {
    display: flex; position: absolute; right: 12px; bottom: 12px; gap: 6px; align-items: center;
    padding: 6px; border-radius: 10px; background: rgba(0, 0, 0, 0.7); opacity: 0; transition: opacity .3s;
    font: 700 14px 'Courier New', monospace; color: #fff;
}
.gs-deck__screen.show-ui .gs-deck__fsbar, .gs-deck__screen .gs-deck__fsbar:hover, .gs-deck__screen .gs-deck__fsbar:focus-within { opacity: 1; }
.gs-deck__screen:fullscreen:not(.show-ui), .gs-deck__screen.is-pseudo-full:not(.show-ui) { cursor: none; }
.gs-deck__fsbar button {
    font: 700 14px 'Courier New', monospace; color: #fff; background: transparent; border: 1px solid rgba(255, 255, 255, 0.4);
    border-radius: 8px; padding: 8px 12px; cursor: pointer; line-height: 1;
}
.gs-deck__fsbar button:disabled { opacity: 0.35; cursor: default; }
.gs-deck__fsbar span { padding: 0 6px; }
html.gs-deck-locked, html.gs-deck-locked body { overflow: hidden; }

/* ---- slides: designed at 16:9, sized in cqw (1cqw = 1% of the slide width) ---- */
.gs-deck {
    --s-bg: #ffffff; --s-ink: #1d2a44; --s-muted: #5b6b86; --s-accent: #1f5fbf; --s-accent2: #f28c28; --s-real: #c0392b;
    --s-p4: #2a9d8f; --s-p5: #8e9aaf; --s-card: rgba(31, 95, 191, 0.06); --s-panel: rgba(255, 255, 255, 0.9);
    --s-title-bg: linear-gradient(135deg, #10284f, #1f5fbf); --s-title-ink: #ffffff; --s-rule: #1f5fbf;
    --s-font: 'Segoe UI', Calibri, 'Helvetica Neue', Arial, sans-serif; --s-head: 'Segoe UI', Calibri, 'Helvetica Neue', Arial, sans-serif;
}
.gs-deck[data-theme="startup"] {
    --s-bg: linear-gradient(140deg, #140b2e, #3a1c71 60%, #7a2e6e); --s-ink: #ffffff; --s-muted: #c9b8ec; --s-accent: #ff8fab; --s-accent2: #ffd166; --s-real: #8ecae6;
    --s-p4: #b5e48c; --s-p5: #cdb4db; --s-card: rgba(255, 255, 255, 0.08); --s-panel: rgba(20, 11, 46, 0.84);
    --s-title-bg: linear-gradient(140deg, #3a1c71, #d76d77 70%, #ffaf7b); --s-title-ink: #ffffff; --s-rule: #ffd166;
    --s-font: 'Helvetica Neue', Inter, Arial, sans-serif; --s-head: 'Helvetica Neue', Inter, Arial, sans-serif;
}
.gs-deck[data-theme="retro"] {
    --s-bg: linear-gradient(#bfe2ff, #ffffff 70%); --s-ink: #000080; --s-muted: #336; --s-accent: #008000; --s-accent2: #ff6600; --s-real: #cc0000;
    --s-p4: #9900cc; --s-p5: #00a0c0; --s-card: rgba(255, 255, 255, 0.75); --s-panel: rgba(255, 255, 255, 0.92);
    --s-title-bg: radial-gradient(circle at 50% 40%, #ffffff, #9fd3ff 70%, #3c8dde); --s-title-ink: #000080; --s-rule: #ff6600;
    --s-font: 'Comic Sans MS', 'Comic Neue', 'Chalkboard SE', cursive; --s-head: Impact, 'Arial Black', sans-serif;
}
.gs-deck .gs-slide {
    position: absolute; inset: 0; display: flex; flex-direction: column; overflow: hidden;
    background: var(--s-bg); color: var(--s-ink); font-family: var(--s-font); text-align: left;
    padding: 4.5cqw 6cqw 7cqw; font-size: 2.3cqw; line-height: 1.35;
}
.gs-deck .gs-slide[hidden] { display: none; }
.gs-deck .gs-slide__body { flex: 1; display: flex; flex-direction: column; min-height: 0; }
.gs-deck .gs-slide h1, .gs-deck .gs-slide h2, .gs-deck .gs-slide p, .gs-deck .gs-slide ul, .gs-deck .gs-slide ol, .gs-deck .gs-slide li {
    margin: 0; padding: 0; color: inherit; font-family: inherit; letter-spacing: normal; text-transform: none; border: 0; background: none;
}
.gs-deck .gs-slide h2.gs-slide__h {
    font-family: var(--s-head); font-size: 3.6cqw; font-weight: 700; line-height: 1.15; color: var(--s-ink);
    padding-bottom: 1.2cqw; margin-bottom: 2.4cqw; border-bottom: 0.35cqw solid var(--s-rule);
}
.gs-deck .gs-slide__h s { opacity: 0.55; }
.gs-deck .gs-slide ul.gs-slide__list, .gs-deck .gs-slide ol.gs-slide__list {
    list-style: none; display: flex; flex-direction: column; justify-content: center; gap: 3cqw; flex: 1; padding-bottom: 2cqw;
}
.gs-deck .gs-slide__list li { position: relative; padding-left: 4.4cqw; font-size: 2.9cqw; line-height: 1.3; }
/* Edited slides can have more items: shrink to fit (js list(): >4 dense, >7 packed). */
.gs-deck .gs-slide .gs-slide__list.is-dense { gap: 1.6cqw; }
.gs-deck .gs-slide .gs-slide__list.is-dense > li { font-size: 2.3cqw; }
.gs-deck .gs-slide .gs-slide__list.is-packed { gap: 0.9cqw; }
.gs-deck .gs-slide .gs-slide__list.is-packed > li { font-size: 1.8cqw; }
.gs-deck .gs-slide__list li::before {
    content: ''; position: absolute; left: 0.6cqw; top: 0.75cqw; width: 1.3cqw; height: 1.3cqw; border-radius: 0.3cqw; background: var(--s-accent);
}
.gs-deck .gs-slide__list--wins li::before { content: '✓'; background: none; color: var(--s-accent); font-weight: 900; top: 0; width: auto; height: auto; font-size: 2.6cqw; }
.gs-deck .gs-slide__list--agenda { counter-reset: gsag; }
.gs-deck .gs-slide ol.gs-slide__list--agenda { gap: 1.9cqw; }
.gs-deck .gs-slide__list--agenda li { counter-increment: gsag; padding-left: 6cqw; font-size: 2.6cqw; }
.gs-deck .gs-slide__list--agenda li::before {
    content: counter(gsag); width: 4.2cqw; height: 4.2cqw; top: -0.4cqw; left: 0; border-radius: 50%;
    display: flex; align-items: center; justify-content: center; color: #fff; font-weight: 700; font-size: 2.2cqw;
}
.gs-deck .gs-slide__list--fixes li { display: grid; grid-template-columns: minmax(0, 1fr) 4cqw minmax(0, 1.3fr); align-items: stretch; padding-left: 0; font-size: 2.6cqw; }
.gs-deck .gs-slide__list--fixes li::before { display: none; }
.gs-deck .gs-slide__was, .gs-deck .gs-slide__list--fixes strong { display: flex; align-items: center; padding: 1.6cqw 2cqw; border-radius: 1.2cqw; }
.gs-deck .gs-slide__was {
    color: var(--s-muted); background: rgba(127, 127, 127, 0.12); text-decoration-thickness: 0.25cqw; text-decoration-color: var(--s-real);
}
.gs-deck .gs-slide__arrow { display: flex; align-items: center; justify-content: center; color: var(--s-accent2); font-weight: 900; font-size: 3.4cqw; }
.gs-deck .gs-slide__list--fixes strong { color: var(--s-accent); font-weight: 700; border: 0.3cqw solid var(--s-accent); }
.gs-deck .gs-slide__list--fixes strong:only-child { grid-column: 1 / -1; }
.gs-deck .gs-slide__list--next li::before { content: '→'; background: none; color: var(--s-accent2); font-weight: 900; top: 0; width: auto; height: auto; font-size: 2.6cqw; }

/* Title slide */
.gs-deck .gs-slide--title, .gs-deck .gs-slide--empty { background: var(--s-title-bg); color: var(--s-title-ink); }
.gs-deck .gs-slide--title .gs-slide__body, .gs-deck .gs-slide--empty .gs-slide__body, .gs-deck .gs-slide--close .gs-slide__body {
    align-items: center; justify-content: center; text-align: center; gap: 1.4cqw;
}
.gs-deck .gs-slide h1.gs-slide__title {
    font-family: var(--s-head); font-size: 4.8cqw; font-weight: 800; line-height: 1.1; color: inherit; max-width: 85cqw;
}
.gs-deck[data-theme="retro"] .gs-slide h1.gs-slide__title {
    background: linear-gradient(180deg, #ffe600, #ff6a00 55%, #d40000); -webkit-background-clip: text; background-clip: text; color: transparent;
    -webkit-text-stroke: 0.12cqw #600; filter: drop-shadow(0.4cqw 0.4cqw 0 rgba(0, 0, 80, 0.45)); transform: perspective(40cqw) rotateX(12deg);
    font-weight: 400; letter-spacing: 0.1cqw;
}
.gs-deck .gs-slide p.gs-slide__company { font-size: 2.2cqw; font-weight: 700; letter-spacing: 0.3cqw; text-transform: uppercase; opacity: 0.9; }
.gs-deck .gs-slide p.gs-slide__sub { font-size: 2.1cqw; opacity: 0.9; }
.gs-deck .gs-slide p.gs-slide__by { font-size: 1.6cqw; opacity: 0.7; font-style: italic; }
.gs-deck .gs-slide--empty .gs-slide__body { border: 0.3cqw dashed currentColor; border-radius: 2cqw; opacity: 0.85; }

/* Logos: the visitor's image, or a monogram when there's none */
.gs-deck .gs-slide__logo--img { display: block; object-fit: contain; }
.gs-deck .gs-slide__logo--big.gs-slide__logo--img { max-width: 34cqw; max-height: 13cqw; background: rgba(255, 255, 255, 0.92); padding: 1cqw; border-radius: 1.2cqw; }
.gs-deck .gs-slide__logo--mono {
    display: inline-flex; align-items: center; justify-content: center; border-radius: 50%;
    background: var(--s-accent2); color: #fff; font-family: var(--s-head); font-weight: 800; line-height: 1;
}
.gs-deck .gs-slide__logo--big.gs-slide__logo--mono { width: 11cqw; height: 11cqw; font-size: 4.4cqw; box-shadow: 0 0 0 0.5cqw rgba(255, 255, 255, 0.35); }
.gs-deck .gs-slide__logo--small.gs-slide__logo--img { height: 3.2cqw; max-width: 12cqw; background: rgba(255, 255, 255, 0.92); padding: 0.3cqw; border-radius: 0.5cqw; }
.gs-deck .gs-slide__logo--small.gs-slide__logo--mono { width: 3cqw; height: 3cqw; font-size: 1.2cqw; }

/* Footer on every slide */
.gs-deck .gs-slide__footer {
    position: absolute; left: 6cqw; right: 6cqw; bottom: 2cqw; display: flex; align-items: center; gap: 1.4cqw;
    font-size: 1.25cqw; color: inherit; opacity: 0.75; font-family: var(--s-font);
}
.gs-deck .gs-slide__co { font-weight: 700; }
.gs-deck .gs-slide__conf { margin-left: auto; letter-spacing: 0.1cqw; }
.gs-deck .gs-slide__num { min-width: 5cqw; text-align: right; }

/* Buzzword sticker */
.gs-deck .gs-slide__sticker {
    position: absolute; top: 3cqw; right: 4cqw; transform: rotate(9deg); padding: 0.8cqw 1.6cqw; border-radius: 0.8cqw;
    background: #ffe14d; color: #c1121f; font: 900 1.9cqw/1 Impact, 'Arial Black', sans-serif; letter-spacing: 0.1cqw;
    box-shadow: 0 0.4cqw 0 rgba(0, 0, 0, 0.25);
}

/* Chart slide */
.gs-deck .gs-slide__chart { display: block; width: 100%; height: 28cqw; margin: 0 auto; overflow: hidden; }
.gs-deck .gs-chart__grid { stroke: currentColor; stroke-opacity: 0.12; stroke-width: 2; }
.gs-deck .gs-chart__axis { stroke: currentColor; stroke-opacity: 0.5; stroke-width: 2; }
.gs-deck .gs-chart__bar { fill: var(--s-accent); }
.gs-deck .gs-chart__bar--last { fill: var(--s-accent2); }
.gs-deck .gs-chart__val { fill: currentColor; font: 700 24px var(--s-font); }
.gs-deck .gs-chart__val--off { fill: #fff; font-size: 22px; }
.gs-deck .gs-chart__x { fill: currentColor; fill-opacity: 0.75; font: 400 22px var(--s-font); }
.gs-deck .gs-chart__real { fill: none; stroke: var(--s-real); stroke-width: 4; stroke-dasharray: 10 8; stroke-linecap: round; }
.gs-deck .gs-slide p.gs-slide__legend { display: flex; gap: 3cqw; font-size: 1.5cqw; margin-top: 0.6cqw; justify-content: center; }
.gs-deck .gs-slide__key::before { content: ''; display: inline-block; vertical-align: middle; margin-right: 0.8cqw; }
.gs-deck .gs-slide__key--bar::before { width: 1.6cqw; height: 1.6cqw; border-radius: 0.3cqw; background: var(--s-accent); }
.gs-deck .gs-slide__key--real::before { width: 3cqw; border-top: 0.35cqw dashed var(--s-real); }
.gs-deck .gs-slide p.gs-slide__foot { font-size: 1.4cqw; color: var(--s-muted); text-align: center; margin-top: 0.6cqw; font-style: italic; }

/* Bingo */
.gs-deck .gs-slide__bingo { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1cqw; flex: 1; min-height: 0; }
.gs-deck .gs-slide__bingo span {
    display: flex; align-items: center; justify-content: center; border: 0.25cqw solid var(--s-accent); border-radius: 1cqw;
    font: 700 2.2cqw var(--s-head); text-align: center;
}
.gs-deck .gs-slide__bingo span.is-free { background: var(--s-accent2); color: #fff; border-color: var(--s-accent2); }

/* Closing slide */
.gs-deck .gs-slide p.gs-slide__quote { font-size: 3.4cqw; font-weight: 700; line-height: 1.25; max-width: 80cqw; font-style: italic; }
.gs-deck .gs-slide p.gs-slide__quote::before { content: '“'; color: var(--s-accent2); }
.gs-deck .gs-slide p.gs-slide__quote::after { content: '”'; color: var(--s-accent2); }
.gs-deck .gs-slide h2.gs-slide__qa { font-family: var(--s-head); font-size: 6cqw; font-weight: 800; color: var(--s-accent); margin-top: 2cqw; }

/* KPI slide: three tiles, each a gauge + a count-up number (js counter()) */
.gs-deck .gs-slide__kpis {
    flex: 1; min-height: 0; display: grid; grid-template-columns: repeat(var(--n, 3), minmax(0, 1fr)); gap: 2.4cqw; align-content: center; padding-bottom: 1cqw;
    width: 100%; max-width: calc(var(--n, 3) * 30cqw); margin: 0 auto;
}
.gs-deck .gs-kpi {
    display: flex; flex-direction: column; align-items: center; justify-content: flex-start; text-align: center; min-width: 0;
    padding: 1.8cqw 1.4cqw 2.2cqw; border-radius: 1.6cqw; background: var(--s-card); border: 0.2cqw solid rgba(127, 127, 127, 0.25);
}
.gs-deck .gs-gauge { display: block; width: 100%; max-width: 19cqw; height: auto; overflow: visible; }
.gs-deck .gs-gauge__arc { fill: none; stroke: var(--s-accent); stroke-opacity: 0.35; stroke-width: 16; stroke-linecap: round; }
.gs-deck .gs-gauge__arc--hot { stroke: var(--s-real); stroke-opacity: 0.9; }
.gs-deck .gs-gauge__needle { fill: var(--s-ink); transform-box: view-box; transform-origin: 100px 104px; transform: rotate(var(--a, 0deg)); }
.gs-deck .gs-gauge__hub { fill: var(--s-accent2); }
.gs-deck .gs-gauge__off { fill: var(--s-real); font: 800 15px var(--s-head); letter-spacing: 1px; }
.gs-deck .gs-kpi__val { margin-top: 0.8cqw; font: 800 5cqw/1.05 var(--s-head); color: var(--s-accent); white-space: nowrap; font-variant-numeric: tabular-nums; }
.gs-deck .gs-kpi__val--long { font-size: 3.4cqw; white-space: normal; overflow-wrap: anywhere; }
.gs-deck .gs-kpi__label { margin-top: 0.8cqw; font-size: 1.9cqw; line-height: 1.2; color: var(--s-muted); }

/* Money slide: donut + legend */
.gs-deck .gs-slide__pie { flex: 1; min-height: 0; display: grid; grid-template-columns: 30cqw minmax(0, 1fr); gap: 4cqw; align-items: center; padding: 0 2cqw 1cqw; }
.gs-deck .gs-pie__fig { position: relative; width: 30cqw; height: 30cqw; }
.gs-deck .gs-pie { display: block; width: 100%; height: 100%; overflow: visible; }
.gs-deck .gs-pie__track { fill: none; stroke: currentColor; stroke-opacity: 0.08; stroke-width: 36; }
.gs-deck .gs-pie__s { fill: none; stroke-width: 36; }
.gs-deck .gs-pie__s0, .gs-deck .gs-pie__key0 { --k: var(--s-accent); stroke: var(--s-accent); }
.gs-deck .gs-pie__s1, .gs-deck .gs-pie__key1 { --k: var(--s-accent2); stroke: var(--s-accent2); }
.gs-deck .gs-pie__s2, .gs-deck .gs-pie__key2 { --k: var(--s-real); stroke: var(--s-real); }
.gs-deck .gs-pie__s3, .gs-deck .gs-pie__key3 { --k: var(--s-p4); stroke: var(--s-p4); }
.gs-deck .gs-pie__s4, .gs-deck .gs-pie__key4 { --k: var(--s-p5); stroke: var(--s-p5); }
.gs-deck .gs-pie__mid { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; pointer-events: none; }
.gs-deck .gs-pie__big { font: 800 5cqw/1 var(--s-head); color: var(--s-accent); font-variant-numeric: tabular-nums; }
.gs-deck .gs-pie__what { max-width: 13cqw; margin-top: 0.4cqw; font-size: 1.5cqw; line-height: 1.15; color: var(--s-muted); }
.gs-deck .gs-slide ul.gs-pie__legend { gap: 1.8cqw; padding-bottom: 0; }
.gs-deck .gs-pie__legend li { display: flex; align-items: baseline; gap: 2cqw; font-size: 2.6cqw; border-bottom: 0.15cqw solid rgba(127, 127, 127, 0.25); padding-bottom: 0.8cqw; }
.gs-deck .gs-pie__legend li::before { background: var(--k); top: 0.6cqw; width: 1.8cqw; height: 1.8cqw; }
.gs-deck .gs-pie__name { flex: 1; min-width: 0; }
.gs-deck .gs-pie__legend strong { font-family: var(--s-head); font-weight: 800; color: var(--k); }

/* Culture slide: a faded, drifting wall of the AI's buzzwords behind the headline */
.gs-deck .gs-slide--culture .gs-slide__body { position: relative; z-index: 1; align-items: center; justify-content: center; }
.gs-deck .gs-wall { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.gs-deck .gs-wall__drift {
    position: absolute; left: -18%; top: -30%; width: 136%; height: 160%; display: flex; flex-wrap: wrap; align-content: center; justify-content: center;
    gap: 0.4cqw 1.6cqw; transform: rotate(-8deg); font-family: var(--s-head); font-weight: 800; line-height: 1.05; text-transform: uppercase; color: var(--s-ink);
}
.gs-deck .gs-wall__w { opacity: 0.13; white-space: nowrap; }
.gs-deck .gs-wall__w--0 { font-size: 1.5cqw; }
.gs-deck .gs-wall__w--1 { font-size: 2.1cqw; }
.gs-deck .gs-wall__w--2 { font-size: 2.8cqw; opacity: 0.11; }
.gs-deck .gs-wall__w--3 { font-size: 3.7cqw; opacity: 0.09; }
.gs-deck .gs-wall__w--4 { font-size: 4.9cqw; opacity: 0.07; }
.gs-deck .gs-wall__w.is-hot { color: var(--s-accent2); opacity: 0.6; }
.gs-deck .gs-culture { max-width: 70cqw; padding: 3cqw 4.5cqw; border-radius: 2cqw; text-align: center; background: var(--s-panel); box-shadow: 0 1cqw 3cqw rgba(0, 0, 0, 0.18); }
.gs-deck .gs-slide p.gs-culture__kick { font-size: 1.7cqw; font-weight: 800; letter-spacing: 0.5cqw; text-transform: uppercase; color: var(--s-accent2); }
.gs-deck .gs-slide h2.gs-culture__h { margin: 0.8cqw 0; font: 800 4.4cqw/1.12 var(--s-head); color: var(--s-ink); }
.gs-deck .gs-slide p.gs-culture__by { font-size: 1.5cqw; font-style: italic; color: var(--s-muted); }

/* Rubber stamp (KPI and money slides) */
.gs-deck .gs-slide__stamp {
    position: absolute; top: 4cqw; right: 5cqw; transform: rotate(-12deg); padding: 0.6cqw 1.4cqw; border: 0.4cqw solid var(--s-real); border-radius: 0.8cqw;
    color: var(--s-real); font: 400 1.9cqw/1 Impact, 'Arial Black', sans-serif; letter-spacing: 0.2cqw; text-transform: uppercase; opacity: 0.85; white-space: nowrap;
}

/* ---- animations: js go() puts .is-on on the shown slide (off and on again to replay) ---- */
@keyframes gs-s-in { from { opacity: 0; transform: translateX(5cqw); } to { opacity: 1; transform: none; } }
@keyframes gs-s-in-back { from { opacity: 0; transform: translateX(-5cqw); } to { opacity: 1; transform: none; } }
@keyframes gs-s-out { to { opacity: 0; } }
@keyframes gs-s-up { from { opacity: 0; transform: translateY(2.4cqw); } }
@keyframes gs-s-fade { from { opacity: 0; } }
@keyframes gs-s-pop {
    0% { opacity: 0; transform: scale(0.3) rotate(var(--r, 0deg)); }
    65% { opacity: 1; transform: scale(1.12) rotate(var(--r, 0deg)); }
    100% { opacity: 1; transform: scale(1) rotate(var(--r, 0deg)); }
}
@keyframes gs-s-stamp {
    0% { opacity: 0; transform: scale(2.8) rotate(-12deg); }
    60% { opacity: 0.9; transform: scale(0.94) rotate(-12deg); }
    100% { opacity: 0.85; transform: scale(1) rotate(-12deg); }
}
@keyframes gs-s-grow { from { transform: scaleY(0); } }
@keyframes gs-s-drop { 0% { opacity: 0; transform: translateY(-240px); } 60% { opacity: 1; transform: translateY(6px); } 100% { opacity: 1; transform: none; } }
@keyframes gs-s-needle { 0% { transform: rotate(-90deg); } 70% { transform: rotate(calc(var(--a, 0deg) + 10deg)); } 100% { transform: rotate(var(--a, 0deg)); } }
@keyframes gs-s-sweep { from { stroke-dasharray: 0 1000; } }
@keyframes gs-s-spin { from { opacity: 0; transform: rotate(-100deg) scale(0.7); } }
@keyframes gs-s-drift { from { transform: rotate(-8deg) translate3d(3%, 2%, 0); } to { transform: rotate(-8deg) translate3d(-5%, -3%, 0); } }
@keyframes gs-s-hot { 0%, 40% { opacity: 0.13; color: var(--s-ink); } }

.gs-deck .gs-slide.is-on { z-index: 2; animation: gs-s-in 0.45s cubic-bezier(0.2, 0.7, 0.2, 1) both; }
.gs-deck .gs-slide.is-on.is-back { animation-name: gs-s-in-back; }
.gs-deck .gs-slide.is-leaving { z-index: 1; animation: gs-s-out 0.45s ease both; }
.gs-deck .is-on h2.gs-slide__h { animation: gs-s-up 0.5s 0.1s cubic-bezier(0.2, 0.7, 0.2, 1) both; }
.gs-deck .is-on .gs-slide__list > li { animation: gs-s-up 0.5s cubic-bezier(0.2, 0.7, 0.2, 1) both; animation-delay: calc(0.35s + var(--i, 0) * 0.22s); }
.gs-deck .is-on .gs-slide__list--fixes > li { animation-delay: calc(0.35s + var(--i, 0) * 0.6s); }
.gs-deck .is-on .gs-slide__list--fixes strong { animation: gs-s-pop 0.5s both; animation-delay: calc(0.7s + var(--i, 0) * 0.6s); }
.gs-deck .is-on .gs-slide__logo--big { animation: gs-s-pop 0.6s 0.15s both; }
.gs-deck .is-on .gs-slide__company { animation: gs-s-fade 0.5s 0.35s both; }
.gs-deck .is-on h1.gs-slide__title { animation: gs-s-up 0.6s 0.5s cubic-bezier(0.2, 0.7, 0.2, 1) both; }
.gs-deck .is-on .gs-slide__sub, .gs-deck .is-on .gs-slide__by { animation: gs-s-fade 0.6s 0.85s both; }
.gs-deck .is-on .gs-chart__bar { transform-box: fill-box; transform-origin: 50% 100%; animation: gs-s-grow 0.7s cubic-bezier(0.3, 1.25, 0.5, 1) both; animation-delay: calc(0.3s + var(--i, 0) * 0.12s); }
.gs-deck .is-on .gs-chart__bar--off { animation-duration: 1.2s; }
.gs-deck .is-on .gs-chart__val { animation: gs-s-fade 0.4s both; animation-delay: calc(0.8s + var(--i, 0) * 0.12s); }
.gs-deck .is-on .gs-chart__val--off, .gs-deck .is-on .gs-chart__val--note { animation: gs-s-pop 0.5s 1.5s both; transform-box: fill-box; transform-origin: 50% 50%; }
.gs-deck .is-on .gs-chart__real { animation: gs-s-drop 0.8s 1.6s cubic-bezier(0.3, 0.8, 0.4, 1.2) both; }
.gs-deck .is-on .gs-slide__legend, .gs-deck .is-on .gs-slide__foot { animation: gs-s-fade 0.5s 1.9s both; }
.gs-deck .is-on .gs-kpi { animation: gs-s-up 0.5s cubic-bezier(0.2, 0.7, 0.2, 1) both; animation-delay: calc(0.3s + var(--i, 0) * 0.18s); }
.gs-deck .is-on .gs-gauge__needle { animation: gs-s-needle 1.4s cubic-bezier(0.3, 1.3, 0.5, 1) both; animation-delay: calc(0.55s + var(--i, 0) * 0.18s); }
.gs-deck .is-on .gs-gauge__off { animation: gs-s-fade 0.3s 1.7s both; }
.gs-deck .is-on .gs-pie { animation: gs-s-spin 0.9s cubic-bezier(0.2, 0.7, 0.2, 1) both; }
.gs-deck .is-on .gs-pie__s { animation: gs-s-sweep var(--t, 0.5s) linear both; animation-delay: var(--d, 0.3s); }
.gs-deck .is-on .gs-pie__mid { animation: gs-s-pop 0.5s 1.2s both; }
.gs-deck .is-on .gs-pie__legend > li { animation-delay: calc(0.5s + var(--i, 0) * 0.2s); }
.gs-deck .is-on .gs-slide__stamp { animation: gs-s-stamp 0.45s 1.8s cubic-bezier(0.3, 1.4, 0.5, 1) both; }
.gs-deck .is-on .gs-slide__sticker { --r: 9deg; animation: gs-s-pop 0.5s 1.1s both; }
.gs-deck .is-on .gs-wall { animation: gs-s-fade 1s both; }
.gs-deck .is-on .gs-wall__drift { animation: gs-s-drift 24s ease-in-out infinite alternate; will-change: transform; }
.gs-deck .is-on .gs-wall__w.is-hot { animation: gs-s-hot 1.6s 0.6s both; }
.gs-deck .is-on .gs-culture { animation: gs-s-pop 0.6s 0.35s both; }
.gs-deck .is-on .gs-slide__bingo span { animation: gs-s-pop 0.4s both; animation-delay: calc(0.3s + var(--i, 0) * 0.08s); }
.gs-deck .is-on .gs-slide__quote { animation: gs-s-up 0.6s 0.2s cubic-bezier(0.2, 0.7, 0.2, 1) both; }
.gs-deck .is-on .gs-slide__qa { animation: gs-s-pop 0.5s 0.9s both; }
.gs-deck .is-on.gs-slide--close .gs-slide__sub { animation-delay: 1.3s; }
/* Reduced motion and print: no builds, every slide in its final state. */
@media (prefers-reduced-motion: reduce) {
    .gs-deck .gs-slide, .gs-deck .gs-slide * { animation: none !important; }
}
/* Redrawn while the slide text is being edited (js go(i, true)): no replays. */
.gs-deck.is-quiet .gs-slide, .gs-deck.is-quiet .gs-slide * { animation: none !important; }

/* PDF: printing clones the slides into body > .gs-deck--print, one per page. */
.gs-deck--print { display: none; }
@media print {
    html.gs-deck-printing body > *:not(.gs-deck--print) { display: none !important; }
    html.gs-deck-printing body { margin: 0; padding: 0; background: #fff; }
    html.gs-deck-printing .gs-deck--print { display: block; margin: 0; }
    .gs-deck--print .gs-deck__frame { aspect-ratio: auto; overflow: visible; border-radius: 0; box-shadow: none; background: none; }
    .gs-deck--print .gs-slide, .gs-deck--print .gs-slide[hidden] {
        position: relative; display: flex; inset: auto; width: 100%; aspect-ratio: 16 / 9;
        break-after: page; page-break-after: always; -webkit-print-color-adjust: exact; print-color-adjust: exact;
    }
    .gs-deck--print .gs-slide, .gs-deck--print .gs-slide * { animation: none !important; }
}

@media (max-width: 767px) {
    .gs-deck__tools { margin-left: 0; width: 100%; display: grid; grid-template-columns: auto 1fr auto; grid-template-areas: "prev count next" "full full pdf"; }
    .gs-deck__tools [data-deck-prev] { grid-area: prev; }
    .gs-deck__tools [data-deck-next] { grid-area: next; }
    .gs-deck__tools .gs-deck__count { grid-area: count; }
    .gs-deck__tools [data-deck-full] { grid-area: full; }
    .gs-deck__tools [data-deck-print] { grid-area: pdf; }
}
/* ==== end sales meeting ==== */
