/* 4devs.eu - Chess Code board. Uses the same design tokens as the rest of
   the site (base.css :root) so it doesn't look like a bolted-on widget. */

:root{
  --cb-navy: #17324A;       /* last-move highlight + board accents */
  --cb-light-navy: #E7ECF1; /* light squares, cooled from cream toward navy per instruction */
}

.cb-wrap{
  display:flex;gap:clamp(20px,3vw,36px);align-items:flex-start;
  flex-wrap:wrap;justify-content:center;
}

.cb-board-col{flex:none;display:flex;flex-direction:column;align-items:center;width:min(78vw, 640px)}

.cb-board-frame{position:relative;width:100%}

.cb-board{
  width:100%;
  aspect-ratio:1/1;
  display:grid;
  grid-template-columns:repeat(8,1fr);
  grid-template-rows:repeat(8,1fr);
  border:2px solid var(--cb-navy);
  border-radius:8px;
  overflow:hidden;
}

/* Board orientation: grid-row === rank always (see chess-board.js); which
   physical edge rank 1 lands on is decided purely by this transform, so the
   CSS a player types never has to change based on which way the board
   faces. .cb-flip = White's pieces at the bottom (the default/standard
   view); no class = Black's pieces at the bottom. Squares counter-flip so
   their own content (coordinate labels, piece art nested inside them on the
   static board) renders upright. */
.cb-board.cb-flip{ transform:scaleY(-1); }
.cb-board.cb-flip .cb-square{ transform:scaleY(-1); }

.cb-square{
  position:relative;display:flex;align-items:center;justify-content:center;
  user-select:none;
  /* manipulation = keep panning and pinch-zoom, drop double-tap-to-zoom and
     the 300ms click delay that comes with it. Added when the page stopped
     using user-scalable=no: a fast two-tap on adjacent squares must move a
     piece, not zoom the board. */
  touch-action:manipulation;
}
/* Board theme. --cb-sq-* are set on <html> by chess-profile.js; the old
   values are the fallbacks, so an unthemed page (or JS failing to load)
   renders exactly as it did before. Both the static board and the live
   game build squares with these two classes, so the home board, the game,
   the tutorial and the analysis board are all themed from here. */
.cb-light{background:var(--cb-sq-light, var(--cb-light-navy))}
.cb-dark{background:var(--cb-sq-dark, var(--ink-3))}
.cb-last-move{box-shadow:inset 0 0 0 3px var(--cb-sq-accent, var(--cb-navy))}

.cb-piece{
  width:78%;height:78%;object-fit:contain;pointer-events:none;
  filter:drop-shadow(0 1px 1px rgba(18,38,43,.25));
}

.cb-coord{
  position:absolute;font-family:var(--mono);font-size:.62rem;font-weight:700;
  /* Alphas raised from .35/.4/.5. At the old values the file/rank letters sat
     at 2.2:1 on light squares and 3.5:1 on dark ones, under the 4.5:1 that
     WCAG 1.4.3 asks of text this size - they were decoration you could not
     read. These are the lowest values that clear it on the default board
     (4.7:1 and 4.8:1 measured), so the labels stay quiet. A custom board
     theme changes the squares underneath, so re-check if you add one. */
  color:rgba(18,38,43,.7);pointer-events:none;
}
.cb-light .cb-coord{color:rgba(23,50,74,.75)}
.cb-dark .cb-coord{color:rgba(247,246,242,.7)}
.cb-coord-file{bottom:3px;right:5px}
.cb-coord-rank{top:3px;left:5px}

/* ---------- loading screen (shown over the board after Play) ---------- */
.cb-loading{
  position:absolute;inset:0;z-index:5;border-radius:8px;
  background:var(--plaster);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;
}
.cb-loading-label{font-family:var(--mono);font-size:.8rem;color:var(--muted);position:relative;z-index:1}

/* ---------- skeleton loader ----------
   The board skeleton is drawn entirely in CSS - no 64 placeholder elements to
   create and tear down. A repeating-conic-gradient at 25% tile size paints a
   2x2 checker per tile = the full 8x8 grid, and ::after sweeps a highlight
   across it. Deliberately low-contrast: it should read as "the board is
   coming", not as a real board you might try to click. */
.cb-skel-board{
  position:absolute;inset:0;border-radius:8px;overflow:hidden;
  background:repeating-conic-gradient(rgba(23,50,74,.10) 0% 25%, rgba(23,50,74,.04) 0% 50%) 0 0 / 25% 25%;
}
.cb-skel-board::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(100deg,transparent 35%,rgba(255,255,255,.55) 50%,transparent 65%);
  transform:translateX(-100%);
  animation:cbSkelSweep 1.4s ease-in-out infinite;
}
/* Panel skeleton: a few bars standing in for the status line and code box. */
.cb-skel-panel{display:flex;flex-direction:column;gap:10px;width:100%}
.cb-skel-line{
  height:12px;border-radius:6px;position:relative;overflow:hidden;
  background:rgba(23,50,74,.09);
}
.cb-skel-line.cb-skel-tall{height:88px;border-radius:10px}
.cb-skel-line.cb-skel-short{width:45%}
.cb-skel-line::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(100deg,transparent 35%,rgba(255,255,255,.6) 50%,transparent 65%);
  transform:translateX(-100%);
  animation:cbSkelSweep 1.4s ease-in-out infinite;
}
@keyframes cbSkelSweep{ to{ transform:translateX(100%); } }
/* The sweep is decorative motion across a large area - drop it entirely
   rather than slow it down when the user has asked for reduced motion. */
@media (prefers-reduced-motion: reduce){
  .cb-skel-board::after,.cb-skel-line::after{animation:none;opacity:0}
}
.cb-loading-bar{display:flex;gap:6px}
.cb-loading-bar span{
  width:22px;height:5px;border-radius:3px;background:var(--cb-navy);
  opacity:.25;animation:cbLoadPulse 1.1s ease-in-out infinite;
}
.cb-loading-bar span:nth-child(1){animation-delay:0s}
.cb-loading-bar span:nth-child(2){animation-delay:.08s}
.cb-loading-bar span:nth-child(3){animation-delay:.16s}
.cb-loading-bar span:nth-child(4){animation-delay:.24s}
.cb-loading-bar span:nth-child(5){animation-delay:.32s}
.cb-loading-bar span:nth-child(6){animation-delay:.4s}
.cb-loading-bar span:nth-child(7){animation-delay:.48s}
.cb-loading-bar span:nth-child(8){animation-delay:.56s}
@keyframes cbLoadPulse{
  0%,100%{opacity:.25}
  50%{opacity:1}
}

/* ---------- session stub (shown on the board once loading finishes) ---------- */
.cb-session-stub{
  position:absolute;inset:0;z-index:5;border-radius:8px;
  background:var(--plaster);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;
  padding:24px;text-align:center;overflow:auto;
}
.cb-session-stub p{
  max-width:40ch;font-family:var(--serif);font-size:.95rem;color:var(--muted);line-height:1.55;
}

/* ---------- puzzle roadmap ----------
   Used to inherit its centred layout from #cbSessionStub (the absolutely-
   positioned box it rendered into, over the board). Now it's mounted
   straight into .cb-panel as its own element (see chess-play-flow.js), so
   it needs to bring that centring with it instead of relying on a parent
   it no longer shares. */
/* ---------- puzzle roadmap: full-viewport dark trail ----------
   Mounted on <body> (see roadmapHost in chess-play-flow.js), pinned below the
   header. Dark ground with green solved nodes, per the reference the user
   supplied - deliberately its own palette rather than the site's plaster, so
   the trail reads as a place you go into. */
/* z-index 65, above .topbar's 60, and top:0 with no JS offset.

   These used to be pinned below the measured height of #topbar so the site
   header stayed visible. That only lined up at scroll position 0: opening the
   trail also sets body{overflow:hidden}, which stops the sticky header
   resolving to the top of the viewport, so once the page was scrolled the
   reserved strip showed page content instead of the header - a band of the
   page floating above the trail. The overlay builds its own .cc-rm-topbar with
   the title and the back arrow, so the site header was redundant here anyway. */
.cc-rm-screen{
  position:fixed; left:0; right:0; bottom:0; top:0; z-index:65;
  background:var(--plaster); color:var(--ink);
  display:flex; flex-direction:column;
  animation:ccRmIn .24s ease both;
}
@keyframes ccRmIn{ from{opacity:0} to{opacity:1} }
/* Stop the page behind from scrolling while the trail is open. */
body.cc-rm-lock{ overflow:hidden; }
.cc-rm-inner{
  flex:1; min-height:0; width:100%;
  display:flex; flex-direction:column; gap:10px;
  padding:16px clamp(12px,4vw,40px) 0;
}
.cc-rm-topbar{ position:relative; display:flex; flex-direction:column; align-items:center; gap:2px; flex:none; }
.cc-rm-topbar .cp-back{ position:absolute; left:0; top:0; margin:0; }
/* The trail is full-viewport, so `left:0` put the arrow at the far screen
   edge - miles from the title on a wide monitor. Pull it in to sit near the
   centred heading instead, while staying left-aligned on narrow screens. */
@media (min-width:900px){
  .cc-rm-topbar .cp-back{ left:50%; margin-left:-260px; }
}
.cc-roadmap-title{ font-family:var(--display); font-weight:800; font-size:1.15rem; color:var(--ink); margin:0; }
.cc-roadmap-sub{ font-family:var(--mono); font-size:.74rem; color:var(--muted); margin:0; }

/* Nodes are absolutely placed on a tall track (x from a sine wave in JS, y
   stepped), with an SVG path through the same points behind them. svh not
   vh/dvh so the scroll window doesn't resize as the mobile address bar moves. */
.cc-rm-scroll{
  position:relative; flex:1; min-height:0;
  overflow-y:auto; overflow-x:hidden;
  overscroll-behavior:contain;           /* don't chain scroll to the page */
  -webkit-overflow-scrolling:touch;
}
.cc-rm-track{ position:relative; width:100%; max-width:760px; margin-inline:auto; }
/* Scenery tiles down the full height - a single stretched SVG would smear
   over a ~4000px trail. Under everything, ignores clicks. */
.cc-rm-scenery{
  position:absolute; inset:0; pointer-events:none; opacity:.9;
  background-repeat:repeat-y; background-position:center top; background-size:100% auto;
}
.cc-rm-path{ position:absolute; inset:0; width:100%; height:100%; color:rgba(23,50,74,.20); pointer-events:none; }
/* Nodes are cut-stone tiles: a lit top bevel fading to a shaded bottom, an
   inset marble rim, and a hard bottom edge for the block's depth - so they
   sit in the isometric scene rather than floating on it as flat chips.
   background-IMAGE carries the bevel so each state only sets its own
   background-COLOR underneath (and so the solve animation can tween the
   colour without wiping the bevel). */
.cc-rm-node{
  position:absolute; transform:translate(-50%,-50%);
  width:46px; height:46px; border-radius:11px;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--mono); font-weight:700; font-size:.85rem;
  border:none; padding:0; z-index:1;
  background-image:linear-gradient(180deg,
    rgba(255,255,255,.42) 0%, rgba(255,255,255,.10) 42%,
    rgba(0,0,0,.04) 62%, rgba(0,0,0,.16) 100%);
  transition:transform .15s ease, box-shadow .15s ease;
}
.cc-rm-solved{
  background-color:#4E9E4A; color:#fff;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.30), inset 0 -3px 0 rgba(0,0,0,.13),
             0 4px 0 #3B7A38, 0 8px 16px -7px rgba(18,38,43,.55);
}
/* The current puzzle is WHITE, not green - green is reserved for "done", so a
   green next-up node read as already completed. The ring is what marks it as
   the live one. */
.cc-rm-open{
  background-color:var(--paper); color:var(--ink); cursor:pointer;
  /* No spread ring around the live node. A 5px halo on a small tile reads as a
     blur rather than as a highlight - the white fill against the green solved
     nodes and the grey locked ones is already what marks it. */
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.75), inset 0 -3px 0 rgba(18,38,43,.10),
             0 4px 0 #C7C2B7, 0 9px 18px -8px rgba(18,38,43,.5);
}
.cc-rm-open:hover{ transform:translate(-50%,-50%) scale(1.08); }
.cc-rm-locked{
  background-color:#DEDAD1; color:#9A968C; cursor:not-allowed;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.45), inset 0 -3px 0 rgba(18,38,43,.07),
             0 4px 0 #C4BFB3, 0 7px 13px -7px rgba(18,38,43,.4);
}

/* skeleton shown while the trail loads */
.cc-rm-skel-node{
  position:absolute; transform:translate(-50%,-50%);
  width:46px; height:46px; border-radius:12px; overflow:hidden;
  background:rgba(23,50,74,.09);
}
.cc-rm-skel-node::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(100deg,transparent 35%,rgba(255,255,255,.7) 50%,transparent 65%);
  transform:translateX(-100%); animation:cbSkelSweep 1.4s ease-in-out infinite;
}
@media (max-width:640px){
  .cc-rm-node,.cc-rm-skel-node{ width:38px; height:38px; border-radius:10px; font-size:.76rem; }
}
@media (prefers-reduced-motion: reduce){
  .cc-rm-node{ transition:none; }
  .cc-rm-screen{ animation:none; }
  .cc-rm-skel-node::after{ animation:none; opacity:0; }
}

/* ---------- side panel: persistent Puzzles/Bots/Opponents flow ---------- */
.cb-panel-step{
  display:flex;flex-direction:column;gap:8px;
}
.cb-mode-step-label{
  font-family:var(--mono);font-size:.72rem;color:var(--muted);
  letter-spacing:.04em;text-transform:uppercase;margin:4px 0 0;
}
/* Long left arrow (line + head), not a bare chevron. Built from two boxes so
   it still needs no icon file: ::before is the shaft, ::after the arrowhead. */
.cp-back{
  align-self:flex-start;background:none;border:none;cursor:pointer;
  padding:2px;margin:0 0 4px;width:30px;height:22px;
  display:flex;align-items:center;justify-content:flex-start;
  position:relative;
}
.cp-back::before{                 /* shaft */
  content:'';position:absolute;left:3px;top:50%;
  width:20px;height:2px;background:var(--ink);transform:translateY(-50%);
}
.cp-back::after{                  /* head */
  content:'';position:absolute;left:3px;top:50%;
  width:8px;height:8px;
  border-left:2px solid var(--ink);border-bottom:2px solid var(--ink);
  transform:translateY(-50%) rotate(45deg);
}
/* No hover state: the colour shift read as a twitch on a control that is
   only ever clicked once. */


.cp-time-value{
  font-family:var(--display);font-weight:700;font-size:1.1rem;color:var(--ink);margin:2px 0 8px;
}
.cp-time-slider{
  width:100%;appearance:none;-webkit-appearance:none;height:4px;border-radius:2px;
  background:var(--rule-strong);outline:none;margin:8px 0;
}
.cp-time-slider::-webkit-slider-thumb{
  -webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;
  background:var(--cb-navy);cursor:pointer;border:2px solid var(--paper);
  box-shadow:0 1px 3px rgba(23,50,74,.4);
}
.cp-time-slider::-moz-range-thumb{
  width:18px;height:18px;border-radius:50%;background:var(--cb-navy);cursor:pointer;
  border:2px solid var(--paper);box-shadow:0 1px 3px rgba(23,50,74,.4);
}
.cp-time-ticks-labels{
  display:flex;justify-content:space-between;font-family:var(--mono);font-size:.7rem;color:var(--muted);
}

/* ---------- side panel ---------- */
.cb-panel{
  flex:1;min-width:260px;max-width:360px;
  background:transparent;border:none;
  padding:0;display:flex;flex-direction:column;
}
.cb-panel h3{margin-bottom:12px;text-align:center}

.btn-block{width:100%}

/* ---------- category buttons ---------- */
.cb-btn-puzzles{
  height:56px;color:var(--paper);font-weight:700;font-size:1rem;
  background-color:var(--ink);
  border:none;border-radius:8px;
  display:flex;align-items:center;gap:12px;
  justify-content:flex-start;padding-left:16px;
}
/* Bumped from 30px - the icons carry these buttons now, so they need to
   read at a glance rather than sit small beside the label. */
.cb-btn-icon{width:36px;height:36px;object-fit:contain}

.cb-btn-bots{
  height:56px;color:var(--paper);font-weight:700;font-size:1rem;
  background-color:var(--ink);
  background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNDAiIGhlaWdodD0iMjI0IiB2aWV3Qm94PSIwIDAgMTQwIDIyNCI+CjxyZWN0IHdpZHRoPSIxNDAiIGhlaWdodD0iMjI0IiBmaWxsPSIjMEIxQjI0Ii8+Cjx0ZXh0IHg9IjUiIHk9IjE0IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjkiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC4zNyI+MDwvdGV4dD48dGV4dCB4PSIyNSIgeT0iMTQiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iOSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjM1Ij4xPC90ZXh0Pjx0ZXh0IHg9IjUxIiB5PSIxNCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjIiPjE8L3RleHQ+PHRleHQgeD0iNzIiIHk9IjE0IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjExIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuMjkiPjE8L3RleHQ+PHRleHQgeD0iOTQiIHk9IjE0IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjkiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC41NyI+MDwvdGV4dD48dGV4dCB4PSIxMTQiIHk9IjE0IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjEwIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNDUiPjA8L3RleHQ+PHRleHQgeD0iMyIgeT0iMzAiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iOSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjIiPjE8L3RleHQ+PHRleHQgeD0iMjciIHk9IjMwIiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjkiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC4yNSI+MDwvdGV4dD48dGV4dCB4PSI1MSIgeT0iMzAiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTEiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC40NCI+MDwvdGV4dD48dGV4dCB4PSI3MCIgeT0iMzAiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTEiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC40NSI+MTwvdGV4dD48dGV4dCB4PSI5MiIgeT0iMzAiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTEiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC4yMyI+MTwvdGV4dD48dGV4dCB4PSIxMTMiIHk9IjMwIiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjEwIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNDciPjA8L3RleHQ+PHRleHQgeD0iOCIgeT0iNDYiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC41NSI+MDwvdGV4dD48dGV4dCB4PSIyOSIgeT0iNDYiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iOSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjM1Ij4xPC90ZXh0Pjx0ZXh0IHg9IjUzIiB5PSI0NiIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSI5IiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNTEiPjA8L3RleHQ+PHRleHQgeD0iNjkiIHk9IjQ2IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjEwIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNDMiPjA8L3RleHQ+PHRleHQgeD0iOTYiIHk9IjQ2IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjkiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC4zMiI+MTwvdGV4dD48dGV4dCB4PSIxMTMiIHk9IjQ2IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjEwIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuMjYiPjA8L3RleHQ+PHRleHQgeD0iNCIgeT0iNjIiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTEiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC4zOCI+MTwvdGV4dD48dGV4dCB4PSIyNSIgeT0iNjIiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC4zNCI+MTwvdGV4dD48dGV4dCB4PSI1MSIgeT0iNjIiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC40NSI+MTwvdGV4dD48dGV4dCB4PSI2OSIgeT0iNjIiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC42MiI+MTwvdGV4dD48dGV4dCB4PSI5NiIgeT0iNjIiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTEiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC4yMSI+MTwvdGV4dD48dGV4dCB4PSIxMTUiIHk9IjYyIiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjEwIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuMzEiPjE8L3RleHQ+PHRleHQgeD0iOCIgeT0iNzgiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC4xOSI+MTwvdGV4dD48dGV4dCB4PSIyNyIgeT0iNzgiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC40NyI+MDwvdGV4dD48dGV4dCB4PSI0NyIgeT0iNzgiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iOSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjU0Ij4xPC90ZXh0Pjx0ZXh0IHg9Ijc0IiB5PSI3OCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjM3Ij4xPC90ZXh0Pjx0ZXh0IHg9IjkxIiB5PSI3OCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjM5Ij4wPC90ZXh0Pjx0ZXh0IHg9IjExNSIgeT0iNzgiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTEiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC41NyI+MDwvdGV4dD48dGV4dCB4PSI1IiB5PSI5NCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjY0Ij4wPC90ZXh0Pjx0ZXh0IHg9IjI4IiB5PSI5NCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSI5IiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuMjUiPjE8L3RleHQ+PHRleHQgeD0iNDgiIHk9Ijk0IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjkiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC40OSI+MTwvdGV4dD48dGV4dCB4PSI3MiIgeT0iOTQiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iOSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjMiPjA8L3RleHQ+PHRleHQgeD0iOTIiIHk9Ijk0IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjExIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNDMiPjA8L3RleHQ+PHRleHQgeD0iMTE3IiB5PSI5NCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjYzIj4xPC90ZXh0Pjx0ZXh0IHg9IjkiIHk9IjExMCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjM5Ij4wPC90ZXh0Pjx0ZXh0IHg9IjMxIiB5PSIxMTAiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC4zNyI+MDwvdGV4dD48dGV4dCB4PSI0NyIgeT0iMTEwIiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjkiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC40OCI+MTwvdGV4dD48dGV4dCB4PSI3MCIgeT0iMTEwIiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjEwIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNjQiPjE8L3RleHQ+PHRleHQgeD0iOTIiIHk9IjExMCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSI5IiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuMzQiPjE8L3RleHQ+PHRleHQgeD0iMTEzIiB5PSIxMTAiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTEiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC40NSI+MDwvdGV4dD48dGV4dCB4PSIzIiB5PSIxMjYiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iOSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjQ3Ij4xPC90ZXh0Pjx0ZXh0IHg9IjMxIiB5PSIxMjYiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iOSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjQ3Ij4xPC90ZXh0Pjx0ZXh0IHg9IjUyIiB5PSIxMjYiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTEiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC42MyI+MDwvdGV4dD48dGV4dCB4PSI3MSIgeT0iMTI2IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjEwIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuMjQiPjE8L3RleHQ+PHRleHQgeD0iOTQiIHk9IjEyNiIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSI5IiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNDEiPjE8L3RleHQ+PHRleHQgeD0iMTE0IiB5PSIxMjYiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTEiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC41MyI+MTwvdGV4dD48dGV4dCB4PSI1IiB5PSIxNDIiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iOSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjU3Ij4xPC90ZXh0Pjx0ZXh0IHg9IjI5IiB5PSIxNDIiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTEiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC4yOCI+MDwvdGV4dD48dGV4dCB4PSI0OSIgeT0iMTQyIiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjkiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC41Ij4wPC90ZXh0Pjx0ZXh0IHg9Ijc1IiB5PSIxNDIiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iOSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjY0Ij4wPC90ZXh0Pjx0ZXh0IHg9Ijk2IiB5PSIxNDIiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iOSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjQyIj4wPC90ZXh0Pjx0ZXh0IHg9IjExNSIgeT0iMTQyIiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjExIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNDMiPjE8L3RleHQ+PHRleHQgeD0iNSIgeT0iMTU4IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjkiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC40NyI+MTwvdGV4dD48dGV4dCB4PSIzMSIgeT0iMTU4IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjExIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNTYiPjE8L3RleHQ+PHRleHQgeD0iNTMiIHk9IjE1OCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjI3Ij4xPC90ZXh0Pjx0ZXh0IHg9IjcxIiB5PSIxNTgiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC42NSI+MDwvdGV4dD48dGV4dCB4PSI5NCIgeT0iMTU4IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjExIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuMjciPjA8L3RleHQ+PHRleHQgeD0iMTE1IiB5PSIxNTgiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTEiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC41NiI+MTwvdGV4dD48dGV4dCB4PSI1IiB5PSIxNzQiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iOSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjIyIj4xPC90ZXh0Pjx0ZXh0IHg9IjI2IiB5PSIxNzQiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iOSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjI3Ij4xPC90ZXh0Pjx0ZXh0IHg9IjUwIiB5PSIxNzQiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTEiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC40MSI+MDwvdGV4dD48dGV4dCB4PSI3MSIgeT0iMTc0IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjkiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC41NyI+MTwvdGV4dD48dGV4dCB4PSI5NCIgeT0iMTc0IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjkiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC40Ij4xPC90ZXh0Pjx0ZXh0IHg9IjExNiIgeT0iMTc0IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjExIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuMjIiPjE8L3RleHQ+PHRleHQgeD0iNiIgeT0iMTkwIiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjkiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC4zNyI+MTwvdGV4dD48dGV4dCB4PSIzMCIgeT0iMTkwIiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjkiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC4yNiI+MDwvdGV4dD48dGV4dCB4PSI0NyIgeT0iMTkwIiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjEwIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNDYiPjA8L3RleHQ+PHRleHQgeD0iNzUiIHk9IjE5MCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjQ3Ij4wPC90ZXh0Pjx0ZXh0IHg9Ijk0IiB5PSIxOTAiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTEiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC4yNSI+MTwvdGV4dD48dGV4dCB4PSIxMTQiIHk9IjE5MCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjE5Ij4wPC90ZXh0Pjx0ZXh0IHg9IjgiIHk9IjIwNiIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSI5IiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNDMiPjE8L3RleHQ+PHRleHQgeD0iMjgiIHk9IjIwNiIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSI5IiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNTciPjE8L3RleHQ+PHRleHQgeD0iNDciIHk9IjIwNiIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjI4Ij4wPC90ZXh0Pjx0ZXh0IHg9IjcwIiB5PSIyMDYiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC4zIj4xPC90ZXh0Pjx0ZXh0IHg9Ijk3IiB5PSIyMDYiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTEiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC4yMSI+MDwvdGV4dD48dGV4dCB4PSIxMTUiIHk9IjIwNiIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjQ5Ij4xPC90ZXh0Pjx0ZXh0IHg9IjYiIHk9IjIyMiIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjQzIj4wPC90ZXh0Pjx0ZXh0IHg9IjI5IiB5PSIyMjIiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iOSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjU5Ij4wPC90ZXh0Pjx0ZXh0IHg9IjUxIiB5PSIyMjIiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iOSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjU0Ij4wPC90ZXh0Pjx0ZXh0IHg9IjcwIiB5PSIyMjIiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTEiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC40Ij4wPC90ZXh0Pjx0ZXh0IHg9IjkxIiB5PSIyMjIiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTEiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC4zMyI+MDwvdGV4dD48dGV4dCB4PSIxMTciIHk9IjIyMiIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSI5IiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNTUiPjE8L3RleHQ+Cjwvc3ZnPg==");
  background-size:140px 224px;
  background-repeat:repeat;
  border:none;border-radius:8px;
  justify-content:flex-start;padding-left:20px;
  animation:cbMatrixRain 9s linear infinite;
  text-shadow:0 1px 3px rgba(0,0,0,.6);
}
@keyframes cbMatrixRain{
  from{background-position:0 0}
  to{background-position:0 224px}
}

.cb-1v1-label{
  text-align:center;font-family:var(--display);font-weight:800;font-size:1.15rem;
  color:var(--ink);margin:8px 0 8px;
}
/* Headings ("Play Chess Code", "or 1v1") are gone, so the buttons carry the
   panel on their own - tighten the stack rather than leaving their gaps.
   Two separate buttons with a gap, not one outlined block split by a rule:
   fused, the pair read as a single giant button that happened to have two
   labels, and nothing about the row said the halves were separate choices. */
.cb-1v1-row{display:flex;gap:8px;height:50px;background:transparent;border:none;margin-top:8px}
#cpStepMain{display:flex;flex-direction:column;gap:8px}
.cb-1v1-half{
  flex:1;display:flex;align-items:center;justify-content:center;gap:4px;
  border:none;cursor:pointer;
}
/* Both halves are --ink, same as Puzzles and Bots - see the note in
   chess-game.css about the rim that keeps the black piece legible on it. */
.cb-1v1-white{background:var(--ink)}
.cb-1v1-black{background:var(--ink)}
/* 30: the Local button carries TWO of these side by side, so they add up to
   more presence than .cb-btn-icon's single 36 even at half the size. */
.cb-opp-icon{width:30px;height:30px;object-fit:contain}

/* ---------- CSS skill level: text label, centered, same font as everything else ---------- */
.cb-skill-header-label{
  text-align:center;font-family:var(--display);font-weight:700;font-size:.9rem;
  color:var(--ink);margin:2px 0 8px;
}
.cb-skill-set{display:flex;flex-direction:column;gap:8px;align-items:stretch}

/* ---------- Puzzles skill buttons: N puzzle-piece icons = difficulty ---------- */
.cb-skill-puzzle{
  background:var(--cb-navy);color:var(--paper);border:1px solid var(--cb-navy);
  display:flex;align-items:center;justify-content:center;gap:8px;
  transition:none;
}
.cb-skill-puzzle:hover{opacity:1;background:var(--cb-navy);border-color:var(--cb-navy)}
.cb-skill-puzzle-icons{display:inline-flex;gap:3px}
.cb-skill-puzzle-icon{width:16px;height:16px;object-fit:contain}

/* ---------- Bots skill buttons: matrix texture, different digits per level ---------- */
.cb-skill-bots{
  height:48px;color:var(--paper);font-weight:700;border:none;border-radius:6px;
  background-color:var(--ink);
  animation:cbMatrixRain 9s linear infinite;text-shadow:0 1px 3px rgba(0,0,0,.6);
}
.cb-skill-bots-beginner{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNDAiIGhlaWdodD0iMjI0IiB2aWV3Qm94PSIwIDAgMTQwIDIyNCI+CjxyZWN0IHdpZHRoPSIxNDAiIGhlaWdodD0iMjI0IiBmaWxsPSIjMEIxQjI0Ii8+Cjx0ZXh0IHg9IjYiIHk9IjE0IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjExIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuMzkiPjA8L3RleHQ+PHRleHQgeD0iMjYiIHk9IjE0IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjEwIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNTYiPjA8L3RleHQ+PHRleHQgeD0iNTIiIHk9IjE0IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjEwIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuMjIiPjA8L3RleHQ+PHRleHQgeD0iNzAiIHk9IjE0IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjExIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNDMiPjA8L3RleHQ+PHRleHQgeD0iOTYiIHk9IjE0IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjEwIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNDYiPjA8L3RleHQ+PHRleHQgeD0iMTE2IiB5PSIxNCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjQ3Ij4wPC90ZXh0Pjx0ZXh0IHg9IjMiIHk9IjMwIiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjkiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC4yIj4wPC90ZXh0Pjx0ZXh0IHg9IjI5IiB5PSIzMCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjU1Ij4wPC90ZXh0Pjx0ZXh0IHg9IjUwIiB5PSIzMCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjQyIj4wPC90ZXh0Pjx0ZXh0IHg9IjcxIiB5PSIzMCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSI5IiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuMTgiPjA8L3RleHQ+PHRleHQgeD0iOTQiIHk9IjMwIiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjExIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuMzciPjA8L3RleHQ+PHRleHQgeD0iMTE5IiB5PSIzMCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjUxIj4wPC90ZXh0Pjx0ZXh0IHg9IjkiIHk9IjQ2IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjkiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC40MiI+MDwvdGV4dD48dGV4dCB4PSIyNSIgeT0iNDYiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC4zNyI+MDwvdGV4dD48dGV4dCB4PSI1MCIgeT0iNDYiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTEiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC42MyI+MDwvdGV4dD48dGV4dCB4PSI2OSIgeT0iNDYiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iOSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjI4Ij4wPC90ZXh0Pjx0ZXh0IHg9Ijk0IiB5PSI0NiIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjY0Ij4wPC90ZXh0Pjx0ZXh0IHg9IjExNiIgeT0iNDYiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iOSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjQ1Ij4wPC90ZXh0Pjx0ZXh0IHg9IjkiIHk9IjYyIiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjEwIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuMzQiPjA8L3RleHQ+PHRleHQgeD0iMjciIHk9IjYyIiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjkiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC42MyI+MDwvdGV4dD48dGV4dCB4PSI0OCIgeT0iNjIiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iOSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjUxIj4wPC90ZXh0Pjx0ZXh0IHg9IjY5IiB5PSI2MiIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSI5IiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNTUiPjA8L3RleHQ+PHRleHQgeD0iOTYiIHk9IjYyIiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjkiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC4zOSI+MDwvdGV4dD48dGV4dCB4PSIxMTgiIHk9IjYyIiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjEwIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuMzgiPjA8L3RleHQ+PHRleHQgeD0iMyIgeT0iNzgiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iOSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjM4Ij4wPC90ZXh0Pjx0ZXh0IHg9IjI1IiB5PSI3OCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjU5Ij4wPC90ZXh0Pjx0ZXh0IHg9IjQ5IiB5PSI3OCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjI4Ij4wPC90ZXh0Pjx0ZXh0IHg9Ijc1IiB5PSI3OCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSI5IiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuMiI+MDwvdGV4dD48dGV4dCB4PSI5MiIgeT0iNzgiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTEiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC4zIj4wPC90ZXh0Pjx0ZXh0IHg9IjExNSIgeT0iNzgiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iOSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjM2Ij4wPC90ZXh0Pjx0ZXh0IHg9IjMiIHk9Ijk0IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjkiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC40NSI+MDwvdGV4dD48dGV4dCB4PSIyNSIgeT0iOTQiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC4zNSI+MDwvdGV4dD48dGV4dCB4PSI0OCIgeT0iOTQiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iOSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjU3Ij4wPC90ZXh0Pjx0ZXh0IHg9Ijc1IiB5PSI5NCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSI5IiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuMjciPjA8L3RleHQ+PHRleHQgeD0iOTMiIHk9Ijk0IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjkiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC41NiI+MDwvdGV4dD48dGV4dCB4PSIxMTgiIHk9Ijk0IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjExIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuMjUiPjA8L3RleHQ+PHRleHQgeD0iNyIgeT0iMTEwIiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjEwIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNSI+MDwvdGV4dD48dGV4dCB4PSIyOCIgeT0iMTEwIiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjkiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC4zOCI+MDwvdGV4dD48dGV4dCB4PSI0NyIgeT0iMTEwIiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjEwIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNDIiPjA8L3RleHQ+PHRleHQgeD0iNzAiIHk9IjExMCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjMiPjA8L3RleHQ+PHRleHQgeD0iOTQiIHk9IjExMCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjQyIj4wPC90ZXh0Pjx0ZXh0IHg9IjExMyIgeT0iMTEwIiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjExIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuMjkiPjA8L3RleHQ+PHRleHQgeD0iOCIgeT0iMTI2IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjkiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC4zMSI+MDwvdGV4dD48dGV4dCB4PSIzMCIgeT0iMTI2IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjEwIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuMjEiPjA8L3RleHQ+PHRleHQgeD0iNTAiIHk9IjEyNiIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSI5IiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuMjEiPjA8L3RleHQ+PHRleHQgeD0iNzEiIHk9IjEyNiIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSI5IiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNDMiPjA8L3RleHQ+PHRleHQgeD0iOTEiIHk9IjEyNiIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjI1Ij4wPC90ZXh0Pjx0ZXh0IHg9IjExNSIgeT0iMTI2IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjkiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC40NiI+MDwvdGV4dD48dGV4dCB4PSI2IiB5PSIxNDIiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iOSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjUxIj4wPC90ZXh0Pjx0ZXh0IHg9IjI1IiB5PSIxNDIiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTEiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC40MSI+MDwvdGV4dD48dGV4dCB4PSI0OSIgeT0iMTQyIiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjkiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC4yNCI+MDwvdGV4dD48dGV4dCB4PSI2OSIgeT0iMTQyIiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjExIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNDQiPjA8L3RleHQ+PHRleHQgeD0iOTEiIHk9IjE0MiIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjU1Ij4wPC90ZXh0Pjx0ZXh0IHg9IjExNSIgeT0iMTQyIiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjkiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC41Ij4wPC90ZXh0Pjx0ZXh0IHg9IjkiIHk9IjE1OCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSI5IiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNjIiPjA8L3RleHQ+PHRleHQgeD0iMzEiIHk9IjE1OCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjQ1Ij4wPC90ZXh0Pjx0ZXh0IHg9IjUyIiB5PSIxNTgiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iOSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjM2Ij4wPC90ZXh0Pjx0ZXh0IHg9IjczIiB5PSIxNTgiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTEiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC4yMiI+MDwvdGV4dD48dGV4dCB4PSI5MSIgeT0iMTU4IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjExIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNTkiPjA8L3RleHQ+PHRleHQgeD0iMTE1IiB5PSIxNTgiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTEiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC42MiI+MDwvdGV4dD48dGV4dCB4PSI3IiB5PSIxNzQiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTEiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC4zOSI+MDwvdGV4dD48dGV4dCB4PSIyNSIgeT0iMTc0IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjkiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC4zMyI+MDwvdGV4dD48dGV4dCB4PSI1MCIgeT0iMTc0IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjExIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuMjkiPjA8L3RleHQ+PHRleHQgeD0iNjkiIHk9IjE3NCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjU1Ij4wPC90ZXh0Pjx0ZXh0IHg9Ijk0IiB5PSIxNzQiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC42Ij4wPC90ZXh0Pjx0ZXh0IHg9IjExNSIgeT0iMTc0IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjkiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC41Ij4wPC90ZXh0Pjx0ZXh0IHg9IjciIHk9IjE5MCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjUzIj4wPC90ZXh0Pjx0ZXh0IHg9IjMwIiB5PSIxOTAiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iOSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjQxIj4wPC90ZXh0Pjx0ZXh0IHg9IjQ5IiB5PSIxOTAiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iOSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjQ5Ij4wPC90ZXh0Pjx0ZXh0IHg9Ijc0IiB5PSIxOTAiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iOSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjU2Ij4wPC90ZXh0Pjx0ZXh0IHg9IjkyIiB5PSIxOTAiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC4yOCI+MDwvdGV4dD48dGV4dCB4PSIxMTQiIHk9IjE5MCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjI0Ij4wPC90ZXh0Pjx0ZXh0IHg9IjkiIHk9IjIwNiIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjUxIj4wPC90ZXh0Pjx0ZXh0IHg9IjMxIiB5PSIyMDYiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC4yMyI+MDwvdGV4dD48dGV4dCB4PSI0OSIgeT0iMjA2IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjEwIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNTciPjA8L3RleHQ+PHRleHQgeD0iNzQiIHk9IjIwNiIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjUiPjA8L3RleHQ+PHRleHQgeD0iOTciIHk9IjIwNiIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSI5IiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuMzMiPjA8L3RleHQ+PHRleHQgeD0iMTE1IiB5PSIyMDYiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC41Ij4wPC90ZXh0Pjx0ZXh0IHg9IjciIHk9IjIyMiIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjMzIj4wPC90ZXh0Pjx0ZXh0IHg9IjI1IiB5PSIyMjIiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iOSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjM3Ij4wPC90ZXh0Pjx0ZXh0IHg9IjQ3IiB5PSIyMjIiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iOSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjI5Ij4wPC90ZXh0Pjx0ZXh0IHg9Ijc1IiB5PSIyMjIiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iOSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjY0Ij4wPC90ZXh0Pjx0ZXh0IHg9Ijk0IiB5PSIyMjIiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTEiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC40OCI+MDwvdGV4dD48dGV4dCB4PSIxMTgiIHk9IjIyMiIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjYzIj4wPC90ZXh0Pgo8L3N2Zz4=")}
.cb-skill-bots-intermediate{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNDAiIGhlaWdodD0iMjI0IiB2aWV3Qm94PSIwIDAgMTQwIDIyNCI+CjxyZWN0IHdpZHRoPSIxNDAiIGhlaWdodD0iMjI0IiBmaWxsPSIjMEIxQjI0Ii8+Cjx0ZXh0IHg9IjYiIHk9IjE0IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjExIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNDkiPjE8L3RleHQ+PHRleHQgeD0iMjciIHk9IjE0IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjEwIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuMzYiPjE8L3RleHQ+PHRleHQgeD0iNTAiIHk9IjE0IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjEwIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNDgiPjE8L3RleHQ+PHRleHQgeD0iNzQiIHk9IjE0IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjExIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNDQiPjA8L3RleHQ+PHRleHQgeD0iOTUiIHk9IjE0IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjEwIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNjQiPjE8L3RleHQ+PHRleHQgeD0iMTE0IiB5PSIxNCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSI5IiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNjEiPjA8L3RleHQ+PHRleHQgeD0iNyIgeT0iMzAiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTEiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC4yMiI+MDwvdGV4dD48dGV4dCB4PSIzMSIgeT0iMzAiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iOSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjUiPjA8L3RleHQ+PHRleHQgeD0iNDciIHk9IjMwIiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjExIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNTciPjA8L3RleHQ+PHRleHQgeD0iNzMiIHk9IjMwIiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjEwIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuMjIiPjA8L3RleHQ+PHRleHQgeD0iOTQiIHk9IjMwIiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjkiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC40OSI+MTwvdGV4dD48dGV4dCB4PSIxMTciIHk9IjMwIiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjExIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNTkiPjA8L3RleHQ+PHRleHQgeD0iNCIgeT0iNDYiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTEiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC40NCI+MDwvdGV4dD48dGV4dCB4PSIzMSIgeT0iNDYiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC4zNyI+MTwvdGV4dD48dGV4dCB4PSI1MiIgeT0iNDYiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC40Ij4wPC90ZXh0Pjx0ZXh0IHg9IjczIiB5PSI0NiIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSI5IiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNDgiPjA8L3RleHQ+PHRleHQgeD0iOTIiIHk9IjQ2IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjEwIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuMzUiPjE8L3RleHQ+PHRleHQgeD0iMTE5IiB5PSI0NiIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSI5IiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNSI+MTwvdGV4dD48dGV4dCB4PSI1IiB5PSI2MiIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjM0Ij4wPC90ZXh0Pjx0ZXh0IHg9IjI5IiB5PSI2MiIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjE5Ij4xPC90ZXh0Pjx0ZXh0IHg9IjQ3IiB5PSI2MiIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjI4Ij4wPC90ZXh0Pjx0ZXh0IHg9IjY5IiB5PSI2MiIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjI4Ij4xPC90ZXh0Pjx0ZXh0IHg9IjkxIiB5PSI2MiIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjI2Ij4wPC90ZXh0Pjx0ZXh0IHg9IjExNSIgeT0iNjIiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC4zOCI+MDwvdGV4dD48dGV4dCB4PSI1IiB5PSI3OCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjQyIj4wPC90ZXh0Pjx0ZXh0IHg9IjI2IiB5PSI3OCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjMxIj4wPC90ZXh0Pjx0ZXh0IHg9IjUyIiB5PSI3OCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSI5IiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuMjkiPjA8L3RleHQ+PHRleHQgeD0iNzIiIHk9Ijc4IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjExIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuMjciPjA8L3RleHQ+PHRleHQgeD0iOTIiIHk9Ijc4IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjEwIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNjMiPjA8L3RleHQ+PHRleHQgeD0iMTE0IiB5PSI3OCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjU1Ij4wPC90ZXh0Pjx0ZXh0IHg9IjMiIHk9Ijk0IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjEwIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNDciPjA8L3RleHQ+PHRleHQgeD0iMjkiIHk9Ijk0IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjEwIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuMTkiPjE8L3RleHQ+PHRleHQgeD0iNTMiIHk9Ijk0IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjkiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC40OCI+MTwvdGV4dD48dGV4dCB4PSI3NSIgeT0iOTQiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC40MSI+MDwvdGV4dD48dGV4dCB4PSI5MyIgeT0iOTQiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iOSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjYiPjA8L3RleHQ+PHRleHQgeD0iMTE2IiB5PSI5NCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSI5IiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNDciPjE8L3RleHQ+PHRleHQgeD0iNSIgeT0iMTEwIiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjExIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNjIiPjA8L3RleHQ+PHRleHQgeD0iMzAiIHk9IjExMCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSI5IiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNTEiPjA8L3RleHQ+PHRleHQgeD0iNTIiIHk9IjExMCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSI5IiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNDIiPjE8L3RleHQ+PHRleHQgeD0iNzQiIHk9IjExMCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSI5IiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNTEiPjA8L3RleHQ+PHRleHQgeD0iOTUiIHk9IjExMCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSI5IiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuMzgiPjE8L3RleHQ+PHRleHQgeD0iMTE0IiB5PSIxMTAiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iOSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjQiPjE8L3RleHQ+PHRleHQgeD0iNyIgeT0iMTI2IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjEwIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNTQiPjE8L3RleHQ+PHRleHQgeD0iMjgiIHk9IjEyNiIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSI5IiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNiI+MTwvdGV4dD48dGV4dCB4PSI1MSIgeT0iMTI2IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjExIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNjQiPjA8L3RleHQ+PHRleHQgeD0iNzQiIHk9IjEyNiIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSI5IiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNDQiPjE8L3RleHQ+PHRleHQgeD0iOTYiIHk9IjEyNiIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSI5IiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNiI+MTwvdGV4dD48dGV4dCB4PSIxMTMiIHk9IjEyNiIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjQzIj4xPC90ZXh0Pjx0ZXh0IHg9IjkiIHk9IjE0MiIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSI5IiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNTEiPjE8L3RleHQ+PHRleHQgeD0iMjciIHk9IjE0MiIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjYyIj4xPC90ZXh0Pjx0ZXh0IHg9IjUyIiB5PSIxNDIiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iOSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjQ3Ij4wPC90ZXh0Pjx0ZXh0IHg9IjcwIiB5PSIxNDIiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iOSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjQ1Ij4xPC90ZXh0Pjx0ZXh0IHg9Ijk0IiB5PSIxNDIiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTEiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC4zMyI+MDwvdGV4dD48dGV4dCB4PSIxMTUiIHk9IjE0MiIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjUiPjE8L3RleHQ+PHRleHQgeD0iNSIgeT0iMTU4IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjExIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNTEiPjE8L3RleHQ+PHRleHQgeD0iMzAiIHk9IjE1OCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSI5IiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuMzUiPjE8L3RleHQ+PHRleHQgeD0iNDgiIHk9IjE1OCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjQ3Ij4wPC90ZXh0Pjx0ZXh0IHg9IjcwIiB5PSIxNTgiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC40OSI+MDwvdGV4dD48dGV4dCB4PSI5NCIgeT0iMTU4IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjkiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC42Ij4wPC90ZXh0Pjx0ZXh0IHg9IjExNCIgeT0iMTU4IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjEwIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNjMiPjA8L3RleHQ+PHRleHQgeD0iNSIgeT0iMTc0IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjEwIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNSI+MDwvdGV4dD48dGV4dCB4PSIyNiIgeT0iMTc0IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjExIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNDIiPjE8L3RleHQ+PHRleHQgeD0iNDkiIHk9IjE3NCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjQyIj4xPC90ZXh0Pjx0ZXh0IHg9IjczIiB5PSIxNzQiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iOSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjQiPjA8L3RleHQ+PHRleHQgeD0iOTciIHk9IjE3NCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjM3Ij4wPC90ZXh0Pjx0ZXh0IHg9IjExOSIgeT0iMTc0IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjEwIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNDMiPjE8L3RleHQ+PHRleHQgeD0iOCIgeT0iMTkwIiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjExIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNjQiPjA8L3RleHQ+PHRleHQgeD0iMjkiIHk9IjE5MCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjM0Ij4xPC90ZXh0Pjx0ZXh0IHg9IjQ3IiB5PSIxOTAiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC41NCI+MDwvdGV4dD48dGV4dCB4PSI3NCIgeT0iMTkwIiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjEwIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuMjYiPjE8L3RleHQ+PHRleHQgeD0iOTIiIHk9IjE5MCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSI5IiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuMyI+MTwvdGV4dD48dGV4dCB4PSIxMTYiIHk9IjE5MCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjMxIj4wPC90ZXh0Pjx0ZXh0IHg9IjciIHk9IjIwNiIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjM2Ij4xPC90ZXh0Pjx0ZXh0IHg9IjI3IiB5PSIyMDYiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTEiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC4yNCI+MTwvdGV4dD48dGV4dCB4PSI0NyIgeT0iMjA2IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjExIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuMzciPjE8L3RleHQ+PHRleHQgeD0iNzQiIHk9IjIwNiIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjM0Ij4xPC90ZXh0Pjx0ZXh0IHg9Ijk0IiB5PSIyMDYiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iOSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjYyIj4xPC90ZXh0Pjx0ZXh0IHg9IjExNCIgeT0iMjA2IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjkiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC41NyI+MDwvdGV4dD48dGV4dCB4PSI1IiB5PSIyMjIiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTEiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC41OSI+MDwvdGV4dD48dGV4dCB4PSIzMSIgeT0iMjIyIiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjEwIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNjQiPjA8L3RleHQ+PHRleHQgeD0iNTMiIHk9IjIyMiIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjU4Ij4xPC90ZXh0Pjx0ZXh0IHg9Ijc1IiB5PSIyMjIiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iOSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjUzIj4wPC90ZXh0Pjx0ZXh0IHg9Ijk1IiB5PSIyMjIiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iOSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjIiPjE8L3RleHQ+PHRleHQgeD0iMTE0IiB5PSIyMjIiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC4yNyI+MTwvdGV4dD4KPC9zdmc+")}
.cb-skill-bots-advanced{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNDAiIGhlaWdodD0iMjI0IiB2aWV3Qm94PSIwIDAgMTQwIDIyNCI+CjxyZWN0IHdpZHRoPSIxNDAiIGhlaWdodD0iMjI0IiBmaWxsPSIjMEIxQjI0Ii8+Cjx0ZXh0IHg9IjUiIHk9IjE0IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjExIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNSI+MTwvdGV4dD48dGV4dCB4PSIzMSIgeT0iMTQiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTEiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC40OSI+MTwvdGV4dD48dGV4dCB4PSI0OCIgeT0iMTQiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iOSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjQ4Ij4xPC90ZXh0Pjx0ZXh0IHg9IjcwIiB5PSIxNCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSI5IiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNDMiPjE8L3RleHQ+PHRleHQgeD0iOTYiIHk9IjE0IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjkiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC4xOSI+MTwvdGV4dD48dGV4dCB4PSIxMTkiIHk9IjE0IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjkiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC42NSI+MTwvdGV4dD48dGV4dCB4PSIzIiB5PSIzMCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjU3Ij4xPC90ZXh0Pjx0ZXh0IHg9IjI4IiB5PSIzMCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjU1Ij4xPC90ZXh0Pjx0ZXh0IHg9IjQ5IiB5PSIzMCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjQxIj4xPC90ZXh0Pjx0ZXh0IHg9IjczIiB5PSIzMCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjUiPjE8L3RleHQ+PHRleHQgeD0iOTYiIHk9IjMwIiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjEwIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNDkiPjE8L3RleHQ+PHRleHQgeD0iMTE5IiB5PSIzMCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjUiPjE8L3RleHQ+PHRleHQgeD0iNyIgeT0iNDYiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTEiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC4zOSI+MTwvdGV4dD48dGV4dCB4PSIyOCIgeT0iNDYiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iOSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjMyIj4xPC90ZXh0Pjx0ZXh0IHg9IjUxIiB5PSI0NiIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjMiPjE8L3RleHQ+PHRleHQgeD0iNzEiIHk9IjQ2IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjkiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC4zNyI+MTwvdGV4dD48dGV4dCB4PSI5NSIgeT0iNDYiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTEiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC40NCI+MTwvdGV4dD48dGV4dCB4PSIxMTQiIHk9IjQ2IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjkiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC41MSI+MTwvdGV4dD48dGV4dCB4PSIzIiB5PSI2MiIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjQ5Ij4xPC90ZXh0Pjx0ZXh0IHg9IjI4IiB5PSI2MiIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSI5IiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNTIiPjE8L3RleHQ+PHRleHQgeD0iNDgiIHk9IjYyIiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjExIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNDEiPjE8L3RleHQ+PHRleHQgeD0iNzUiIHk9IjYyIiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjkiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC40OCI+MTwvdGV4dD48dGV4dCB4PSI5NiIgeT0iNjIiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC41MyI+MTwvdGV4dD48dGV4dCB4PSIxMTkiIHk9IjYyIiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjExIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuMjgiPjE8L3RleHQ+PHRleHQgeD0iNSIgeT0iNzgiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTEiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC42Ij4xPC90ZXh0Pjx0ZXh0IHg9IjI5IiB5PSI3OCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSI5IiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNTIiPjE8L3RleHQ+PHRleHQgeD0iNTMiIHk9Ijc4IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjExIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNDUiPjE8L3RleHQ+PHRleHQgeD0iNjkiIHk9Ijc4IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjExIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNDUiPjE8L3RleHQ+PHRleHQgeD0iOTMiIHk9Ijc4IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjkiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC4zMiI+MTwvdGV4dD48dGV4dCB4PSIxMTkiIHk9Ijc4IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjkiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC42Ij4xPC90ZXh0Pjx0ZXh0IHg9IjMiIHk9Ijk0IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjExIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNDgiPjE8L3RleHQ+PHRleHQgeD0iMzEiIHk9Ijk0IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjEwIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNjQiPjE8L3RleHQ+PHRleHQgeD0iNTIiIHk9Ijk0IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjkiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC40MyI+MTwvdGV4dD48dGV4dCB4PSI3MSIgeT0iOTQiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC4zNyI+MTwvdGV4dD48dGV4dCB4PSI5NSIgeT0iOTQiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTEiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC42MiI+MTwvdGV4dD48dGV4dCB4PSIxMTUiIHk9Ijk0IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjEwIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuMTgiPjE8L3RleHQ+PHRleHQgeD0iNCIgeT0iMTEwIiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjExIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNDQiPjE8L3RleHQ+PHRleHQgeD0iMjkiIHk9IjExMCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSI5IiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuMjgiPjE8L3RleHQ+PHRleHQgeD0iNDkiIHk9IjExMCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjM2Ij4xPC90ZXh0Pjx0ZXh0IHg9IjcwIiB5PSIxMTAiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTEiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC4zIj4xPC90ZXh0Pjx0ZXh0IHg9Ijk3IiB5PSIxMTAiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTEiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC4zIj4xPC90ZXh0Pjx0ZXh0IHg9IjExNCIgeT0iMTEwIiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjExIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNTQiPjE8L3RleHQ+PHRleHQgeD0iNSIgeT0iMTI2IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjEwIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuMjgiPjE8L3RleHQ+PHRleHQgeD0iMjgiIHk9IjEyNiIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjMzIj4xPC90ZXh0Pjx0ZXh0IHg9IjQ3IiB5PSIxMjYiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTEiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC41NCI+MTwvdGV4dD48dGV4dCB4PSI2OSIgeT0iMTI2IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjEwIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuMjciPjE8L3RleHQ+PHRleHQgeD0iOTUiIHk9IjEyNiIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjM0Ij4xPC90ZXh0Pjx0ZXh0IHg9IjExNyIgeT0iMTI2IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjkiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC42MyI+MTwvdGV4dD48dGV4dCB4PSI5IiB5PSIxNDIiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iOSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjIzIj4xPC90ZXh0Pjx0ZXh0IHg9IjI2IiB5PSIxNDIiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC4zMiI+MTwvdGV4dD48dGV4dCB4PSI0OSIgeT0iMTQyIiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjkiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC4zNCI+MTwvdGV4dD48dGV4dCB4PSI3MSIgeT0iMTQyIiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjExIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuMzkiPjE8L3RleHQ+PHRleHQgeD0iOTQiIHk9IjE0MiIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjM0Ij4xPC90ZXh0Pjx0ZXh0IHg9IjExNCIgeT0iMTQyIiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjExIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuMzMiPjE8L3RleHQ+PHRleHQgeD0iOCIgeT0iMTU4IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjkiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC42Ij4xPC90ZXh0Pjx0ZXh0IHg9IjMxIiB5PSIxNTgiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC4yMiI+MTwvdGV4dD48dGV4dCB4PSI0NyIgeT0iMTU4IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjkiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC4zIj4xPC90ZXh0Pjx0ZXh0IHg9IjY5IiB5PSIxNTgiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iOSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjQ5Ij4xPC90ZXh0Pjx0ZXh0IHg9Ijk1IiB5PSIxNTgiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC4yNyI+MTwvdGV4dD48dGV4dCB4PSIxMTciIHk9IjE1OCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSI5IiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNTciPjE8L3RleHQ+PHRleHQgeD0iMyIgeT0iMTc0IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjEwIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNjIiPjE8L3RleHQ+PHRleHQgeD0iMjkiIHk9IjE3NCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjMyIj4xPC90ZXh0Pjx0ZXh0IHg9IjQ5IiB5PSIxNzQiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iOSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjIyIj4xPC90ZXh0Pjx0ZXh0IHg9IjY5IiB5PSIxNzQiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iOSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjUyIj4xPC90ZXh0Pjx0ZXh0IHg9Ijk1IiB5PSIxNzQiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC41OSI+MTwvdGV4dD48dGV4dCB4PSIxMTkiIHk9IjE3NCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjI2Ij4xPC90ZXh0Pjx0ZXh0IHg9IjgiIHk9IjE5MCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSI5IiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuNjEiPjE8L3RleHQ+PHRleHQgeD0iMjUiIHk9IjE5MCIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjMyIj4xPC90ZXh0Pjx0ZXh0IHg9IjUwIiB5PSIxOTAiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iOSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjMxIj4xPC90ZXh0Pjx0ZXh0IHg9IjcyIiB5PSIxOTAiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iOSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjE4Ij4xPC90ZXh0Pjx0ZXh0IHg9Ijk1IiB5PSIxOTAiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iOSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjMxIj4xPC90ZXh0Pjx0ZXh0IHg9IjExNCIgeT0iMTkwIiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjEwIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuMzgiPjE8L3RleHQ+PHRleHQgeD0iNiIgeT0iMjA2IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjExIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuMjUiPjE8L3RleHQ+PHRleHQgeD0iMjkiIHk9IjIwNiIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjI3Ij4xPC90ZXh0Pjx0ZXh0IHg9IjUyIiB5PSIyMDYiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iOSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjU3Ij4xPC90ZXh0Pjx0ZXh0IHg9IjczIiB5PSIyMDYiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTEiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC40MSI+MTwvdGV4dD48dGV4dCB4PSI5MiIgeT0iMjA2IiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjExIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuMjMiPjE8L3RleHQ+PHRleHQgeD0iMTE0IiB5PSIyMDYiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC4yMiI+MTwvdGV4dD48dGV4dCB4PSI3IiB5PSIyMjIiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTEiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC4yOCI+MTwvdGV4dD48dGV4dCB4PSIzMCIgeT0iMjIyIiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjExIiBmaWxsPSIjOEZEM0ZGIiBmaWxsLW9wYWNpdHk9IjAuMTkiPjE8L3RleHQ+PHRleHQgeD0iNDciIHk9IjIyMiIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjMyIj4xPC90ZXh0Pjx0ZXh0IHg9IjcwIiB5PSIyMjIiIGZvbnQtZmFtaWx5PSJtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC41MiI+MTwvdGV4dD48dGV4dCB4PSI5NyIgeT0iMjIyIiBmb250LWZhbWlseT0ibW9ub3NwYWNlIiBmb250LXNpemU9IjkiIGZpbGw9IiM4RkQzRkYiIGZpbGwtb3BhY2l0eT0iMC4yOSI+MTwvdGV4dD48dGV4dCB4PSIxMTciIHk9IjIyMiIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMSIgZmlsbD0iIzhGRDNGRiIgZmlsbC1vcGFjaXR5PSIwLjI5Ij4xPC90ZXh0Pgo8L3N2Zz4=")}

/* ---------- Opponents (1v1) skill buttons: pawn / knight / queen ---------- */
.cb-skill-opp{
  background:var(--cb-navy);color:var(--paper);border-color:var(--cb-navy);
  display:flex;align-items:center;justify-content:center;gap:8px;
  transition:none;
}
.cb-skill-opp:hover{opacity:1;background:var(--cb-navy);border-color:var(--cb-navy)}
.cb-skill-opp-icon{width:22px;height:22px;object-fit:contain}

/* 1040, not 900. .cb-wrap is flex-wrap:wrap, so the panel drops below the
   board as soon as board(640) + gap(36) + panel(360) stops fitting - around
   1040px. Between 900 and 1040 the panel therefore wrapped UNDER the board
   while this block (which puts it back on top via order:-1) had not kicked
   in yet. Matching the breakpoint to the real wrap point closes that gap. */
@media (max-width:1040px){
  .cb-wrap{flex-direction:column;align-items:center}
  .cb-board-col{width:100%;max-width:640px}
  .cb-panel{width:100%;max-width:640px;order:-1}
}

/* ---------- dedicated menu views (matchmaking, puzzle roadmap) ----------
   These used to render as a floating card over a blurred board - .cb-panel
   and .cb-board-col shared one CSS grid cell so they'd stack, and the board
   got a blur filter to read as "behind" the card. That's a real popup/modal,
   which is exactly what a menu shouldn't be.
   The fix removes the stacking trick entirely: whatever JS is showing a
   dedicated view (chess-online.js, chess-play-flow.js) now sets the board
   column's `hidden` attribute directly instead of layering it under a blur,
   so the board is genuinely out of the DOM's rendered flow (base.css's
   [hidden]{display:none!important} guarantees that). With .cb-board-col
   gone, .cb-wrap is back to being a plain flex row with one child - .cb-panel
   - so this class only needs to centre and size that one child like its own
   page, nothing more. */
.cb-wrap.cb-menu-mode{ justify-content:center; }
.cb-wrap.cb-menu-mode .cb-panel{ max-width:420px; margin-inline:auto; }

/* ---------- exit cross-fade ----------
   ChessCodeGame.exit() fades the wrap out, swaps game -> menu in one frame at
   the trough, then fades back in. Two classes rather than one transition so
   the swap can happen while nothing is visible. */
.cb-wrap{transition:opacity .16s ease}
.cb-wrap.cb-xfade-out{opacity:0}
.cb-wrap.cb-xfade-in{animation:cbXfadeIn .22s ease both}
@keyframes cbXfadeIn{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion: reduce){
  .cb-wrap{transition:none}
  .cb-wrap.cb-xfade-in{animation:none}
}


/* ---------- just-solved: white node turns into a green checkmark ----------
   Plays once when the roadmap reopens after a solve (see takeLastSolved in
   chess-puzzles.js). The node pops and fills green, then the tick draws
   itself with a dash offset - hence stroke-dasharray on the polyline rather
   than a plain fade. */
.cc-rm-justsolved{ animation:ccRmSolve .62s cubic-bezier(.34,1.3,.64,1) both; }
@keyframes ccRmSolve{
  0%   { background-color:var(--paper);
         box-shadow:inset 0 0 0 2px rgba(255,255,255,.75), 0 4px 0 #C7C2B7;
         transform:translate(-50%,-50%) scale(1); }
  45%  { background-color:#6FBF4F;
         box-shadow:inset 0 0 0 2px rgba(255,255,255,.5), 0 0 0 12px rgba(111,191,79,0), 0 4px 0 #4E9E4A;
         transform:translate(-50%,-50%) scale(1.22); }
  100% { background-color:#4E9E4A;
         box-shadow:inset 0 0 0 2px rgba(255,255,255,.30), inset 0 -3px 0 rgba(0,0,0,.13), 0 4px 0 #3B7A38, 0 8px 16px -7px rgba(18,38,43,.55);
         transform:translate(-50%,-50%) scale(1); }
}
.cc-rm-justsolved polyline{
  stroke-dasharray:30; stroke-dashoffset:30;
  animation:ccRmCheck .4s ease .26s both;
}
@keyframes ccRmCheck{ to{ stroke-dashoffset:0; } }
@media (prefers-reduced-motion: reduce){
  .cc-rm-justsolved{ animation:none; }
  .cc-rm-justsolved polyline{ animation:none; stroke-dashoffset:0; }
}

/* ---------- brick ground ----------
   A faint running-bond masonry texture behind the whole Chess Code home
   area. Two repeating-linear-gradients draw the mortar lines (horizontal
   courses + vertical joints) and a second layer is offset by half a brick
   so alternate rows stagger, which is what makes it read as brickwork
   rather than a grid. Pure CSS - no image file (see the deploy notes) - and
   very low contrast: it is ground, not decoration. */
#chessHome{ position:relative; }
#chessHome::before{
  content:''; position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image:
    repeating-linear-gradient(0deg,  rgba(18,38,43,.055) 0 1px, transparent 1px 34px),
    repeating-linear-gradient(90deg, rgba(18,38,43,.045) 0 1px, transparent 1px 96px),
    repeating-linear-gradient(90deg, rgba(18,38,43,.045) 0 1px, transparent 1px 96px);
  background-position:0 0, 0 0, 48px 17px;
  background-size:auto, auto 68px, auto 68px;
  /* Fade the texture out at the edges so it does not end on a hard line. */
  -webkit-mask-image:radial-gradient(120% 90% at 50% 40%, #000 55%, transparent 100%);
  mask-image:radial-gradient(120% 90% at 50% 40%, #000 55%, transparent 100%);
}
#chessHome > *{ position:relative; z-index:1; }

/* Scenery in its loading state: the real monuments, drained of colour and
   dimmed, with the same sweep as the skeleton nodes - so the shapes are
   already in place and simply gain colour when the real trail renders. */
.cc-rm-scenery-skel{
  filter:grayscale(1) contrast(.85);
  opacity:.38;
  animation:ccRmSkelFade 1.4s ease-in-out infinite;
}
@keyframes ccRmSkelFade{ 0%,100%{opacity:.30} 50%{opacity:.46} }
.cc-rm-skel-sub{
  width:110px;height:10px;border-radius:5px;background:rgba(23,50,74,.10);
  position:relative;overflow:hidden;
}
.cc-rm-skel-sub::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(100deg,transparent 35%,rgba(255,255,255,.7) 50%,transparent 65%);
  transform:translateX(-100%);animation:cbSkelSweep 1.4s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce){
  .cc-rm-scenery-skel{animation:none}
  .cc-rm-skel-sub::after{animation:none;opacity:0}
}

/* ---------- streaks trail ----------
   Shares every .cc-rm-* rule with the puzzle trail; only the palette differs.
   Days are a record, not a menu, so nodes are divs and none are clickable. */
.cc-streak-screen .cc-rm-path{ color:rgba(232,85,47,.20); }
.cc-streak-lit{
  background-color:#F5A524 !important;
  color:#fff;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.35), inset 0 -3px 0 rgba(0,0,0,.14),
             0 4px 0 #C97C12, 0 8px 16px -7px rgba(18,38,43,.5) !important;
}
.cc-streak-screen .cc-rm-open{
  /* "today" - outlined and waiting to be lit, not already burning */
  /* Same as the puzzle trail: no halo. */
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.75), inset 0 -3px 0 rgba(18,38,43,.10),
             0 4px 0 #C7C2B7, 0 9px 18px -8px rgba(18,38,43,.5);
}
.cc-streak-screen .cc-rm-node{ cursor:default; }
.cc-streak-screen .cc-rm-node svg{ display:block; }
/* No pointer reaction anywhere on this trail. The puzzle trail's .cc-rm-open
   scales on hover because there it means "click me"; a streak day is a RECORD,
   nothing on this screen is clickable, and a node that swells under the cursor
   promises an action that does not exist. The transition goes too, so there is
   nothing left to animate. */
.cc-streak-screen .cc-rm-node,
.cc-streak-screen .cc-rm-node:hover,
.cc-streak-screen .cc-rm-open:hover{
  transform:translate(-50%,-50%); transition:none;
}

/* ---------- playful panel buttons ----------
   Chunky-outlined language, scoped to the Chess Code panel only (marketing
   pages keep the house style). Hover is a COLOUR shift with no movement -
   lifting on hover made the whole panel feel twitchy as the pointer crossed
   it. The press-down on click stays, since that is a response to a deliberate
   action rather than to the pointer merely passing over. */
.cb-panel .btn,
.cb-panel .cb-1v1-row,
.cb-panel .cb-bot-card,
.cb-panel .cp-time-chip{
  border:2px solid var(--ink);
  box-shadow:0 4px 0 var(--ink);
  transition:filter .18s ease, background-color .18s ease, transform .1s ease, box-shadow .1s ease;
}
.cb-panel .btn:hover,
.cb-panel .cb-bot-card:hover,
.cb-panel .cp-time-chip:hover{
  filter:brightness(.95);
  transform:none;
  box-shadow:0 4px 0 var(--ink);
}
.cb-panel .btn:active,
.cb-panel .cb-bot-card:active,
.cb-panel .cp-time-chip:active{
  transform:translateY(4px);
  box-shadow:0 0 0 var(--ink);
}
/* Each half is its own outlined block now, in the same chunky language as
   Puzzles and Bots above it - the row is just the flex container holding the
   gap, so it carries no outline or shadow of its own. */
.cb-panel .cb-1v1-row{ border:none; box-shadow:none; }
.cb-panel .cb-1v1-half{
  border:2px solid var(--ink); border-radius:8px;
  box-shadow:0 4px 0 var(--ink);
  transition:filter .18s ease, transform .1s ease, box-shadow .1s ease;
}
.cb-panel .cb-1v1-half:hover{ filter:brightness(.93); }
.cb-panel .cb-1v1-half:active{ transform:translateY(4px); box-shadow:0 0 0 var(--ink); filter:none; }
@media (prefers-reduced-motion: reduce){
  .cb-panel .cb-1v1-half{ transition:none; }
  .cb-panel .cb-1v1-half:active{ transform:none; }
}
/* .cp-back is bare artwork (an arrow), not a block - keep it flat. */
.cb-panel .cp-back{ border:none; box-shadow:none; }
.cb-panel .cp-back:hover,.cb-panel .cp-back:active{ transform:none; filter:none; }
@media (prefers-reduced-motion: reduce){
  .cb-panel .btn,.cb-panel .cb-bot-card,.cb-panel .cp-time-chip{ transition:none; }
  .cb-panel .btn:active,.cb-panel .cb-bot-card:active,.cb-panel .cp-time-chip:active{ transform:none; }
}

/* Header account + streak belong to Chess Code only. On the tools/company
   pages they are noise from another product. */
.topbar:not(.mode-chess) .streak-chip,
.topbar:not(.mode-chess) .account-wrap{ display:none !important; }

