/* The kit's fonts, served by the app itself (no request to Google at run time). SIL Open Font License 1.1:
   see OFL-*.txt beside the files. Schibsted Grotesk for everything, JetBrains Mono for raw speech, Inter for the
   alphabets Schibsted Grotesk lacks. Copied from Google Fonts on 9 Nov 2026. */
/* latin-ext */
@font-face {
  font-family: 'Schibsted Grotesk';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(fonts/schibsted-grotesk-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Schibsted Grotesk';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(fonts/schibsted-grotesk-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(fonts/jetbrains-mono-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(fonts/jetbrains-mono-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(fonts/jetbrains-mono-greek.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(fonts/jetbrains-mono-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(fonts/jetbrains-mono-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(fonts/jetbrains-mono-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(fonts/inter-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(fonts/inter-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(fonts/inter-greek-ext.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(fonts/inter-greek.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(fonts/inter-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(fonts/inter-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(fonts/inter-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root{--kit-main:#26282c;--kit-secondary:#d4d7dc;--kit-accent:#3d95ff;--kit-on-main:#ffffff;--kit-on-secondary:#000000;--kit-on-accent:#000000;--kit-quiet:#9d9ea0;--kit-line:#47484c;--kit-accent-text:#3d95ff;color-scheme:dark}
/* The kit's screen pieces. Every colour comes from the app's theme: --kit-main (60% of a page), --kit-secondary
   (30%), --kit-accent (10%), and the text colour on each (--kit-on-*); shades are mixed from those only.
   The accent fills action buttons. Whatever else stands out reads a role of its own with the accent's as its fallback,
   for a theme whose accent is for actions only (Vavus AI): --kit-focus (focus rings), --kit-mark and --kit-on-mark
   (chosen and counted things), --kit-mark-text (marked words), --kit-logo-v, and --kit-raised (cards, else main).
   Sizes, corners and type follow the Vavus AI website's pieces (vavusaccount components/ui, --radius 0.75rem).
   Motion (operator 9 Nov 2026): one set of timings and curves below; entrances ease out, on-screen moves ease in and
   out, exits are 20% shorter, nothing bounces, pop-ups grow from 0.95 out of their trigger and go back to it. */
:root { --kit-enter: 200ms; --kit-exit: 160ms; --kit-press: 100ms; --kit-stagger: 30ms; --kit-spin: 1s;
  --kit-ease-out: cubic-bezier(0.22, 1, 0.36, 1); --kit-ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --kit-ease-exit: cubic-bezier(0.55, 0, 1, 0.45);
  /* Fonts (brand standard, 9 Nov 2026): fonts.css serves them from the app itself. */
  --kit-font: 'Schibsted Grotesk', 'Inter', 'Noto Sans Arabic', 'Noto Sans Devanagari', 'Noto Sans KR', system-ui, sans-serif;
  --kit-mono: 'JetBrains Mono', 'Inter', ui-monospace, monospace; }
@keyframes kit-pop-in { from { opacity: 0; transform: scale(0.95); } }
@keyframes kit-pop-out { to { opacity: 0; transform: scale(0.95); } }
@keyframes kit-fade-in { from { opacity: 0; } }
@keyframes kit-fade-out { to { opacity: 0; } }
@keyframes kit-rise-in { from { opacity: 0; transform: translateY(6px); } }
@keyframes kit-pulse { from { box-shadow: 0 0 0 0 color-mix(in srgb, var(--kit-mark, var(--kit-accent)) 45%, transparent); }
  to { box-shadow: 0 0 0 10px color-mix(in srgb, var(--kit-mark, var(--kit-accent)) 0%, transparent); } }
.kit-page { margin: 0; min-height: 100vh; background: var(--kit-main); color: var(--kit-on-main);
  font-family: var(--kit-font); font-size: 14px; line-height: 20px; }
.kit-mono { font-family: var(--kit-mono); }
.kit-frame-header { display: flex; align-items: center; gap: 12px; padding: 16px 24px;
  background: var(--kit-secondary); color: var(--kit-on-secondary); }
.kit-frame-title { font-size: 18px; line-height: 28px; font-weight: 600; margin: 0; }
.kit-frame-body { max-width: 1024px; margin: 0 auto; padding: 24px; box-sizing: border-box; }
@media (min-width: 1024px) { .kit-frame-body { padding: 32px; } }
.kit-panel { background: var(--kit-secondary); color: var(--kit-on-secondary); border-radius: 12px; padding: 24px; }

.kit-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 40px;
  padding: 8px 20px; border-radius: 12px; border: 1px solid transparent; font: inherit; font-size: 14px;
  line-height: 20px; font-weight: 500; white-space: nowrap; cursor: pointer;
  transition: transform var(--kit-press) var(--kit-ease-out), filter var(--kit-enter) var(--kit-ease-out); }
.kit-button--accent { background: var(--kit-accent); color: var(--kit-on-accent); }
.kit-button--secondary { background: var(--kit-secondary); color: var(--kit-on-secondary); border-color: var(--kit-edge, transparent); }
.kit-button--plain { background: transparent; color: var(--kit-on-main);
  border-color: color-mix(in srgb, var(--kit-on-main) 20%, transparent); }
.kit-button--ghost { background: transparent; color: var(--kit-on-main); }
.kit-button--wide { width: 100%; }
/* Round: a sign or an icon only, 32 px, its name on hover (ButtonKind::Round). */
.kit-button--round { width: 32px; height: 32px; padding: 0; border-radius: 50%; background: transparent;
  color: var(--kit-on-main); border-color: var(--kit-line); font-size: 16px; line-height: 1; }
.kit-button--round[aria-pressed="true"] { background: var(--kit-mark, var(--kit-secondary)); color: var(--kit-on-mark, var(--kit-on-secondary)); }
.kit-button--round svg { width: 16px; height: 16px; flex: none; }
.kit-button[aria-busy="true"] { cursor: progress; }
.kit-button:hover { filter: brightness(0.95); }
.kit-button:active { transform: scale(0.97); }
.kit-button:disabled { opacity: 0.5; pointer-events: none; }
.kit-button:focus-visible, .kit-input:focus-visible, .kit-tab:focus-visible, .kit-icon-button:focus-visible {
  outline: 2px solid var(--kit-focus, var(--kit-accent)); outline-offset: 2px; }

.kit-field { display: grid; gap: 6px; }
.kit-label { font-size: 14px; line-height: 20px; font-weight: 500; }
.kit-input { display: flex; box-sizing: border-box; width: 100%; height: 44px; padding: 10px 14px; border-radius: 12px;
  border: 1px solid color-mix(in srgb, var(--kit-on-main) 25%, transparent); background: var(--kit-main);
  color: var(--kit-on-main); font: inherit; font-size: 16px; line-height: 24px; }
@media (min-width: 768px) { .kit-input { font-size: 14px; line-height: 20px; } }
.kit-input::placeholder { color: color-mix(in srgb, var(--kit-on-main) 55%, transparent); }
.kit-input:disabled { opacity: 0.5; cursor: not-allowed; }
.kit-input-wrap { position: relative; }
.kit-input-wrap .kit-input { padding-right: 44px; }
.kit-icon-button { position: absolute; right: 4px; top: 4px; width: 36px; height: 36px; border: 0; border-radius: 8px;
  background: transparent; color: var(--kit-on-main); cursor: pointer; font: inherit; }
/* Two icons in one place: the new one comes in as the old one leaves, crossfading with scale and blur. */
.kit-swap { display: grid; place-items: center; }
.kit-swap > svg { grid-area: 1 / 1; width: 16px; height: 16px;
  transition: opacity var(--kit-enter) var(--kit-ease-out), transform var(--kit-enter) var(--kit-ease-out),
    filter var(--kit-enter) var(--kit-ease-out); }
.kit-swap > svg[data-off] { opacity: 0; transform: scale(0.6); filter: blur(4px); }
.kit-field-error { color: var(--kit-mark-text, var(--kit-accent)); font-size: 14px; line-height: 20px; margin: 0; }

.kit-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.kit-list-item { padding: 12px 16px; border-radius: 10px; animation: kit-rise-in var(--kit-enter) var(--kit-ease-out) both;
  animation-delay: calc(var(--kit-row, 0) * var(--kit-stagger)); }
.kit-list-item:hover { background: color-mix(in srgb, var(--kit-secondary) 60%, var(--kit-main)); }
.kit-list-empty { padding: 12px 16px; opacity: 0.7; }

.kit-backdrop { position: fixed; inset: 0; z-index: 50; background: color-mix(in srgb, var(--kit-on-main) 60%, transparent);
  animation: kit-fade-in var(--kit-enter) var(--kit-ease-out); }
.kit-backdrop.kit-leaving { animation: kit-fade-out var(--kit-exit) var(--kit-ease-exit) forwards; }
.kit-dialog { position: fixed; inset: 0; margin: auto; z-index: 50; box-sizing: border-box; height: fit-content;
  display: grid; gap: 16px; width: 100%; max-width: 512px; padding: 24px; border-radius: 12px;
  border: 1px solid color-mix(in srgb, var(--kit-on-main) 15%, transparent); background: var(--kit-main); color: var(--kit-on-main);
  transform-origin: var(--kit-origin, 50% 0); animation: kit-pop-in var(--kit-enter) var(--kit-ease-out); }
/* A dialog never taller than the screen (16 px clear above and below): the title stays, the words scroll inside. */
.kit-dialog { max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); grid-template-rows: auto minmax(0, 1fr); }
.kit-dialog-body { display: grid; gap: 16px; align-content: start; min-height: 0; overflow-y: auto; overscroll-behavior: contain;
  padding: 3px; margin: -3px; }
.kit-dialog.kit-leaving { animation: kit-pop-out var(--kit-exit) var(--kit-ease-exit) forwards; }
.kit-dialog-title { margin: 0; font-size: 18px; line-height: 28px; font-weight: 600; }
.kit-dialog-close { position: absolute; right: 16px; top: 16px; }

.kit-tabs { position: relative; display: inline-flex; align-items: center; height: 40px; padding: 4px; box-sizing: border-box;
  border-radius: 10px; background: var(--kit-secondary); color: var(--kit-on-secondary); }
/* One marker for the open tab, moved (not redrawn) from tab to tab: a mask over a full-width strip. */
.kit-tab-marker { position: absolute; inset: 4px; border-radius: 8px; background: var(--kit-mark, var(--kit-main)); pointer-events: none;
  clip-path: var(--kit-mask, inset(0 100% 0 0 round 8px)); transition: clip-path var(--kit-enter) var(--kit-ease-in-out); }
.kit-tab { position: relative; padding: 6px 12px; border: 0; border-radius: 8px; background: transparent; color: inherit; font: inherit;
  font-size: 14px; font-weight: 500; white-space: nowrap; cursor: pointer; }
.kit-tab[aria-selected="true"] { color: var(--kit-on-mark, var(--kit-on-main)); }
.kit-tab-panel { margin-top: 8px; }
/* Tabs that are pages of their own (LinkTabs): above the page, the open tab in the main colour on the strip's
   secondary; a tab's count quiet, or in the accent when it is work waiting on a person. */
.kit-tabs-row { margin: 0 0 16px; }
.kit-tabs--links .kit-tab { display: inline-flex; align-items: center; gap: 6px; height: 32px; box-sizing: border-box;
  text-decoration: none; transition: background-color var(--kit-enter) var(--kit-ease-out), color var(--kit-enter) var(--kit-ease-out); }
.kit-tabs--links .kit-tab:hover { background: color-mix(in srgb, var(--kit-main) 45%, transparent); }
.kit-tabs--links .kit-tab[aria-selected="true"] { background: var(--kit-raised, var(--kit-main)); color: var(--kit-on-main); }
.kit-tabs--links .kit-tab:active { transform: scale(0.97); }
.kit-tab-count { min-width: 18px; height: 18px; padding: 0 5px; box-sizing: border-box; border-radius: 9px;
  font-size: 11px; font-weight: 600; line-height: 18px; text-align: center; font-variant-numeric: tabular-nums;
  background: color-mix(in srgb, currentColor 12%, transparent); }
.kit-tab-count--loud { background: var(--kit-mark, var(--kit-accent)); color: var(--kit-on-mark, var(--kit-on-accent)); }
@media (prefers-reduced-motion: reduce) { .kit-tabs--links .kit-tab { transition: none; } }

.kit-table-wrap { position: relative; width: 100%; overflow: auto; }
.kit-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.kit-table tr { border-bottom: 1px solid color-mix(in srgb, var(--kit-on-main) 15%, transparent); }
.kit-table th { height: 48px; padding: 0 16px; text-align: left; vertical-align: middle; font-weight: 500; }
.kit-table td { padding: 16px; vertical-align: middle; }

.kit-toast { position: fixed; right: 16px; bottom: 16px; z-index: 60; max-width: 420px; padding: 12px 16px; border-radius: 12px;
  border-left: 4px solid var(--kit-mark, var(--kit-accent)); background: var(--kit-secondary); color: var(--kit-on-secondary);
  animation: kit-rise-in var(--kit-enter) var(--kit-ease-out), kit-pulse calc(var(--kit-enter) * 3) var(--kit-ease-out) var(--kit-enter); }
.kit-toast.kit-leaving { animation: kit-fade-out var(--kit-exit) var(--kit-ease-exit) forwards; }
.kit-toast-title { margin: 0; font-weight: 600; }
.kit-toast-text { margin: 4px 0 0; }
.kit-link { color: inherit; text-decoration: underline; text-underline-offset: 4px; }
/* Words for screen readers only (a label whose control explains itself, a heading the layout already shows). */
.kit-visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0; overflow: hidden;
  clip: rect(0 0 0 0); white-space: nowrap; }

@media (prefers-reduced-motion: reduce) {
  [class*="kit-"], [class*="kit-"] > svg { animation-duration: 1ms !important; animation-delay: 0ms !important;
    transition-duration: 1ms !important; }
}

/* The logo (brand standard): VAVUS, the V in the accent; the product name centred under it in small capitals. */
.kit-logo { display: inline-flex; flex-direction: column; align-items: center; gap: 3px; line-height: 1;
  font-family: var(--kit-font); color: var(--kit-on-main); --kit-logo-size: 30px; }
.kit-logo-word { font-size: var(--kit-logo-size); font-weight: 800; letter-spacing: 0.01em; }
.kit-logo-v { color: var(--kit-logo-v, var(--kit-accent)); }
.kit-logo-product { font-size: calc(var(--kit-logo-size) * 0.357); font-weight: 600; letter-spacing: 0.16em;
  margin-right: -0.16em; text-transform: uppercase; }

/* The player over a scene: pause or play, and replay from the start. */
.kit-player { position: absolute; top: 14px; right: 14px; z-index: 2; display: flex; gap: 2px; padding: 3px;
  border-radius: 9999px; background: color-mix(in srgb, var(--kit-secondary) 80%, transparent); backdrop-filter: blur(6px); }
.kit-player button { width: 34px; height: 34px; border: 0; border-radius: 50%; background: transparent;
  color: var(--kit-on-secondary); display: grid; place-items: center; cursor: pointer;
  transition: transform var(--kit-press) var(--kit-ease-out); }
.kit-player button:hover { background: color-mix(in srgb, var(--kit-on-secondary) 12%, transparent); }
.kit-player button:active { transform: scale(0.92); }
.kit-player button:focus-visible { outline: 2px solid var(--kit-focus, var(--kit-accent)); outline-offset: 1px; }
.kit-player svg { width: 14px; height: 14px; }

/* The site footer: links, the language picker, the copyright line with © and ® in the accent. */
.kit-footer { border-top: 1px solid var(--kit-line); padding: 14px 16px 22px; text-align: center; font-size: 12.5px;
  line-height: 1.6; color: var(--kit-quiet); }
.kit-footer-links { display: flex; flex-wrap: wrap; gap: 6px 18px; justify-content: center; }
.kit-footer-links a { color: inherit; text-decoration: none; }
.kit-footer-links a:hover { text-decoration: underline; }
.kit-footer-row { display: flex; flex-wrap: wrap; gap: 22px; justify-content: center; align-items: center; margin-top: 10px; }
.kit-footer-mark { color: var(--kit-mark-text, var(--kit-accent-text)); }
/* The ® sits on the line at the text's own size, like the © before it (operator 2026-11-14). */
.kit-footer-reg { margin-left: 1px; }
/* The language picker in the footer draws itself (no native select drawing): a fixed 24 px box, the word on a 24 px
   line, a small arrow from two CSS gradients (no image, so no CSP change). The native drawing placed the word by font
   metrics that differ between Chromes and cut "English" off (scrollHeight 30 in a 21 px box; operator 2026-11-14). */
.kit-footer .kit-language { -webkit-appearance: none; appearance: none; display: inline-block; box-sizing: border-box;
  width: auto; height: 24px; min-height: 0; padding: 0 18px 0 4px; border: 0; border-radius: 6px; line-height: 24px;
  font-size: inherit; color: inherit; cursor: pointer; background-color: transparent;
  background-image: linear-gradient(45deg, transparent 50%, currentColor 50%),
    linear-gradient(135deg, currentColor 50%, transparent 50%);
  background-position: calc(100% - 9px) 55%, calc(100% - 5px) 55%; background-size: 4px 4px, 4px 4px;
  background-repeat: no-repeat; }

/* Concierge's small pieces (10 Nov 2026). The "⋯" menu on a row: links, then one removing action set apart; it grows
   out of its button. A thin meter: the line colour for the track, the text colour for the fill, the accent when low.
   The time-zone picker's search results: a short scrolling list of choices. */
.kit-options { position: relative; display: inline-block; }
.kit-options-button { list-style: none; display: inline-flex; align-items: center; justify-content: center; width: 32px;
  height: 32px; border-radius: 8px; cursor: pointer; color: var(--kit-quiet); font-size: 18px; line-height: 1; }
.kit-options-button::-webkit-details-marker { display: none; }
.kit-options-button:hover, .kit-options[open] .kit-options-button { background: var(--kit-secondary); color: var(--kit-on-secondary); }
.kit-options-button:focus-visible { outline: 2px solid var(--kit-on-main); outline-offset: 2px; }
.kit-options-pop { position: absolute; right: 0; top: calc(100% + 4px); z-index: 40; min-width: 200px; display: grid; gap: 4px;
  padding: 6px; border-radius: 12px; border: 1px solid var(--kit-line); background: var(--kit-main); color: var(--kit-on-main);
  transform-origin: top right; animation: kit-pop-in var(--kit-enter) var(--kit-ease-out); }
.kit-options-links { display: grid; }
.kit-options-item { display: block; padding: 8px 10px; border-radius: 8px; color: inherit; text-decoration: none; }
.kit-options-item:hover, .kit-options-item:focus-visible { background: var(--kit-secondary); color: var(--kit-on-secondary); outline: none; }
.kit-options-danger { border-top: 1px solid var(--kit-line); padding-top: 4px; }
.kit-meter { display: inline-block; width: 64px; height: 4px; border-radius: 2px; background: var(--kit-line); vertical-align: middle;
  overflow: hidden; }
.kit-meter-fill { display: block; height: 100%; background: var(--kit-on-main); }
.kit-meter-low { background: var(--kit-mark, var(--kit-accent)); }
.kit-tz-results { display: grid; gap: 6px; }
.kit-tz-list { display: grid; gap: 4px; max-height: 220px; overflow-y: auto; }
.kit-tz-result { text-align: left; padding: 8px 12px; border-radius: 8px; border: 1px solid var(--kit-line); background: var(--kit-main);
  color: inherit; font: inherit; cursor: pointer; }
.kit-tz-result:hover, .kit-tz-result:focus-visible { background: var(--kit-secondary); color: var(--kit-on-secondary); }
/* The "i" beside a title or label, and its words: the text colour as the tip's ground, the page colour as its words. */
.kit-info { position: relative; display: inline-flex; margin-left: 6px; vertical-align: middle; }
.kit-info-mark { display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px; border-radius: 50%;
  border: 1px solid var(--kit-quiet); color: var(--kit-quiet); font-size: 11px; font-style: italic; font-weight: 600; line-height: 1;
  cursor: help; }
.kit-info:focus-visible { outline: 2px solid var(--kit-on-main); outline-offset: 2px; border-radius: 50%; }
.kit-info-tip { display: none; position: fixed; z-index: 60; box-sizing: border-box; max-height: calc(100dvh - 16px); overflow-y: auto;
  padding: 8px 10px; border-radius: 8px; background: var(--kit-on-main); color: var(--kit-main); font-size: 12.5px; font-weight: 400;
  font-style: normal; line-height: 1.45; letter-spacing: normal; text-transform: none; white-space: normal;
  animation: kit-fade-in var(--kit-enter) var(--kit-ease-out); }
.kit-info-tip.kit-info-open { display: block; }

/* A list beside what it opens (conversation.rs): side by side when wide, one at a time at 860 px and under. */
.kit-split { display: grid; grid-template-columns: minmax(280px, 380px) minmax(0, 1fr); gap: 16px; align-items: start; }
.kit-split-back { display: none; }
@media (max-width: 860px) {
  .kit-split { grid-template-columns: minmax(0, 1fr); }
  .kit-split--open .kit-split-list, .kit-split:not(.kit-split--open) .kit-split-detail { display: none; }
  .kit-split-back { display: block; margin-bottom: 8px; }
}
/* Rows to open, under headings; the open one on the secondary colour. */
.kit-pick { display: grid; gap: 2px; }
.kit-pick-group + .kit-pick-group { margin-top: 8px; }
.kit-pick-head { padding: 8px 12px 4px; font-size: 12px; font-weight: 600; color: var(--kit-quiet); }
.kit-pick-row { display: grid; gap: 2px; width: 100%; padding: 10px 12px; border: 0; border-radius: 10px; background: transparent;
  color: inherit; font: inherit; text-align: start; cursor: pointer;
  transition: background var(--kit-enter) var(--kit-ease-out), transform var(--kit-press) var(--kit-ease-out); }
.kit-pick-row:hover { background: color-mix(in srgb, var(--kit-secondary) 60%, var(--kit-main)); }
.kit-pick-row:active { transform: scale(0.97); }
.kit-pick-row[aria-current="true"] { background: var(--kit-mark, var(--kit-secondary)); color: var(--kit-on-mark, var(--kit-on-secondary)); }
.kit-pick-row:focus-visible { outline: 2px solid var(--kit-on-main); outline-offset: 2px; }
.kit-pick-top, .kit-pick-meta { display: flex; justify-content: space-between; gap: 8px; min-width: 0; }
.kit-pick-top strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kit-pick-badges { display: inline-flex; gap: 4px; flex-shrink: 0; }
.kit-pick-line { font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kit-pick-meta { font-size: 12px; color: var(--kit-quiet); }
/* The chosen row in a theme's mark: its facts in the text on the mark, its badges ringed so they stay apart from it. */
.kit-pick-row[aria-current="true"] .kit-pick-meta { color: var(--kit-on-mark, var(--kit-quiet)); }
.kit-pick-row[aria-current="true"] .kit-badge { box-shadow: inset 0 0 0 1px var(--kit-on-mark, transparent); }
/* One line of a conversation: the customer at the start on the main colour, the business at the end. */
.kit-chat { max-width: 85%; padding: 8px 12px; border-radius: 12px; border: 1px solid var(--kit-line); }
.kit-chat + .kit-chat { margin-top: 8px; }
.kit-chat--customer { margin-inline-end: auto; background: var(--kit-main); color: var(--kit-on-main); }
.kit-chat--agent, .kit-chat--staff { margin-inline-start: auto; background: var(--kit-secondary); color: var(--kit-on-secondary); }
.kit-chat--staff { border-color: var(--kit-on-secondary); }
.kit-chat-meta { display: flex; gap: 12px; justify-content: space-between; font-size: 12px; color: var(--kit-quiet); }
.kit-chat-text { margin-top: 2px; white-space: pre-wrap; overflow-wrap: anywhere; }
/* A part of a card that folds away (fold.rs). */
.kit-fold { border-top: 1px solid var(--kit-line); }
.kit-fold:first-child { border-top: 0; }
.kit-fold-row { display: flex; align-items: center; gap: 8px; padding: 12px 0; cursor: pointer; list-style: none; font-weight: 600; }
.kit-fold-row::-webkit-details-marker { display: none; }
.kit-fold-row:focus-visible { outline: 2px solid var(--kit-on-main); outline-offset: 2px; border-radius: 6px; }
.kit-fold-title { flex: 0 1 auto; }
.kit-fold-note { font-weight: 400; font-size: 14px; color: var(--kit-quiet); }
.kit-fold-chevron { margin-inline-start: auto; width: 8px; height: 8px; border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform var(--kit-enter) var(--kit-ease-out); }
/* Only this fold's own arrow: a closed fold inside an open one keeps its closed arrow. */
.kit-fold[open] > .kit-fold-row > .kit-fold-chevron { transform: rotate(225deg); }
.kit-fold-body { padding-bottom: 12px; }
@media (prefers-reduced-motion: reduce) { .kit-pick-row, .kit-fold-chevron { transition: none; } }

/* A week of opening hours (week_hours.rs). */
.kit-hours { display: grid; gap: 8px; }
.kit-hours-row { display: grid; grid-template-columns: 110px auto 1fr; gap: 8px 12px; align-items: start; }
.kit-hours-day { padding-top: 8px; font-weight: 500; }
.kit-hours-row > .kit-check { padding-top: 8px; }
.kit-hours-spans { display: grid; gap: 6px; }
.kit-hours-span { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.kit-hours-time { width: auto; min-width: 120px; }
@media (max-width: 560px) { .kit-hours-row { grid-template-columns: 1fr auto; } .kit-hours-spans { grid-column: 1 / -1; } }
/* A calendar (calendar_view.rs): the month, and the day / week time grid. */
.kit-cal-month { border: 1px solid var(--kit-line); border-radius: 12px; overflow: hidden; }
.kit-cal-month-head, .kit-cal-month-body { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.kit-cal-month-head span { padding: 6px 8px; font-size: 12px; font-weight: 600; color: var(--kit-quiet); }
.kit-cal-cell { min-height: 96px; padding: 4px; border-top: 1px solid var(--kit-line); border-inline-start: 1px solid var(--kit-line);
  display: grid; align-content: start; gap: 2px; min-width: 0; }
.kit-cal-cell:nth-child(7n + 1) { border-inline-start: 0; }
.kit-cal-cell--dim { color: var(--kit-quiet); }
.kit-cal-day, .kit-cal-more { justify-self: start; border: 0; background: transparent; color: inherit; font: inherit; font-size: 12px;
  padding: 2px 6px; border-radius: 6px; cursor: pointer; }
.kit-cal-day:hover, .kit-cal-more:hover { background: var(--kit-secondary); }
.kit-cal-chip { display: block; width: 100%; padding: 2px 6px; border: 1px solid var(--kit-line); border-radius: 6px; font: inherit;
  font-size: 12px; text-align: start; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; cursor: pointer;
  background: var(--kit-secondary); color: var(--kit-on-secondary); }
.kit-cal-scroll { overflow: auto; max-height: 70vh; border: 1px solid var(--kit-line); border-radius: 12px; }
.kit-cal-grid { display: grid; position: relative; height: 1440px; min-width: 100%; }
.kit-cal-gutter, .kit-cal-col { position: relative; }
.kit-cal-col { border-inline-start: 1px solid var(--kit-line); }
.kit-cal-hour { position: absolute; inset-inline-end: 6px; transform: translateY(-50%); font-size: 11px; color: var(--kit-quiet); }
.kit-cal-hour:first-child { transform: none; }
.kit-cal-line { position: absolute; inset-inline: 0; border-top: 1px solid var(--kit-line); }
.kit-cal-pick { position: absolute; inset-inline: 0; border: 0; background: transparent; cursor: pointer; }
.kit-cal-pick:hover { background: color-mix(in srgb, var(--kit-secondary) 50%, transparent); }
.kit-cal-pick:focus-visible, .kit-cal-block:focus-visible, .kit-cal-chip:focus-visible { outline: 2px solid var(--kit-on-main); outline-offset: 1px; }
.kit-cal-block { position: absolute; z-index: 1; display: grid; align-content: start; overflow: hidden; padding: 2px 6px; border-radius: 6px;
  border: 1px solid var(--kit-line); background: var(--kit-secondary); color: var(--kit-on-secondary); font: inherit; font-size: 12px;
  text-align: start; cursor: pointer; }
.kit-cal-block-time { font-weight: 600; }
.kit-cal-block-title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kit-cal-chip--faded, .kit-cal-block--faded { opacity: 0.5; text-decoration: line-through; }
.kit-cal-chip--held, .kit-cal-block--held { border-color: var(--kit-mark, var(--kit-accent)); border-width: 2px; }
.kit-cal-chip--note, .kit-cal-block--note { border-style: dashed; background: var(--kit-main); color: var(--kit-quiet); cursor: default; }
/* A table whose cells hold controls (view_table.rs): the current row on the secondary colour. */
.kit-table tr[aria-current="true"] td { background: var(--kit-mark, var(--kit-secondary)); color: var(--kit-on-mark, var(--kit-on-secondary)); }
.kit-table td .kit-actions { margin: 0; }
/* Numbers on a report (stats.rs). */
.kit-stats { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr)); gap: 12px; margin: 12px 0; }
.kit-stat { display: grid; align-content: start; gap: 4px; padding: 14px 16px; border: 1px solid var(--kit-line); border-radius: 12px;
  background: var(--kit-main); color: var(--kit-on-main); text-decoration: none; }
.kit-stat--link:hover { background: color-mix(in srgb, var(--kit-secondary) 60%, var(--kit-main)); }
.kit-stat-label { font-size: 13px; color: var(--kit-quiet); }
.kit-stat-value { font-size: 26px; line-height: 32px; font-weight: 700; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.kit-stat-value--loud { color: var(--kit-mark-text, var(--kit-accent-text)); }
.kit-stat-sub { font-size: 13px; color: var(--kit-quiet); }
.kit-stat-value--words { font-size: 20px; line-height: 1.25; }
/* Even rows (StatTiles columns): the counts come from the page as --kit-stats-cols / --kit-stats-cols-md. */
.kit-stats--even { grid-template-columns: repeat(var(--kit-stats-cols, 4), minmax(0, 1fr)); }
@media (max-width: 1100px) { .kit-stats--even { grid-template-columns: repeat(var(--kit-stats-cols-md, 3), minmax(0, 1fr)); } }
@media (max-width: 640px) {
  .kit-stats--even { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .kit-stats--even > :last-child:nth-child(odd) { grid-column: 1 / -1; }
  .kit-stat-value--words { font-size: 17px; }
}
/* A card's quiet line beside its title (Card note); the card styles themselves are in app.css. */
.kit-card-note { margin: 0; font-size: 14px; line-height: 20px; color: var(--kit-quiet); }
.kit-bars { display: flex; align-items: flex-end; gap: 3px; height: 160px; }
.kit-bar { flex: 1 1 0; border-radius: 4px 4px 0 0; background: var(--kit-on-main); min-height: 2px; }
.kit-bar--empty { background: var(--kit-line); }
.kit-bars-axis { display: flex; justify-content: space-between; margin-top: 4px; font-size: 12px; color: var(--kit-quiet); }
/* On-or-off choices as chips (chips.rs). */
.kit-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.kit-chip { padding: 4px 12px; border: 1px solid var(--kit-line); border-radius: 999px; background: var(--kit-main); color: var(--kit-on-main);
  font: inherit; font-size: 14px; cursor: pointer; transition: transform var(--kit-press) var(--kit-ease-out); }
.kit-chip:active { transform: scale(0.97); }
.kit-chip[aria-pressed="true"] { background: var(--kit-mark, var(--kit-secondary)); color: var(--kit-on-mark, var(--kit-on-secondary));
  border-color: var(--kit-mark, var(--kit-on-secondary)); }
.kit-chip:focus-visible { outline: 2px solid var(--kit-on-main); outline-offset: 2px; }
/* What a process does, drawn left to right (flow.rs). */
.kit-flow-scroll { overflow: auto; border: 1px solid var(--kit-line); border-radius: 12px; background: var(--kit-main); }
.kit-flow-node { outline: none; }
.kit-flow-ring { opacity: 0; transition: opacity var(--kit-enter) var(--kit-ease-out); }
.kit-flow-node:focus-visible .kit-flow-ring { opacity: 1; }
.kit-flow-legend { display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 8px 0 0; padding: 0; list-style: none; font-size: 13px; color: var(--kit-quiet); }
.kit-flow-swatch { display: inline-block; width: 10px; height: 10px; margin-inline-end: 6px; border-radius: 3px; vertical-align: -1px; }
.kit-flow-foot { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; margin-top: 8px; }
/* A place to drop files (drop_zone.rs). */
.kit-dropzone { display: grid; place-items: center; min-height: 120px; padding: 24px; border: 2px dashed var(--kit-line); border-radius: 14px;
  background: var(--kit-main); color: var(--kit-on-main); text-align: center; cursor: pointer;
  transition: border-color var(--kit-enter) var(--kit-ease-out), background var(--kit-enter) var(--kit-ease-out); }
.kit-dropzone:hover, .kit-dropzone--over { border-color: var(--kit-on-main); background: var(--kit-secondary); }
.kit-dropzone--busy { cursor: progress; opacity: 0.8; }
.kit-dropzone:focus-visible { outline: 2px solid var(--kit-on-main); outline-offset: 2px; }
/* AppFrame bar_end_in_menu: the bar's end at the top of the phone menu sheet, its items one under another. */
.kit-app-menu-end { display: grid; gap: 8px; padding: 0 12px 16px; margin-bottom: 8px; border-bottom: 1px solid var(--kit-line); }
.kit-app-menu-end > * { min-width: 0; }
/* WelcomeSlides: photo slides filling the window. The photos are pictures; over them a dark wash and light words in
   both themes (the darker and the lighter of the theme's page and text colours), so the photos keep their light and
   the words read; Get started is the main action, in the accent. Cross-fades on the kit's own timing. */
.kit-welcome { --kit-welcome-dark: var(--kit-on-main); --kit-welcome-light: var(--kit-main);
  position: fixed; inset: 0; display: flex; flex-direction: column; overflow: hidden; color: var(--kit-welcome-light);
  background: var(--kit-welcome-dark); font-family: var(--kit-font); }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) .kit-welcome { --kit-welcome-dark: var(--kit-main); --kit-welcome-light: var(--kit-on-main); }
}
:root[data-theme=dark] .kit-welcome { --kit-welcome-dark: var(--kit-main); --kit-welcome-light: var(--kit-on-main); }
.kit-welcome-photo { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0;
  transition: opacity var(--kit-exit) var(--kit-ease-in-out); }
.kit-welcome-photo-on { opacity: 1; transition: opacity var(--kit-enter) var(--kit-ease-in-out); }
.kit-welcome-wash { position: absolute; inset: 0;
  background: linear-gradient(160deg, color-mix(in srgb, var(--kit-welcome-dark) 40%, transparent),
    color-mix(in srgb, var(--kit-welcome-dark) 45%, transparent) 50%, color-mix(in srgb, var(--kit-welcome-dark) 82%, transparent)); }
.kit-welcome-body { position: relative; z-index: 1; flex: 1; display: flex; flex-direction: column; align-items: center;
  justify-content: center; padding: 56px 24px 0; text-align: center; }
.kit-welcome-logo, .kit-welcome-logo .kit-logo { color: var(--kit-welcome-light); }
.kit-welcome-title { margin: 32px 0 0; font-size: 60px; line-height: 1; font-weight: 700; text-wrap: balance; }
.kit-welcome-line { margin: 12px 0 0; font-size: 15px; opacity: 0.85; }
.kit-welcome-tagline { margin: 40px 0 0; font-size: 40px; line-height: 1.05; font-weight: 700; text-wrap: balance; }
.kit-welcome-dots { display: flex; gap: 8px; margin-top: 32px; }
.kit-welcome-dot { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 999px; cursor: pointer;
  background: color-mix(in srgb, var(--kit-welcome-light) 45%, transparent); transition: width var(--kit-press) var(--kit-ease-out); }
.kit-welcome-dot-on { width: 22px; background: var(--kit-welcome-light); }
.kit-welcome-start { margin-top: 40px; height: 56px; padding: 0 48px; border: 0; border-radius: 999px; cursor: pointer;
  background: var(--kit-accent); color: var(--kit-on-accent); font: inherit; font-size: 18px; font-weight: 600;
  transition: transform var(--kit-press) var(--kit-ease-out); }
.kit-welcome-start:active { transform: scale(0.97); }
.kit-welcome-sign-in { margin-top: 16px; min-height: 48px; padding: 0 16px; border: 0; background: transparent;
  color: color-mix(in srgb, var(--kit-welcome-light) 80%, transparent); font: inherit; font-size: 15px; font-weight: 500; cursor: pointer; }
.kit-welcome-sign-in:hover { color: var(--kit-welcome-light); }
.kit-welcome-sign-in-action { font-weight: 600; color: var(--kit-welcome-light); }
.kit-welcome-dot:focus-visible, .kit-welcome-start:focus-visible, .kit-welcome-sign-in:focus-visible {
  outline: 2px solid var(--kit-welcome-light); outline-offset: 3px; }
@media (max-width: 600px) {
  .kit-welcome-title { font-size: 40px; }
  .kit-welcome-tagline { font-size: 28px; }
}
@media (prefers-reduced-motion: reduce) { .kit-welcome-photo, .kit-welcome-photo-on { transition: none; } }

/* Boxes that give a page part its room (boxes.rs): sizes and layout only, in the theme's own colours. */
.kit-scroll-box { max-height: 380px; overflow-y: auto; overscroll-behavior: contain; }
.kit-stage-box { position: relative; isolation: isolate; min-height: 640px; overflow: hidden; }
.kit-fill-box { height: 70vh; min-height: 240px; }

/* Money pages, round 2 (13 Nov 2026). A toast with an action (Undo) beside its words. */
.kit-toast--action { display: flex; align-items: center; gap: 16px; }
.kit-toast-words { min-width: 0; }
.kit-toast-action { flex: none; height: 32px; padding: 4px 14px; color: var(--kit-on-secondary);
  border-color: color-mix(in srgb, var(--kit-on-secondary) 30%, transparent); }
/* The kit's SearchBox draws its own clear cross: the browser's own one (blue in Chrome) is hidden. */
.kit-input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; appearance: none; display: none; }
/* A dialog's words: the body's gap spaces them, so their own margins go. */
.kit-dialog-body > :is(p, ol, ul) { margin: 0; }
.kit-dialog-body > :is(ol, ul) { padding-left: 22px; }
/* Money tables (kit-table--money): rows about 36 px high. In a kit-table-wrap--money box the headings stay in view
   while the rows scroll inside it; on a phone the box grows with its rows and the page scrolls. */
.kit-table--money th { height: 36px; padding: 0 12px; }
.kit-table--money td { padding: 8px 12px; }
.kit-table-wrap--money { max-height: max(360px, calc(100vh - 220px)); max-height: max(360px, calc(100dvh - 220px)); }
.kit-table-wrap--money > .kit-table > thead th { position: sticky; top: 0; z-index: 2; background: var(--kit-raised, var(--kit-main));
  box-shadow: inset 0 -1px 0 var(--kit-line); }
@media (max-width: 700px) { .kit-table-wrap--money { max-height: none; } }
/* Words that stay on one line (dates); parts shown only on wide screens, or only on phones. */
.kit-nowrap { white-space: nowrap; }
@media (max-width: 700px) { .kit-wide-only { display: none; } }
@media (min-width: 701px) { .kit-narrow-only, .kit-cell-sub.kit-narrow-only { display: none; } }
/* A drop-down box centres its own words: the box's top and bottom padding cut them off at the 44 px height. */
select.kit-input { padding-top: 0; padding-bottom: 0; }
/* A money column's heading sits over its figures, on the right. */
.kit-table th.kit-amount { text-align: right; }
/* A filter row whose few choices keep their own width instead of stretching across the page. */
.kit-filter-row.kit-filter-row--fit > * { flex: 0 1 240px; }
/* A second, quieter line under a table cell's words (the why under what is needed). */
.kit-cell-sub { display: block; margin-top: 2px; color: var(--kit-quiet); font-size: 13px; line-height: 18px; }

/* ---- The "i" a person presses (info_button.rs, operator 13 Nov 2026). Start of the block. ----
   A quiet circled "i" in the quiet text colour, a 28 px press area around its 16 px drawing; its words on the raised
   ground with a hairline, growing from the "i" (--kit-origin) and going back into it. */
.kit-about { display: inline-flex; vertical-align: middle; margin-left: 2px; font-size: 0; line-height: 0; }
.kit-about-button { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px;
  margin: -6px -4px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--kit-quiet);
  cursor: pointer; -webkit-tap-highlight-color: transparent;
  transition: color var(--kit-enter) var(--kit-ease-out), transform var(--kit-press) var(--kit-ease-out); }
.kit-about-button svg { width: 16px; height: 16px; }
.kit-about-button:hover, .kit-about-button[aria-expanded="true"] { color: var(--kit-on-main); }
.kit-about-button:active { transform: scale(0.97); }
.kit-about-button:focus-visible { outline: 2px solid var(--kit-focus, var(--kit-on-main)); outline-offset: -2px; }
.kit-about-pop { display: none; position: fixed; z-index: 60; box-sizing: border-box; max-height: calc(100dvh - 16px);
  overflow-y: auto; padding: 10px 12px; border-radius: 10px; border: 1px solid var(--kit-line);
  background: var(--kit-raised, var(--kit-main)); color: var(--kit-on-main);
  box-shadow: 0 6px 20px color-mix(in srgb, var(--kit-on-main) 14%, transparent);
  font-family: var(--kit-font); font-size: 13px; font-weight: 400; font-style: normal; line-height: 1.45;
  letter-spacing: normal; text-align: left; text-transform: none; white-space: normal; overflow-wrap: break-word;
  transform-origin: var(--kit-origin, 50% 0); }
.kit-about-pop.kit-about-open { display: block; animation: kit-pop-in var(--kit-enter) var(--kit-ease-out); }
.kit-about-pop.kit-leaving { display: block; pointer-events: none;
  animation: kit-pop-out var(--kit-exit) var(--kit-ease-exit) forwards; }
/* ---- End of the "i" block. ---- */

/* ---- Boxes that scroll sideways show it (screenshot audit, 14 Nov 2026). Start of the block. ----
   A table wider than a phone, or a strip of tabs, scrolls inside its own box; the side where more is hidden fades out,
   so the cut reads as "more this way", and the fade goes once that end is reached. The fade follows the box's own
   scroll position (a scroll-linked animation); a browser without them shows the box as before. A mask, not a
   colour: it works on any theme and any ground. */
@property --kit-fade-start { syntax: '<length>'; inherits: false; initial-value: 0px; }
@property --kit-fade-end { syntax: '<length>'; inherits: false; initial-value: 0px; }
@keyframes kit-scroll-fade {
  0% { --kit-fade-start: 0px; --kit-fade-end: 40px; }
  4% { --kit-fade-start: 40px; }
  96% { --kit-fade-end: 40px; }
  100% { --kit-fade-start: 40px; --kit-fade-end: 0px; } }
@supports (animation-timeline: scroll()) {
  .kit-table-wrap, .kit-tabs-scroll {
    /* A mask uses only how solid each point is, never its colour: black here means "fully shown". */
    -webkit-mask-image: linear-gradient(to right, transparent, black var(--kit-fade-start), black calc(100% - var(--kit-fade-end)), transparent);
    mask-image: linear-gradient(to right, transparent, black var(--kit-fade-start), black calc(100% - var(--kit-fade-end)), transparent);
    animation: kit-scroll-fade linear both; animation-timeline: scroll(self inline); }
}
/* A phone: tables are tighter (8 px a side, 13 px type), so a name and its amount fit side by side more often. */
@media (max-width: 700px) {
  .kit-table, .kit-table--money { font-size: 13px; line-height: 18px; }
  .kit-table th, .kit-table--money th { height: 40px; padding: 0 8px; }
  .kit-table td, .kit-table--money td { padding: 10px 8px; }
  .kit-table th:first-child, .kit-table td:first-child { padding-left: 0; }
  .kit-table th:last-child, .kit-table td:last-child { padding-right: 0; }
}
/* A picker and its button on one line inside a table cell (Bank rules' "Send"): side by side, the picker taking the
   room, wrapping under each other when the cell is narrow; never one over the other. */
.kit-inline-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; min-width: 0; }
.kit-inline-row > .kit-field { flex: 1 1 180px; min-width: 0; }
.kit-inline-row > .kit-button { flex: none; }
/* Buttons and chips side by side where no row spaces them (a table cell, a sentence, a list line) stay 8 px apart. */
:is(td, p, li, dd) > :is(.kit-button, .kit-badge, .kit-link) + .kit-button,
:is(td, p, li, dd) > .kit-badge + .kit-badge { margin-inline-start: 8px; }
/* Links that sit side by side as separate choices (downloads): a row that wraps, each link clear of the next. */
.kit-link-row { display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 0; }
/* ---- End of the sideways-scroll block. ---- */

/* Public pages (kit-site). Colours are the theme's roles only: the main colour for the page (60%), the secondary for
   the header, bands, cards and footer (30%), the accent for a page's main action (10%). Sizes are fluid between a
   phone and a wide screen; nothing here needs a script. */
.kit-pub { font-size: 16px; line-height: 1.6; -webkit-text-size-adjust: 100%; text-rendering: optimizeLegibility; }
.kit-pub *, .kit-pub *::before, .kit-pub *::after { box-sizing: border-box; }
.kit-pub img, .kit-pub video, .kit-pub picture { display: block; max-width: 100%; height: auto; }
.kit-pub h1, .kit-pub h2, .kit-pub h3 { margin: 0; font-weight: 700; line-height: 1.15; text-wrap: balance; letter-spacing: -0.01em; }
.kit-pub h1 { font-size: clamp(2.1rem, 1.3rem + 3.6vw, 4rem); }
.kit-pub h2 { font-size: clamp(1.6rem, 1.2rem + 1.8vw, 2.5rem); }
.kit-pub h3 { font-size: 1.15rem; line-height: 1.3; }
.kit-pub p { margin: 0; text-wrap: pretty; }
.kit-pub a { color: inherit; }
/* A link drawn as a button keeps the button's words colour (the plain link rule above would win over it). */
.kit-pub a.kit-button--accent { color: var(--kit-on-accent); }
.kit-pub a.kit-button--secondary { color: var(--kit-on-secondary); }
.kit-pub :focus-visible { outline: 2px solid var(--kit-accent); outline-offset: 3px; border-radius: 4px; }
.kit-pub .kit-button { height: 48px; padding: 12px 24px; font-size: 16px; font-weight: 600; text-decoration: none; }
.kit-pub-wrap { width: 100%; max-width: 1180px; margin: 0 auto; padding: 0 20px; }
@media (min-width: 720px) { .kit-pub-wrap { padding: 0 32px; } }
.kit-pub-skip { position: absolute; left: 12px; top: -64px; z-index: 30; padding: 10px 16px; border-radius: 8px;
  background: var(--kit-accent); color: var(--kit-on-accent); font-weight: 600; text-decoration: none; }
.kit-pub-skip:focus { top: 12px; }

/* Header: the logo, the links, the one accent button; on a phone the links fold into a menu. */
.kit-pub-header { position: sticky; top: 0; z-index: 20; border-bottom: 1px solid var(--kit-line);
  background: color-mix(in srgb, var(--kit-main) 88%, transparent); backdrop-filter: blur(12px); }
.kit-pub-bar { display: flex; align-items: center; gap: 24px; min-height: 68px; }
.kit-pub-logo { display: inline-flex; align-items: center; margin-right: auto; text-decoration: none; }
.kit-pub-logo img { height: 34px; width: auto; }
.kit-pub-logo-words { font-size: 1.35rem; font-weight: 800; letter-spacing: 0.02em; }
.kit-pub-nav { display: none; align-items: center; gap: 28px; }
.kit-pub-nav a, .kit-pub-menu nav a:not(.kit-button) { color: var(--kit-on-main); text-decoration: none; font-weight: 500; }
.kit-pub-nav a:hover, .kit-pub-nav a[aria-current] { text-decoration: underline; text-underline-offset: 6px; }
.kit-pub-action { display: none; }
.kit-pub-menu { position: relative; }
.kit-pub-menu summary { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border-radius: 12px;
  border: 1px solid var(--kit-line); cursor: pointer; font-weight: 600; list-style: none; }
.kit-pub-menu summary::-webkit-details-marker { display: none; }
.kit-pub-menu nav { position: absolute; right: 0; top: calc(100% + 10px); display: grid; gap: 4px; min-width: 240px;
  padding: 12px; border-radius: 16px; border: 1px solid var(--kit-line); background: var(--kit-secondary);
  color: var(--kit-on-secondary); animation: kit-pop-in var(--kit-enter) var(--kit-ease-out); transform-origin: top right; }
.kit-pub-menu nav a:not(.kit-button) { display: flex; align-items: center; min-height: 44px; padding: 0 12px; border-radius: 10px;
  color: var(--kit-on-secondary); }
.kit-pub-menu nav .kit-button { margin-top: 8px; }
@media (min-width: 900px) {
  .kit-pub-nav { display: flex; }
  .kit-pub-action { display: inline-flex; }
  .kit-pub .kit-pub-action { height: 44px; padding: 10px 20px; font-size: 15px; }
  .kit-pub-menu { display: none; }
}

/* The opening block. */
.kit-pub-hero { padding: clamp(40px, 7vw, 96px) 0; }
.kit-pub-hero-inner { display: grid; gap: clamp(28px, 5vw, 56px); align-items: center; }
.kit-pub-hero-words { display: grid; gap: 20px; justify-items: start; }
.kit-pub-hero--split h1 { max-width: 14ch; }
.kit-pub-hero-media { min-width: 0; border-radius: 24px; overflow: hidden; }
.kit-pub-hero-media img, .kit-pub-hero-media video { width: 100%; }
@media (min-width: 900px) { .kit-pub-hero--split .kit-pub-hero-inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); } }
.kit-pub-label { font-size: 0.85rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--kit-quiet); }
.kit-pub-lead { max-width: 62ch; font-size: clamp(1.05rem, 1rem + 0.35vw, 1.3rem); line-height: 1.55; color: var(--kit-quiet); }
.kit-pub-actions { display: flex; flex-wrap: wrap; gap: 12px; }

/* Sections and bands. */
.kit-pub-section { padding: clamp(48px, 7vw, 96px) 0; }
.kit-pub-section > .kit-pub-wrap { display: grid; gap: 24px; }
.kit-pub-band { background: var(--kit-secondary); color: var(--kit-on-secondary); }
/* On a secondary-coloured surface the quiet text, lines and accent text follow that surface, so a light secondary
   under a dark main (or the reverse) stays readable; a main-coloured card inside a band switches back. */
.kit-pub-band, .kit-pub-footer, .kit-pub-faq details, .kit-pub-card, .kit-pub-form-alert, .kit-pub-explode-frame {
  --kit-quiet: color-mix(in srgb, var(--kit-on-secondary) 68%, var(--kit-secondary));
  --kit-line: color-mix(in srgb, var(--kit-on-secondary) 16%, var(--kit-secondary));
  --kit-accent-text: color-mix(in srgb, var(--kit-accent) 60%, var(--kit-on-secondary)); }
.kit-pub-band .kit-pub-card {
  --kit-quiet: color-mix(in srgb, var(--kit-on-main) 68%, var(--kit-main));
  --kit-line: color-mix(in srgb, var(--kit-on-main) 16%, var(--kit-main));
  --kit-accent-text: color-mix(in srgb, var(--kit-accent) 60%, var(--kit-on-main)); }
.kit-pub-band .kit-pub-lead, .kit-pub-band .kit-pub-label { color: color-mix(in srgb, var(--kit-on-secondary) 72%, var(--kit-secondary)); }
.kit-pub-cta > .kit-pub-wrap { justify-items: center; text-align: center; }

/* Grids of cards. */
.kit-pub-grid { --kit-rows-gap: 20px; margin: 8px 0 0; padding: 0; list-style: none; }
.kit-pub-card { position: relative; display: grid; align-content: start; gap: 10px; padding: 24px; border-radius: 20px;
  background: var(--kit-secondary); color: var(--kit-on-secondary); border: 1px solid var(--kit-line); }
.kit-pub-band .kit-pub-card { background: var(--kit-main); color: var(--kit-on-main); }
.kit-pub-card p { color: color-mix(in srgb, currentColor 78%, transparent); }
.kit-pub-card-media { margin: -24px -24px 6px; border-radius: 20px 20px 0 0; overflow: hidden; }
.kit-pub-card-media img, .kit-pub-card-media video { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
@media (max-width: 639px) {
  .kit-pub-card { padding: 16px; gap: 8px; border-radius: 16px; }
  .kit-pub-card-media { margin: -16px -16px 4px; border-radius: 16px 16px 0 0; }
  .kit-pub-card--link h3 a::after { border-radius: 16px; }
  .kit-pub-rows:not(.kit-pub-rows--wordy) .kit-pub-card h3 { font-size: 1rem; }
  .kit-pub-rows:not(.kit-pub-rows--wordy) .kit-pub-card p { font-size: 0.875rem; }
}

/* Even rows (pieces::rows_class): --kit-rows-phone / -mid / -wide items across; a last row that is not full is centred. */
.kit-pub-rows { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--kit-rows-gap, 16px);
  --kit-rows: var(--kit-rows-phone); --kit-rows-phone: 2; }
.kit-pub-rows > * { flex: 0 0 calc((100% - (var(--kit-rows) - 1) * var(--kit-rows-gap, 16px)) / var(--kit-rows)); min-width: 0; }
@media (min-width: 640px) { .kit-pub-rows { --kit-rows: var(--kit-rows-mid); } }
@media (min-width: 1000px) { .kit-pub-rows { --kit-rows: var(--kit-rows-wide); } }
.kit-pub-n1 { --kit-rows-phone: 1; --kit-rows-mid: 1; --kit-rows-wide: 1; }
.kit-pub-n2 { --kit-rows-mid: 2; --kit-rows-wide: 2; }
.kit-pub-n3 { --kit-rows-mid: 3; --kit-rows-wide: 3; }
.kit-pub-n4 { --kit-rows-mid: 2; --kit-rows-wide: 4; }
.kit-pub-n5 { --kit-rows-mid: 3; --kit-rows-wide: 5; }
.kit-pub-n6, .kit-pub-n9 { --kit-rows-mid: 3; --kit-rows-wide: 3; }
.kit-pub-n7, .kit-pub-n8, .kit-pub-n11, .kit-pub-n12, .kit-pub-n13 { --kit-rows-mid: 3; --kit-rows-wide: 4; }
.kit-pub-n10 { --kit-rows-mid: 3; --kit-rows-wide: 5; }
.kit-pub-rows--wordy { --kit-rows-phone: 1; }
/* One card alone stays card-sized. */
.kit-pub-grid.kit-pub-n1 > * { max-width: 440px; }
.kit-pub-card--link { transition: transform var(--kit-enter) var(--kit-ease-out), border-color var(--kit-enter) var(--kit-ease-out); }
.kit-pub-card--link:hover { transform: translateY(-3px); border-color: color-mix(in srgb, var(--kit-on-main) 35%, transparent); }
/* A link card's picture zooms a little while the card is pointed at or holds the keyboard's focus; it settles back a
   fifth quicker. */
@media (prefers-reduced-motion: no-preference) {
  .kit-pub-card--link .kit-pub-card-media img { transition: scale calc(var(--kit-exit) * 2) var(--kit-ease-exit); }
  .kit-pub-card--link:is(:hover, :focus-within) .kit-pub-card-media img { scale: 1.04;
    transition: scale calc(var(--kit-enter) * 2) var(--kit-ease-out); }
}
.kit-pub-card--link h3 a { text-decoration: none; }
.kit-pub-card--link h3 a::after { content: ''; position: absolute; inset: 0; border-radius: 20px; }
.kit-pub .kit-pub-more { font-weight: 600; color: var(--kit-accent-text); }

/* A picture beside words. */
.kit-pub-split { display: grid; gap: clamp(24px, 4vw, 56px); align-items: center; }
.kit-pub-split-media { min-width: 0; border-radius: 24px; overflow: hidden; }
.kit-pub-split-media img, .kit-pub-split-media video { width: 100%; }
.kit-pub-split-words { display: grid; gap: 16px; justify-items: start; }
@media (min-width: 900px) {
  .kit-pub-split { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kit-pub-split--flip .kit-pub-split-media { order: 2; }
}

/* Questions and answers. */
.kit-pub-faq { display: grid; gap: 12px; max-width: 820px; }
.kit-pub-faq details { border: 1px solid var(--kit-line); border-radius: 16px; background: var(--kit-secondary); color: var(--kit-on-secondary); }
.kit-pub-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 60px; padding: 14px 20px;
  cursor: pointer; font-weight: 600; list-style: none; }
.kit-pub-faq summary::-webkit-details-marker { display: none; }
.kit-pub-faq summary::after { content: '+'; font-size: 1.5rem; font-weight: 400; line-height: 1; transition: transform var(--kit-enter) var(--kit-ease-out); }
.kit-pub-faq details[open] summary::after { transform: rotate(45deg); }
.kit-pub-faq details > div { padding: 0 20px 20px; }

/* Facts, the trail, long text. */
.kit-pub-facts { display: grid; margin: 0; max-width: 720px; }
.kit-pub-facts > div { display: grid; grid-template-columns: minmax(120px, 0.8fr) 1.2fr; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--kit-line); }
.kit-pub-facts dt { color: var(--kit-quiet); }
.kit-pub-facts dd { margin: 0; font-weight: 500; }
.kit-pub-crumbs { padding-top: 24px; font-size: 0.9rem; color: var(--kit-quiet); }
.kit-pub-crumbs ol { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.kit-pub-crumbs li + li::before { content: '/'; margin-right: 8px; }
.kit-pub-prose { display: grid; gap: 1.1em; max-width: 72ch; }
.kit-pub-prose h2 { margin-top: 0.9em; font-size: clamp(1.4rem, 1.2rem + 0.9vw, 1.9rem); }
.kit-pub-prose h3 { margin-top: 0.6em; font-size: 1.2rem; }
.kit-pub-prose ul, .kit-pub-prose ol { display: grid; gap: 0.5em; margin: 0; padding-left: 1.3em; }
.kit-pub-prose a { color: var(--kit-accent-text); text-underline-offset: 3px; }
.kit-pub-prose img { border-radius: 16px; }
.kit-pub-prose blockquote { margin: 0; padding-left: 1em; border-left: 3px solid var(--kit-line); color: var(--kit-quiet); }
.kit-pub-prose table { width: 100%; border-collapse: collapse; font-size: 0.95rem; }
.kit-pub-prose th, .kit-pub-prose td { padding: 10px 12px; border-bottom: 1px solid var(--kit-line); text-align: left; vertical-align: top; }
.kit-pub-scroll { overflow-x: auto; }

/* Footer. */
.kit-pub-footer { padding: 56px 0 40px; border-top: 1px solid var(--kit-line); background: var(--kit-secondary); color: var(--kit-on-secondary); }
.kit-pub-footer > .kit-pub-wrap { display: grid; gap: 28px; }
.kit-pub-footer-columns { display: grid; gap: 32px; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
.kit-pub-footer h2 { margin-bottom: 12px; font-size: 0.85rem; letter-spacing: 0.12em; text-transform: uppercase;
  color: color-mix(in srgb, var(--kit-on-secondary) 70%, var(--kit-secondary)); }
.kit-pub-footer ul { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }
.kit-pub-footer li a { display: inline-flex; align-items: center; min-height: 40px; text-decoration: none; }
.kit-pub-footer li a:hover { text-decoration: underline; text-underline-offset: 4px; }
.kit-pub-small { font-size: 0.875rem; color: color-mix(in srgb, var(--kit-on-secondary) 70%, var(--kit-secondary)); }

@media (prefers-reduced-motion: reduce) {
  .kit-pub *, .kit-pub *::before, .kit-pub *::after { animation-duration: 1ms !important; transition-duration: 1ms !important; }
}

/* The age check: over the whole page until answered; the page behind is hidden from view and from screen readers. */
.kit-pub-gate { position: fixed; inset: 0; z-index: 50; display: grid; place-items: center; padding: 20px;
  background: color-mix(in srgb, var(--kit-main) 92%, transparent); backdrop-filter: blur(16px);
  animation: kit-fade-in var(--kit-enter) var(--kit-ease-out); }
body:has(> .kit-pub-gate) { overflow: hidden; }
body:has(> .kit-pub-gate) > :not(.kit-pub-gate) { visibility: hidden; }
.kit-pub-gate-box { display: grid; gap: 16px; max-width: 460px; width: 100%; padding: 32px; border-radius: 24px;
  border: 1px solid var(--kit-line); background: var(--kit-secondary); color: var(--kit-on-secondary); text-align: center;
  animation: kit-pop-in var(--kit-enter) var(--kit-ease-out); }
.kit-pub-gate-box .kit-pub-actions { justify-content: center; }
.kit-pub-gate-box h2 { font-size: clamp(1.5rem, 1.3rem + 1vw, 2rem); }

/* Forms (kit-forms): a label over each field, two columns on a wide screen, the message under a field that needs fixing. */
.kit-pub-form { display: grid; gap: 24px; max-width: 760px; }
.kit-pub-form-fields { display: grid; gap: 20px; }
@media (min-width: 720px) { .kit-pub-form-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); } .kit-pub-field--wide { grid-column: 1 / -1; } }
.kit-pub-field { display: grid; gap: 6px; align-content: start; }
.kit-pub-field label { font-weight: 600; }
.kit-pub-optional, .kit-pub-hint { font-weight: 400; font-size: 0.9rem; color: var(--kit-quiet); }
.kit-pub-field input:not([type=checkbox]), .kit-pub-field select, .kit-pub-field textarea { width: 100%; min-height: 48px; padding: 12px 14px;
  border-radius: 12px; border: 1px solid var(--kit-line); background: var(--kit-main); color: var(--kit-on-main); font: inherit; }
.kit-pub-field textarea { resize: vertical; }
.kit-pub-field input:focus, .kit-pub-field select:focus, .kit-pub-field textarea:focus { outline: 2px solid var(--kit-accent); outline-offset: 1px; border-color: transparent; }
.kit-pub-field--tick { grid-template-columns: auto 1fr; align-items: start; column-gap: 12px; }
.kit-pub-field--tick input { width: 22px; height: 22px; margin-top: 2px; accent-color: var(--kit-accent); }
.kit-pub-field--tick label { font-weight: 400; }
.kit-pub-field--tick .kit-pub-error { grid-column: 1 / -1; }
.kit-pub-field--error input, .kit-pub-field--error select, .kit-pub-field--error textarea { border: 2px solid var(--kit-accent); }
.kit-pub-error { font-weight: 600; color: var(--kit-accent-text); }
.kit-pub-form-alert { padding: 16px 20px; border-radius: 16px; border: 2px solid var(--kit-accent); background: var(--kit-secondary); color: var(--kit-on-secondary); }
.kit-pub-form-alert ul { margin: 8px 0 0; padding-left: 1.2em; }
.kit-pub-form-alert a { color: inherit; }
.kit-pub-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.kit-pub-form > .kit-button { justify-self: start; }

/* A post (kit-blog-pages): its heading, date and reading time, cover picture, and the text in a readable column. */
.kit-pub-article > .kit-pub-wrap { display: grid; gap: 28px; max-width: 860px; }
.kit-pub-article-head { display: grid; gap: 14px; }
.kit-pub-article-head h1 { font-size: clamp(2rem, 1.4rem + 2.6vw, 3.2rem); }
.kit-pub-meta { color: var(--kit-quiet); font-size: 0.95rem; }
.kit-pub-article-cover { border-radius: 24px; overflow: hidden; }
.kit-pub-article .kit-pub-prose { font-size: 1.075rem; line-height: 1.75; }

/* A product (kit-catalog): the gallery beside the words, then the description and facts, videos, questions. */
.kit-pub-product > .kit-pub-wrap { display: grid; gap: 24px; }
.kit-pub-product-top { display: grid; gap: clamp(24px, 4vw, 56px); align-items: start; }
@media (min-width: 900px) { .kit-pub-product-top { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); } .kit-pub-product-words { position: sticky; top: 96px; } }
.kit-pub-product-words { display: grid; gap: 18px; justify-items: start; }
.kit-pub-product-words h2 { font-size: 1.1rem; margin-top: 8px; }
.kit-pub-price { font-size: 1.6rem; font-weight: 700; }
.kit-pub-small-line, .kit-pub-note { font-size: 0.9rem; color: var(--kit-quiet); }
.kit-pub-note { padding: 24px 0 0; }
.kit-pub-ticks { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.kit-pub-ticks li { display: grid; grid-template-columns: 20px 1fr; gap: 10px; }
.kit-pub-ticks li::before { content: '✓'; font-weight: 700; color: var(--kit-accent-text); }
.kit-pub-product-more { display: grid; gap: 40px; }
@media (min-width: 900px) { .kit-pub-product-more { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); } }
.kit-pub-gallery { display: grid; gap: 12px; min-width: 0; }
.kit-pub-gallery-track { display: grid; grid-auto-flow: column; grid-auto-columns: 100%; gap: 12px; margin: 0; padding: 0; list-style: none;
  overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; overscroll-behavior-x: contain; border-radius: 24px; scrollbar-width: none; }
.kit-pub-gallery-track::-webkit-scrollbar { display: none; }
.kit-pub-gallery-track > li { scroll-snap-align: start; border-radius: 24px; overflow: hidden; background: var(--kit-secondary); }
.kit-pub-gallery-track img { width: 100%; aspect-ratio: 1 / 1; object-fit: contain; }
.kit-pub-gallery-thumbs { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; }
.kit-pub-gallery-thumbs a { flex: 0 0 64px; width: 64px; height: 64px; border-radius: 12px; overflow: hidden; border: 2px solid var(--kit-line);
  background: var(--kit-secondary); transition: border-color var(--kit-enter) var(--kit-ease-out); }
.kit-pub-gallery-thumbs a:hover, .kit-pub-gallery-thumbs a:focus-visible { border-color: var(--kit-accent); }
.kit-pub-gallery-thumbs span, .kit-pub-gallery-thumbs picture { display: block; width: 100%; height: 100%; }
.kit-pub-gallery-thumbs img { width: 100%; height: 100%; object-fit: cover; }
@media (min-width: 900px) {
  .kit-pub-gallery { grid-template-columns: 64px minmax(0, 1fr); align-items: start; }
  .kit-pub-gallery-thumbs { order: -1; flex-direction: column; overflow: visible; }
}
/* The brand's panels: full-width rows, or up to four squares side by side. */
.kit-pub-story { display: grid; gap: 16px; margin-top: 24px; }
.kit-pub-story-row { --kit-rows-gap: 16px; }
.kit-pub-story-row img { width: 100%; height: auto; display: block; border-radius: 20px; }
@media (max-width: 639px) { .kit-pub-story, .kit-pub-story-row { gap: 10px; --kit-rows-gap: 10px; } .kit-pub-story-row img { border-radius: 12px; } }
/* The points beside the pictures. */
.kit-pub-highlights { display: grid; gap: 12px; margin: 0; padding: 0 0 0 20px; }
.kit-pub-highlights li { line-height: 1.55; }
.kit-pub-highlights li::marker { color: var(--kit-accent-text); }
.kit-pub-product-side { display: grid; gap: 32px; align-content: start; }
.kit-pub-videos { display: grid; gap: 20px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); }
.kit-pub-videos video { width: 100%; height: auto; border-radius: 20px; background: var(--kit-secondary); }
@media (prefers-reduced-motion: reduce) { .kit-pub-gallery-track { scroll-behavior: auto; } }

/* Galleries and video grids. */
.kit-pub-photos { --kit-rows-gap: 12px; margin: 0; padding: 0; list-style: none; }
@media (max-width: 639px) { .kit-pub-photos { --kit-rows-gap: 8px; } }
.kit-pub-photos figure, .kit-pub-video-grid figure { display: grid; gap: 8px; margin: 0; }
.kit-pub-photos img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 16px; background: var(--kit-secondary); }
.kit-pub-photos figcaption, .kit-pub-video-grid figcaption { font-size: 0.9rem; color: var(--kit-quiet); }
.kit-pub-video-grid { display: grid; gap: 20px; margin: 0; padding: 0; list-style: none; grid-template-columns: repeat(auto-fill, minmax(min(100%, 360px), 1fr)); }
.kit-pub-video-grid.kit-pub-rows { display: flex; gap: var(--kit-rows-gap, 16px); }
.kit-pub-video-grid--upright { --kit-rows-gap: 20px; --kit-rows-mid: 3; --kit-rows-wide: 4; }
.kit-pub-video-grid--upright.kit-pub-n1 { --kit-rows-mid: 2; --kit-rows-wide: 3; }
@media (max-width: 639px) { .kit-pub-video-grid--upright { --kit-rows-gap: 10px; } }
.kit-pub-video-grid video { width: 100%; height: auto; border-radius: 20px; background: var(--kit-secondary); }
.kit-pub-hero-media video { width: 100%; height: auto; display: block; }
.kit-pub-feature-video video { width: 100%; height: auto; border-radius: 24px; background: var(--kit-main); }

/* Effects, all without a script. Each one moves only where the browser can do it and the visitor has not asked for
   less motion; anywhere else the page is simply there, complete and still. */

/* Reveals: below a page's first piece (on screen when the page opens), cards, photos, videos, pictures beside words
   and questions fade in and rise 16px as they scroll into view. The motion follows the scrolling, so scrolling back
   plays it backwards. `translate`, not `transform`, so a card's lift on hover still works. */
@keyframes kit-pub-reveal { from { opacity: 0; translate: 0 16px; } }
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    main > :not(:first-child) :is(.kit-pub-card, .kit-pub-photos > li, .kit-pub-video-grid > li, .kit-pub-videos > *,
      .kit-pub-split, .kit-pub-story-row > *, .kit-pub-feature-video, .kit-pub-faq details) {
      animation: kit-pub-reveal var(--kit-ease-out) both; animation-timeline: view(); animation-range: entry 0% entry 60%; }
  }
}

/* Page to page: on a link within the site the old page fades out and the new one fades in, the way out a fifth
   shorter, while the header has its own name and so stays where it is. Plain blending, so the two pages never add
   up to a flash of light. */
@supports (view-transition-name: none) {
  @media (prefers-reduced-motion: no-preference) {
    @view-transition { navigation: auto; }
    ::view-transition-old(root) { animation: kit-fade-out var(--kit-exit) var(--kit-ease-exit) both; mix-blend-mode: normal; }
    ::view-transition-new(root) { animation: kit-fade-in var(--kit-enter) var(--kit-ease-out) both; mix-blend-mode: normal; }
    .kit-pub-header { view-transition-name: kit-pub-header; }
    ::view-transition-group(kit-pub-header) { animation-duration: var(--kit-enter); animation-timing-function: var(--kit-ease-out); }
  }
}

/* A picture switcher (pieces::picture_switcher): the chosen version's picture, with the text chips under it; the
   chosen chip carries the accent, the others are quiet outlines. Each chip is the label of a radio button kept out of
   sight but still reached by the keyboard (arrow keys move between versions); the focused one rings its chip. The
   other pictures wait, hidden, in the same frame, so a switch is a short cross-fade where motion is allowed. */
.kit-pub-switch { width: 100%; max-width: 600px; min-width: 0; margin: 0; padding: 0; border: 0; }
.kit-pub-switch-body { position: relative; display: flex; flex-wrap: wrap; gap: 16px 8px; }
.kit-pub-switch-pic { order: -1; flex: 0 0 100%; min-width: 0; }
.kit-pub-switch-pic img { width: 100%; border-radius: 24px; background: var(--kit-secondary); }
.kit-pub-switch-body > .kit-pub-switch-pic { position: absolute; top: 0; left: 0; width: 100%; visibility: hidden; opacity: 0; }
.kit-pub-switch-body > .kit-pub-switch-input:checked + .kit-pub-switch-chip + .kit-pub-switch-pic { position: relative;
  visibility: visible; opacity: 1; }
.kit-pub-switch-chip { display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border-radius: 999px;
  border: 1px solid var(--kit-line); color: var(--kit-quiet); font-weight: 600; cursor: pointer; user-select: none; }
.kit-pub-switch-chip:hover { color: inherit; border-color: currentColor; }
.kit-pub-switch-input:checked + .kit-pub-switch-chip { background: var(--kit-accent); border-color: var(--kit-accent); color: var(--kit-on-accent); }
.kit-pub-switch-input:focus-visible + .kit-pub-switch-chip { outline: 2px solid var(--kit-accent); outline-offset: 3px; }
@media (prefers-reduced-motion: no-preference) {
  .kit-pub-switch-chip { transition: background-color var(--kit-enter) var(--kit-ease-out), color var(--kit-enter) var(--kit-ease-out),
    border-color var(--kit-enter) var(--kit-ease-out), transform var(--kit-press) var(--kit-ease-out); }
  .kit-pub-switch-chip:active { transform: scale(0.97); }
  .kit-pub-switch-body > .kit-pub-switch-pic { transition: opacity var(--kit-exit) var(--kit-ease-exit), visibility 0s linear var(--kit-exit); }
  .kit-pub-switch-body > .kit-pub-switch-input:checked + .kit-pub-switch-chip + .kit-pub-switch-pic {
    transition: opacity var(--kit-enter) var(--kit-ease-out), visibility 0s; }
}

/* The stage (stage::stage): a product's opening block on the page's main colour. Everything centred: the heading and
   a short line, the product large with a soft accent glow behind its lower half, haze behind everything (its black
   screened away into the page), the chips (the picture switcher's look), the buttons. The chosen radio button turns
   the hue of the product and the glow (the rules for each tenth degree are made with the sheet, stage::hue_css). */
.kit-pub-stage { position: relative; overflow: clip; isolation: isolate; background: var(--kit-main); color: var(--kit-on-main); }
.kit-pub-stage-inner { position: relative; z-index: 1; display: grid; justify-items: center; align-content: center; gap: 24px;
  width: 100%; max-width: 1180px; min-height: inherit; margin: 0 auto; padding: clamp(28px, 4vw, 48px) 16px; text-align: center; }
@media (min-width: 720px) { .kit-pub-stage-inner { padding-left: 32px; padding-right: 32px; } }
@media (min-width: 900px) { .kit-pub-stage { min-height: min(100vh, 920px); min-height: min(100svh, 920px); } }
.kit-pub-stage-words { display: grid; gap: 14px; justify-items: center; }
.kit-pub-stage h1 { max-width: 18ch; text-wrap: balance; font-size: clamp(2.25rem, 1.6rem + 2.6vw, 3.75rem); }
@media (min-width: 900px) { .kit-pub-stage h1 { max-width: none; } }
.kit-pub-stage .kit-pub-actions { justify-content: center; }
.kit-pub-stage-air { position: absolute; inset: 0; z-index: 0; overflow: clip; opacity: 0.35; mix-blend-mode: screen; pointer-events: none; }
.kit-pub-stage-drift { position: absolute; inset: 0 -5%; }
.kit-pub .kit-pub-stage-drift picture { position: absolute; inset: 0; max-width: none; height: 100%; }
.kit-pub .kit-pub-stage-drift img { width: 100%; height: 100%; max-width: none; object-fit: cover; mix-blend-mode: screen; }
.kit-pub-stage-pick { width: 100%; min-width: 0; margin: 0; padding: 0; border: 0; }
.kit-pub-stage-body { position: relative; display: flex; flex-wrap: wrap; justify-content: center; gap: 24px 8px; }
.kit-pub-stage-show { order: -1; flex: 0 0 100%; min-width: 0; }
.kit-pub-stage-tint { position: relative; display: grid; justify-items: center; filter: hue-rotate(0deg); }
.kit-pub-stage-glow { position: absolute; left: 0; right: 0; bottom: 0; z-index: 0; width: min(100%, 760px); height: 58%; margin: 0 auto;
  pointer-events: none; }
.kit-pub-stage-light { width: 100%; height: 100%; border-radius: 50%; opacity: 0.7; filter: blur(40px);
  background: radial-gradient(closest-side, color-mix(in srgb, var(--kit-accent) 40%, transparent), transparent); }
.kit-pub-stage-product, .kit-pub-stage-rise { position: relative; z-index: 1; display: grid; justify-items: center; width: 100%; min-width: 0; }
.kit-pub .kit-pub-stage-rise picture { display: grid; justify-items: center; width: 100%; }
.kit-pub .kit-pub-stage-rise img { width: auto; max-width: 100%; height: 52vh; height: 52svh; object-fit: contain; }
/* On a wide screen the title, the product and the chips share the first screen. */
@media (min-width: 900px) { .kit-pub .kit-pub-stage-rise img { height: 50vh; height: 50svh; } }

/* The stage's motion. On opening: the words fade in, the product rises 24px into view, the glow comes up last. Then
   the glow breathes slowly (the page's one signature motion) and the haze drifts sideways. A new version's hue turns
   over 400ms. As the stage scrolls away the product eases back and the haze fades out. Each moving part has its own
   wrapper, so no element carries two motions. */
@keyframes kit-pub-stage-rise { from { opacity: 0; translate: 0 24px; } }
@keyframes kit-pub-stage-breathe { from { opacity: 0.55; scale: 0.96; } to { opacity: 0.8; scale: 1.04; } }
@keyframes kit-pub-stage-drift { from { translate: -4% 0; } to { translate: 4% 0; } }
@keyframes kit-pub-stage-away { to { opacity: 0.6; scale: 0.92; } }
@media (prefers-reduced-motion: no-preference) {
  .kit-pub-stage-words { animation: kit-fade-in 400ms var(--kit-ease-out) both; }
  .kit-pub-stage-rise { animation: kit-pub-stage-rise 900ms var(--kit-ease-out) 120ms both; }
  .kit-pub-stage-glow { animation: kit-fade-in 600ms var(--kit-ease-out) 400ms both; }
  .kit-pub-stage-light { animation: kit-pub-stage-breathe 6s ease-in-out infinite alternate; }
  .kit-pub-stage-drift { animation: kit-pub-stage-drift 40s linear infinite alternate; }
  .kit-pub-stage-tint { transition: filter 400ms var(--kit-ease-out); }
}
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .kit-pub-stage-product { animation: kit-pub-stage-away var(--kit-ease-out) both; animation-timeline: view();
      animation-range: exit 0% exit 100%; }
    .kit-pub-stage-air { animation: kit-fade-out linear both; animation-timeline: view(); animation-range: exit 0% exit 100%; }
  }
}

/* Showcase pieces (kit-site showcase.rs). Each piece is complete and still on its own; its motion sits inside
   `prefers-reduced-motion: no-preference`, and motion linked to scrolling also inside `@supports (animation-timeline:
   view())`. Entrances ease out with the kit's curve over small distances, and each element carries one motion. Colours
   are the theme's roles only. */

/* Spotlight (showcase::spotlight): big pictures beside short words; on a wide screen the rows alternate sides. */
.kit-pub-spotlights { display: grid; gap: clamp(48px, 8vw, 112px); margin: 8px 0 0; padding: 0; list-style: none; }
.kit-pub-spotlight { --kit-pub-spot-from: 24px; display: grid; gap: clamp(20px, 4vw, 64px); align-items: center; }
.kit-pub-spotlight-media { min-width: 0; }
.kit-pub-spotlight-frame { border-radius: 24px; overflow: hidden; }
.kit-pub .kit-pub-spotlight-frame picture { width: 100%; }
.kit-pub .kit-pub-spotlight-frame img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.kit-pub-spotlight-words { display: grid; gap: 12px; justify-items: start; min-width: 0; }
.kit-pub .kit-pub-spotlight-words h3 { font-size: clamp(1.5rem, 1.15rem + 1.4vw, 2.25rem); }
.kit-pub-spotlight-link { display: inline-flex; align-items: center; min-height: 44px; text-underline-offset: 4px; }
@media (min-width: 900px) {
  .kit-pub-spotlight { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
  .kit-pub-spotlight:nth-child(even) { --kit-pub-spot-from: -24px; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); }
  .kit-pub-spotlight:nth-child(even) .kit-pub-spotlight-media { order: 2; }
}
/* As a row comes into view its picture grows from 0.92 and drifts up a little; its words slide in 24px from their
   side and fade in. Both follow the scrolling. */
@keyframes kit-pub-spot-picture { from { scale: 0.92; translate: 0 32px; } }
@keyframes kit-pub-spot-words { from { opacity: 0; translate: var(--kit-pub-spot-from) 0; } }
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .kit-pub-spotlight-frame { animation: kit-pub-spot-picture var(--kit-ease-out) both; animation-timeline: view();
      animation-range: entry 0% entry 100%; }
    .kit-pub-spotlight-words { animation: kit-pub-spot-words var(--kit-ease-out) both; animation-timeline: view();
      animation-range: entry 10% entry 90%; }
  }
}

/* Exploded view (showcase::explode): a product's parts on a panel of the secondary colour, each picture's white
   melting into the panel, each part's name beside it after a short rule. Still, the parts sit apart. */
.kit-pub-explode-frame { display: grid; place-items: center; padding: clamp(24px, 4vw, 48px) clamp(16px, 4vw, 48px);
  border-radius: 24px; background: var(--kit-secondary); color: var(--kit-on-secondary); }
.kit-pub-explode { --kit-explode-widest: clamp(104px, 15vh, 180px); }
.kit-pub-explode-parts { display: grid; gap: 36px; width: 100%; max-width: 720px; margin: 0; padding: 0; list-style: none; }
.kit-pub-explode-part { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center;
  gap: clamp(16px, 4vw, 40px); }
.kit-pub-explode-pic { justify-self: end; min-width: 0; }
.kit-pub .kit-pub-explode-pic img { width: auto; max-width: 100%; height: clamp(72px, 14vh, 160px); object-fit: contain;
  mix-blend-mode: multiply; }
/* Parts at their real widths (showcase::explode_scaled): each a share of the widest part's width. */
.kit-pub .kit-pub-explode-part[class*="kit-pub-explode-w"] .kit-pub-explode-pic img { height: auto;
  width: calc(var(--kit-explode-widest) * var(--kit-explode-share)); }
.kit-pub-explode-w10 { --kit-explode-share: 0.1; } .kit-pub-explode-w20 { --kit-explode-share: 0.2; }
.kit-pub-explode-w30 { --kit-explode-share: 0.3; } .kit-pub-explode-w40 { --kit-explode-share: 0.4; }
.kit-pub-explode-w50 { --kit-explode-share: 0.5; } .kit-pub-explode-w60 { --kit-explode-share: 0.6; }
.kit-pub-explode-w70 { --kit-explode-share: 0.7; } .kit-pub-explode-w80 { --kit-explode-share: 0.8; }
.kit-pub-explode-w90 { --kit-explode-share: 0.9; } .kit-pub-explode-w100 { --kit-explode-share: 1; }
.kit-pub-explode-name { display: flex; align-items: center; gap: 12px; font-weight: 600; font-size: clamp(1rem, 0.9rem + 0.5vw, 1.25rem); }
.kit-pub-explode-name::before { content: ''; flex: 0 0 auto; width: clamp(16px, 4vw, 40px); border-top: 1px solid var(--kit-line); }
/* Moving: the block is tall and its panel stays on screen under the header while the visitor scrolls through it; the
   parts start together and the gaps open to 36px, then the names fade in beside them. Shorter on a phone. */
@keyframes kit-pub-explode-open { from { gap: 0; } }
@keyframes kit-pub-explode-name { from { opacity: 0; translate: -12px 0; } }
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .kit-pub-explode { height: 240vh; view-timeline-name: --kit-pub-explode; }
    .kit-pub-explode-frame { position: sticky; top: 88px; min-height: calc(100vh - 120px); min-height: calc(100svh - 120px); }
    .kit-pub-explode-parts { animation: kit-pub-explode-open var(--kit-ease-out) both; animation-timeline: --kit-pub-explode;
      animation-range: contain 0% contain 60%; }
    .kit-pub-explode-name { animation: kit-pub-explode-name var(--kit-ease-out) both; animation-timeline: --kit-pub-explode;
      animation-range: contain 30% contain 75%; }
  }
  @media (prefers-reduced-motion: no-preference) {
    @media (max-width: 639px) { .kit-pub-explode { height: 170vh; } }
  }
}

/* Cinema (showcase::cinema): a feature video at the full width with nearly square corners. */
.kit-pub-cinema { display: grid; gap: 8px; margin: 0; }
.kit-pub-cinema-frame { overflow: hidden; border-radius: 12px; background: var(--kit-main); }
.kit-pub-cinema video { display: block; width: 100%; height: auto; }
/* It starts framed, about 82% wide with rounder corners, and grows to the full width as it reaches the middle of the
   screen. */
@keyframes kit-pub-cinema-grow { from { scale: 0.82; border-radius: 32px; } }
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .kit-pub-cinema-frame { animation: kit-pub-cinema-grow var(--kit-ease-out) both; animation-timeline: view();
      animation-range: entry 0% cover 50%; }
  }
}

/* Moving strip (showcase::marquee). Still, it is one row the visitor scrolls sideways, and the decorative copy is not
   drawn. */
.kit-pub-marquee { --kit-pub-marquee-gap: 16px; min-width: 0; max-width: 100%; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain;
  border-radius: 16px; scrollbar-width: thin; }
.kit-pub-marquee-track { display: flex; width: max-content; }
.kit-pub-marquee-list { display: flex; gap: var(--kit-pub-marquee-gap); margin: 0; padding: 0 var(--kit-pub-marquee-gap) 0 0; list-style: none; }
.kit-pub-marquee-list[aria-hidden="true"] { display: none; }
.kit-pub-marquee-list > li { flex: 0 0 auto; width: clamp(150px, 22vw, 260px); scroll-snap-align: start; }
.kit-pub .kit-pub-marquee img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 16px; }
@media (max-width: 639px) { .kit-pub-marquee { --kit-pub-marquee-gap: 10px; } }
/* Moving: both copies drift left one copy's width a minute, then start again where they began, so the loop has no
   seam; the edges fade into the page. The pointer over the strip or the keyboard's focus in it holds it still. */
@keyframes kit-pub-marquee { to { translate: -50% 0; } }
@media (prefers-reduced-motion: no-preference) {
  .kit-pub-marquee { overflow: hidden; scroll-snap-type: none;
    mask-image: linear-gradient(90deg, transparent, var(--kit-main) 5%, var(--kit-main) 95%, transparent); }
  .kit-pub-marquee-list[aria-hidden="true"] { display: flex; }
  .kit-pub-marquee-track { animation: kit-pub-marquee 60s linear infinite; }
  .kit-pub-marquee:is(:hover, :focus-within) .kit-pub-marquee-track { animation-play-state: paused; }
}

/* Page head (showcase::page_head): an inner page's heading and line on the main colour, a soft accent glow behind
   the words (the stage's light). */
.kit-pub-head { position: relative; overflow: clip; isolation: isolate; padding: clamp(40px, 6vw, 88px) 0 clamp(28px, 4vw, 56px);
  background: var(--kit-main); color: var(--kit-on-main); }
.kit-pub-head-glow { position: absolute; z-index: -1; top: -40%; left: max(-120px, calc(50% - 720px)); width: min(90vw, 760px);
  height: 170%; border-radius: 50%; opacity: 0.6; filter: blur(48px); pointer-events: none;
  background: radial-gradient(closest-side, color-mix(in srgb, var(--kit-accent) 40%, transparent), transparent); }
.kit-pub-head-inner { display: grid; gap: 16px; }
.kit-pub-head-words { display: grid; gap: 14px; justify-items: start; }
.kit-pub-head h1 { max-width: 22ch; font-size: clamp(2rem, 1.4rem + 2.6vw, 3.4rem); }
.kit-pub-head .kit-pub-crumbs { padding-top: 0; }
/* The section under the head carries on without a second gap of its own (unless it is a band). */
.kit-pub-head + .kit-pub-section:not(.kit-pub-band) { padding-top: clamp(8px, 2vw, 24px); }
/* On opening the words rise 12px into place. */
@keyframes kit-pub-head-rise { from { opacity: 0; translate: 0 12px; } }
@media (prefers-reduced-motion: no-preference) {
  .kit-pub-head-words { animation: kit-pub-head-rise 400ms var(--kit-ease-out) both; }
}

/* Live parts (kit-site live.rs): a product's real parts cut out on a see-through background, floating on the
   section's own colour with no frame, each with one small motion the page draws itself. The rows are the spotlight's
   rows (motion.css), so the rhythm and the words' scroll reveal stay the same. Colours are the theme's roles only: the
   glow and the water are the accent at low strength, the screen is the main colour with a secondary label and accent
   digits. Still (and wherever the visitor asked for less motion): the glow and the water steady, the screen on its
   first reading, the charge bar full. The area and shape classes are made with the sheet (live::live_css). */

/* The tallest a part is drawn: half the screen on a phone, 60% on a wide one. */
.kit-pub-spotlights--live { --kit-live-tall: 50vh; }
@supports (height: 1svh) { .kit-pub-spotlights--live { --kit-live-tall: 50svh; } }
@media (min-width: 900px) {
  .kit-pub-spotlights--live { --kit-live-tall: 60vh; }
  @supports (height: 1svh) { .kit-pub-spotlights--live { --kit-live-tall: 60svh; } }
}

/* The part: as wide as its column, or narrower so it is no taller than the limit above (its shape class gives its
   width over its height). The box is exactly the picture, so the areas land on the picture at every width. */
.kit-pub-live-media { display: grid; justify-items: center; }
.kit-pub-live-rise { display: grid; justify-items: center; gap: 20px;
  width: min(100%, calc(var(--kit-live-tall) * var(--kit-live-ratio, 1))); }
.kit-pub-live-box { position: relative; isolation: isolate; width: 100%; }
.kit-pub .kit-pub-live-box picture { width: 100%; }
.kit-pub .kit-pub-live-box img { width: 100%; height: auto; }
.kit-pub-live-glow, .kit-pub-live-screen, .kit-pub-live-water { position: absolute; pointer-events: none; }
/* On a phone the words slide in 16px rather than the spotlight's 24, so they stay inside the page's 20px gutter and
   the page never scrolls sideways while they wait. */
@media (max-width: 899px) { .kit-pub-spotlights--live .kit-pub-spotlight { --kit-pub-spot-from: 16px; } }

/* Glow: under the picture, so it shows only through the part's clear opening; it spills a little past its area. */
.kit-pub-live-glow { z-index: -1; }
.kit-pub-live-light { position: absolute; inset: -30% -12%; border-radius: 50%; opacity: 0.8;
  background: radial-gradient(closest-side, color-mix(in srgb, var(--kit-accent) 80%, transparent), transparent); }

/* Screen: the main colour over the picture's own screen, a small label over big digits, centred. The readings share
   one place; still, only the first is drawn. Sizes follow the screen's own box. */
.kit-pub-live-screen { display: grid; overflow: hidden; container-type: size; border-radius: 10%;
  background: var(--kit-main); }
.kit-pub-live-frames { display: grid; }
.kit-pub-live-frame { grid-area: 1 / 1; display: grid; justify-items: center; align-content: center; gap: 6cqh;
  line-height: 1; text-align: center; white-space: nowrap; }
.kit-pub-live-frame + .kit-pub-live-frame { visibility: hidden; }
.kit-pub-live-small { font-size: 10px; font-size: min(18cqh, 17cqw); font-weight: 600; letter-spacing: 0.04em;
  color: var(--kit-secondary); }
.kit-pub-live-big { font-family: var(--kit-mono); font-size: 20px; font-size: min(46cqh, 42cqw); font-weight: 700;
  font-variant-numeric: tabular-nums; color: var(--kit-accent); }

/* Water: the accent laid over the glass below its mark and screened into the dark water, stronger towards the bottom.
   Its edges fade out (the masks read only the alpha of the main colour), so it lights the water without drawing a box,
   and its bottom is rounded like the glass's. */
.kit-pub-live-water { border-radius: 0 0 24% 24% / 0 0 34% 34%; opacity: 0.7; mix-blend-mode: screen;
  background: linear-gradient(to bottom, color-mix(in srgb, var(--kit-accent) 35%, transparent),
    color-mix(in srgb, var(--kit-accent) 70%, transparent));
  -webkit-mask-image: linear-gradient(90deg, transparent, var(--kit-main) 14%, var(--kit-main) 86%, transparent),
    linear-gradient(to bottom, transparent, var(--kit-main) 30%);
  -webkit-mask-composite: source-in;
  mask-image: linear-gradient(90deg, transparent, var(--kit-main) 14%, var(--kit-main) 86%, transparent),
    linear-gradient(to bottom, transparent, var(--kit-main) 30%);
  mask-composite: intersect; }

/* Charge: a thin bar under the part, its track the accent at low strength. */
.kit-pub-live-charge { width: min(44%, 220px); height: 6px; overflow: hidden; border-radius: 999px;
  background: color-mix(in srgb, var(--kit-accent) 24%, transparent); }
.kit-pub-live-fill { width: 100%; height: 100%; border-radius: inherit; background: var(--kit-accent);
  transform-origin: left center; }

/* Moving, slow and calm, each easing out: the glow pulses every 3 seconds, the water breathes every 5, the bar fills
   in 4 and fades before it starts again, and the screen shows each reading for 2.4 seconds in turn. Each reading
   waits hidden for its turn (the first keyframe), so a later one never shows early. Scrolling into view, the part
   grows and rises like a spotlight picture. */
@keyframes kit-pub-live-pulse { 0%, 100% { opacity: 0.45; scale: 0.92; } 50% { opacity: 1; scale: 1.04; } }
@keyframes kit-pub-live-breathe { 0%, 100% { opacity: 0.5; } 50% { opacity: 0.9; } }
@keyframes kit-pub-live-charge { from { scale: 0 1; } 80% { scale: 1 1; opacity: 1; } to { scale: 1 1; opacity: 0; } }
@keyframes kit-pub-live-frames-2 { 0% { opacity: 0; } 5%, 45% { opacity: 1; } 50%, 100% { opacity: 0; } }
@keyframes kit-pub-live-frames-3 { 0% { opacity: 0; } 3.3%, 30% { opacity: 1; } 33.3%, 100% { opacity: 0; } }
@keyframes kit-pub-live-frames-4 { 0% { opacity: 0; } 2.5%, 22.5% { opacity: 1; } 25%, 100% { opacity: 0; } }
@media (prefers-reduced-motion: no-preference) {
  .kit-pub-live-light { animation: kit-pub-live-pulse 3s ease-out infinite; }
  .kit-pub-live-water { animation: kit-pub-live-breathe 5s ease-out infinite; }
  .kit-pub-live-fill { animation: kit-pub-live-charge 4s var(--kit-ease-out) infinite; }
  .kit-pub-live-frames:not(.kit-pub-live-frames-1) .kit-pub-live-frame { visibility: visible; opacity: 0; }
  .kit-pub-live-frames-2 .kit-pub-live-frame { animation: kit-pub-live-frames-2 4.8s ease-out infinite both; }
  .kit-pub-live-frames-3 .kit-pub-live-frame { animation: kit-pub-live-frames-3 7.2s ease-out infinite both; }
  .kit-pub-live-frames-4 .kit-pub-live-frame { animation: kit-pub-live-frames-4 9.6s ease-out infinite both; }
  .kit-pub-live-frame:nth-child(2) { animation-delay: 2.4s; }
  .kit-pub-live-frame:nth-child(3) { animation-delay: 4.8s; }
  .kit-pub-live-frame:nth-child(4) { animation-delay: 7.2s; }
}
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .kit-pub-live-rise { animation: kit-pub-spot-picture var(--kit-ease-out) both; animation-timeline: view();
      animation-range: entry 0% entry 100%; }
  }
}

/* Assembly (kit-site assemble.rs): a product's parts cut out on a see-through background, apart on one centre line on
   the section's own colour, each with its name beside it after a short rule. Colours are the theme's roles only: the
   names in the main colour's text colour, the rules in the line colour. Still (and wherever the visitor asked for less
   motion, or the browser cannot link motion to scrolling) the parts stay apart with their names. The place, move,
   layer, tuck, shape and size classes are made with the sheet (assemble::assemble_css). */

/* The stage is the assembled product's box: as tall as 68% of the screen, less where the screen is short (the column
   apart is 118% of the stage and must fit under the header) or narrow (room for the names beside the parts). Apart,
   the column reaches 9% of the stage past its top and bottom, so the stage keeps that room around it. */
.kit-pub-asm { --kit-asm-screen: 100vh; --kit-asm-room: 220px; }
@supports (height: 1svh) { .kit-pub-asm { --kit-asm-screen: 100svh; } }
.kit-pub-asm-frame { display: grid; justify-items: center; align-content: center; overflow-x: clip; }
.kit-pub-asm-stage { --kit-asm-size: min(calc(var(--kit-asm-screen) * 0.68), calc((var(--kit-asm-screen) - 150px) / 1.18),
    calc((100vw - var(--kit-asm-room)) / var(--kit-asm-ratio)));
  position: relative; container-type: size; width: calc(var(--kit-asm-size) * var(--kit-asm-ratio)); height: var(--kit-asm-size);
  margin: calc(var(--kit-asm-size) * 0.11) 0; padding: 0; list-style: none; }

/* A part: its place on the stage (whole percent plus tenths), moved to its place apart and drawn smaller there. */
.kit-pub-asm-part { position: absolute; margin: 0;
  left: calc((var(--kit-asm-l) * 10 + var(--kit-asm-ld)) * 0.1%); top: calc((var(--kit-asm-t) * 10 + var(--kit-asm-td)) * 0.1%);
  width: calc((var(--kit-asm-w) * 10 + var(--kit-asm-wd)) * 0.1%); height: calc((var(--kit-asm-h) * 10 + var(--kit-asm-hd)) * 0.1%);
  translate: 0 calc(var(--kit-asm-y, 0) * 1cqh); }
.kit-pub-asm-pic { position: absolute; inset: 0; scale: var(--kit-asm-e, 1); }
.kit-pub .kit-pub-asm-pic picture { display: block; width: 100%; height: 100%; }
.kit-pub .kit-pub-asm-pic img { display: block; width: 100%; max-width: none; height: 100%; object-fit: fill; }

/* The name: just right of the part as drawn apart, level with its middle, after a short rule, on one line (over the
   page's own rule for words, which lets them wrap). */
.kit-pub .kit-pub-asm-name { position: absolute; top: 50%; left: calc(50% + 50% * var(--kit-asm-e, 1) + 8px); translate: 0 -50%;
  display: flex; align-items: center; gap: 10px; margin: 0; white-space: nowrap; font-weight: 600;
  font-size: clamp(0.9375rem, 0.85rem + 0.4vw, 1.25rem); color: var(--kit-on-main); }
.kit-pub-asm-name::before { content: ''; flex: 0 0 auto; width: clamp(14px, 3vw, 40px); border-top: 1px solid var(--kit-line); }
@media (max-width: 639px) { .kit-pub-asm { --kit-asm-room: 210px; } .kit-pub .kit-pub-asm-name { gap: 6px; } }

/* Moving: the block is tall and its stage stays on screen under the header while the visitor scrolls through it. The
   parts slide together and grow to their full size over the first 70% of the scroll, easing out gently (the kit's
   sharper curve would join them in the first few steps of the wheel and leave the rest still); the names fade as
   the parts close in; the whole product holds for the rest. A part's tuck (pins under a body) is hidden as it slides
   into the next part, on the same curve, so it never shows over the part it goes into. */
@keyframes kit-pub-asm-join { to { translate: 0 0; } }
@keyframes kit-pub-asm-grow { to { scale: 1; } }
@keyframes kit-pub-asm-tuck { from { clip-path: inset(0 0 var(--kit-asm-from) 0); } to { clip-path: inset(0 0 var(--kit-asm-tuck) 0); } }
@keyframes kit-pub-asm-name { to { opacity: 0; } }
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .kit-pub-asm { height: 260vh; view-timeline-name: --kit-pub-asm; }
    .kit-pub-asm-frame { position: sticky; top: 76px; height: calc(var(--kit-asm-screen) - 88px); }
    .kit-pub-asm-stage { margin: 0; }
    .kit-pub-asm-part { animation: kit-pub-asm-join ease-out both; animation-timeline: --kit-pub-asm;
      animation-range: contain 5% contain 70%; }
    .kit-pub-asm-pic { animation: kit-pub-asm-grow ease-out both; animation-timeline: --kit-pub-asm;
      animation-range: contain 5% contain 70%; }
    .kit-pub-asm-tuck { animation: kit-pub-asm-grow ease-out both, kit-pub-asm-tuck ease-out both;
      animation-timeline: --kit-pub-asm, --kit-pub-asm; animation-range: contain 5% contain 70%; }
    .kit-pub-asm-name { animation: kit-pub-asm-name ease-out both; animation-timeline: --kit-pub-asm;
      animation-range: contain 20% contain 50%; }
  }
  @media (prefers-reduced-motion: no-preference) {
    @media (max-width: 639px) { .kit-pub-asm { height: 210vh; } }
  }
}

/* The chat panel (chat.rs): a button in the corner of every page that opens a small panel growing from it, in the
   site's three colours. The chat page shows the same panel in the page. Motion eases out, never bounces, and is left
   out where the visitor asked for less. */
.kit-pub-chat { position: fixed; right: 16px; bottom: 16px; z-index: 40; display: flex; flex-direction: column-reverse;
  align-items: flex-end; gap: 12px; max-width: calc(100vw - 32px); }
.kit-pub-chat-button { list-style: none; cursor: pointer; display: inline-flex; align-items: center; min-height: 48px;
  padding: 12px 20px; border-radius: 999px; font-weight: 600; background: var(--kit-accent); color: var(--kit-on-accent);
  box-shadow: 0 8px 24px color-mix(in srgb, var(--kit-main) 40%, transparent);
  transition: transform var(--kit-press) var(--kit-ease-out); }
.kit-pub-chat-button::-webkit-details-marker { display: none; }
.kit-pub-chat-button:active { transform: scale(0.97); }
.kit-pub-chat-button:focus-visible { outline: 2px solid var(--kit-on-main); outline-offset: 3px; }
.kit-pub-chat-close-label, .kit-pub-chat[open] .kit-pub-chat-open-label { display: none; }
.kit-pub-chat[open] .kit-pub-chat-close-label { display: inline; }
.kit-pub-chat-panel { display: grid; gap: 12px; width: min(380px, calc(100vw - 32px)); max-height: min(560px, calc(100dvh - 104px));
  overflow-y: auto; overscroll-behavior: contain; padding: 20px; border-radius: 20px; border: 1px solid var(--kit-line);
  background: var(--kit-secondary); color: var(--kit-on-secondary); transform-origin: bottom right;
  box-shadow: 0 16px 40px color-mix(in srgb, var(--kit-main) 45%, transparent); }
.kit-pub-chat[open] > .kit-pub-chat-panel { animation: kit-pop-in var(--kit-enter) var(--kit-ease-out); }
.kit-pub-chat-panel[data-closing] { animation: kit-pub-chat-out var(--kit-exit) var(--kit-ease-out) forwards; }
@keyframes kit-pub-chat-out { to { opacity: 0; transform: scale(0.95); } }
.kit-pub-chat .kit-pub-chat-title { font-size: 1.25rem; }
.kit-pub-chat-line, .kit-pub-chat-empty, .kit-pub-chat-small { margin: 0; font-size: 0.9rem; }
.kit-pub-chat-thread { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.kit-pub-chat-thread:empty { display: none; }
.kit-pub-chat-msg { display: grid; gap: 2px; max-width: 85%; padding: 10px 14px; border-radius: 16px; justify-self: start;
  background: var(--kit-main); color: var(--kit-on-main); animation: kit-rise-in var(--kit-enter) var(--kit-ease-out) both; }
.kit-pub-chat-msg--mine { justify-self: end; background: transparent; color: var(--kit-on-secondary); border: 1px solid var(--kit-line); }
.kit-pub-chat-text { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.kit-pub-chat-time { font-size: 0.75rem; opacity: 0.75; }
.kit-pub-chat-problem { margin: 0; font-weight: 600; }
.kit-pub-chat-problem:empty { display: none; }
.kit-pub-chat-form, .kit-pub-chat-email { display: grid; gap: 8px; }
.kit-pub-chat-form label, .kit-pub-chat-email label { font-weight: 600; font-size: 0.9rem; }
.kit-pub-chat-form textarea, .kit-pub-chat-email input { width: 100%; min-height: 48px; padding: 12px 14px; border-radius: 12px;
  border: 1px solid var(--kit-line); background: var(--kit-main); color: var(--kit-on-main); font: inherit; resize: vertical; }
.kit-pub-chat-form textarea:focus, .kit-pub-chat-email input:focus { outline: 2px solid var(--kit-accent); outline-offset: 1px;
  border-color: transparent; }
.kit-pub-chat-email[hidden] { display: none; }
.kit-pub-chat-email-row { display: flex; gap: 8px; }
.kit-pub-chat-email-row input { flex: 1; min-width: 0; }
.kit-pub-chat-more { margin: 0; }
.kit-pub-chat-panel .kit-button--plain { color: var(--kit-on-secondary); border-color: var(--kit-on-secondary); }
.kit-pub-chat-more a { color: inherit; font-weight: 600; }
/* The chat page: the panel in the page, always open, its button left out. */
.kit-pub-chat--page { position: static; display: block; max-width: 640px; margin: 0 auto; }
.kit-pub-chat--page > .kit-pub-chat-button { display: none; }
.kit-pub-chat--page > .kit-pub-chat-panel { width: 100%; max-height: none; overflow: visible; box-shadow: none; animation: none; }
@media (prefers-reduced-motion: reduce) {
  .kit-pub-chat-button, .kit-pub-chat[open] > .kit-pub-chat-panel, .kit-pub-chat-panel[data-closing], .kit-pub-chat-msg { animation: none; transition: none; }
}

/* The cookie list on the age check and the cookies page (consent.rs, cookies_page.rs), in the site's three colours. */
.kit-pub-gate-box { max-height: calc(100dvh - 40px); overflow-y: auto; }
.kit-pub-gate-cookies { display: grid; gap: 12px; text-align: start; padding: 14px 16px; border-radius: 14px;
  border: 1px solid var(--kit-line); }
.kit-pub-cookie-group { display: grid; gap: 4px; }
.kit-pub-cookie-group h3 { font-size: 0.95rem; display: flex; align-items: center; gap: 8px; }
.kit-pub-cookie-tag { font-size: 0.75rem; font-weight: 600; padding: 2px 8px; border-radius: 999px;
  border: 1px solid currentColor; }
.kit-pub-cookie-list { margin: 0; padding-inline-start: 18px; display: grid; gap: 4px; font-size: 0.875rem; }
.kit-pub-cookie-list code, .kit-pub-cookie-card code { overflow-wrap: anywhere; }
.kit-pub-gate-box .kit-button--plain { color: var(--kit-on-secondary); border-color: var(--kit-on-secondary); }
.kit-pub-gate-box .kit-pub-actions .kit-button { flex: 1 1 160px; }
.kit-pub-gate-choose { text-align: start; display: grid; gap: 10px; }
.kit-pub-gate-choose summary { cursor: pointer; font-weight: 600; min-height: 44px; display: flex; align-items: center; }
.kit-pub-switch { display: flex; align-items: center; gap: 10px; min-height: 44px; }
.kit-pub-switch input { width: 22px; height: 22px; accent-color: var(--kit-accent); }
.kit-pub-cookies { display: grid; gap: 20px; max-width: 860px; }
.kit-pub-cookie-cards { display: grid; gap: 16px; }
@media (min-width: 720px) { .kit-pub-cookie-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.kit-pub-cookie-card { padding: 20px; border-radius: 16px; border: 1px solid var(--kit-line); background: var(--kit-secondary);
  color: var(--kit-on-secondary); }
.kit-pub-cookie-card h2 { font-size: 1.05rem; margin-bottom: 12px; }
.kit-pub-cookie-card dl { margin: 0; display: grid; grid-template-columns: max-content 1fr; gap: 6px 16px; }
.kit-pub-cookie-card dt { font-weight: 600; }
.kit-pub-cookie-card dd { margin: 0; }
.kit-pub-cookie-choice, .kit-pub-cookie-forget { display: grid; gap: 12px; justify-items: start; }

/* The cookie bar (bar.rs) and its switches on the cookies page, in the site's three colours: the bar on the secondary
   colour, the accent only on "Accept All". It rises into place and the switches slide, only where the visitor has not
   asked for less motion. The chat button steps aside while the bar is up, so the bar never covers it. */
.kit-pub-cookiebar { position: fixed; inset-inline: 0; bottom: 0; z-index: 45; padding: 12px; pointer-events: none; }
.kit-pub-cookiebar-box { pointer-events: auto; display: grid; gap: 8px; max-width: 1100px; margin: 0 auto;
  max-height: calc(100dvh - 24px); overflow-y: auto; padding: 16px 20px; border-radius: 16px;
  border: 1px solid var(--kit-line); background: var(--kit-secondary); color: var(--kit-on-secondary);
  box-shadow: 0 12px 32px rgb(0 0 0 / 0.28); }
.kit-pub-cookiebar-top { display: grid; gap: 12px; }
@media (min-width: 900px) {
  .kit-pub-cookiebar-top { grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 24px; }
}
.kit-pub-cookiebar h2 { font-size: 1rem; margin: 0 0 4px; }
.kit-pub-cookiebar p { margin: 0; font-size: 0.875rem; line-height: 1.5; }
.kit-pub-cookiebar a { color: inherit; font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.kit-pub-cookiebar-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.kit-pub-cookiebar-actions .kit-button { flex: 1 1 150px; }
.kit-pub-cookiebar .kit-button--plain { color: var(--kit-on-secondary); border-color: var(--kit-on-secondary); }
.kit-pub-cookiebar-details { display: grid; gap: 8px; }
.kit-pub-cookiebar-details summary { list-style: none; cursor: pointer; width: fit-content; min-height: 44px;
  display: inline-flex; align-items: center; font-size: 0.875rem; font-weight: 600; text-decoration: underline;
  text-underline-offset: 2px; }
.kit-pub-cookiebar-details summary::-webkit-details-marker { display: none; }
.kit-pub-cookiebar-less, .kit-pub-cookiebar-details[open] .kit-pub-cookiebar-more { display: none; }
.kit-pub-cookiebar-details[open] .kit-pub-cookiebar-less { display: inline; }
.kit-pub-cookiebar-details > .kit-button { justify-self: start; margin-top: 4px; }
.kit-pub-cookiebar-groups { display: grid; padding: 0 16px; border-radius: 12px; border: 1px solid var(--kit-line); }
.kit-pub-cookiebar-group { display: grid; gap: 6px; padding: 12px 0; }
.kit-pub-cookiebar-group + .kit-pub-cookiebar-group { border-top: 1px solid var(--kit-line); }
.kit-pub-cookiebar-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.kit-pub-cookiebar-name { display: grid; gap: 2px; min-width: 0; }
.kit-pub-cookiebar-name strong { font-size: 0.875rem; }
.kit-pub-cookiebar-name span { font-size: 0.8125rem; line-height: 1.5; }
.kit-pub-cookiebar-switch { appearance: none; position: relative; flex: none; width: 44px; height: 24px; margin: 0;
  border-radius: 999px; border: 1px solid currentColor; background: transparent; cursor: pointer; }
.kit-pub-cookiebar-switch::before { content: ""; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px;
  border-radius: 50%; background: currentColor; }
.kit-pub-cookiebar-switch:checked { background: currentColor; }
.kit-pub-cookiebar-switch:checked::before { transform: translateX(20px); background: var(--kit-secondary); }
.kit-pub-cookiebar-page .kit-pub-cookiebar-switch:checked::before { background: var(--kit-main); }
.kit-pub-cookiebar-switch:disabled { opacity: 0.6; cursor: not-allowed; }
.kit-pub-cookiebar-switch:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.kit-pub-cookiebar-page { justify-items: stretch; max-width: 720px; }
.kit-pub-cookiebar-page .kit-button { justify-self: start; }
body:has(> .kit-pub-cookiebar) .kit-pub-chat:not(.kit-pub-chat--page) { visibility: hidden; }
@media (prefers-reduced-motion: no-preference) {
  .kit-pub-cookiebar-box { animation: kit-pub-cookiebar-in 240ms ease-out both; }
  .kit-pub-cookiebar-switch::before { transition: transform 160ms ease-out; }
  @keyframes kit-pub-cookiebar-in { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
}

/* The frame beyond the header's links (frame.rs), in the theme's roles only. Menus and the language list open from
   their button without a script; on a phone they fold into the menu. A theme with the extra roles (Vavus AI) uses its
   raised colour for panels, its edge for outlines and its logo colour for the word logo's first letters. */
.kit-pub-strip { background: var(--kit-secondary); color: var(--kit-on-secondary); font-size: 14px; line-height: 18px; }
.kit-pub-strip p { display: flex; align-items: center; justify-content: center; gap: 14px; min-height: 48px; text-align: center; }
.kit-pub-strip-link { display: inline-flex; align-items: center; min-height: 28px; padding: 0 12px; border-radius: 999px;
  background: var(--kit-raised, var(--kit-main)); color: var(--kit-on-main); font-size: 13px; font-weight: 500;
  text-decoration: none; border: 1px solid var(--kit-edge, var(--kit-line)); white-space: nowrap; }
.kit-pub-logo-word { font-size: 26px; line-height: 1; font-weight: 800; letter-spacing: 0.01em; color: var(--kit-on-main); }
.kit-pub-logo-lead { color: var(--kit-logo-v, var(--kit-accent-text)); }
.kit-pub-chevron, .kit-pub-globe { width: 14px; height: 14px; flex: none; }
.kit-pub-header--wide .kit-pub-nav > a { font-size: 14px; }
.kit-pub-drop { position: relative; }
.kit-pub-drop summary, .kit-pub-lang summary { display: inline-flex; align-items: center; gap: 4px; min-height: 44px;
  cursor: pointer; list-style: none; font-size: 14px; font-weight: 500; color: var(--kit-on-main); }
.kit-pub-drop summary::-webkit-details-marker, .kit-pub-lang summary::-webkit-details-marker,
.kit-pub-menu-lang summary::-webkit-details-marker { display: none; }
.kit-pub-drop[open] .kit-pub-chevron, .kit-pub-lang[open] .kit-pub-chevron { transform: rotate(180deg); }
.kit-pub-drop-panel, .kit-pub-lang-panel { position: absolute; top: calc(100% + 8px); z-index: 25; padding: 8px;
  border-radius: 18px; border: 1px solid var(--kit-line); background: var(--kit-raised, var(--kit-secondary));
  color: var(--kit-on-main); box-shadow: 0 12px 32px rgb(0 0 0 / 0.12); animation: kit-pop-in var(--kit-enter) var(--kit-ease-out); }
.kit-pub-drop-panel { inset-inline-start: -12px; width: 340px; transform-origin: top left; }
.kit-pub-drop-panel ul, .kit-pub-lang-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 2px; }
.kit-pub-drop-panel a { display: grid; gap: 2px; padding: 10px 12px; border-radius: 12px; text-decoration: none; color: inherit; }
.kit-pub-drop-panel a:hover, .kit-pub-lang-list a:hover { background: var(--kit-main); }
.kit-pub-drop-panel strong { font-size: 14px; font-weight: 600; }
.kit-pub-drop-panel span { font-size: 13px; line-height: 18px; color: var(--kit-quiet); }
.kit-pub-tools { display: flex; align-items: center; gap: 8px; }
.kit-pub-tools .kit-pub-second, .kit-pub-tools .kit-pub-lang { display: none; }
.kit-pub .kit-pub-second { height: 36px; padding: 6px 16px; font-size: 14px; font-weight: 500; }
.kit-pub-lang { position: relative; }
.kit-pub-lang summary { gap: 6px; min-height: 36px; padding: 0 10px; border-radius: 999px; border: 1px solid var(--kit-line); font-size: 13px; }
.kit-pub-lang-panel { inset-inline-end: 0; width: 240px; max-height: min(70vh, 520px); overflow-y: auto; transform-origin: top right; }
.kit-pub-lang-list a { display: flex; min-height: 36px; align-items: center; padding: 0 12px; border-radius: 10px;
  text-decoration: none; color: inherit; font-size: 14px; }
.kit-pub-lang-list a[aria-current] { background: var(--kit-mark, var(--kit-secondary)); color: var(--kit-on-mark, var(--kit-on-secondary)); font-weight: 600; }
.kit-pub-header--wide .kit-pub-menu summary { gap: 8px; width: 44px; justify-content: center; border-radius: 999px; padding: 0; }
.kit-pub-menu summary svg { width: 20px; height: 20px; }
.kit-pub-header--wide .kit-pub-menu-word { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.kit-pub-header:not(.kit-pub-header--wide) .kit-pub-menu summary svg { display: none; }
.kit-pub-menu nav { max-height: calc(100dvh - 96px); overflow-y: auto; min-width: min(320px, calc(100vw - 32px)); }
.kit-pub-menu-group { margin: 10px 12px 2px; font-size: 13px; font-weight: 600; color: var(--kit-quiet); }
.kit-pub-menu-lang summary { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 12px; border: 0; font-weight: 500; }
.kit-pub-menu-lang .kit-pub-lang-list { padding: 0 4px 8px; }
/* A header with menus, a second button or languages (`kit-pub-header--wide`) shows them all from 1100px; under it
   only the logo, the main button and the menu stay. A plain header keeps the kit's 900px point. */
.kit-pub-header--wide .kit-pub-nav { gap: 22px; }
.kit-pub-header--wide .kit-pub-tools { margin-inline-start: auto; }
.kit-pub-header--wide .kit-pub-action { display: inline-flex; }
@media (min-width: 1100px) {
  .kit-pub-header--wide .kit-pub-bar .kit-pub-logo { margin-right: 16px; }
  .kit-pub-header--wide .kit-pub-tools .kit-pub-second, .kit-pub-header--wide .kit-pub-tools .kit-pub-lang { display: inline-flex; }
  .kit-pub-header--wide .kit-pub-tools .kit-pub-lang { display: block; }
}
@media (max-width: 1099px) {
  .kit-pub-header--wide .kit-pub-nav { display: none; }
  .kit-pub-header--wide .kit-pub-tools { margin-inline-start: 0; }
  .kit-pub-header--wide .kit-pub-menu { display: block; }
}

/* The footer's brand corner beside the columns, its rows of links, and the small lines. */
.kit-pub-footer-top { display: grid; gap: 40px; }
@media (min-width: 900px) { .kit-pub-footer-top { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); } }
.kit-pub-footer-brand { display: grid; gap: 16px; align-content: start; justify-items: start; }
.kit-pub-footer-brand .kit-pub-logo-word { font-size: 30px; color: var(--kit-on-secondary); }
.kit-pub-footer-blurb { color: var(--kit-quiet); }
.kit-pub-footer .kit-pub-chips, .kit-pub-footer .kit-pub-social, .kit-pub-footer .kit-pub-badges { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.kit-pub-chips li { padding: 4px 12px; border-radius: 999px; border: 1px solid var(--kit-line); font-size: 13px; line-height: 18px;
  background: var(--kit-raised, var(--kit-main)); color: var(--kit-on-main); }
.kit-pub-footer .kit-pub-social a { display: grid; min-height: 0; place-items: center; width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--kit-line); color: inherit; }
.kit-pub-social svg { width: 16px; height: 16px; }
.kit-pub-badges { gap: 12px; align-items: center; max-width: 420px; }
.kit-pub-footer .kit-pub-badges img { height: 40px; width: auto; max-width: 200px; object-fit: contain; filter: grayscale(1); opacity: 0.8; }
.kit-pub-badges a:hover img { filter: none; opacity: 1; }
.kit-pub-footer-row h2 { margin-bottom: 8px; }
.kit-pub-footer .kit-pub-footer-row ul { display: flex; flex-wrap: wrap; gap: 4px 20px; }
@media (pointer: coarse) { .kit-pub-footer a { min-height: 44px; display: inline-flex; align-items: center; } }

/* The stage's hue turns (stage::hue_css), one per tenth degree. */
.kit-pub-stage-input.kit-pub-hue-0:checked ~ .kit-pub-stage-show .kit-pub-stage-tint { filter: hue-rotate(0deg); }
.kit-pub-stage-input.kit-pub-hue-10:checked ~ .kit-pub-stage-show .kit-pub-stage-tint { filter: hue-rotate(10deg); }
.kit-pub-stage-input.kit-pub-hue-20:checked ~ .kit-pub-stage-show .kit-pub-stage-tint { filter: hue-rotate(20deg); }
.kit-pub-stage-input.kit-pub-hue-30:checked ~ .kit-pub-stage-show .kit-pub-stage-tint { filter: hue-rotate(30deg); }
.kit-pub-stage-input.kit-pub-hue-40:checked ~ .kit-pub-stage-show .kit-pub-stage-tint { filter: hue-rotate(40deg); }
.kit-pub-stage-input.kit-pub-hue-50:checked ~ .kit-pub-stage-show .kit-pub-stage-tint { filter: hue-rotate(50deg); }
.kit-pub-stage-input.kit-pub-hue-60:checked ~ .kit-pub-stage-show .kit-pub-stage-tint { filter: hue-rotate(60deg); }
.kit-pub-stage-input.kit-pub-hue-70:checked ~ .kit-pub-stage-show .kit-pub-stage-tint { filter: hue-rotate(70deg); }
.kit-pub-stage-input.kit-pub-hue-80:checked ~ .kit-pub-stage-show .kit-pub-stage-tint { filter: hue-rotate(80deg); }
.kit-pub-stage-input.kit-pub-hue-90:checked ~ .kit-pub-stage-show .kit-pub-stage-tint { filter: hue-rotate(90deg); }
.kit-pub-stage-input.kit-pub-hue-100:checked ~ .kit-pub-stage-show .kit-pub-stage-tint { filter: hue-rotate(100deg); }
.kit-pub-stage-input.kit-pub-hue-110:checked ~ .kit-pub-stage-show .kit-pub-stage-tint { filter: hue-rotate(110deg); }
.kit-pub-stage-input.kit-pub-hue-120:checked ~ .kit-pub-stage-show .kit-pub-stage-tint { filter: hue-rotate(120deg); }
.kit-pub-stage-input.kit-pub-hue-130:checked ~ .kit-pub-stage-show .kit-pub-stage-tint { filter: hue-rotate(130deg); }
.kit-pub-stage-input.kit-pub-hue-140:checked ~ .kit-pub-stage-show .kit-pub-stage-tint { filter: hue-rotate(140deg); }
.kit-pub-stage-input.kit-pub-hue-150:checked ~ .kit-pub-stage-show .kit-pub-stage-tint { filter: hue-rotate(150deg); }
.kit-pub-stage-input.kit-pub-hue-160:checked ~ .kit-pub-stage-show .kit-pub-stage-tint { filter: hue-rotate(160deg); }
.kit-pub-stage-input.kit-pub-hue-170:checked ~ .kit-pub-stage-show .kit-pub-stage-tint { filter: hue-rotate(170deg); }
.kit-pub-stage-input.kit-pub-hue-180:checked ~ .kit-pub-stage-show .kit-pub-stage-tint { filter: hue-rotate(180deg); }
.kit-pub-stage-input.kit-pub-hue-190:checked ~ .kit-pub-stage-show .kit-pub-stage-tint { filter: hue-rotate(190deg); }
.kit-pub-stage-input.kit-pub-hue-200:checked ~ .kit-pub-stage-show .kit-pub-stage-tint { filter: hue-rotate(200deg); }
.kit-pub-stage-input.kit-pub-hue-210:checked ~ .kit-pub-stage-show .kit-pub-stage-tint { filter: hue-rotate(210deg); }
.kit-pub-stage-input.kit-pub-hue-220:checked ~ .kit-pub-stage-show .kit-pub-stage-tint { filter: hue-rotate(220deg); }
.kit-pub-stage-input.kit-pub-hue-230:checked ~ .kit-pub-stage-show .kit-pub-stage-tint { filter: hue-rotate(230deg); }
.kit-pub-stage-input.kit-pub-hue-240:checked ~ .kit-pub-stage-show .kit-pub-stage-tint { filter: hue-rotate(240deg); }
.kit-pub-stage-input.kit-pub-hue-250:checked ~ .kit-pub-stage-show .kit-pub-stage-tint { filter: hue-rotate(250deg); }
.kit-pub-stage-input.kit-pub-hue-260:checked ~ .kit-pub-stage-show .kit-pub-stage-tint { filter: hue-rotate(260deg); }
.kit-pub-stage-input.kit-pub-hue-270:checked ~ .kit-pub-stage-show .kit-pub-stage-tint { filter: hue-rotate(270deg); }
.kit-pub-stage-input.kit-pub-hue-280:checked ~ .kit-pub-stage-show .kit-pub-stage-tint { filter: hue-rotate(280deg); }
.kit-pub-stage-input.kit-pub-hue-290:checked ~ .kit-pub-stage-show .kit-pub-stage-tint { filter: hue-rotate(290deg); }
.kit-pub-stage-input.kit-pub-hue-300:checked ~ .kit-pub-stage-show .kit-pub-stage-tint { filter: hue-rotate(300deg); }
.kit-pub-stage-input.kit-pub-hue-310:checked ~ .kit-pub-stage-show .kit-pub-stage-tint { filter: hue-rotate(310deg); }
.kit-pub-stage-input.kit-pub-hue-320:checked ~ .kit-pub-stage-show .kit-pub-stage-tint { filter: hue-rotate(320deg); }
.kit-pub-stage-input.kit-pub-hue-330:checked ~ .kit-pub-stage-show .kit-pub-stage-tint { filter: hue-rotate(330deg); }
.kit-pub-stage-input.kit-pub-hue-340:checked ~ .kit-pub-stage-show .kit-pub-stage-tint { filter: hue-rotate(340deg); }
.kit-pub-stage-input.kit-pub-hue-350:checked ~ .kit-pub-stage-show .kit-pub-stage-tint { filter: hue-rotate(350deg); }
/* The turning colours (stage::hue_css): each slot's turn, and keyframes for each count of versions. */
.kit-pub-cycle-0-0 { --kit-cycle-0: 0deg; }
.kit-pub-cycle-0-10 { --kit-cycle-0: 10deg; }
.kit-pub-cycle-0-20 { --kit-cycle-0: 20deg; }
.kit-pub-cycle-0-30 { --kit-cycle-0: 30deg; }
.kit-pub-cycle-0-40 { --kit-cycle-0: 40deg; }
.kit-pub-cycle-0-50 { --kit-cycle-0: 50deg; }
.kit-pub-cycle-0-60 { --kit-cycle-0: 60deg; }
.kit-pub-cycle-0-70 { --kit-cycle-0: 70deg; }
.kit-pub-cycle-0-80 { --kit-cycle-0: 80deg; }
.kit-pub-cycle-0-90 { --kit-cycle-0: 90deg; }
.kit-pub-cycle-0-100 { --kit-cycle-0: 100deg; }
.kit-pub-cycle-0-110 { --kit-cycle-0: 110deg; }
.kit-pub-cycle-0-120 { --kit-cycle-0: 120deg; }
.kit-pub-cycle-0-130 { --kit-cycle-0: 130deg; }
.kit-pub-cycle-0-140 { --kit-cycle-0: 140deg; }
.kit-pub-cycle-0-150 { --kit-cycle-0: 150deg; }
.kit-pub-cycle-0-160 { --kit-cycle-0: 160deg; }
.kit-pub-cycle-0-170 { --kit-cycle-0: 170deg; }
.kit-pub-cycle-0-180 { --kit-cycle-0: 180deg; }
.kit-pub-cycle-0-190 { --kit-cycle-0: 190deg; }
.kit-pub-cycle-0-200 { --kit-cycle-0: 200deg; }
.kit-pub-cycle-0-210 { --kit-cycle-0: 210deg; }
.kit-pub-cycle-0-220 { --kit-cycle-0: 220deg; }
.kit-pub-cycle-0-230 { --kit-cycle-0: 230deg; }
.kit-pub-cycle-0-240 { --kit-cycle-0: 240deg; }
.kit-pub-cycle-0-250 { --kit-cycle-0: 250deg; }
.kit-pub-cycle-0-260 { --kit-cycle-0: 260deg; }
.kit-pub-cycle-0-270 { --kit-cycle-0: 270deg; }
.kit-pub-cycle-0-280 { --kit-cycle-0: 280deg; }
.kit-pub-cycle-0-290 { --kit-cycle-0: 290deg; }
.kit-pub-cycle-0-300 { --kit-cycle-0: 300deg; }
.kit-pub-cycle-0-310 { --kit-cycle-0: 310deg; }
.kit-pub-cycle-0-320 { --kit-cycle-0: 320deg; }
.kit-pub-cycle-0-330 { --kit-cycle-0: 330deg; }
.kit-pub-cycle-0-340 { --kit-cycle-0: 340deg; }
.kit-pub-cycle-0-350 { --kit-cycle-0: 350deg; }
.kit-pub-cycle-1-0 { --kit-cycle-1: 0deg; }
.kit-pub-cycle-1-10 { --kit-cycle-1: 10deg; }
.kit-pub-cycle-1-20 { --kit-cycle-1: 20deg; }
.kit-pub-cycle-1-30 { --kit-cycle-1: 30deg; }
.kit-pub-cycle-1-40 { --kit-cycle-1: 40deg; }
.kit-pub-cycle-1-50 { --kit-cycle-1: 50deg; }
.kit-pub-cycle-1-60 { --kit-cycle-1: 60deg; }
.kit-pub-cycle-1-70 { --kit-cycle-1: 70deg; }
.kit-pub-cycle-1-80 { --kit-cycle-1: 80deg; }
.kit-pub-cycle-1-90 { --kit-cycle-1: 90deg; }
.kit-pub-cycle-1-100 { --kit-cycle-1: 100deg; }
.kit-pub-cycle-1-110 { --kit-cycle-1: 110deg; }
.kit-pub-cycle-1-120 { --kit-cycle-1: 120deg; }
.kit-pub-cycle-1-130 { --kit-cycle-1: 130deg; }
.kit-pub-cycle-1-140 { --kit-cycle-1: 140deg; }
.kit-pub-cycle-1-150 { --kit-cycle-1: 150deg; }
.kit-pub-cycle-1-160 { --kit-cycle-1: 160deg; }
.kit-pub-cycle-1-170 { --kit-cycle-1: 170deg; }
.kit-pub-cycle-1-180 { --kit-cycle-1: 180deg; }
.kit-pub-cycle-1-190 { --kit-cycle-1: 190deg; }
.kit-pub-cycle-1-200 { --kit-cycle-1: 200deg; }
.kit-pub-cycle-1-210 { --kit-cycle-1: 210deg; }
.kit-pub-cycle-1-220 { --kit-cycle-1: 220deg; }
.kit-pub-cycle-1-230 { --kit-cycle-1: 230deg; }
.kit-pub-cycle-1-240 { --kit-cycle-1: 240deg; }
.kit-pub-cycle-1-250 { --kit-cycle-1: 250deg; }
.kit-pub-cycle-1-260 { --kit-cycle-1: 260deg; }
.kit-pub-cycle-1-270 { --kit-cycle-1: 270deg; }
.kit-pub-cycle-1-280 { --kit-cycle-1: 280deg; }
.kit-pub-cycle-1-290 { --kit-cycle-1: 290deg; }
.kit-pub-cycle-1-300 { --kit-cycle-1: 300deg; }
.kit-pub-cycle-1-310 { --kit-cycle-1: 310deg; }
.kit-pub-cycle-1-320 { --kit-cycle-1: 320deg; }
.kit-pub-cycle-1-330 { --kit-cycle-1: 330deg; }
.kit-pub-cycle-1-340 { --kit-cycle-1: 340deg; }
.kit-pub-cycle-1-350 { --kit-cycle-1: 350deg; }
.kit-pub-cycle-2-0 { --kit-cycle-2: 0deg; }
.kit-pub-cycle-2-10 { --kit-cycle-2: 10deg; }
.kit-pub-cycle-2-20 { --kit-cycle-2: 20deg; }
.kit-pub-cycle-2-30 { --kit-cycle-2: 30deg; }
.kit-pub-cycle-2-40 { --kit-cycle-2: 40deg; }
.kit-pub-cycle-2-50 { --kit-cycle-2: 50deg; }
.kit-pub-cycle-2-60 { --kit-cycle-2: 60deg; }
.kit-pub-cycle-2-70 { --kit-cycle-2: 70deg; }
.kit-pub-cycle-2-80 { --kit-cycle-2: 80deg; }
.kit-pub-cycle-2-90 { --kit-cycle-2: 90deg; }
.kit-pub-cycle-2-100 { --kit-cycle-2: 100deg; }
.kit-pub-cycle-2-110 { --kit-cycle-2: 110deg; }
.kit-pub-cycle-2-120 { --kit-cycle-2: 120deg; }
.kit-pub-cycle-2-130 { --kit-cycle-2: 130deg; }
.kit-pub-cycle-2-140 { --kit-cycle-2: 140deg; }
.kit-pub-cycle-2-150 { --kit-cycle-2: 150deg; }
.kit-pub-cycle-2-160 { --kit-cycle-2: 160deg; }
.kit-pub-cycle-2-170 { --kit-cycle-2: 170deg; }
.kit-pub-cycle-2-180 { --kit-cycle-2: 180deg; }
.kit-pub-cycle-2-190 { --kit-cycle-2: 190deg; }
.kit-pub-cycle-2-200 { --kit-cycle-2: 200deg; }
.kit-pub-cycle-2-210 { --kit-cycle-2: 210deg; }
.kit-pub-cycle-2-220 { --kit-cycle-2: 220deg; }
.kit-pub-cycle-2-230 { --kit-cycle-2: 230deg; }
.kit-pub-cycle-2-240 { --kit-cycle-2: 240deg; }
.kit-pub-cycle-2-250 { --kit-cycle-2: 250deg; }
.kit-pub-cycle-2-260 { --kit-cycle-2: 260deg; }
.kit-pub-cycle-2-270 { --kit-cycle-2: 270deg; }
.kit-pub-cycle-2-280 { --kit-cycle-2: 280deg; }
.kit-pub-cycle-2-290 { --kit-cycle-2: 290deg; }
.kit-pub-cycle-2-300 { --kit-cycle-2: 300deg; }
.kit-pub-cycle-2-310 { --kit-cycle-2: 310deg; }
.kit-pub-cycle-2-320 { --kit-cycle-2: 320deg; }
.kit-pub-cycle-2-330 { --kit-cycle-2: 330deg; }
.kit-pub-cycle-2-340 { --kit-cycle-2: 340deg; }
.kit-pub-cycle-2-350 { --kit-cycle-2: 350deg; }
.kit-pub-cycle-3-0 { --kit-cycle-3: 0deg; }
.kit-pub-cycle-3-10 { --kit-cycle-3: 10deg; }
.kit-pub-cycle-3-20 { --kit-cycle-3: 20deg; }
.kit-pub-cycle-3-30 { --kit-cycle-3: 30deg; }
.kit-pub-cycle-3-40 { --kit-cycle-3: 40deg; }
.kit-pub-cycle-3-50 { --kit-cycle-3: 50deg; }
.kit-pub-cycle-3-60 { --kit-cycle-3: 60deg; }
.kit-pub-cycle-3-70 { --kit-cycle-3: 70deg; }
.kit-pub-cycle-3-80 { --kit-cycle-3: 80deg; }
.kit-pub-cycle-3-90 { --kit-cycle-3: 90deg; }
.kit-pub-cycle-3-100 { --kit-cycle-3: 100deg; }
.kit-pub-cycle-3-110 { --kit-cycle-3: 110deg; }
.kit-pub-cycle-3-120 { --kit-cycle-3: 120deg; }
.kit-pub-cycle-3-130 { --kit-cycle-3: 130deg; }
.kit-pub-cycle-3-140 { --kit-cycle-3: 140deg; }
.kit-pub-cycle-3-150 { --kit-cycle-3: 150deg; }
.kit-pub-cycle-3-160 { --kit-cycle-3: 160deg; }
.kit-pub-cycle-3-170 { --kit-cycle-3: 170deg; }
.kit-pub-cycle-3-180 { --kit-cycle-3: 180deg; }
.kit-pub-cycle-3-190 { --kit-cycle-3: 190deg; }
.kit-pub-cycle-3-200 { --kit-cycle-3: 200deg; }
.kit-pub-cycle-3-210 { --kit-cycle-3: 210deg; }
.kit-pub-cycle-3-220 { --kit-cycle-3: 220deg; }
.kit-pub-cycle-3-230 { --kit-cycle-3: 230deg; }
.kit-pub-cycle-3-240 { --kit-cycle-3: 240deg; }
.kit-pub-cycle-3-250 { --kit-cycle-3: 250deg; }
.kit-pub-cycle-3-260 { --kit-cycle-3: 260deg; }
.kit-pub-cycle-3-270 { --kit-cycle-3: 270deg; }
.kit-pub-cycle-3-280 { --kit-cycle-3: 280deg; }
.kit-pub-cycle-3-290 { --kit-cycle-3: 290deg; }
.kit-pub-cycle-3-300 { --kit-cycle-3: 300deg; }
.kit-pub-cycle-3-310 { --kit-cycle-3: 310deg; }
.kit-pub-cycle-3-320 { --kit-cycle-3: 320deg; }
.kit-pub-cycle-3-330 { --kit-cycle-3: 330deg; }
.kit-pub-cycle-3-340 { --kit-cycle-3: 340deg; }
.kit-pub-cycle-3-350 { --kit-cycle-3: 350deg; }
.kit-pub-cycle-4-0 { --kit-cycle-4: 0deg; }
.kit-pub-cycle-4-10 { --kit-cycle-4: 10deg; }
.kit-pub-cycle-4-20 { --kit-cycle-4: 20deg; }
.kit-pub-cycle-4-30 { --kit-cycle-4: 30deg; }
.kit-pub-cycle-4-40 { --kit-cycle-4: 40deg; }
.kit-pub-cycle-4-50 { --kit-cycle-4: 50deg; }
.kit-pub-cycle-4-60 { --kit-cycle-4: 60deg; }
.kit-pub-cycle-4-70 { --kit-cycle-4: 70deg; }
.kit-pub-cycle-4-80 { --kit-cycle-4: 80deg; }
.kit-pub-cycle-4-90 { --kit-cycle-4: 90deg; }
.kit-pub-cycle-4-100 { --kit-cycle-4: 100deg; }
.kit-pub-cycle-4-110 { --kit-cycle-4: 110deg; }
.kit-pub-cycle-4-120 { --kit-cycle-4: 120deg; }
.kit-pub-cycle-4-130 { --kit-cycle-4: 130deg; }
.kit-pub-cycle-4-140 { --kit-cycle-4: 140deg; }
.kit-pub-cycle-4-150 { --kit-cycle-4: 150deg; }
.kit-pub-cycle-4-160 { --kit-cycle-4: 160deg; }
.kit-pub-cycle-4-170 { --kit-cycle-4: 170deg; }
.kit-pub-cycle-4-180 { --kit-cycle-4: 180deg; }
.kit-pub-cycle-4-190 { --kit-cycle-4: 190deg; }
.kit-pub-cycle-4-200 { --kit-cycle-4: 200deg; }
.kit-pub-cycle-4-210 { --kit-cycle-4: 210deg; }
.kit-pub-cycle-4-220 { --kit-cycle-4: 220deg; }
.kit-pub-cycle-4-230 { --kit-cycle-4: 230deg; }
.kit-pub-cycle-4-240 { --kit-cycle-4: 240deg; }
.kit-pub-cycle-4-250 { --kit-cycle-4: 250deg; }
.kit-pub-cycle-4-260 { --kit-cycle-4: 260deg; }
.kit-pub-cycle-4-270 { --kit-cycle-4: 270deg; }
.kit-pub-cycle-4-280 { --kit-cycle-4: 280deg; }
.kit-pub-cycle-4-290 { --kit-cycle-4: 290deg; }
.kit-pub-cycle-4-300 { --kit-cycle-4: 300deg; }
.kit-pub-cycle-4-310 { --kit-cycle-4: 310deg; }
.kit-pub-cycle-4-320 { --kit-cycle-4: 320deg; }
.kit-pub-cycle-4-330 { --kit-cycle-4: 330deg; }
.kit-pub-cycle-4-340 { --kit-cycle-4: 340deg; }
.kit-pub-cycle-4-350 { --kit-cycle-4: 350deg; }
.kit-pub-cycle-5-0 { --kit-cycle-5: 0deg; }
.kit-pub-cycle-5-10 { --kit-cycle-5: 10deg; }
.kit-pub-cycle-5-20 { --kit-cycle-5: 20deg; }
.kit-pub-cycle-5-30 { --kit-cycle-5: 30deg; }
.kit-pub-cycle-5-40 { --kit-cycle-5: 40deg; }
.kit-pub-cycle-5-50 { --kit-cycle-5: 50deg; }
.kit-pub-cycle-5-60 { --kit-cycle-5: 60deg; }
.kit-pub-cycle-5-70 { --kit-cycle-5: 70deg; }
.kit-pub-cycle-5-80 { --kit-cycle-5: 80deg; }
.kit-pub-cycle-5-90 { --kit-cycle-5: 90deg; }
.kit-pub-cycle-5-100 { --kit-cycle-5: 100deg; }
.kit-pub-cycle-5-110 { --kit-cycle-5: 110deg; }
.kit-pub-cycle-5-120 { --kit-cycle-5: 120deg; }
.kit-pub-cycle-5-130 { --kit-cycle-5: 130deg; }
.kit-pub-cycle-5-140 { --kit-cycle-5: 140deg; }
.kit-pub-cycle-5-150 { --kit-cycle-5: 150deg; }
.kit-pub-cycle-5-160 { --kit-cycle-5: 160deg; }
.kit-pub-cycle-5-170 { --kit-cycle-5: 170deg; }
.kit-pub-cycle-5-180 { --kit-cycle-5: 180deg; }
.kit-pub-cycle-5-190 { --kit-cycle-5: 190deg; }
.kit-pub-cycle-5-200 { --kit-cycle-5: 200deg; }
.kit-pub-cycle-5-210 { --kit-cycle-5: 210deg; }
.kit-pub-cycle-5-220 { --kit-cycle-5: 220deg; }
.kit-pub-cycle-5-230 { --kit-cycle-5: 230deg; }
.kit-pub-cycle-5-240 { --kit-cycle-5: 240deg; }
.kit-pub-cycle-5-250 { --kit-cycle-5: 250deg; }
.kit-pub-cycle-5-260 { --kit-cycle-5: 260deg; }
.kit-pub-cycle-5-270 { --kit-cycle-5: 270deg; }
.kit-pub-cycle-5-280 { --kit-cycle-5: 280deg; }
.kit-pub-cycle-5-290 { --kit-cycle-5: 290deg; }
.kit-pub-cycle-5-300 { --kit-cycle-5: 300deg; }
.kit-pub-cycle-5-310 { --kit-cycle-5: 310deg; }
.kit-pub-cycle-5-320 { --kit-cycle-5: 320deg; }
.kit-pub-cycle-5-330 { --kit-cycle-5: 330deg; }
.kit-pub-cycle-5-340 { --kit-cycle-5: 340deg; }
.kit-pub-cycle-5-350 { --kit-cycle-5: 350deg; }
@keyframes kit-pub-stage-cycle-2 { 0.00%, 35.00% { filter: hue-rotate(var(--kit-cycle-0)); } 50.00%, 85.00% { filter: hue-rotate(var(--kit-cycle-1)); } 100% { filter: hue-rotate(calc(var(--kit-cycle-0) + 360deg)); } }
.kit-pub-stage-tint.kit-pub-cycle-n2 { filter: hue-rotate(var(--kit-cycle-0)); }
@media (prefers-reduced-motion: no-preference) { .kit-pub-stage-tint.kit-pub-cycle-n2 { animation: kit-pub-stage-cycle-2 8000ms ease-in-out infinite; } }
@keyframes kit-pub-stage-cycle-3 { 0.00%, 23.33% { filter: hue-rotate(var(--kit-cycle-0)); } 33.33%, 56.67% { filter: hue-rotate(var(--kit-cycle-1)); } 66.67%, 90.00% { filter: hue-rotate(var(--kit-cycle-2)); } 100% { filter: hue-rotate(calc(var(--kit-cycle-0) + 360deg)); } }
.kit-pub-stage-tint.kit-pub-cycle-n3 { filter: hue-rotate(var(--kit-cycle-0)); }
@media (prefers-reduced-motion: no-preference) { .kit-pub-stage-tint.kit-pub-cycle-n3 { animation: kit-pub-stage-cycle-3 12000ms ease-in-out infinite; } }
@keyframes kit-pub-stage-cycle-4 { 0.00%, 17.50% { filter: hue-rotate(var(--kit-cycle-0)); } 25.00%, 42.50% { filter: hue-rotate(var(--kit-cycle-1)); } 50.00%, 67.50% { filter: hue-rotate(var(--kit-cycle-2)); } 75.00%, 92.50% { filter: hue-rotate(var(--kit-cycle-3)); } 100% { filter: hue-rotate(calc(var(--kit-cycle-0) + 360deg)); } }
.kit-pub-stage-tint.kit-pub-cycle-n4 { filter: hue-rotate(var(--kit-cycle-0)); }
@media (prefers-reduced-motion: no-preference) { .kit-pub-stage-tint.kit-pub-cycle-n4 { animation: kit-pub-stage-cycle-4 16000ms ease-in-out infinite; } }
@keyframes kit-pub-stage-cycle-5 { 0.00%, 14.00% { filter: hue-rotate(var(--kit-cycle-0)); } 20.00%, 34.00% { filter: hue-rotate(var(--kit-cycle-1)); } 40.00%, 54.00% { filter: hue-rotate(var(--kit-cycle-2)); } 60.00%, 74.00% { filter: hue-rotate(var(--kit-cycle-3)); } 80.00%, 94.00% { filter: hue-rotate(var(--kit-cycle-4)); } 100% { filter: hue-rotate(calc(var(--kit-cycle-0) + 360deg)); } }
.kit-pub-stage-tint.kit-pub-cycle-n5 { filter: hue-rotate(var(--kit-cycle-0)); }
@media (prefers-reduced-motion: no-preference) { .kit-pub-stage-tint.kit-pub-cycle-n5 { animation: kit-pub-stage-cycle-5 20000ms ease-in-out infinite; } }
@keyframes kit-pub-stage-cycle-6 { 0.00%, 11.67% { filter: hue-rotate(var(--kit-cycle-0)); } 16.67%, 28.33% { filter: hue-rotate(var(--kit-cycle-1)); } 33.33%, 45.00% { filter: hue-rotate(var(--kit-cycle-2)); } 50.00%, 61.67% { filter: hue-rotate(var(--kit-cycle-3)); } 66.67%, 78.33% { filter: hue-rotate(var(--kit-cycle-4)); } 83.33%, 95.00% { filter: hue-rotate(var(--kit-cycle-5)); } 100% { filter: hue-rotate(calc(var(--kit-cycle-0) + 360deg)); } }
.kit-pub-stage-tint.kit-pub-cycle-n6 { filter: hue-rotate(var(--kit-cycle-0)); }
@media (prefers-reduced-motion: no-preference) { .kit-pub-stage-tint.kit-pub-cycle-n6 { animation: kit-pub-stage-cycle-6 24000ms ease-in-out infinite; } }
/* Live parts' places (live::live_css): left, top, width, height in whole percent. */
.kit-pub-area-l0 { left: 0%; }
.kit-pub-area-l1 { left: 1%; }
.kit-pub-area-l2 { left: 2%; }
.kit-pub-area-l3 { left: 3%; }
.kit-pub-area-l4 { left: 4%; }
.kit-pub-area-l5 { left: 5%; }
.kit-pub-area-l6 { left: 6%; }
.kit-pub-area-l7 { left: 7%; }
.kit-pub-area-l8 { left: 8%; }
.kit-pub-area-l9 { left: 9%; }
.kit-pub-area-l10 { left: 10%; }
.kit-pub-area-l11 { left: 11%; }
.kit-pub-area-l12 { left: 12%; }
.kit-pub-area-l13 { left: 13%; }
.kit-pub-area-l14 { left: 14%; }
.kit-pub-area-l15 { left: 15%; }
.kit-pub-area-l16 { left: 16%; }
.kit-pub-area-l17 { left: 17%; }
.kit-pub-area-l18 { left: 18%; }
.kit-pub-area-l19 { left: 19%; }
.kit-pub-area-l20 { left: 20%; }
.kit-pub-area-l21 { left: 21%; }
.kit-pub-area-l22 { left: 22%; }
.kit-pub-area-l23 { left: 23%; }
.kit-pub-area-l24 { left: 24%; }
.kit-pub-area-l25 { left: 25%; }
.kit-pub-area-l26 { left: 26%; }
.kit-pub-area-l27 { left: 27%; }
.kit-pub-area-l28 { left: 28%; }
.kit-pub-area-l29 { left: 29%; }
.kit-pub-area-l30 { left: 30%; }
.kit-pub-area-l31 { left: 31%; }
.kit-pub-area-l32 { left: 32%; }
.kit-pub-area-l33 { left: 33%; }
.kit-pub-area-l34 { left: 34%; }
.kit-pub-area-l35 { left: 35%; }
.kit-pub-area-l36 { left: 36%; }
.kit-pub-area-l37 { left: 37%; }
.kit-pub-area-l38 { left: 38%; }
.kit-pub-area-l39 { left: 39%; }
.kit-pub-area-l40 { left: 40%; }
.kit-pub-area-l41 { left: 41%; }
.kit-pub-area-l42 { left: 42%; }
.kit-pub-area-l43 { left: 43%; }
.kit-pub-area-l44 { left: 44%; }
.kit-pub-area-l45 { left: 45%; }
.kit-pub-area-l46 { left: 46%; }
.kit-pub-area-l47 { left: 47%; }
.kit-pub-area-l48 { left: 48%; }
.kit-pub-area-l49 { left: 49%; }
.kit-pub-area-l50 { left: 50%; }
.kit-pub-area-l51 { left: 51%; }
.kit-pub-area-l52 { left: 52%; }
.kit-pub-area-l53 { left: 53%; }
.kit-pub-area-l54 { left: 54%; }
.kit-pub-area-l55 { left: 55%; }
.kit-pub-area-l56 { left: 56%; }
.kit-pub-area-l57 { left: 57%; }
.kit-pub-area-l58 { left: 58%; }
.kit-pub-area-l59 { left: 59%; }
.kit-pub-area-l60 { left: 60%; }
.kit-pub-area-l61 { left: 61%; }
.kit-pub-area-l62 { left: 62%; }
.kit-pub-area-l63 { left: 63%; }
.kit-pub-area-l64 { left: 64%; }
.kit-pub-area-l65 { left: 65%; }
.kit-pub-area-l66 { left: 66%; }
.kit-pub-area-l67 { left: 67%; }
.kit-pub-area-l68 { left: 68%; }
.kit-pub-area-l69 { left: 69%; }
.kit-pub-area-l70 { left: 70%; }
.kit-pub-area-l71 { left: 71%; }
.kit-pub-area-l72 { left: 72%; }
.kit-pub-area-l73 { left: 73%; }
.kit-pub-area-l74 { left: 74%; }
.kit-pub-area-l75 { left: 75%; }
.kit-pub-area-l76 { left: 76%; }
.kit-pub-area-l77 { left: 77%; }
.kit-pub-area-l78 { left: 78%; }
.kit-pub-area-l79 { left: 79%; }
.kit-pub-area-l80 { left: 80%; }
.kit-pub-area-l81 { left: 81%; }
.kit-pub-area-l82 { left: 82%; }
.kit-pub-area-l83 { left: 83%; }
.kit-pub-area-l84 { left: 84%; }
.kit-pub-area-l85 { left: 85%; }
.kit-pub-area-l86 { left: 86%; }
.kit-pub-area-l87 { left: 87%; }
.kit-pub-area-l88 { left: 88%; }
.kit-pub-area-l89 { left: 89%; }
.kit-pub-area-l90 { left: 90%; }
.kit-pub-area-l91 { left: 91%; }
.kit-pub-area-l92 { left: 92%; }
.kit-pub-area-l93 { left: 93%; }
.kit-pub-area-l94 { left: 94%; }
.kit-pub-area-l95 { left: 95%; }
.kit-pub-area-l96 { left: 96%; }
.kit-pub-area-l97 { left: 97%; }
.kit-pub-area-l98 { left: 98%; }
.kit-pub-area-l99 { left: 99%; }
.kit-pub-area-l100 { left: 100%; }
.kit-pub-area-t0 { top: 0%; }
.kit-pub-area-t1 { top: 1%; }
.kit-pub-area-t2 { top: 2%; }
.kit-pub-area-t3 { top: 3%; }
.kit-pub-area-t4 { top: 4%; }
.kit-pub-area-t5 { top: 5%; }
.kit-pub-area-t6 { top: 6%; }
.kit-pub-area-t7 { top: 7%; }
.kit-pub-area-t8 { top: 8%; }
.kit-pub-area-t9 { top: 9%; }
.kit-pub-area-t10 { top: 10%; }
.kit-pub-area-t11 { top: 11%; }
.kit-pub-area-t12 { top: 12%; }
.kit-pub-area-t13 { top: 13%; }
.kit-pub-area-t14 { top: 14%; }
.kit-pub-area-t15 { top: 15%; }
.kit-pub-area-t16 { top: 16%; }
.kit-pub-area-t17 { top: 17%; }
.kit-pub-area-t18 { top: 18%; }
.kit-pub-area-t19 { top: 19%; }
.kit-pub-area-t20 { top: 20%; }
.kit-pub-area-t21 { top: 21%; }
.kit-pub-area-t22 { top: 22%; }
.kit-pub-area-t23 { top: 23%; }
.kit-pub-area-t24 { top: 24%; }
.kit-pub-area-t25 { top: 25%; }
.kit-pub-area-t26 { top: 26%; }
.kit-pub-area-t27 { top: 27%; }
.kit-pub-area-t28 { top: 28%; }
.kit-pub-area-t29 { top: 29%; }
.kit-pub-area-t30 { top: 30%; }
.kit-pub-area-t31 { top: 31%; }
.kit-pub-area-t32 { top: 32%; }
.kit-pub-area-t33 { top: 33%; }
.kit-pub-area-t34 { top: 34%; }
.kit-pub-area-t35 { top: 35%; }
.kit-pub-area-t36 { top: 36%; }
.kit-pub-area-t37 { top: 37%; }
.kit-pub-area-t38 { top: 38%; }
.kit-pub-area-t39 { top: 39%; }
.kit-pub-area-t40 { top: 40%; }
.kit-pub-area-t41 { top: 41%; }
.kit-pub-area-t42 { top: 42%; }
.kit-pub-area-t43 { top: 43%; }
.kit-pub-area-t44 { top: 44%; }
.kit-pub-area-t45 { top: 45%; }
.kit-pub-area-t46 { top: 46%; }
.kit-pub-area-t47 { top: 47%; }
.kit-pub-area-t48 { top: 48%; }
.kit-pub-area-t49 { top: 49%; }
.kit-pub-area-t50 { top: 50%; }
.kit-pub-area-t51 { top: 51%; }
.kit-pub-area-t52 { top: 52%; }
.kit-pub-area-t53 { top: 53%; }
.kit-pub-area-t54 { top: 54%; }
.kit-pub-area-t55 { top: 55%; }
.kit-pub-area-t56 { top: 56%; }
.kit-pub-area-t57 { top: 57%; }
.kit-pub-area-t58 { top: 58%; }
.kit-pub-area-t59 { top: 59%; }
.kit-pub-area-t60 { top: 60%; }
.kit-pub-area-t61 { top: 61%; }
.kit-pub-area-t62 { top: 62%; }
.kit-pub-area-t63 { top: 63%; }
.kit-pub-area-t64 { top: 64%; }
.kit-pub-area-t65 { top: 65%; }
.kit-pub-area-t66 { top: 66%; }
.kit-pub-area-t67 { top: 67%; }
.kit-pub-area-t68 { top: 68%; }
.kit-pub-area-t69 { top: 69%; }
.kit-pub-area-t70 { top: 70%; }
.kit-pub-area-t71 { top: 71%; }
.kit-pub-area-t72 { top: 72%; }
.kit-pub-area-t73 { top: 73%; }
.kit-pub-area-t74 { top: 74%; }
.kit-pub-area-t75 { top: 75%; }
.kit-pub-area-t76 { top: 76%; }
.kit-pub-area-t77 { top: 77%; }
.kit-pub-area-t78 { top: 78%; }
.kit-pub-area-t79 { top: 79%; }
.kit-pub-area-t80 { top: 80%; }
.kit-pub-area-t81 { top: 81%; }
.kit-pub-area-t82 { top: 82%; }
.kit-pub-area-t83 { top: 83%; }
.kit-pub-area-t84 { top: 84%; }
.kit-pub-area-t85 { top: 85%; }
.kit-pub-area-t86 { top: 86%; }
.kit-pub-area-t87 { top: 87%; }
.kit-pub-area-t88 { top: 88%; }
.kit-pub-area-t89 { top: 89%; }
.kit-pub-area-t90 { top: 90%; }
.kit-pub-area-t91 { top: 91%; }
.kit-pub-area-t92 { top: 92%; }
.kit-pub-area-t93 { top: 93%; }
.kit-pub-area-t94 { top: 94%; }
.kit-pub-area-t95 { top: 95%; }
.kit-pub-area-t96 { top: 96%; }
.kit-pub-area-t97 { top: 97%; }
.kit-pub-area-t98 { top: 98%; }
.kit-pub-area-t99 { top: 99%; }
.kit-pub-area-t100 { top: 100%; }
.kit-pub-area-w0 { width: 0%; }
.kit-pub-area-w1 { width: 1%; }
.kit-pub-area-w2 { width: 2%; }
.kit-pub-area-w3 { width: 3%; }
.kit-pub-area-w4 { width: 4%; }
.kit-pub-area-w5 { width: 5%; }
.kit-pub-area-w6 { width: 6%; }
.kit-pub-area-w7 { width: 7%; }
.kit-pub-area-w8 { width: 8%; }
.kit-pub-area-w9 { width: 9%; }
.kit-pub-area-w10 { width: 10%; }
.kit-pub-area-w11 { width: 11%; }
.kit-pub-area-w12 { width: 12%; }
.kit-pub-area-w13 { width: 13%; }
.kit-pub-area-w14 { width: 14%; }
.kit-pub-area-w15 { width: 15%; }
.kit-pub-area-w16 { width: 16%; }
.kit-pub-area-w17 { width: 17%; }
.kit-pub-area-w18 { width: 18%; }
.kit-pub-area-w19 { width: 19%; }
.kit-pub-area-w20 { width: 20%; }
.kit-pub-area-w21 { width: 21%; }
.kit-pub-area-w22 { width: 22%; }
.kit-pub-area-w23 { width: 23%; }
.kit-pub-area-w24 { width: 24%; }
.kit-pub-area-w25 { width: 25%; }
.kit-pub-area-w26 { width: 26%; }
.kit-pub-area-w27 { width: 27%; }
.kit-pub-area-w28 { width: 28%; }
.kit-pub-area-w29 { width: 29%; }
.kit-pub-area-w30 { width: 30%; }
.kit-pub-area-w31 { width: 31%; }
.kit-pub-area-w32 { width: 32%; }
.kit-pub-area-w33 { width: 33%; }
.kit-pub-area-w34 { width: 34%; }
.kit-pub-area-w35 { width: 35%; }
.kit-pub-area-w36 { width: 36%; }
.kit-pub-area-w37 { width: 37%; }
.kit-pub-area-w38 { width: 38%; }
.kit-pub-area-w39 { width: 39%; }
.kit-pub-area-w40 { width: 40%; }
.kit-pub-area-w41 { width: 41%; }
.kit-pub-area-w42 { width: 42%; }
.kit-pub-area-w43 { width: 43%; }
.kit-pub-area-w44 { width: 44%; }
.kit-pub-area-w45 { width: 45%; }
.kit-pub-area-w46 { width: 46%; }
.kit-pub-area-w47 { width: 47%; }
.kit-pub-area-w48 { width: 48%; }
.kit-pub-area-w49 { width: 49%; }
.kit-pub-area-w50 { width: 50%; }
.kit-pub-area-w51 { width: 51%; }
.kit-pub-area-w52 { width: 52%; }
.kit-pub-area-w53 { width: 53%; }
.kit-pub-area-w54 { width: 54%; }
.kit-pub-area-w55 { width: 55%; }
.kit-pub-area-w56 { width: 56%; }
.kit-pub-area-w57 { width: 57%; }
.kit-pub-area-w58 { width: 58%; }
.kit-pub-area-w59 { width: 59%; }
.kit-pub-area-w60 { width: 60%; }
.kit-pub-area-w61 { width: 61%; }
.kit-pub-area-w62 { width: 62%; }
.kit-pub-area-w63 { width: 63%; }
.kit-pub-area-w64 { width: 64%; }
.kit-pub-area-w65 { width: 65%; }
.kit-pub-area-w66 { width: 66%; }
.kit-pub-area-w67 { width: 67%; }
.kit-pub-area-w68 { width: 68%; }
.kit-pub-area-w69 { width: 69%; }
.kit-pub-area-w70 { width: 70%; }
.kit-pub-area-w71 { width: 71%; }
.kit-pub-area-w72 { width: 72%; }
.kit-pub-area-w73 { width: 73%; }
.kit-pub-area-w74 { width: 74%; }
.kit-pub-area-w75 { width: 75%; }
.kit-pub-area-w76 { width: 76%; }
.kit-pub-area-w77 { width: 77%; }
.kit-pub-area-w78 { width: 78%; }
.kit-pub-area-w79 { width: 79%; }
.kit-pub-area-w80 { width: 80%; }
.kit-pub-area-w81 { width: 81%; }
.kit-pub-area-w82 { width: 82%; }
.kit-pub-area-w83 { width: 83%; }
.kit-pub-area-w84 { width: 84%; }
.kit-pub-area-w85 { width: 85%; }
.kit-pub-area-w86 { width: 86%; }
.kit-pub-area-w87 { width: 87%; }
.kit-pub-area-w88 { width: 88%; }
.kit-pub-area-w89 { width: 89%; }
.kit-pub-area-w90 { width: 90%; }
.kit-pub-area-w91 { width: 91%; }
.kit-pub-area-w92 { width: 92%; }
.kit-pub-area-w93 { width: 93%; }
.kit-pub-area-w94 { width: 94%; }
.kit-pub-area-w95 { width: 95%; }
.kit-pub-area-w96 { width: 96%; }
.kit-pub-area-w97 { width: 97%; }
.kit-pub-area-w98 { width: 98%; }
.kit-pub-area-w99 { width: 99%; }
.kit-pub-area-w100 { width: 100%; }
.kit-pub-area-h0 { height: 0%; }
.kit-pub-area-h1 { height: 1%; }
.kit-pub-area-h2 { height: 2%; }
.kit-pub-area-h3 { height: 3%; }
.kit-pub-area-h4 { height: 4%; }
.kit-pub-area-h5 { height: 5%; }
.kit-pub-area-h6 { height: 6%; }
.kit-pub-area-h7 { height: 7%; }
.kit-pub-area-h8 { height: 8%; }
.kit-pub-area-h9 { height: 9%; }
.kit-pub-area-h10 { height: 10%; }
.kit-pub-area-h11 { height: 11%; }
.kit-pub-area-h12 { height: 12%; }
.kit-pub-area-h13 { height: 13%; }
.kit-pub-area-h14 { height: 14%; }
.kit-pub-area-h15 { height: 15%; }
.kit-pub-area-h16 { height: 16%; }
.kit-pub-area-h17 { height: 17%; }
.kit-pub-area-h18 { height: 18%; }
.kit-pub-area-h19 { height: 19%; }
.kit-pub-area-h20 { height: 20%; }
.kit-pub-area-h21 { height: 21%; }
.kit-pub-area-h22 { height: 22%; }
.kit-pub-area-h23 { height: 23%; }
.kit-pub-area-h24 { height: 24%; }
.kit-pub-area-h25 { height: 25%; }
.kit-pub-area-h26 { height: 26%; }
.kit-pub-area-h27 { height: 27%; }
.kit-pub-area-h28 { height: 28%; }
.kit-pub-area-h29 { height: 29%; }
.kit-pub-area-h30 { height: 30%; }
.kit-pub-area-h31 { height: 31%; }
.kit-pub-area-h32 { height: 32%; }
.kit-pub-area-h33 { height: 33%; }
.kit-pub-area-h34 { height: 34%; }
.kit-pub-area-h35 { height: 35%; }
.kit-pub-area-h36 { height: 36%; }
.kit-pub-area-h37 { height: 37%; }
.kit-pub-area-h38 { height: 38%; }
.kit-pub-area-h39 { height: 39%; }
.kit-pub-area-h40 { height: 40%; }
.kit-pub-area-h41 { height: 41%; }
.kit-pub-area-h42 { height: 42%; }
.kit-pub-area-h43 { height: 43%; }
.kit-pub-area-h44 { height: 44%; }
.kit-pub-area-h45 { height: 45%; }
.kit-pub-area-h46 { height: 46%; }
.kit-pub-area-h47 { height: 47%; }
.kit-pub-area-h48 { height: 48%; }
.kit-pub-area-h49 { height: 49%; }
.kit-pub-area-h50 { height: 50%; }
.kit-pub-area-h51 { height: 51%; }
.kit-pub-area-h52 { height: 52%; }
.kit-pub-area-h53 { height: 53%; }
.kit-pub-area-h54 { height: 54%; }
.kit-pub-area-h55 { height: 55%; }
.kit-pub-area-h56 { height: 56%; }
.kit-pub-area-h57 { height: 57%; }
.kit-pub-area-h58 { height: 58%; }
.kit-pub-area-h59 { height: 59%; }
.kit-pub-area-h60 { height: 60%; }
.kit-pub-area-h61 { height: 61%; }
.kit-pub-area-h62 { height: 62%; }
.kit-pub-area-h63 { height: 63%; }
.kit-pub-area-h64 { height: 64%; }
.kit-pub-area-h65 { height: 65%; }
.kit-pub-area-h66 { height: 66%; }
.kit-pub-area-h67 { height: 67%; }
.kit-pub-area-h68 { height: 68%; }
.kit-pub-area-h69 { height: 69%; }
.kit-pub-area-h70 { height: 70%; }
.kit-pub-area-h71 { height: 71%; }
.kit-pub-area-h72 { height: 72%; }
.kit-pub-area-h73 { height: 73%; }
.kit-pub-area-h74 { height: 74%; }
.kit-pub-area-h75 { height: 75%; }
.kit-pub-area-h76 { height: 76%; }
.kit-pub-area-h77 { height: 77%; }
.kit-pub-area-h78 { height: 78%; }
.kit-pub-area-h79 { height: 79%; }
.kit-pub-area-h80 { height: 80%; }
.kit-pub-area-h81 { height: 81%; }
.kit-pub-area-h82 { height: 82%; }
.kit-pub-area-h83 { height: 83%; }
.kit-pub-area-h84 { height: 84%; }
.kit-pub-area-h85 { height: 85%; }
.kit-pub-area-h86 { height: 86%; }
.kit-pub-area-h87 { height: 87%; }
.kit-pub-area-h88 { height: 88%; }
.kit-pub-area-h89 { height: 89%; }
.kit-pub-area-h90 { height: 90%; }
.kit-pub-area-h91 { height: 91%; }
.kit-pub-area-h92 { height: 92%; }
.kit-pub-area-h93 { height: 93%; }
.kit-pub-area-h94 { height: 94%; }
.kit-pub-area-h95 { height: 95%; }
.kit-pub-area-h96 { height: 96%; }
.kit-pub-area-h97 { height: 97%; }
.kit-pub-area-h98 { height: 98%; }
.kit-pub-area-h99 { height: 99%; }
.kit-pub-area-h100 { height: 100%; }
/* Live parts' shapes: a picture's width over its height. */
.kit-pub-live-r20 { --kit-live-ratio: 0.20; }
.kit-pub-live-r25 { --kit-live-ratio: 0.25; }
.kit-pub-live-r30 { --kit-live-ratio: 0.30; }
.kit-pub-live-r35 { --kit-live-ratio: 0.35; }
.kit-pub-live-r40 { --kit-live-ratio: 0.40; }
.kit-pub-live-r45 { --kit-live-ratio: 0.45; }
.kit-pub-live-r50 { --kit-live-ratio: 0.50; }
.kit-pub-live-r55 { --kit-live-ratio: 0.55; }
.kit-pub-live-r60 { --kit-live-ratio: 0.60; }
.kit-pub-live-r65 { --kit-live-ratio: 0.65; }
.kit-pub-live-r70 { --kit-live-ratio: 0.70; }
.kit-pub-live-r75 { --kit-live-ratio: 0.75; }
.kit-pub-live-r80 { --kit-live-ratio: 0.80; }
.kit-pub-live-r85 { --kit-live-ratio: 0.85; }
.kit-pub-live-r90 { --kit-live-ratio: 0.90; }
.kit-pub-live-r95 { --kit-live-ratio: 0.95; }
.kit-pub-live-r100 { --kit-live-ratio: 1.00; }
.kit-pub-live-r105 { --kit-live-ratio: 1.05; }
.kit-pub-live-r110 { --kit-live-ratio: 1.10; }
.kit-pub-live-r115 { --kit-live-ratio: 1.15; }
.kit-pub-live-r120 { --kit-live-ratio: 1.20; }
.kit-pub-live-r125 { --kit-live-ratio: 1.25; }
.kit-pub-live-r130 { --kit-live-ratio: 1.30; }
.kit-pub-live-r135 { --kit-live-ratio: 1.35; }
.kit-pub-live-r140 { --kit-live-ratio: 1.40; }
.kit-pub-live-r145 { --kit-live-ratio: 1.45; }
.kit-pub-live-r150 { --kit-live-ratio: 1.50; }
.kit-pub-live-r155 { --kit-live-ratio: 1.55; }
.kit-pub-live-r160 { --kit-live-ratio: 1.60; }
.kit-pub-live-r165 { --kit-live-ratio: 1.65; }
.kit-pub-live-r170 { --kit-live-ratio: 1.70; }
.kit-pub-live-r175 { --kit-live-ratio: 1.75; }
.kit-pub-live-r180 { --kit-live-ratio: 1.80; }
.kit-pub-live-r185 { --kit-live-ratio: 1.85; }
.kit-pub-live-r190 { --kit-live-ratio: 1.90; }
.kit-pub-live-r195 { --kit-live-ratio: 1.95; }
.kit-pub-live-r200 { --kit-live-ratio: 2.00; }
.kit-pub-live-r205 { --kit-live-ratio: 2.05; }
.kit-pub-live-r210 { --kit-live-ratio: 2.10; }
.kit-pub-live-r215 { --kit-live-ratio: 2.15; }
.kit-pub-live-r220 { --kit-live-ratio: 2.20; }
.kit-pub-live-r225 { --kit-live-ratio: 2.25; }
.kit-pub-live-r230 { --kit-live-ratio: 2.30; }
.kit-pub-live-r235 { --kit-live-ratio: 2.35; }
.kit-pub-live-r240 { --kit-live-ratio: 2.40; }
.kit-pub-live-r245 { --kit-live-ratio: 2.45; }
.kit-pub-live-r250 { --kit-live-ratio: 2.50; }
.kit-pub-live-r255 { --kit-live-ratio: 2.55; }
.kit-pub-live-r260 { --kit-live-ratio: 2.60; }
.kit-pub-live-r265 { --kit-live-ratio: 2.65; }
.kit-pub-live-r270 { --kit-live-ratio: 2.70; }
.kit-pub-live-r275 { --kit-live-ratio: 2.75; }
.kit-pub-live-r280 { --kit-live-ratio: 2.80; }
.kit-pub-live-r285 { --kit-live-ratio: 2.85; }
.kit-pub-live-r290 { --kit-live-ratio: 2.90; }
.kit-pub-live-r295 { --kit-live-ratio: 2.95; }
.kit-pub-live-r300 { --kit-live-ratio: 3.00; }
.kit-pub-live-r305 { --kit-live-ratio: 3.05; }
.kit-pub-live-r310 { --kit-live-ratio: 3.10; }
.kit-pub-live-r315 { --kit-live-ratio: 3.15; }
.kit-pub-live-r320 { --kit-live-ratio: 3.20; }
.kit-pub-live-r325 { --kit-live-ratio: 3.25; }
.kit-pub-live-r330 { --kit-live-ratio: 3.30; }
.kit-pub-live-r335 { --kit-live-ratio: 3.35; }
.kit-pub-live-r340 { --kit-live-ratio: 3.40; }
.kit-pub-live-r345 { --kit-live-ratio: 3.45; }
.kit-pub-live-r350 { --kit-live-ratio: 3.50; }
.kit-pub-live-r355 { --kit-live-ratio: 3.55; }
.kit-pub-live-r360 { --kit-live-ratio: 3.60; }
.kit-pub-live-r365 { --kit-live-ratio: 3.65; }
.kit-pub-live-r370 { --kit-live-ratio: 3.70; }
.kit-pub-live-r375 { --kit-live-ratio: 3.75; }
.kit-pub-live-r380 { --kit-live-ratio: 3.80; }
.kit-pub-live-r385 { --kit-live-ratio: 3.85; }
.kit-pub-live-r390 { --kit-live-ratio: 3.90; }
.kit-pub-live-r395 { --kit-live-ratio: 3.95; }
.kit-pub-live-r400 { --kit-live-ratio: 4.00; }
/* Assembly's places and moves (assemble::assemble_css). */
.kit-pub-asm-l0 { --kit-asm-l: 0; }
.kit-pub-asm-l1 { --kit-asm-l: 1; }
.kit-pub-asm-l2 { --kit-asm-l: 2; }
.kit-pub-asm-l3 { --kit-asm-l: 3; }
.kit-pub-asm-l4 { --kit-asm-l: 4; }
.kit-pub-asm-l5 { --kit-asm-l: 5; }
.kit-pub-asm-l6 { --kit-asm-l: 6; }
.kit-pub-asm-l7 { --kit-asm-l: 7; }
.kit-pub-asm-l8 { --kit-asm-l: 8; }
.kit-pub-asm-l9 { --kit-asm-l: 9; }
.kit-pub-asm-l10 { --kit-asm-l: 10; }
.kit-pub-asm-l11 { --kit-asm-l: 11; }
.kit-pub-asm-l12 { --kit-asm-l: 12; }
.kit-pub-asm-l13 { --kit-asm-l: 13; }
.kit-pub-asm-l14 { --kit-asm-l: 14; }
.kit-pub-asm-l15 { --kit-asm-l: 15; }
.kit-pub-asm-l16 { --kit-asm-l: 16; }
.kit-pub-asm-l17 { --kit-asm-l: 17; }
.kit-pub-asm-l18 { --kit-asm-l: 18; }
.kit-pub-asm-l19 { --kit-asm-l: 19; }
.kit-pub-asm-l20 { --kit-asm-l: 20; }
.kit-pub-asm-l21 { --kit-asm-l: 21; }
.kit-pub-asm-l22 { --kit-asm-l: 22; }
.kit-pub-asm-l23 { --kit-asm-l: 23; }
.kit-pub-asm-l24 { --kit-asm-l: 24; }
.kit-pub-asm-l25 { --kit-asm-l: 25; }
.kit-pub-asm-l26 { --kit-asm-l: 26; }
.kit-pub-asm-l27 { --kit-asm-l: 27; }
.kit-pub-asm-l28 { --kit-asm-l: 28; }
.kit-pub-asm-l29 { --kit-asm-l: 29; }
.kit-pub-asm-l30 { --kit-asm-l: 30; }
.kit-pub-asm-l31 { --kit-asm-l: 31; }
.kit-pub-asm-l32 { --kit-asm-l: 32; }
.kit-pub-asm-l33 { --kit-asm-l: 33; }
.kit-pub-asm-l34 { --kit-asm-l: 34; }
.kit-pub-asm-l35 { --kit-asm-l: 35; }
.kit-pub-asm-l36 { --kit-asm-l: 36; }
.kit-pub-asm-l37 { --kit-asm-l: 37; }
.kit-pub-asm-l38 { --kit-asm-l: 38; }
.kit-pub-asm-l39 { --kit-asm-l: 39; }
.kit-pub-asm-l40 { --kit-asm-l: 40; }
.kit-pub-asm-l41 { --kit-asm-l: 41; }
.kit-pub-asm-l42 { --kit-asm-l: 42; }
.kit-pub-asm-l43 { --kit-asm-l: 43; }
.kit-pub-asm-l44 { --kit-asm-l: 44; }
.kit-pub-asm-l45 { --kit-asm-l: 45; }
.kit-pub-asm-l46 { --kit-asm-l: 46; }
.kit-pub-asm-l47 { --kit-asm-l: 47; }
.kit-pub-asm-l48 { --kit-asm-l: 48; }
.kit-pub-asm-l49 { --kit-asm-l: 49; }
.kit-pub-asm-l50 { --kit-asm-l: 50; }
.kit-pub-asm-l51 { --kit-asm-l: 51; }
.kit-pub-asm-l52 { --kit-asm-l: 52; }
.kit-pub-asm-l53 { --kit-asm-l: 53; }
.kit-pub-asm-l54 { --kit-asm-l: 54; }
.kit-pub-asm-l55 { --kit-asm-l: 55; }
.kit-pub-asm-l56 { --kit-asm-l: 56; }
.kit-pub-asm-l57 { --kit-asm-l: 57; }
.kit-pub-asm-l58 { --kit-asm-l: 58; }
.kit-pub-asm-l59 { --kit-asm-l: 59; }
.kit-pub-asm-l60 { --kit-asm-l: 60; }
.kit-pub-asm-l61 { --kit-asm-l: 61; }
.kit-pub-asm-l62 { --kit-asm-l: 62; }
.kit-pub-asm-l63 { --kit-asm-l: 63; }
.kit-pub-asm-l64 { --kit-asm-l: 64; }
.kit-pub-asm-l65 { --kit-asm-l: 65; }
.kit-pub-asm-l66 { --kit-asm-l: 66; }
.kit-pub-asm-l67 { --kit-asm-l: 67; }
.kit-pub-asm-l68 { --kit-asm-l: 68; }
.kit-pub-asm-l69 { --kit-asm-l: 69; }
.kit-pub-asm-l70 { --kit-asm-l: 70; }
.kit-pub-asm-l71 { --kit-asm-l: 71; }
.kit-pub-asm-l72 { --kit-asm-l: 72; }
.kit-pub-asm-l73 { --kit-asm-l: 73; }
.kit-pub-asm-l74 { --kit-asm-l: 74; }
.kit-pub-asm-l75 { --kit-asm-l: 75; }
.kit-pub-asm-l76 { --kit-asm-l: 76; }
.kit-pub-asm-l77 { --kit-asm-l: 77; }
.kit-pub-asm-l78 { --kit-asm-l: 78; }
.kit-pub-asm-l79 { --kit-asm-l: 79; }
.kit-pub-asm-l80 { --kit-asm-l: 80; }
.kit-pub-asm-l81 { --kit-asm-l: 81; }
.kit-pub-asm-l82 { --kit-asm-l: 82; }
.kit-pub-asm-l83 { --kit-asm-l: 83; }
.kit-pub-asm-l84 { --kit-asm-l: 84; }
.kit-pub-asm-l85 { --kit-asm-l: 85; }
.kit-pub-asm-l86 { --kit-asm-l: 86; }
.kit-pub-asm-l87 { --kit-asm-l: 87; }
.kit-pub-asm-l88 { --kit-asm-l: 88; }
.kit-pub-asm-l89 { --kit-asm-l: 89; }
.kit-pub-asm-l90 { --kit-asm-l: 90; }
.kit-pub-asm-l91 { --kit-asm-l: 91; }
.kit-pub-asm-l92 { --kit-asm-l: 92; }
.kit-pub-asm-l93 { --kit-asm-l: 93; }
.kit-pub-asm-l94 { --kit-asm-l: 94; }
.kit-pub-asm-l95 { --kit-asm-l: 95; }
.kit-pub-asm-l96 { --kit-asm-l: 96; }
.kit-pub-asm-l97 { --kit-asm-l: 97; }
.kit-pub-asm-l98 { --kit-asm-l: 98; }
.kit-pub-asm-l99 { --kit-asm-l: 99; }
.kit-pub-asm-l100 { --kit-asm-l: 100; }
.kit-pub-asm-ld0 { --kit-asm-ld: 0; }
.kit-pub-asm-ld1 { --kit-asm-ld: 1; }
.kit-pub-asm-ld2 { --kit-asm-ld: 2; }
.kit-pub-asm-ld3 { --kit-asm-ld: 3; }
.kit-pub-asm-ld4 { --kit-asm-ld: 4; }
.kit-pub-asm-ld5 { --kit-asm-ld: 5; }
.kit-pub-asm-ld6 { --kit-asm-ld: 6; }
.kit-pub-asm-ld7 { --kit-asm-ld: 7; }
.kit-pub-asm-ld8 { --kit-asm-ld: 8; }
.kit-pub-asm-ld9 { --kit-asm-ld: 9; }
.kit-pub-asm-t0 { --kit-asm-t: 0; }
.kit-pub-asm-t1 { --kit-asm-t: 1; }
.kit-pub-asm-t2 { --kit-asm-t: 2; }
.kit-pub-asm-t3 { --kit-asm-t: 3; }
.kit-pub-asm-t4 { --kit-asm-t: 4; }
.kit-pub-asm-t5 { --kit-asm-t: 5; }
.kit-pub-asm-t6 { --kit-asm-t: 6; }
.kit-pub-asm-t7 { --kit-asm-t: 7; }
.kit-pub-asm-t8 { --kit-asm-t: 8; }
.kit-pub-asm-t9 { --kit-asm-t: 9; }
.kit-pub-asm-t10 { --kit-asm-t: 10; }
.kit-pub-asm-t11 { --kit-asm-t: 11; }
.kit-pub-asm-t12 { --kit-asm-t: 12; }
.kit-pub-asm-t13 { --kit-asm-t: 13; }
.kit-pub-asm-t14 { --kit-asm-t: 14; }
.kit-pub-asm-t15 { --kit-asm-t: 15; }
.kit-pub-asm-t16 { --kit-asm-t: 16; }
.kit-pub-asm-t17 { --kit-asm-t: 17; }
.kit-pub-asm-t18 { --kit-asm-t: 18; }
.kit-pub-asm-t19 { --kit-asm-t: 19; }
.kit-pub-asm-t20 { --kit-asm-t: 20; }
.kit-pub-asm-t21 { --kit-asm-t: 21; }
.kit-pub-asm-t22 { --kit-asm-t: 22; }
.kit-pub-asm-t23 { --kit-asm-t: 23; }
.kit-pub-asm-t24 { --kit-asm-t: 24; }
.kit-pub-asm-t25 { --kit-asm-t: 25; }
.kit-pub-asm-t26 { --kit-asm-t: 26; }
.kit-pub-asm-t27 { --kit-asm-t: 27; }
.kit-pub-asm-t28 { --kit-asm-t: 28; }
.kit-pub-asm-t29 { --kit-asm-t: 29; }
.kit-pub-asm-t30 { --kit-asm-t: 30; }
.kit-pub-asm-t31 { --kit-asm-t: 31; }
.kit-pub-asm-t32 { --kit-asm-t: 32; }
.kit-pub-asm-t33 { --kit-asm-t: 33; }
.kit-pub-asm-t34 { --kit-asm-t: 34; }
.kit-pub-asm-t35 { --kit-asm-t: 35; }
.kit-pub-asm-t36 { --kit-asm-t: 36; }
.kit-pub-asm-t37 { --kit-asm-t: 37; }
.kit-pub-asm-t38 { --kit-asm-t: 38; }
.kit-pub-asm-t39 { --kit-asm-t: 39; }
.kit-pub-asm-t40 { --kit-asm-t: 40; }
.kit-pub-asm-t41 { --kit-asm-t: 41; }
.kit-pub-asm-t42 { --kit-asm-t: 42; }
.kit-pub-asm-t43 { --kit-asm-t: 43; }
.kit-pub-asm-t44 { --kit-asm-t: 44; }
.kit-pub-asm-t45 { --kit-asm-t: 45; }
.kit-pub-asm-t46 { --kit-asm-t: 46; }
.kit-pub-asm-t47 { --kit-asm-t: 47; }
.kit-pub-asm-t48 { --kit-asm-t: 48; }
.kit-pub-asm-t49 { --kit-asm-t: 49; }
.kit-pub-asm-t50 { --kit-asm-t: 50; }
.kit-pub-asm-t51 { --kit-asm-t: 51; }
.kit-pub-asm-t52 { --kit-asm-t: 52; }
.kit-pub-asm-t53 { --kit-asm-t: 53; }
.kit-pub-asm-t54 { --kit-asm-t: 54; }
.kit-pub-asm-t55 { --kit-asm-t: 55; }
.kit-pub-asm-t56 { --kit-asm-t: 56; }
.kit-pub-asm-t57 { --kit-asm-t: 57; }
.kit-pub-asm-t58 { --kit-asm-t: 58; }
.kit-pub-asm-t59 { --kit-asm-t: 59; }
.kit-pub-asm-t60 { --kit-asm-t: 60; }
.kit-pub-asm-t61 { --kit-asm-t: 61; }
.kit-pub-asm-t62 { --kit-asm-t: 62; }
.kit-pub-asm-t63 { --kit-asm-t: 63; }
.kit-pub-asm-t64 { --kit-asm-t: 64; }
.kit-pub-asm-t65 { --kit-asm-t: 65; }
.kit-pub-asm-t66 { --kit-asm-t: 66; }
.kit-pub-asm-t67 { --kit-asm-t: 67; }
.kit-pub-asm-t68 { --kit-asm-t: 68; }
.kit-pub-asm-t69 { --kit-asm-t: 69; }
.kit-pub-asm-t70 { --kit-asm-t: 70; }
.kit-pub-asm-t71 { --kit-asm-t: 71; }
.kit-pub-asm-t72 { --kit-asm-t: 72; }
.kit-pub-asm-t73 { --kit-asm-t: 73; }
.kit-pub-asm-t74 { --kit-asm-t: 74; }
.kit-pub-asm-t75 { --kit-asm-t: 75; }
.kit-pub-asm-t76 { --kit-asm-t: 76; }
.kit-pub-asm-t77 { --kit-asm-t: 77; }
.kit-pub-asm-t78 { --kit-asm-t: 78; }
.kit-pub-asm-t79 { --kit-asm-t: 79; }
.kit-pub-asm-t80 { --kit-asm-t: 80; }
.kit-pub-asm-t81 { --kit-asm-t: 81; }
.kit-pub-asm-t82 { --kit-asm-t: 82; }
.kit-pub-asm-t83 { --kit-asm-t: 83; }
.kit-pub-asm-t84 { --kit-asm-t: 84; }
.kit-pub-asm-t85 { --kit-asm-t: 85; }
.kit-pub-asm-t86 { --kit-asm-t: 86; }
.kit-pub-asm-t87 { --kit-asm-t: 87; }
.kit-pub-asm-t88 { --kit-asm-t: 88; }
.kit-pub-asm-t89 { --kit-asm-t: 89; }
.kit-pub-asm-t90 { --kit-asm-t: 90; }
.kit-pub-asm-t91 { --kit-asm-t: 91; }
.kit-pub-asm-t92 { --kit-asm-t: 92; }
.kit-pub-asm-t93 { --kit-asm-t: 93; }
.kit-pub-asm-t94 { --kit-asm-t: 94; }
.kit-pub-asm-t95 { --kit-asm-t: 95; }
.kit-pub-asm-t96 { --kit-asm-t: 96; }
.kit-pub-asm-t97 { --kit-asm-t: 97; }
.kit-pub-asm-t98 { --kit-asm-t: 98; }
.kit-pub-asm-t99 { --kit-asm-t: 99; }
.kit-pub-asm-t100 { --kit-asm-t: 100; }
.kit-pub-asm-td0 { --kit-asm-td: 0; }
.kit-pub-asm-td1 { --kit-asm-td: 1; }
.kit-pub-asm-td2 { --kit-asm-td: 2; }
.kit-pub-asm-td3 { --kit-asm-td: 3; }
.kit-pub-asm-td4 { --kit-asm-td: 4; }
.kit-pub-asm-td5 { --kit-asm-td: 5; }
.kit-pub-asm-td6 { --kit-asm-td: 6; }
.kit-pub-asm-td7 { --kit-asm-td: 7; }
.kit-pub-asm-td8 { --kit-asm-td: 8; }
.kit-pub-asm-td9 { --kit-asm-td: 9; }
.kit-pub-asm-w0 { --kit-asm-w: 0; }
.kit-pub-asm-w1 { --kit-asm-w: 1; }
.kit-pub-asm-w2 { --kit-asm-w: 2; }
.kit-pub-asm-w3 { --kit-asm-w: 3; }
.kit-pub-asm-w4 { --kit-asm-w: 4; }
.kit-pub-asm-w5 { --kit-asm-w: 5; }
.kit-pub-asm-w6 { --kit-asm-w: 6; }
.kit-pub-asm-w7 { --kit-asm-w: 7; }
.kit-pub-asm-w8 { --kit-asm-w: 8; }
.kit-pub-asm-w9 { --kit-asm-w: 9; }
.kit-pub-asm-w10 { --kit-asm-w: 10; }
.kit-pub-asm-w11 { --kit-asm-w: 11; }
.kit-pub-asm-w12 { --kit-asm-w: 12; }
.kit-pub-asm-w13 { --kit-asm-w: 13; }
.kit-pub-asm-w14 { --kit-asm-w: 14; }
.kit-pub-asm-w15 { --kit-asm-w: 15; }
.kit-pub-asm-w16 { --kit-asm-w: 16; }
.kit-pub-asm-w17 { --kit-asm-w: 17; }
.kit-pub-asm-w18 { --kit-asm-w: 18; }
.kit-pub-asm-w19 { --kit-asm-w: 19; }
.kit-pub-asm-w20 { --kit-asm-w: 20; }
.kit-pub-asm-w21 { --kit-asm-w: 21; }
.kit-pub-asm-w22 { --kit-asm-w: 22; }
.kit-pub-asm-w23 { --kit-asm-w: 23; }
.kit-pub-asm-w24 { --kit-asm-w: 24; }
.kit-pub-asm-w25 { --kit-asm-w: 25; }
.kit-pub-asm-w26 { --kit-asm-w: 26; }
.kit-pub-asm-w27 { --kit-asm-w: 27; }
.kit-pub-asm-w28 { --kit-asm-w: 28; }
.kit-pub-asm-w29 { --kit-asm-w: 29; }
.kit-pub-asm-w30 { --kit-asm-w: 30; }
.kit-pub-asm-w31 { --kit-asm-w: 31; }
.kit-pub-asm-w32 { --kit-asm-w: 32; }
.kit-pub-asm-w33 { --kit-asm-w: 33; }
.kit-pub-asm-w34 { --kit-asm-w: 34; }
.kit-pub-asm-w35 { --kit-asm-w: 35; }
.kit-pub-asm-w36 { --kit-asm-w: 36; }
.kit-pub-asm-w37 { --kit-asm-w: 37; }
.kit-pub-asm-w38 { --kit-asm-w: 38; }
.kit-pub-asm-w39 { --kit-asm-w: 39; }
.kit-pub-asm-w40 { --kit-asm-w: 40; }
.kit-pub-asm-w41 { --kit-asm-w: 41; }
.kit-pub-asm-w42 { --kit-asm-w: 42; }
.kit-pub-asm-w43 { --kit-asm-w: 43; }
.kit-pub-asm-w44 { --kit-asm-w: 44; }
.kit-pub-asm-w45 { --kit-asm-w: 45; }
.kit-pub-asm-w46 { --kit-asm-w: 46; }
.kit-pub-asm-w47 { --kit-asm-w: 47; }
.kit-pub-asm-w48 { --kit-asm-w: 48; }
.kit-pub-asm-w49 { --kit-asm-w: 49; }
.kit-pub-asm-w50 { --kit-asm-w: 50; }
.kit-pub-asm-w51 { --kit-asm-w: 51; }
.kit-pub-asm-w52 { --kit-asm-w: 52; }
.kit-pub-asm-w53 { --kit-asm-w: 53; }
.kit-pub-asm-w54 { --kit-asm-w: 54; }
.kit-pub-asm-w55 { --kit-asm-w: 55; }
.kit-pub-asm-w56 { --kit-asm-w: 56; }
.kit-pub-asm-w57 { --kit-asm-w: 57; }
.kit-pub-asm-w58 { --kit-asm-w: 58; }
.kit-pub-asm-w59 { --kit-asm-w: 59; }
.kit-pub-asm-w60 { --kit-asm-w: 60; }
.kit-pub-asm-w61 { --kit-asm-w: 61; }
.kit-pub-asm-w62 { --kit-asm-w: 62; }
.kit-pub-asm-w63 { --kit-asm-w: 63; }
.kit-pub-asm-w64 { --kit-asm-w: 64; }
.kit-pub-asm-w65 { --kit-asm-w: 65; }
.kit-pub-asm-w66 { --kit-asm-w: 66; }
.kit-pub-asm-w67 { --kit-asm-w: 67; }
.kit-pub-asm-w68 { --kit-asm-w: 68; }
.kit-pub-asm-w69 { --kit-asm-w: 69; }
.kit-pub-asm-w70 { --kit-asm-w: 70; }
.kit-pub-asm-w71 { --kit-asm-w: 71; }
.kit-pub-asm-w72 { --kit-asm-w: 72; }
.kit-pub-asm-w73 { --kit-asm-w: 73; }
.kit-pub-asm-w74 { --kit-asm-w: 74; }
.kit-pub-asm-w75 { --kit-asm-w: 75; }
.kit-pub-asm-w76 { --kit-asm-w: 76; }
.kit-pub-asm-w77 { --kit-asm-w: 77; }
.kit-pub-asm-w78 { --kit-asm-w: 78; }
.kit-pub-asm-w79 { --kit-asm-w: 79; }
.kit-pub-asm-w80 { --kit-asm-w: 80; }
.kit-pub-asm-w81 { --kit-asm-w: 81; }
.kit-pub-asm-w82 { --kit-asm-w: 82; }
.kit-pub-asm-w83 { --kit-asm-w: 83; }
.kit-pub-asm-w84 { --kit-asm-w: 84; }
.kit-pub-asm-w85 { --kit-asm-w: 85; }
.kit-pub-asm-w86 { --kit-asm-w: 86; }
.kit-pub-asm-w87 { --kit-asm-w: 87; }
.kit-pub-asm-w88 { --kit-asm-w: 88; }
.kit-pub-asm-w89 { --kit-asm-w: 89; }
.kit-pub-asm-w90 { --kit-asm-w: 90; }
.kit-pub-asm-w91 { --kit-asm-w: 91; }
.kit-pub-asm-w92 { --kit-asm-w: 92; }
.kit-pub-asm-w93 { --kit-asm-w: 93; }
.kit-pub-asm-w94 { --kit-asm-w: 94; }
.kit-pub-asm-w95 { --kit-asm-w: 95; }
.kit-pub-asm-w96 { --kit-asm-w: 96; }
.kit-pub-asm-w97 { --kit-asm-w: 97; }
.kit-pub-asm-w98 { --kit-asm-w: 98; }
.kit-pub-asm-w99 { --kit-asm-w: 99; }
.kit-pub-asm-w100 { --kit-asm-w: 100; }
.kit-pub-asm-wd0 { --kit-asm-wd: 0; }
.kit-pub-asm-wd1 { --kit-asm-wd: 1; }
.kit-pub-asm-wd2 { --kit-asm-wd: 2; }
.kit-pub-asm-wd3 { --kit-asm-wd: 3; }
.kit-pub-asm-wd4 { --kit-asm-wd: 4; }
.kit-pub-asm-wd5 { --kit-asm-wd: 5; }
.kit-pub-asm-wd6 { --kit-asm-wd: 6; }
.kit-pub-asm-wd7 { --kit-asm-wd: 7; }
.kit-pub-asm-wd8 { --kit-asm-wd: 8; }
.kit-pub-asm-wd9 { --kit-asm-wd: 9; }
.kit-pub-asm-h0 { --kit-asm-h: 0; }
.kit-pub-asm-h1 { --kit-asm-h: 1; }
.kit-pub-asm-h2 { --kit-asm-h: 2; }
.kit-pub-asm-h3 { --kit-asm-h: 3; }
.kit-pub-asm-h4 { --kit-asm-h: 4; }
.kit-pub-asm-h5 { --kit-asm-h: 5; }
.kit-pub-asm-h6 { --kit-asm-h: 6; }
.kit-pub-asm-h7 { --kit-asm-h: 7; }
.kit-pub-asm-h8 { --kit-asm-h: 8; }
.kit-pub-asm-h9 { --kit-asm-h: 9; }
.kit-pub-asm-h10 { --kit-asm-h: 10; }
.kit-pub-asm-h11 { --kit-asm-h: 11; }
.kit-pub-asm-h12 { --kit-asm-h: 12; }
.kit-pub-asm-h13 { --kit-asm-h: 13; }
.kit-pub-asm-h14 { --kit-asm-h: 14; }
.kit-pub-asm-h15 { --kit-asm-h: 15; }
.kit-pub-asm-h16 { --kit-asm-h: 16; }
.kit-pub-asm-h17 { --kit-asm-h: 17; }
.kit-pub-asm-h18 { --kit-asm-h: 18; }
.kit-pub-asm-h19 { --kit-asm-h: 19; }
.kit-pub-asm-h20 { --kit-asm-h: 20; }
.kit-pub-asm-h21 { --kit-asm-h: 21; }
.kit-pub-asm-h22 { --kit-asm-h: 22; }
.kit-pub-asm-h23 { --kit-asm-h: 23; }
.kit-pub-asm-h24 { --kit-asm-h: 24; }
.kit-pub-asm-h25 { --kit-asm-h: 25; }
.kit-pub-asm-h26 { --kit-asm-h: 26; }
.kit-pub-asm-h27 { --kit-asm-h: 27; }
.kit-pub-asm-h28 { --kit-asm-h: 28; }
.kit-pub-asm-h29 { --kit-asm-h: 29; }
.kit-pub-asm-h30 { --kit-asm-h: 30; }
.kit-pub-asm-h31 { --kit-asm-h: 31; }
.kit-pub-asm-h32 { --kit-asm-h: 32; }
.kit-pub-asm-h33 { --kit-asm-h: 33; }
.kit-pub-asm-h34 { --kit-asm-h: 34; }
.kit-pub-asm-h35 { --kit-asm-h: 35; }
.kit-pub-asm-h36 { --kit-asm-h: 36; }
.kit-pub-asm-h37 { --kit-asm-h: 37; }
.kit-pub-asm-h38 { --kit-asm-h: 38; }
.kit-pub-asm-h39 { --kit-asm-h: 39; }
.kit-pub-asm-h40 { --kit-asm-h: 40; }
.kit-pub-asm-h41 { --kit-asm-h: 41; }
.kit-pub-asm-h42 { --kit-asm-h: 42; }
.kit-pub-asm-h43 { --kit-asm-h: 43; }
.kit-pub-asm-h44 { --kit-asm-h: 44; }
.kit-pub-asm-h45 { --kit-asm-h: 45; }
.kit-pub-asm-h46 { --kit-asm-h: 46; }
.kit-pub-asm-h47 { --kit-asm-h: 47; }
.kit-pub-asm-h48 { --kit-asm-h: 48; }
.kit-pub-asm-h49 { --kit-asm-h: 49; }
.kit-pub-asm-h50 { --kit-asm-h: 50; }
.kit-pub-asm-h51 { --kit-asm-h: 51; }
.kit-pub-asm-h52 { --kit-asm-h: 52; }
.kit-pub-asm-h53 { --kit-asm-h: 53; }
.kit-pub-asm-h54 { --kit-asm-h: 54; }
.kit-pub-asm-h55 { --kit-asm-h: 55; }
.kit-pub-asm-h56 { --kit-asm-h: 56; }
.kit-pub-asm-h57 { --kit-asm-h: 57; }
.kit-pub-asm-h58 { --kit-asm-h: 58; }
.kit-pub-asm-h59 { --kit-asm-h: 59; }
.kit-pub-asm-h60 { --kit-asm-h: 60; }
.kit-pub-asm-h61 { --kit-asm-h: 61; }
.kit-pub-asm-h62 { --kit-asm-h: 62; }
.kit-pub-asm-h63 { --kit-asm-h: 63; }
.kit-pub-asm-h64 { --kit-asm-h: 64; }
.kit-pub-asm-h65 { --kit-asm-h: 65; }
.kit-pub-asm-h66 { --kit-asm-h: 66; }
.kit-pub-asm-h67 { --kit-asm-h: 67; }
.kit-pub-asm-h68 { --kit-asm-h: 68; }
.kit-pub-asm-h69 { --kit-asm-h: 69; }
.kit-pub-asm-h70 { --kit-asm-h: 70; }
.kit-pub-asm-h71 { --kit-asm-h: 71; }
.kit-pub-asm-h72 { --kit-asm-h: 72; }
.kit-pub-asm-h73 { --kit-asm-h: 73; }
.kit-pub-asm-h74 { --kit-asm-h: 74; }
.kit-pub-asm-h75 { --kit-asm-h: 75; }
.kit-pub-asm-h76 { --kit-asm-h: 76; }
.kit-pub-asm-h77 { --kit-asm-h: 77; }
.kit-pub-asm-h78 { --kit-asm-h: 78; }
.kit-pub-asm-h79 { --kit-asm-h: 79; }
.kit-pub-asm-h80 { --kit-asm-h: 80; }
.kit-pub-asm-h81 { --kit-asm-h: 81; }
.kit-pub-asm-h82 { --kit-asm-h: 82; }
.kit-pub-asm-h83 { --kit-asm-h: 83; }
.kit-pub-asm-h84 { --kit-asm-h: 84; }
.kit-pub-asm-h85 { --kit-asm-h: 85; }
.kit-pub-asm-h86 { --kit-asm-h: 86; }
.kit-pub-asm-h87 { --kit-asm-h: 87; }
.kit-pub-asm-h88 { --kit-asm-h: 88; }
.kit-pub-asm-h89 { --kit-asm-h: 89; }
.kit-pub-asm-h90 { --kit-asm-h: 90; }
.kit-pub-asm-h91 { --kit-asm-h: 91; }
.kit-pub-asm-h92 { --kit-asm-h: 92; }
.kit-pub-asm-h93 { --kit-asm-h: 93; }
.kit-pub-asm-h94 { --kit-asm-h: 94; }
.kit-pub-asm-h95 { --kit-asm-h: 95; }
.kit-pub-asm-h96 { --kit-asm-h: 96; }
.kit-pub-asm-h97 { --kit-asm-h: 97; }
.kit-pub-asm-h98 { --kit-asm-h: 98; }
.kit-pub-asm-h99 { --kit-asm-h: 99; }
.kit-pub-asm-h100 { --kit-asm-h: 100; }
.kit-pub-asm-hd0 { --kit-asm-hd: 0; }
.kit-pub-asm-hd1 { --kit-asm-hd: 1; }
.kit-pub-asm-hd2 { --kit-asm-hd: 2; }
.kit-pub-asm-hd3 { --kit-asm-hd: 3; }
.kit-pub-asm-hd4 { --kit-asm-hd: 4; }
.kit-pub-asm-hd5 { --kit-asm-hd: 5; }
.kit-pub-asm-hd6 { --kit-asm-hd: 6; }
.kit-pub-asm-hd7 { --kit-asm-hd: 7; }
.kit-pub-asm-hd8 { --kit-asm-hd: 8; }
.kit-pub-asm-hd9 { --kit-asm-hd: 9; }
.kit-pub-asm-yn100 { --kit-asm-y: -100; }
.kit-pub-asm-yn99 { --kit-asm-y: -99; }
.kit-pub-asm-yn98 { --kit-asm-y: -98; }
.kit-pub-asm-yn97 { --kit-asm-y: -97; }
.kit-pub-asm-yn96 { --kit-asm-y: -96; }
.kit-pub-asm-yn95 { --kit-asm-y: -95; }
.kit-pub-asm-yn94 { --kit-asm-y: -94; }
.kit-pub-asm-yn93 { --kit-asm-y: -93; }
.kit-pub-asm-yn92 { --kit-asm-y: -92; }
.kit-pub-asm-yn91 { --kit-asm-y: -91; }
.kit-pub-asm-yn90 { --kit-asm-y: -90; }
.kit-pub-asm-yn89 { --kit-asm-y: -89; }
.kit-pub-asm-yn88 { --kit-asm-y: -88; }
.kit-pub-asm-yn87 { --kit-asm-y: -87; }
.kit-pub-asm-yn86 { --kit-asm-y: -86; }
.kit-pub-asm-yn85 { --kit-asm-y: -85; }
.kit-pub-asm-yn84 { --kit-asm-y: -84; }
.kit-pub-asm-yn83 { --kit-asm-y: -83; }
.kit-pub-asm-yn82 { --kit-asm-y: -82; }
.kit-pub-asm-yn81 { --kit-asm-y: -81; }
.kit-pub-asm-yn80 { --kit-asm-y: -80; }
.kit-pub-asm-yn79 { --kit-asm-y: -79; }
.kit-pub-asm-yn78 { --kit-asm-y: -78; }
.kit-pub-asm-yn77 { --kit-asm-y: -77; }
.kit-pub-asm-yn76 { --kit-asm-y: -76; }
.kit-pub-asm-yn75 { --kit-asm-y: -75; }
.kit-pub-asm-yn74 { --kit-asm-y: -74; }
.kit-pub-asm-yn73 { --kit-asm-y: -73; }
.kit-pub-asm-yn72 { --kit-asm-y: -72; }
.kit-pub-asm-yn71 { --kit-asm-y: -71; }
.kit-pub-asm-yn70 { --kit-asm-y: -70; }
.kit-pub-asm-yn69 { --kit-asm-y: -69; }
.kit-pub-asm-yn68 { --kit-asm-y: -68; }
.kit-pub-asm-yn67 { --kit-asm-y: -67; }
.kit-pub-asm-yn66 { --kit-asm-y: -66; }
.kit-pub-asm-yn65 { --kit-asm-y: -65; }
.kit-pub-asm-yn64 { --kit-asm-y: -64; }
.kit-pub-asm-yn63 { --kit-asm-y: -63; }
.kit-pub-asm-yn62 { --kit-asm-y: -62; }
.kit-pub-asm-yn61 { --kit-asm-y: -61; }
.kit-pub-asm-yn60 { --kit-asm-y: -60; }
.kit-pub-asm-yn59 { --kit-asm-y: -59; }
.kit-pub-asm-yn58 { --kit-asm-y: -58; }
.kit-pub-asm-yn57 { --kit-asm-y: -57; }
.kit-pub-asm-yn56 { --kit-asm-y: -56; }
.kit-pub-asm-yn55 { --kit-asm-y: -55; }
.kit-pub-asm-yn54 { --kit-asm-y: -54; }
.kit-pub-asm-yn53 { --kit-asm-y: -53; }
.kit-pub-asm-yn52 { --kit-asm-y: -52; }
.kit-pub-asm-yn51 { --kit-asm-y: -51; }
.kit-pub-asm-yn50 { --kit-asm-y: -50; }
.kit-pub-asm-yn49 { --kit-asm-y: -49; }
.kit-pub-asm-yn48 { --kit-asm-y: -48; }
.kit-pub-asm-yn47 { --kit-asm-y: -47; }
.kit-pub-asm-yn46 { --kit-asm-y: -46; }
.kit-pub-asm-yn45 { --kit-asm-y: -45; }
.kit-pub-asm-yn44 { --kit-asm-y: -44; }
.kit-pub-asm-yn43 { --kit-asm-y: -43; }
.kit-pub-asm-yn42 { --kit-asm-y: -42; }
.kit-pub-asm-yn41 { --kit-asm-y: -41; }
.kit-pub-asm-yn40 { --kit-asm-y: -40; }
.kit-pub-asm-yn39 { --kit-asm-y: -39; }
.kit-pub-asm-yn38 { --kit-asm-y: -38; }
.kit-pub-asm-yn37 { --kit-asm-y: -37; }
.kit-pub-asm-yn36 { --kit-asm-y: -36; }
.kit-pub-asm-yn35 { --kit-asm-y: -35; }
.kit-pub-asm-yn34 { --kit-asm-y: -34; }
.kit-pub-asm-yn33 { --kit-asm-y: -33; }
.kit-pub-asm-yn32 { --kit-asm-y: -32; }
.kit-pub-asm-yn31 { --kit-asm-y: -31; }
.kit-pub-asm-yn30 { --kit-asm-y: -30; }
.kit-pub-asm-yn29 { --kit-asm-y: -29; }
.kit-pub-asm-yn28 { --kit-asm-y: -28; }
.kit-pub-asm-yn27 { --kit-asm-y: -27; }
.kit-pub-asm-yn26 { --kit-asm-y: -26; }
.kit-pub-asm-yn25 { --kit-asm-y: -25; }
.kit-pub-asm-yn24 { --kit-asm-y: -24; }
.kit-pub-asm-yn23 { --kit-asm-y: -23; }
.kit-pub-asm-yn22 { --kit-asm-y: -22; }
.kit-pub-asm-yn21 { --kit-asm-y: -21; }
.kit-pub-asm-yn20 { --kit-asm-y: -20; }
.kit-pub-asm-yn19 { --kit-asm-y: -19; }
.kit-pub-asm-yn18 { --kit-asm-y: -18; }
.kit-pub-asm-yn17 { --kit-asm-y: -17; }
.kit-pub-asm-yn16 { --kit-asm-y: -16; }
.kit-pub-asm-yn15 { --kit-asm-y: -15; }
.kit-pub-asm-yn14 { --kit-asm-y: -14; }
.kit-pub-asm-yn13 { --kit-asm-y: -13; }
.kit-pub-asm-yn12 { --kit-asm-y: -12; }
.kit-pub-asm-yn11 { --kit-asm-y: -11; }
.kit-pub-asm-yn10 { --kit-asm-y: -10; }
.kit-pub-asm-yn9 { --kit-asm-y: -9; }
.kit-pub-asm-yn8 { --kit-asm-y: -8; }
.kit-pub-asm-yn7 { --kit-asm-y: -7; }
.kit-pub-asm-yn6 { --kit-asm-y: -6; }
.kit-pub-asm-yn5 { --kit-asm-y: -5; }
.kit-pub-asm-yn4 { --kit-asm-y: -4; }
.kit-pub-asm-yn3 { --kit-asm-y: -3; }
.kit-pub-asm-yn2 { --kit-asm-y: -2; }
.kit-pub-asm-yn1 { --kit-asm-y: -1; }
.kit-pub-asm-y0 { --kit-asm-y: 0; }
.kit-pub-asm-y1 { --kit-asm-y: 1; }
.kit-pub-asm-y2 { --kit-asm-y: 2; }
.kit-pub-asm-y3 { --kit-asm-y: 3; }
.kit-pub-asm-y4 { --kit-asm-y: 4; }
.kit-pub-asm-y5 { --kit-asm-y: 5; }
.kit-pub-asm-y6 { --kit-asm-y: 6; }
.kit-pub-asm-y7 { --kit-asm-y: 7; }
.kit-pub-asm-y8 { --kit-asm-y: 8; }
.kit-pub-asm-y9 { --kit-asm-y: 9; }
.kit-pub-asm-y10 { --kit-asm-y: 10; }
.kit-pub-asm-y11 { --kit-asm-y: 11; }
.kit-pub-asm-y12 { --kit-asm-y: 12; }
.kit-pub-asm-y13 { --kit-asm-y: 13; }
.kit-pub-asm-y14 { --kit-asm-y: 14; }
.kit-pub-asm-y15 { --kit-asm-y: 15; }
.kit-pub-asm-y16 { --kit-asm-y: 16; }
.kit-pub-asm-y17 { --kit-asm-y: 17; }
.kit-pub-asm-y18 { --kit-asm-y: 18; }
.kit-pub-asm-y19 { --kit-asm-y: 19; }
.kit-pub-asm-y20 { --kit-asm-y: 20; }
.kit-pub-asm-y21 { --kit-asm-y: 21; }
.kit-pub-asm-y22 { --kit-asm-y: 22; }
.kit-pub-asm-y23 { --kit-asm-y: 23; }
.kit-pub-asm-y24 { --kit-asm-y: 24; }
.kit-pub-asm-y25 { --kit-asm-y: 25; }
.kit-pub-asm-y26 { --kit-asm-y: 26; }
.kit-pub-asm-y27 { --kit-asm-y: 27; }
.kit-pub-asm-y28 { --kit-asm-y: 28; }
.kit-pub-asm-y29 { --kit-asm-y: 29; }
.kit-pub-asm-y30 { --kit-asm-y: 30; }
.kit-pub-asm-y31 { --kit-asm-y: 31; }
.kit-pub-asm-y32 { --kit-asm-y: 32; }
.kit-pub-asm-y33 { --kit-asm-y: 33; }
.kit-pub-asm-y34 { --kit-asm-y: 34; }
.kit-pub-asm-y35 { --kit-asm-y: 35; }
.kit-pub-asm-y36 { --kit-asm-y: 36; }
.kit-pub-asm-y37 { --kit-asm-y: 37; }
.kit-pub-asm-y38 { --kit-asm-y: 38; }
.kit-pub-asm-y39 { --kit-asm-y: 39; }
.kit-pub-asm-y40 { --kit-asm-y: 40; }
.kit-pub-asm-y41 { --kit-asm-y: 41; }
.kit-pub-asm-y42 { --kit-asm-y: 42; }
.kit-pub-asm-y43 { --kit-asm-y: 43; }
.kit-pub-asm-y44 { --kit-asm-y: 44; }
.kit-pub-asm-y45 { --kit-asm-y: 45; }
.kit-pub-asm-y46 { --kit-asm-y: 46; }
.kit-pub-asm-y47 { --kit-asm-y: 47; }
.kit-pub-asm-y48 { --kit-asm-y: 48; }
.kit-pub-asm-y49 { --kit-asm-y: 49; }
.kit-pub-asm-y50 { --kit-asm-y: 50; }
.kit-pub-asm-y51 { --kit-asm-y: 51; }
.kit-pub-asm-y52 { --kit-asm-y: 52; }
.kit-pub-asm-y53 { --kit-asm-y: 53; }
.kit-pub-asm-y54 { --kit-asm-y: 54; }
.kit-pub-asm-y55 { --kit-asm-y: 55; }
.kit-pub-asm-y56 { --kit-asm-y: 56; }
.kit-pub-asm-y57 { --kit-asm-y: 57; }
.kit-pub-asm-y58 { --kit-asm-y: 58; }
.kit-pub-asm-y59 { --kit-asm-y: 59; }
.kit-pub-asm-y60 { --kit-asm-y: 60; }
.kit-pub-asm-y61 { --kit-asm-y: 61; }
.kit-pub-asm-y62 { --kit-asm-y: 62; }
.kit-pub-asm-y63 { --kit-asm-y: 63; }
.kit-pub-asm-y64 { --kit-asm-y: 64; }
.kit-pub-asm-y65 { --kit-asm-y: 65; }
.kit-pub-asm-y66 { --kit-asm-y: 66; }
.kit-pub-asm-y67 { --kit-asm-y: 67; }
.kit-pub-asm-y68 { --kit-asm-y: 68; }
.kit-pub-asm-y69 { --kit-asm-y: 69; }
.kit-pub-asm-y70 { --kit-asm-y: 70; }
.kit-pub-asm-y71 { --kit-asm-y: 71; }
.kit-pub-asm-y72 { --kit-asm-y: 72; }
.kit-pub-asm-y73 { --kit-asm-y: 73; }
.kit-pub-asm-y74 { --kit-asm-y: 74; }
.kit-pub-asm-y75 { --kit-asm-y: 75; }
.kit-pub-asm-y76 { --kit-asm-y: 76; }
.kit-pub-asm-y77 { --kit-asm-y: 77; }
.kit-pub-asm-y78 { --kit-asm-y: 78; }
.kit-pub-asm-y79 { --kit-asm-y: 79; }
.kit-pub-asm-y80 { --kit-asm-y: 80; }
.kit-pub-asm-y81 { --kit-asm-y: 81; }
.kit-pub-asm-y82 { --kit-asm-y: 82; }
.kit-pub-asm-y83 { --kit-asm-y: 83; }
.kit-pub-asm-y84 { --kit-asm-y: 84; }
.kit-pub-asm-y85 { --kit-asm-y: 85; }
.kit-pub-asm-y86 { --kit-asm-y: 86; }
.kit-pub-asm-y87 { --kit-asm-y: 87; }
.kit-pub-asm-y88 { --kit-asm-y: 88; }
.kit-pub-asm-y89 { --kit-asm-y: 89; }
.kit-pub-asm-y90 { --kit-asm-y: 90; }
.kit-pub-asm-y91 { --kit-asm-y: 91; }
.kit-pub-asm-y92 { --kit-asm-y: 92; }
.kit-pub-asm-y93 { --kit-asm-y: 93; }
.kit-pub-asm-y94 { --kit-asm-y: 94; }
.kit-pub-asm-y95 { --kit-asm-y: 95; }
.kit-pub-asm-y96 { --kit-asm-y: 96; }
.kit-pub-asm-y97 { --kit-asm-y: 97; }
.kit-pub-asm-y98 { --kit-asm-y: 98; }
.kit-pub-asm-y99 { --kit-asm-y: 99; }
.kit-pub-asm-y100 { --kit-asm-y: 100; }
.kit-pub-asm-z0 { z-index: 0; }
.kit-pub-asm-z1 { z-index: 1; }
.kit-pub-asm-z2 { z-index: 2; }
.kit-pub-asm-z3 { z-index: 3; }
.kit-pub-asm-z4 { z-index: 4; }
.kit-pub-asm-z5 { z-index: 5; }
.kit-pub-asm-z6 { z-index: 6; }
.kit-pub-asm-z7 { z-index: 7; }
.kit-pub-asm-z8 { z-index: 8; }
.kit-pub-asm-z9 { z-index: 9; }
.kit-pub-asm-k0 { --kit-asm-tuck: 0%; }
.kit-pub-asm-k1 { --kit-asm-tuck: 1%; }
.kit-pub-asm-k2 { --kit-asm-tuck: 2%; }
.kit-pub-asm-k3 { --kit-asm-tuck: 3%; }
.kit-pub-asm-k4 { --kit-asm-tuck: 4%; }
.kit-pub-asm-k5 { --kit-asm-tuck: 5%; }
.kit-pub-asm-k6 { --kit-asm-tuck: 6%; }
.kit-pub-asm-k7 { --kit-asm-tuck: 7%; }
.kit-pub-asm-k8 { --kit-asm-tuck: 8%; }
.kit-pub-asm-k9 { --kit-asm-tuck: 9%; }
.kit-pub-asm-k10 { --kit-asm-tuck: 10%; }
.kit-pub-asm-k11 { --kit-asm-tuck: 11%; }
.kit-pub-asm-k12 { --kit-asm-tuck: 12%; }
.kit-pub-asm-k13 { --kit-asm-tuck: 13%; }
.kit-pub-asm-k14 { --kit-asm-tuck: 14%; }
.kit-pub-asm-k15 { --kit-asm-tuck: 15%; }
.kit-pub-asm-k16 { --kit-asm-tuck: 16%; }
.kit-pub-asm-k17 { --kit-asm-tuck: 17%; }
.kit-pub-asm-k18 { --kit-asm-tuck: 18%; }
.kit-pub-asm-k19 { --kit-asm-tuck: 19%; }
.kit-pub-asm-k20 { --kit-asm-tuck: 20%; }
.kit-pub-asm-k21 { --kit-asm-tuck: 21%; }
.kit-pub-asm-k22 { --kit-asm-tuck: 22%; }
.kit-pub-asm-k23 { --kit-asm-tuck: 23%; }
.kit-pub-asm-k24 { --kit-asm-tuck: 24%; }
.kit-pub-asm-k25 { --kit-asm-tuck: 25%; }
.kit-pub-asm-k26 { --kit-asm-tuck: 26%; }
.kit-pub-asm-k27 { --kit-asm-tuck: 27%; }
.kit-pub-asm-k28 { --kit-asm-tuck: 28%; }
.kit-pub-asm-k29 { --kit-asm-tuck: 29%; }
.kit-pub-asm-k30 { --kit-asm-tuck: 30%; }
.kit-pub-asm-k31 { --kit-asm-tuck: 31%; }
.kit-pub-asm-k32 { --kit-asm-tuck: 32%; }
.kit-pub-asm-k33 { --kit-asm-tuck: 33%; }
.kit-pub-asm-k34 { --kit-asm-tuck: 34%; }
.kit-pub-asm-k35 { --kit-asm-tuck: 35%; }
.kit-pub-asm-k36 { --kit-asm-tuck: 36%; }
.kit-pub-asm-k37 { --kit-asm-tuck: 37%; }
.kit-pub-asm-k38 { --kit-asm-tuck: 38%; }
.kit-pub-asm-k39 { --kit-asm-tuck: 39%; }
.kit-pub-asm-k40 { --kit-asm-tuck: 40%; }
.kit-pub-asm-k41 { --kit-asm-tuck: 41%; }
.kit-pub-asm-k42 { --kit-asm-tuck: 42%; }
.kit-pub-asm-k43 { --kit-asm-tuck: 43%; }
.kit-pub-asm-k44 { --kit-asm-tuck: 44%; }
.kit-pub-asm-k45 { --kit-asm-tuck: 45%; }
.kit-pub-asm-k46 { --kit-asm-tuck: 46%; }
.kit-pub-asm-k47 { --kit-asm-tuck: 47%; }
.kit-pub-asm-k48 { --kit-asm-tuck: 48%; }
.kit-pub-asm-k49 { --kit-asm-tuck: 49%; }
.kit-pub-asm-k50 { --kit-asm-tuck: 50%; }
.kit-pub-asm-k51 { --kit-asm-tuck: 51%; }
.kit-pub-asm-k52 { --kit-asm-tuck: 52%; }
.kit-pub-asm-k53 { --kit-asm-tuck: 53%; }
.kit-pub-asm-k54 { --kit-asm-tuck: 54%; }
.kit-pub-asm-k55 { --kit-asm-tuck: 55%; }
.kit-pub-asm-k56 { --kit-asm-tuck: 56%; }
.kit-pub-asm-k57 { --kit-asm-tuck: 57%; }
.kit-pub-asm-k58 { --kit-asm-tuck: 58%; }
.kit-pub-asm-k59 { --kit-asm-tuck: 59%; }
.kit-pub-asm-k60 { --kit-asm-tuck: 60%; }
.kit-pub-asm-fn100 { --kit-asm-from: -100%; }
.kit-pub-asm-fn99 { --kit-asm-from: -99%; }
.kit-pub-asm-fn98 { --kit-asm-from: -98%; }
.kit-pub-asm-fn97 { --kit-asm-from: -97%; }
.kit-pub-asm-fn96 { --kit-asm-from: -96%; }
.kit-pub-asm-fn95 { --kit-asm-from: -95%; }
.kit-pub-asm-fn94 { --kit-asm-from: -94%; }
.kit-pub-asm-fn93 { --kit-asm-from: -93%; }
.kit-pub-asm-fn92 { --kit-asm-from: -92%; }
.kit-pub-asm-fn91 { --kit-asm-from: -91%; }
.kit-pub-asm-fn90 { --kit-asm-from: -90%; }
.kit-pub-asm-fn89 { --kit-asm-from: -89%; }
.kit-pub-asm-fn88 { --kit-asm-from: -88%; }
.kit-pub-asm-fn87 { --kit-asm-from: -87%; }
.kit-pub-asm-fn86 { --kit-asm-from: -86%; }
.kit-pub-asm-fn85 { --kit-asm-from: -85%; }
.kit-pub-asm-fn84 { --kit-asm-from: -84%; }
.kit-pub-asm-fn83 { --kit-asm-from: -83%; }
.kit-pub-asm-fn82 { --kit-asm-from: -82%; }
.kit-pub-asm-fn81 { --kit-asm-from: -81%; }
.kit-pub-asm-fn80 { --kit-asm-from: -80%; }
.kit-pub-asm-fn79 { --kit-asm-from: -79%; }
.kit-pub-asm-fn78 { --kit-asm-from: -78%; }
.kit-pub-asm-fn77 { --kit-asm-from: -77%; }
.kit-pub-asm-fn76 { --kit-asm-from: -76%; }
.kit-pub-asm-fn75 { --kit-asm-from: -75%; }
.kit-pub-asm-fn74 { --kit-asm-from: -74%; }
.kit-pub-asm-fn73 { --kit-asm-from: -73%; }
.kit-pub-asm-fn72 { --kit-asm-from: -72%; }
.kit-pub-asm-fn71 { --kit-asm-from: -71%; }
.kit-pub-asm-fn70 { --kit-asm-from: -70%; }
.kit-pub-asm-fn69 { --kit-asm-from: -69%; }
.kit-pub-asm-fn68 { --kit-asm-from: -68%; }
.kit-pub-asm-fn67 { --kit-asm-from: -67%; }
.kit-pub-asm-fn66 { --kit-asm-from: -66%; }
.kit-pub-asm-fn65 { --kit-asm-from: -65%; }
.kit-pub-asm-fn64 { --kit-asm-from: -64%; }
.kit-pub-asm-fn63 { --kit-asm-from: -63%; }
.kit-pub-asm-fn62 { --kit-asm-from: -62%; }
.kit-pub-asm-fn61 { --kit-asm-from: -61%; }
.kit-pub-asm-fn60 { --kit-asm-from: -60%; }
.kit-pub-asm-fn59 { --kit-asm-from: -59%; }
.kit-pub-asm-fn58 { --kit-asm-from: -58%; }
.kit-pub-asm-fn57 { --kit-asm-from: -57%; }
.kit-pub-asm-fn56 { --kit-asm-from: -56%; }
.kit-pub-asm-fn55 { --kit-asm-from: -55%; }
.kit-pub-asm-fn54 { --kit-asm-from: -54%; }
.kit-pub-asm-fn53 { --kit-asm-from: -53%; }
.kit-pub-asm-fn52 { --kit-asm-from: -52%; }
.kit-pub-asm-fn51 { --kit-asm-from: -51%; }
.kit-pub-asm-fn50 { --kit-asm-from: -50%; }
.kit-pub-asm-fn49 { --kit-asm-from: -49%; }
.kit-pub-asm-fn48 { --kit-asm-from: -48%; }
.kit-pub-asm-fn47 { --kit-asm-from: -47%; }
.kit-pub-asm-fn46 { --kit-asm-from: -46%; }
.kit-pub-asm-fn45 { --kit-asm-from: -45%; }
.kit-pub-asm-fn44 { --kit-asm-from: -44%; }
.kit-pub-asm-fn43 { --kit-asm-from: -43%; }
.kit-pub-asm-fn42 { --kit-asm-from: -42%; }
.kit-pub-asm-fn41 { --kit-asm-from: -41%; }
.kit-pub-asm-fn40 { --kit-asm-from: -40%; }
.kit-pub-asm-fn39 { --kit-asm-from: -39%; }
.kit-pub-asm-fn38 { --kit-asm-from: -38%; }
.kit-pub-asm-fn37 { --kit-asm-from: -37%; }
.kit-pub-asm-fn36 { --kit-asm-from: -36%; }
.kit-pub-asm-fn35 { --kit-asm-from: -35%; }
.kit-pub-asm-fn34 { --kit-asm-from: -34%; }
.kit-pub-asm-fn33 { --kit-asm-from: -33%; }
.kit-pub-asm-fn32 { --kit-asm-from: -32%; }
.kit-pub-asm-fn31 { --kit-asm-from: -31%; }
.kit-pub-asm-fn30 { --kit-asm-from: -30%; }
.kit-pub-asm-fn29 { --kit-asm-from: -29%; }
.kit-pub-asm-fn28 { --kit-asm-from: -28%; }
.kit-pub-asm-fn27 { --kit-asm-from: -27%; }
.kit-pub-asm-fn26 { --kit-asm-from: -26%; }
.kit-pub-asm-fn25 { --kit-asm-from: -25%; }
.kit-pub-asm-fn24 { --kit-asm-from: -24%; }
.kit-pub-asm-fn23 { --kit-asm-from: -23%; }
.kit-pub-asm-fn22 { --kit-asm-from: -22%; }
.kit-pub-asm-fn21 { --kit-asm-from: -21%; }
.kit-pub-asm-fn20 { --kit-asm-from: -20%; }
.kit-pub-asm-fn19 { --kit-asm-from: -19%; }
.kit-pub-asm-fn18 { --kit-asm-from: -18%; }
.kit-pub-asm-fn17 { --kit-asm-from: -17%; }
.kit-pub-asm-fn16 { --kit-asm-from: -16%; }
.kit-pub-asm-fn15 { --kit-asm-from: -15%; }
.kit-pub-asm-fn14 { --kit-asm-from: -14%; }
.kit-pub-asm-fn13 { --kit-asm-from: -13%; }
.kit-pub-asm-fn12 { --kit-asm-from: -12%; }
.kit-pub-asm-fn11 { --kit-asm-from: -11%; }
.kit-pub-asm-fn10 { --kit-asm-from: -10%; }
.kit-pub-asm-fn9 { --kit-asm-from: -9%; }
.kit-pub-asm-fn8 { --kit-asm-from: -8%; }
.kit-pub-asm-fn7 { --kit-asm-from: -7%; }
.kit-pub-asm-fn6 { --kit-asm-from: -6%; }
.kit-pub-asm-fn5 { --kit-asm-from: -5%; }
.kit-pub-asm-fn4 { --kit-asm-from: -4%; }
.kit-pub-asm-fn3 { --kit-asm-from: -3%; }
.kit-pub-asm-fn2 { --kit-asm-from: -2%; }
.kit-pub-asm-fn1 { --kit-asm-from: -1%; }
.kit-pub-asm-f0 { --kit-asm-from: 0%; }
.kit-pub-asm-f1 { --kit-asm-from: 1%; }
.kit-pub-asm-f2 { --kit-asm-from: 2%; }
.kit-pub-asm-f3 { --kit-asm-from: 3%; }
.kit-pub-asm-f4 { --kit-asm-from: 4%; }
.kit-pub-asm-f5 { --kit-asm-from: 5%; }
.kit-pub-asm-f6 { --kit-asm-from: 6%; }
.kit-pub-asm-f7 { --kit-asm-from: 7%; }
.kit-pub-asm-f8 { --kit-asm-from: 8%; }
.kit-pub-asm-f9 { --kit-asm-from: 9%; }
.kit-pub-asm-f10 { --kit-asm-from: 10%; }
.kit-pub-asm-f11 { --kit-asm-from: 11%; }
.kit-pub-asm-f12 { --kit-asm-from: 12%; }
.kit-pub-asm-f13 { --kit-asm-from: 13%; }
.kit-pub-asm-f14 { --kit-asm-from: 14%; }
.kit-pub-asm-f15 { --kit-asm-from: 15%; }
.kit-pub-asm-f16 { --kit-asm-from: 16%; }
.kit-pub-asm-f17 { --kit-asm-from: 17%; }
.kit-pub-asm-f18 { --kit-asm-from: 18%; }
.kit-pub-asm-f19 { --kit-asm-from: 19%; }
.kit-pub-asm-f20 { --kit-asm-from: 20%; }
.kit-pub-asm-f21 { --kit-asm-from: 21%; }
.kit-pub-asm-f22 { --kit-asm-from: 22%; }
.kit-pub-asm-f23 { --kit-asm-from: 23%; }
.kit-pub-asm-f24 { --kit-asm-from: 24%; }
.kit-pub-asm-f25 { --kit-asm-from: 25%; }
.kit-pub-asm-f26 { --kit-asm-from: 26%; }
.kit-pub-asm-f27 { --kit-asm-from: 27%; }
.kit-pub-asm-f28 { --kit-asm-from: 28%; }
.kit-pub-asm-f29 { --kit-asm-from: 29%; }
.kit-pub-asm-f30 { --kit-asm-from: 30%; }
.kit-pub-asm-f31 { --kit-asm-from: 31%; }
.kit-pub-asm-f32 { --kit-asm-from: 32%; }
.kit-pub-asm-f33 { --kit-asm-from: 33%; }
.kit-pub-asm-f34 { --kit-asm-from: 34%; }
.kit-pub-asm-f35 { --kit-asm-from: 35%; }
.kit-pub-asm-f36 { --kit-asm-from: 36%; }
.kit-pub-asm-f37 { --kit-asm-from: 37%; }
.kit-pub-asm-f38 { --kit-asm-from: 38%; }
.kit-pub-asm-f39 { --kit-asm-from: 39%; }
.kit-pub-asm-f40 { --kit-asm-from: 40%; }
.kit-pub-asm-f41 { --kit-asm-from: 41%; }
.kit-pub-asm-f42 { --kit-asm-from: 42%; }
.kit-pub-asm-f43 { --kit-asm-from: 43%; }
.kit-pub-asm-f44 { --kit-asm-from: 44%; }
.kit-pub-asm-f45 { --kit-asm-from: 45%; }
.kit-pub-asm-f46 { --kit-asm-from: 46%; }
.kit-pub-asm-f47 { --kit-asm-from: 47%; }
.kit-pub-asm-f48 { --kit-asm-from: 48%; }
.kit-pub-asm-f49 { --kit-asm-from: 49%; }
.kit-pub-asm-f50 { --kit-asm-from: 50%; }
.kit-pub-asm-f51 { --kit-asm-from: 51%; }
.kit-pub-asm-f52 { --kit-asm-from: 52%; }
.kit-pub-asm-f53 { --kit-asm-from: 53%; }
.kit-pub-asm-f54 { --kit-asm-from: 54%; }
.kit-pub-asm-f55 { --kit-asm-from: 55%; }
.kit-pub-asm-f56 { --kit-asm-from: 56%; }
.kit-pub-asm-f57 { --kit-asm-from: 57%; }
.kit-pub-asm-f58 { --kit-asm-from: 58%; }
.kit-pub-asm-f59 { --kit-asm-from: 59%; }
.kit-pub-asm-f60 { --kit-asm-from: 60%; }
.kit-pub-asm-r15 { --kit-asm-ratio: 0.15; }
.kit-pub-asm-r16 { --kit-asm-ratio: 0.16; }
.kit-pub-asm-r17 { --kit-asm-ratio: 0.17; }
.kit-pub-asm-r18 { --kit-asm-ratio: 0.18; }
.kit-pub-asm-r19 { --kit-asm-ratio: 0.19; }
.kit-pub-asm-r20 { --kit-asm-ratio: 0.20; }
.kit-pub-asm-r21 { --kit-asm-ratio: 0.21; }
.kit-pub-asm-r22 { --kit-asm-ratio: 0.22; }
.kit-pub-asm-r23 { --kit-asm-ratio: 0.23; }
.kit-pub-asm-r24 { --kit-asm-ratio: 0.24; }
.kit-pub-asm-r25 { --kit-asm-ratio: 0.25; }
.kit-pub-asm-r26 { --kit-asm-ratio: 0.26; }
.kit-pub-asm-r27 { --kit-asm-ratio: 0.27; }
.kit-pub-asm-r28 { --kit-asm-ratio: 0.28; }
.kit-pub-asm-r29 { --kit-asm-ratio: 0.29; }
.kit-pub-asm-r30 { --kit-asm-ratio: 0.30; }
.kit-pub-asm-r31 { --kit-asm-ratio: 0.31; }
.kit-pub-asm-r32 { --kit-asm-ratio: 0.32; }
.kit-pub-asm-r33 { --kit-asm-ratio: 0.33; }
.kit-pub-asm-r34 { --kit-asm-ratio: 0.34; }
.kit-pub-asm-r35 { --kit-asm-ratio: 0.35; }
.kit-pub-asm-r36 { --kit-asm-ratio: 0.36; }
.kit-pub-asm-r37 { --kit-asm-ratio: 0.37; }
.kit-pub-asm-r38 { --kit-asm-ratio: 0.38; }
.kit-pub-asm-r39 { --kit-asm-ratio: 0.39; }
.kit-pub-asm-r40 { --kit-asm-ratio: 0.40; }
.kit-pub-asm-r41 { --kit-asm-ratio: 0.41; }
.kit-pub-asm-r42 { --kit-asm-ratio: 0.42; }
.kit-pub-asm-r43 { --kit-asm-ratio: 0.43; }
.kit-pub-asm-r44 { --kit-asm-ratio: 0.44; }
.kit-pub-asm-r45 { --kit-asm-ratio: 0.45; }
.kit-pub-asm-r46 { --kit-asm-ratio: 0.46; }
.kit-pub-asm-r47 { --kit-asm-ratio: 0.47; }
.kit-pub-asm-r48 { --kit-asm-ratio: 0.48; }
.kit-pub-asm-r49 { --kit-asm-ratio: 0.49; }
.kit-pub-asm-r50 { --kit-asm-ratio: 0.50; }
.kit-pub-asm-r51 { --kit-asm-ratio: 0.51; }
.kit-pub-asm-r52 { --kit-asm-ratio: 0.52; }
.kit-pub-asm-r53 { --kit-asm-ratio: 0.53; }
.kit-pub-asm-r54 { --kit-asm-ratio: 0.54; }
.kit-pub-asm-r55 { --kit-asm-ratio: 0.55; }
.kit-pub-asm-r56 { --kit-asm-ratio: 0.56; }
.kit-pub-asm-r57 { --kit-asm-ratio: 0.57; }
.kit-pub-asm-r58 { --kit-asm-ratio: 0.58; }
.kit-pub-asm-r59 { --kit-asm-ratio: 0.59; }
.kit-pub-asm-r60 { --kit-asm-ratio: 0.60; }
.kit-pub-asm-r61 { --kit-asm-ratio: 0.61; }
.kit-pub-asm-r62 { --kit-asm-ratio: 0.62; }
.kit-pub-asm-r63 { --kit-asm-ratio: 0.63; }
.kit-pub-asm-r64 { --kit-asm-ratio: 0.64; }
.kit-pub-asm-r65 { --kit-asm-ratio: 0.65; }
.kit-pub-asm-r66 { --kit-asm-ratio: 0.66; }
.kit-pub-asm-r67 { --kit-asm-ratio: 0.67; }
.kit-pub-asm-r68 { --kit-asm-ratio: 0.68; }
.kit-pub-asm-r69 { --kit-asm-ratio: 0.69; }
.kit-pub-asm-r70 { --kit-asm-ratio: 0.70; }
.kit-pub-asm-r71 { --kit-asm-ratio: 0.71; }
.kit-pub-asm-r72 { --kit-asm-ratio: 0.72; }
.kit-pub-asm-r73 { --kit-asm-ratio: 0.73; }
.kit-pub-asm-r74 { --kit-asm-ratio: 0.74; }
.kit-pub-asm-r75 { --kit-asm-ratio: 0.75; }
.kit-pub-asm-r76 { --kit-asm-ratio: 0.76; }
.kit-pub-asm-r77 { --kit-asm-ratio: 0.77; }
.kit-pub-asm-r78 { --kit-asm-ratio: 0.78; }
.kit-pub-asm-r79 { --kit-asm-ratio: 0.79; }
.kit-pub-asm-r80 { --kit-asm-ratio: 0.80; }
.kit-pub-asm-r81 { --kit-asm-ratio: 0.81; }
.kit-pub-asm-r82 { --kit-asm-ratio: 0.82; }
.kit-pub-asm-r83 { --kit-asm-ratio: 0.83; }
.kit-pub-asm-r84 { --kit-asm-ratio: 0.84; }
.kit-pub-asm-r85 { --kit-asm-ratio: 0.85; }
.kit-pub-asm-r86 { --kit-asm-ratio: 0.86; }
.kit-pub-asm-r87 { --kit-asm-ratio: 0.87; }
.kit-pub-asm-r88 { --kit-asm-ratio: 0.88; }
.kit-pub-asm-r89 { --kit-asm-ratio: 0.89; }
.kit-pub-asm-r90 { --kit-asm-ratio: 0.90; }
.kit-pub-asm-r91 { --kit-asm-ratio: 0.91; }
.kit-pub-asm-r92 { --kit-asm-ratio: 0.92; }
.kit-pub-asm-r93 { --kit-asm-ratio: 0.93; }
.kit-pub-asm-r94 { --kit-asm-ratio: 0.94; }
.kit-pub-asm-r95 { --kit-asm-ratio: 0.95; }
.kit-pub-asm-r96 { --kit-asm-ratio: 0.96; }
.kit-pub-asm-r97 { --kit-asm-ratio: 0.97; }
.kit-pub-asm-r98 { --kit-asm-ratio: 0.98; }
.kit-pub-asm-r99 { --kit-asm-ratio: 0.99; }
.kit-pub-asm-r100 { --kit-asm-ratio: 1.00; }
.kit-pub-asm-r101 { --kit-asm-ratio: 1.01; }
.kit-pub-asm-r102 { --kit-asm-ratio: 1.02; }
.kit-pub-asm-r103 { --kit-asm-ratio: 1.03; }
.kit-pub-asm-r104 { --kit-asm-ratio: 1.04; }
.kit-pub-asm-r105 { --kit-asm-ratio: 1.05; }
.kit-pub-asm-r106 { --kit-asm-ratio: 1.06; }
.kit-pub-asm-r107 { --kit-asm-ratio: 1.07; }
.kit-pub-asm-r108 { --kit-asm-ratio: 1.08; }
.kit-pub-asm-r109 { --kit-asm-ratio: 1.09; }
.kit-pub-asm-r110 { --kit-asm-ratio: 1.10; }
.kit-pub-asm-r111 { --kit-asm-ratio: 1.11; }
.kit-pub-asm-r112 { --kit-asm-ratio: 1.12; }
.kit-pub-asm-r113 { --kit-asm-ratio: 1.13; }
.kit-pub-asm-r114 { --kit-asm-ratio: 1.14; }
.kit-pub-asm-r115 { --kit-asm-ratio: 1.15; }
.kit-pub-asm-r116 { --kit-asm-ratio: 1.16; }
.kit-pub-asm-r117 { --kit-asm-ratio: 1.17; }
.kit-pub-asm-r118 { --kit-asm-ratio: 1.18; }
.kit-pub-asm-r119 { --kit-asm-ratio: 1.19; }
.kit-pub-asm-r120 { --kit-asm-ratio: 1.20; }
.kit-pub-asm-r121 { --kit-asm-ratio: 1.21; }
.kit-pub-asm-r122 { --kit-asm-ratio: 1.22; }
.kit-pub-asm-r123 { --kit-asm-ratio: 1.23; }
.kit-pub-asm-r124 { --kit-asm-ratio: 1.24; }
.kit-pub-asm-r125 { --kit-asm-ratio: 1.25; }
.kit-pub-asm-r126 { --kit-asm-ratio: 1.26; }
.kit-pub-asm-r127 { --kit-asm-ratio: 1.27; }
.kit-pub-asm-r128 { --kit-asm-ratio: 1.28; }
.kit-pub-asm-r129 { --kit-asm-ratio: 1.29; }
.kit-pub-asm-r130 { --kit-asm-ratio: 1.30; }
.kit-pub-asm-r131 { --kit-asm-ratio: 1.31; }
.kit-pub-asm-r132 { --kit-asm-ratio: 1.32; }
.kit-pub-asm-r133 { --kit-asm-ratio: 1.33; }
.kit-pub-asm-r134 { --kit-asm-ratio: 1.34; }
.kit-pub-asm-r135 { --kit-asm-ratio: 1.35; }
.kit-pub-asm-r136 { --kit-asm-ratio: 1.36; }
.kit-pub-asm-r137 { --kit-asm-ratio: 1.37; }
.kit-pub-asm-r138 { --kit-asm-ratio: 1.38; }
.kit-pub-asm-r139 { --kit-asm-ratio: 1.39; }
.kit-pub-asm-r140 { --kit-asm-ratio: 1.40; }
.kit-pub-asm-r141 { --kit-asm-ratio: 1.41; }
.kit-pub-asm-r142 { --kit-asm-ratio: 1.42; }
.kit-pub-asm-r143 { --kit-asm-ratio: 1.43; }
.kit-pub-asm-r144 { --kit-asm-ratio: 1.44; }
.kit-pub-asm-r145 { --kit-asm-ratio: 1.45; }
.kit-pub-asm-r146 { --kit-asm-ratio: 1.46; }
.kit-pub-asm-r147 { --kit-asm-ratio: 1.47; }
.kit-pub-asm-r148 { --kit-asm-ratio: 1.48; }
.kit-pub-asm-r149 { --kit-asm-ratio: 1.49; }
.kit-pub-asm-r150 { --kit-asm-ratio: 1.50; }
.kit-pub-asm-e40 { --kit-asm-e: 0.40; }
.kit-pub-asm-e41 { --kit-asm-e: 0.41; }
.kit-pub-asm-e42 { --kit-asm-e: 0.42; }
.kit-pub-asm-e43 { --kit-asm-e: 0.43; }
.kit-pub-asm-e44 { --kit-asm-e: 0.44; }
.kit-pub-asm-e45 { --kit-asm-e: 0.45; }
.kit-pub-asm-e46 { --kit-asm-e: 0.46; }
.kit-pub-asm-e47 { --kit-asm-e: 0.47; }
.kit-pub-asm-e48 { --kit-asm-e: 0.48; }
.kit-pub-asm-e49 { --kit-asm-e: 0.49; }
.kit-pub-asm-e50 { --kit-asm-e: 0.50; }
.kit-pub-asm-e51 { --kit-asm-e: 0.51; }
.kit-pub-asm-e52 { --kit-asm-e: 0.52; }
.kit-pub-asm-e53 { --kit-asm-e: 0.53; }
.kit-pub-asm-e54 { --kit-asm-e: 0.54; }
.kit-pub-asm-e55 { --kit-asm-e: 0.55; }
.kit-pub-asm-e56 { --kit-asm-e: 0.56; }
.kit-pub-asm-e57 { --kit-asm-e: 0.57; }
.kit-pub-asm-e58 { --kit-asm-e: 0.58; }
.kit-pub-asm-e59 { --kit-asm-e: 0.59; }
.kit-pub-asm-e60 { --kit-asm-e: 0.60; }
.kit-pub-asm-e61 { --kit-asm-e: 0.61; }
.kit-pub-asm-e62 { --kit-asm-e: 0.62; }
.kit-pub-asm-e63 { --kit-asm-e: 0.63; }
.kit-pub-asm-e64 { --kit-asm-e: 0.64; }
.kit-pub-asm-e65 { --kit-asm-e: 0.65; }
.kit-pub-asm-e66 { --kit-asm-e: 0.66; }
.kit-pub-asm-e67 { --kit-asm-e: 0.67; }
.kit-pub-asm-e68 { --kit-asm-e: 0.68; }
.kit-pub-asm-e69 { --kit-asm-e: 0.69; }
.kit-pub-asm-e70 { --kit-asm-e: 0.70; }
.kit-pub-asm-e71 { --kit-asm-e: 0.71; }
.kit-pub-asm-e72 { --kit-asm-e: 0.72; }
.kit-pub-asm-e73 { --kit-asm-e: 0.73; }
.kit-pub-asm-e74 { --kit-asm-e: 0.74; }
.kit-pub-asm-e75 { --kit-asm-e: 0.75; }
.kit-pub-asm-e76 { --kit-asm-e: 0.76; }
.kit-pub-asm-e77 { --kit-asm-e: 0.77; }
.kit-pub-asm-e78 { --kit-asm-e: 0.78; }
.kit-pub-asm-e79 { --kit-asm-e: 0.79; }
.kit-pub-asm-e80 { --kit-asm-e: 0.80; }
.kit-pub-asm-e81 { --kit-asm-e: 0.81; }
.kit-pub-asm-e82 { --kit-asm-e: 0.82; }
.kit-pub-asm-e83 { --kit-asm-e: 0.83; }
.kit-pub-asm-e84 { --kit-asm-e: 0.84; }
.kit-pub-asm-e85 { --kit-asm-e: 0.85; }
.kit-pub-asm-e86 { --kit-asm-e: 0.86; }
.kit-pub-asm-e87 { --kit-asm-e: 0.87; }
.kit-pub-asm-e88 { --kit-asm-e: 0.88; }
.kit-pub-asm-e89 { --kit-asm-e: 0.89; }
.kit-pub-asm-e90 { --kit-asm-e: 0.90; }
.kit-pub-asm-e91 { --kit-asm-e: 0.91; }
.kit-pub-asm-e92 { --kit-asm-e: 0.92; }
.kit-pub-asm-e93 { --kit-asm-e: 0.93; }
.kit-pub-asm-e94 { --kit-asm-e: 0.94; }
.kit-pub-asm-e95 { --kit-asm-e: 0.95; }
.kit-pub-asm-e96 { --kit-asm-e: 0.96; }
.kit-pub-asm-e97 { --kit-asm-e: 0.97; }
.kit-pub-asm-e98 { --kit-asm-e: 0.98; }
.kit-pub-asm-e99 { --kit-asm-e: 0.99; }
.kit-pub-asm-e100 { --kit-asm-e: 1.00; }
