/* 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.
   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-accent) 45%, transparent); }
  to { box-shadow: 0 0 0 10px color-mix(in srgb, 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); }
.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-secondary); color: 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-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-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-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-main); }
.kit-tab-panel { margin-top: 8px; }

.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-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-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-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-accent-text); }
.kit-footer-reg { font-size: 0.8em; vertical-align: 0.35em; margin-left: 1px; }
.kit-footer .kit-language { width: auto; height: auto; border: 0; padding: 0; background: transparent; color: inherit;
  font-size: inherit; cursor: pointer; }

/* 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-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-secondary); color: 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); }
/* 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-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-secondary); color: 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-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-secondary); color: var(--kit-on-secondary); border-color: 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; }

/* 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; }
.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 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; }
