/* generated by pronto from program.cue — do not edit */

/* The value vocabulary, composed from several sources, each bucket under
   its own source's upstream names. #scale says which sources those are;
   naming them here too would make this sentence false at the next
   registration. A rung, unlike a role, means only
   "the Nth one": it is what an author reaches for when no role fits,
   which is exactly the case that otherwise produces a number. Nothing
   here has an appearance, so nothing here has a dark twin — what
   changes with the appearance is which rung a role points at, one
   namespace up, where the twin is closed. */
:where(html) {
  --size-000: -.5rem;
  --size-00: -.25rem;
  --size-1: .25rem;
  --size-2: .5rem;
  --size-3: 1rem;
  --size-4: 1.25rem;
  --size-5: 1.5rem;
  --size-6: 1.75rem;
  --size-7: 2rem;
  --size-8: 3rem;
  --size-9: 4rem;
  --size-10: 5rem;
  --size-11: 7.5rem;
  --size-12: 10rem;
  --size-13: 15rem;
  --size-14: 20rem;
  --size-15: 30rem;
  --border-size-1: 1px;
  --border-size-2: 2px;
  --border-size-3: 5px;
  --border-size-4: 10px;
  --border-size-5: 25px;
  --shadow-1: 0 1px 2px -1px var(--shadow-ink-10);
  --shadow-2: 0 3px 5px -2px var(--shadow-ink-4), 0 7px 14px -5px var(--shadow-ink-6);
  --shadow-3: 0 -1px 3px 0 var(--shadow-ink-3), 0 1px 2px -5px var(--shadow-ink-3), 0 2px 5px -5px var(--shadow-ink-5), 0 4px 12px -5px var(--shadow-ink-6), 0 12px 15px -5px var(--shadow-ink-8);
  --shadow-4: 0 -2px 5px 0 var(--shadow-ink-3), 0 1px 1px -2px var(--shadow-ink-4), 0 2px 2px -2px var(--shadow-ink-4), 0 5px 5px -2px var(--shadow-ink-5), 0 9px 9px -2px var(--shadow-ink-6), 0 16px 16px -2px var(--shadow-ink-7);
  --shadow-5: 0 -1px 2px 0 var(--shadow-ink-3), 0 2px 1px -2px var(--shadow-ink-4), 0 5px 5px -2px var(--shadow-ink-4), 0 10px 10px -2px var(--shadow-ink-5), 0 20px 20px -2px var(--shadow-ink-6), 0 40px 40px -2px var(--shadow-ink-8);
  --shadow-6: 0 -1px 2px 0 var(--shadow-ink-3), 0 3px 2px -2px var(--shadow-ink-4), 0 7px 5px -2px var(--shadow-ink-4), 0 12px 10px -2px var(--shadow-ink-5), 0 22px 18px -2px var(--shadow-ink-6), 0 41px 33px -2px var(--shadow-ink-7), 0 100px 80px -2px var(--shadow-ink-8);
  --ease-1: cubic-bezier(.25,0,.5,1);
  --ease-2: cubic-bezier(.25,0,.4,1);
  --ease-3: cubic-bezier(.25,0,.3,1);
  --ease-4: cubic-bezier(.25,0,.2,1);
  --ease-5: cubic-bezier(.25,0,.1,1);
  --ease-in-1: cubic-bezier(.25,0,1,1);
  --ease-in-2: cubic-bezier(.50,0,1,1);
  --ease-in-3: cubic-bezier(.70,0,1,1);
  --ease-in-4: cubic-bezier(.90,0,1,1);
  --ease-in-5: cubic-bezier(1,0,1,1);
  --ease-out-1: cubic-bezier(0,0,.75,1);
  --ease-out-2: cubic-bezier(0,0,.50,1);
  --ease-out-3: cubic-bezier(0,0,.3,1);
  --ease-out-4: cubic-bezier(0,0,.1,1);
  --ease-out-5: cubic-bezier(0,0,0,1);
  --ease-in-out-1: cubic-bezier(.1,0,.9,1);
  --ease-in-out-2: cubic-bezier(.3,0,.7,1);
  --ease-in-out-3: cubic-bezier(.5,0,.5,1);
  --ease-in-out-4: cubic-bezier(.7,0,.3,1);
  --ease-in-out-5: cubic-bezier(.9,0,.1,1);
  --ease-elastic-out-1: cubic-bezier(.5,.75,.75,1.25);
  --ease-elastic-out-2: cubic-bezier(.5,1,.75,1.25);
  --ease-elastic-out-3: cubic-bezier(.5,1.25,.75,1.25);
  --ease-elastic-out-4: cubic-bezier(.5,1.5,.75,1.25);
  --ease-elastic-out-5: cubic-bezier(.5,1.75,.75,1.25);
  --ease-elastic-in-1: cubic-bezier(.5,-0.25,.75,1);
  --ease-elastic-in-2: cubic-bezier(.5,-0.50,.75,1);
  --ease-elastic-in-3: cubic-bezier(.5,-0.75,.75,1);
  --ease-elastic-in-4: cubic-bezier(.5,-1.00,.75,1);
  --ease-elastic-in-5: cubic-bezier(.5,-1.25,.75,1);
  --ease-elastic-in-out-1: cubic-bezier(.5,-.1,.1,1.5);
  --ease-elastic-in-out-2: cubic-bezier(.5,-.3,.1,1.5);
  --ease-elastic-in-out-3: cubic-bezier(.5,-.5,.1,1.5);
  --ease-elastic-in-out-4: cubic-bezier(.5,-.7,.1,1.5);
  --ease-elastic-in-out-5: cubic-bezier(.5,-.9,.1,1.5);
  --ease-step-1: steps(2);
  --ease-step-2: steps(3);
  --ease-step-3: steps(4);
  --ease-step-4: steps(7);
  --ease-step-5: steps(10);
  --ease-elastic-1: var(--ease-elastic-out-1);
  --ease-elastic-2: var(--ease-elastic-out-2);
  --ease-elastic-3: var(--ease-elastic-out-3);
  --ease-elastic-4: var(--ease-elastic-out-4);
  --ease-elastic-5: var(--ease-elastic-out-5);
  --ease-squish-1: var(--ease-elastic-in-out-1);
  --ease-squish-2: var(--ease-elastic-in-out-2);
  --ease-squish-3: var(--ease-elastic-in-out-3);
  --ease-squish-4: var(--ease-elastic-in-out-4);
  --ease-squish-5: var(--ease-elastic-in-out-5);
  --ease-spring-1: linear(0,0.006,0.025 2.8%,0.101 6.1%,0.539 18.9%,0.721 25.3%,0.849 31.5%,0.937 38.1%,0.968 41.8%,0.991 45.7%,1.006 50.1%,1.015 55%,1.017 63.9%,1.001);
  --ease-spring-2: linear(0,0.007,0.029 2.2%,0.118 4.7%,0.625 14.4%,0.826 19%,0.902,0.962,1.008 26.1%,1.041 28.7%,1.064 32.1%,1.07 36%,1.061 40.5%,1.015 53.4%,0.999 61.6%,0.995 71.2%,1);
  --ease-spring-3: linear(0,0.009,0.035 2.1%,0.141 4.4%,0.723 12.9%,0.938 16.7%,1.017,1.077,1.121,1.149 24.3%,1.159,1.163,1.161,1.154 29.9%,1.129 32.8%,1.051 39.6%,1.017 43.1%,0.991,0.977 51%,0.974 53.8%,0.975 57.1%,0.997 69.8%,1.003 76.9%,1);
  --ease-spring-4: linear(0,0.009,0.037 1.7%,0.153 3.6%,0.776 10.3%,1.001,1.142 16%,1.185,1.209 19%,1.215 19.9% 20.8%,1.199,1.165 25%,1.056 30.3%,1.008 33%,0.973,0.955 39.2%,0.953 41.1%,0.957 43.3%,0.998 53.3%,1.009 59.1% 63.7%,0.998 78.9%,1);
  --ease-spring-5: linear(0,0.01,0.04 1.6%,0.161 3.3%,0.816 9.4%,1.046,1.189 14.4%,1.231,1.254 17%,1.259,1.257 18.6%,1.236,1.194 22.3%,1.057 27%,0.999 29.4%,0.955 32.1%,0.942,0.935 34.9%,0.933,0.939 38.4%,1 47.3%,1.011,1.017 52.6%,1.016 56.4%,1 65.2%,0.996 70.2%,1.001 87.2%,1);
  --ease-bounce-1: linear(0,0.004,0.016,0.035,0.063,0.098,0.141,0.191,0.25,0.316,0.391 36.8%,0.563,0.766,1 58.8%,0.946,0.908 69.1%,0.895,0.885,0.879,0.878,0.879,0.885,0.895,0.908 89.7%,0.946,1);
  --ease-bounce-2: linear(0,0.004,0.016,0.035,0.063,0.098,0.141 15.1%,0.25,0.391,0.562,0.765,1,0.892 45.2%,0.849,0.815,0.788,0.769,0.757,0.753,0.757,0.769,0.788,0.815,0.85,0.892 75.2%,1 80.2%,0.973,0.954,0.943,0.939,0.943,0.954,0.973,1);
  --ease-bounce-3: linear(0,0.004,0.016,0.035,0.062,0.098,0.141 11.4%,0.25,0.39,0.562,0.764,1 30.3%,0.847 34.8%,0.787,0.737,0.699,0.672,0.655,0.65,0.656,0.672,0.699,0.738,0.787,0.847 61.7%,1 66.2%,0.946,0.908,0.885 74.2%,0.879,0.878,0.879,0.885 79.5%,0.908,0.946,1 87.4%,0.981,0.968,0.96,0.957,0.96,0.968,0.981,1);
  --ease-bounce-4: linear(0,0.004,0.016 3%,0.062,0.141,0.25,0.391,0.562 18.2%,1 24.3%,0.81,0.676 32.3%,0.629,0.595,0.575,0.568,0.575,0.595,0.629,0.676 48.2%,0.811,1 56.2%,0.918,0.86,0.825,0.814,0.825,0.86,0.918,1 77.2%,0.94 80.6%,0.925,0.92,0.925,0.94 87.5%,1 90.9%,0.974,0.965,0.974,1);
  --ease-bounce-5: linear(0,0.004,0.016 2.5%,0.063,0.141,0.25 10.1%,0.562,1 20.2%,0.783,0.627,0.534 30.9%,0.511,0.503,0.511,0.534 38%,0.627,0.782,1 48.7%,0.892,0.815,0.769 56.3%,0.757,0.753,0.757,0.769 61.3%,0.815,0.892,1 68.8%,0.908 72.4%,0.885,0.878,0.885,0.908 79.4%,1 83%,0.954 85.5%,0.943,0.939,0.943,0.954 90.5%,1 93%,0.977,0.97,0.977,1);
  --ease-circ-in: cubic-bezier(.6,.04,.98,.335);
  --ease-circ-in-out: cubic-bezier(.785,.135,.15,.86);
  --ease-circ-out: cubic-bezier(.075,.82,.165,1);
  --ease-cubic-in: cubic-bezier(.55,.055,.675,.19);
  --ease-cubic-in-out: cubic-bezier(.645,.045,.355,1);
  --ease-cubic-out: cubic-bezier(.215,.61,.355,1);
  --ease-expo-in: cubic-bezier(.95,.05,.795,.035);
  --ease-expo-in-out: cubic-bezier(1,0,0,1);
  --ease-expo-out: cubic-bezier(.19,1,.22,1);
  --ease-quad-in: cubic-bezier(.55,.085,.68,.53);
  --ease-quad-in-out: cubic-bezier(.455,.03,.515,.955);
  --ease-quad-out: cubic-bezier(.25,.46,.45,.94);
  --ease-quart-in: cubic-bezier(.895,.03,.685,.22);
  --ease-quart-in-out: cubic-bezier(.77,0,.175,1);
  --ease-quart-out: cubic-bezier(.165,.84,.44,1);
  --ease-quint-in: cubic-bezier(.755,.05,.855,.06);
  --ease-quint-in-out: cubic-bezier(.86,0,.07,1);
  --ease-quint-out: cubic-bezier(.23,1,.32,1);
  --ease-sine-in: cubic-bezier(.47,0,.745,.715);
  --ease-sine-in-out: cubic-bezier(.445,.05,.55,.95);
  --ease-sine-out: cubic-bezier(.39,.575,.565,1);
  --layer-1: 1;
  --layer-2: 2;
  --layer-3: 3;
  --layer-4: 4;
  --layer-5: 5;
  --layer-important: 2147483647;
  --ratio-square: 1;
  --ratio-landscape: 4/3;
  --ratio-portrait: 3/4;
  --ratio-widescreen: 16/9;
  --ratio-ultrawide: 18/5;
  --ratio-golden: 1.6180/1;
  --min-touch: 24px;
  --base-text-size-2xl: 2.5rem;
  --base-text-size-lg: 1.25rem;
  --base-text-size-md: 1rem;
  --base-text-size-sm: 0.875rem;
  --base-text-size-xl: 2rem;
  --base-text-size-xs: 0.75rem;
  --base-text-lineHeight-loose: 1.75;
  --base-text-lineHeight-normal: 1.5;
  --base-text-lineHeight-relaxed: 1.625;
  --base-text-lineHeight-snug: 1.375;
  --base-text-lineHeight-tight: 1.25;
}

/* Design system values, from DESIGN.md's frontmatter, which the program
   reads as its design block: the roles the preset publishes, each colour
   carrying both appearances. A screen that redeclares one of these has
   forked the system — the shared layer is the only declaration. */
:root {
  --primary: light-dark(#0B0D17, #F0F2FF);
  --secondary: light-dark(#4A5076, #B8BFE0);
  --accent: light-dark(#5847E0, #8E82FA);
  --danger: light-dark(#B91C1C, #F87171);
  --neutral: light-dark(#EEF0FB, #0B0D17);
  --surface: light-dark(#EEF0FB, #151828);
  --border: light-dark(#CBD0EB, #2C3252);
  --surface-muted: light-dark(#E4E7F8, #1C2035);
  --panel: light-dark(rgba(248, 249, 255, 0.96), rgba(11, 13, 23, 0.94));
  --field: light-dark(#FFFFFF, #151828);
  --text: light-dark(#0B0D17, #F0F2FF);
  --text-2: light-dark(#4A5076, #B8BFE0);
  --muted: light-dark(#565D82, #949CC2);
  --faint: light-dark(#8B92B8, #4F5576);
  --surface-2: light-dark(#E4E7F8, #1C2035);
  --border-2: light-dark(#DFE3F6, #20253D);
  --accent-2: light-dark(#C084FC, #C084FC);
  --accent-hover: light-dark(#4B3BC8, #A398FC);
  --accent-soft: light-dark(rgba(88, 71, 224, 0.12), rgba(142, 130, 250, 0.20));
  --danger-bg: light-dark(#FEF2F2, rgba(239, 68, 68, 0.15));
  --danger-border: light-dark(#FECACA, rgba(239, 68, 68, 0.35));
  --slot-0: light-dark(#3B82F6, #60A5FA);
  --slot-1: light-dark(#F472B6, #F472B6);
  --slot-2: light-dark(#F59E0B, #FBBF24);
  --ok: light-dark(#10B981, #34D399);
  --warn: light-dark(#F59E0B, #FBBF24);
  --cobbles: light-dark(#8B5CF6, #A78BFA);
  --track: light-dark(#D97706, #F59E0B);
  --shadow-ink-3: light-dark(hsl(220 3% 15% / 3%), hsl(220 40% 2% / 27%));
  --shadow-ink-4: light-dark(hsl(220 3% 15% / 4%), hsl(220 40% 2% / 28%));
  --shadow-ink-5: light-dark(hsl(220 3% 15% / 5%), hsl(220 40% 2% / 29%));
  --shadow-ink-6: light-dark(hsl(220 3% 15% / 6%), hsl(220 40% 2% / 30%));
  --shadow-ink-7: light-dark(hsl(220 3% 15% / 7%), hsl(220 40% 2% / 31%));
  --shadow-ink-8: light-dark(hsl(220 3% 15% / 8%), hsl(220 40% 2% / 32%));
  --shadow-ink-10: light-dark(hsl(220 3% 15% / 10%), hsl(220 40% 2% / 34%));
  --r-xs: 6px;
  --r-sm: 8px;
  --r-md: 10px;
  --r-lg: 14px;
  --r-full: 999px;
  --sp-2xs: 4px;
  --sp-xs: 6px;
  --sp-sm: 8px;
  --sp-md: 12px;
  --sp-lg: 16px;
  --sp-xl: 24px;
  --motion-fast: 110ms;
  --motion-base: 180ms;
  --motion-ease: cubic-bezier(.2, 0, 0, 1);
  --motion-shift: 6px;
  --control-h-xs: 28px;
  --control-h-sm: 32px;
  --control-h: 36px;
  --control-h-lg: 40px;
  --control-pad-x: var(--sp-md);
  --type-display: 2.5rem;
  --type-title: 2rem;
  --type-subtitle: 1.25rem;
  --type-body: 1rem;
  --type-caption: 0.875rem;
  --type-label: 0.75rem;
  --type-leading-title: 1.25;
  --type-leading-body: 1.625;
  --shell-bg: var(--neutral);
  --shell-fg: var(--primary);
  --shell-rule: var(--border);
  color-scheme: light dark;
}
/* The storybook stamps -dark frames as data-state values. colour-scheme
   is inherited and light-dark() reads it at the point of use, so
   flipping it on the frame resolves every token inside to its twin —
   both appearances reviewable on one device, with no second palette to
   drift from this one. */
.screen[data-state$="-dark"] {
  color-scheme: dark;
}

/* The terminal's chrome, styled here because the terminal ships no
   style: its markup carries stable classes and attributes, and this
   emission — program-owned, preset-derived, app-overridable — is the
   only stylesheet they have. Aesthetic values stay behind --shell-*
   variables so an app can retheme without repeating structure. */
/* The scrollbar's room is kept whether or not the page overflows: a
   screen swapping in is as short as its loading state until its data
   lands, and with a classic scrollbar the whole page would jump
   sideways and back on every navigation. */
html { scrollbar-gutter: stable; }
body { margin: 0; font: var(--shell-font, 1rem/1.5 system-ui, sans-serif);
  background: var(--shell-bg); color: var(--shell-fg); }
/* Custom posture (`shell.nav: "custom"`): the app's own stylesheet owns
   the container geometry; only the link and control resets below apply. */
:where(body > nav a) { color: inherit; text-decoration: none; }
:where(body > nav a:hover) { text-decoration: var(--shell-nav-hover, underline); }
:where(body > nav .shell-who) { display: flex; align-items: center; gap: 5px; min-width: 0; min-height: 24px; }
:where(body > nav .shell-who .name) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
:where(body > nav .shell-who .name:empty) { display: none; }
:where(body > nav .shell-who .name:not(:empty))::after { content: " ·"; }
:where(body > nav .shell-who .handle) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
/* De-emphasis comes from weight alone: layered opacity on --shell-fg
   lands below 4.5:1 contrast on both themes' nav ground. */
/* A short word is still a target: "sair" sets 23px of text, under the
   24px minimum a finger needs, so the box keeps the floor the label
   does not. */
:where(body > nav :is(.shell-signout, .shell-signin, .shell-register)) { font: inherit; font-weight: 400;
  color: inherit; background: none; border: 0; padding: 0; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 24px; min-width: 24px; }

/* Not a preference to weigh against the design: durations collapse
   and the interpreter's exit path, which waits on running animations,
   finds none and removes immediately. */
@media (prefers-reduced-motion: reduce) {
  :root { --motion-fast: 0s; --motion-base: 0s; --motion-shift: 0px; }
}

/* Lifecycle slots the interpreter stamps at moments no screen can
   observe. Keyframes, not transitions: screens style rows with
   transition, and the cascade would hand them the whole shorthand.
   These bindings are deliberately rebindable — a screen may point
   them at its own keyframes; the interpreter waits on whatever
   animations actually run. */
@keyframes shell-item-enter {
  from { opacity: 0; transform: translateY(var(--motion-shift)); }
}
@keyframes shell-item-exit {
  to { opacity: 0; transform: scale(.98); }
}
[data-id][data-enter] { animation: shell-item-enter var(--motion-base) var(--motion-ease); }
/* forwards holds the departed row invisible for the frames between
   the animation ending and the interpreter removing the node. */
[data-id][data-exit] { animation: shell-item-exit var(--motion-base) var(--motion-ease) forwards; }
@keyframes shell-reveal {
  from { opacity: 0; transform: translateY(calc(var(--motion-shift) * -1)); }
}
.empty, .invalid, .store-error {
  animation: shell-reveal var(--motion-base) var(--motion-ease);
}
/* A screen arriving on the navigation stack; the one it replaces is
   hidden at once — overlapping two live screens would need a stacking
   layout the terminal does not own. */
.shell-screen { transition: opacity var(--motion-fast) var(--motion-ease); }
.shell-screen[data-entering] { opacity: 0; }

/* The login ceremony — the one full surface the terminal renders,
   on the same tokens as everything else. */
body:has(.shell-login) { background: var(--login-surface, var(--surface)); }
.shell-login {
  box-sizing: border-box; min-height: 100svh; display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
  align-items: center; gap: clamp(48px, 8vw, 128px);
  max-width: 1160px; margin: auto; padding: clamp(32px, 7vw, 96px);
  color: var(--primary, var(--shell-fg));
}
.shell-login .login-intro { padding-block: 32px; }
.shell-login .login-mark {
  display: grid; place-items: center; width: 56px; height: 56px;
  margin-block-end: 48px; color: var(--accent, var(--shell-fg));
  border: 1px solid var(--shell-rule); border-radius: var(--r-md, 8px);
  font: 400 32px/1 var(--shell-heading-font, ui-serif, Georgia, serif);
}
.shell-login h1 {
  margin: 0; font-family: var(--shell-heading-font, ui-serif, Georgia, serif);
  font-size: clamp(48px, 6.5vw, 88px); font-weight: 400; line-height: 1.05;
  letter-spacing: -.055em; overflow-wrap: anywhere;
}
.shell-login .login-hint {
  margin: 28px 0 0; max-width: 32ch; font-size: 1.125rem; line-height: 1.65;
  color: var(--secondary, var(--shell-fg));
}
.shell-login form {
  box-sizing: border-box; width: 100%; margin: 0; padding-block: 40px;
  border-block: 1px solid var(--shell-rule);
}
.shell-login .login-actions { display: grid; gap: 12px; }
.shell-login button, .shell-login .login-provider {
  box-sizing: border-box; display: flex; align-items: center; justify-content: center;
  width: 100%; min-height: 56px; padding: 14px 20px; font: inherit;
  font-size: .9375rem; font-weight: 600; text-align: center; text-decoration: none;
  line-height: 1.5; border: 1px solid var(--shell-rule); border-radius: var(--r-sm, 6px);
  background: var(--surface); color: var(--primary, var(--shell-fg)); cursor: pointer;
  transition: background 150ms ease, border-color 150ms ease, transform 150ms ease;
}
.shell-login .login-provider { background: var(--primary, var(--shell-fg)); color: var(--surface); border-color: transparent; }
.shell-login .login-provider ~ .login-passkey { background: var(--surface); color: var(--primary, var(--shell-fg)); border-color: var(--shell-rule); }
.shell-login .login-passkey { background: var(--primary, var(--shell-fg)); color: var(--surface); border-color: transparent; }
.shell-login .login-guest { margin-block-start: 12px; border-color: transparent; background: transparent; color: var(--secondary, var(--shell-fg)); font-weight: 400; }
.shell-login button:hover, .shell-login .login-provider:hover { transform: translateY(-1px); }
.shell-login .login-provider:hover { filter: brightness(1.15); }
.shell-login .login-guest:hover { color: var(--primary, var(--shell-fg)); background: var(--surface-muted, var(--surface)); }
.shell-login :is(button, a):focus-visible { outline: 3px solid var(--accent, var(--shell-fg)); outline-offset: 4px; }
.shell-login .login-error { color: var(--danger); margin: 0 0 20px; font-size: .9375rem; }
@media (max-width: 700px) {
  .shell-login { grid-template-columns: minmax(0, 1fr); align-content: center; gap: 40px; padding: 48px 28px; }
  .shell-login .login-intro { padding: 0; }
  .shell-login .login-mark { margin-block-end: 32px; }
  .shell-login h1 { font-size: clamp(48px, 13vw, 72px); }
  .shell-login .login-hint { margin-block-start: 20px; font-size: 1rem; }
  .shell-login form { padding-block: 28px; }
}
@media (prefers-reduced-motion: reduce) {
  .shell-login button, .shell-login .login-provider { transition: none; }
  .shell-login button:hover, .shell-login .login-provider:hover { transform: none; }
}
