/* =========================================================================
   MAFAZI — lesson interaction styles
   · loaded on lesson and topic pages only, after the theme and Customizer CSS
   · every rule starts with  #ilcourse .ill-content  so nothing leaks
   · colors come from the plugin tokens (--card, --raise, --line, --text,
     --muted, --teal, --goldtx, --soft, --metal): dark / light switch by itself
   · one section per block; new blocks are added below
   ========================================================================= */

/* brand teal for solid fills (kept here too, so the Customizer can be emptied later) */
#ilcourse .ill-content{--ac:var(--ilm-t1,#217A72);--ac-d:var(--ilm-t1,#1A635C)}

@keyframes ilix-ring{0%{box-shadow:0 0 0 0 rgba(255,255,255,.55)}70%{box-shadow:0 0 0 9px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}

/* =========================================================================
   FLIP-CARD — "Scratch foil"
   the note lies under a gold foil; scratch it with mouse, finger or pen;
   at about half cleared the rest falls away. "Reveal" / Enter does it for you.
   needs : interactions.js (draws the foil and adds .ilix-scratch / .is-open)
   ========================================================================= */
@keyframes ilix-wiggle{0%,100%{transform:rotate(0)}20%{transform:rotate(-14deg) translateX(-2px)}40%{transform:rotate(12deg) translateX(2px)}60%{transform:rotate(-8deg)}80%{transform:rotate(5deg)}}
@keyframes ilix-sheen{0%{transform:translateX(-120%) skewX(-20deg)}55%,100%{transform:translateX(320%) skewX(-20deg)}}

/* the card */
#ilcourse .ill-content .flip-card.ilix-scratch{position:relative;width:100%;height:auto;min-height:0;margin:14px 0;perspective:none;
  background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;outline:none;
  transition:border-color .35s,box-shadow .35s}
#ilcourse .ill-content .flip-card.ilix-scratch:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--ilm-g2,#c9a45e) 55%,transparent)}
#ilcourse .ill-content .flip-card.ilix-scratch.is-open{border-color:color-mix(in srgb,var(--ilm-g2,#c9a45e) 50%,transparent);box-shadow:var(--shadow)}
#ilcourse .ill-content .flip-card.ilix-scratch .flip-card-inner,
#ilcourse .ill-content .flip-card.ilix-scratch:hover .flip-card-inner{position:relative;width:100%;height:auto;min-height:0;transform:none;
  transform-style:flat;display:block;transition:none}
#ilcourse .ill-content .flip-card.ilix-scratch .flip-card-front{display:none}
#ilcourse .ill-content .flip-card.ilix-scratch .flip-card-inner > br,
#ilcourse .ill-content .flip-card.ilix-scratch .flip-card-inner > p:empty{display:none}

/* the note under the foil */
#ilcourse .ill-content .flip-card.ilix-scratch .flip-card-back{position:relative;top:auto;left:auto;width:100%;height:auto;min-height:130px;
  box-sizing:border-box;display:block;transform:none;backface-visibility:visible;-webkit-backface-visibility:visible;
  background:var(--card);color:var(--text);border:0;border-radius:0;box-shadow:none;padding:22px 24px 22px 28px;
  font-size:15.5px;line-height:1.75}
#ilcourse .ill-content .flip-card.ilix-scratch .flip-card-back::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--metal)}
#ilcourse .ill-content .flip-card.ilix-scratch .flip-card-back p{margin:0 0 10px}
#ilcourse .ill-content .flip-card.ilix-scratch .flip-card-back p:last-child{margin-bottom:0}
#ilcourse .ill-content .flip-card.ilix-scratch .flip-card-back hr{border:0;border-top:1px dashed var(--line);margin:12px 0;height:0;background:none}
/* the old blue (#154f92) written inside the lessons follows the theme */
#ilcourse .ill-content .flip-card-back [style*="154f92"]{color:var(--teal) !important}

/* the foil */
#ilcourse .ill-content .ilix-foil{position:absolute;inset:0;z-index:2;transition:opacity .7s ease,transform .7s cubic-bezier(.22,1,.36,1),filter .7s}
#ilcourse .ill-content .ilix-foil canvas{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab;touch-action:none}
#ilcourse .ill-content .ilix-foil canvas:active{cursor:grabbing}
#ilcourse .ill-content .ilix-foil::after{content:"";position:absolute;top:0;bottom:0;left:0;width:30%;pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,0),color-mix(in srgb,var(--ilm-g4,#fffceb) 45%,transparent),rgba(255,255,255,0));animation:ilix-sheen 3.2s ease-in-out infinite}
#ilcourse .ill-content .ilix-foil.is-scratching::after{display:none}
#ilcourse .ill-content .ilix-foil.is-gone{opacity:0;transform:scale(1.04);filter:blur(4px);pointer-events:none}
#ilcourse .ill-content .ilix-foil-label{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:12px;
  padding:9px 18px 9px 9px;border-radius:999px;pointer-events:none;white-space:nowrap;
  background:color-mix(in srgb,var(--ilm-t0,#0a1213) 78%,transparent);color:var(--ilm-g4,#F5EBD3);font:600 14px/1 var(--sans);letter-spacing:.04em;box-shadow:0 8px 22px color-mix(in srgb,var(--ilm-gink,#3c280a) 35%,transparent);
  transition:opacity .35s,transform .35s}
#ilcourse .ill-content .ilix-foil-label .i{width:34px;height:34px;border-radius:50%;background:var(--metal);color:var(--ilm-t0,#0A1213);display:flex;
  align-items:center;justify-content:center;animation:ilix-wiggle 1.6s ease-in-out infinite}
#ilcourse .ill-content .ilix-foil-label svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
#ilcourse .ill-content .ilix-foil.is-scratching .ilix-foil-label{opacity:0;transform:translate(-50%,-50%) scale(.9)}
#ilcourse .ill-content .ilix-foil-btn{-webkit-appearance:none;appearance:none;position:absolute;right:10px;bottom:10px;margin:0;padding:6px 12px;
  border-radius:999px;border:1px solid color-mix(in srgb,var(--ilm-t0,#0a1213) 35%,transparent);background:color-mix(in srgb,var(--ilm-g4,#fffaeb) 55%,transparent);color:var(--ilm-gink,#2A1F0C);font:600 11.5px/1 var(--sans);
  letter-spacing:.06em;cursor:pointer;transition:background .25s,opacity .35s}
#ilcourse .ill-content .ilix-foil-btn:hover{background:color-mix(in srgb,var(--ilm-g4,#fffaeb) 85%,transparent)}
#ilcourse .ill-content .ilix-foil-btn:focus-visible{outline:2px solid var(--ilm-t0,#0A1213);outline-offset:2px}
#ilcourse .ill-content .ilix-foil.is-scratching .ilix-foil-btn{opacity:.75}

@media (prefers-reduced-motion:reduce){
  #ilcourse .ill-content .ilix-foil,#ilcourse .ill-content .ilix-foil *,#ilcourse .ill-content .ilix-foil::after{animation:none !important;transition:none !important}
}

/* =========================================================================
   WPBAKERY HOVER BOX — image tile + full-screen viewer
   page  : the front image in a gold frame, with a glass label and an open icon
           (no 3D turn, no hover-only content: works the same on touch screens)
   click : full-size image fills the screen; the back text opens in a panel
           on the right (desktop) or a bottom sheet (phone)
   needs : interactions.js (adds .ilix-hb; without it WPBakery's own box stays)
   ========================================================================= */
@keyframes ilix-fade{from{opacity:0}to{opacity:1}}
@keyframes ilix-zoom{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}
@keyframes ilix-side{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:none}}
@keyframes ilix-up{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
@keyframes ilix-rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* --- the tile --- */
#ilcourse .ill-content .vc-hoverbox-wrapper.ilix-hb{position:relative;display:block;padding:5px;border-radius:18px;background:var(--metal);
  border:1px solid var(--line);perspective:none;cursor:zoom-in;outline:none;
  transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s}
#ilcourse .ill-content .vc-hoverbox-wrapper.ilix-hb:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
#ilcourse .ill-content .vc-hoverbox-wrapper.ilix-hb:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--ilm-g2,#c9a45e) 55%,transparent)}
#ilcourse .ill-content .vc-hoverbox-wrapper.ilix-hb::before{content:none;display:none}
#ilcourse .ill-content .vc-hoverbox-wrapper.ilix-hb .vc-hoverbox,
#ilcourse .ill-content .vc-hoverbox-wrapper.ilix-hb .vc-hoverbox-inner{position:relative;width:100%;height:auto;min-height:0;margin:0;
  perspective:none;transform:none;display:block;overflow:hidden;border-radius:13px}
#ilcourse .ill-content .vc-hoverbox-wrapper.ilix-hb .vc-hoverbox-front{position:relative;top:auto;left:auto;inset:auto;width:100%;height:auto;
  padding:0;margin:0;aspect-ratio:var(--ilix-ratio,16 / 9);transform:none;backface-visibility:visible;-webkit-backface-visibility:visible;
  background-size:cover;background-position:center;background-repeat:no-repeat;border-radius:13px;
  transition:transform .7s cubic-bezier(.22,1,.36,1)}
#ilcourse .ill-content .vc-hoverbox-wrapper.ilix-hb--img:hover .vc-hoverbox-front{transform:scale(1.04)}
#ilcourse .ill-content .vc-hoverbox-wrapper.ilix-hb--img .vc-hoverbox-front-inner{display:none}
#ilcourse .ill-content .vc-hoverbox-wrapper.ilix-hb .vc-hoverbox-back{display:none}
/* a box without an image: teal tile with its front title */
#ilcourse .ill-content .vc-hoverbox-wrapper.ilix-hb--noimg .vc-hoverbox-front{aspect-ratio:auto;min-height:170px;display:flex;align-items:center;
  justify-content:center;padding:24px 24px 64px;background:var(--ac) !important}
#ilcourse .ill-content .vc-hoverbox-wrapper.ilix-hb--noimg .vc-hoverbox-front-inner{position:static;display:block;text-align:center}
#ilcourse .ill-content .vc-hoverbox-wrapper.ilix-hb--noimg .vc-hoverbox-front-inner *{margin:0;color:#fff !important;
  font-family:var(--serif) !important;font-weight:400 !important}
/* glass label */
#ilcourse .ill-content .ilix-hb-chip{position:absolute;left:17px;bottom:17px;max-width:calc(100% - 34px);box-sizing:border-box;
  display:flex;align-items:center;gap:12px;padding:6px 6px 6px 16px;border-radius:999px;pointer-events:none;
  background:color-mix(in srgb,var(--ilm-t0,#0a1213) 55%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.18);
  color:#fff;font:600 13.5px/1.2 var(--sans);letter-spacing:.02em;transition:background .3s}
#ilcourse .ill-content .ilix-hb-chip .t{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#ilcourse .ill-content .ilix-hb-chip .i{flex:none;width:32px;height:32px;border-radius:50%;background:var(--metal);color:var(--ilm-t0,#0A1213);
  display:flex;align-items:center;justify-content:center;transition:transform .35s cubic-bezier(.22,1,.36,1)}
#ilcourse .ill-content .ilix-hb-chip svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
#ilcourse .ill-content .vc-hoverbox-wrapper.ilix-hb:hover .ilix-hb-chip{background:color-mix(in srgb,var(--ilm-t0,#0a1213) 75%,transparent)}
#ilcourse .ill-content .vc-hoverbox-wrapper.ilix-hb:hover .ilix-hb-chip .i{transform:scale(1.1) rotate(90deg)}

/* --- the viewer --- */
html.ilix-lock{overflow:hidden}
#ilcourse .ilix-hv{position:fixed;inset:0;z-index:110;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,410px);
  background:rgba(5,9,10,.94);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:ilix-fade .3s ease both}
#ilcourse .ilix-hv[hidden],#ilcourse .ilix-hv [hidden]{display:none !important}
#ilcourse .ilix-hv button{-webkit-appearance:none;appearance:none;cursor:pointer;padding:0;margin:0;font:inherit}
#ilcourse .ilix-hv svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#ilcourse .ilix-hv-stage{position:relative;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;padding:5vh 84px}
#ilcourse .ilix-hv-img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:14px;
  background:var(--ilm-t0,#0E1718);box-shadow:0 30px 80px rgba(0,0,0,.55)}
#ilcourse .ilix-hv.no-img .ilix-hv-stage{display:none}
#ilcourse .ilix-hv.no-img{grid-template-columns:minmax(0,640px);justify-content:center;align-content:center;padding:6vh 20px}
#ilcourse .ilix-hv.no-img .ilix-hv-panel{border:1px solid var(--line);border-radius:22px;max-height:88vh}
#ilcourse .ilix-hv.no-text{grid-template-columns:minmax(0,1fr)}
#ilcourse .ilix-hv.no-text .ilix-hv-panel{display:none}
/* side panel */
#ilcourse .ilix-hv-panel{position:relative;min-height:0;overflow:auto;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;
  padding:clamp(28px,6vh,64px) 38px;background:var(--card);color:var(--text);border-left:1px solid var(--line)}
#ilcourse .ilix-hv-count{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--teal);margin-bottom:14px}
#ilcourse .ilix-hv-count:empty{display:none}
#ilcourse .ilix-hv-t{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(28px,2.6vw,40px);line-height:1.1;color:var(--text)}
#ilcourse .ilix-hv-t::after{content:"";display:block;width:56px;height:2px;margin-top:18px;border-radius:2px;background:var(--metal)}
#ilcourse .ilix-hv-body{margin-top:20px;font-family:var(--sans);font-size:16.5px;line-height:1.8;color:var(--text)}
#ilcourse .ilix-hv-t[hidden] + .ilix-hv-body{margin-top:0}
#ilcourse .ilix-hv-body p{margin:0 0 12px}
#ilcourse .ilix-hv-body p:last-child{margin-bottom:0}
#ilcourse .ilix-hv-body strong,#ilcourse .ilix-hv-body b{color:var(--goldtx);font-weight:700}
#ilcourse .ilix-hv-body ul,#ilcourse .ilix-hv-body ol{margin:0 0 12px;padding-left:20px}
#ilcourse .ilix-hv-body a{color:var(--goldtx)}
/* entrance */
#ilcourse .ilix-hv.is-on .ilix-hv-img{animation:ilix-zoom .55s cubic-bezier(.22,1,.36,1) both}
#ilcourse .ilix-hv.is-on .ilix-hv-panel{animation:ilix-side .55s cubic-bezier(.22,1,.36,1) .06s both}
#ilcourse .ilix-hv.is-on .ilix-hv-count{animation:ilix-rise .5s ease .14s both}
#ilcourse .ilix-hv.is-on .ilix-hv-t{animation:ilix-rise .5s ease .2s both}
#ilcourse .ilix-hv.is-on .ilix-hv-body{animation:ilix-rise .5s ease .28s both}
/* buttons */
#ilcourse .ilix-hv-x,#ilcourse .ilix-hv-arr{position:absolute;display:flex;align-items:center;justify-content:center;border-radius:50%;
  background:color-mix(in srgb,var(--ilm-t0,#0a1213) 60%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid color-mix(in srgb,var(--ilm-g4,#eeeae2) 22%,transparent);color:var(--ilm-g4,#EEEAE2);
  transition:background .25s,border-color .25s,transform .25s}
#ilcourse .ilix-hv-x{top:18px;right:18px;width:46px;height:46px;z-index:2}
#ilcourse .ilix-hv-arr{top:50%;width:52px;height:52px;margin-top:-26px}
#ilcourse .ilix-hv-arr.prev{left:18px}
#ilcourse .ilix-hv-arr.next{right:18px}
#ilcourse .ilix-hv-x:hover,#ilcourse .ilix-hv-arr:hover{background:color-mix(in srgb,var(--ilm-g2,#d4af5f) 30%,transparent);border-color:color-mix(in srgb,var(--ilm-g2,#d4af5f) 70%,transparent)}
#ilcourse .ilix-hv-arr:hover{transform:scale(1.06)}
#ilcourse .ilix-hv button:focus-visible{outline:2px solid var(--ilm-g2,#C9A45E);outline-offset:3px}

/* phone and small tablet: image on top, text as a bottom sheet */
@media (max-width:899px){
  #ilcourse .ilix-hv{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto}
  #ilcourse .ilix-hv-stage{padding:70px 12px 16px}
  #ilcourse .ilix-hv-panel{justify-content:flex-start;max-height:46vh;padding:30px 22px 28px;border-left:0;border-radius:22px 22px 0 0;
    box-shadow:0 -20px 50px rgba(0,0,0,.35)}
  #ilcourse .ilix-hv-panel::before{content:"";position:absolute;top:10px;left:50%;width:40px;height:4px;margin-left:-20px;border-radius:4px;background:var(--line)}
  #ilcourse .ilix-hv.is-on .ilix-hv-panel{animation-name:ilix-up}
  #ilcourse .ilix-hv-t{font-size:28px}
  #ilcourse .ilix-hv-arr{width:42px;height:42px;margin-top:-21px}
  #ilcourse .ilix-hv-arr.prev{left:8px}
  #ilcourse .ilix-hv-arr.next{right:8px}
  #ilcourse .ilix-hv.no-img{padding:16px}
}
@media (prefers-reduced-motion:reduce){
  #ilcourse .ilix-hv,#ilcourse .ilix-hv *,#ilcourse .ill-content .ilix-hb,#ilcourse .ill-content .ilix-hb *{animation:none !important;transition:none !important}
}

/* =========================================================================
   NUMBERED CIRCLES — "Step rail" with recap
   start : only the circles; circle 1 pulses
   click : the line fills in gold up to the open step; a card shows the text
           and "2 / 5 explored"; every opened step gets a tick
   done  : the card gives way to the list of all steps ("All explored")
   needs : interactions.js (adds .ilix-rail / .ilix-rail-stage)
   ========================================================================= */
@keyframes ilix-in-fwd{from{opacity:0;transform:translateX(26px)}to{opacity:1;transform:none}}
@keyframes ilix-in-back{from{opacity:0;transform:translateX(-26px)}to{opacity:1;transform:none}}
@keyframes ilix-ping{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--ilm-t1,#217a72) 50%,transparent)}70%{box-shadow:0 0 0 12px color-mix(in srgb,var(--ilm-t1,#217a72) 0%,transparent)}100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--ilm-t1,#217a72) 0%,transparent)}}

/* --- the rail --- */
#ilcourse .ill-content .circle-container.ilix-rail{position:relative;display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:0;
  width:100%;max-width:min(100%,calc(var(--ilix-n,5) * 120px));margin:30px auto 24px;padding:0}
#ilcourse .ill-content .ilix-rail-track{position:absolute;left:22px;right:22px;top:50%;height:3px;margin-top:-1.5px;border-radius:3px;
  background:var(--line);overflow:hidden;z-index:0}
#ilcourse .ill-content .ilix-rail-track i{display:block;height:100%;width:var(--ilix-fill,0%);border-radius:inherit;background:var(--metal);
  transition:width .6s cubic-bezier(.22,1,.36,1)}
#ilcourse .ill-content .circle-container.ilix-rail .circle{position:relative;z-index:1;flex:none;width:44px;height:44px;margin:0;box-sizing:border-box;
  border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--card);border:2px solid var(--line);
  color:var(--muted);font:600 14px/1 var(--mono);cursor:pointer;user-select:none;-webkit-user-select:none;box-shadow:none;transform:none;outline:none;
  transition:background .35s,color .35s,border-color .35s,transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s}
#ilcourse .ill-content .circle-container.ilix-rail .circle:hover{background:var(--card);border-color:var(--ac);color:var(--text);transform:translateY(-2px)}
#ilcourse .ill-content .circle-container.ilix-rail .circle.is-seen{background:var(--ac);border-color:var(--ac);color:#fff}
#ilcourse .ill-content .circle-container.ilix-rail .circle.is-on{background:var(--metal);border-color:transparent;color:var(--ilm-t0,#0A1213);transform:scale(1.15);
  box-shadow:0 0 0 6px color-mix(in srgb,var(--ilm-g2,#c9a45e) 20%,transparent),0 8px 18px rgba(0,0,0,.25)}
#ilcourse .ill-content .circle-container.ilix-rail .circle.is-hint{border-color:var(--ac);color:var(--text);animation:ilix-ping 1.6s ease-out infinite}
#ilcourse .ill-content .circle-container.ilix-rail .circle:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--ilm-g2,#c9a45e) 60%,transparent)}
#ilcourse .ill-content .ilix-rail-tick{position:absolute;top:-5px;right:-5px;width:18px;height:18px;border-radius:50%;box-sizing:border-box;
  display:flex;align-items:center;justify-content:center;background:var(--card);border:1.5px solid var(--ac);color:var(--ac);
  transform:scale(0);transition:transform .4s cubic-bezier(.34,1.56,.64,1)}
#ilcourse .ill-content .ilix-rail-tick svg{width:10px;height:10px;fill:none;stroke:currentColor;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
#ilcourse .ill-content .circle-container.ilix-rail .circle.is-seen .ilix-rail-tick{transform:scale(1)}
#ilcourse .ill-content .circle-container.ilix-rail .circle.is-on .ilix-rail-tick{transform:scale(0)}

/* --- the card --- */
#ilcourse .ill-content .text-container.ilix-rail-stage{display:block;max-width:720px;margin:0 auto 28px;padding:0;border:0;border-radius:0;
  background:none;box-shadow:none;text-align:left;animation:none;line-height:inherit;font-size:inherit}
#ilcourse .ill-content .ilix-rail-card{position:relative;overflow:hidden;background:var(--card);border:1px solid var(--line);border-radius:18px;
  padding:18px 26px 20px 30px;box-shadow:var(--shadow);animation:ilix-rise .45s ease both}
#ilcourse .ill-content .ilix-rail-card[hidden],#ilcourse .ill-content .ilix-rail-recap[hidden]{display:none}
#ilcourse .ill-content .ilix-rail-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--metal)}
#ilcourse .ill-content .ilix-rail-meta{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--teal);margin-bottom:8px}
#ilcourse .ill-content .ilix-rail-text{font-size:18px;line-height:1.65;color:var(--text)}
#ilcourse .ill-content .ilix-rail-text.in-fwd{animation:ilix-in-fwd .45s cubic-bezier(.22,1,.36,1) both}
#ilcourse .ill-content .ilix-rail-text.in-back{animation:ilix-in-back .45s cubic-bezier(.22,1,.36,1) both}
#ilcourse .ill-content .ilix-rail-text strong,#ilcourse .ill-content .ilix-rail-text b,
#ilcourse .ill-content .ilix-rail-recap li span strong,#ilcourse .ill-content .ilix-rail-recap li span b{color:var(--goldtx);font-weight:700}

/* --- the recap (replaces the card when every step is seen) --- */
#ilcourse .ill-content .ilix-rail-recap{padding:18px 22px;border-radius:18px;background:var(--soft);border:1px solid color-mix(in srgb,var(--ilm-g2,#c9a45e) 35%,transparent);
  animation:ilix-rise .5s ease both}
#ilcourse .ill-content .ilix-rail-recap-h{display:flex;align-items:center;gap:10px;margin-bottom:10px;font:600 11.5px/1 var(--mono);
  letter-spacing:.16em;text-transform:uppercase;color:var(--goldtx)}
#ilcourse .ill-content .ilix-rail-recap-h .i{width:24px;height:24px;border-radius:50%;background:var(--metal);color:var(--ilm-t0,#0A1213);display:flex;align-items:center;justify-content:center}
#ilcourse .ill-content .ilix-rail-recap-h svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
#ilcourse .ill-content .ilix-rail-recap ol{list-style:none;margin:0 -10px;padding:0;display:grid;gap:2px}
#ilcourse .ill-content .ilix-rail-recap li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:start;margin:0;padding:5px 10px;
  border-radius:10px;transition:background .3s;animation:ilix-rise .45s ease both;animation-delay:var(--d,0ms)}
#ilcourse .ill-content .ilix-rail-recap li.is-on{background:var(--card)}
#ilcourse .ill-content .ilix-rail-recap li b{font:500 12px/1.9 var(--mono);color:var(--goldtx)}
#ilcourse .ill-content .ilix-rail-recap li span{font-size:15.5px;line-height:1.6;color:var(--text)}

@media (max-width:640px){
  #ilcourse .ill-content .circle-container.ilix-rail .circle{width:36px;height:36px;font-size:12.5px}
  #ilcourse .ill-content .ilix-rail-track{left:18px;right:18px}
  #ilcourse .ill-content .ilix-rail-card{padding:16px 18px 18px 22px}
  #ilcourse .ill-content .ilix-rail-text{font-size:16.5px}
  #ilcourse .ill-content .ilix-rail-recap{padding:16px}
}
@media (prefers-reduced-motion:reduce){
  #ilcourse .ill-content .ilix-rail *,#ilcourse .ill-content .ilix-rail-stage *,#ilcourse .ill-content .ilix-rail .circle{animation:none !important;transition:none !important}
}

/* =========================================================================
   INTERACTIVE ICON + TEXT — "Morph" with a word cascade
   closed: a pill with a gold "+" and the short line
   open  : the pill grows into a card; the text comes in word by word out of
           a blur; bold words then get a gold underline
   needs : interactions.js (builds .ilix-morph around each pair)
   ========================================================================= */
@keyframes ilix-word{from{opacity:0;filter:blur(8px);transform:translateY(6px)}to{opacity:1;filter:none;transform:none}}

#ilcourse .ill-content .ilix-morph{display:grid;grid-template-rows:auto 0fr;width:fit-content;max-width:100%;box-sizing:border-box;margin:10px 0;
  background:var(--card);border:1px solid var(--line);border-radius:28px;overflow:hidden;
  transition:width .55s cubic-bezier(.22,1,.36,1),grid-template-rows .55s cubic-bezier(.22,1,.36,1),border-radius .45s,box-shadow .45s,border-color .45s}
#ilcourse .ill-content .ilix-morph:hover{border-color:color-mix(in srgb,var(--ilm-t1,#217a72) 55%,transparent)}
#ilcourse .ill-content .ilix-morph.is-open{width:100%;grid-template-rows:auto 1fr;border-radius:18px;box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--ilm-g2,#c9a45e) 45%,transparent)}

/* the pill / card header (the old .interactive-icon) */
#ilcourse .ill-content .ilix-morph .interactive-icon{display:flex;align-items:center;gap:12px;margin:0;padding:8px 18px 8px 8px;cursor:pointer;
  color:var(--text);font:600 15px/1.4 var(--sans);user-select:none;-webkit-user-select:none;outline:none;transition:color .35s,padding .45s}
#ilcourse .ill-content .ilix-morph .interactive-icon:focus-visible{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--ilm-g2,#c9a45e) 60%,transparent);border-radius:28px}
#ilcourse .ill-content .ilix-morph.is-open .interactive-icon{padding:12px 18px 6px 12px;color:var(--muted)}
#ilcourse .ill-content .ilix-morph-ico{flex:none;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:var(--metal);color:var(--ilm-t0,#0A1213);transition:transform .5s cubic-bezier(.22,1,.36,1)}
#ilcourse .ill-content .ilix-morph-ico svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}
#ilcourse .ill-content .ilix-morph:hover .ilix-morph-ico{transform:rotate(90deg)}
#ilcourse .ill-content .ilix-morph.is-open .ilix-morph-ico{transform:rotate(135deg)}

/* the hidden text (the old .interactive-text) */
#ilcourse .ill-content .ilix-morph-body{min-height:0;overflow:hidden;width:0;min-width:100%}
#ilcourse .ill-content .ilix-morph .interactive-text{display:block !important;margin:0;padding:6px 24px 20px 58px;background:none;border:0;
  border-radius:0;box-shadow:none;color:var(--text);font-size:16.5px;line-height:1.75}
#ilcourse .ill-content .ilix-morph .interactive-text p{margin:0 0 10px}
#ilcourse .ill-content .ilix-morph .interactive-text p:last-child{margin-bottom:0}
#ilcourse .ill-content .ilix-morph .interactive-text b,
#ilcourse .ill-content .ilix-morph .interactive-text strong,
#ilcourse .ill-content .ilix-morph .interactive-text .highlight-main-theme{color:var(--text);font-weight:700;padding-bottom:1px;
  background:var(--metal) no-repeat 0 100% / 0 2px;transition:background-size .6s cubic-bezier(.22,1,.36,1) var(--kd,600ms)}
#ilcourse .ill-content .ilix-morph.is-open .interactive-text b,
#ilcourse .ill-content .ilix-morph.is-open .interactive-text strong,
#ilcourse .ill-content .ilix-morph.is-open .interactive-text .highlight-main-theme{background-size:100% 2px}
#ilcourse .ill-content .ilix-morph .ilix-w{display:inline-block}
#ilcourse .ill-content .ilix-morph.is-open .ilix-w{animation:ilix-word .5s cubic-bezier(.22,1,.36,1) both;
  animation-delay:calc(var(--i) * var(--step,18ms) + 220ms)}

@media (max-width:640px){
  #ilcourse .ill-content .ilix-morph .interactive-text{padding:4px 18px 18px 18px}
}
@media (prefers-reduced-motion:reduce){
  #ilcourse .ill-content .ilix-morph,#ilcourse .ill-content .ilix-morph *{animation:none !important;transition:none !important}
}

/* =========================================================================
   WPBAKERY TABS — segmented control; 3D cube turn on desktop
   nav     : the titles in a rounded rail; a gold thumb slides to the open tab
   desktop : the panels turn as the faces of a cube (2-4 tabs) or a drum (5-6)
   phone   : the panel slides in from the side, the height eases
   needs   : interactions.js (adds .ilix-tabs and builds the rail)
   ========================================================================= */
@keyframes ilix-pull{0%,100%{transform:scale(1)}50%{transform:scale(.88)}}

#ilcourse .ill-content .vc_tta.ilix-tabs{margin:18px 0}
#ilcourse .ill-content .vc_tta.ilix-tabs .vc_tta-tabs-container,
#ilcourse .ill-content .vc_tta.ilix-tabs .vc_tta-panel-heading{display:none !important}

/* the rail */
#ilcourse .ill-content .ilix-seg{position:relative;display:flex;width:fit-content;max-width:100%;box-sizing:border-box;margin:0;padding:4px;gap:2px;
  background:var(--raise);border:1px solid var(--line);border-radius:999px;overflow-x:auto;scrollbar-width:none}
#ilcourse .ill-content .ilix-seg::-webkit-scrollbar{display:none}
/* more titles than fit (phone): the rail scrolls; its right edge fades to say so */
#ilcourse .ill-content .ilix-seg.is-scroll{-webkit-mask-image:linear-gradient(90deg,#000 82%,transparent);mask-image:linear-gradient(90deg,#000 82%,transparent)}
#ilcourse .ill-content .ilix-seg-thumb{position:absolute;top:4px;bottom:4px;left:0;width:0;z-index:0;border-radius:999px;background:var(--metal);
  box-shadow:0 4px 12px rgba(0,0,0,.18);transition:transform .45s cubic-bezier(.22,1,.36,1),width .45s cubic-bezier(.22,1,.36,1)}
#ilcourse .ill-content .ilix-seg-btn{-webkit-appearance:none;appearance:none;position:relative;z-index:1;flex:none;margin:0;padding:10px 22px;
  border:0;border-radius:999px;background:transparent;color:var(--muted);font:600 14px/1.2 var(--sans);white-space:nowrap;cursor:pointer;
  box-shadow:none;transition:color .3s}
#ilcourse .ill-content .ilix-seg-btn:hover{color:var(--text);background:transparent}
#ilcourse .ill-content .ilix-seg-btn.is-on{color:var(--ilm-t0,#0A1213)}
#ilcourse .ill-content .ilix-seg-btn:focus-visible{outline:2px solid var(--ilm-g2,#C9A45E);outline-offset:-2px}

/* the panels */
#ilcourse .ill-content .vc_tta.ilix-tabs .vc_tta-panels-container{margin:16px 0 0;padding:0 !important;background:none !important;border:0 !important;
  border-radius:0 !important;box-shadow:none !important;overflow:visible !important}
#ilcourse .ill-content .vc_tta.ilix-tabs .vc_tta-panels{position:relative;margin:0;padding:0 !important;background:none !important;border:0 !important;
  border-radius:0 !important;box-shadow:none !important;overflow:visible !important;transform-style:preserve-3d;
  transition:height .45s cubic-bezier(.22,1,.36,1)}
#ilcourse .ill-content .vc_tta.ilix-tabs .vc_tta-panel{display:none;margin:0}
#ilcourse .ill-content .vc_tta.ilix-tabs .vc_tta-panel.ilix-cur{display:block}
#ilcourse .ill-content .vc_tta.ilix-tabs .vc_tta-panel-body{display:block !important;position:relative;box-sizing:border-box;margin:0;
  padding:24px 28px 24px 32px !important;background:var(--card) !important;border:1px solid var(--line) !important;border-radius:18px !important;
  box-shadow:var(--shadow) !important;color:var(--text) !important;overflow:hidden}
#ilcourse .ill-content .vc_tta.ilix-tabs .vc_tta-panel-body::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--metal)}
#ilcourse .ill-content .vc_tta.ilix-tabs .vc_tta-panel-body p:last-child{margin-bottom:0}
#ilcourse .ill-content .vc_tta.ilix-tabs .vc_tta-panel-body .wpb_content_element:last-child{margin-bottom:0}
#ilcourse .ill-content .vc_tta.ilix-tabs .vc_tta-panel.ilix-in-fwd{animation:ilix-in-fwd .45s cubic-bezier(.22,1,.36,1) both}
#ilcourse .ill-content .vc_tta.ilix-tabs .vc_tta-panel.ilix-in-back{animation:ilix-in-back .45s cubic-bezier(.22,1,.36,1) both}

/* the cube turn (only while it turns) */
#ilcourse .ill-content .vc_tta.ilix-tabs.ilix-3d .vc_tta-panels{transition:transform .8s cubic-bezier(.65,0,.35,1),height .8s cubic-bezier(.65,0,.35,1)}
#ilcourse .ill-content .vc_tta.ilix-tabs.ilix-3d .vc_tta-panel{display:block;position:absolute;top:0;left:0;width:100%;animation:none;
  backface-visibility:hidden;-webkit-backface-visibility:hidden}
#ilcourse .ill-content .vc_tta.ilix-tabs.ilix-3d .vc_tta-panel-body{height:100%}
#ilcourse .ill-content .vc_tta.ilix-tabs .vc_tta-panels-container.ilix-pull{animation:ilix-pull .8s cubic-bezier(.65,0,.35,1)}

@media (max-width:640px){
  #ilcourse .ill-content .ilix-seg{width:100%}
  #ilcourse .ill-content .ilix-seg-btn{flex:1 0 auto;padding:9px 14px;font-size:13px}
  #ilcourse .ill-content .vc_tta.ilix-tabs .vc_tta-panel-body{padding:20px 18px 20px 22px !important}
}
@media (prefers-reduced-motion:reduce){
  #ilcourse .ill-content .ilix-tabs *,#ilcourse .ill-content .ilix-seg *{animation:none !important;transition:none !important}
}

/* =========================================================================
   INTERACTIVE LIST — "Wax seals"  (2-column zigzag list and 1-column list)
   every item is a sealed card: envelope flap + gold wax seal with its number;
   only the glowing seal can be broken, in order; it cracks, the flap folds
   away, the text comes out. Counter + progress line on top; "Reveal the rest";
   a gold sweep over every card at the end.
   needs : interactions.js (builds .ilix-seals, the cards and the bar)
   note  : "#ilcourse#ilcourse" is on purpose: it counts as two ids, so these
           rules win over the older id-based rules for the 1-column list
   ========================================================================= */
@keyframes ilix-seal-glow{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--ilm-g2,#c9a45e) 65%,transparent)}70%{box-shadow:0 0 0 15px color-mix(in srgb,var(--ilm-g2,#c9a45e) 0%,transparent)}100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--ilm-g2,#c9a45e) 0%,transparent)}}
@keyframes ilix-seal-l{0%{transform:none;opacity:1}14%{transform:translate(-2px,-1px) rotate(-4deg);opacity:1}62%{opacity:1}100%{transform:translate(-26px,40px) rotate(-36deg);opacity:0}}
@keyframes ilix-seal-r{0%{transform:none;opacity:1}14%{transform:translate(2px,-2px) rotate(5deg);opacity:1}62%{opacity:1}100%{transform:translate(24px,48px) rotate(30deg);opacity:0}}
@keyframes ilix-fleck{0%{transform:translate(0,0) scale(1);opacity:1}100%{transform:translate(var(--x),var(--y)) scale(.2);opacity:0}}
@keyframes ilix-spark{0%{transform:translate(0,0) scale(1);opacity:1}100%{transform:translate(var(--dx),var(--dy)) scale(0);opacity:0}}
@keyframes ilix-nudge{0%,100%{transform:none}20%{transform:translateX(-6px)}45%{transform:translateX(5px)}70%{transform:translateX(-3px)}}
@keyframes ilix-sweep{0%{opacity:0;transform:translateX(-120%) skewX(-18deg)}15%{opacity:1}100%{opacity:0;transform:translateX(430%) skewX(-18deg)}}

/* --- container, hint, counter --- */
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals{max-width:100%;margin:40px auto}
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals h3{text-align:center;margin:0 0 10px;color:var(--goldtx)}
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals .hint{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 0 14px;text-align:center;color:var(--muted);
  font:500 15px/1.4 var(--sans);animation:none}
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals .hint svg{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals.is-complete .hint{color:var(--teal);font-weight:600}
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals .ilix-bar{display:flex;align-items:center;gap:14px;margin:0 auto 20px}
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals.ilix-two .ilix-bar{max-width:920px}
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals.ilix-one .ilix-bar{max-width:640px}
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals .ilix-count{position:relative;flex:none;font:600 13px/1 var(--mono);letter-spacing:.08em;color:var(--muted)}
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals .ilix-count b{font-weight:700;color:var(--goldtx)}
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals .ilix-track{position:relative;flex:1;height:3px;border-radius:3px;background:var(--line);overflow:hidden}
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals .ilix-track i{display:block;height:100%;width:0;border-radius:inherit;background:var(--metal);transition:width .6s cubic-bezier(.22,1,.36,1)}
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals .ilix-rest{-webkit-appearance:none;appearance:none;flex:none;margin:0;padding:7px 13px;border-radius:999px;border:1px solid var(--line);
  background:transparent;color:var(--muted);font:600 12px/1 var(--sans);letter-spacing:.04em;cursor:pointer;
  visibility:hidden;opacity:0;transition:opacity .4s,color .25s,border-color .25s}
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals.has-started:not(.is-complete) .ilix-rest{visibility:visible;opacity:1}
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals .ilix-rest:hover{color:var(--text);border-color:var(--ac)}
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals .ilix-rest:focus-visible{outline:2px solid var(--ilm-g2,#C9A45E);outline-offset:2px}
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals .ilix-spark{position:absolute;left:50%;top:50%;width:5px;height:5px;margin:-2.5px;border-radius:50%;background:var(--ilm-g3,#E8C97A);pointer-events:none;
  animation:ilix-spark 1s cubic-bezier(.2,.7,.3,1) both}

/* --- the list --- */
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals ul.ilix-seal-list{list-style:none;margin:0 auto;padding:0;display:grid;max-width:none}
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals.ilix-two ul.ilix-seal-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 22px;max-width:920px}
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals.ilix-one ul.ilix-seal-list{grid-template-columns:minmax(0,1fr);gap:12px;max-width:640px}
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals li.ilix-item{grid-column:auto;position:relative;list-style:none;margin:0;padding:0;background:none;border:0;border-radius:0;box-shadow:none;
  opacity:1;transform:none;pointer-events:auto;cursor:default;animation:none;transition:none}
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals li.ilix-item:hover{background:none}
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals li.ilix-item.is-nudge{animation:ilix-nudge .5s ease}

/* --- the card --- */
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals .ilix-card{position:relative;display:flex;align-items:center;gap:14px;min-height:92px;box-sizing:border-box;padding:18px 20px 18px 26px;
  background:var(--raise);border:1px solid var(--line);border-radius:16px;overflow:hidden;
  transition:background .5s,border-color .5s,box-shadow .5s,opacity .5s,transform .3s}
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals li.is-sealed:not(.is-live) .ilix-card{opacity:.62}
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals li.is-live .ilix-card{border-color:color-mix(in srgb,var(--ilm-g2,#c9a45e) 55%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--ilm-g2,#c9a45e) 18%,transparent),var(--shadow);cursor:pointer}
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals li.is-live:hover .ilix-card{transform:translateY(-2px)}
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals li.is-open .ilix-card{background:var(--card);border-color:color-mix(in srgb,var(--ilm-g2,#c9a45e) 40%,transparent);box-shadow:var(--shadow)}
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals .ilix-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--metal);
  transform:scaleY(0);transform-origin:top;transition:transform .6s cubic-bezier(.22,1,.36,1) .3s}
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals li.is-open .ilix-card::before{transform:scaleY(1)}
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals .ilix-card::after{content:"";position:absolute;top:0;bottom:0;left:0;width:34%;pointer-events:none;opacity:0;
  background:linear-gradient(90deg,rgba(255,255,255,0),color-mix(in srgb,var(--ilm-g3,#f0dca0) 50%,transparent),rgba(255,255,255,0));transform:translateX(-120%) skewX(-18deg)}
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals.is-complete li.is-open .ilix-card::after{animation:ilix-sweep 1.1s ease both;animation-delay:calc(var(--i,0) * 45ms)}

/* the text (under the seal until it breaks; it keeps its room, so nothing jumps) */
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals .ilix-n{flex:none;min-width:28px;font:500 12px/1 var(--mono);letter-spacing:.06em;color:var(--goldtx);visibility:hidden}
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals .ilix-text{flex:1;min-width:0;font-size:16px;line-height:1.55;color:var(--text);visibility:hidden}
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals li.is-open .ilix-n,#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals li.is-open .ilix-text{visibility:visible}
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals li.is-open .ilix-n{animation:ilix-rise .5s ease .32s both}
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals li.is-open .ilix-text{animation:ilix-rise .55s cubic-bezier(.22,1,.36,1) .38s both}

/* the envelope flap */
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals .ilix-flap{position:absolute;left:0;right:0;top:0;height:60%;pointer-events:none;transform-origin:50% 0;
  filter:drop-shadow(0 1px 0 rgba(0,0,0,.2));backface-visibility:hidden;-webkit-backface-visibility:hidden;
  transition:transform .7s cubic-bezier(.65,0,.35,1) .22s,opacity .3s .6s}
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals .ilix-flap i{display:block;width:100%;height:100%;clip-path:polygon(0 0,100% 0,50% 100%);
  background:linear-gradient(180deg,color-mix(in srgb,var(--ilm-g2,#c9a45e) 20%,transparent),color-mix(in srgb,var(--ilm-g2,#c9a45e) 7%,transparent))}
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals li.is-open .ilix-flap{transform:perspective(520px) rotateX(-100deg);opacity:0}

/* the wax seal */
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals .ilix-seal{-webkit-appearance:none;appearance:none;position:absolute;left:50%;top:60%;width:46px;height:46px;margin:-23px 0 0 -23px;padding:0;border:0;
  background:none;border-radius:50%;cursor:default;z-index:3;
  filter:drop-shadow(0 3px 5px rgba(0,0,0,.32)) saturate(.45) brightness(.92);
  transition:transform .35s cubic-bezier(.34,1.56,.64,1),filter .4s}
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals li.is-live .ilix-seal{cursor:pointer;filter:drop-shadow(0 3px 5px rgba(0,0,0,.32));animation:ilix-seal-glow 1.8s ease-out infinite}
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals li.is-live:hover .ilix-seal{transform:scale(1.08) rotate(-5deg)}
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals li.is-open .ilix-seal{pointer-events:none;animation:none}
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals .ilix-seal:focus-visible{outline:2px solid var(--ilm-g2,#C9A45E);outline-offset:4px}
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals .ilix-seal-half{position:absolute;inset:0;border-radius:52% 48% 50% 50% / 50% 54% 46% 50%;
  background:radial-gradient(circle at 32% 28%,var(--ilm-g3,#F6E3A8) 0,var(--ilm-g2,#DDBF76) 26%,var(--ilm-g2,#B8923F) 62%,var(--ilm-g1,#8A6A2B) 100%);
  box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--ilm-g3,#ffecaa) 32%,transparent),inset 0 -3px 6px color-mix(in srgb,var(--ilm-gink,#462d0a) 40%,transparent)}
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals .ilix-seal-half::after{content:"";position:absolute;inset:7px;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--ilm-gink,#50370f) 38%,transparent)}
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals .ilix-seal-half.l{clip-path:polygon(0 0,55% 0,45% 30%,58% 55%,46% 80%,52% 100%,0 100%)}
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals .ilix-seal-half.r{clip-path:polygon(55% 0,100% 0,100% 100%,52% 100%,46% 80%,58% 55%,45% 30%)}
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals .ilix-seal-num{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;
  font:700 17px/1 var(--serif);color:var(--ilm-gink,#4A3410);text-shadow:0 1px 0 color-mix(in srgb,var(--ilm-g4,#fff0be) 50%,transparent);transition:opacity .12s}
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals li.is-open .ilix-seal-num{opacity:0}
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals li.is-open .ilix-seal-half.l{animation:ilix-seal-l .8s cubic-bezier(.5,0,.8,.5) both}
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals li.is-open .ilix-seal-half.r{animation:ilix-seal-r .8s cubic-bezier(.5,0,.8,.5) both}
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals .ilix-fleck{position:absolute;left:50%;top:50%;width:5px;height:5px;margin:-2.5px;border-radius:50%;background:var(--ilm-g3,#E8C97A);pointer-events:none;
  animation:ilix-fleck .75s cubic-bezier(.2,.7,.3,1) both}

/* "Reveal the rest": everything opens quickly */
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals li.is-fast.is-open .ilix-flap{transition:transform .4s ease,opacity .2s .2s}
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals li.is-fast.is-open .ilix-seal-half.l,#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals li.is-fast.is-open .ilix-seal-half.r{animation-duration:.45s}
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals li.is-fast.is-open .ilix-n{animation-delay:.1s}
#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals li.is-fast.is-open .ilix-text{animation-delay:.14s}

@media (max-width:768px){
  #ilcourse#ilcourse .ill-content .interactive-list.ilix-seals.ilix-two ul.ilix-seal-list{grid-template-columns:minmax(0,1fr);gap:12px}
  #ilcourse#ilcourse .ill-content .interactive-list.ilix-seals .ilix-bar{gap:10px}
  #ilcourse#ilcourse .ill-content .interactive-list.ilix-seals .ilix-card{padding:16px 16px 16px 22px}
  #ilcourse#ilcourse .ill-content .interactive-list.ilix-seals .ilix-text{font-size:15.5px}
}
@media (prefers-reduced-motion:reduce){
  #ilcourse#ilcourse .ill-content .interactive-list.ilix-seals *,#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals *::before,#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals *::after{animation:none !important;transition:none !important}
  #ilcourse#ilcourse .ill-content .interactive-list.ilix-seals li.is-open .ilix-flap,#ilcourse#ilcourse .ill-content .interactive-list.ilix-seals li.is-open .ilix-seal{display:none}
}

/* =========================================================================
   ACCORDION CHECKLIST — "Apothecary cabinet"
   the cards are drawers in one cabinet; closed: a front with a brass-framed
   label, a progress ring and a gold pull; open: the drawer lifts, the tray rolls
   out, the rows come in one by one (one drawer open at a time). Every row has a
   gold tick that draws itself; the ring counts a drawer's ticks, the line on top
   counts all. A card with data-image shows its picture in the image column.
   needs : interactions.js (builds .ilix-cab, the drawers, the rows and the bar)
   note  : "#ilcourse#ilcourse" is on purpose (two ids): it wins over the older rules
   ========================================================================= */
@keyframes ilix-lift{from{opacity:0;transform:translateY(26px) scale(.96)}to{opacity:1;transform:none}}

/* --- the cabinet --- */
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab{position:relative;display:block;max-width:100%;margin:0 0 24px;padding:12px;box-sizing:border-box;border-radius:22px;
  background:linear-gradient(180deg,var(--card),var(--panel));border:1px solid var(--line);box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,.04)}
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab.ilix-solo{width:100% !important}
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab > h3{text-align:center;margin:2px 0 14px;color:var(--goldtx)}
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .ilix-cab-bar{display:flex;align-items:center;gap:12px;margin:2px 4px 12px}
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .ilix-cab-count{position:relative;flex:none;display:inline-flex;align-items:center;gap:6px;font:600 12px/1 var(--mono);letter-spacing:.08em;color:var(--muted)}
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .ilix-cab-count b{font-weight:700;color:var(--goldtx)}
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .ilix-cab-count svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab.is-complete .ilix-cab-count{color:var(--teal);font-weight:700}
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .ilix-cab-track{flex:1;height:3px;border-radius:3px;background:var(--line);overflow:hidden}
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .ilix-cab-track i{display:block;height:100%;width:0;border-radius:inherit;background:var(--metal);transition:width .6s cubic-bezier(.22,1,.36,1)}
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .ilix-cab-spark{position:absolute;left:30px;top:50%;width:5px;height:5px;margin:-2.5px;border-radius:50%;background:var(--ilm-g3,#E8C97A);pointer-events:none;
  animation:ilix-spark 1s cubic-bezier(.2,.7,.3,1) both}

/* --- a drawer --- */
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .card{position:relative;display:block;margin:0 0 10px;padding:0;background:none;border:0;border-radius:0;box-shadow:none;overflow:visible;transition:none}
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .card:last-child{margin-bottom:0}

/* the front */
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .card-header{position:relative;display:flex;align-items:center;gap:12px;min-height:64px;box-sizing:border-box;padding:10px 16px 10px 14px;margin:0;
  background:linear-gradient(180deg,var(--raise),var(--card));border:1px solid var(--line);border-radius:14px;color:var(--text);font-weight:600;
  cursor:pointer;overflow:visible;z-index:1;user-select:none;-webkit-user-select:none;outline:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 6px 14px rgba(0,0,0,.16);
  transition:transform .5s cubic-bezier(.34,1.3,.64,1),box-shadow .5s,border-color .4s}
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .card-header::before,#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .card-header::after{content:none;display:none}
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .card-header:hover{color:var(--text);transform:translateY(-1px)}
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .card-header:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--ilm-g2,#c9a45e) 60%,transparent)}
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .card.is-open .card-header{transform:translateY(-3px) scale(1.012);border-color:color-mix(in srgb,var(--ilm-g2,#c9a45e) 55%,transparent);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 16px 30px rgba(0,0,0,.28)}
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .ilix-mold{position:absolute;inset:5px;border:1px solid var(--line);border-radius:10px;pointer-events:none;opacity:.8}
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .ilix-shine{position:absolute;inset:0;border-radius:inherit;overflow:hidden;pointer-events:none}
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .ilix-shine i{position:absolute;top:0;bottom:0;left:0;width:34%;opacity:0;transform:translateX(-120%) skewX(-18deg);
  background:linear-gradient(90deg,rgba(255,255,255,0),color-mix(in srgb,var(--ilm-g3,#f0dca0) 50%,transparent),rgba(255,255,255,0))}
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab.is-complete .ilix-shine i{animation:ilix-sweep 1.1s ease both;animation-delay:calc(var(--k,0) * 140ms)}

/* the label: a brass frame around ivory paper */
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .ilix-label{position:relative;flex:0 1 auto;min-width:0;display:inline-flex;padding:3px;border-radius:8px;background:var(--metal);
  box-shadow:0 2px 5px rgba(0,0,0,.28),inset 0 0 0 1px color-mix(in srgb,var(--ilm-g4,#fff0be) 50%,transparent);transition:box-shadow .4s}
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .card.is-open .ilix-label{box-shadow:0 0 0 3px color-mix(in srgb,var(--ilm-g2,#c9a45e) 22%,transparent),0 3px 8px rgba(0,0,0,.3),inset 0 0 0 1px color-mix(in srgb,var(--ilm-g4,#fff0be) 55%,transparent)}
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .ilix-label-t{display:block;min-width:0;padding:6px 14px;border-radius:5px;background:var(--ilm-g4,#F6EFDC);color:var(--ilm-gink,#2B2110);overflow-wrap:anywhere;
  font:600 14.5px/1.3 var(--sans);letter-spacing:.02em;box-shadow:inset 0 1px 2px color-mix(in srgb,var(--ilm-gink,#50370f) 28%,transparent)}
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .ilix-sp{flex:1}

/* the ring */
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .ilix-ring{flex:none;display:inline-flex;align-items:center;gap:8px;font:600 11px/1 var(--mono);letter-spacing:.06em;color:var(--muted)}
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .ilix-ring svg{width:28px;height:28px;flex:none}
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .ilix-ring circle{fill:none;stroke-width:2.6}
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .ilix-ring .bg{stroke:var(--line)}
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .ilix-ring .fg{stroke:var(--goldtx);stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;transform:rotate(-90deg);transform-box:fill-box;transform-origin:center;
  transition:stroke-dashoffset .6s cubic-bezier(.22,1,.36,1),fill .3s .3s}
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .ilix-ring .ck{fill:none;stroke:var(--ilm-gink,#2B2110);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;opacity:0;transition:opacity .3s .3s}
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .card.is-done .ilix-ring .fg{fill:var(--ilm-g2,#C9A45E);stroke:var(--ilm-g2,#C9A45E)}
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .card.is-done .ilix-ring .ck{opacity:1}
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .card.is-done .ilix-ring-n{color:var(--goldtx)}

/* the pull */
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .ilix-pull{position:relative;flex:none;width:46px;height:11px;border-radius:6px;background:var(--metal);
  box-shadow:0 3px 5px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.55),inset 0 -2px 3px color-mix(in srgb,var(--ilm-gink,#50370f) 45%,transparent);
  transition:transform .5s cubic-bezier(.34,1.56,.64,1)}
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .card-header:hover .ilix-pull{transform:scaleX(1.08)}
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .card.is-open .ilix-pull{transform:scaleX(1.18) translateY(2px)}

/* the tray */
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .ilix-bay{position:relative;z-index:0;display:grid;grid-template-rows:0fr;margin-top:0;
  transition:grid-template-rows .6s cubic-bezier(.22,1,.36,1),margin-top .6s cubic-bezier(.22,1,.36,1)}
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .card.is-open .ilix-bay{grid-template-rows:1fr;margin-top:-6px}
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .ilix-bay-in{min-height:0;overflow:hidden;visibility:hidden;padding:0 8px;transition:visibility 0s .6s}
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .card.is-open .ilix-bay-in{visibility:visible;transition-delay:0s}
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .card-content{position:relative;list-style:none;margin:0;padding:18px 14px 14px;background:var(--panel);border:1px solid var(--line);border-top:0;
  border-radius:0 0 14px 14px;box-shadow:inset 0 16px 20px -14px rgba(0,0,0,.45);
  transform-origin:50% 0;transform:perspective(900px) rotateX(-58deg) translateY(-18px);opacity:0;display:block;
  transition:transform .75s cubic-bezier(.22,1,.36,1),opacity .45s}
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .card.is-open .card-content{transform:none;opacity:1}
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .card-content.ilix-tray-plain{overflow-x:auto}

/* a row with its tick */
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .card-content > li.ilix-row{position:relative;display:flex;align-items:flex-start;gap:12px;margin:0 0 6px;padding:11px 12px;box-sizing:border-box;
  background:var(--card);border:1px solid transparent;border-radius:10px;list-style:none;cursor:pointer;opacity:0;transform:translateY(12px);
  transition:opacity .3s,transform .3s,border-color .4s}
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .card-content > li.ilix-row:last-child{margin-bottom:0}
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .card.is-open .card-content > li.ilix-row{opacity:1;transform:none;
  transition:opacity .45s var(--d,0ms),transform .55s cubic-bezier(.22,1,.36,1) var(--d,0ms),border-color .4s}
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .card-content > li.ilix-row:hover{border-color:color-mix(in srgb,var(--ilm-g2,#c9a45e) 35%,transparent)}
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .card-content > li.ilix-row::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(90deg,color-mix(in srgb,var(--ilm-g2,#c9a45e) 24%,transparent),color-mix(in srgb,var(--ilm-g2,#c9a45e) 5%,transparent));transform:scaleX(0);transform-origin:left;
  transition:transform .55s cubic-bezier(.22,1,.36,1)}
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab li.ilix-row.is-checked::before{transform:scaleX(1)}
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab li.ilix-row.is-checked{border-color:color-mix(in srgb,var(--ilm-g2,#c9a45e) 30%,transparent)}
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .ilix-t{position:relative;z-index:1;flex:1;min-width:0;font-size:15.5px;line-height:1.6;color:var(--text);transition:color .4s}
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab li.ilix-row.is-checked .ilix-t{color:var(--muted)}
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .ilix-tick{-webkit-appearance:none;appearance:none;position:relative;z-index:1;flex:none;width:24px;height:24px;margin:1px 0 0;padding:0;border-radius:7px;
  border:1.5px solid color-mix(in srgb,var(--ilm-g2,#c9a45e) 75%,transparent);background:transparent;color:var(--ilm-gink,#2B2110);cursor:pointer;
  transition:background .35s,border-color .35s,transform .35s cubic-bezier(.34,1.56,.64,1)}
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .ilix-tick:hover{background:color-mix(in srgb,var(--ilm-g2,#c9a45e) 14%,transparent);transform:scale(1.08)}
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .ilix-tick:focus-visible{outline:2px solid var(--ilm-g2,#C9A45E);outline-offset:2px}
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab li.ilix-row.is-checked .ilix-tick{background:var(--metal);border-color:transparent}
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .ilix-tick svg{position:absolute;inset:2px;width:calc(100% - 4px);height:calc(100% - 4px);fill:none;stroke:currentColor;stroke-width:2.8;
  stroke-linecap:round;stroke-linejoin:round}
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .ilix-tick path{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .45s cubic-bezier(.65,0,.35,1) .08s}
#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab li.ilix-row.is-checked .ilix-tick path{stroke-dashoffset:0}

/* the picture column: the picture comes up out of the drawer */
#ilcourse#ilcourse .ill-content .checklist-image-viewer img.ill-photo{transition:opacity .25s,transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s,border-color .35s}
#ilcourse#ilcourse .ill-content .checklist-image-viewer img.ilix-img-in{animation:ilix-lift .6s cubic-bezier(.22,1,.36,1) backwards}

@media (max-width:768px){
  #ilcourse#ilcourse .ill-content .interactive-checklist-wrapper{flex-direction:column}
  #ilcourse#ilcourse .ill-content .interactive-checklist-wrapper > .interactive-checklist,#ilcourse#ilcourse .ill-content .interactive-checklist-wrapper > .checklist-image-viewer{width:100% !important}
  #ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab{padding:10px;border-radius:18px}
  #ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .card-header{min-height:58px;padding:8px 12px 8px 10px;gap:10px}
  #ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .ilix-label-t{padding:5px 11px;font-size:13.5px}
  #ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .ilix-pull{width:34px}
  #ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .card-content{padding:16px 10px 10px}
  #ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .ilix-t{font-size:15px}
}
@media (prefers-reduced-motion:reduce){
  #ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab *,#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab *::before,#ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab *::after{animation:none !important;transition:none !important}
  #ilcourse#ilcourse .ill-content .interactive-checklist.ilix-cab .card-content{transform:none}
}

/* =========================================================================
   FLIPBOOKS (.booklets_row) — leather books on a shelf, and the reading room
   shelf : leather books, gold-foil titles, bookmark ribbons, hung from a gold thread
           with stage tags; a counter of downloaded forms; a cover-flow carousel on phones
   room  : the cover swings open, both pages lie side by side, turn with corner folds /
           arrows / keys / swipe; the last leaf is a download desk; a gold magnifier;
           a click opens a page full size; ribbon tabs download
   needs : interactions.js (reads the old markup once and replaces it)
   ========================================================================= */
@keyframes ilix-foil{0%,55%{background-position:160% 0,0 0}85%,100%{background-position:-60% 0,0 0}}
@keyframes ilix-shade{0%{opacity:0}45%{opacity:1}100%{opacity:0}}
@keyframes ilix-out-fwd{to{opacity:0;transform:translateX(-30px)}}
@keyframes ilix-out-back{to{opacity:0;transform:translateX(30px)}}

/* --- the cover artwork (shelf and room share it; --w is the width it is drawn at) --- */
.ilix-art{--w:var(--bw,190px);position:relative;border-radius:3px 9px 9px 3px;
  background:radial-gradient(120% 90% at 28% 18%,rgba(255,255,255,.13),transparent 58%),
    repeating-radial-gradient(circle at 22% 34%,rgba(0,0,0,.1) 0 1px,transparent 1px 3px),
    linear-gradient(158deg,var(--ilm-t1,#1B5F5C) 0%,var(--ilm-t0,#124240) 52%,var(--ilm-t0,#0B2B2A) 100%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06),inset 0 -14px 24px rgba(0,0,0,.28),inset 8px 0 14px -6px rgba(0,0,0,.45)}
.ilix-art-frame{position:absolute;inset:calc(var(--w) * .075);border:1.5px solid color-mix(in srgb,var(--ilm-g2,#d6b160) 80%,transparent);border-radius:2px;pointer-events:none}
.ilix-art-frame::after{content:"";position:absolute;inset:4px;border:1px solid color-mix(in srgb,var(--ilm-g2,#d6b160) 40%,transparent)}
.ilix-art-in{position:absolute;inset:calc(var(--w) * .075);display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:calc(var(--w) * .045);padding:0 calc(var(--w) * .07);text-align:center;box-sizing:border-box}
.ilix-art-crest{width:calc(var(--w) * .06);height:calc(var(--w) * .06);border:1.5px solid var(--ilm-g2,#D6B160);transform:rotate(45deg);margin-bottom:calc(var(--w) * .02)}
.ilix-art-title{font-family:var(--serif);font-weight:600;font-size:calc(var(--w) * .118);line-height:1.14;letter-spacing:.02em;text-wrap:balance;
  background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.95) 50%,transparent 62%) 160% 0/250% 100% no-repeat,var(--metal);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
  filter:drop-shadow(0 1px 0 rgba(0,0,0,.55));animation:ilix-foil 6s ease-in-out infinite;animation-delay:calc(var(--i,0) * 1.3s)}
.ilix-art-rule{width:calc(var(--w) * .28);height:1px;background:var(--metal)}
.ilix-art-sub{font-family:var(--mono);font-size:calc(var(--w) * .05);letter-spacing:.2em;text-transform:uppercase;color:color-mix(in srgb,var(--ilm-g3,#e7d6aa) 82%,transparent)}
.ilix-art-ribbon{position:absolute;left:68%;bottom:calc(var(--w) * -.1);width:calc(var(--w) * .075);height:calc(var(--w) * .26);
  background:linear-gradient(90deg,var(--ilm-g1,#8A6A2B),var(--ilm-g3,#E9CF8E) 50%,var(--ilm-g1,#8A6A2B));clip-path:polygon(0 0,100% 0,100% 100%,50% 84%,0 100%)}

/* --- the shelf --- */
#ilcourse .ill-content .ilix-shelf{--bw:min(190px,calc((880px - (var(--n,3) - 1) * 44px) / var(--n,3)));--bh:calc(var(--bw) * 1.38);--bd:calc(var(--bw) * .18);position:relative;max-width:900px;margin:30px auto;padding:6px 0 10px}
#ilcourse .ill-content .ilix-shelf .ilix-shelf-bar{display:flex;align-items:center;gap:12px;max-width:420px;margin:0 auto 14px}
#ilcourse .ill-content .ilix-shelf .ilix-shelf-count{position:relative;flex:none;display:inline-flex;align-items:center;gap:6px;font:600 12px/1 var(--mono);letter-spacing:.08em;color:var(--muted)}
#ilcourse .ill-content .ilix-shelf .ilix-shelf-count b{font-weight:700;color:var(--goldtx)}
#ilcourse .ill-content .ilix-shelf .ilix-shelf-count svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
#ilcourse .ill-content .ilix-shelf.is-complete .ilix-shelf-count{color:var(--teal)}
#ilcourse .ill-content .ilix-shelf .ilix-shelf-track{flex:1;height:3px;border-radius:3px;background:var(--line);overflow:hidden}
#ilcourse .ill-content .ilix-shelf .ilix-shelf-track i{display:block;height:100%;width:0;border-radius:inherit;background:var(--metal);transition:width .6s cubic-bezier(.22,1,.36,1)}
#ilcourse .ill-content .ilix-shelf .ilix-shelf-spark{position:absolute;left:24px;top:50%;width:5px;height:5px;margin:-2.5px;border-radius:50%;background:var(--ilm-g3,#E8C97A);pointer-events:none;
  animation:ilix-spark 1s cubic-bezier(.2,.7,.3,1) both}
#ilcourse .ill-content .ilix-shelf .ilix-rail{position:relative;padding:62px 0 64px}
#ilcourse .ill-content .ilix-shelf .ilix-thread{position:absolute;left:3%;right:3%;top:4px;height:1px;
  background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--ilm-g2,#c9a45e) 75%,transparent) 12%,color-mix(in srgb,var(--ilm-g2,#c9a45e) 75%,transparent) 88%,transparent)}
#ilcourse .ill-content .ilix-shelf .ilix-books{display:flex;justify-content:center;align-items:flex-end;flex-wrap:wrap;gap:70px 44px}
#ilcourse .ill-content .ilix-shelf .ilix-board{position:absolute;left:3%;right:3%;top:calc(62px + var(--bh) - 3px);height:14px;border-radius:7px;
  background:linear-gradient(180deg,var(--ilm-g1,#8A683C),var(--ilm-g1,#5A3F1F) 55%,var(--ilm-gink,#3E2A14));box-shadow:0 16px 26px rgba(0,0,0,.38),inset 0 1px 0 color-mix(in srgb,var(--ilm-g3,#ffe1aa) 40%,transparent)}

/* a book with its tag and state line */
#ilcourse .ill-content .ilix-shelf .ilix-bk{position:relative;width:var(--bw);height:var(--bh);--o:0;--ao:0}
#ilcourse .ill-content .ilix-shelf .ilix-bk-tag{position:absolute;left:50%;top:-44px;transform:translateX(-50%);display:flex;align-items:center;gap:8px;max-width:calc(var(--bw) + 40px);
  padding:5px 12px 5px 6px;border-radius:999px;background:var(--card);border:1px solid color-mix(in srgb,var(--ilm-g2,#c9a45e) 50%,transparent);white-space:nowrap;
  font:600 11.5px/1 var(--sans);color:var(--muted);transition:opacity .4s,border-color .4s,color .4s}
#ilcourse .ill-content .ilix-shelf .ilix-bk-tag::before{content:"";position:absolute;left:50%;bottom:100%;width:1px;height:14px;background:color-mix(in srgb,var(--ilm-g2,#c9a45e) 75%,transparent)}
#ilcourse .ill-content .ilix-shelf .ilix-bk-tag b{flex:none;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:var(--metal);color:var(--ilm-t0,#0A1213);font:700 10.5px/1 var(--mono)}
#ilcourse .ill-content .ilix-shelf .ilix-bk-tag span{min-width:0;overflow:hidden;text-overflow:ellipsis}
#ilcourse .ill-content .ilix-shelf .ilix-bk.is-complete .ilix-bk-tag{border-color:var(--teal);color:var(--teal)}
#ilcourse .ill-content .ilix-shelf .ilix-bk-state{position:absolute;left:0;right:0;top:calc(var(--bh) + 30px);display:flex;align-items:center;justify-content:center;gap:6px;
  font:600 11px/1.3 var(--mono);letter-spacing:.06em;color:var(--muted);text-align:center;transition:opacity .4s}
#ilcourse .ill-content .ilix-shelf .ilix-bk-state svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
#ilcourse .ill-content .ilix-shelf .ilix-bk.is-complete .ilix-bk-state{color:var(--teal)}

/* the 3D book */
#ilcourse .ill-content .ilix-shelf .ilix-bk-btn{position:relative;width:var(--bw);height:var(--bh);perspective:1200px;cursor:pointer;outline:none}
#ilcourse .ill-content .ilix-shelf .ilix-bk-3d{position:relative;width:100%;height:100%;transform-style:preserve-3d;transform:rotateX(-6deg) rotateY(18deg);
  transition:transform .7s cubic-bezier(.22,1,.36,1)}
#ilcourse .ill-content .ilix-shelf .ilix-bk-btn:hover .ilix-bk-3d,#ilcourse .ill-content .ilix-shelf .ilix-bk-btn:focus-visible .ilix-bk-3d{transform:rotateX(-3deg) rotateY(7deg) translateY(-12px)}
#ilcourse .ill-content .ilix-shelf .ilix-bk-btn:focus-visible{outline:2px solid var(--ilm-g2,#C9A45E);outline-offset:10px;border-radius:8px}
#ilcourse .ill-content .ilix-shelf .ilix-f{position:absolute;display:block}
#ilcourse .ill-content .ilix-shelf .ilix-f-front{--w:var(--bw);inset:0;transform:translateZ(calc(var(--bd) / 2))}
#ilcourse .ill-content .ilix-shelf .ilix-f-back{inset:0;transform:rotateY(180deg) translateZ(calc(var(--bd) / 2));background:var(--ilm-t0,#0A2323);border-radius:9px 3px 3px 9px}
#ilcourse .ill-content .ilix-shelf .ilix-f-spine{top:0;left:calc(50% - var(--bd) / 2);width:var(--bd);height:100%;transform:rotateY(-90deg) translateZ(calc(var(--bw) / 2));
  background:linear-gradient(90deg,var(--ilm-t0,#0B2B2A),var(--ilm-t1,#16504D) 45%,var(--ilm-t0,#0D3533));border-radius:3px 0 0 3px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.05)}
#ilcourse .ill-content .ilix-shelf .ilix-f-spine i{position:absolute;left:0;right:0;height:4px;background:var(--metal);opacity:.9}
#ilcourse .ill-content .ilix-shelf .ilix-f-spine i:nth-child(1){top:14px}
#ilcourse .ill-content .ilix-shelf .ilix-f-spine i:nth-child(2){top:22px}
#ilcourse .ill-content .ilix-shelf .ilix-f-spine i:nth-child(3){bottom:22px}
#ilcourse .ill-content .ilix-shelf .ilix-f-spine i:nth-child(4){bottom:14px}
#ilcourse .ill-content .ilix-shelf .ilix-f-spine b{position:absolute;left:0;right:0;top:36px;bottom:36px;display:flex;align-items:center;justify-content:center;writing-mode:vertical-rl;
  transform:rotate(180deg);font:600 11px/1 var(--serif);letter-spacing:.08em;color:var(--ilm-g2,#D8B968);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
#ilcourse .ill-content .ilix-shelf .ilix-f-edge{top:3px;bottom:3px;left:calc(50% - var(--bd) / 2 + 2px);width:calc(var(--bd) - 4px);transform:rotateY(90deg) translateZ(calc(var(--bw) / 2 - 3px));
  background:repeating-linear-gradient(90deg,var(--ilm-g4,#F6EFDD) 0 2px,var(--ilm-g3,#E3D8BA) 2px 3px)}
#ilcourse .ill-content .ilix-shelf .ilix-f-top{left:3px;right:3px;top:calc(50% - var(--bd) / 2 + 2px);height:calc(var(--bd) - 4px);transform:rotateX(90deg) translateZ(calc(var(--bh) / 2 - 3px));
  background:repeating-linear-gradient(0deg,var(--ilm-g4,#F6EFDD) 0 2px,var(--ilm-g3,#E3D8BA) 2px 3px)}
#ilcourse .ill-content .ilix-shelf .ilix-bk-done{position:absolute;top:calc(var(--bw) * .035);right:calc(var(--bw) * .035);width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:var(--ilm-g2,#C9A45E);color:var(--ilm-gink,#2B2110);box-shadow:0 2px 6px rgba(0,0,0,.4);transform:scale(0);transition:transform .5s cubic-bezier(.34,1.56,.64,1)}
#ilcourse .ill-content .ilix-shelf .ilix-bk-done svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
#ilcourse .ill-content .ilix-shelf .ilix-bk.is-complete .ilix-bk-done{transform:scale(1)}
#ilcourse .ill-content .ilix-shelf .ilix-bk-shadow{position:absolute;left:4%;right:-12%;bottom:-16px;height:28px;z-index:-1;pointer-events:none;
  background:radial-gradient(ellipse at 50% 50%,rgba(0,0,0,.55),transparent 70%);filter:blur(5px);transition:transform .7s,opacity .7s}
#ilcourse .ill-content .ilix-shelf .ilix-bk-btn:hover .ilix-bk-shadow{transform:scale(.9);opacity:.75}

/* phone: cover flow */
#ilcourse .ill-content .ilix-shelf .ilix-flow-ui{display:none}
@media (max-width:760px){
  #ilcourse .ill-content .ilix-shelf{--bw:min(52vw,200px);--bh:calc(var(--bw) * 1.38);--bd:30px}
  #ilcourse .ill-content .ilix-shelf .ilix-books{position:relative;display:block;height:var(--bh)}
  #ilcourse .ill-content .ilix-shelf{overflow-x:clip}
  #ilcourse .ill-content .ilix-shelf .ilix-thread,#ilcourse .ill-content .ilix-shelf .ilix-board{display:none}
  #ilcourse .ill-content .ilix-shelf .ilix-rail{padding:62px 0 70px}
  #ilcourse .ill-content .ilix-shelf .ilix-bk{position:absolute;left:50%;top:0;margin-left:calc(var(--bw) / -2);z-index:calc(10 - var(--ao));
    transform:translateX(calc(var(--o) * 62%)) scale(calc(1 - var(--ao) * .17));opacity:calc(1 - var(--ao) * .34);
    transition:transform .55s cubic-bezier(.22,1,.36,1),opacity .55s}
  #ilcourse .ill-content .ilix-shelf .ilix-bk:not(.is-center) .ilix-bk-tag,#ilcourse .ill-content .ilix-shelf .ilix-bk:not(.is-center) .ilix-bk-state{opacity:0}
  #ilcourse .ill-content .ilix-shelf .ilix-bk-3d{transform:rotateX(-6deg) rotateY(calc(18deg + var(--o) * -34deg))}
  #ilcourse .ill-content .ilix-shelf .ilix-bk-btn:hover .ilix-bk-3d{transform:rotateX(-6deg) rotateY(calc(18deg + var(--o) * -34deg))}
  #ilcourse .ill-content .ilix-shelf .ilix-flow-ui{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:-8px}
  #ilcourse .ill-content .ilix-shelf .ilix-flow-arr{-webkit-appearance:none;appearance:none;width:40px;height:40px;margin:0;padding:0;border-radius:50%;display:flex;align-items:center;justify-content:center;
    background:var(--card);border:1px solid var(--line);color:var(--text);cursor:pointer}
  #ilcourse .ill-content .ilix-shelf .ilix-flow-arr:disabled{opacity:.35;cursor:default}
  #ilcourse .ill-content .ilix-shelf .ilix-flow-arr svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
  #ilcourse .ill-content .ilix-shelf .ilix-dots{display:flex;gap:8px}
  #ilcourse .ill-content .ilix-shelf .ilix-dot{-webkit-appearance:none;appearance:none;width:8px;height:8px;margin:0;padding:0;border:0;border-radius:50%;background:var(--line);cursor:pointer;
    transition:background .3s,transform .3s}
  #ilcourse .ill-content .ilix-shelf .ilix-dot.is-on{background:var(--metal);transform:scale(1.4)}
}

/* --- the reading room --- */
#ilcourse .ilix-rr{position:fixed;inset:0;z-index:120;display:flex;flex-direction:column;color:var(--ilm-g4,#EEEAE2);opacity:0;transition:opacity .35s;
  background:radial-gradient(70% 60% at 50% 42%,color-mix(in srgb,var(--ilm-t1,#26423f) 94%,transparent),color-mix(in srgb,var(--ilm-t0,#050a0b) 98%,transparent));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);--paper:var(--ilm-g4,#FBF8F0);--ink:var(--ilm-gink,#2B2110)}
#ilcourse .ilix-rr[hidden],#ilcourse .ilix-rr [hidden]{display:none !important}
#ilcourse .ilix-rr.is-on{opacity:1}
#ilcourse .ilix-rr button{-webkit-appearance:none;appearance:none;margin:0;font:inherit;cursor:pointer}
#ilcourse .ilix-rr svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#ilcourse .ilix-rr .ilix-rr-top{position:relative;z-index:9;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:14px 20px}
#ilcourse .ilix-rr .ilix-rr-head{min-width:0}
#ilcourse .ilix-rr .ilix-rr-kick{display:block;font:600 11px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--goldtx)}
#ilcourse .ilix-rr .ilix-rr-title{margin:5px 0 0;font:400 22px/1.15 var(--serif);color:var(--ilm-g4,#F4EEE0);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#ilcourse .ilix-rr .ilix-rr-pos{font:600 12px/1 var(--mono);letter-spacing:.1em;color:color-mix(in srgb,var(--ilm-g4,#eeeae2) 72%,transparent);white-space:nowrap}
#ilcourse .ilix-rr .ilix-rr-tools{display:flex;justify-content:flex-end;gap:10px}
#ilcourse .ilix-rr .ilix-rr-btn,#ilcourse .ilix-rr .ilix-rr-arr{width:44px;height:44px;padding:0;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--ilm-g4,#EEEAE2);
  background:color-mix(in srgb,var(--ilm-t0,#0a1213) 60%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid color-mix(in srgb,var(--ilm-g4,#eeeae2) 22%,transparent);
  transition:background .25s,border-color .25s,transform .25s,opacity .25s}
#ilcourse .ilix-rr .ilix-rr-btn svg,#ilcourse .ilix-rr .ilix-rr-arr svg{width:20px;height:20px}
#ilcourse .ilix-rr .ilix-rr-btn:hover,#ilcourse .ilix-rr .ilix-rr-arr:hover:not(:disabled){background:color-mix(in srgb,var(--ilm-g2,#d4af5f) 30%,transparent);border-color:color-mix(in srgb,var(--ilm-g2,#d4af5f) 70%,transparent)}
#ilcourse .ilix-rr .ilix-rr-loupe[aria-pressed="true"]{background:var(--metal);color:var(--ilm-t0,#0A1213);border-color:transparent}
#ilcourse .ilix-rr .ilix-rr-arr:disabled{opacity:.25;cursor:default}
#ilcourse .ilix-rr button:focus-visible,#ilcourse .ilix-rr a:focus-visible{outline:2px solid var(--ilm-g2,#C9A45E);outline-offset:3px}
#ilcourse .ilix-rr .ilix-rr-main{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center}
#ilcourse .ilix-rr .ilix-rr-arr{position:absolute;top:50%;margin-top:-22px;z-index:9}
#ilcourse .ilix-rr .ilix-rr-arr.prev{left:22px}
#ilcourse .ilix-rr .ilix-rr-arr.next{right:22px}
#ilcourse .ilix-rr .ilix-stage{position:relative;display:flex;align-items:center;justify-content:center;padding:62px 0 18px;touch-action:none;
  user-select:none;-webkit-user-select:none}

/* the open book: leather boards, two pages, a gutter */
#ilcourse .ilix-rr .ilix-spread{position:relative;width:calc(var(--pw) * 2);height:var(--ph);perspective:2800px;
  transition:transform 1.1s cubic-bezier(.5,0,.2,1)}
#ilcourse .ilix-rr .ilix-spread.is-single{width:var(--pw)}
#ilcourse .ilix-rr .ilix-spread.is-closed:not(.is-single){transform:translateX(calc(var(--pw) / -2))}
#ilcourse .ilix-rr .ilix-spread::before{content:"";position:absolute;inset:-13px -15px -15px -15px;border-radius:6px;z-index:0;
  background:repeating-radial-gradient(circle at 22% 34%,rgba(0,0,0,.1) 0 1px,transparent 1px 3px),linear-gradient(158deg,var(--ilm-t1,#1B5F5C),var(--ilm-t0,#124240) 52%,var(--ilm-t0,#0B2B2A));
  box-shadow:0 34px 80px rgba(0,0,0,.6),inset 0 0 0 2px color-mix(in srgb,var(--ilm-g2,#d6b160) 35%,transparent);transition:opacity .6s .35s}
#ilcourse .ilix-rr .ilix-spread.is-closed::before{opacity:0;transition:none}
#ilcourse .ilix-rr .ilix-pg{position:absolute;top:0;width:var(--pw);height:var(--ph);box-sizing:border-box;background:var(--paper);z-index:1}
#ilcourse .ilix-rr .ilix-pg.is-L{left:0;border-radius:3px 0 0 3px;box-shadow:inset -28px 0 30px -24px color-mix(in srgb,var(--ilm-gink,#462d0a) 42%,transparent)}
#ilcourse .ilix-rr .ilix-pg.is-R{left:var(--pw);border-radius:0 3px 3px 0;box-shadow:inset 28px 0 30px -24px color-mix(in srgb,var(--ilm-gink,#462d0a) 42%,transparent)}
#ilcourse .ilix-rr .ilix-spread.is-single .ilix-pg.is-R{left:0;border-radius:3px;box-shadow:none}
#ilcourse .ilix-rr .ilix-pg-paper{position:absolute;inset:0;overflow:hidden;border-radius:inherit}
#ilcourse .ilix-rr .ilix-pg-paper img{position:absolute;left:10px;top:10px;width:calc(100% - 20px);height:calc(100% - 20px);object-fit:contain;cursor:zoom-in;
  -webkit-user-drag:none;user-select:none}
#ilcourse .ilix-rr .ilix-pg-num{position:absolute;bottom:5px;font:500 10.5px/1 var(--mono);color:#8B7B58;pointer-events:none}
#ilcourse .ilix-rr .ilix-pg.is-L .ilix-pg-num{left:16px}
#ilcourse .ilix-rr .ilix-pg.is-R .ilix-pg-num{right:16px}
#ilcourse .ilix-rr .ilix-in-fwd{animation:ilix-in-fwd .4s cubic-bezier(.22,1,.36,1) both}
#ilcourse .ilix-rr .ilix-in-back{animation:ilix-in-back .4s cubic-bezier(.22,1,.36,1) both}
#ilcourse .ilix-rr .ilix-out-fwd{animation:ilix-out-fwd .35s ease both;z-index:0}
#ilcourse .ilix-rr .ilix-out-back{animation:ilix-out-back .35s ease both;z-index:0}

/* leaves (the cover and every turning page) */
#ilcourse .ilix-rr .ilix-leaf{position:absolute;top:0;left:var(--pw);width:var(--pw);height:var(--ph);z-index:6;transform-origin:left center;transform-style:preserve-3d}
#ilcourse .ilix-rr .ilix-spread.is-single .ilix-leaf{left:0}
#ilcourse .ilix-rr .ilix-leaf.is-go{transition:transform 1s cubic-bezier(.5,0,.25,1)}
#ilcourse .ilix-rr .ilix-leaf.is-turned{transform:rotateY(-180deg)}
#ilcourse .ilix-rr .ilix-leaf.no-anim{transition:none}
#ilcourse .ilix-rr .ilix-leaf > .ilix-pg{left:0;top:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}
#ilcourse .ilix-rr .ilix-leaf > .ilix-leaf-back{transform:rotateY(180deg)}
#ilcourse .ilix-rr .ilix-leaf > .ilix-pg::after,#ilcourse .ilix-rr .ilix-leaf > .ilix-cover-front::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;
  background:linear-gradient(90deg,color-mix(in srgb,var(--ilm-gink,#281905) 38%,transparent),transparent 62%)}
#ilcourse .ilix-rr .ilix-leaf.is-go > .ilix-pg::after,#ilcourse .ilix-rr .ilix-leaf.is-go > .ilix-cover-front::after{animation:ilix-shade 1s ease}
#ilcourse .ilix-rr .ilix-cover{z-index:7}
#ilcourse .ilix-rr .ilix-cover > .ilix-cover-front{--w:var(--pw);position:absolute;left:0;top:0;width:100%;height:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden}
#ilcourse .ilix-rr .ilix-spread.is-single .ilix-cover.is-turned{transform:rotateY(-105deg);opacity:0;transition:transform 1s cubic-bezier(.5,0,.25,1),opacity .6s .45s}
#ilcourse .ilix-rr .ilix-spread.is-closed .ilix-cover > .ilix-cover-front{box-shadow:0 30px 70px rgba(0,0,0,.6),inset 0 0 0 1px rgba(255,255,255,.06),inset 8px 0 14px -6px rgba(0,0,0,.45)}

/* corner folds */
#ilcourse .ilix-rr .ilix-curl{position:absolute;bottom:0;z-index:8;width:calc(var(--pw) * .13);height:calc(var(--pw) * .13);padding:0;border:0;background:none;
  transition:transform .35s cubic-bezier(.34,1.56,.64,1)}
#ilcourse .ilix-rr .ilix-curl.l{left:0}
#ilcourse .ilix-rr .ilix-curl.r{right:0}
#ilcourse .ilix-rr .ilix-curl::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,var(--ilm-g4,#F1E9D2) 0%,var(--ilm-g3,#D9CCA8) 48%,color-mix(in srgb,var(--ilm-gink,#3c280a) 25%,transparent) 50%,transparent 70%);
  box-shadow:-3px -3px 8px color-mix(in srgb,var(--ilm-gink,#3c280a) 25%,transparent)}
#ilcourse .ilix-rr .ilix-curl.r::before{clip-path:polygon(100% 0,0 100%,100% 100%)}
#ilcourse .ilix-rr .ilix-curl.l::before{clip-path:polygon(0 0,0 100%,100% 100%);transform:scaleX(-1)}
#ilcourse .ilix-rr .ilix-curl.r:hover{transform:scale(1.35);transform-origin:100% 100%}
#ilcourse .ilix-rr .ilix-curl.l:hover{transform:scale(1.35);transform-origin:0 100%}

/* ribbon tabs: they stand out above the page and download it */
#ilcourse .ilix-rr .ilix-rib{position:absolute;top:-50px;width:34px;height:64px;box-sizing:border-box;padding-top:8px;display:flex;flex-direction:column;align-items:center;gap:5px;
  border-radius:8px 8px 0 0;background:linear-gradient(90deg,var(--ilm-g1,#9A7534),var(--ilm-g3,#E9CF8E) 48%,var(--ilm-g1,#A8843C));color:var(--ilm-gink,#2B2110);text-decoration:none;z-index:9;
  box-shadow:0 -4px 10px rgba(0,0,0,.3);transition:transform .35s cubic-bezier(.34,1.56,.64,1)}
#ilcourse .ilix-rr .ilix-pg.is-L .ilix-rib{left:26px}
#ilcourse .ilix-rr .ilix-pg.is-R .ilix-rib{right:26px}
#ilcourse .ilix-rr .ilix-rib:hover{transform:translateY(-7px)}
#ilcourse .ilix-rr .ilix-rib{transition:transform .35s cubic-bezier(.34,1.56,.64,1),opacity .5s .5s}
#ilcourse .ilix-rr .ilix-spread.is-closed .ilix-rib{opacity:0;pointer-events:none;transition:none}
#ilcourse .ilix-rr .ilix-rib-t{font:700 9.5px/1 var(--mono);letter-spacing:.06em}
#ilcourse .ilix-rr .ilix-ico{position:relative;display:inline-flex;width:18px;height:18px}
#ilcourse .ilix-rr .ilix-ico svg{position:absolute;inset:0;width:100%;height:100%;stroke-width:2.4}
#ilcourse .ilix-rr .ilix-ico svg + svg{opacity:0;transform:scale(.4);transition:opacity .3s,transform .4s cubic-bezier(.34,1.56,.64,1)}
#ilcourse .ilix-rr .is-got .ilix-ico svg:first-child{opacity:0;transform:scale(.4)}
#ilcourse .ilix-rr .is-got .ilix-ico svg + svg{opacity:1;transform:none}

/* download desk and the closing page */
#ilcourse .ilix-rr .ilix-pg-desk{background:linear-gradient(180deg,var(--ilm-g4,#FBF8F0),var(--ilm-g4,#F3EBD6))}
#ilcourse .ilix-rr .ilix-desk{position:absolute;inset:0;display:flex;flex-direction:column;gap:calc(var(--pw) * .03);padding:calc(var(--pw) * .1) calc(var(--pw) * .1) calc(var(--pw) * .08);
  box-sizing:border-box;color:var(--ink);font-size:max(11px,calc(var(--pw) * .036));line-height:1.35}
#ilcourse .ilix-rr .ilix-desk-kick{font:600 .8em/1 var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--ilm-g1,#9A7A34)}
#ilcourse .ilix-rr .ilix-desk-title{margin:0;font:400 1.9em/1.1 var(--serif);color:var(--ilm-gink,#1E170A)}
#ilcourse .ilix-rr .ilix-desk-list{list-style:none;margin:.4em 0 0;padding:0;display:grid;gap:.7em}
#ilcourse .ilix-rr .ilix-desk-row{display:flex;align-items:center;gap:.9em;padding:.5em .7em;border-radius:.7em;background:color-mix(in srgb,var(--ilm-g2,#c9a45e) 12%,transparent);border:1px solid color-mix(in srgb,var(--ilm-g1,#9a7a34) 25%,transparent)}
#ilcourse .ilix-rr .ilix-desk-row img{flex:none;width:2.6em;height:3.6em;object-fit:cover;border-radius:.2em;box-shadow:0 1px 4px rgba(0,0,0,.25);background:#fff}
#ilcourse .ilix-rr .ilix-desk-name{flex:1;min-width:0;font-weight:600}
#ilcourse .ilix-rr .ilix-desk-dl,#ilcourse .ilix-rr .ilix-desk-all{display:inline-flex;align-items:center;justify-content:center;gap:.5em;padding:.5em 1em;border-radius:999px;border:0;
  text-decoration:none;font-weight:700;font-size:.92em;white-space:nowrap}
#ilcourse .ilix-rr .ilix-desk-dl{background:var(--metal);color:var(--ilm-gink,#2B2110)}
#ilcourse .ilix-rr .ilix-desk-dl .ilix-ico,#ilcourse .ilix-rr .ilix-desk-all .ilix-ico{width:1.2em;height:1.2em}
#ilcourse .ilix-rr .ilix-desk-row.is-got .ilix-desk-dl{background:var(--ilm-t1,#2F7C74);color:#fff}
#ilcourse .ilix-rr .ilix-desk-all{margin-top:auto;padding:.8em 1em;background:var(--ilm-t0,#123F3D);color:var(--ilm-g3,#EBD9A2);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ilm-g2,#d6b160) 55%,transparent)}
#ilcourse .ilix-rr .ilix-desk-all:hover{background:var(--ilm-t1,#18524F)}
#ilcourse .ilix-rr .ilix-desk-note{margin:0;text-align:center;font:600 .78em/1 var(--mono);letter-spacing:.1em;color:#8B7B58}
#ilcourse .ilix-rr .ilix-end{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.9em;opacity:.6}
#ilcourse .ilix-rr .ilix-end-mark{width:10px;height:10px;border:1.5px solid var(--ilm-g2,#B79445);transform:rotate(45deg)}
#ilcourse .ilix-rr .ilix-end-t{font:italic 400 14px/1 var(--serif);color:#8B7B58}

/* magnifier */
#ilcourse .ilix-rr .ilix-loupe{position:fixed;left:0;top:0;width:176px;height:176px;border-radius:50%;z-index:12;pointer-events:none;background-color:var(--ilm-g4,#FBF8F0);background-repeat:no-repeat;
  box-shadow:0 0 0 4px var(--ilm-g2,#C9A45E),0 0 0 6px color-mix(in srgb,var(--ilm-g3,#ffecaa) 65%,transparent),0 16px 36px rgba(0,0,0,.55),inset 0 0 26px color-mix(in srgb,var(--ilm-gink,#3c280a) 30%,transparent)}
#ilcourse .ilix-rr .ilix-loupe::after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 30% 24%,rgba(255,255,255,.4),transparent 38%)}

/* full size */
#ilcourse .ilix-rr .ilix-fs{position:absolute;inset:0;z-index:20;display:flex;flex-direction:column;background:rgba(5,9,10,.97)}
#ilcourse .ilix-rr .ilix-fs-scroll{flex:1;min-height:0;overflow:auto;text-align:center;padding:18px;-webkit-overflow-scrolling:touch}
#ilcourse .ilix-rr .ilix-fs-scroll img{display:inline-block;max-width:none;background:var(--paper);border-radius:4px;box-shadow:0 20px 50px rgba(0,0,0,.5)}
#ilcourse .ilix-rr .ilix-fs-scroll img.is-fit{height:calc(100vh - 120px);width:auto;max-height:none;cursor:zoom-in}
#ilcourse .ilix-rr .ilix-fs-scroll img.is-full{width:min(2000px,200vw);height:auto;cursor:zoom-out}
#ilcourse .ilix-rr .ilix-fs-bar{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;padding:12px 16px 16px}
#ilcourse .ilix-rr .ilix-fs-hint{font:600 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb,var(--ilm-g4,#eeeae2) 60%,transparent)}
#ilcourse .ilix-rr .ilix-fs-dl,#ilcourse .ilix-rr .ilix-fs-x{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:999px;border:0;text-decoration:none;font:700 13px/1 var(--sans)}
#ilcourse .ilix-rr .ilix-fs-dl{background:var(--metal);color:var(--ilm-gink,#2B2110)}
#ilcourse .ilix-rr .ilix-fs-dl.is-got{background:var(--ilm-t1,#2F7C74);color:#fff}
#ilcourse .ilix-rr .ilix-fs-x{background:color-mix(in srgb,var(--ilm-g4,#eeeae2) 12%,transparent);color:var(--ilm-g4,#EEEAE2);border:1px solid color-mix(in srgb,var(--ilm-g4,#eeeae2) 25%,transparent)}
#ilcourse .ilix-rr .ilix-fs-dl .ilix-ico{width:16px;height:16px}

/* phone: one page at a time */
#ilcourse .ilix-rr[data-mode="single"] .ilix-rr-arr{top:auto;bottom:18px;margin:0}
#ilcourse .ilix-rr[data-mode="single"] .ilix-rr-arr.prev{left:calc(50% - 74px)}
#ilcourse .ilix-rr[data-mode="single"] .ilix-rr-arr.next{right:calc(50% - 74px)}
#ilcourse .ilix-rr[data-mode="single"] .ilix-stage{padding:60px 0 84px}
#ilcourse .ilix-rr[data-mode="single"] .ilix-rib{width:30px;height:58px}
#ilcourse .ilix-rr[data-mode="single"] .ilix-pg.is-R .ilix-rib{right:18px}
@media (max-width:640px){
  #ilcourse .ilix-rr .ilix-rr-top{grid-template-columns:1fr auto;padding:10px 14px}
  #ilcourse .ilix-rr .ilix-rr-pos{grid-column:1 / -1;grid-row:2;text-align:center}
  #ilcourse .ilix-rr .ilix-rr-title{font-size:18px}
  #ilcourse .ilix-rr .ilix-rr-btn{width:40px;height:40px}
}
@media (hover:none){#ilcourse .ilix-rr .ilix-rr-loupe{display:none}}
@media (prefers-reduced-motion:reduce){
  #ilcourse .ilix-rr,#ilcourse .ilix-rr *,#ilcourse .ilix-rr *::before,#ilcourse .ilix-rr *::after{animation:none !important;transition:none !important}
  #ilcourse .ill-content .ilix-shelf .ilix-art-title,#ilcourse .ill-content .ilix-shelf .ilix-bk-3d{animation:none !important;transition:none !important}
}

/* =========================================================================
   RESOLUTION CARDS (.resolutions-container) — "Relationship weather"
   a sky on every card: storm (rain, dark clouds, lightning) -> every offer brings one step of
   calm -> clear skies with the sun. The faces follow (mouth, brows, red -> amber -> green).
   --m (0..1) is set by interactions.js on each card; every layer reads it.
   needs : interactions.js (reads the old cards once and replaces them)
   ========================================================================= */
@keyframes ilix-rain-a{to{background-position:0 46px;-webkit-mask-position:0 46px;mask-position:0 46px}}
@keyframes ilix-rain-b{to{background-position:0 63px;-webkit-mask-position:0 63px;mask-position:0 63px}}
@keyframes ilix-flash{0%,84%,100%{opacity:0}86%{opacity:.75}88%{opacity:.08}90%{opacity:.6}94%{opacity:0}}
@keyframes ilix-drift{from{transform:translateX(-7%)}to{transform:translateX(7%)}}
@keyframes ilix-spin{to{transform:rotate(360deg)}}
@keyframes ilix-wxpop{0%{transform:scale(1)}40%{transform:scale(1.08)}100%{transform:scale(1)}}

#ilcourse .ill-content .ilix-wx{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:22px;align-items:start;max-width:1000px;margin:24px auto}
#ilcourse .ill-content .ilix-wx .ilix-wx-card{--m:0;position:relative;display:flex;flex-direction:column;min-width:0;background:var(--card);border:1px solid var(--line);border-radius:20px;
  overflow:hidden;box-shadow:var(--shadow)}
#ilcourse .ill-content .ilix-wx .ilix-wx-card [hidden]{display:none !important}

/* the sky */
#ilcourse .ill-content .ilix-wx .ilix-wx-sky{position:relative;height:250px;overflow:hidden;isolation:isolate;background:#0a0f14}
#ilcourse .ill-content .ilix-wx .wx-scene{position:absolute;inset:0;pointer-events:none}
#ilcourse .ill-content .ilix-wx .wx-l{position:absolute;inset:0;display:block}
#ilcourse .ill-content .ilix-wx .wx-clear{background:linear-gradient(180deg,#2f7fa8 0%,#86c4d4 52%,var(--ilm-g3,#f4d99a) 100%)}
#ilcourse .ill-content .ilix-wx .wx-over{background:linear-gradient(180deg,#46596a 0%,#6f8593 60%,#98a9b2 100%);opacity:clamp(0,calc(1.6 - var(--m) * 1.6),1)}
#ilcourse .ill-content .ilix-wx .wx-storm{background:linear-gradient(180deg,#090e13 0%,#16232c 55%,#24343f 100%);opacity:clamp(0,calc(1 - var(--m) * 2.2),1)}
#ilcourse .ill-content .ilix-wx .wx-rain{position:absolute;left:-30%;right:-30%;top:-70px;bottom:-30px;transform:rotate(14deg);
  background-image:linear-gradient(90deg,transparent 0 11px,rgba(185,212,232,.62) 11px 13px,transparent 13px 24px);background-size:24px 46px;
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 45%,transparent 78%);mask-image:linear-gradient(180deg,transparent 0,#000 45%,transparent 78%);
  -webkit-mask-size:100% 46px;mask-size:100% 46px;opacity:clamp(0,calc(1 - var(--m) * 2.3),1);animation:ilix-rain-a .55s linear infinite}
#ilcourse .ill-content .ilix-wx .wx-rain.b{background-image:linear-gradient(90deg,transparent 0 14px,rgba(185,212,232,.4) 14px 15px,transparent 15px 31px);background-size:31px 63px;
  -webkit-mask-size:100% 63px;mask-size:100% 63px;opacity:clamp(0,calc((1 - var(--m) * 2.3) * .7),1);animation:ilix-rain-b .85s linear infinite}
#ilcourse .ill-content .ilix-wx .wx-flash{position:absolute;inset:0;opacity:clamp(0,calc(1 - var(--m) * 4),1)}
#ilcourse .ill-content .ilix-wx .wx-flash i{position:absolute;inset:0;background:radial-gradient(70% 90% at 62% 16%,rgba(224,238,255,.95),rgba(160,190,255,.16) 55%,transparent 76%);opacity:0;animation:ilix-flash 6.5s infinite}
#ilcourse .ill-content .ilix-wx .wx-sunwrap{position:absolute;left:50%;top:0;width:0;height:0;transform:translateY(calc(310px - var(--m) * 210px));opacity:clamp(0,calc((var(--m) - .26) * 3),1)}
#ilcourse .ill-content .ilix-wx .wx-sun{position:absolute;left:-38px;top:-38px;width:76px;height:76px;border-radius:50%;
  background:radial-gradient(circle at 38% 34%,var(--ilm-g4,#FFF6CF),var(--ilm-g3,#F8D970) 46%,var(--ilm-g2,#E9B23C) 100%);box-shadow:0 0 40px 14px color-mix(in srgb,var(--ilm-g3,#ffd678) 55%,transparent),0 0 96px 34px color-mix(in srgb,var(--ilm-g3,#ffc864) 30%,transparent)}
#ilcourse .ill-content .ilix-wx .wx-rays{position:absolute;left:-160px;top:-160px;width:320px;height:320px;border-radius:50%;
  background:repeating-conic-gradient(from 0deg,color-mix(in srgb,var(--ilm-g3,#ffecaa) 42%,transparent) 0 5deg,transparent 5deg 15deg);
  -webkit-mask-image:radial-gradient(circle,#000 0,transparent 68%);mask-image:radial-gradient(circle,#000 0,transparent 68%);
  opacity:clamp(0,calc((var(--m) - .66) * 3),1);animation:ilix-spin 60s linear infinite}
#ilcourse .ill-content .ilix-wx .wx-clouds{position:absolute;inset:0}
#ilcourse .ill-content .ilix-wx .wx-cloud{position:absolute;display:block;color:#5a6d7b;--dir:1;
  transform:translateX(calc(var(--dir) * var(--m) * 80px));opacity:calc(1 - var(--m) * .62);filter:brightness(calc(.5 + var(--m) * 1))}
#ilcourse .ill-content .ilix-wx .wx-cloud svg{display:block;width:100%;height:auto;animation:ilix-drift 11s ease-in-out infinite alternate}
#ilcourse .ill-content .ilix-wx .wx-cloud.c1{left:-4%;top:8%;width:46%;--dir:-1}
#ilcourse .ill-content .ilix-wx .wx-cloud.c2{left:42%;top:2%;width:52%;--dir:1}
#ilcourse .ill-content .ilix-wx .wx-cloud.c3{left:16%;top:26%;width:40%;--dir:-1}
#ilcourse .ill-content .ilix-wx .wx-cloud.c3 svg{animation-duration:14s;animation-direction:alternate-reverse}
#ilcourse .ill-content .ilix-wx .wx-cloud.c4{left:62%;top:30%;width:36%;--dir:1}
#ilcourse .ill-content .ilix-wx .wx-cloud.c4 svg{animation-duration:9s}
#ilcourse .ill-content .ilix-wx .wx-hills{position:absolute;left:0;right:0;bottom:0;width:100%;height:84px;filter:brightness(calc(.55 + var(--m) * .8))}
#ilcourse .ill-content .ilix-wx .wx-hills .h1{fill:#21424b}
#ilcourse .ill-content .ilix-wx .wx-hills .h2{fill:#142a31}

/* badge and the two faces */
#ilcourse .ill-content .ilix-wx .ilix-wx-badge{position:absolute;left:14px;top:14px;z-index:3;display:inline-flex;align-items:center;gap:7px;padding:6px 11px 6px 9px;border-radius:999px;
  background:rgba(8,14,16,.5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.16);
  color:var(--ilm-g4,#F1ECE0);font:600 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase}
#ilcourse .ill-content .ilix-wx .ilix-wx-badge::before{content:"";width:7px;height:7px;border-radius:50%;background:#ef5a5a;transition:background .6s}
#ilcourse .ill-content .ilix-wx .ilix-wx-badge[data-stage="1"]::before{background:#e9894c}
#ilcourse .ill-content .ilix-wx .ilix-wx-badge[data-stage="2"]::before{background:var(--ilm-g2,#e9b44c)}
#ilcourse .ill-content .ilix-wx .ilix-wx-badge[data-stage="3"]::before{background:#b7cf62}
#ilcourse .ill-content .ilix-wx .ilix-wx-badge[data-stage="4"]::before{background:#4fcf8a}
#ilcourse .ill-content .ilix-wx .ilix-wx-chars{position:absolute;left:12px;right:12px;bottom:12px;z-index:3;display:flex;gap:10px}
#ilcourse .ill-content .ilix-wx .ilix-wx-char{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 8px 9px;border-radius:14px;
  background:rgba(8,14,16,.46);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.16);box-shadow:0 8px 22px rgba(0,0,0,.25)}
#ilcourse .ill-content .ilix-wx .ilix-wx-char.is-pop{animation:ilix-wxpop .45s ease}
#ilcourse .ill-content .ilix-wx .ilix-wx-label{min-height:2.4em;display:flex;align-items:center;text-align:center;color:var(--ilm-g4,#F1ECE0);font:600 12px/1.2 var(--sans)}
#ilcourse .ill-content .ilix-wx .ilix-wx-label.is-new{animation:ilix-rise .5s ease both}
#ilcourse .ill-content .ilix-wx .ilix-wx-face{width:46px;height:46px;flex:none;color:#ef5a5a}
#ilcourse .ill-content .ilix-wx .ilix-wx-face circle,#ilcourse .ill-content .ilix-wx .ilix-wx-face path{stroke-width:1.6;stroke-linecap:round}
#ilcourse .ill-content .ilix-wx .ilix-wx-face .f-skin{fill:currentColor;fill-opacity:.16;stroke:currentColor}
#ilcourse .ill-content .ilix-wx .ilix-wx-face .f-blush{fill:currentColor;stroke:none;opacity:0}
#ilcourse .ill-content .ilix-wx .ilix-wx-face .f-brow,#ilcourse .ill-content .ilix-wx .ilix-wx-face .f-mouth{fill:none;stroke:currentColor}
#ilcourse .ill-content .ilix-wx .ilix-wx-face .f-eye{fill:currentColor;stroke:none}
#ilcourse .ill-content .ilix-wx .ilix-wx-spark{position:absolute;left:50%;top:98px;z-index:4;width:5px;height:5px;margin:-2.5px;border-radius:50%;background:var(--ilm-g3,#FFE08A);pointer-events:none;
  animation:ilix-spark 1.1s cubic-bezier(.2,.7,.3,1) both}

/* the body */
#ilcourse .ill-content .ilix-wx .ilix-wx-body{display:flex;flex-direction:column;gap:14px;padding:20px 18px 22px}
#ilcourse .ill-content .ilix-wx .ilix-wx-title{margin:0;text-align:center;font-family:var(--serif);font-weight:400;font-size:24px;line-height:1.15;color:var(--text)}
#ilcourse .ill-content .ilix-wx .ilix-wx-etio{margin:0;text-align:center;color:var(--muted);font-size:14px;line-height:1.55}
#ilcourse .ill-content .ilix-wx .ilix-wx-offer{-webkit-appearance:none;appearance:none;align-self:center;margin:2px 0 0;padding:13px 28px;border:0;border-radius:999px;background:var(--metal);color:var(--ilm-gink,#2B2110);
  font:700 14.5px/1 var(--sans);letter-spacing:.02em;cursor:pointer;animation:ilix-ping-gold 2s ease-out infinite;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}
#ilcourse .ill-content .ilix-wx .ilix-wx-offer:hover{transform:translateY(-2px) scale(1.03)}
#ilcourse .ill-content .ilix-wx .ilix-wx-offer:focus-visible,#ilcourse .ill-content .ilix-wx .ilix-wx-opt:focus-visible,#ilcourse .ill-content .ilix-wx .ilix-wx-replay:focus-visible{outline:2px solid var(--ilm-g2,#C9A45E);outline-offset:3px}
@keyframes ilix-ping-gold{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--ilm-g2,#c9a45e) 55%,transparent)}70%{box-shadow:0 0 0 13px color-mix(in srgb,var(--ilm-g2,#c9a45e) 0%,transparent)}100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--ilm-g2,#c9a45e) 0%,transparent)}}
#ilcourse .ill-content .ilix-wx .ilix-wx-opts{display:flex;flex-direction:column;gap:10px}
#ilcourse .ill-content .ilix-wx .ilix-wx-opts-t{margin:0;text-align:center;font:600 14px/1.4 var(--sans);color:var(--text)}
#ilcourse .ill-content .ilix-wx .ilix-wx-list{display:grid;gap:8px}
#ilcourse .ill-content .ilix-wx .ilix-wx-opts.is-open .ilix-wx-opt{animation:ilix-rise .5s cubic-bezier(.22,1,.36,1) var(--d,0ms) both}
#ilcourse .ill-content .ilix-wx .ilix-wx-opt{-webkit-appearance:none;appearance:none;position:relative;overflow:hidden;display:flex;align-items:center;gap:12px;width:100%;margin:0;padding:11px 14px 11px 11px;
  text-align:left;border-radius:12px;border:1px solid var(--line);background:var(--raise);color:var(--text);font:500 14.5px/1.4 var(--sans);cursor:pointer;
  transition:border-color .3s,transform .3s}
#ilcourse .ill-content .ilix-wx .ilix-wx-opt::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,color-mix(in srgb,var(--ilm-g2,#c9a45e) 28%,transparent),color-mix(in srgb,var(--ilm-g2,#c9a45e) 6%,transparent));
  transform:scaleX(0);transform-origin:left;transition:transform .6s cubic-bezier(.22,1,.36,1)}
#ilcourse .ill-content .ilix-wx .ilix-wx-opt:hover:not(.is-on){border-color:color-mix(in srgb,var(--ilm-g2,#c9a45e) 60%,transparent);transform:translateY(-1px)}
#ilcourse .ill-content .ilix-wx .ilix-wx-opt.is-on{cursor:default;border-color:color-mix(in srgb,var(--ilm-g2,#c9a45e) 55%,transparent)}
#ilcourse .ill-content .ilix-wx .ilix-wx-opt.is-on::before{transform:scaleX(1)}
#ilcourse .ill-content .ilix-wx .ilix-wx-mark{position:relative;z-index:1;flex:none;width:26px;height:26px;border-radius:50%;box-sizing:border-box;display:flex;align-items:center;justify-content:center;
  border:1.5px solid color-mix(in srgb,var(--ilm-g2,#c9a45e) 80%,transparent);color:var(--ilm-gink,#2B2110);font:700 11px/1 var(--mono);transition:background .4s,border-color .4s}
#ilcourse .ill-content .ilix-wx .ilix-wx-mark .n{color:var(--goldtx);transition:opacity .2s}
#ilcourse .ill-content .ilix-wx .ilix-wx-mark svg{position:absolute;inset:4px;width:calc(100% - 8px);height:calc(100% - 8px);fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
#ilcourse .ill-content .ilix-wx .ilix-wx-mark path{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .45s cubic-bezier(.65,0,.35,1) .1s}
#ilcourse .ill-content .ilix-wx .ilix-wx-opt.is-on .ilix-wx-mark{background:var(--metal);border-color:transparent}
#ilcourse .ill-content .ilix-wx .ilix-wx-opt.is-on .ilix-wx-mark .n{opacity:0}
#ilcourse .ill-content .ilix-wx .ilix-wx-opt.is-on .ilix-wx-mark path{stroke-dashoffset:0}
#ilcourse .ill-content .ilix-wx .ilix-wx-opt-t{position:relative;z-index:1;flex:1;min-width:0}
#ilcourse .ill-content .ilix-wx .ilix-wx-replay{-webkit-appearance:none;appearance:none;align-self:center;display:inline-flex;align-items:center;gap:7px;margin:4px 0 0;padding:8px 15px;border-radius:999px;
  border:1px solid var(--line);background:transparent;color:var(--muted);font:600 12px/1 var(--sans);letter-spacing:.04em;cursor:pointer;transition:color .25s,border-color .25s}
#ilcourse .ill-content .ilix-wx .ilix-wx-replay:hover{color:var(--text);border-color:var(--ac)}
#ilcourse .ill-content .ilix-wx .ilix-wx-replay svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#ilcourse .ill-content .ilix-wx .ilix-wx-card.is-resolved{border-color:color-mix(in srgb,var(--ilm-g2,#c9a45e) 50%,transparent)}

@media (max-width:480px){
  #ilcourse .ill-content .ilix-wx .ilix-wx-sky{height:236px}
  #ilcourse .ill-content .ilix-wx .ilix-wx-title{font-size:21px}
}
@media (prefers-reduced-motion:reduce){
  #ilcourse .ill-content .ilix-wx .ilix-wx-card *,#ilcourse .ill-content .ilix-wx .ilix-wx-card *::before,#ilcourse .ill-content .ilix-wx .ilix-wx-card *::after{animation:none !important;transition:none !important}
}

/* =========================================================================
   DO / DON'T CARDS (.L2-container) — ribbon and tape
   Do    : flat green thumbs-up (pumps), closed with a gold ribbon
   Don't : flat red thumbs-down (dips and shakes), closed with red-and-white barrier tape
   open  : slash across the ribbon / tape, or tap it, or press Enter: the two halves fall away,
           the list comes out below with a tick (Do) or a cross (Don't) on every row
   needs : interactions.js (reads the old flip cards once and replaces them)
   ========================================================================= */
@keyframes ilix-dd-pump{0%,60%,100%{transform:rotate(0) translateY(0) scale(1)}12%{transform:rotate(-12deg) translateY(-4px) scale(1.07)}24%{transform:rotate(4deg) translateY(1px) scale(1)}36%{transform:rotate(-6deg) translateY(-2px) scale(1.03)}48%{transform:rotate(0) translateY(0) scale(1)}}
@keyframes ilix-dd-dip{0%,60%,100%{transform:rotate(0) translateY(0)}10%{transform:rotate(10deg) translateY(5px)}22%{transform:rotate(-5deg) translateY(-1px)}34%{transform:rotate(7deg) translateY(4px)}48%{transform:rotate(0) translateY(0)}}
@keyframes ilix-dd-pop{0%{transform:scale(1) rotate(0)}35%{transform:scale(1.32) rotate(-14deg) translateY(-6px)}65%{transform:scale(.96) rotate(4deg)}100%{transform:scale(1) rotate(0)}}
@keyframes ilix-dd-twinkle{0%,100%{opacity:0;transform:scale(.3) rotate(0)}45%{opacity:1;transform:scale(1) rotate(45deg)}}
@keyframes ilix-dd-nope{0%{transform:rotate(0)}20%{transform:rotate(-20deg)}45%{transform:rotate(20deg)}70%{transform:rotate(-10deg)}100%{transform:rotate(0)}}
@keyframes ilix-dd-bob{0%,100%{transform:rotate(90deg) translateX(-3px)}50%{transform:rotate(90deg) translateX(3px)}}
@keyframes ilix-dd-snip{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(-17deg)}}
@keyframes ilix-dd-snip2{0%,100%{transform:rotate(3deg)}50%{transform:rotate(17deg)}}
@keyframes ilix-dd-snipdown{0%{transform:rotate(90deg) translateX(0);opacity:1}45%{transform:rotate(90deg) translateX(26px);opacity:1}100%{transform:rotate(90deg) translateX(34px);opacity:0}}
@keyframes ilix-dd-fall-l{0%{transform:none;opacity:1}28%{transform:rotate(6deg) translateY(3px);opacity:1}100%{transform:rotate(28deg) translateY(130px);opacity:0}}
@keyframes ilix-dd-fall-r{0%{transform:none;opacity:1}28%{transform:rotate(-6deg) translateY(3px);opacity:1}100%{transform:rotate(-28deg) translateY(130px);opacity:0}}
@keyframes ilix-dd-flash{0%{opacity:0}18%{opacity:1}100%{opacity:0}}
@keyframes ilix-dd-hint{from{opacity:.5}to{opacity:1}}
@keyframes ilix-dd-sheen{0%{transform:translateX(-120%) skewX(-20deg)}60%,100%{transform:translateX(420%) skewX(-20deg)}}

#ilcourse .ill-content .ilix-dd-wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:22px;align-items:start;max-width:900px;margin:26px auto}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd{--acc:var(--ilm-g2,#C9A45E);--glow:color-mix(in srgb,var(--ilm-g2,#c9a45e) 14%,transparent);--spk:var(--ilm-g3,#FFE08A);--ring:var(--metal);position:relative;min-width:0;border-radius:20px;overflow:hidden;
  background:radial-gradient(120% 60% at 50% 0%,var(--glow),transparent 62%),var(--card);border:1px solid var(--line);box-shadow:var(--shadow)}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd.is-do{--acc:#4FCF8A;--glow:rgba(79,207,138,.17);--ring:linear-gradient(135deg,#4FCF8A,var(--ilm-g3,#E8C97A))}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd.is-dont{--acc:#E8434F;--glow:rgba(232,67,79,.17);--spk:#E8434F;--ring:linear-gradient(135deg,#F0646F,#8E1F2B)}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd [hidden]{display:none !important}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd-top{padding:26px 22px 0;text-align:center}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd-medal{position:relative;display:flex;align-items:center;justify-content:center;width:112px;height:112px;margin:0 auto;border-radius:50%;box-sizing:border-box}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd.is-note .ilix-dd-medal{border:3px solid transparent;box-shadow:0 12px 28px rgba(0,0,0,.3);background:radial-gradient(circle at 34% 26%,rgba(255,255,255,.14),transparent 55%) padding-box,linear-gradient(160deg,var(--ilm-t0,#173d3c),var(--ilm-t0,#0d2726)) padding-box,var(--ring) border-box}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd-ico{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 10px 16px rgba(0,0,0,.32))}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd-ico .c-bg{fill:#5CB946}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd.is-dont .ilix-dd-ico .c-bg{fill:#EF4444}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd-ico .c-sh{fill:rgba(0,0,0,.15)}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd-ico .c-hl{fill:rgba(255,255,255,.16)}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd-ico .c-ring{fill:none;stroke:#141414;stroke-width:3.4}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd-ico .hand{fill:#FDE5D0;stroke:#141414;stroke-width:2.6;stroke-linejoin:round}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd-ico .cuff{fill:#F47B20;stroke:#141414;stroke-width:2.6;stroke-linejoin:round}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd-ico .ico-hand{transform-box:fill-box;transform-origin:35% 80%}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd.is-do .ilix-dd-ico .ico-hand{animation:ilix-dd-pump 3s ease-in-out infinite}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd.is-dont .ilix-dd-ico .ico-hand{transform-origin:35% 20%;animation:ilix-dd-dip 3s ease-in-out infinite}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd.is-do.is-open .ilix-dd-ico .ico-hand{animation:ilix-dd-pop .9s cubic-bezier(.34,1.56,.64,1) both}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd.is-dont.is-open .ilix-dd-ico .ico-hand{animation:ilix-dd-nope .8s ease both}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd-sparks{position:absolute;inset:-14px;pointer-events:none}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd-sparks .spk{position:absolute;width:14px;height:14px;opacity:0;animation:ilix-dd-twinkle 2.6s ease-in-out infinite}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd-sparks .spk svg{display:block;width:100%;height:100%;fill:var(--ilm-g3,#FFE08A)}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd-sparks .s1{left:6px;top:14px;animation-delay:.2s}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd-sparks .s2{right:2px;top:4px;animation-delay:1.1s}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd-sparks .s3{right:10px;bottom:8px;animation-delay:1.8s;width:10px;height:10px}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd-sparks .s4{left:0;bottom:22px;animation-delay:.7s;width:9px;height:9px}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd-img{width:100%;height:100%;border-radius:50%;object-fit:cover}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd-dia{width:26px;height:26px;border:2.5px solid var(--ilm-g2,#D6B160);transform:rotate(45deg)}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd-title{margin:16px 0 6px;font-family:var(--serif);font-weight:400;font-size:32px;line-height:1.1;color:var(--text)}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd-sub{margin:0;max-height:3em;overflow:hidden;color:var(--muted);font-size:14px;line-height:1.5;transition:max-height .5s,opacity .4s}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd.is-open .ilix-dd-sub{max-height:0;opacity:0}

/* the ribbon / tape */
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd-seal{position:relative;height:100px;margin-top:20px;transition:height .6s cubic-bezier(.22,1,.36,1) .3s}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd.is-open .ilix-dd-seal{height:0}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd-band{-webkit-appearance:none;appearance:none;position:absolute;left:0;right:0;top:22px;height:50px;margin:0;padding:0;border:0;background:none;cursor:grab;
  touch-action:none;outline:none;--cx:50%}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd-band::before{content:"";position:absolute;left:0;right:0;top:-20px;bottom:-20px}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd.is-grab .ilix-dd-band{cursor:grabbing}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd-band:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--ilm-g2,#c9a45e) 70%,transparent)}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd-half{position:absolute;inset:0;pointer-events:none}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd-strip{position:absolute;inset:0;display:block;overflow:hidden;
  background:linear-gradient(180deg,var(--ilm-g1,#8f6c2a) 0%,var(--ilm-g3,#f2dc98) 20%,var(--ilm-g2,#dcb55c) 46%,var(--ilm-g1,#b08630) 74%,var(--ilm-g1,#7a5820) 100%);
  box-shadow:inset 0 2px 0 color-mix(in srgb,var(--ilm-g4,#fff6cd) 75%,transparent),inset 0 -2px 0 color-mix(in srgb,var(--ilm-gink,#3c280a) 40%,transparent),0 6px 14px rgba(0,0,0,.3)}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd-strip::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.07) 0 1px,transparent 1px 4px)}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd-strip::after{content:"";position:absolute;top:0;bottom:0;left:0;width:26%;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--ilm-g4,#fffceb) 55%,transparent),transparent);
  animation:ilix-dd-sheen 4.2s ease-in-out infinite}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd.is-dont .ilix-dd-strip{background:var(--ilm-g4,#F5EFE3);box-shadow:inset 0 7px 0 #C8283A,inset 0 -7px 0 #C8283A,0 6px 14px rgba(0,0,0,.3)}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd.is-dont .ilix-dd-strip::before{content:"DON'T CROSS  \25C6  DON'T CROSS  \25C6  DON'T CROSS  \25C6  DON'T CROSS  \25C6  DON'T CROSS  \25C6  DON'T CROSS  \25C6  DON'T CROSS";
  position:absolute;inset:7px 0;display:flex;align-items:center;white-space:pre;background:none;padding-left:10px;
  font:800 14px/1 var(--mono);letter-spacing:.2em;color:#C8283A}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd.is-dont .ilix-dd-strip::after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent)}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd.is-note .ilix-dd-strip{background:linear-gradient(180deg,var(--ilm-t0,#0d3534) 0%,var(--ilm-t1,#1f6f6a) 30%,var(--ilm-t1,#17504d) 70%,var(--ilm-t0,#0b2b2a) 100%);box-shadow:inset 0 2px 0 color-mix(in srgb,var(--ilm-g2,#d6b160) 80%,transparent),inset 0 -2px 0 color-mix(in srgb,var(--ilm-g2,#d6b160) 60%,transparent),0 6px 14px rgba(0,0,0,.3)}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd:not(.is-cut) .ilix-dd-half.r{display:none}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd.is-cut .ilix-dd-half.l{clip-path:inset(0 calc(100% - var(--cx)) 0 0);transform-origin:0 50%;animation:ilix-dd-fall-l .95s cubic-bezier(.5,0,.8,.6) .16s both}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd.is-cut .ilix-dd-half.r{clip-path:inset(0 0 0 var(--cx));transform-origin:100% 50%;animation:ilix-dd-fall-r .95s cubic-bezier(.5,0,.8,.6) .16s both}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd-flash{position:absolute;top:-10px;bottom:-10px;left:var(--cx);width:2px;margin-left:-1px;background:#fff;box-shadow:0 0 14px 4px rgba(255,255,255,.75);opacity:0;pointer-events:none}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd.is-cut .ilix-dd-flash{animation:ilix-dd-flash .5s ease-out}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd-scissors{position:absolute;left:var(--sx,50%);top:-16px;width:44px;height:44px;margin-left:-22px;pointer-events:none;z-index:3;
  transform:rotate(90deg);animation:ilix-dd-bob 1.8s ease-in-out infinite;filter:drop-shadow(0 4px 6px rgba(0,0,0,.5))}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd.is-grab .ilix-dd-scissors{animation:none}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd-scissors svg{display:block;width:100%;height:100%;overflow:visible;fill:none;stroke-linecap:round}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd-scissors .sb path{stroke:#EEF2F4;stroke-width:2.2}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd-scissors .sb circle{stroke:var(--acc);stroke-width:1.9}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd-scissors .piv{fill:var(--acc);stroke:none}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd-scissors .sb{transform-origin:12px 12px}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd-scissors .sb1{animation:ilix-dd-snip 1.1s ease-in-out infinite}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd-scissors .sb2{animation:ilix-dd-snip2 1.1s ease-in-out infinite}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd.is-cut .ilix-dd-scissors{animation:ilix-dd-snipdown .55s ease both}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd.is-cut .ilix-dd-scissors .sb1{animation:none;transform:rotate(-1deg)}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd.is-cut .ilix-dd-scissors .sb2{animation:none;transform:rotate(1deg)}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd-hint{position:absolute;left:0;right:0;top:80px;text-align:center;font:600 11px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);
  animation:ilix-dd-hint 1.8s ease-in-out infinite alternate;transition:opacity .3s}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd.is-cut .ilix-dd-hint,#ilcourse .ill-content .ilix-dd-wrap .ilix-dd.is-grab .ilix-dd-hint{opacity:0;animation:none}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd-spark{position:absolute;top:47px;z-index:5;width:6px;height:6px;margin:-3px;border-radius:50%;background:var(--spk);pointer-events:none;
  animation:ilix-spark 1.1s cubic-bezier(.2,.7,.3,1) both}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd-spark.w{background:var(--ilm-g4,#F5EFE3)}

/* the list */
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd-bay{display:grid;grid-template-rows:0fr;transition:grid-template-rows .75s cubic-bezier(.22,1,.36,1) .12s}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd.is-open .ilix-dd-bay{grid-template-rows:1fr}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd-bay-in{min-height:0;overflow:hidden;visibility:hidden;transition:visibility 0s .9s}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd.is-open .ilix-dd-bay-in{visibility:visible;transition-delay:0s}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd-panel{padding:22px 20px 24px}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd-list-t{margin:0 0 14px;text-align:center;outline:none;font:600 12px/1.3 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--acc)}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd-body ul,#ilcourse .ill-content .ilix-dd-wrap .ilix-dd-body ol{list-style:none;margin:0;padding:0;display:grid;gap:9px}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd-body li{display:flex;align-items:flex-start;gap:12px;margin:0;padding:11px 13px;box-sizing:border-box;border-radius:12px;background:var(--raise);
  border:1px solid var(--line);color:var(--text);font-size:15.5px;line-height:1.55;opacity:0}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd.is-open .ilix-dd-body li{animation:ilix-rise .55s cubic-bezier(.22,1,.36,1) var(--d,0ms) both}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd-body p{margin:0 0 10px;color:var(--text);font-size:15.5px;line-height:1.6}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd-t{flex:1;min-width:0}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd-mk{position:relative;flex:none;width:24px;height:24px;margin-top:1px;border-radius:50%;box-sizing:border-box;display:flex;align-items:center;justify-content:center;
  background:var(--metal);color:var(--ilm-gink,#2B2110)}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd.is-dont .ilix-dd-mk{background:linear-gradient(135deg,#F0646F,#B02535);color:#fff}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd.is-do .ilix-dd-mk{background:linear-gradient(135deg,#6FE0A2,var(--ilm-g2,#D9C46C));color:#10301f}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd-mk svg{position:absolute;inset:4px;width:calc(100% - 8px);height:calc(100% - 8px);fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd-mk path{stroke-dasharray:1;stroke-dashoffset:1}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd.is-open .ilix-dd-mk path{stroke-dashoffset:0;transition:stroke-dashoffset .5s cubic-bezier(.65,0,.35,1) calc(var(--d,0ms) + .25s)}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd.is-dont .ilix-dd-body li{border-color:rgba(232,67,79,.28)}
#ilcourse .ill-content .ilix-dd-wrap .ilix-dd.is-do .ilix-dd-body li{border-color:rgba(79,207,138,.3)}

@media (max-width:480px){
  #ilcourse .ill-content .ilix-dd-wrap .ilix-dd-medal{width:98px;height:98px}
  #ilcourse .ill-content .ilix-dd-wrap .ilix-dd-title{font-size:28px}
}
@media (prefers-reduced-motion:reduce){
  #ilcourse .ill-content .ilix-dd-wrap .ilix-dd *,#ilcourse .ill-content .ilix-dd-wrap .ilix-dd *::before,#ilcourse .ill-content .ilix-dd-wrap .ilix-dd *::after{animation:none !important;transition:none !important}
  #ilcourse .ill-content .ilix-dd-wrap .ilix-dd.is-open .ilix-dd-body li{opacity:1}
}

/* =========================================================================
   STEPS (.L3-container) — expanding panels
   every step is a vertical panel; the open one is wide (whole picture on a blurred copy of itself,
   with number, title and text beside it); the others stay as narrow strips of their picture.
   on a narrow screen the panels stack and open like an accordion.
   needs : interactions.js (reads the old buttons once and replaces them)
   ========================================================================= */
#ilcourse .ill-content .ilix-ep{--epa:600px;position:relative;display:flex;gap:10px;height:clamp(380px,48vw,520px);margin:24px 0;touch-action:pan-y}
#ilcourse .ill-content .ilix-ep .ilix-ep-panel{position:relative;flex:1 1 0;min-width:0;overflow:hidden;border-radius:18px;border:1px solid var(--line);background:var(--ilm-t0,#0b1517);box-shadow:var(--shadow);
  transition:flex-grow .75s cubic-bezier(.22,1,.36,1),border-color .5s}
#ilcourse .ill-content .ilix-ep .ilix-ep-panel.is-on{flex-grow:7;border-color:color-mix(in srgb,var(--ilm-g2,#c9a45e) 50%,transparent)}
#ilcourse .ill-content .ilix-ep .ilix-ep-panel [hidden]{display:none !important}

#ilcourse .ill-content .ilix-ep .ep-head{-webkit-appearance:none;appearance:none;position:absolute;inset:0;z-index:4;width:100%;height:100%;margin:0;padding:0;border:0;background:none;cursor:pointer}
#ilcourse .ill-content .ilix-ep .ilix-ep-panel.is-on .ep-head{pointer-events:none}
#ilcourse .ill-content .ilix-ep .ep-head:focus-visible{outline:2px solid var(--ilm-g2,#C9A45E);outline-offset:-5px;border-radius:18px}
#ilcourse .ill-content .ilix-ep .ep-strip{position:absolute;inset:0;background:center / cover no-repeat;transition:opacity .6s,transform 1s cubic-bezier(.22,1,.36,1)}
#ilcourse .ill-content .ilix-ep .ep-strip::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,color-mix(in srgb,var(--ilm-t0,#060c0d) 42%,transparent),color-mix(in srgb,var(--ilm-t0,#060c0d) 14%,transparent) 40%,color-mix(in srgb,var(--ilm-t0,#060c0d) 74%,transparent));transition:background .4s}
#ilcourse .ill-content .ilix-ep .ilix-ep-panel:not(.is-on):hover .ep-strip::after{background:linear-gradient(180deg,color-mix(in srgb,var(--ilm-t0,#060c0d) 30%,transparent),color-mix(in srgb,var(--ilm-t0,#060c0d) 5%,transparent) 40%,color-mix(in srgb,var(--ilm-t0,#060c0d) 62%,transparent))}
#ilcourse .ill-content .ilix-ep .ilix-ep-panel:not(.is-on):hover .ep-strip{transform:scale(1.05)}
#ilcourse .ill-content .ilix-ep .ilix-ep-panel.is-noimg .ep-strip{background:linear-gradient(160deg,var(--ilm-t0,#173d3c),var(--ilm-t0,#0d2726))}
#ilcourse .ill-content .ilix-ep .ilix-ep-panel.is-on .ep-strip{opacity:0;transform:scale(1.1)}
#ilcourse .ill-content .ilix-ep .ep-num{position:absolute;top:16px;left:0;right:0;z-index:2;text-align:center;font-family:var(--serif);font-size:34px;line-height:1;color:var(--ilm-g4,#F6EFD9);
  text-shadow:0 2px 12px rgba(0,0,0,.6);transition:opacity .35s}
#ilcourse .ill-content .ilix-ep .ep-vt{position:absolute;left:50%;bottom:18px;z-index:2;max-height:calc(100% - 90px);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;
  writing-mode:vertical-rl;transform:translateX(-50%) rotate(180deg);font:600 13px/1 var(--sans);letter-spacing:.08em;color:color-mix(in srgb,var(--ilm-g4,#f6efd9) 94%,transparent);
  text-shadow:0 2px 8px rgba(0,0,0,.6);transition:opacity .35s}
#ilcourse .ill-content .ilix-ep .ilix-ep-panel.is-on .ep-num,#ilcourse .ill-content .ilix-ep .ilix-ep-panel.is-on .ep-vt{opacity:0}
#ilcourse .ill-content .ilix-ep .ep-bd{position:absolute;inset:-30px;background:center / cover no-repeat;filter:blur(26px) brightness(.5) saturate(1.1);opacity:0;transition:opacity .7s .1s}
#ilcourse .ill-content .ilix-ep .ilix-ep-panel.is-on .ep-bd{opacity:1}
#ilcourse .ill-content .ilix-ep .ilix-ep-panel.is-on.is-noimg{background:linear-gradient(160deg,var(--ilm-t0,#173d3c),var(--ilm-t0,#0d2726))}

/* the open panel: laid out at its final width, so the content is uncovered (not squeezed) as the panel grows */
#ilcourse .ill-content .ilix-ep .ep-in{position:absolute;left:0;top:0;bottom:0;z-index:3;width:var(--epa);visibility:hidden;opacity:0;transition:opacity .4s,visibility 0s .6s}
#ilcourse .ill-content .ilix-ep .ilix-ep-panel.is-on .ep-in{visibility:visible;opacity:1;transition:opacity .6s .35s,visibility 0s}
#ilcourse .ill-content .ilix-ep .ep-grid{box-sizing:border-box;height:100%;padding:16px;display:grid;gap:18px;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;align-items:center}
#ilcourse .ill-content .ilix-ep.is-split .ep-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
#ilcourse .ill-content .ilix-ep .ilix-ep-panel.is-noimg .ep-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);align-items:center}
#ilcourse .ill-content .ilix-ep .ilix-ep-panel.is-noimg .ep-pic{display:none}
#ilcourse .ill-content .ilix-ep .ep-pic{position:relative;min-height:0;height:100%;display:flex;align-items:center;justify-content:center}
#ilcourse .ill-content .ilix-ep .ep-fg{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:12px;background:var(--ilm-t0,#0b1517);border:1px solid rgba(255,255,255,.16);
  box-shadow:0 18px 40px rgba(0,0,0,.5);cursor:zoom-in}
#ilcourse .ill-content .ilix-ep .ep-zoom{-webkit-appearance:none;appearance:none;position:absolute;top:8px;right:8px;width:38px;height:38px;margin:0;padding:0;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:color-mix(in srgb,var(--ilm-t0,#0a1213) 60%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid color-mix(in srgb,var(--ilm-g4,#eeeae2) 25%,transparent);color:var(--ilm-g4,#EEEAE2);cursor:pointer;
  transition:background .25s,border-color .25s}
#ilcourse .ill-content .ilix-ep .ep-zoom:hover{background:color-mix(in srgb,var(--ilm-g2,#d4af5f) 35%,transparent);border-color:color-mix(in srgb,var(--ilm-g2,#d4af5f) 75%,transparent)}
#ilcourse .ill-content .ilix-ep .ep-zoom svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#ilcourse .ill-content .ilix-ep .ep-txt{min-width:0;min-height:0;display:flex;flex-direction:column;gap:10px;justify-content:center;color:var(--ilm-g4,#F6EFD9);overflow:auto}
#ilcourse .ill-content .ilix-ep .ep-chip{font:600 11px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ilm-g3,#E8C97A)}
#ilcourse .ill-content .ilix-ep .ep-title{margin:0;font-family:var(--serif);font-weight:400;font-size:28px;line-height:1.12;color:#fff}
#ilcourse .ill-content .ilix-ep .ep-title::after{content:"";display:block;width:52px;height:2px;margin-top:14px;border-radius:2px;background:var(--metal)}
#ilcourse .ill-content .ilix-ep .ep-desc{margin:0;font-size:15.5px;line-height:1.65;color:color-mix(in srgb,var(--ilm-g4,#f6efd9) 92%,transparent)}
#ilcourse .ill-content .ilix-ep .ep-nav{display:flex;gap:8px;margin-top:4px}
#ilcourse .ill-content .ilix-ep .ep-arr{-webkit-appearance:none;appearance:none;width:38px;height:38px;margin:0;padding:0;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:color-mix(in srgb,var(--ilm-t0,#0a1213) 50%,transparent);border:1px solid color-mix(in srgb,var(--ilm-g4,#eeeae2) 28%,transparent);color:var(--ilm-g4,#EEEAE2);cursor:pointer;transition:background .25s,border-color .25s,opacity .25s}
#ilcourse .ill-content .ilix-ep .ep-arr:hover:not(:disabled){background:color-mix(in srgb,var(--ilm-g2,#d4af5f) 35%,transparent);border-color:color-mix(in srgb,var(--ilm-g2,#d4af5f) 75%,transparent)}
#ilcourse .ill-content .ilix-ep .ep-arr:disabled{opacity:.3;cursor:default}
#ilcourse .ill-content .ilix-ep .ep-arr svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
#ilcourse .ill-content .ilix-ep .ep-zoom:focus-visible,#ilcourse .ill-content .ilix-ep .ep-arr:focus-visible{outline:2px solid var(--ilm-g2,#C9A45E);outline-offset:2px}

/* narrow screen: the panels stack, the open one unfolds below its bar */
#ilcourse .ill-content .ilix-ep.is-stack{display:grid;height:auto;gap:10px}
#ilcourse .ill-content .ilix-ep.is-stack .ilix-ep-panel{display:grid;grid-template-rows:64px 0fr;transition:grid-template-rows .7s cubic-bezier(.22,1,.36,1),border-color .5s}
#ilcourse .ill-content .ilix-ep.is-stack .ilix-ep-panel.is-on{grid-template-rows:64px 1fr}
#ilcourse .ill-content .ilix-ep.is-stack .ep-head{bottom:auto;height:64px}
#ilcourse .ill-content .ilix-ep.is-stack .ep-strip{bottom:auto;height:64px}
#ilcourse .ill-content .ilix-ep.is-stack .ep-num{top:0;left:18px;right:auto;height:64px;display:flex;align-items:center;text-align:left;font-size:26px;width:44px}
#ilcourse .ill-content .ilix-ep.is-stack .ep-vt{left:70px;right:16px;top:0;bottom:auto;height:64px;max-height:none;display:flex;align-items:center;writing-mode:horizontal-tb;transform:none;font-size:15px;letter-spacing:.02em}
#ilcourse .ill-content .ilix-ep.is-stack .ilix-ep-panel.is-on .ep-num,#ilcourse .ill-content .ilix-ep.is-stack .ilix-ep-panel.is-on .ep-vt{opacity:1}
#ilcourse .ill-content .ilix-ep.is-stack .ilix-ep-panel.is-on .ep-strip{opacity:.0}
#ilcourse .ill-content .ilix-ep.is-stack .ep-in{position:relative;grid-row:2;width:auto;min-height:0;overflow:hidden}
#ilcourse .ill-content .ilix-ep.is-stack .ep-grid{height:auto;padding:12px 14px 18px;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto}
#ilcourse .ill-content .ilix-ep.is-stack .ep-pic{height:min(70vw,360px)}
#ilcourse .ill-content .ilix-ep.is-stack .ep-title{display:none}
#ilcourse .ill-content .ilix-ep.is-stack .ep-txt{overflow:visible}
#ilcourse .ill-content .ilix-ep.is-stack .ilix-ep-panel.is-on .ep-bd{inset:0;bottom:0}

/* full-size viewer */
#ilcourse .ilix-epv{position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;background:rgba(5,9,10,.95);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:ilix-fade .3s ease both}
#ilcourse .ilix-epv[hidden]{display:none}
#ilcourse .ilix-epv button{-webkit-appearance:none;appearance:none;margin:0;padding:0;cursor:pointer}
#ilcourse .ilix-epv .fig{margin:0;max-width:92vw;display:flex;flex-direction:column;align-items:center;gap:16px}
#ilcourse .ilix-epv .fig img{display:block;max-width:92vw;max-height:70vh;width:auto;height:auto;object-fit:contain;border-radius:12px;box-shadow:0 30px 80px rgba(0,0,0,.55);background:var(--ilm-t0,#0b1517)}
#ilcourse .ilix-epv.is-on .fig img{animation:ilix-zoom .5s cubic-bezier(.22,1,.36,1) both}
#ilcourse .ilix-epv figcaption{max-width:640px;text-align:center;display:flex;flex-direction:column;gap:6px;color:var(--ilm-g4,#F6EFD9)}
#ilcourse .ilix-epv .n{font:600 11px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ilm-g3,#E8C97A)}
#ilcourse .ilix-epv .t{font-family:var(--serif);font-size:24px;line-height:1.15;color:#fff}
#ilcourse .ilix-epv .d{font-size:15px;line-height:1.6;color:color-mix(in srgb,var(--ilm-g4,#f6efd9) 88%,transparent)}
#ilcourse .ilix-epv .x,#ilcourse .ilix-epv .arr{position:absolute;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--ilm-g4,#EEEAE2);background:color-mix(in srgb,var(--ilm-t0,#0a1213) 60%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  border:1px solid color-mix(in srgb,var(--ilm-g4,#eeeae2) 22%,transparent);transition:background .25s,border-color .25s}
#ilcourse .ilix-epv .x{top:18px;right:18px;width:46px;height:46px}
#ilcourse .ilix-epv .arr{top:50%;width:50px;height:50px;margin-top:-25px}
#ilcourse .ilix-epv .arr.prev{left:18px}
#ilcourse .ilix-epv .arr.next{right:18px}
#ilcourse .ilix-epv .x:hover,#ilcourse .ilix-epv .arr:hover{background:color-mix(in srgb,var(--ilm-g2,#d4af5f) 30%,transparent);border-color:color-mix(in srgb,var(--ilm-g2,#d4af5f) 70%,transparent)}
#ilcourse .ilix-epv svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#ilcourse .ilix-epv button:focus-visible{outline:2px solid var(--ilm-g2,#C9A45E);outline-offset:3px}
#ilcourse .ilix-epv [hidden]{display:none !important}
@media (max-width:640px){#ilcourse .ilix-epv .arr{top:auto;bottom:18px;margin:0}#ilcourse .ilix-epv .arr.prev{left:calc(50% - 62px)}#ilcourse .ilix-epv .arr.next{right:calc(50% - 62px)}#ilcourse .ilix-epv .fig img{max-height:58vh}}
@media (prefers-reduced-motion:reduce){
  #ilcourse .ill-content .ilix-ep *,#ilcourse .ill-content .ilix-ep *::before,#ilcourse .ill-content .ilix-ep *::after,#ilcourse .ilix-epv,#ilcourse .ilix-epv *{animation:none !important;transition:none !important}
}

/* =========================================================================
   TOGGLE COLUMNS (.L6-container) — brass drum
   the steps are engraved on a brass drum; drag it, use the arrows or the keys: it turns, the step in the
   middle grows and its text opens under its number on an ivory plate.
   needs : interactions.js (reads the old columns once; the order comes from data-step)
   ========================================================================= */
#ilcourse .ill-content .ilix-dr{max-width:620px;margin:28px auto}
#ilcourse .ill-content .ilix-dr .dr-bezel{position:relative;padding:12px;border-radius:30px;background:linear-gradient(160deg,var(--ilm-t0,#173d3c),var(--ilm-t0,#0d2726) 70%);border:1px solid color-mix(in srgb,var(--ilm-g2,#d6b160) 55%,transparent);
  box-shadow:var(--shadow),inset 0 0 0 1px rgba(255,255,255,.05)}
#ilcourse .ill-content .ilix-dr .dr-screw{position:absolute;z-index:2;width:9px;height:9px;border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--ilm-g3,#F3DE9C),var(--ilm-g1,#8F6B26));box-shadow:0 1px 2px rgba(0,0,0,.55)}
#ilcourse .ill-content .ilix-dr .dr-screw.a{left:8px;top:8px}
#ilcourse .ill-content .ilix-dr .dr-screw.b{right:8px;top:8px}
#ilcourse .ill-content .ilix-dr .dr-screw.c{left:8px;bottom:8px}
#ilcourse .ill-content .ilix-dr .dr-screw.d{right:8px;bottom:8px}
#ilcourse .ill-content .ilix-dr .dr-wheel{position:relative;height:340px;border-radius:20px;overflow:hidden;perspective:900px;touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none;outline:none;
  background:repeating-linear-gradient(0deg,rgba(0,0,0,.045) 0 1px,transparent 1px 3px),
    linear-gradient(180deg,var(--ilm-gink,#4e3913) 0%,var(--ilm-g1,#9a7534) 10%,var(--ilm-g3,#e1c47a) 26%,var(--ilm-g3,#f6e6ab) 50%,var(--ilm-g3,#e1c47a) 74%,var(--ilm-g1,#9a7534) 90%,var(--ilm-gink,#4e3913) 100%);
  box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--ilm-g3,#ffecaa) 40%,transparent),inset 0 0 34px color-mix(in srgb,var(--ilm-gink,#3c280a) 55%,transparent)}
#ilcourse .ill-content .ilix-dr .dr-wheel.is-drag{cursor:grabbing}
#ilcourse .ill-content .ilix-dr .dr-wheel::after{content:"";position:absolute;inset:0;z-index:4;pointer-events:none;
  background:linear-gradient(180deg,color-mix(in srgb,var(--ilm-gink,#281905) 62%,transparent),color-mix(in srgb,var(--ilm-gink,#281905) 0%,transparent) 26%,color-mix(in srgb,var(--ilm-gink,#281905) 0%,transparent) 74%,color-mix(in srgb,var(--ilm-gink,#281905) 62%,transparent))}
#ilcourse .ill-content .ilix-dr .dr-knurl{position:absolute;top:0;bottom:0;z-index:3;width:22px;pointer-events:none;
  background:repeating-linear-gradient(90deg,var(--ilm-g1,#5b4217) 0 2px,var(--ilm-g2,#c9a45e) 2px 4px)}
#ilcourse .ill-content .ilix-dr .dr-knurl.l{left:0;box-shadow:inset -8px 0 10px -4px rgba(0,0,0,.45);border-radius:20px 0 0 20px}
#ilcourse .ill-content .ilix-dr .dr-knurl.r{right:0;box-shadow:inset 8px 0 10px -4px rgba(0,0,0,.45);border-radius:0 20px 20px 0}
#ilcourse .ill-content .ilix-dr .dr-row{position:absolute;left:32px;right:32px;top:50%;box-sizing:border-box;--e:0;display:flex;flex-direction:column;outline:none;cursor:pointer;
  transform-origin:50% 50%;will-change:transform,opacity}
#ilcourse .ill-content .ilix-dr .dr-plate{position:absolute;inset:0;border-radius:14px;opacity:var(--e);background:linear-gradient(180deg,var(--ilm-g4,#FFFCF1),var(--ilm-g4,#F4EAD0));
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ilm-g1,#7a5820) 55%,transparent),0 8px 20px color-mix(in srgb,var(--ilm-gink,#3c280a) 35%,transparent)}
#ilcourse .ill-content .ilix-dr .dr-head{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;height:56px;color:var(--ilm-gink,#3b2a0c);
  text-shadow:0 1px 0 rgba(255,245,200,calc(.6 - var(--e) * .6))}
#ilcourse .ill-content .ilix-dr .dr-pre{font-family:var(--serif);font-weight:600;font-size:calc(15px + var(--e) * 2px);letter-spacing:.2em;text-transform:uppercase}
#ilcourse .ill-content .ilix-dr .dr-num{font-family:var(--serif);font-weight:600;font-size:calc(26px + var(--e) * 14px);line-height:1}
#ilcourse .ill-content .ilix-dr .dr-body{position:relative;height:0;overflow:hidden;opacity:0}
#ilcourse .ill-content .ilix-dr .dr-bodyin{padding:0 24px 22px;text-align:center;color:var(--ilm-gink,#2B2110);font-size:16px;line-height:1.6}
#ilcourse .ill-content .ilix-dr .dr-bodyin p{margin:0 0 8px;color:var(--ilm-gink,#2B2110)}
#ilcourse .ill-content .ilix-dr .dr-bodyin p:last-child{margin-bottom:0}
#ilcourse .ill-content .ilix-dr .dr-bodyin a{color:var(--ilm-g1,#7a5820)}
#ilcourse .ill-content .ilix-dr .dr-row:focus-visible{outline:2px solid var(--ilm-gink,#2B2110);outline-offset:-3px;border-radius:14px}
#ilcourse .ill-content .ilix-dr .dr-ctl{display:flex;align-items:center;gap:14px;padding:14px 8px 4px}
#ilcourse .ill-content .ilix-dr .dr-btn{-webkit-appearance:none;appearance:none;flex:none;width:40px;height:40px;margin:0;padding:0;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:color-mix(in srgb,var(--ilm-t0,#0a1213) 55%,transparent);border:1px solid color-mix(in srgb,var(--ilm-g2,#d6b160) 60%,transparent);color:var(--ilm-g3,#EBD9A2);cursor:pointer;transition:background .25s,border-color .25s,opacity .25s}
#ilcourse .ill-content .ilix-dr .dr-btn:hover:not(:disabled){background:color-mix(in srgb,var(--ilm-g2,#d4af5f) 30%,transparent);border-color:color-mix(in srgb,var(--ilm-g3,#e8c97a) 90%,transparent)}
#ilcourse .ill-content .ilix-dr .dr-btn:disabled{opacity:.3;cursor:default}
#ilcourse .ill-content .ilix-dr .dr-btn:focus-visible{outline:2px solid var(--ilm-g2,#C9A45E);outline-offset:3px}
#ilcourse .ill-content .ilix-dr .dr-btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
#ilcourse .ill-content .ilix-dr .dr-count{flex:none;font:600 12px/1 var(--mono);letter-spacing:.1em;color:var(--ilm-g3,#EBD9A2)}
#ilcourse .ill-content .ilix-dr .dr-count b{font-weight:700;color:var(--ilm-g3,#F3DE9C)}
#ilcourse .ill-content .ilix-dr .dr-track{flex:1;height:3px;border-radius:3px;background:rgba(255,255,255,.16);overflow:hidden}
#ilcourse .ill-content .ilix-dr .dr-track i{display:block;height:100%;width:0;border-radius:inherit;background:var(--metal);transition:width .5s cubic-bezier(.22,1,.36,1)}
@media (max-width:480px){
  #ilcourse .ill-content .ilix-dr .dr-bezel{padding:9px;border-radius:24px}
  #ilcourse .ill-content .ilix-dr .dr-row{left:28px;right:28px}
  #ilcourse .ill-content .ilix-dr .dr-bodyin{padding:0 16px 18px;font-size:15px}
}
@media (prefers-reduced-motion:reduce){
  #ilcourse .ill-content .ilix-dr .dr-track i,#ilcourse .ill-content .ilix-dr .dr-btn{transition:none}
}

/* =========================================================================
   LAST WIDGETS, PART 1 — jewel box, frosted box, nerve tree, cascade, call-outs, tables, text plaques
   ========================================================================= */
@keyframes ilix-jb-float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-3px) rotate(6deg)}}
@keyframes ilix-sheen2{0%{transform:translateX(-120%) skewX(-20deg)}55%,100%{transform:translateX(420%) skewX(-20deg)}}
@keyframes ilix-stripes{to{background-position:0 64px}}
@keyframes ilix-drawarrow{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}

#ilcourse .ill-content .ilix-dot{display:inline-block;width:.46em;height:.46em;margin:0 .6em 0 0;flex:none;background:var(--metal);transform:rotate(45deg);vertical-align:.1em}
#ilcourse .ill-content .highlight-main-theme{color:var(--teal);font-weight:600}

/* --- jewel box (custom-hoverbox) --- */
#ilcourse .ill-content .ilix-jb{margin:22px 0;border-radius:20px;overflow:hidden;border:1px solid color-mix(in srgb,var(--ilm-g2,#d6b160) 50%,transparent);box-shadow:var(--shadow);background:var(--panel)}
#ilcourse .ill-content .jb-lid{-webkit-appearance:none;appearance:none;position:relative;overflow:hidden;display:flex;align-items:center;gap:16px;width:100%;margin:0;padding:28px 24px;border:0;text-align:left;cursor:pointer;
  color:var(--ilm-g4,#F6EFD9);background:radial-gradient(120% 140% at 18% 0%,rgba(255,255,255,.13),transparent 55%),repeating-radial-gradient(circle at 22% 34%,rgba(0,0,0,.1) 0 1px,transparent 1px 3px),linear-gradient(158deg,var(--ilm-t1,#1B5F5C),var(--ilm-t0,#124240) 55%,var(--ilm-t0,#0B2B2A));
  transition:padding .5s cubic-bezier(.22,1,.36,1)}
#ilcourse .ill-content .jb-lid::after{content:"";position:absolute;top:0;bottom:0;left:0;width:26%;pointer-events:none;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--ilm-g4,#fffceb) 22%,transparent),transparent);animation:ilix-sheen2 5s ease-in-out infinite}
#ilcourse .ill-content .jb-lid:focus-visible{outline:2px solid var(--ilm-g2,#C9A45E);outline-offset:-5px}
#ilcourse .ill-content .jb-lid:disabled{cursor:default}
#ilcourse .ill-content .jb-gem{flex:none;width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--metal);color:var(--ilm-gink,#2B2110);box-shadow:0 6px 14px rgba(0,0,0,.35);animation:ilix-jb-float 3.4s ease-in-out infinite}
#ilcourse .ill-content .jb-gem svg,#ilcourse .ill-content .jb-chev svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#ilcourse .ill-content .jb-title{flex:1;min-width:0;font-family:var(--serif);font-weight:600;font-size:28px;line-height:1.15;letter-spacing:.02em;
  background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.9) 50%,transparent 62%) 160% 0/250% 100% no-repeat,var(--metal);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;filter:drop-shadow(0 1px 0 rgba(0,0,0,.5));animation:ilix-foil 6s ease-in-out infinite}
#ilcourse .ill-content .jb-hint{flex:none;font:600 11px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:color-mix(in srgb,var(--ilm-g3,#ebd9a2) 85%,transparent)}
#ilcourse .ill-content .jb-chev{flex:none;color:var(--ilm-g3,#EBD9A2);transition:transform .5s cubic-bezier(.22,1,.36,1)}
#ilcourse .ill-content .ilix-jb.is-open .jb-chev{transform:rotate(180deg)}
#ilcourse .ill-content .ilix-jb.is-open .jb-lid{padding:18px 24px}
#ilcourse .ill-content .ilix-jb.is-open .jb-title{font-size:23px}
#ilcourse .ill-content .jb-bay{display:grid;grid-template-rows:0fr;transition:grid-template-rows .7s cubic-bezier(.22,1,.36,1)}
#ilcourse .ill-content .ilix-jb.is-open .jb-bay{grid-template-rows:1fr}
#ilcourse .ill-content .jb-bay-in{min-height:0;overflow:hidden;visibility:hidden;transition:visibility 0s .7s}
#ilcourse .ill-content .ilix-jb.is-open .jb-bay-in{visibility:visible;transition-delay:0s}
#ilcourse .ill-content .jb-tray{display:grid;gap:9px;padding:18px;background:var(--panel);box-shadow:inset 0 14px 18px -14px rgba(0,0,0,.5)}
#ilcourse .ill-content .jb-item{display:flex;align-items:center;gap:13px;padding:12px 15px;border-radius:12px;background:var(--card);border:1px solid var(--line);color:var(--text);font-size:16px;line-height:1.55;opacity:0}
#ilcourse .ill-content .ilix-jb.is-open .jb-item{animation:ilix-rise .55s cubic-bezier(.22,1,.36,1) var(--d,0ms) both}
#ilcourse .ill-content .jb-mk{flex:none;width:11px;height:11px;background:var(--metal);transform:rotate(45deg);box-shadow:0 0 0 3px color-mix(in srgb,var(--ilm-g2,#c9a45e) 18%,transparent)}
#ilcourse .ill-content .jb-t{flex:1;min-width:0}

/* --- frosted box (click-box) --- */
#ilcourse .ill-content .ilix-cbx{margin:22px 0;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow)}
#ilcourse .ill-content .cbx-head{-webkit-appearance:none;appearance:none;display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;margin:0;padding:16px 20px;border:0;cursor:pointer;
  background:linear-gradient(135deg,var(--ilm-t1,#1B5F5C),var(--ilm-t0,#124240));color:var(--ilm-g4,#F6EFD9);text-align:left;font:600 17px/1.3 var(--sans);letter-spacing:.02em}
#ilcourse .ill-content .cbx-head:focus-visible{outline:2px solid var(--ilm-g2,#C9A45E);outline-offset:-4px}
#ilcourse .ill-content .cbx-plus{flex:none;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--metal);color:var(--ilm-gink,#2B2110);transition:transform .5s cubic-bezier(.34,1.56,.64,1)}
#ilcourse .ill-content .cbx-plus svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}
#ilcourse .ill-content .ilix-cbx.is-open .cbx-plus{transform:rotate(135deg)}
#ilcourse .ill-content .cbx-body{position:relative}
#ilcourse .ill-content .cbx-text{padding:22px 24px;text-align:center;font-size:16.5px;line-height:1.75;color:var(--text)}
#ilcourse .ill-content .cbx-text hr{border:0;border-top:1px dashed var(--line);margin:14px 0;height:0;background:none}
#ilcourse .ill-content .cbx-text [style*="3366ff"]{color:var(--goldtx) !important}
#ilcourse .ill-content .cbx-frost{-webkit-appearance:none;appearance:none;position:absolute;inset:0;margin:0;padding:0;border:0;cursor:pointer;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(115deg,rgba(150,150,150,.3),rgba(150,150,150,.12));
  background:linear-gradient(115deg,color-mix(in srgb,var(--card) 62%,transparent),color-mix(in srgb,var(--card) 30%,transparent));
  -webkit-backdrop-filter:blur(9px) saturate(.9);backdrop-filter:blur(9px) saturate(.9);clip-path:inset(0 0 0 0);
  transition:clip-path .95s cubic-bezier(.65,0,.35,1),opacity .4s .6s}
#ilcourse .ill-content .ilix-cbx.is-open .cbx-frost{clip-path:inset(0 0 0 100%);opacity:0;pointer-events:none}
#ilcourse .ill-content .cbx-chip{padding:9px 18px;border-radius:999px;background:color-mix(in srgb,var(--ilm-t0,#0a1213) 72%,transparent);border:1px solid color-mix(in srgb,var(--ilm-g2,#d6b160) 60%,transparent);color:var(--ilm-g3,#EBD9A2);font:600 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;
  animation:ilix-ping-gold 2s ease-out infinite}

/* --- nerve tree --- */
#ilcourse .ill-content .ilix-nt{margin:24px 0;padding:16px 18px 22px;border-radius:20px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);direction:ltr}
#ilcourse .ill-content .nt-bar{display:flex;justify-content:flex-end;gap:8px;margin-bottom:12px}
#ilcourse .ill-content .nt-all{-webkit-appearance:none;appearance:none;margin:0;padding:7px 13px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--muted);font:600 11.5px/1 var(--sans);letter-spacing:.04em;cursor:pointer;transition:color .25s,border-color .25s}
#ilcourse .ill-content .nt-all:hover{color:var(--text);border-color:var(--ac)}
#ilcourse .ill-content .nt-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
#ilcourse .ill-content .nt-sub-in > .nt-list{position:relative;padding:8px 0 0 28px}
#ilcourse .ill-content .nt-sub-in > .nt-list::before{content:"";position:absolute;left:11px;top:0;bottom:20px;width:2px;border-radius:2px;background:linear-gradient(var(--acc,var(--ilm-g2,#D6B160)),transparent)}
#ilcourse .ill-content .nt-sub-in > .nt-list > .nt-item{position:relative}
#ilcourse .ill-content .nt-sub-in > .nt-list > .nt-item::before{content:"";position:absolute;left:-17px;top:21px;width:15px;height:2px;border-radius:2px;background:var(--acc,var(--ilm-g2,#D6B160));opacity:.85}
#ilcourse .ill-content .nt-node{-webkit-appearance:none;appearance:none;display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;max-width:560px;margin:0;padding:11px 14px 11px 16px;
  border-radius:12px;border:1px solid var(--line);border-left:5px solid var(--acc,var(--ilm-g2,#D6B160));background:var(--raise);color:var(--text);text-align:left;cursor:pointer;
  font:600 15.5px/1.3 var(--sans);transition:transform .3s,border-color .3s,background .3s}
#ilcourse .ill-content .nt-node:hover{transform:translateX(3px);border-color:var(--acc,var(--ilm-g2,#D6B160))}
#ilcourse .ill-content .nt-node:focus-visible{outline:2px solid var(--ilm-g2,#C9A45E);outline-offset:2px}
#ilcourse .ill-content .ilix-nt > .nt-list > .nt-item > .nt-node{background:linear-gradient(135deg,var(--ilm-t1,#1B5F5C),var(--ilm-t0,#124240));border-color:color-mix(in srgb,var(--ilm-g2,#d6b160) 55%,transparent);border-left:5px solid var(--ilm-g2,#D6B160);color:var(--ilm-g4,#F6EFD9);font-size:17px}
#ilcourse .ill-content .nt-chev{flex:none;display:flex;transition:transform .45s cubic-bezier(.22,1,.36,1)}
#ilcourse .ill-content .nt-chev svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
#ilcourse .ill-content .nt-item.is-open > .nt-node .nt-chev{transform:rotate(180deg)}
#ilcourse .ill-content .nt-sub{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s cubic-bezier(.22,1,.36,1)}
#ilcourse .ill-content .nt-item.is-open > .nt-sub{grid-template-rows:1fr}
#ilcourse .ill-content .nt-sub-in{min-height:0;overflow:hidden;visibility:hidden;transition:visibility 0s .6s}
#ilcourse .ill-content .nt-item.is-open > .nt-sub > .nt-sub-in{visibility:visible;transition-delay:0s}
#ilcourse .ill-content .nt-leaf{max-width:560px;box-sizing:border-box;padding:10px 14px;border-radius:10px;border:1px solid var(--line);border-left:3px solid var(--acc,var(--ilm-g2,#D6B160));background:transparent;color:var(--text);font-size:15px;line-height:1.55}
#ilcourse .ill-content .nt-leaf b,#ilcourse .ill-content .nt-leaf strong{color:var(--goldtx);font-weight:700}
#ilcourse .ill-content .nt-leaf.is-note{border-style:dashed;background:var(--soft);color:var(--muted);font-style:italic}
#ilcourse .ill-content .nt-item.is-open > .nt-sub > .nt-sub-in > .nt-list > .nt-item{animation:ilix-rise .5s cubic-bezier(.22,1,.36,1) both}

/* --- cascade (soof) --- */
#ilcourse .ill-content .ilix-fl{display:flex;flex-direction:column;align-items:center;max-width:560px;margin:28px auto}
#ilcourse .ill-content .fl-step{display:grid;grid-template-rows:0fr;width:100%;transition:grid-template-rows .7s cubic-bezier(.22,1,.36,1)}
#ilcourse .ill-content .fl-step.is-open{grid-template-rows:1fr}
#ilcourse .ill-content .fl-in{min-height:0;overflow:hidden;display:flex;flex-direction:column;align-items:center;visibility:hidden;transition:visibility 0s .7s}
#ilcourse .ill-content .fl-step.is-open .fl-in{visibility:visible;transition-delay:0s}
#ilcourse .ill-content .fl-arrow svg{display:block;width:24px;height:44px;margin:6px 0;overflow:visible}
#ilcourse .ill-content .fl-arrow path{fill:none;stroke:var(--goldtx);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1}
#ilcourse .ill-content .fl-step.is-open .fl-arrow path{animation:ilix-drawarrow .7s cubic-bezier(.65,0,.35,1) .3s both}
#ilcourse .ill-content .fl-box{-webkit-appearance:none;appearance:none;position:relative;display:block;width:100%;max-width:440px;margin:0;padding:18px 24px;box-sizing:border-box;border-radius:16px;
  border:1px solid color-mix(in srgb,var(--ilm-g2,#d6b160) 50%,transparent);background:linear-gradient(160deg,var(--raise),var(--card));color:var(--text);text-align:center;cursor:pointer;
  font:600 16.5px/1.45 var(--sans);box-shadow:var(--shadow);transition:transform .3s,border-color .3s,background .4s}
#ilcourse .ill-content .fl-box:hover:not(.is-end){transform:translateY(-2px)}
#ilcourse .ill-content .fl-box:focus-visible{outline:2px solid var(--ilm-g2,#C9A45E);outline-offset:3px}
#ilcourse .ill-content .fl-box.is-next{border-color:var(--ilm-g2,#D6B160);animation:ilix-ping-gold 2s ease-out infinite}
#ilcourse .ill-content .fl-box.is-done{background:linear-gradient(160deg,color-mix(in srgb,var(--ilm-g2,#c9a45e) 18%,transparent),var(--card))}
#ilcourse .ill-content .fl-box.is-end{cursor:default;padding:24px;background:linear-gradient(135deg,var(--ilm-t1,#1B5F5C),var(--ilm-t0,#0B2B2A));color:var(--ilm-g3,#F3DE9C);border-color:var(--ilm-g2,#D6B160);
  font-family:var(--serif);font-weight:600;font-size:25px;box-shadow:0 0 0 4px color-mix(in srgb,var(--ilm-g2,#c9a45e) 18%,transparent),0 18px 40px rgba(0,0,0,.35)}
#ilcourse .ill-content .fl-spark{position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px;border-radius:50%;background:var(--ilm-g3,#FFE08A);pointer-events:none;animation:ilix-spark 1.2s cubic-bezier(.2,.7,.3,1) both}

/* --- call-out (L5-warning-box) --- */
#ilcourse#ilcourse .ill-content .L5-warning-box.ilix-wb{position:relative;display:block;width:fit-content;max-width:100%;margin:22px auto;padding:16px 24px 16px 30px;box-sizing:border-box;overflow:hidden;
  border:1px solid color-mix(in srgb,var(--ilm-g2,#d6b160) 50%,transparent);border-radius:16px;background:linear-gradient(135deg,var(--soft),transparent 65%),var(--card);color:var(--text);font-weight:400;box-shadow:var(--shadow)}
#ilcourse#ilcourse .ill-content .L5-warning-box.ilix-wb::before{content:"";position:absolute;left:0;top:0;bottom:0;width:9px;background:repeating-linear-gradient(135deg,var(--ilm-g2,#D6B160) 0 8px,var(--ilm-gink,#2B2110) 8px 16px);background-size:100% 64px;animation:ilix-stripes 3s linear infinite}
#ilcourse#ilcourse .ill-content .L5-warning-box.ilix-wb .L5-warning-header{display:flex;align-items:center;gap:12px;margin:0 0 10px;font-size:17px;line-height:1.35}
#ilcourse#ilcourse .ill-content .L5-warning-box.ilix-wb .L5-warning-header span{margin:0;font-size:inherit;font-weight:700 !important}
#ilcourse#ilcourse .ill-content .L5-warning-box.ilix-wb .L5-warning-header:last-child{margin-bottom:0}
#ilcourse#ilcourse .ill-content .L5-warning-box.ilix-wb .wb-ico{flex:none;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--metal);color:var(--ilm-gink,#2B2110);box-shadow:0 4px 10px rgba(0,0,0,.25)}
#ilcourse#ilcourse .ill-content .L5-warning-box.ilix-wb .wb-ico svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
#ilcourse#ilcourse .ill-content .L5-warning-box.ilix-wb .wb-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
#ilcourse#ilcourse .ill-content .L5-warning-box.ilix-wb .wb-list li{display:flex;align-items:flex-start;gap:10px;margin:0;line-height:1.55}
#ilcourse#ilcourse .ill-content .L5-warning-box.ilix-wb .wb-list li::before{content:"";flex:none;width:7px;height:7px;margin-top:.6em;background:var(--metal);transform:rotate(45deg)}
#ilcourse#ilcourse .ill-content .L5-warning-box.ilix-wb .wb-list li.is-sub{margin-left:24px}
#ilcourse#ilcourse .ill-content .L5-warning-box.ilix-wb .wb-list li.is-sub::before{width:5px;height:5px;margin-top:.7em;background:var(--muted)}

/* --- Baumann tables --- */
#ilcourse#ilcourse .ill-content .baumann-table{width:100%;border-collapse:separate;border-spacing:0;margin:16px 0;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--card);font-size:14px;text-align:center}
#ilcourse#ilcourse .ill-content .baumann-table th,#ilcourse#ilcourse .ill-content .baumann-table td{padding:11px 8px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);vertical-align:middle;text-align:center;font-size:12.5px;background:transparent}
#ilcourse#ilcourse .ill-content .baumann-table tr > :last-child{border-right:0}
#ilcourse#ilcourse .ill-content .baumann-table tbody tr:last-child > *,#ilcourse#ilcourse .ill-content .baumann-table tr:last-child > td{border-bottom:0}
#ilcourse#ilcourse .ill-content .baumann-table thead th{background:var(--raise);color:var(--text);font-weight:700}
#ilcourse#ilcourse .ill-content .baumann-table .axis-header{background:linear-gradient(180deg,color-mix(in srgb,var(--ilm-g2,#c9a45e) 24%,transparent),color-mix(in srgb,var(--ilm-g2,#c9a45e) 8%,transparent));color:var(--goldtx);font:700 12px/1.3 var(--mono);letter-spacing:.14em;text-transform:uppercase}
#ilcourse#ilcourse .ill-content .baumann-table .sub-axis-header{background:var(--raise);color:var(--muted);font-weight:600}
#ilcourse#ilcourse .ill-content .baumann-table tbody td{color:var(--teal);font:700 13px/1.3 var(--mono);letter-spacing:.12em;transition:background .25s,color .25s}
#ilcourse#ilcourse .ill-content .baumann-table tbody tr:hover td{background:color-mix(in srgb,var(--ilm-g2,#c9a45e) 12%,transparent)}
#ilcourse#ilcourse .ill-content .baumann-table tbody td:hover{background:var(--metal);color:var(--ilm-gink,#2B2110)}

/* --- text plaques (LMS columns) --- */
#ilcourse#ilcourse .ill-content .LMS-text-full-column,#ilcourse#ilcourse .ill-content .LMS-text-column{position:relative;box-sizing:border-box;flex:1;max-width:100%;padding:20px 24px 20px 30px;border-radius:16px;border:1px solid var(--line);
  background:linear-gradient(135deg,var(--soft),transparent 60%),var(--card);box-shadow:var(--shadow);color:var(--text);font-size:1.05em;line-height:1.8}
#ilcourse#ilcourse .ill-content .LMS-text-full-column::before,#ilcourse#ilcourse .ill-content .LMS-text-column::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:4px;border-radius:0 4px 4px 0;background:var(--metal)}
#ilcourse#ilcourse .ill-content .LMS-text-column p{margin:0 0 6px;font-weight:400}
#ilcourse#ilcourse .ill-content .LMS-text-column .LMS-goals{margin-top:14px;padding-top:12px;border-top:1px dashed var(--line)}
#ilcourse#ilcourse .ill-content .LMS-text-column .ilix-dot,#ilcourse#ilcourse .ill-content .LMS-text-full-column .ilix-dot{margin-right:.7em}

@media (max-width:640px){
  #ilcourse .ill-content .jb-lid{padding:22px 18px}
  #ilcourse .ill-content .jb-title{font-size:23px}
  #ilcourse .ill-content .jb-hint{display:none}
  #ilcourse .ill-content .fl-box.is-end{font-size:22px}
}
@media (prefers-reduced-motion:reduce){
  #ilcourse .ill-content .ilix-jb *,#ilcourse .ill-content .ilix-cbx *,#ilcourse .ill-content .ilix-nt *,#ilcourse .ill-content .ilix-fl *,#ilcourse#ilcourse .ill-content .L5-warning-box.ilix-wb,#ilcourse#ilcourse .ill-content .L5-warning-box.ilix-wb::before{animation:none !important;transition:none !important}
}

/* =========================================================================
   LAST WIDGETS, PART 2 — photo cards, switch, aging factors, bone flow, mini drawers,
   and the static layouts (LMS explainers, L10, L11, L12, call-out boxes)
   ========================================================================= */
@keyframes ilix-flowline{from{background-position:0 0}to{background-position:200% 0}}

/* --- turn-over photo card (L8) --- */
#ilcourse .ill-content .ilix-pc{width:100%;max-width:340px;margin:0 auto;perspective:1100px}
#ilcourse .ill-content .pc-btn{position:relative;aspect-ratio:3/4;cursor:pointer;outline:none;transform:rotate(-1.4deg);transition:transform .4s cubic-bezier(.22,1,.36,1)}
#ilcourse .ill-content .pc-btn:hover{transform:rotate(0) translateY(-4px)}
#ilcourse .ill-content .pc-btn:focus-visible{outline:2px solid var(--ilm-g2,#C9A45E);outline-offset:6px;border-radius:8px}
#ilcourse .ill-content .pc-in{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .85s cubic-bezier(.34,1.2,.5,1)}
#ilcourse .ill-content .ilix-pc.is-flip .pc-in{transform:rotateY(180deg)}
#ilcourse .ill-content .pc-face{position:absolute;inset:0;display:flex;flex-direction:column;box-sizing:border-box;padding:14px 14px 0;border-radius:6px;background:var(--ilm-g4,#FBF8F0);
  -webkit-backface-visibility:hidden;backface-visibility:hidden;box-shadow:0 18px 36px rgba(0,0,0,.35)}
#ilcourse .ill-content .pc-photo{flex:1;min-height:0;display:block;overflow:hidden;border-radius:2px;background:var(--ilm-t0,#0b1517);box-shadow:inset 0 0 0 1px rgba(0,0,0,.2)}
#ilcourse .ill-content .pc-photo img{display:block;width:100%;height:100%;object-fit:cover}
#ilcourse .ill-content .ilix-pc.is-noimg .pc-photo{background:linear-gradient(160deg,var(--ilm-t0,#173d3c),var(--ilm-t0,#0d2726))}
#ilcourse .ill-content .pc-cap{flex:none;height:56px;display:flex;align-items:center;justify-content:center;font:italic 400 17px/1 var(--serif);color:var(--ilm-g1,#7A6A44)}
#ilcourse .ill-content .pc-back{transform:rotateY(180deg);padding:30px 24px 0;background:linear-gradient(180deg,var(--ilm-g4,#FFFBEF),var(--ilm-g4,#F3E9CE))}
#ilcourse .ill-content .pc-tape{position:absolute;top:-11px;left:50%;width:88px;height:26px;margin-left:-44px;background:color-mix(in srgb,var(--ilm-g2,#d6b160) 70%,transparent);transform:rotate(-3deg);box-shadow:0 2px 6px rgba(0,0,0,.2)}
#ilcourse .ill-content .pc-note{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:auto;text-align:center;
  font-family:var(--serif);font-weight:600;font-size:19px;line-height:1.5;color:var(--ilm-gink,#2B2110)}
#ilcourse .ill-content .pc-note *{color:inherit}

/* --- two-way switch (yes / no) --- */
#ilcourse .ill-content .ilix-yn{max-width:640px;margin:36px auto}
#ilcourse .ill-content .yn-title{margin:0 0 18px;text-align:center;color:var(--goldtx)}
#ilcourse .ill-content .yn-switch{position:relative;display:grid;grid-template-columns:repeat(var(--n,2),1fr);padding:5px;border-radius:999px;background:var(--raise);border:1px solid var(--line);box-shadow:inset 0 2px 8px rgba(0,0,0,.18)}
#ilcourse .ill-content .yn-thumb{position:absolute;top:5px;bottom:5px;left:5px;width:calc((100% - 10px) / var(--n,2));border-radius:999px;background:var(--metal);box-shadow:0 6px 16px rgba(0,0,0,.28);
  transform:translateX(calc(var(--i,0) * 100%));transition:transform .55s cubic-bezier(.34,1.3,.5,1),opacity .3s,background .4s}
#ilcourse .ill-content .yn-switch.is-idle .yn-thumb{opacity:0}
#ilcourse .ill-content .yn-switch[data-kind="pos"] .yn-thumb{background:linear-gradient(135deg,#6FE0A2,var(--ilm-g2,#D9C46C))}
#ilcourse .ill-content .yn-switch[data-kind="neg"] .yn-thumb{background:linear-gradient(135deg,#F0646F,#B02535)}
#ilcourse .ill-content .yn-opt{-webkit-appearance:none;appearance:none;position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:9px;margin:0;padding:14px 16px;border:0;border-radius:999px;
  background:none;color:var(--muted);font:700 15.5px/1.2 var(--sans);cursor:pointer;transition:color .3s}
#ilcourse .ill-content .yn-opt:hover:not(.is-on){color:var(--text)}
#ilcourse .ill-content .yn-opt.is-on{color:var(--ilm-t0,#10211a)}
#ilcourse .ill-content .yn-opt.is-neg.is-on{color:#fff}
#ilcourse .ill-content .yn-opt:focus-visible{outline:2px solid var(--ilm-g2,#C9A45E);outline-offset:2px}
#ilcourse .ill-content .yn-ico{display:inline-flex;width:18px;height:18px}
#ilcourse .ill-content .yn-ico svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
#ilcourse .ill-content .yn-stage{margin-top:18px}
#ilcourse .ill-content .yn-prompt{margin:26px 0;text-align:center;color:var(--muted);font-size:15px}
#ilcourse .ill-content .yn-panel{--acc:var(--ilm-g2,#C9A45E);padding:20px 24px;border-radius:16px;background:var(--card);border:1px solid var(--line);border-top:4px solid var(--acc);box-shadow:var(--shadow);text-align:left;color:var(--text)}
#ilcourse .ill-content .yn-panel.is-pos{--acc:#4FCF8A}
#ilcourse .ill-content .yn-panel.is-neg{--acc:#E8434F}
#ilcourse .ill-content .yn-panel.in{animation:ilix-rise .5s cubic-bezier(.22,1,.36,1) both}
#ilcourse .ill-content .yn-panel h4{margin:0 0 12px;color:var(--acc);font:600 12px/1.3 var(--mono);letter-spacing:.2em;text-transform:uppercase}
#ilcourse .ill-content .yn-panel ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
#ilcourse .ill-content .yn-panel li{display:flex;align-items:flex-start;gap:11px;margin:0;line-height:1.6}
#ilcourse .ill-content .yn-panel li::before{content:"";flex:none;width:8px;height:8px;margin-top:.6em;background:var(--acc);transform:rotate(45deg)}

/* --- aging factors --- */
#ilcourse#ilcourse .ill-content .aging-wrap.ilix-ag{display:flex;align-items:center;gap:0;width:100%;max-width:min(100%,920px);min-height:0;margin:24px auto;padding:20px 8px;box-sizing:border-box}
#ilcourse#ilcourse .ill-content .aging-wrap.ilix-ag .aging-col-left{display:flex;flex-direction:column;align-items:flex-end;gap:44px;flex-shrink:0}
#ilcourse#ilcourse .ill-content .aging-wrap.ilix-ag .aging-box{background:linear-gradient(158deg,var(--ilm-t1,#1B5F5C),var(--ilm-t0,#0B2B2A));color:var(--ilm-g3,#F3DE9C);border:1px solid color-mix(in srgb,var(--ilm-g2,#d6b160) 55%,transparent);font:600 16px/1.3 var(--serif);padding:14px 20px;border-radius:12px;text-align:center;box-shadow:0 8px 20px rgba(0,0,0,.25)}
#ilcourse#ilcourse .ill-content .aging-wrap.ilix-ag .aging-arrows-col svg *{stroke:var(--ilm-g2,#C9A45E) !important}
#ilcourse#ilcourse .ill-content .aging-wrap.ilix-ag .aging-col-btns{display:flex;flex-direction:column;gap:20px;flex-shrink:0}
#ilcourse#ilcourse .ill-content .aging-wrap.ilix-ag .aging-factor-btn{-webkit-appearance:none;appearance:none;min-width:160px;margin:0;padding:14px 22px;border:3px solid transparent;border-radius:12px;text-align:center;cursor:pointer;outline:none;
  background:linear-gradient(var(--ilm-g4,#F6EFDC),var(--ilm-g3,#EADFC0)) padding-box,var(--metal) border-box;color:var(--ilm-gink,#2B2110);font:700 15px/1.3 var(--sans);box-shadow:0 6px 14px rgba(0,0,0,.22);
  transition:transform .35s cubic-bezier(.34,1.4,.5,1),box-shadow .35s}
#ilcourse#ilcourse .ill-content .aging-wrap.ilix-ag .aging-factor-btn:hover{transform:translateX(4px)}
#ilcourse#ilcourse .ill-content .aging-wrap.ilix-ag .aging-factor-btn:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--ilm-g2,#c9a45e) 70%,transparent)}
#ilcourse#ilcourse .ill-content .aging-wrap.ilix-ag .aging-factor-btn.active{background:linear-gradient(var(--ilm-g4,#FFF9E6),var(--ilm-g3,#F6E6B4)) padding-box,var(--metal) border-box;transform:translateX(10px);box-shadow:0 0 0 4px color-mix(in srgb,var(--ilm-g2,#c9a45e) 25%,transparent),0 10px 22px rgba(0,0,0,.28)}
#ilcourse#ilcourse .ill-content .aging-wrap.ilix-ag .aging-col-panel{flex:1;min-width:0;padding-left:20px}
#ilcourse#ilcourse .ill-content .aging-wrap.ilix-ag .aging-panel{display:none}
#ilcourse#ilcourse .ill-content .aging-wrap.ilix-ag .aging-panel.active{display:block;margin-left:20px;padding:14px 22px 14px 18px;border:1px solid var(--line);border-left:4px solid var(--ilm-g2,#C9A45E);border-radius:14px;background:var(--card);box-shadow:var(--shadow)}
#ilcourse#ilcourse .ill-content .aging-wrap.ilix-ag .aging-panel.in{animation:ilix-rise .5s cubic-bezier(.22,1,.36,1) both}
#ilcourse#ilcourse .ill-content .aging-wrap.ilix-ag .aging-panel ul{list-style:none;margin:0;padding:0}
#ilcourse#ilcourse .ill-content .aging-wrap.ilix-ag .aging-panel ul li{display:flex;align-items:flex-start;margin:0;padding:6px 0;border-bottom:1px solid var(--line);font-size:15px;line-height:1.6}
#ilcourse#ilcourse .ill-content .aging-wrap.ilix-ag .aging-panel ul li:last-child{border-bottom:0}

/* --- bone flow --- */
#ilcourse#ilcourse .ill-content .bone-wrap.ilix-bn{padding:1.5rem;width:100%;text-align:center;box-sizing:border-box}
#ilcourse#ilcourse .ill-content .bone-wrap.ilix-bn .bone-clickable{display:inline-block;cursor:pointer;outline:none;transition:transform .3s}
#ilcourse#ilcourse .ill-content .bone-wrap.ilix-bn .bone-clickable:hover{transform:translateY(-2px)}
#ilcourse#ilcourse .ill-content .bone-wrap.ilix-bn .bone-clickable:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--ilm-g2,#c9a45e) 70%,transparent);border-radius:16px}
#ilcourse#ilcourse .ill-content .bone-wrap.ilix-bn .bone-clickable.is-next > *{animation:ilix-ping-gold 2s ease-out infinite}
#ilcourse#ilcourse .ill-content .bone-wrap.ilix-bn .bone-box-outline{box-sizing:border-box;width:100%;max-width:520px;padding:20px 28px;border:2px solid color-mix(in srgb,var(--ilm-g2,#d6b160) 60%,transparent);border-radius:16px;background:var(--card);box-shadow:var(--shadow);font-size:15px;font-weight:600;line-height:1.8;text-align:center}
#ilcourse#ilcourse .ill-content .bone-wrap.ilix-bn .bone-box-outline .hl-yellow{color:var(--goldtx);font-weight:700}
#ilcourse#ilcourse .ill-content .bone-wrap.ilix-bn .bone-box-blue{display:inline-block;padding:16px 28px;border:1px solid var(--ilm-g2,#D6B160);border-radius:16px;background:linear-gradient(158deg,var(--ilm-t1,#1B5F5C),var(--ilm-t0,#0B2B2A));color:var(--ilm-g3,#F3DE9C);font-size:15px;font-weight:700;box-shadow:0 12px 28px rgba(0,0,0,.3)}
#ilcourse#ilcourse .ill-content .bone-wrap.ilix-bn .bone-box-teal{display:inline-block;padding:16px 24px;border:1px solid color-mix(in srgb,var(--ilm-g2,#d6b160) 55%,transparent);border-radius:16px;background:linear-gradient(160deg,var(--soft),transparent),var(--card);color:var(--text);font-size:15px;font-weight:600;line-height:1.6;box-shadow:var(--shadow)}
#ilcourse#ilcourse .ill-content .bone-wrap.ilix-bn .bone-arrow-center{display:flex;justify-content:center;margin:14px 0}
#ilcourse#ilcourse .ill-content .bone-wrap.ilix-bn .bone-arrow-center svg *{stroke:var(--ilm-g2,#C9A45E) !important}
#ilcourse#ilcourse .ill-content .bone-wrap.ilix-bn .bone-hidden{display:none}
#ilcourse#ilcourse .ill-content .bone-wrap.ilix-bn .bone-hidden.active{display:block;animation:ilix-rise .6s cubic-bezier(.22,1,.36,1) both}
#ilcourse#ilcourse .ill-content .bone-wrap.ilix-bn .bone-bottom-row{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;margin-top:8px}
#ilcourse#ilcourse .ill-content .bone-wrap.ilix-bn .bone-bottom-col{display:flex;flex-direction:column;align-items:center}

/* --- mini drawer (LMS-interactive-block) --- */
#ilcourse#ilcourse .ill-content .LMS-interactive-block.ilix-lb{width:100%;max-width:520px;margin-top:12px;overflow:hidden;border:1px solid color-mix(in srgb,var(--ilm-g2,#d6b160) 50%,transparent);border-radius:14px;background:var(--card)}
#ilcourse#ilcourse .ill-content .LMS-interactive-block.ilix-lb .LMS-interactive-header{display:flex;align-items:center;gap:10px;padding:12px 16px;border:0;cursor:pointer;background:linear-gradient(135deg,var(--ilm-t1,#1B5F5C),var(--ilm-t0,#124240));color:var(--ilm-g4,#F6EFD9);font-weight:600;outline:none}
#ilcourse#ilcourse .ill-content .LMS-interactive-block.ilix-lb .LMS-interactive-header:focus-visible{box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--ilm-g2,#c9a45e) 70%,transparent)}
#ilcourse#ilcourse .ill-content .LMS-interactive-block.ilix-lb .lb-chev{margin-left:auto;display:flex;transition:transform .45s cubic-bezier(.22,1,.36,1)}
#ilcourse#ilcourse .ill-content .LMS-interactive-block.ilix-lb .lb-chev svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
#ilcourse#ilcourse .ill-content .LMS-interactive-block.ilix-lb.is-open .lb-chev{transform:rotate(180deg)}
#ilcourse#ilcourse .ill-content .LMS-interactive-block.ilix-lb .LMS-interactive-content{max-height:0;overflow:hidden;padding:0 16px;transition:max-height .6s cubic-bezier(.22,1,.36,1),padding .5s}
#ilcourse#ilcourse .ill-content .LMS-interactive-block.ilix-lb .LMS-interactive-content.active{max-height:900px;padding:16px}
#ilcourse#ilcourse .ill-content .LMS-interactive-block.ilix-lb .LMS-interactive-content ul{list-style:none;margin:0;padding:0}
#ilcourse#ilcourse .ill-content .LMS-interactive-block.ilix-lb .LMS-interactive-content li{display:flex;align-items:flex-start;margin:0 0 6px;line-height:1.6}

/* --- static layouts: LMS explainers --- */
#ilcourse#ilcourse .ill-content .LMS-ricketts-container,#ilcourse#ilcourse .ill-content .LMS-nasal-dorsum-container,#ilcourse#ilcourse .ill-content .LMS-lip-aesthetics-container,#ilcourse#ilcourse .ill-content .LMS-framing-container{display:flex;flex-direction:column;align-items:center;margin:0 auto;padding:30px 20px;border-radius:18px;direction:ltr;color:var(--text)}
#ilcourse#ilcourse .ill-content .LMS-ricketts-container,#ilcourse#ilcourse .ill-content .LMS-framing-container{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow)}
#ilcourse#ilcourse .ill-content .LMS-framing-container{max-width:1100px}
#ilcourse#ilcourse .ill-content .LMS-framing-title{width:100%;margin:0 0 30px;padding-bottom:12px;text-align:center;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:1.7em;color:var(--goldtx)}
#ilcourse#ilcourse .ill-content .LMS-two-column-layout,#ilcourse#ilcourse .ill-content .LMS-main-layout{display:flex;align-items:flex-start;gap:16px;width:100%}
#ilcourse#ilcourse .ill-content .LMS-three-column-layout{display:flex;align-items:flex-start;gap:20px;width:100%}
#ilcourse#ilcourse .ill-content .LMS-image-column{flex:1;max-width:50%;text-align:center}
#ilcourse#ilcourse .ill-content .LMS-image-female-column,#ilcourse#ilcourse .ill-content .LMS-image-male-column{flex:1;max-width:30%;text-align:center}
#ilcourse#ilcourse .ill-content .LMS-image-column img{width:auto;max-width:100%;max-height:300px;border-radius:50%;border:3px solid transparent;box-shadow:var(--shadow);
  background:linear-gradient(var(--card),var(--card)) padding-box,var(--metal) border-box}
#ilcourse#ilcourse .ill-content .LMS-three-column-layout img{width:100%;height:auto;border-radius:50%;border:3px solid transparent;box-shadow:var(--shadow);background:linear-gradient(var(--card),var(--card)) padding-box,var(--metal) border-box}
#ilcourse#ilcourse .ill-content .LMS-text-column ul{list-style:none;margin:5px 0 0;padding:0}
#ilcourse#ilcourse .ill-content .LMS-text-column li{position:relative;margin:0 0 14px;padding-left:20px;font-size:1em;line-height:1.55}
#ilcourse#ilcourse .ill-content .LMS-text-column li::before{content:"";position:absolute;left:0;top:.6em;width:7px;height:7px;background:var(--metal);transform:rotate(45deg)}
#ilcourse#ilcourse .ill-content .LMS-highlight-text{color:var(--teal);font-weight:700}

/* --- static layouts: L10 arrow, L11, L12 --- */
#ilcourse#ilcourse .ill-content .L10-aging-process{display:flex;align-items:center;width:100%;max-width:1600px;padding:15px 0}
#ilcourse#ilcourse .ill-content .L10-aging-process .L10-line-left,#ilcourse#ilcourse .ill-content .L10-aging-process .L10-line-right{flex-grow:1;width:50%;height:3px;border-radius:3px;background:linear-gradient(90deg,color-mix(in srgb,var(--ilm-g2,#c9a45e) 25%,transparent),var(--ilm-g2,#C9A45E),color-mix(in srgb,var(--ilm-g2,#c9a45e) 25%,transparent)) 0 0/200% 100%;animation:ilix-flowline 5s linear infinite}
#ilcourse#ilcourse .ill-content .L10-aging-process .L10-line-left{margin-right:15px}
#ilcourse#ilcourse .ill-content .L10-aging-process .L10-line-right{position:relative;margin-left:15px}
#ilcourse#ilcourse .ill-content .L10-aging-process .L10-text{flex-shrink:0;white-space:nowrap;font:700 .95em/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--goldtx)}
#ilcourse#ilcourse .ill-content .L10-aging-process .L10-arrowhead{flex-shrink:0;width:0;height:0;margin-left:-1px;border-top:10px solid transparent;border-bottom:10px solid transparent;border-left:16px solid var(--ilm-g2,#C9A45E)}
#ilcourse#ilcourse .ill-content .L11-container,#ilcourse#ilcourse .ill-content .L12-container{display:flex;flex-direction:column;align-items:center;max-width:1100px;margin:0 auto;padding:30px 20px;direction:ltr}
#ilcourse#ilcourse .ill-content .L11-header,#ilcourse#ilcourse .ill-content .L12-header{width:100%;max-width:1000px;margin-bottom:25px;font-family:var(--serif);font-size:1.9em;color:var(--goldtx);text-align:left}
#ilcourse#ilcourse .ill-content .L11-content-grid,#ilcourse#ilcourse .ill-content .L12-content-grid{display:flex;align-items:flex-start;gap:30px;width:100%}
#ilcourse#ilcourse .ill-content .L11-left-column{flex:1;min-width:40%;padding-right:20px}
#ilcourse#ilcourse .ill-content .L11-right-column{flex:1;min-width:60%;display:flex;flex-direction:column;align-items:center}
#ilcourse#ilcourse .ill-content .L11-math-box{width:100%;aspect-ratio:1.8/1;margin-bottom:20px;padding:10px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:14px;background:var(--panel)}
#ilcourse#ilcourse .ill-content .L11-math-box img{width:100%;height:100%;object-fit:contain}
#ilcourse#ilcourse .ill-content .L11-text-item{margin-bottom:15px;font-size:1.1em;line-height:1.6;color:var(--text)}
#ilcourse#ilcourse .ill-content .L11-text-item strong{color:var(--teal)}
#ilcourse#ilcourse .ill-content .L11-highlight-box{margin-top:10px;padding:15px;border:1px solid color-mix(in srgb,var(--ilm-g2,#d6b160) 55%,transparent);border-radius:14px;background:linear-gradient(135deg,var(--soft),transparent),var(--card)}
#ilcourse#ilcourse .ill-content .L11-face-image-box,#ilcourse#ilcourse .ill-content .L12-face-image-box{width:100%;aspect-ratio:1.1/1;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--panel);box-shadow:var(--shadow)}
#ilcourse#ilcourse .ill-content .L11-face-image-box img,#ilcourse#ilcourse .ill-content .L12-face-image-box img{width:100%;height:100%;object-fit:cover}
#ilcourse#ilcourse .ill-content .L12-left-column{flex:2;min-width:60%}
#ilcourse#ilcourse .ill-content .L12-right-column{flex:1;min-width:40%;padding-top:50px}
#ilcourse#ilcourse .ill-content .L12-description-list{list-style:none;margin:0;padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--card);box-shadow:var(--shadow);font-size:1.1em;line-height:1.8}
#ilcourse#ilcourse .ill-content .L12-description-list li{margin:0 0 5px}
#ilcourse#ilcourse .ill-content .L12-main-text{margin-bottom:10px;font-size:1.2em;font-weight:700}

/* --- small leftovers from the old style sheet --- */
#ilcourse#ilcourse .ill-content .highlight-box{margin-top:15px;padding:14px 18px;border:1px solid color-mix(in srgb,var(--ilm-g2,#d6b160) 55%,transparent);border-radius:14px;background:linear-gradient(158deg,var(--ilm-t1,#1B5F5C),var(--ilm-t0,#0B2B2A));color:var(--ilm-g4,#F6EFD9);box-shadow:0 10px 24px rgba(0,0,0,.25)}
#ilcourse#ilcourse .ill-content .info-note{font-size:12px;border-style:dashed}
#ilcourse#ilcourse .ill-content .hint{margin:0 0 20px;text-align:center;font-size:17px;color:var(--muted)}
#ilcourse#ilcourse .ill-content .hoverbox-center{display:flex !important;flex-direction:column !important;align-items:center !important;justify-content:center !important}
#ilcourse#ilcourse .ill-content .centered-list{list-style:none;padding:0;text-align:center}
#ilcourse#ilcourse .ill-content .centered-list li{display:inline-block;margin-right:20px;text-align:left}
#ilcourse#ilcourse .ill-content .centered-list li::before{content:"";display:inline-block;width:.45em;height:.45em;margin-right:10px;background:var(--metal);transform:rotate(45deg);vertical-align:.1em}
#ilcourse#ilcourse .ill-content .deeper-adv-tabs .tab-content-wrap{margin-top:10px}

@media (max-width:768px){
  #ilcourse#ilcourse .ill-content .LMS-two-column-layout,#ilcourse#ilcourse .ill-content .LMS-three-column-layout,#ilcourse#ilcourse .ill-content .LMS-main-layout,#ilcourse#ilcourse .ill-content .L11-content-grid,#ilcourse#ilcourse .ill-content .L12-content-grid{flex-direction:column}
  #ilcourse#ilcourse .ill-content .LMS-image-column,#ilcourse#ilcourse .ill-content .LMS-image-female-column,#ilcourse#ilcourse .ill-content .LMS-image-male-column,#ilcourse#ilcourse .ill-content .L11-left-column,#ilcourse#ilcourse .ill-content .L11-right-column,#ilcourse#ilcourse .ill-content .L12-left-column,#ilcourse#ilcourse .ill-content .L12-right-column{max-width:100%;width:100%;min-width:100%;padding:0;margin-bottom:20px}
  #ilcourse#ilcourse .ill-content .LMS-image-column,#ilcourse#ilcourse .ill-content .L11-right-column{order:-1}
  #ilcourse#ilcourse .ill-content .aging-wrap.ilix-ag{flex-direction:column;align-items:stretch}
  #ilcourse#ilcourse .ill-content .aging-wrap.ilix-ag .aging-col-left{flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px}
  #ilcourse#ilcourse .ill-content .aging-wrap.ilix-ag .aging-arrows-col{display:none}
  #ilcourse#ilcourse .ill-content .aging-wrap.ilix-ag .aging-col-btns{flex-direction:row;flex-wrap:wrap;gap:10px;margin:14px 0}
  #ilcourse#ilcourse .ill-content .aging-wrap.ilix-ag .aging-col-panel{padding:0}
  #ilcourse#ilcourse .ill-content .aging-wrap.ilix-ag .aging-panel.active{margin-left:0}
  #ilcourse#ilcourse .ill-content .aging-wrap.ilix-ag .aging-factor-btn.active{transform:none}
}
@media (prefers-reduced-motion:reduce){
  #ilcourse .ill-content .ilix-pc *,#ilcourse .ill-content .ilix-yn *,#ilcourse#ilcourse .ill-content .aging-wrap.ilix-ag *,#ilcourse#ilcourse .ill-content .bone-wrap.ilix-bn *,#ilcourse#ilcourse .ill-content .L10-aging-process *{animation:none !important;transition:none !important}
}
#ilcourse .ill-content li > .ilix-dot:first-child{margin-top:.62em}

/* =========================================================================
   ilmora KIT (.ilk-*) — the ilmora lesson blocks
   cards · quick question · flow compare · sort game · key points · lead
   · built by interactions.js from plain HTML (guide: docs/ilmora-kit.md)
   · colours only from the skin tokens, so each academy skin dresses them;
     a skin can set --ilm-ok / --ilm-no for the right / wrong colours
   · LTR and RTL: logical properties; the few direction-bound values use --ilk-dir
   ========================================================================= */
#ilcourse .ill-content .ilk{--ilk-ok:var(--ilm-ok,#3BB58C);--ilk-no:var(--ilm-no,#E0785E);--ilk-dir:1;--ilk-spot:var(--ilm-spot,var(--soft));
  position:relative;margin:36px 0;padding:clamp(18px,2.6vw,30px);border-radius:24px;isolation:isolate;
  background:var(--ilm-glass,var(--card));border:1px solid var(--line2);box-shadow:var(--shadow);color:var(--text)}
html[dir="rtl"] #ilcourse .ill-content .ilk{--ilk-dir:-1}
/* thin metal edge */
#ilcourse .ill-content .ilk::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;padding:1px;pointer-events:none;opacity:.75;
  background:var(--ilm-edge,linear-gradient(135deg,var(--ilm-g3,#F3E3A0),transparent 38%,transparent 62%,var(--ilm-g2,#D4AF37)));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
#ilcourse .ill-content .ilk.is-pre{opacity:0;transform:translateY(22px)}
#ilcourse .ill-content .ilk.is-pre.is-in{opacity:1;transform:none;transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}
/* the theme of the site often styles every <button> (nowrap, uppercase, letter-spacing, fixed height, max-width …):
   the blocks reset all of it, so their own rules below decide */
#ilcourse .ill-content .ilk button{font:inherit;color:inherit;-webkit-appearance:none;appearance:none;margin:0;
  white-space:normal;text-transform:none;letter-spacing:normal;word-spacing:normal;text-shadow:none;text-decoration:none;text-indent:0;
  height:auto;max-width:none;min-width:0;overflow:visible;text-overflow:clip;vertical-align:middle;float:none;outline-offset:3px}
#ilcourse .ill-content .ilk button.ilk-pt-b{overflow:hidden}
#ilcourse .ill-content .ilk button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
#ilcourse .ill-content .ilk svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#ilcourse .ill-content .ilk p{margin:0}
#ilcourse .ill-content .ilk [hidden]{display:none !important}

/* ---------- header: badge · title · hint · ring ---------- */
#ilcourse .ill-content .ilk-head{display:flex;align-items:center;gap:14px;margin-bottom:22px}
#ilcourse .ill-content .ilk-badge{flex:none;width:44px;height:44px;border-radius:13px;display:grid;place-items:center;
  background:var(--ilm-b-fill,var(--metal));color:var(--ilm-btn-ink,var(--ilm-gink,#1A1405));box-shadow:0 8px 20px var(--ilm-b-glow,rgba(212,175,55,.3))}
#ilcourse .ill-content .ilk-badge svg{width:22px;height:22px;stroke-width:2}
#ilcourse .ill-content .ilk-head-t{flex:1;min-width:0}
#ilcourse .ill-content .ilk-title{font-size:clamp(17px,1.5vw,20px);font-weight:700;line-height:1.5;color:var(--text)}
#ilcourse .ill-content .ilk-hint{margin-top:2px;font-size:13px;line-height:1.6;color:var(--muted)}
#ilcourse .ill-content .ilk-meter{position:relative;flex:none;width:54px;height:54px;display:grid;place-items:center}
#ilcourse .ill-content .ilk-meter svg{position:absolute;inset:0;width:100%;height:100%;/*rtl:ignore*/transform:rotate(-90deg)}
#ilcourse .ill-content .ilk-meter circle{fill:none;stroke-width:2.6}
#ilcourse .ill-content .ilk-meter .bg{stroke:var(--line)}
#ilcourse .ill-content .ilk-meter .fg{stroke:var(--gold);stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--p,0));transition:stroke-dashoffset .7s cubic-bezier(.22,1,.36,1);
  filter:drop-shadow(0 0 4px var(--ilm-b-glow,rgba(212,175,55,.45)))}
#ilcourse .ill-content .ilk-meter b{position:relative;font:600 12px/1 var(--mono);color:var(--goldtx);/*rtl:ignore*/direction:ltr}
#ilcourse .ill-content .ilk-meter.is-full{animation:ilk-pop .5s cubic-bezier(.22,1,.36,1)}

/* the light that follows the mouse (set by interactions.js) */
#ilcourse .ill-content :is(.ilk-front,.ilk-item,.ilk-pt-b)::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s;
  background:radial-gradient(280px circle at var(--mx,50%) var(--my,50%),var(--ilk-spot),transparent 62%)}
#ilcourse .ill-content :is(.ilk-flip:hover .ilk-front,.ilk-item:hover,.ilk-pt-b:hover)::before{opacity:1}

/* sparks */
#ilcourse .ill-content .ilk-spark{position:absolute;left:50%;top:50%;z-index:5;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;pointer-events:none;
  background:var(--ilm-g3,#F3E3A0);box-shadow:0 0 10px var(--gold);animation:ilk-spark .9s cubic-bezier(.2,.7,.3,1) forwards}
@keyframes ilk-spark{from{opacity:1;transform:translate(0,0) scale(1)}to{opacity:0;/*rtl:ignore*/transform:translate(var(--dx),var(--dy)) scale(.3)}}
@keyframes ilk-pop{40%{transform:scale(1.14)}}
@keyframes ilk-shake{20%,60%{transform:translateX(-5px)}40%,80%{transform:translateX(5px)}}
@keyframes ilk-up{from{opacity:0;transform:translateY(10px)}}

/* ---------- lead: the opening paragraph ---------- */
#ilcourse .ill-content p.ilk-lead{position:relative;margin:4px 0 30px;padding:22px 26px;border-radius:18px;font-size:clamp(17px,1.45vw,19px);line-height:2;
  background:linear-gradient(to bottom,var(--soft),transparent 140%);border:1px solid var(--line2);border-inline-start:3px solid var(--gold)}
#ilcourse .ill-content p.ilk-lead strong{color:var(--goldtx)}

/* ---------- CARDS: turn over to the example ---------- */
#ilcourse .ill-content .ilk-cards-x{container-type:inline-size}
#ilcourse .ill-content .ilk-grid{display:grid;grid-template-columns:repeat(var(--cols,4),minmax(0,1fr));gap:14px;perspective:1300px}
@container (max-width:860px){#ilcourse .ill-content .ilk-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container (max-width:440px){#ilcourse .ill-content .ilk-grid{grid-template-columns:1fr}}
#ilcourse .ill-content .ilk-flip{--flip:0deg;position:relative;display:grid;min-height:224px;padding:0;border:0;background:none;text-align:start;cursor:pointer;
  transform-style:preserve-3d;/*rtl:ignore*/transform:rotateX(var(--rx,0deg)) rotateY(calc(var(--flip) + var(--ry,0deg)));
  transition:transform .75s cubic-bezier(.22,1,.36,1)}
#ilcourse .ill-content .ilk-flip:hover{transition:transform .2s ease-out}
#ilcourse .ill-content .ilk-flip.is-on{--flip:180deg;transition:transform .75s cubic-bezier(.22,1,.36,1)}
#ilcourse .ill-content .ilk-face{grid-area:1/1;position:relative;display:flex;flex-direction:column;border-radius:18px;padding:20px;overflow:hidden;
  -webkit-backface-visibility:hidden;backface-visibility:hidden;border:1px solid var(--line)}
#ilcourse .ill-content .ilk-front{background:var(--panel);justify-content:flex-end;gap:6px;transition:border-color .3s,box-shadow .3s}
#ilcourse .ill-content .ilk-flip:hover .ilk-front{border-color:color-mix(in srgb,var(--gold) 55%,transparent);box-shadow:0 14px 34px rgba(0,0,0,.18),0 0 0 1px color-mix(in srgb,var(--gold) 20%,transparent)}
#ilcourse .ill-content .ilk-ico{position:absolute;top:18px;inset-inline-start:18px;width:58px;height:58px;border-radius:17px;display:grid;place-items:center;color:var(--goldtx);
  background:var(--card);border:1px solid var(--line);transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s}
#ilcourse .ill-content .ilk-ico svg{width:28px;height:28px;stroke-width:1.6}
#ilcourse .ill-content .ilk-flip:hover .ilk-ico{transform:translateY(-3px) scale(1.06);box-shadow:0 0 26px var(--ilm-b-glow,rgba(212,175,55,.35))}
#ilcourse .ill-content .ilk-no{position:absolute;top:20px;inset-inline-end:20px;font:500 11px var(--mono);letter-spacing:.12em;color:var(--muted)}
#ilcourse .ill-content .ilk-name{font-size:17px;font-weight:700;line-height:1.45;color:var(--text)}
#ilcourse .ill-content .ilk-turn{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--goldtx);opacity:.85}
#ilcourse .ill-content .ilk-turn::before{content:"";width:16px;height:1px;background:currentColor}
#ilcourse .ill-content .ilk-back{/*rtl:ignore*/transform:rotateY(180deg);gap:10px;justify-content:flex-start;
  background:linear-gradient(160deg,color-mix(in srgb,var(--gold) 16%,var(--card)),var(--card) 70%);border-color:color-mix(in srgb,var(--gold) 45%,transparent)}
#ilcourse .ill-content .ilk-back::before{content:"";position:absolute;inset-inline:20px;top:0;height:2px;border-radius:2px;background:var(--metal)}
#ilcourse .ill-content .ilk-back .ilk-name{font-size:14px;color:var(--goldtx)}
#ilcourse .ill-content .ilk-text{font-size:15px;line-height:1.85;color:var(--text)}
#ilcourse .ill-content .ilk-text p{margin:0 0 8px}
#ilcourse .ill-content .ilk-flip.is-on{z-index:1}
#ilcourse .ill-content .ilk-cards-x.is-done .ilk-badge{animation:ilk-pop .5s}

/* ---------- QUICK QUESTION ---------- */
#ilcourse .ill-content .ilk-opts{display:flex;flex-direction:column;gap:10px}
#ilcourse .ill-content .ilk-opt{position:relative;display:flex;align-items:center;gap:14px;width:100%;padding:14px 16px;border-radius:15px;border:1px solid var(--line);
  background:var(--panel);font-size:15.5px;line-height:1.65;text-align:start;cursor:pointer;
  transition:border-color .25s,background .25s,transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s,opacity .3s}
#ilcourse .ill-content .ilk-opt:hover:not(:disabled){border-color:color-mix(in srgb,var(--gold) 60%,transparent);transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.14)}
#ilcourse .ill-content .ilk-opt:disabled{cursor:default}
#ilcourse .ill-content .ilk-key{flex:none;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;border:1px solid var(--line);font:600 13px var(--mono);color:var(--goldtx);position:relative;transition:background .3s,color .3s}
#ilcourse .ill-content .ilk-opt-t{flex:1;min-width:0}
#ilcourse .ill-content .ilk-mark{flex:none;width:22px;height:22px;display:grid;place-items:center}
#ilcourse .ill-content .ilk-mark svg{width:20px;height:20px;stroke-width:2.4}
#ilcourse .ill-content .ilk-opt.is-right{border-color:var(--ilk-ok);background:color-mix(in srgb,var(--ilk-ok) 13%,var(--panel));box-shadow:0 0 0 4px color-mix(in srgb,var(--ilk-ok) 16%,transparent);opacity:1}
#ilcourse .ill-content .ilk-opt.is-right .ilk-key{background:var(--ilk-ok);border-color:transparent;color:#fff}
#ilcourse .ill-content .ilk-opt.is-right .ilk-mark{color:var(--ilk-ok)}
#ilcourse .ill-content .ilk-opt.is-wrong{border-color:color-mix(in srgb,var(--ilk-no) 70%,transparent);background:color-mix(in srgb,var(--ilk-no) 9%,var(--panel));animation:ilk-shake .42s}
#ilcourse .ill-content .ilk-opt.is-wrong .ilk-mark{color:var(--ilk-no)}
#ilcourse .ill-content .ilk-opt.is-dim:not(.is-wrong){opacity:.5}
#ilcourse .ill-content .ilk-opt-note{margin:8px 0 2px;padding-inline-start:62px;font-size:14px;line-height:1.75;color:var(--muted);animation:ilk-up .35s both}
#ilcourse .ill-content .ilk-verdict{margin-top:14px;min-height:1.7em;font-size:14.5px;font-weight:700}
#ilcourse .ill-content .ilk-verdict.is-right{color:var(--ilk-ok)}
#ilcourse .ill-content .ilk-verdict.is-wrong{color:var(--ilk-no)}
#ilcourse .ill-content .ilk-why-x{display:flex;align-items:flex-start;gap:14px;margin-top:10px;padding:16px 18px;border-radius:16px;background:var(--soft);border:1px solid var(--line);animation:ilk-up .45s both}
#ilcourse .ill-content .ilk-why-ico{flex:none;width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--ilm-b-fill,var(--metal));color:var(--ilm-btn-ink,#1A1405)}
#ilcourse .ill-content .ilk-why-ico svg{width:20px;height:20px}
#ilcourse .ill-content .ilk-why-t{font-size:15px;line-height:1.85}

/* ---------- FLOW: inputs → engine → result, with a switch ---------- */
#ilcourse .ill-content .ilk-switch{position:relative;display:grid;grid-template-columns:repeat(var(--n,2),minmax(0,1fr));padding:5px;margin-bottom:18px;border-radius:16px;background:var(--panel);border:1px solid var(--line2)}
#ilcourse .ill-content .ilk-thumb{position:absolute;top:5px;bottom:5px;inset-inline-start:5px;width:calc((100% - 10px) / var(--n,2));border-radius:12px;
  background:var(--ilm-b-fill,var(--metal));box-shadow:0 8px 22px var(--ilm-b-glow,rgba(212,175,55,.35));
  /*rtl:ignore*/transform:translateX(calc(var(--i,0) * 100% * var(--ilk-dir)));transition:transform .5s cubic-bezier(.22,1,.36,1)}
#ilcourse .ill-content .ilk-seg{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:8px 12px;border:0;border-radius:12px;
  background:none;color:var(--muted);font-weight:700;font-size:14.5px;cursor:pointer;transition:color .35s}
#ilcourse .ill-content .ilk-seg:hover{color:var(--text)}
#ilcourse .ill-content .ilk-seg.is-on{color:var(--ilm-btn-ink,#1A1405)}
#ilcourse .ill-content .ilk-seg-ico svg{width:19px;height:19px;display:block}
#ilcourse .ill-content .ilk-stage{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(28px,.45fr) auto minmax(28px,.45fr) minmax(0,1fr);align-items:center;
  min-height:200px;padding:26px clamp(12px,2.2vw,26px);border-radius:18px;border:1px solid var(--line2);overflow:hidden;
  background:radial-gradient(circle at 50% 50%,var(--soft),transparent 60%),var(--panel)}
#ilcourse .ill-content .ilk-stage::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:radial-gradient(color-mix(in srgb,var(--gold) 35%,transparent) 1px,transparent 1.4px);background-size:22px 22px;
  -webkit-mask:radial-gradient(circle at 50% 50%,#000,transparent 75%);mask:radial-gradient(circle at 50% 50%,#000,transparent 75%)}
#ilcourse .ill-content .ilk-col{position:relative}
#ilcourse .ill-content .ilk-ins{display:flex;flex-direction:column;gap:10px}
#ilcourse .ill-content .ilk-chip{display:block;padding:12px 14px;border-radius:13px;background:var(--card);border:1px solid var(--line);font-size:14.5px;font-weight:500;line-height:1.55;text-align:center;color:var(--text)}
#ilcourse .ill-content .ilk-chip.is-res{padding:16px 14px;font-weight:700;font-size:15.5px;border:0;color:var(--ilm-btn-ink,#1A1405);background:var(--ilm-b-fill,var(--metal));
  box-shadow:0 12px 30px var(--ilm-b-glow,rgba(212,175,55,.35))}
#ilcourse .ill-content .ilk-wire{position:relative;height:2px;margin:0 8px;border-radius:2px;background:var(--line);transform-origin:left center}
#ilcourse .ill-content .ilk-wire i{position:absolute;inset:0;border-radius:inherit;background:repeating-linear-gradient(90deg,var(--gold) 0 7px,transparent 7px 15px);
  animation:ilk-run .7s linear infinite}
@keyframes ilk-run{from{/*rtl:ignore*/background-position:0 0}to{/*rtl:ignore*/background-position:calc(15px * var(--ilk-dir)) 0}}
#ilcourse .ill-content .ilk-wire::after{content:"";position:absolute;right:-2px;top:50%;width:9px;height:9px;margin-top:-5px;border-top:2px solid var(--gold);border-right:2px solid var(--gold);transform:rotate(45deg)}
#ilcourse .ill-content .ilk-engine{display:flex;flex-direction:column;align-items:center;gap:10px;padding:0 4px}
#ilcourse .ill-content .ilk-core{position:relative;width:88px;height:88px;border-radius:50%;display:grid;place-items:center;color:var(--goldtx);background:var(--card);
  border:1px solid var(--line);box-shadow:0 0 0 8px color-mix(in srgb,var(--gold) 7%,transparent),0 0 34px var(--ilm-b-glow,rgba(212,175,55,.3))}
#ilcourse .ill-content .ilk-core::before{content:"";position:absolute;inset:-9px;border-radius:50%;border:1.5px dashed color-mix(in srgb,var(--gold) 70%,transparent);animation:ilk-spin 14s linear infinite}
#ilcourse .ill-content .ilk-core svg{width:38px;height:38px;stroke-width:1.5}
#ilcourse .ill-content .ilk-core-t{max-width:150px;font-size:13.5px;font-weight:700;line-height:1.5;text-align:center;color:var(--text)}
@keyframes ilk-spin{to{transform:rotate(360deg)}}
#ilcourse .ill-content .ilk-stage.in > *{animation:ilk-up .5s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--k,0) * 110ms)}
#ilcourse .ill-content .ilk-stage.in .ilk-chip{animation:ilk-up .5s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--k,0) * 90ms)}
#ilcourse .ill-content .ilk-stage.in > .ilk-wire{animation:ilk-draw .45s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--k,0) * 110ms)}
@keyframes ilk-draw{from{transform:scaleX(0)}}
#ilcourse .ill-content .ilk p.ilk-cap{margin:18px 0 0;padding-inline-start:16px;border-inline-start:2px solid var(--gold);font-size:15px;line-height:1.9;color:var(--muted)}
#ilcourse .ill-content .ilk p.ilk-cap.in{animation:ilk-up .45s .25s both}

/* ---------- SORT: put each card in its group ---------- */
#ilcourse .ill-content .ilk-board{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.45fr) minmax(0,1fr);gap:16px;align-items:stretch}
#ilcourse .ill-content .ilk-bin{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:240px;padding:20px 14px;
  border-radius:20px;border:1.5px dashed var(--line);background:var(--panel);cursor:pointer;
  transition:border-color .25s,background .25s,transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s}
#ilcourse .ill-content .ilk-bin:hover:not(:disabled){border-style:solid;border-color:var(--gold);background:color-mix(in srgb,var(--gold) 7%,var(--panel));transform:translateY(-4px);box-shadow:0 14px 30px rgba(0,0,0,.16)}
#ilcourse .ill-content .ilk-bin:disabled{cursor:default}
#ilcourse .ill-content .ilk-bin-ico{position:relative;width:60px;height:60px;border-radius:18px;display:grid;place-items:center;color:var(--goldtx);background:var(--card);border:1px solid var(--line);transition:transform .35s cubic-bezier(.22,1,.36,1)}
#ilcourse .ill-content .ilk-bin:hover:not(:disabled) .ilk-bin-ico{transform:scale(1.08)}
#ilcourse .ill-content .ilk-bin-ico svg{width:30px;height:30px;stroke-width:1.6}
#ilcourse .ill-content .ilk-bin-t{font-weight:700;font-size:15.5px;line-height:1.5;text-align:center}
#ilcourse .ill-content .ilk-bin-n{min-width:34px;padding:3px 10px;border-radius:99px;border:1px solid var(--line2);font:600 12px var(--mono);color:var(--muted);text-align:center}
#ilcourse .ill-content .ilk-bin.is-right{border-style:solid;border-color:var(--ilk-ok);background:color-mix(in srgb,var(--ilk-ok) 9%,var(--panel));box-shadow:0 0 0 4px color-mix(in srgb,var(--ilk-ok) 15%,transparent)}
#ilcourse .ill-content .ilk-bin.is-right .ilk-bin-n{color:var(--ilk-ok);border-color:var(--ilk-ok)}
#ilcourse .ill-content .ilk-bin.is-wrong{border-style:solid;border-color:var(--ilk-no);background:color-mix(in srgb,var(--ilk-no) 8%,var(--panel));animation:ilk-shake .42s}
#ilcourse .ill-content .ilk-deck{display:grid;grid-template-rows:auto auto auto;gap:12px;align-content:start}
#ilcourse .ill-content .ilk-deck[hidden]{display:none}
#ilcourse .ill-content .ilk-pile,#ilcourse .ill-content .ilk-slot{grid-area:1/1}
#ilcourse .ill-content .ilk-pile{position:relative}
#ilcourse .ill-content .ilk-pile i{position:absolute;inset:0;border-radius:18px;background:var(--card);border:1px solid var(--line2)}
#ilcourse .ill-content .ilk-pile i:first-child{transform:translateY(14px) scale(.9);opacity:.45}
#ilcourse .ill-content .ilk-pile i:last-child{transform:translateY(7px) scale(.95);opacity:.75}
#ilcourse .ill-content .ilk-deck.is-last .ilk-pile{visibility:hidden}
#ilcourse .ill-content .ilk-slot{position:relative;z-index:1;min-height:170px;perspective:900px}
#ilcourse .ill-content .ilk-item{position:relative;height:100%;min-height:170px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px 20px;
  border-radius:18px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);text-align:center;overflow:hidden;
  transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .2s ease-out;animation:ilk-deal .5s cubic-bezier(.22,1,.36,1) both}
#ilcourse .ill-content .ilk-item::after{content:"";position:absolute;inset-inline:22%;top:0;height:2px;background:var(--metal);border-radius:2px}
@keyframes ilk-deal{from{opacity:0;transform:translateY(16px) scale(.94)}}
#ilcourse .ill-content .ilk-item-no{font:500 11px var(--mono);letter-spacing:.14em;color:var(--goldtx);direction:inherit}
#ilcourse .ill-content .ilk-item-t{font-size:clamp(17px,1.55vw,20px);font-weight:700;line-height:1.55;color:var(--text)}
#ilcourse .ill-content .ilk-item.is-flying{pointer-events:none;animation:none;opacity:0;/*rtl:ignore*/transform:translate(var(--fx,0),var(--fy,0)) scale(.25) rotate(calc(10deg * var(--ilk-dir)));
  transition:transform .6s cubic-bezier(.55,0,.6,1),opacity .6s ease-in}
#ilcourse .ill-content .ilk-fb{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:15px;font-size:14.5px;line-height:1.8;border:1px solid var(--line2);background:var(--panel)}
#ilcourse .ill-content .ilk-fb:empty{display:none}
#ilcourse .ill-content .ilk-fb.in{animation:ilk-up .4s .1s both}
#ilcourse .ill-content .ilk-fb-t{flex:1;min-width:0}
#ilcourse .ill-content .ilk-fb b{display:block;font-weight:700}
#ilcourse .ill-content .ilk-fb.is-right{border-color:color-mix(in srgb,var(--ilk-ok) 55%,transparent)}
#ilcourse .ill-content .ilk-fb.is-right b,#ilcourse .ill-content .ilk-fb.is-right .ilk-fb-ico{color:var(--ilk-ok)}
#ilcourse .ill-content .ilk-fb.is-wrong{border-color:color-mix(in srgb,var(--ilk-no) 55%,transparent)}
#ilcourse .ill-content .ilk-fb.is-wrong b,#ilcourse .ill-content .ilk-fb.is-wrong .ilk-fb-ico{color:var(--ilk-no)}
#ilcourse .ill-content .ilk-fb-ico svg{width:22px;height:22px;stroke-width:2.4;display:block;margin-top:2px}
#ilcourse .ill-content .ilk-next,#ilcourse .ill-content .ilk-again{justify-self:center;display:inline-flex;align-items:center;gap:8px;padding:12px 26px;border:0;border-radius:13px;cursor:pointer;font-weight:700;font-size:14.5px;
  color:var(--ilm-btn-ink,#1A1405);background:var(--ilm-b-fill,var(--metal));box-shadow:0 10px 24px var(--ilm-b-glow,rgba(212,175,55,.3));transition:transform .25s cubic-bezier(.22,1,.36,1),filter .25s}
#ilcourse .ill-content .ilk-next:hover,#ilcourse .ill-content .ilk-again:hover{transform:translateY(-2px);filter:brightness(1.06)}
#ilcourse .ill-content .ilk-next[hidden]{display:none}
#ilcourse .ill-content .ilk-again svg{width:17px;height:17px;stroke-width:2.2}
#ilcourse .ill-content .ilk-sum{display:grid;gap:18px;justify-items:center;text-align:center;animation:ilk-up .5s both}
#ilcourse .ill-content .ilk-sum-score{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px}
#ilcourse .ill-content .ilk-sum-score b{font:700 46px/1.1 var(--serif);/*rtl:ignore*/direction:ltr;background:var(--metal);-webkit-background-clip:text;background-clip:text;color:transparent}
#ilcourse .ill-content .ilk-sum-score span{font-size:15px;color:var(--muted)}
#ilcourse .ill-content .ilk-sum-cols{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;text-align:start}
#ilcourse .ill-content .ilk-sum-col{padding:16px 18px;border-radius:16px;background:var(--panel);border:1px solid var(--line2)}
#ilcourse .ill-content .ilk-sum-h{display:flex;align-items:center;gap:10px;margin-bottom:8px;color:var(--goldtx)}
#ilcourse .ill-content .ilk-sum-h svg{width:20px;height:20px;display:block}
#ilcourse .ill-content .ilk-sum-h b{color:var(--text)}
#ilcourse .ill-content .ilk-sum-col ul{margin:0;padding:0;list-style:none}
#ilcourse .ill-content .ilk-sum-col li{position:relative;margin:0;padding:6px 0;padding-inline-start:18px;font-size:14.5px;line-height:1.6;border-top:1px solid var(--line2)}
#ilcourse .ill-content .ilk-sum-col li:first-child{border-top:0}
#ilcourse .ill-content .ilk-sum-col li::before{content:"";position:absolute;inset-inline-start:2px;top:1.05em;width:6px;height:6px;border-radius:50%;background:var(--gold)}
#ilcourse .ill-content .ilk-sort-x.is-done .ilk-board{display:none}

/* ---------- KEY POINTS ---------- */
#ilcourse .ill-content .ilk-points{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
#ilcourse .ill-content .ilk-pt{margin:0}
#ilcourse .ill-content .ilk-pt-b{position:relative;display:flex;align-items:center;gap:16px;width:100%;padding:16px 18px;border-radius:16px;border:1px solid var(--line2);overflow:hidden;
  background:var(--panel);font-size:15.5px;line-height:1.75;text-align:start;cursor:pointer;
  /*rtl:ignore*/transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(calc(var(--ry,0deg) * .4));
  transition:border-color .3s,background .3s,transform .2s ease-out,box-shadow .3s}
#ilcourse .ill-content .ilk-pt-b:hover{border-color:color-mix(in srgb,var(--gold) 50%,transparent);box-shadow:0 10px 26px rgba(0,0,0,.14)}
#ilcourse .ill-content .ilk-pt-no{flex:none;min-width:40px;font:700 26px/1 var(--serif);color:var(--goldtx);/*rtl:ignore*/direction:ltr;transition:transform .4s cubic-bezier(.22,1,.36,1)}
#ilcourse .ill-content .ilk-pt-t{flex:1;min-width:0}
#ilcourse .ill-content .ilk-pt-ok{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--line);color:transparent;transition:background .35s,border-color .35s,color .35s,transform .35s cubic-bezier(.22,1,.36,1)}
#ilcourse .ill-content .ilk-pt-ok svg{width:16px;height:16px;stroke-width:2.8;stroke-dasharray:24;stroke-dashoffset:24;transition:stroke-dashoffset .45s .1s}
#ilcourse .ill-content .ilk-pt.is-done .ilk-pt-b{border-color:color-mix(in srgb,var(--gold) 45%,transparent);background:linear-gradient(to bottom,var(--soft),transparent),var(--panel)}
#ilcourse .ill-content .ilk-pt.is-done .ilk-pt-ok{background:var(--ilm-b-fill,var(--metal));border-color:transparent;color:var(--ilm-btn-ink,#1A1405);transform:scale(1.08)}
#ilcourse .ill-content .ilk-pt.is-done .ilk-pt-ok svg{stroke-dashoffset:0}
#ilcourse .ill-content .ilk-pt.is-done .ilk-pt-no{transform:scale(.9)}
#ilcourse .ill-content .ilk-pt-b::after{content:"";position:absolute;top:0;bottom:0;left:-40%;width:30%;pointer-events:none;opacity:0;
  background:linear-gradient(100deg,transparent,color-mix(in srgb,var(--ilm-g3,#F3E3A0) 35%,transparent),transparent)}
#ilcourse .ill-content .ilk-keys-x.is-done .ilk-pt-b::after{animation:ilk-sweep 1.1s calc(var(--i,0) * 120ms) ease-out}
@keyframes ilk-sweep{from{opacity:1;left:-40%}to{opacity:1;left:110%}}
#ilcourse .ill-content .ilk-end{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:16px;font-weight:700;color:var(--goldtx);animation:ilk-up .45s both}
#ilcourse .ill-content .ilk-end[hidden]{display:none}
#ilcourse .ill-content .ilk-end svg{width:20px;height:20px;stroke-width:2.6}

/* ---------- small screens ---------- */
@media (max-width:760px){
  #ilcourse .ill-content .ilk-stage{grid-template-columns:1fr;justify-items:center;gap:0;padding:22px 16px}
  #ilcourse .ill-content .ilk-ins{flex-direction:row;flex-wrap:wrap;justify-content:center;width:100%}
  #ilcourse .ill-content .ilk-ins .ilk-chip{flex:1 1 140px}
  #ilcourse .ill-content .ilk-wire{width:2px;height:34px;margin:8px 0;transform-origin:center top}
  #ilcourse .ill-content .ilk-wire i{background:repeating-linear-gradient(180deg,var(--gold) 0 7px,transparent 7px 15px);animation-name:ilk-run-v}
  #ilcourse .ill-content .ilk-wire::after{right:auto;left:50%;top:auto;bottom:-2px;margin:0 0 0 -5px;transform:rotate(135deg)}
  #ilcourse .ill-content .ilk-stage.in > .ilk-wire{animation-name:ilk-draw-v}
  #ilcourse .ill-content .ilk-res{width:100%}
  #ilcourse .ill-content .ilk-board{grid-template-columns:1fr 1fr}
  #ilcourse .ill-content .ilk-deck{grid-column:1 / -1;order:-1}
  #ilcourse .ill-content .ilk-bin{min-height:150px}
  #ilcourse .ill-content .ilk-opt-note{padding-inline-start:0}
}
@keyframes ilk-run-v{to{background-position:0 15px}}
@keyframes ilk-draw-v{from{transform:scaleY(0)}}

/* ---------- reduced motion: no 3D, no travel, no loops ---------- */
@media (prefers-reduced-motion:reduce){
  #ilcourse .ill-content .ilk *,#ilcourse .ill-content .ilk *::before,#ilcourse .ill-content .ilk *::after{animation:none !important;transition:none !important}
  #ilcourse .ill-content .ilk.is-pre{opacity:1;transform:none}
  #ilcourse .ill-content .ilk-flip,#ilcourse .ill-content .ilk-flip.is-on{transform:none}
  #ilcourse .ill-content .ilk-back{transform:none;visibility:hidden}
  #ilcourse .ill-content .ilk-flip.is-on .ilk-back{visibility:visible}
  #ilcourse .ill-content .ilk-flip.is-on .ilk-front{visibility:hidden}
}
