/* xMap Academy (academy/academy.js): the learning path, the lesson player (a short narrated reel, then three quick
   questions), rewards, the side cards, quests, the final check, the capstone and the certificate. Every class starts
   with ac- so nothing clashes with app.css. One corner curve (var(--r)), nothing heavier than 600, light like the site. */
.ac-body{--ac-navy:#14246b;--ac-blue:#233F99;--ac-blue2:#3D63D9;--ac-cyan:#12A6D8;--ac-cyan2:#7FDBF5;--ac-ok:#1E9E62;--ac-ok-bg:#E3F6EC;--ac-bad:#D6453D;--ac-bad-bg:#FBE9E7;--ac-gold:#F2A93B;--ac-flame:#FF7A1A;--ac-glass:rgba(255,255,255,.74);--ac-sh:0 1px 2px rgba(15,27,45,.06),0 14px 34px -18px rgba(15,27,45,.35)}
.ac-wrap{max-width:var(--pg-w,1160px);margin:0 auto;padding:var(--pg-top,22px) var(--pg-gut,20px) 80px;box-sizing:border-box}
.ac-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:34px;align-items:center;padding:6px 0 26px}
.ac-hero .pg-lede{margin-bottom:18px}
.ac-hero-acts{display:flex;gap:10px;flex-wrap:wrap}
.ac-hero-art{position:relative;min-height:230px}
.ac-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.ac-tags span{font:500 13px/1 var(--sans);color:var(--ink-2);background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 12px}

/* the learner bar: level, XP, streak, goal */
.ac-bar{position:sticky;top:calc(env(safe-area-inset-top,0px) + 84px);z-index:20;display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--ac-glass);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border:1px solid rgba(217,224,234,.9);border-radius:var(--r,10px);box-shadow:var(--ac-sh);padding:10px 14px;margin:0 0 26px}
.ac-lv{display:flex;align-items:center;gap:10px;min-width:0;flex:1 1 260px}
.ac-lv-n{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font:600 16px/1 var(--sans);color:#fff;background:linear-gradient(145deg,var(--ac-blue2),var(--ac-navy));box-shadow:inset 0 -3px 0 rgba(0,0,0,.18)}
.ac-lv-t{min-width:0;flex:1}
.ac-lv-name{font:600 14px/1.2 var(--sans);color:var(--ink)}
.ac-lv-name small{font-weight:400;color:var(--muted);margin-left:6px}
.ac-xpbar{height:9px;border-radius:999px;background:var(--line-2,#E8EDF3);overflow:hidden;margin-top:6px}
.ac-xpbar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--ac-cyan),var(--ac-blue2));transition:width .8s cubic-bezier(.2,.8,.2,1)}
.ac-stat{display:flex;align-items:center;gap:7px;font:600 15px/1 var(--sans);color:var(--ink);padding:7px 11px;border-radius:999px;background:#fff;border:1px solid var(--line)}
.ac-stat svg{width:20px;height:20px;flex:none}
.ac-stat small{font:400 12px/1 var(--sans);color:var(--muted)}
.ac-stat.ac-cold svg{filter:grayscale(1);opacity:.45}
.ac-ring{width:30px;height:30px;flex:none}
.ac-ring circle{fill:none;stroke-width:4}
.ac-ring .bg{stroke:var(--line-2,#E8EDF3)}
.ac-ring .fg{stroke:var(--ac-ok);stroke-linecap:round;transition:stroke-dashoffset .8s cubic-bezier(.2,.8,.2,1)}
.ac-bar .btn{height:36px}
.ac-snd{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:#fff;display:grid;place-items:center;cursor:pointer;color:var(--ink-2)}
.ac-snd svg{width:17px;height:17px}

/* the page: the path beside the cards */
.ac-main{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:30px;align-items:start}
.ac-side{display:grid;gap:16px;position:sticky;top:166px}
.ac-card{background:#fff;border:1px solid var(--line);border-radius:var(--r,10px);box-shadow:var(--ac-sh);padding:16px 18px}
.ac-card h3{font:600 15px/1.3 var(--sans);margin:0 0 10px;display:flex;align-items:center;gap:8px;color:var(--ink)}
.ac-card h3 svg{width:17px;height:17px;color:var(--accent)}
.ac-card p{margin:0;color:var(--ink-2);font-size:14px;line-height:1.5}
.ac-week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:4px}
.ac-week div{text-align:center;font:500 11px/1 var(--sans);color:var(--muted)}
.ac-week b{display:grid;place-items:center;margin:6px auto 0;width:28px;height:28px;border-radius:50%;background:var(--line-2,#E8EDF3);font-weight:500;color:var(--muted)}
.ac-week b.on{background:linear-gradient(145deg,#FFB14A,var(--ac-flame));color:#fff}
.ac-week b.today{outline:2px solid var(--accent);outline-offset:2px}
.ac-board ol{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.ac-board li{display:grid;grid-template-columns:26px 1fr auto;gap:8px;align-items:center;padding:6px 8px;border-radius:8px;font-size:14px}
.ac-board li.me{background:var(--accent-soft);color:var(--ink)}
.ac-board li b{font-weight:600;color:var(--muted);font-size:13px}
.ac-board li:nth-child(1) b{color:var(--ac-gold)}
.ac-board li span:last-child{font-variant-numeric:tabular-nums;color:var(--ink-2)}
.ac-badges{display:grid;grid-template-columns:repeat(auto-fill,minmax(54px,1fr));gap:10px}
.ac-badge{display:grid;justify-items:center;gap:4px;text-align:center;font:500 11px/1.2 var(--sans);color:var(--muted)}
.ac-badge i{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--line-2,#E8EDF3);color:#9AA6B8}
.ac-badge i svg{width:22px;height:22px}
.ac-badge.on{color:var(--ink)}
.ac-badge.on i{background:linear-gradient(145deg,#FFD27A,var(--ac-gold));color:#fff;box-shadow:0 6px 16px -8px rgba(242,169,59,.9)}
.ac-cprog{display:grid;gap:8px;margin-top:8px}
.ac-cprog div{display:flex;align-items:center;gap:9px;font-size:14px;color:var(--ink-2)}
.ac-cprog div i{width:20px;height:20px;border-radius:50%;flex:none;display:grid;place-items:center;background:var(--line-2,#E8EDF3);color:#fff}
.ac-cprog div.ok i{background:var(--ac-ok)}
.ac-cprog div i svg{width:12px;height:12px}

/* the path */
.ac-unit{position:relative;margin:0 0 30px}
.ac-uhead{display:flex;align-items:center;gap:14px;border-radius:var(--r,10px);padding:16px 18px;color:#fff;background:linear-gradient(120deg,var(--ac-navy),var(--ac-blue) 60%,var(--ac-blue2));box-shadow:var(--ac-sh);overflow:hidden;position:relative}
.ac-uhead::after{content:"";position:absolute;right:-40px;top:-50px;width:180px;height:180px;border-radius:50%;border:1px solid rgba(255,255,255,.14);box-shadow:0 0 0 18px rgba(255,255,255,.04),0 0 0 36px rgba(255,255,255,.03)}
.ac-uhead.lock{background:linear-gradient(120deg,#5C6B82,#8593A8)}
.ac-uico{width:44px;height:44px;border-radius:50%;flex:none;display:grid;place-items:center;background:rgba(255,255,255,.16)}
.ac-uico svg{width:22px;height:22px}
.ac-uhead h2{font:600 19px/1.2 var(--sans);margin:2px 0 3px;color:#fff}
.ac-uhead p{margin:0;font-size:13.5px;opacity:.86}
.ac-uhead small{font:600 11px/1 var(--sans);letter-spacing:.07em;text-transform:uppercase;opacity:.8}
.ac-upct{margin-left:auto;flex:none;font:600 14px/1 var(--sans);background:rgba(255,255,255,.16);border-radius:999px;padding:7px 11px;position:relative;z-index:1}
.ac-route{position:relative;padding:18px 0 4px}
.ac-route svg.ac-line{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.ac-route svg.ac-line path{fill:none;stroke:#C9D3E2;stroke-width:5;stroke-dasharray:2 12;stroke-linecap:round}
.ac-route svg.ac-line path.done{stroke:var(--ac-cyan);stroke-dasharray:none;opacity:.55}
.ac-stops{position:relative;display:grid;gap:14px}
.ac-stop{display:flex;align-items:center;gap:14px;width:fit-content;max-width:100%;background:none;border:0;padding:0;cursor:pointer;text-align:left;font:inherit;color:inherit}
.ac-stop[disabled]{cursor:default}
.ac-dot{position:relative;flex:none;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,var(--ac-blue2),var(--ac-blue));box-shadow:inset 0 -5px 0 rgba(0,0,0,.2),0 8px 18px -10px rgba(35,63,153,.9);transition:transform .15s}
.ac-dot svg{width:26px;height:26px}
.ac-stop:not([disabled]):hover .ac-dot{transform:translateY(-2px) scale(1.04)}
.ac-stop:not([disabled]):active .ac-dot{transform:translateY(2px);box-shadow:inset 0 -2px 0 rgba(0,0,0,.2)}
.ac-stop.done .ac-dot{background:linear-gradient(145deg,#2FC7F0,var(--ac-cyan))}
.ac-stop.perfect .ac-dot::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:3px solid var(--ac-gold)}
.ac-stop.lock .ac-dot{background:#DCE3EC;color:#9AA6B8;box-shadow:inset 0 -5px 0 rgba(0,0,0,.06)}
.ac-stop.quest .ac-dot{background:linear-gradient(145deg,#FFC45E,var(--ac-gold));border-radius:var(--r,10px);transform:rotate(45deg)}
.ac-stop.quest .ac-dot svg{transform:rotate(-45deg)}
.ac-stop.quest.done .ac-dot{background:linear-gradient(145deg,#4FD18F,var(--ac-ok))}
.ac-stop.quest.lock .ac-dot{background:#DCE3EC}
.ac-stop.now .ac-dot{width:76px;height:76px;animation:acPulse 2.2s ease-in-out infinite}
.ac-stop.now .ac-dot::before{content:"";position:absolute;inset:-9px;border-radius:50%;border:3px solid rgba(18,166,216,.45);animation:acRing 2.2s ease-out infinite}
.ac-stop.quest.now .ac-dot::before{border-radius:var(--r,10px)}
.ac-stxt{min-width:0}
.ac-stxt b{display:block;font:600 15.5px/1.25 var(--sans);color:var(--ink)}
.ac-stxt span{display:block;font-size:13px;color:var(--muted);margin-top:2px}
.ac-stop.lock .ac-stxt b{color:var(--muted);font-weight:500}
.ac-stxt .ac-go{display:inline-block;width:auto;color:#fff;margin-top:7px;font:600 13px/1 var(--sans);color:#fff;background:var(--ac-ok);border-radius:999px;padding:7px 12px;box-shadow:inset 0 -3px 0 rgba(0,0,0,.18)}
.ac-final .ac-uhead{background:linear-gradient(120deg,#5b2e8f,#8a46c7 60%,#c36bd9)}
.ac-final .ac-uhead.lock{background:linear-gradient(120deg,#5C6B82,#8593A8)}
@keyframes acPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
@keyframes acRing{0%{opacity:.9;transform:scale(.92)}100%{opacity:0;transform:scale(1.25)}}

/* the lesson player: full screen */
.ac-play{position:fixed;inset:0;z-index:1000;background:#F4F7FB;display:flex;flex-direction:column;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);animation:acIn .22s ease-out}
.ac-ptop{display:flex;align-items:center;gap:14px;max-width:820px;width:100%;margin:0 auto;padding:16px 18px 8px;box-sizing:border-box}
.ac-x{width:40px;height:40px;border-radius:50%;border:0;background:none;color:var(--muted);cursor:pointer;display:grid;place-items:center;flex:none}
.ac-x:hover{background:var(--line-2)}
.ac-x svg{width:20px;height:20px}
.ac-segs{flex:1;display:flex;gap:6px}
.ac-segs i{flex:1;height:12px;border-radius:999px;background:#DFE5EE;overflow:hidden;position:relative}
.ac-segs i b{position:absolute;inset:0;width:0;background:linear-gradient(90deg,var(--ac-cyan),var(--ac-blue2));border-radius:999px;transition:width .35s}
.ac-segs i.ok b{width:100%;background:var(--ac-ok)}
.ac-segs i.no b{width:100%;background:var(--ac-bad)}
.ac-combo{flex:none;font:600 14px/1 var(--sans);color:var(--ac-flame);min-width:54px;text-align:right;opacity:0;transform:scale(.8);transition:.2s}
.ac-combo.on{opacity:1;transform:scale(1)}
.ac-pbody{flex:1;overflow:auto;display:flex;flex-direction:column;align-items:center;padding:8px 18px 18px}
.ac-pfoot{border-top:2px solid #E3E9F1;background:#fff;padding:16px 18px calc(16px + env(safe-area-inset-bottom,0px))}
.ac-pfoot-in{max-width:820px;margin:0 auto;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.ac-pfoot.ok{background:var(--ac-ok-bg);border-top-color:#BFE8D2}
.ac-pfoot.no{background:var(--ac-bad-bg);border-top-color:#F3C9C4}
.ac-fb{flex:1;min-width:200px;display:flex;gap:12px;align-items:flex-start}
.ac-fb-i{width:44px;height:44px;border-radius:50%;flex:none;display:grid;place-items:center;color:#fff;background:var(--ac-ok);animation:acPop .35s cubic-bezier(.2,1.6,.4,1)}
.ac-pfoot.no .ac-fb-i{background:var(--ac-bad)}
.ac-fb-i svg{width:22px;height:22px}
.ac-fb b{display:block;font:600 17px/1.2 var(--sans);color:var(--ac-ok)}
.ac-pfoot.no .ac-fb b{color:var(--ac-bad)}
.ac-fb span{display:block;font-size:14px;line-height:1.45;color:var(--ink-2);margin-top:3px}
.ac-big{min-width:180px;height:50px;border:0;border-radius:var(--r,10px);font:600 16px/1 var(--sans);color:#fff;background:var(--ac-ok);box-shadow:inset 0 -4px 0 rgba(0,0,0,.18);cursor:pointer;margin-left:auto;letter-spacing:.01em}
.ac-big:active{transform:translateY(2px);box-shadow:inset 0 -2px 0 rgba(0,0,0,.18)}
.ac-big[disabled],.ac-big.blue[disabled]{background:#C9D2DE;cursor:default;box-shadow:none}
.ac-pfoot.no .ac-big{background:var(--ac-bad)}
.ac-big.blue{background:var(--ac-blue)}
.ac-ghost{height:50px;padding:0 18px;border-radius:var(--r,10px);border:2px solid #DFE5EE;background:#fff;font:600 15px/1 var(--sans);color:var(--ink-2);cursor:pointer}
@keyframes acIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes acPop{0%{transform:scale(.3)}100%{transform:scale(1)}}

/* the reel: a short vertical film drawn from its beats */
.ac-reel{position:relative;width:min(392px,100%);aspect-ratio:9/16;max-height:calc(100vh - 210px);border-radius:var(--r,10px);overflow:hidden;color:#fff;background:radial-gradient(120% 70% at 20% 0%,#3D63D9 0%,rgba(61,99,217,0) 60%),radial-gradient(90% 60% at 100% 100%,#12A6D8 0%,rgba(18,166,216,0) 55%),#101d57;box-shadow:0 30px 60px -30px rgba(16,29,87,.8);user-select:none;cursor:pointer}
.ac-reel::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(to bottom,#000,transparent 75%);-webkit-mask-image:linear-gradient(to bottom,#000,transparent 75%)}
.ac-rbars{position:absolute;left:12px;right:12px;top:12px;display:flex;gap:4px;z-index:3}
.ac-rbars i{flex:1;height:3px;border-radius:3px;background:rgba(255,255,255,.28);overflow:hidden}
.ac-rbars i b{display:block;height:100%;width:0;background:#fff}
.ac-rbrand{position:absolute;left:14px;top:24px;z-index:3;display:flex;align-items:center;gap:6px;font:600 14px/1 var(--sans);color:#fff}
.ac-rbrand .ac-logo svg{height:17px;width:auto}
.ac-rstage{position:absolute;inset:60px 20px 150px;display:grid;place-items:center}
.ac-rcap{position:absolute;left:16px;right:16px;bottom:58px;z-index:3;font:600 19px/1.32 var(--sans);text-wrap:balance;text-shadow:0 2px 12px rgba(0,0,0,.35);min-height:76px;display:flex;align-items:flex-end}
.ac-rcap p{margin:0}
.ac-rcap span{color:rgba(255,255,255,.42);transition:color .12s}
.ac-rcap span.on{color:#fff}
.ac-rcap span.now{color:var(--ac-cyan2)}
.ac-rctl{position:absolute;left:12px;right:12px;bottom:12px;z-index:4;display:flex;gap:8px;align-items:center}
.ac-rctl button{height:34px;min-width:34px;border-radius:999px;border:0;background:rgba(255,255,255,.16);color:#fff;display:grid;place-items:center;cursor:pointer;padding:0 12px;font:600 13px/1 var(--sans);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.ac-rctl button svg{width:16px;height:16px}
.ac-rctl .sp{flex:1}
.ac-rtap{position:absolute;inset:0;z-index:5;display:grid;place-items:center;background:rgba(10,18,50,.45);border:0;cursor:pointer;color:#fff;font:600 16px/1.2 var(--sans)}
.ac-rtap span{display:grid;justify-items:center;gap:12px}
.ac-rtap i{width:74px;height:74px;border-radius:50%;background:#fff;color:var(--ac-blue);display:grid;place-items:center;box-shadow:0 10px 30px -8px rgba(0,0,0,.5)}
.ac-rtap i svg{width:30px;height:30px;margin-left:4px}
/* the beats */
.ac-v{width:100%;display:grid;justify-items:center;gap:14px;text-align:center}
.ac-v .in{opacity:0;transform:translateY(16px) scale(.96);animation:acUp .5s cubic-bezier(.2,.9,.3,1.2) forwards}
@keyframes acUp{to{opacity:1;transform:none}}
.ac-v-k{font:600 12px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ac-navy);background:var(--ac-cyan2);border-radius:999px;padding:7px 12px}
.ac-v-h{font:600 32px/1.1 var(--sans);letter-spacing:-.02em;text-wrap:balance}
.ac-v-h em{font-style:normal;color:var(--ac-cyan2)}
.ac-v-big{font:600 74px/1 var(--sans);letter-spacing:-.03em;background:linear-gradient(180deg,#fff,#9FE6FA);-webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:tabular-nums}
.ac-v-l{font:500 17px/1.35 var(--sans);color:rgba(255,255,255,.86);max-width:26ch}
.ac-v-q{font:600 25px/1.25 var(--sans);text-wrap:balance;position:relative;padding:0 6px}
.ac-v-q::before{content:"";display:block;width:44px;height:4px;border-radius:4px;background:var(--ac-cyan2);margin:0 auto 18px}
.ac-chips{display:grid;gap:10px;width:100%;max-width:290px}
.ac-chip{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.95);color:var(--ink);border-radius:var(--r,10px);padding:9px 12px;font:600 14.5px/1.2 var(--sans);text-align:left;box-shadow:0 10px 22px -14px rgba(0,0,0,.7);position:relative}
.ac-chip i{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;color:#fff;flex:none;background:var(--g,#233F99)}
.ac-chip i svg{width:16px;height:16px}
.ac-chip small{display:block;font:500 10.5px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}
.ac-chip.lit{outline:3px solid var(--ac-cyan2);outline-offset:2px}
.ac-chip+.ac-chip::before{content:"";position:absolute;left:26px;top:-11px;width:2px;height:10px;background:rgba(255,255,255,.6)}
.ac-g-trigger{--g:#7A4CC2}.ac-g-where{--g:#0E9F8E}.ac-g-data{--g:#233F99}.ac-g-ai{--g:#12A6D8}.ac-g-logic{--g:#E58A1F}.ac-g-yours{--g:#5C6B82}.ac-g-action{--g:#1E9E62}.ac-g-app{--g:#D14E8A}
.ac-ecard{width:100%;max-width:300px;background:rgba(255,255,255,.96);color:var(--ink);border-radius:var(--r,10px);padding:16px;text-align:left;box-shadow:0 18px 36px -18px rgba(0,0,0,.8)}
.ac-ecard-h{display:flex;gap:11px;align-items:center}
.ac-ecard-h i{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,var(--ac-blue2),var(--ac-navy));flex:none}
.ac-ecard-h i svg{width:22px;height:22px}
.ac-ecard-h b{display:block;font:600 16px/1.2 var(--sans)}
.ac-ecard-h span{display:block;font-size:13px;color:var(--muted);margin-top:2px}
.ac-ecard dl{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;margin:12px 0 0;font-size:13px}
.ac-ecard dt{color:var(--muted)}
.ac-ecard dd{margin:0;font-weight:500}
.ac-ecard .live{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font:600 12px/1 var(--sans);color:var(--ac-ok)}
.ac-ecard .live::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ac-ok);animation:acPulse 1.4s infinite}
.ac-list{display:grid;gap:10px;width:100%;max-width:300px;text-align:left}
.ac-li{display:flex;gap:10px;align-items:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:var(--r,10px);padding:11px 12px;font:600 15px/1.3 var(--sans)}
.ac-li i{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--ac-cyan2);color:var(--ac-navy);font:600 13px/1 var(--sans)}
.ac-li i svg{width:13px;height:13px}
.ac-vs{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}
.ac-vs div{border-radius:var(--r,10px);padding:16px 10px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2)}
.ac-vs div+div{background:rgba(127,219,245,.18);border-color:rgba(127,219,245,.5)}
.ac-vs b{display:block;font:600 18px/1.2 var(--sans)}
.ac-vs span{display:block;font-size:13px;color:rgba(255,255,255,.8);margin-top:6px}
.ac-chat{display:grid;gap:10px;width:100%;max-width:310px;text-align:left}
.ac-msg{max-width:86%;padding:10px 13px;border-radius:14px;font:500 14.5px/1.4 var(--sans)}
.ac-msg.you{justify-self:end;background:#fff;color:var(--ink);border-bottom-right-radius:4px}
.ac-msg.ai{justify-self:start;background:var(--ac-cyan);color:#fff;border-bottom-left-radius:4px;display:flex;gap:8px;align-items:flex-start}
.ac-msg.ai svg{width:16px;height:16px;flex:none;margin-top:2px}
.ac-dots{display:inline-flex;gap:4px}
.ac-dots i{width:7px;height:7px;border-radius:50%;background:#fff;animation:acBlink 1s infinite}
.ac-dots i:nth-child(2){animation-delay:.15s}.ac-dots i:nth-child(3){animation-delay:.3s}
@keyframes acBlink{0%,100%{opacity:.3}50%{opacity:1}}
.ac-map{position:relative;width:100%;max-width:300px;aspect-ratio:1;border-radius:var(--r,10px);overflow:hidden;background:#0c1748;border:1px solid rgba(255,255,255,.2)}
.ac-map svg.ac-streets{position:absolute;inset:0;width:100%;height:100%}
.ac-map svg.ac-streets path{stroke:rgba(255,255,255,.18);fill:none}
.ac-pin{position:absolute;width:16px;height:16px;margin:-16px 0 0 -8px;border-radius:50% 50% 50% 0;transform:rotate(-45deg) scale(0);background:var(--ac-cyan2);box-shadow:0 0 0 4px rgba(127,219,245,.22);animation:acPin .45s cubic-bezier(.2,1.6,.4,1) forwards}
.ac-pin.hot{background:var(--ac-gold)}
@keyframes acPin{to{transform:rotate(-45deg) scale(1)}}
.ac-maplab{position:absolute;left:10px;bottom:10px;font:600 12px/1 var(--sans);background:rgba(255,255,255,.92);color:var(--ink);border-radius:999px;padding:6px 10px}

/* a question */
.ac-q{width:100%;max-width:640px;padding-top:min(6vh,40px);animation:acIn .25s ease-out}
.ac-qk{font:600 13px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin:0 0 12px;display:flex;align-items:center;gap:8px}
.ac-qk svg{width:16px;height:16px}
.ac-q h2{font:600 26px/1.25 var(--sans);letter-spacing:-.01em;color:var(--ink);margin:0 0 22px;text-wrap:balance}
.ac-opts{display:grid;gap:12px}
.ac-opts.tf{grid-template-columns:1fr 1fr}
.ac-opt{display:flex;align-items:center;gap:14px;width:100%;min-height:62px;padding:12px 16px;border-radius:var(--r,10px);border:2px solid #DFE5EE;background:#fff;box-shadow:0 4px 0 #DFE5EE;font:500 16.5px/1.35 var(--sans);color:var(--ink);text-align:left;cursor:pointer;transition:transform .06s,border-color .12s,background .12s}
.ac-opt:hover{background:#F7F9FC}
.ac-opt:active{transform:translateY(3px);box-shadow:0 1px 0 #DFE5EE}
.ac-opt kbd{flex:none;width:28px;height:28px;border-radius:8px;border:2px solid #DFE5EE;display:grid;place-items:center;font:600 13px/1 var(--sans);color:var(--muted);background:#fff}
.ac-opt.pick{border-color:var(--ac-blue2);background:#EEF3FF;box-shadow:0 4px 0 var(--ac-blue2)}
.ac-opt.pick kbd{border-color:var(--ac-blue2);color:var(--ac-blue2)}
.ac-opt.right{border-color:var(--ac-ok);background:var(--ac-ok-bg);box-shadow:0 4px 0 var(--ac-ok)}
.ac-opt.right kbd{border-color:var(--ac-ok);color:var(--ac-ok)}
.ac-opt.wrong{border-color:var(--ac-bad);background:var(--ac-bad-bg);box-shadow:0 4px 0 var(--ac-bad);animation:acShake .35s}
.ac-opt[disabled]{cursor:default}
.ac-opts.tf .ac-opt{justify-content:center;font-size:18px;font-weight:600;min-height:86px}
.ac-opts.tf .ac-opt kbd{display:none}
@keyframes acShake{0%,100%{transform:none}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}

/* the end of a lesson */
.ac-done{width:100%;max-width:560px;text-align:center;padding-top:min(5vh,30px);display:grid;justify-items:center;gap:14px;animation:acIn .3s ease-out}
.ac-done h2{font:600 30px/1.15 var(--sans);margin:0;color:var(--ink)}
.ac-done>p{margin:0;color:var(--ink-2);font-size:16px}
.ac-trophy{width:116px;height:116px;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#FFD27A,var(--ac-gold));box-shadow:0 20px 40px -20px rgba(242,169,59,1),inset 0 -6px 0 rgba(0,0,0,.12);animation:acPop .5s cubic-bezier(.2,1.6,.4,1)}
.ac-trophy svg{width:54px;height:54px}
.ac-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:100%}
.ac-tile{border-radius:var(--r,10px);border:2px solid var(--c,#DFE5EE);overflow:hidden;background:#fff}
.ac-tile small{display:block;background:var(--c,#DFE5EE);color:#fff;font:600 11px/1 var(--sans);letter-spacing:.07em;text-transform:uppercase;padding:7px 4px}
.ac-tile b{display:flex;align-items:center;justify-content:center;gap:6px;font:600 24px/1 var(--sans);padding:14px 4px;color:var(--c,var(--ink));font-variant-numeric:tabular-nums}
.ac-tile b svg{width:22px;height:22px}
.ac-news{display:grid;gap:8px;width:100%}
.ac-new{display:flex;align-items:center;gap:12px;text-align:left;border-radius:var(--r,10px);padding:12px 14px;background:#fff;border:1px solid var(--line);box-shadow:var(--ac-sh);animation:acUp .5s cubic-bezier(.2,.9,.3,1.2) both}
.ac-new i{width:40px;height:40px;border-radius:50%;flex:none;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#FFD27A,var(--ac-gold))}
.ac-new i svg{width:20px;height:20px}
.ac-new b{display:block;font:600 15px/1.2 var(--sans)}
.ac-new span{display:block;font-size:13px;color:var(--muted)}
.ac-new.lv i{background:linear-gradient(145deg,var(--ac-blue2),var(--ac-navy))}
.ac-new.fl i{background:linear-gradient(145deg,#FFB14A,var(--ac-flame))}

/* quest, final check, capstone and certificate windows (inside the player) */
.ac-panel{width:100%;max-width:640px;padding-top:min(5vh,32px);display:grid;gap:16px;animation:acIn .25s ease-out}
.ac-panel h2{font:600 28px/1.2 var(--sans);margin:0;color:var(--ink);text-wrap:balance}
.ac-panel>p{margin:0;font-size:16px;line-height:1.55;color:var(--ink-2)}
.ac-qcard{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:var(--r,10px);padding:16px;box-shadow:var(--ac-sh)}
.ac-qcard i{width:46px;height:46px;border-radius:var(--r,10px);flex:none;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#FFC45E,var(--ac-gold))}
.ac-qcard i svg{width:22px;height:22px}
.ac-qcard b{display:block;font:600 16px/1.3 var(--sans)}
.ac-qcard span{display:block;color:var(--ink-2);font-size:14.5px;margin-top:4px;line-height:1.45}
.ac-say{border-radius:var(--r,10px);padding:12px 14px;font-size:14.5px;line-height:1.45}
.ac-say.ok{background:var(--ac-ok-bg);color:#11603b}
.ac-say.no{background:#FFF4E5;color:#7a4a08}
.ac-inds{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;max-height:46vh;overflow:auto;padding:2px}
.ac-ind{border:2px solid #DFE5EE;background:#fff;border-radius:var(--r,10px);padding:10px 12px;text-align:left;font:500 14px/1.3 var(--sans);color:var(--ink);cursor:pointer}
.ac-ind:hover{border-color:var(--ac-blue2)}
.ac-ind.on{border-color:var(--ac-blue2);background:#EEF3FF}
.ac-find{height:44px;border-radius:var(--r,10px);border:2px solid #DFE5EE;padding:0 14px;font:400 16px/1 var(--sans);width:100%;box-sizing:border-box}
.ac-flows{display:grid;gap:6px}
.ac-flows div{display:flex;gap:10px;align-items:center;font-size:14.5px;background:#fff;border:1px solid var(--line);border-radius:var(--r,10px);padding:10px 12px}
.ac-flows div i{width:10px;height:10px;border-radius:50%;background:#C9D2DE}
.ac-flows div.w i{background:var(--ac-ok)}
.ac-review{display:grid;gap:10px}
.ac-review div{border-radius:var(--r,10px);padding:12px 14px;background:#fff;border:1px solid var(--line);font-size:14.5px;line-height:1.45}
.ac-review div b{display:block;font-weight:600;margin-bottom:4px}
.ac-review div.no{border-color:#F3C9C4;background:var(--ac-bad-bg)}
.ac-score{font:600 64px/1 var(--sans);letter-spacing:-.03em;color:var(--ac-blue);font-variant-numeric:tabular-nums}

/* an exercise: its files and steps */
.ac-files{display:grid;gap:8px}
.ac-file{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:var(--r,10px);padding:10px 14px;text-decoration:none;color:var(--ink);box-shadow:0 2px 0 #E3E9F1}
.ac-file:hover{border-color:var(--ac-blue2)}
.ac-file>i{flex:none;width:46px;height:46px;border-radius:8px;display:grid;place-items:center;font:600 11px/1 var(--sans);font-style:normal;letter-spacing:.04em;color:#fff;background:#5C6B82}
.ac-file>i.k-pdf{background:#D6453D}.ac-file>i.k-csv{background:#1E9E62}.ac-file>i.k-excel{background:#1D6F42}
.ac-file span{flex:1;min-width:0}
.ac-file b{display:block;font:600 14.5px/1.3 var(--sans);word-break:break-all}
.ac-file small{display:block;font-size:13px;color:var(--muted)}
.ac-file svg{width:18px;height:18px;color:var(--accent);flex:none}
.ac-steps{margin:0;padding:0;list-style:none;display:grid;gap:8px;counter-reset:st}
.ac-steps li{counter-increment:st}
.ac-steps label{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:var(--r,10px);padding:12px 14px;cursor:pointer;font-size:15px;line-height:1.45;color:var(--ink-2)}
.ac-steps input{width:20px;height:20px;flex:none;margin:1px 0 0;accent-color:var(--ac-ok)}
.ac-steps input:checked+span{color:var(--muted);text-decoration:line-through}
.ac-check-what{font-size:14px!important;color:var(--muted)!important}
.ac-check-what b{font-weight:600;color:var(--ink-2)}

/* the super admin's People screen */
.ac-invite{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.ac-invite .ac-find{flex:1;min-width:220px}
.ac-inv-send{display:flex;gap:7px;align-items:center;font-size:14px;color:var(--ink-2)}
.ac-people{display:grid;gap:8px}
.ac-person{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:var(--r,10px);padding:10px 12px}
.ac-pav{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--accent-soft);color:var(--accent);font:600 15px/1 var(--sans)}
.ac-pwho{flex:1;min-width:160px}
.ac-pwho b{display:block;font:600 14.5px/1.2 var(--sans)}
.ac-pwho small{display:block;font-size:12.5px;color:var(--muted);word-break:break-all}
.ac-pprog{font-size:13px;color:var(--ink-2)}
.ac-flag{display:inline-block;margin-left:6px;font:600 12px/1 var(--sans);color:#fff;background:var(--ac-bad);border-radius:999px;padding:4px 8px;cursor:help}
.ac-certpill{display:inline-block;margin-left:6px;font:600 12px/1 var(--sans);color:#11603b;background:var(--ac-ok-bg);border-radius:999px;padding:4px 8px}

/* the certificate */
.ac-cert{position:relative;max-width:760px;margin:0 auto;background:#fff;border-radius:var(--r,10px);padding:44px 48px 36px;box-shadow:0 30px 70px -36px rgba(16,29,87,.7);border:1px solid var(--line);overflow:hidden;text-align:center}
.ac-cert::before{content:"";position:absolute;inset:12px;border:2px solid #E3E9F6;border-radius:8px;pointer-events:none}
.ac-cert::after{content:"";position:absolute;right:-90px;top:-90px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(18,166,216,.16),rgba(18,166,216,0) 70%)}
.ac-cert-top{display:flex;align-items:center;justify-content:center;gap:8px;font:600 17px/1 var(--sans);color:var(--ac-blue)}
.ac-logo{display:inline-flex;align-items:center}
.ac-logo svg{height:16px;width:auto}
.ac-cert-top .ac-logo svg{height:22px}
.ac-reel.wide .ac-rbrand{font-size:15px}
.ac-reel.wide .ac-rbrand .ac-logo svg{height:19px}
.ac-hero .pg-eyebrow{text-transform:none;letter-spacing:0;font-size:14px;font-weight:600}
.ac-cert-state{position:absolute;right:34px;top:30px;font:600 12px/1 var(--sans);letter-spacing:.05em;text-transform:uppercase;color:#fff;background:var(--ac-ok);border-radius:999px;padding:6px 10px}
.ac-cert-off .ac-cert-state{background:#8593A8}
.ac-cert-k{margin:26px 0 6px;color:var(--muted);font-size:15px}
.ac-cert h1{font:600 44px/1.1 var(--sans);letter-spacing:-.02em;color:var(--ink);margin:0;text-wrap:balance}
.ac-cert-p{font:600 24px/1.2 var(--sans);margin:0;background:linear-gradient(90deg,var(--ac-blue),var(--ac-cyan));-webkit-background-clip:text;background-clip:text;color:transparent}
.ac-cert-sp{margin:12px 0 0;font-size:16px;color:var(--ink-2)}
.ac-cert dl{display:flex;justify-content:center;gap:30px;flex-wrap:wrap;margin:26px 0 0}
.ac-cert dl dt{font:600 11px/1 var(--sans);letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.ac-cert dl dd{margin:0;font:500 15px/1.2 var(--sans);color:var(--ink)}
.ac-cert dl>dt{display:none}
.ac-cert-what{margin:24px auto 0;max-width:56ch;font-size:13.5px;line-height:1.55;color:var(--muted)}
.ac-cert-acts{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:22px 0 10px}
.ac-certpage{padding-top:var(--pg-top,22px);padding-bottom:60px}
.ac-certbody,.ac-body{background:var(--paper,#F6F8FB)}

/* confetti and the XP that flies up */
.ac-fx{position:fixed;inset:0;pointer-events:none;z-index:2000}
.ac-fly{position:fixed;z-index:2001;font:600 20px/1 var(--sans);color:var(--ac-ok);pointer-events:none;animation:acFly 1s ease-out forwards;text-shadow:0 2px 8px rgba(255,255,255,.8)}
@keyframes acFly{0%{opacity:0;transform:translateY(0) scale(.6)}20%{opacity:1;transform:translateY(-10px) scale(1.15)}100%{opacity:0;transform:translateY(-70px) scale(1)}}
.ac-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:2002;background:var(--ink);color:#fff;border-radius:var(--r,10px);padding:12px 16px;font:500 15px/1.3 var(--sans);box-shadow:0 18px 40px -20px rgba(0,0,0,.6);animation:acIn .25s}

/* the plain outline (also what search engines read) */
.ac-outline{margin-top:46px}
.ac-outline h2{font:600 var(--t-h2,30px)/1.2 var(--sans);margin:0 0 14px}
.ac-outline ol{padding-left:20px;color:var(--ink-2);line-height:1.6}
.ac-outline li>b{color:var(--ink);font-weight:600}
.ac-outline ul{padding-left:18px;margin:4px 0 12px;font-size:14.5px}
.ac-faq h3{font:600 17px/1.3 var(--sans);margin:18px 0 6px;color:var(--ink)}
.ac-faq p{margin:0;color:var(--ink-2);line-height:1.55;max-width:72ch}


/* the two levels above the path */
.ac-levels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 26px}
.ac-level{position:relative;display:flex;gap:12px;align-items:flex-start;text-align:left;border:2px solid #DFE5EE;background:#fff;border-radius:var(--r,10px);padding:14px 14px 20px;cursor:pointer;box-shadow:0 4px 0 #DFE5EE;font:inherit;color:var(--ink);transition:transform .08s,border-color .12s}
.ac-level:hover{border-color:#C7D2E3}
.ac-level:active{transform:translateY(2px);box-shadow:0 2px 0 #DFE5EE}
.ac-level.on{border-color:var(--ac-blue2);box-shadow:0 4px 0 var(--ac-blue2);background:#F5F8FF}
.ac-level-n{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font:600 17px/1 var(--sans);color:#fff;background:linear-gradient(145deg,var(--ac-blue2),var(--ac-navy))}
.ac-level-n svg{width:18px;height:18px}
.ac-level.lock .ac-level-n{background:#9AA6B8}
.ac-level.done .ac-level-n{background:linear-gradient(145deg,#4FD18F,var(--ac-ok))}
.ac-level small{display:block;font:600 11px/1.2 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.ac-level b{display:block;font:600 16.5px/1.25 var(--sans)}
.ac-level em{display:block;font-style:normal;font-size:13px;color:var(--muted);margin-top:4px;line-height:1.35}
.ac-level-bar{position:absolute;left:14px;right:14px;bottom:9px;height:5px;border-radius:999px;background:#E8EDF3;overflow:hidden}
.ac-level-bar b{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--ac-cyan),var(--ac-blue2))}
.ac-arch-lock{margin:0 0 22px}
.ac-arch-lock h3 svg{width:17px;height:17px}
.ac-arch-lock .btn{margin-top:12px}
.ac-file i.k-flow-file{background:#7A4CC2}
@media (max-width:640px){.ac-levels{grid-template-columns:1fr}}

/* the reel: paused, loading, the time, and the Continue that counts down to the questions */
.ac-rbrand em{display:none}
.ac-rtime{font:500 12px/1 var(--sans);color:rgba(255,255,255,.8);font-variant-numeric:tabular-nums;padding:0 4px}
.ac-rtap[hidden],.ac-rload[hidden]{display:none}
.ac-rtap b{font:600 15px/1.2 var(--sans)}
.ac-rload{position:absolute;inset:0;z-index:4;display:grid;place-items:center;pointer-events:none}
.ac-rload i{width:46px;height:46px;border-radius:50%;border:4px solid rgba(255,255,255,.25);border-top-color:#fff;animation:acSpin .8s linear infinite}
@keyframes acSpin{to{transform:rotate(360deg)}}
.ac-reel.paused .ac-rstage,.ac-reel.paused .ac-rcap{filter:saturate(.6);opacity:.7}
.ac-big.ac-auto{position:relative;overflow:hidden}
.ac-big.ac-auto i{position:absolute;left:0;bottom:0;height:4px;width:100%;background:rgba(255,255,255,.55);transform-origin:left;animation:acCount 1.8s linear forwards}
@keyframes acCount{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* new scenes (both layouts) */
.ac-set{width:100%;max-width:320px;background:rgba(255,255,255,.97);color:var(--ink);border-radius:var(--r,10px);padding:12px;text-align:left;box-shadow:0 18px 36px -18px rgba(0,0,0,.8);display:grid;gap:8px}
.ac-set-h{display:flex;align-items:center;gap:10px;font:600 15px/1.2 var(--sans);padding-bottom:8px;border-bottom:1px solid #E6EBF2}
.ac-set-h i{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;color:#fff;background:var(--g,#233F99);flex:none}
.ac-set-h i svg{width:17px;height:17px}
.ac-set-h small{display:block;font:500 10.5px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}
.ac-set-r{display:grid;gap:4px}
.ac-set-r label{font:600 11px/1 var(--sans);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.ac-set-r span{display:block;border:1.5px solid #DCE3EC;border-radius:var(--r,10px);padding:8px 10px;font:400 14px/1.3 var(--sans);color:var(--ink);background:#fff}
.ac-tbl{width:100%;max-width:340px;background:rgba(255,255,255,.97);color:var(--ink);border-radius:var(--r,10px);overflow:hidden;text-align:left;box-shadow:0 18px 36px -18px rgba(0,0,0,.8);font-size:13px}
.ac-tr{display:grid;grid-template-columns:repeat(var(--c),minmax(0,1fr));gap:8px;padding:8px 12px;border-top:1px solid #EEF2F7}
.ac-tr.h{background:#EEF3FF;border-top:0;font:600 11px/1.2 var(--sans);letter-spacing:.04em;text-transform:uppercase;color:var(--accent,#233F99)}
.ac-tr span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ac-team{display:grid;gap:10px;width:100%;max-width:300px}
.ac-emp{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;text-align:left;background:rgba(255,255,255,.96);color:var(--ink);border-radius:var(--r,10px);padding:10px 12px;box-shadow:0 12px 26px -16px rgba(0,0,0,.8)}
.ac-emp i{grid-row:1/3;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,var(--ac-blue2),var(--ac-navy))}
.ac-emp i svg{width:18px;height:18px}
.ac-emp b{font:600 15px/1.2 var(--sans)}
.ac-emp span{font-size:12.5px;color:var(--muted)}
.ac-links{display:grid;gap:6px;width:100%;max-width:320px}
.ac-links span{font:500 13px/1.3 var(--sans);background:rgba(127,219,245,.18);border:1px solid rgba(127,219,245,.45);border-radius:var(--r,10px);padding:7px 10px}
.ac-links em{font-style:normal;color:var(--ac-cyan2)}
.ac-warn{display:grid;gap:10px;width:100%;max-width:320px;text-align:left}
.ac-warn>div{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;align-items:start;border-radius:var(--r,10px);padding:12px 14px;font:500 15px/1.35 var(--sans)}
.ac-warn small{grid-column:1/3;font:600 11px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase}
.ac-warn svg{width:20px;height:20px;margin-top:1px}
.ac-warn .bad{background:rgba(214,69,61,.2);border:1px solid rgba(255,140,130,.55)}
.ac-warn .bad small,.ac-warn .bad svg{color:#FFB3AC}
.ac-warn .fix{background:rgba(30,158,98,.22);border:1px solid rgba(110,220,160,.55)}
.ac-warn .fix small,.ac-warn .fix svg{color:#8CE7B5}
.ac-score-c{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;width:100%;max-width:330px;background:rgba(255,255,255,.97);color:var(--ink);border-radius:var(--r,10px);padding:14px;text-align:left;box-shadow:0 18px 36px -18px rgba(0,0,0,.8)}
.ac-sring{width:84px;height:84px}
.ac-sring circle{fill:none;stroke:#E6EBF2;stroke-width:7}
.ac-sring circle.fg{stroke:var(--ac-ok);stroke-linecap:round;animation:acRing 1.1s .3s cubic-bezier(.2,.8,.2,1) both}
@keyframes acRing{from{stroke-dashoffset:var(--from)}to{stroke-dashoffset:var(--to)}}
.ac-sring text{font:600 22px/1 var(--sans);fill:var(--ink)}
.ac-score-c b{display:block;font:600 16px/1.2 var(--sans)}
.ac-score-c small{display:block;font-size:11.5px;color:var(--muted);margin:3px 0 6px}
.ac-score-c p{margin:0;font-size:13.5px;line-height:1.4;color:var(--ink-2,#33415C)}
.ac-checks{display:grid;gap:8px;width:100%;max-width:310px;text-align:left}
.ac-ck{display:flex;gap:10px;align-items:center;border-radius:var(--r,10px);padding:10px 12px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);font:600 15px/1.3 var(--sans)}
.ac-ck i{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;flex:none}
.ac-ck i svg{width:13px;height:13px}
.ac-ck.ok i{background:#4FD18F;color:#0b3a22}
.ac-ck.no i{background:#FF8C82;color:#4a0f0b}
.ac-tl{display:grid;gap:0;width:100%;max-width:300px;text-align:left;position:relative}
.ac-tli{position:relative;padding:8px 0 14px 26px;border-left:2px solid rgba(127,219,245,.5);margin-left:8px}
.ac-tli::before{content:"";position:absolute;left:-8px;top:10px;width:14px;height:14px;border-radius:50%;background:var(--ac-cyan2);box-shadow:0 0 0 4px rgba(127,219,245,.22)}
.ac-tli:last-child{border-left-color:transparent}
.ac-tli b{display:block;font:600 13px/1 var(--sans);letter-spacing:.04em;color:var(--ac-cyan2);margin-bottom:5px}
.ac-tli span{font:500 15.5px/1.3 var(--sans)}
.ac-brief{width:100%;max-width:310px;background:#FFFDF6;color:var(--ink);border-radius:var(--r,10px);padding:16px 16px 18px;text-align:left;box-shadow:0 18px 36px -18px rgba(0,0,0,.8);border-top:6px solid var(--ac-gold);display:grid;gap:6px}
.ac-brief small{font:600 11px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:#B9791A}
.ac-brief b{font:600 19px/1.2 var(--sans)}
.ac-brief-c{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}
.ac-brief-c svg{width:14px;height:14px}
.ac-brief p{margin:6px 0 0;font:500 15px/1.4 var(--sans);color:var(--ink-2,#33415C)}
.ac-run{display:grid;gap:8px;width:100%;max-width:320px}
.ac-rs{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;background:rgba(255,255,255,.96);color:var(--ink);border-radius:var(--r,10px);padding:9px 12px;text-align:left;font:600 14px/1.2 var(--sans);box-shadow:0 10px 22px -14px rgba(0,0,0,.7)}
.ac-rs i{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--ac-ok);color:#fff}
.ac-rs i svg{width:12px;height:12px}
.ac-rs b{font:600 12.5px/1 var(--sans);color:var(--ac-blue);background:#EEF3FF;border-radius:999px;padding:6px 9px}
.ac-app{width:100%;max-width:320px;background:#fff;color:var(--ink);border-radius:var(--r,10px);padding:12px 14px 14px;text-align:left;box-shadow:0 18px 36px -18px rgba(0,0,0,.8);display:grid;gap:6px}
.ac-app-h{display:flex;align-items:center;gap:8px;font:600 12px/1 var(--sans);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding-bottom:6px;border-bottom:1px solid #EEF2F7}
.ac-app-h i{width:24px;height:24px;border-radius:7px;display:grid;place-items:center;background:var(--ac-blue);color:#fff}
.ac-app-h i svg{width:14px;height:14px}
.ac-app-slack .ac-app-h i{background:#4A154B}.ac-app-whatsapp .ac-app-h i{background:#1FA855}.ac-app-sheets .ac-app-h i{background:#188038}
.ac-app b{font:600 15.5px/1.3 var(--sans)}
.ac-app p{margin:0;font-size:13.5px;line-height:1.4;color:var(--ink-2,#33415C)}
.ac-app-whatsapp p{background:#E7F8EA;border-radius:10px;padding:7px 10px}

/* the wide film on a computer: 16:9, big scenes, subtitles under them */
.ac-reel.wide{width:min(1180px,100%,calc((100vh - 230px) * 16 / 9));aspect-ratio:16/9;max-height:none}
.ac-reel.wide::before{background-size:40px 40px}
.ac-reel.wide .ac-rbars{left:22px;right:22px;top:18px;gap:6px}
.ac-reel.wide .ac-rbars i{height:4px}
.ac-reel.wide .ac-rbrand{left:24px;top:34px}
.ac-reel.wide .ac-rbrand em{display:inline;font:500 13px/1 var(--sans);letter-spacing:0;text-transform:none;color:rgba(255,255,255,.62);margin-left:10px;padding-left:12px;border-left:1px solid rgba(255,255,255,.3)}
.ac-reel.wide .ac-rstage{inset:76px 7% 132px}
.ac-reel.wide .ac-rcap{left:50%;right:auto;transform:translateX(-50%);width:min(860px,84%);bottom:62px;min-height:0;justify-content:center;text-align:center;font-size:clamp(17px,1.75vw,24px)}
.ac-reel.wide .ac-rctl{left:22px;right:22px;bottom:16px}
.ac-reel.wide .ac-v{gap:20px}
.ac-reel.wide .ac-v-h{font-size:clamp(34px,4.2vw,58px);max-width:18ch}
.ac-reel.wide .ac-v-k{font-size:13px;padding:8px 14px}
.ac-reel.wide .ac-v-big{font-size:clamp(80px,10vw,140px)}
.ac-reel.wide .ac-v-l{font-size:clamp(17px,1.7vw,23px);max-width:34ch}
.ac-reel.wide .ac-v-q{font-size:clamp(28px,3.2vw,44px);max-width:22ch}
.ac-reel.wide .ac-chips{grid-auto-flow:column;grid-template-columns:repeat(var(--n),minmax(0,150px));max-width:none;gap:22px;align-items:stretch}
.ac-reel.wide .ac-chip{flex-direction:column;justify-content:center;text-align:center;padding:16px 10px;font-size:15px;min-height:118px}
.ac-reel.wide .ac-chip i{width:42px;height:42px}
.ac-reel.wide .ac-chip i svg{width:22px;height:22px}
.ac-reel.wide .ac-chip+.ac-chip::before{left:-21px;top:50%;width:20px;height:2px}
.ac-reel.wide .ac-list{max-width:620px;font-size:18px}
.ac-reel.wide .ac-list.many{grid-template-columns:1fr 1fr;max-width:820px}
.ac-reel.wide .ac-li{font-size:18px;padding:14px 16px}
.ac-reel.wide .ac-vs{max-width:760px;gap:18px}
.ac-reel.wide .ac-vs div{padding:28px 18px}
.ac-reel.wide .ac-vs b{font-size:28px}
.ac-reel.wide .ac-vs span{font-size:17px}
.ac-reel.wide .ac-ecard{max-width:440px;padding:22px}
.ac-reel.wide .ac-chat{max-width:620px}
.ac-reel.wide .ac-msg{font-size:17px;padding:13px 17px}
.ac-reel.wide .ac-map{max-width:620px;aspect-ratio:16/9}
.ac-reel.wide .ac-set{max-width:480px;grid-template-columns:1fr 1fr;column-gap:14px}
.ac-reel.wide .ac-set-h{grid-column:1/3}
.ac-reel.wide .ac-tbl{max-width:720px;font-size:15px}
.ac-reel.wide .ac-tr{padding:11px 16px}
.ac-reel.wide .ac-team{grid-auto-flow:column;grid-template-columns:repeat(var(--n),minmax(0,210px));max-width:none;gap:18px}
.ac-reel.wide .ac-emp{grid-template-columns:1fr;grid-template-rows:auto;justify-items:center;text-align:center;gap:6px;padding:16px 12px}
.ac-reel.wide .ac-emp i{grid-row:auto;width:52px;height:52px}
.ac-reel.wide .ac-links{max-width:720px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.ac-reel.wide .ac-warn{grid-template-columns:1fr 1fr;max-width:820px;gap:18px}
.ac-reel.wide .ac-warn>div{font-size:18px;padding:18px 20px}
.ac-reel.wide .ac-score-c{max-width:560px;padding:20px 22px}
.ac-reel.wide .ac-sring{width:120px;height:120px}
.ac-reel.wide .ac-score-c b{font-size:20px}
.ac-reel.wide .ac-score-c p{font-size:16px}
.ac-reel.wide .ac-checks{grid-template-columns:1fr 1fr;max-width:760px;gap:12px}
.ac-reel.wide .ac-ck{font-size:17px;padding:13px 15px}
.ac-reel.wide .ac-tl{grid-auto-flow:column;grid-template-columns:repeat(var(--n),minmax(0,1fr));max-width:900px;text-align:center}
.ac-reel.wide .ac-tli{border-left:0;border-top:2px solid rgba(127,219,245,.5);margin:12px 0 0;padding:20px 10px 0}
.ac-reel.wide .ac-tli::before{left:50%;top:-8px;margin-left:-7px}
.ac-reel.wide .ac-tli:last-child{border-top-color:transparent}
.ac-reel.wide .ac-tli span{font-size:18px}
.ac-reel.wide .ac-brief{max-width:560px;padding:22px 24px 24px}
.ac-reel.wide .ac-brief b{font-size:26px}
.ac-reel.wide .ac-brief p{font-size:19px}
.ac-reel.wide .ac-run{max-width:560px;gap:10px}
.ac-reel.wide .ac-rs{font-size:17px;padding:12px 16px}
.ac-reel.wide .ac-app{max-width:560px;padding:16px 20px 18px}
.ac-reel.wide .ac-app b{font-size:19px}
.ac-reel.wide .ac-app p{font-size:16px}
@media (max-height:700px){.ac-reel.wide .ac-rstage{inset:64px 6% 118px}}

@media (max-width:1000px){
  .ac-hero{grid-template-columns:1fr}
  .ac-hero-art{display:none}
  .ac-main{grid-template-columns:1fr}
  .ac-side{position:static;grid-row:1}
  .ac-side .ac-board,.ac-side .ac-bdg{display:none}
}
@media (max-width:900px){
  .ac-bar{top:calc(env(safe-area-inset-top,0px) + 62px);gap:8px;padding:8px 10px}
  .ac-lv{flex-basis:100%}
  .ac-stat{padding:6px 9px;font-size:14px}
}
@media (max-width:560px){
  .ac-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ac-reel{width:100%;max-height:none}
  .ac-pbody{padding:4px 12px 12px}
  .ac-q h2{font-size:22px}
  .ac-opts.tf{grid-template-columns:1fr 1fr}
  .ac-opt{min-height:56px;font-size:16px}
  .ac-big{min-width:0;flex:1}
  .ac-fb{min-width:100%}
  .ac-cert{padding:34px 20px 26px}
  .ac-cert h1{font-size:30px}
  .ac-cert-state{right:20px;top:20px}
  .ac-tiles b{font-size:20px}
  .ac-dot{width:56px;height:56px}
  .ac-stop.now .ac-dot{width:66px;height:66px}
  .ac-uhead{padding:14px}
  .ac-uhead h2{font-size:17px}
}
@media (prefers-reduced-motion:reduce){
  .ac-body *,.ac-play *{animation:none!important;transition:none!important}
  .ac-v .in{opacity:1;transform:none}
  .ac-pin{transform:rotate(-45deg) scale(1)}
}
/* each person's name across the player, the blur while away, and no saving or printing (owner, 2026-10-31) */
.ac-play{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.ac-play input,.ac-play textarea{-webkit-user-select:text;user-select:text}
.ac-wm{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:5}
.ac-wm-t{position:absolute;inset:-30%;display:flex;flex-wrap:wrap;gap:84px 120px;align-content:center;justify-content:center;transform:rotate(-20deg);opacity:.055}
.ac-wm-t span,.ac-wm-d{font:500 13px/1 var(--sans,'Nunito Sans',sans-serif);color:#5C6B82;white-space:nowrap;letter-spacing:.02em}
.ac-wm-d{position:absolute;left:30%;top:40%;opacity:.2;transition:left 3.2s ease-in-out,top 3.2s ease-in-out;text-shadow:0 0 1px rgba(255,255,255,.4)}
:root[data-theme="dark"] .ac-wm-t span,:root[data-theme="dark"] .ac-wm-d{color:#C9D3E3}
.ac-play.ac-shield .ac-pbody,.ac-play.ac-shield .ac-pfoot{filter:blur(22px);transition:filter .15s}
.ac-play.ac-shield::after{content:'Paused while you are away. Come back to carry on.';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:6;background:rgba(19,32,68,.86);color:#fff;font:500 15px/1.4 var(--sans,'Nunito Sans',sans-serif);padding:14px 20px;border-radius:var(--r,10px);text-align:center;max-width:80vw}
@media print{.ac-play{display:none!important}}
@media (prefers-reduced-motion:reduce){.ac-wm-d{transition:none}}
/* the questions' foot (owner, 2026-10-31): Back, what was said, Next on one line, centred on each other; on phones what was
   said on top and the two buttons side by side under it */
.ac-pfoot-in{align-items:center}
.ac-fb{align-items:center}
.ac-fb > div{min-width:0}
.ac-back{display:inline-flex;align-items:center;gap:6px;flex:none;padding:0 14px}
.ac-back svg{width:18px;height:18px}
.ac-big.ac-auto i{animation-duration:var(--adv,1s)}
.ac-big.held{box-shadow:inset 0 -4px 0 rgba(0,0,0,.18),0 0 0 3px rgba(255,255,255,.7)}
.ac-pfoot.ok .ac-fb,.ac-pfoot.no .ac-fb{cursor:default}
.ac-qhead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.ac-qhead .ac-qk{margin-bottom:12px}
.ac-rep{display:inline-flex;align-items:center;gap:6px;flex:none;height:30px;padding:0 10px;border:1px solid #DFE5EE;border-radius:var(--r,10px);background:#fff;color:var(--muted);font:500 12.5px/1 var(--sans);cursor:pointer}
.ac-rep:hover{color:var(--ink);border-color:#C5CFDC}
.ac-rep svg{width:14px;height:14px}
.ac-repbox{position:absolute;inset:0;z-index:30;display:grid;place-items:center;background:rgba(19,32,68,.38);padding:16px}
.ac-repcard{width:min(440px,100%);background:#fff;border-radius:var(--r,10px);padding:22px;box-shadow:0 24px 60px rgba(19,32,68,.3)}
.ac-repcard h3{margin:0 0 4px;font:600 19px/1.25 var(--sans);color:var(--ink)}
.ac-repcard p{margin:0 0 14px;color:var(--ink-2);font-size:14px}
.ac-repo{display:flex;align-items:center;gap:10px;padding:9px 2px;font-size:15px;color:var(--ink);cursor:pointer}
.ac-repo input{width:18px;height:18px;accent-color:var(--ac-blue)}
.ac-repcard textarea{width:100%;margin-top:8px;resize:vertical;min-height:72px;font:400 15px/1.4 var(--sans)}
.ac-repacts{display:flex;gap:10px;margin-top:14px;justify-content:flex-end}
.ac-repacts .ac-big{min-width:150px;margin-left:0}
/* the assignment: what it is before it starts, and its clock while it runs */
.ac-assign{display:flex;gap:14px;align-items:flex-start;padding:16px;margin:0 0 16px;border-radius:var(--r,10px);background:#EEF3FF;border:1px solid #CFDBFA}
.ac-assign > i{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--ac-blue);color:#fff}
.ac-assign > i svg{width:20px;height:20px}
.ac-assign b{display:block;font:600 16px/1.3 var(--sans);color:var(--ink)}
.ac-assign span{display:block;margin-top:4px;font-size:14px;line-height:1.5;color:var(--ink-2)}
.ac-assign.over{background:#FFF4E5;border-color:#F6D7A8}
.ac-assign.over > i{background:#D9822B}
.ac-timer{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:auto 1fr;gap:6px 18px;align-items:center;padding:14px 16px 0;margin:0 0 16px;border-radius:var(--r,10px);background:#132044;color:#fff;overflow:hidden}
.ac-timer small{display:block;font:600 11px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:#8FDCFF}
.ac-timer b{display:block;font:600 34px/1.1 var(--sans);font-variant-numeric:tabular-nums;letter-spacing:.01em}
.ac-timer p{margin:0;font-size:13.5px;line-height:1.45;color:#D6E0F2;display:flex;gap:8px;align-items:flex-start}
.ac-timer p svg{width:16px;height:16px;flex:none;margin-top:2px}
.ac-timer > i{grid-column:1/-1;height:5px;margin:12px -16px 0;background:rgba(255,255,255,.14)}
.ac-timer > i em{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--ac-cyan),#8FDCFF);transition:width 1s linear}
.ac-timer.late b{color:#FF9A8B}
.ac-timer.late > i em{background:#FF6B57}
@media (max-width:560px){
  .ac-pfoot-in{gap:10px}
  .ac-pfoot-in .ac-fb{order:-1;flex-basis:100%}
  .ac-back{flex:0 0 auto}
  .ac-timer{grid-template-columns:1fr}
  .ac-timer b{font-size:30px}
}
/* the certificate (academy/certart.js): one drawing, scaled to the width it has */
.ac-certart{margin:0 auto;max-width:1040px;border-radius:4px;overflow:hidden;box-shadow:0 30px 70px -34px rgba(16,29,87,.55),0 2px 8px rgba(16,29,87,.08);background:#FBF8F1;line-height:0}
.ac-certart svg{display:block;width:100%;height:auto}
.ac-certstate{max-width:1040px;margin:18px auto 0;display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:15px;color:var(--ink-2)}
.ac-certstate b{display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:var(--r,10px);font:600 13px/1 var(--sans);background:var(--ac-ok-bg,#E6F6EE);color:var(--ac-ok,#1E9E62)}
.ac-certstate.off b{background:#FDECEA;color:#B3261E}
.ac-certpage .ac-cert-what{max-width:760px;margin:18px auto 0;text-align:center;color:var(--ink-2);line-height:1.6}
.ac-lookup{max-width:720px}
.ac-lookform{margin:22px 0 14px}
.ac-lookform label{display:block;font:600 13px/1 var(--sans);color:var(--ink-2);margin-bottom:8px}
.ac-lookform div{display:flex;gap:10px;flex-wrap:wrap}
.ac-lookform .inp{flex:1;min-width:220px;text-transform:uppercase;letter-spacing:.04em}
.ac-panel .ac-certart{max-width:100%}
/* the answer's mark: a circle with its tick or cross in the middle (the line below sets every span of the feedback to a
   block of grey text, which pushed the mark to the corner and greyed it) */
.ac-fb .ac-fb-i{display:grid;place-items:center;margin:0;color:#fff;line-height:0}
/* a link drawn as a button in the player's foot: its words in the middle, not underlined */
a.ac-ghost,a.ac-big{display:inline-grid;place-items:center;text-decoration:none;box-sizing:border-box}
.ac-big{padding:0 22px}
/* the Expert: the exam's clock in the player's top bar, and the portfolio's form */
.ac-xclock{flex:none;font:600 15px/1 var(--sans);font-variant-numeric:tabular-nums;color:#fff;background:#132044;border-radius:var(--r,10px);padding:8px 12px;min-width:64px;text-align:center}
.ac-xclock.late{background:var(--ac-bad)}
.ac-lab{display:block;font:600 13px/1 var(--sans);color:var(--ink-2);margin:16px 0 8px}
.ac-panel select.ac-find{appearance:auto}
.ac-review-box{height:auto;min-height:180px;padding:12px 14px;line-height:1.5;resize:vertical}
.ac-terms ul{margin:0;padding-left:20px;display:grid;gap:8px}.ac-terms li{line-height:1.5}
.ac-agree{display:flex;gap:10px;align-items:flex-start;font-weight:500;cursor:pointer}.ac-agree input{width:20px;height:20px;margin:1px 0 0;flex:none;accent-color:var(--accent,#233F99)}
.ac-legal{max-width:var(--pg-w,1160px);margin:24px auto 0;padding:0 var(--pg-gut,20px);font-size:13px;color:var(--muted,#5C6B82)}.ac-legal a{color:inherit}
.ac-idnote{font-size:13.5px;color:var(--muted,#5C6B82);margin:0}.ac-idnote a{color:inherit}
.ac-idok{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-style:normal;font-weight:600;font-size:13px;color:var(--ok,#0E7A4D)}.ac-idok::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
/* an assignment's steps are instructions; its progress below is what xMap Flows can prove, ticked by the server (2026-11-01) */
.ac-steps-plain li{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:var(--r,10px);padding:12px 14px;font-size:15px;line-height:1.45;color:var(--ink-2)}
.ac-steps-plain li::before{content:counter(st);flex:none;width:22px;height:22px;border-radius:50%;background:var(--ac-soft,#EEF2FB);color:var(--accent,#233F99);font:600 12px/22px var(--sans);text-align:center;margin-top:1px}
.ac-prog{margin-top:14px;border:1px solid var(--line);border-radius:var(--r,10px);background:#fff;padding:14px 16px}
.ac-prog h3{margin:0 0 10px;font:600 15px/1.3 var(--sans);color:var(--ink)}
.ac-prog h3 small{display:block;margin-top:2px;font:400 13px/1.4 var(--sans);color:var(--muted)}
.ac-prog ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.ac-prog li{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.4;color:var(--ink-2)}
.ac-prog li i{flex:none;width:20px;height:20px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;margin-top:1px}
.ac-prog li.ok i{background:var(--ac-ok);border-color:var(--ac-ok);color:#fff}
.ac-prog li.ok i svg{width:12px;height:12px}
.ac-prog li b{font-weight:500;display:block}
.ac-prog li.ok b{color:var(--muted)}
.ac-prog li small{display:block;margin-top:2px;color:var(--ac-warn,#B45309);font-size:13px}
.ac-prog li.wait{color:var(--muted)}
/* the Professional's needs and hints, the Expert's note and every assignment's time zone (2026-11-01) */
.ac-tz{display:flex;gap:10px;align-items:flex-start;margin:12px 0;padding:10px 14px;border-radius:var(--r,10px);background:#EEF4FF;color:var(--ink-2);font-size:14px;line-height:1.45}
.ac-tz svg{width:18px;height:18px;flex:none;margin-top:1px;color:var(--ac-blue)}
.ac-tz b{font-weight:600}
.ac-needs-h{margin:14px 0 8px;font:600 15px/1.3 var(--sans);color:var(--ink)}
.ac-needs{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.ac-needs li{background:#fff;border:1px solid var(--line);border-radius:var(--r,10px);padding:12px 14px 12px 36px;position:relative;font-size:15px;line-height:1.45;color:var(--ink-2)}
.ac-needs li::before{content:"";position:absolute;left:16px;top:19px;width:7px;height:7px;border-radius:50%;background:var(--ac-blue)}
.ac-hints{display:grid;gap:8px;margin-top:10px}
.ac-hint{background:#FFF8E8;border:1px solid #F3DDA8;border-radius:var(--r,10px);padding:10px 14px;font-size:14px;line-height:1.45;color:var(--ink-2)}
.ac-hint b{display:block;font-weight:600;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:#9A6A00;margin-bottom:2px}
.ac-hint-btn{justify-self:start}
.ac-expert-note{margin:14px 0 0;padding:12px 14px;border-radius:var(--r,10px);background:#F1F3F9;color:var(--ink-2);font-size:15px;line-height:1.5}
/* the super admin's learners and a learner's report (owner, 2026-11-01: "we need to be able to get learner report") */
.ac-ptools{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:18px 0 8px;font-size:13px;color:var(--muted)}
.ac-ptools .btn{display:inline-flex;align-items:center;gap:6px;text-decoration:none}
.ac-learner{align-items:flex-start}
.ac-learner .ac-pwho{flex:0 1 240px}
.ac-learner .ac-pprog{flex:1 1 320px;line-height:1.5}
.ac-learner .ac-pprog b{font-weight:600;color:var(--ink)}
.ac-porgs{display:flex!important;align-items:center;gap:5px;margin-top:3px;color:var(--ink-2)!important}
.ac-porgs svg{width:13px;height:13px;flex:none}
.ac-pmeta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:5px;font-size:12px;color:var(--muted)}
.ac-pmeta .ac-flag,.ac-pmeta .ac-certpill{margin-left:0}
.ac-certpill.off{color:var(--ink-2);background:var(--soft,#eef1f7)}
.ac-pbtns{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto}
.ac-idpill{display:inline-block;font:600 12px/1 var(--sans);color:var(--ink-2);background:var(--soft,#eef1f7);border-radius:999px;padding:4px 8px}
.ac-idpill.ok{color:#11603b;background:var(--ac-ok-bg)}
.ac-report h3{margin:24px 0 10px;font:600 17px/1.3 var(--sans)}
.ac-rsub{color:var(--muted);font-size:13.5px;margin:4px 0 14px}
.ac-back{display:inline-flex;align-items:center;gap:6px;border:0;background:none;color:var(--ink-2);font:500 13px var(--sans);cursor:pointer;padding:0;margin-bottom:12px}
.ac-back svg{width:14px;height:14px}
.ac-rtiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin:8px 0 12px}
.ac-rtile{background:#fff;border:1px solid var(--line);border-radius:var(--r,10px);padding:10px 12px}
.ac-rtile b{display:block;font:600 20px/1.2 var(--sans)}
.ac-rtile span{display:block;font-size:12px;color:var(--muted);margin-top:2px}
.ac-rid{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13.5px;color:var(--ink-2);margin:4px 0 6px}
.ac-rweak{font-size:13.5px;color:var(--ink-2);margin:4px 0 10px}
.ac-rweak b{font-weight:600}
.ac-rtable{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r,10px);background:#fff;margin:6px 0 12px}
.ac-rtable table{width:100%;border-collapse:collapse;font-size:13px}
.ac-rtable th{text-align:left;font:600 11px/1.2 var(--sans);text-transform:uppercase;letter-spacing:.03em;color:var(--muted);padding:9px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
.ac-rtable td{padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.ac-rtable tr:last-child td{border-bottom:0}
.ac-rtable tr.off td{color:var(--muted)}
.ac-rbar{display:inline-block;width:60px;height:6px;border-radius:999px;background:var(--soft,#eef1f7);vertical-align:middle;margin-right:6px;overflow:hidden}
.ac-rbar i{display:block;height:100%;background:var(--ac-blue,#233f99);border-radius:999px}
.ac-rq{display:inline-block;margin:0 6px 4px 0;font:500 12px/1 var(--sans);border-radius:999px;padding:4px 8px;background:var(--soft,#eef1f7);color:var(--ink-2)}
.ac-rq.ok{color:#11603b;background:var(--ac-ok-bg)}
.ac-rq.no{color:#fff;background:var(--ac-bad)}
.ac-rq.run{color:var(--ac-blue,#233f99);background:#e7ecfa}
.ac-rlessons summary{cursor:pointer;font:500 13.5px var(--sans);color:var(--ink-2);margin:4px 0}
@media (max-width:640px){.ac-pbtns{margin-left:0;width:100%}.ac-learner .ac-pwho{flex-basis:100%}}
a.ac-big{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;padding:0 18px}
a.ac-big svg{width:16px;height:16px}

/* a level the person's organization assigned them (server/routes/academyorg.js) */
.ac-assigned{display:flex;gap:12px;align-items:center;margin-bottom:16px}.ac-assigned svg{flex:none;width:20px;height:20px;color:var(--ac-blue,#233e99)}.ac-assigned p{margin:0;font-size:14.5px;line-height:1.45}.ac-assigned b{font-weight:600}
/* the expert profile window (academy/profile.js, the directory of certified experts) */
.ac-pf{position:fixed;inset:0;z-index:2000;background:rgba(15,27,45,.45);display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;overflow:auto}
.ac-pf-box{background:var(--surface,#fff);border-radius:var(--r,10px);box-shadow:0 20px 60px rgba(15,27,45,.25);width:100%;max-width:720px;padding:22px 24px;box-sizing:border-box}
.ac-pf-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}
.ac-pf-head h2{font:600 22px/1.25 var(--sans);margin:0}
.ac-pf-x{border:0;background:none;font-size:26px;line-height:1;cursor:pointer;color:var(--muted);width:40px;height:40px}
.ac-pf-form{display:flex;flex-direction:column;gap:14px;margin-top:14px}
.ac-pf-form>label{display:flex;flex-direction:column;gap:6px;font:500 13px/1.3 var(--sans);color:var(--ink-2)}
.ac-pf-form .inp{width:100%;box-sizing:border-box}
.ac-pf-form textarea.inp{height:auto;padding:10px 12px;line-height:1.45;resize:vertical}
.ac-pf-form fieldset{border:0;padding:0;margin:0}
.ac-pf-form legend{font:500 13px/1.3 var(--sans);color:var(--ink-2);margin-bottom:8px}
.ac-pf-ticks{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px 12px;max-height:190px;overflow:auto;padding:10px;border:1px solid var(--line,#E2E7EF);border-radius:var(--r,10px)}
.ac-pf-ticks label{display:flex;gap:8px;align-items:center;font-size:13.5px;color:var(--ink)}
.ac-pf-on{flex-direction:row!important;gap:12px!important;align-items:flex-start;padding:12px 14px;border-radius:var(--r,10px);background:var(--track,#EEF1F6)}
.ac-pf-on input,.ac-pf-chk input{margin-top:3px;width:18px;height:18px;flex:none}
.ac-pf-on span{display:flex;flex-direction:column;gap:3px}
.ac-pf-on b{font:600 15px/1.3 var(--sans);color:var(--ink)}
.ac-pf-on small{font-weight:400;color:var(--muted)}
.ac-pf-chk{flex-direction:row!important;gap:10px!important;align-items:flex-start;font-weight:400!important}
.ac-pf-msg{min-height:18px;margin:0;font-size:14px;color:var(--ok,#1E9E62)}
.ac-pf-msg.bad{color:var(--bad,#C2352B)}
.ac-pf-foot{display:flex;gap:10px;flex-wrap:wrap}
.ac-pf-box h3{font:600 17px/1.3 var(--sans);margin:26px 0 10px}
.ac-pf-enq{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ac-pf-enq li{padding:12px 14px;border:1px solid var(--line,#E2E7EF);border-radius:var(--r,10px)}
.ac-pf-enq small{display:block;color:var(--muted);margin-top:3px}
.ac-pf-enq p{margin:8px 0 0;white-space:pre-wrap;font-size:14px;line-height:1.5}
@media (max-width:640px){.ac-pf{padding:0}.ac-pf-box{max-width:none;min-height:100%;border-radius:0;padding:18px 16px}.ac-pf-form .inp{font-size:16px}.ac-pf-ticks{grid-template-columns:1fr 1fr}}
