/* ===========================================================
   章节大冒险（adv-）：关卡地图、锦囊页、3D 视图与 2D 后备、结果页
   绘本风格，沿用 style.css 的变量；iPad 横屏 1180×820 为主，手机 390 宽不出横向滚动，触控目标 ≥ 44px。
   所有类名以 adv- 开头（少数部件内部的 b2- / m2- / a2- / r2- / s2- / sl- 前缀也只在 .adv-view 里生效）。
   =========================================================== */

:root{
  --adv-h:#9B7BF7; --adv-h-d:#7C5CE8;
  --adv-t:#4D96FF; --adv-t-d:#2B77E4;
  --adv-o:#FF7A59; --adv-o-d:#E45B39;
}

/* ---------- 3D / 2D 视图外框 ---------- */
.adv-wrap{display:flex;flex-direction:column;gap:10px;width:100%;min-width:0}
.adv-view{
  position:relative;width:100%;aspect-ratio:4/3;max-height:min(56vh,540px);min-height:230px;
  border-radius:24px;overflow:hidden;
  background:radial-gradient(120% 90% at 50% 0%,#FFFDF8 0%,#FFF5E4 46%,#EAF3FF 100%);
  border:2px solid #F0E8DE;box-shadow:inset 0 -10px 26px rgba(120,90,50,.05);
}
.adv-view canvas{position:absolute;left:0;top:0;width:100%;height:100%;display:block;cursor:pointer;outline:none}
.adv-view.adv-2d{aspect-ratio:auto;max-height:none;min-height:0;overflow:visible;padding:14px 10px;background:linear-gradient(180deg,#FFFDF8,#FFF3E2);display:flex;align-items:center;justify-content:center}
.adv-loading{position:absolute;inset:0;display:grid;place-items:center;color:var(--ink2);font-weight:800;font-size:17px}
.adv-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.adv-lab{
  position:absolute;left:0;top:0;transform:translate(-50%,-50%);will-change:transform;
  font-weight:900;font-size:15px;line-height:1.2;color:#4A4256;white-space:nowrap;
  background:rgba(255,255,255,.9);border-radius:10px;padding:2px 9px;box-shadow:0 2px 6px rgba(90,70,40,.12);
}
.adv-lab-col{font-size:16px}
.adv-lab-col.pl-h,.adv-lab-bin.pl-h,.adv-lab-tag.pl-h,.adv-lab-digit.pl-h{color:var(--adv-h-d)}
.adv-lab-col.pl-t,.adv-lab-bin.pl-t,.adv-lab-tag.pl-t,.adv-lab-digit.pl-t{color:var(--adv-t-d)}
.adv-lab-col.pl-o,.adv-lab-bin.pl-o,.adv-lab-tag.pl-o,.adv-lab-digit.pl-o{color:var(--adv-o-d)}
.adv-lab-bin{font-size:14px;background:#fff8e8;color:#8A5A00}
.adv-lab-digit{font-size:22px;min-width:34px;text-align:center}
.adv-lab-tag{font-size:17px}
.adv-lab-num{font-size:26px;background:#fff;color:#33383F}
.adv-lab-carry{background:#FFF1C9;color:#9A5A00;font-size:16px}
.adv-lab-slot{font-size:16px;background:rgba(255,255,255,.96)}
.adv-lab-tick{font-size:14px;background:transparent;box-shadow:none;color:#6B6155;padding:0}
.adv-lab-mark{font-size:18px;background:#FFE9DE;color:var(--adv-o-d)}
.adv-lab-hop{font-size:15px;background:#E7F0FF;color:#2B77E4}
.adv-lab-hop.win{background:#E4F8F1;color:#127C64}

.adv-read{min-height:30px;text-align:center;font-weight:800;color:var(--ink2);font-size:17px;line-height:1.5}
.adv-read b{font-size:22px}
.pv-h{color:var(--adv-h-d)}.pv-t{color:var(--adv-t-d)}.pv-o{color:var(--adv-o-d)}.pv-n{color:var(--ink)}
.adv-ctl{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.adv-ctl:empty{display:none}
.adv-btn{min-width:88px;height:48px;padding:0 14px;font-size:16px;border-radius:16px}
.adv-btn:disabled{opacity:.5}
.adv-steppers{display:flex;flex-wrap:wrap;gap:8px 14px;justify-content:center;width:100%}
.adv-stepper{display:flex;align-items:center;gap:6px;background:#fff;border-radius:16px;padding:4px 8px 4px 12px;box-shadow:var(--shadow-sm);font-weight:900}
.adv-step-l{white-space:nowrap}
.adv-stepper.pl-h{color:var(--adv-h-d)}.adv-stepper.pl-t{color:var(--adv-t-d)}.adv-stepper.pl-o{color:var(--adv-o-d)}
.adv-step-b{width:48px;height:48px;border-radius:14px;background:#FBF8F4;font-size:24px;font-weight:900;box-shadow:0 3px 0 #EDE4D9}
.adv-step-b:active{transform:translateY(3px);box-shadow:none}
.adv-view button:focus-visible,.adv-btn:focus-visible,.adv-step-b:focus-visible,.adv-stop:focus-visible{outline:3px solid #4D96FF;outline-offset:3px}

/* ---------- 2D 后备：小方块 ---------- */
.adv-b2{display:flex;gap:22px;justify-content:center;align-items:flex-end;flex-wrap:wrap;padding:6px;min-height:150px;width:100%}
.b2-g{display:flex;gap:6px;align-items:flex-end;flex-wrap:wrap;justify-content:center}
.b2-g.h{max-width:250px}
.b2-g.t{max-width:230px}
.b2-g.o{display:grid;grid-template-columns:repeat(5,18px);gap:4px;align-content:end}
.b2-g.full{outline:3px dashed #F5A524;outline-offset:6px;border-radius:8px}
.b2-flat{
  display:block;width:84px;height:84px;border-radius:7px;border:2px solid var(--adv-h-d);
  background:
    repeating-linear-gradient(0deg,transparent 0 7.4px,rgba(255,255,255,.7) 7.4px 8.4px),
    repeating-linear-gradient(90deg,transparent 0 7.4px,rgba(255,255,255,.7) 7.4px 8.4px),var(--adv-h);
}
.b2-rod{display:block;width:17px;height:84px;border-radius:4px;border:2px solid var(--adv-t-d);background:repeating-linear-gradient(0deg,var(--adv-t) 0 7.4px,#fff 7.4px 8.4px)}
.b2-cube{display:block;width:18px;height:18px;border-radius:4px;border:2px solid var(--adv-o-d);background:var(--adv-o)}
.b2-flat.sm{width:34px;height:34px;border-width:1.5px;background:
    repeating-linear-gradient(0deg,transparent 0 2.8px,rgba(255,255,255,.7) 2.8px 3.4px),
    repeating-linear-gradient(90deg,transparent 0 2.8px,rgba(255,255,255,.7) 2.8px 3.4px),var(--adv-h)}
.b2-rod.sm{width:8px;height:34px;border-width:1.5px;background:repeating-linear-gradient(0deg,var(--adv-t) 0 2.8px,#fff 2.8px 3.4px)}
.b2-cube.sm{width:9px;height:9px;border-width:1.5px;border-radius:2px}
.b2-g .pop,.m2-pile .pop,.a2-beads .pop{animation:advPop .38s cubic-bezier(.2,1.6,.4,1)}
@keyframes advPop{0%{transform:scale(.3);opacity:0}100%{transform:scale(1);opacity:1}}

/* ---------- 2D 后备：搭一搭垫子 ---------- */
.adv-m2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%}
.m2-col{background:#FFF0D6;border:2px solid #F3D9AE;border-radius:18px;padding:8px 6px 10px;min-height:190px;display:flex;flex-direction:column;align-items:center;gap:6px}
.m2-name{font-weight:900;font-size:16px}
.m2-col.pl-h .m2-name{color:var(--adv-h-d)}.m2-col.pl-t .m2-name{color:var(--adv-t-d)}.m2-col.pl-o .m2-name{color:var(--adv-o-d)}
.m2-pile{flex:1;display:flex;flex-wrap:wrap;gap:5px;align-content:flex-end;justify-content:center;align-items:flex-end;width:100%;padding:2px}
.m2-pile .b2-flat{width:46px;height:46px;background:repeating-linear-gradient(0deg,transparent 0 3.9px,rgba(255,255,255,.7) 3.9px 4.6px),repeating-linear-gradient(90deg,transparent 0 3.9px,rgba(255,255,255,.7) 3.9px 4.6px),var(--adv-h)}
.m2-pile .b2-rod{width:11px;height:46px;background:repeating-linear-gradient(0deg,var(--adv-t) 0 3.9px,#fff 3.9px 4.6px)}
.m2-pile .b2-cube{width:14px;height:14px}
.m2-pile.hot{outline:3px solid #FFD36B;outline-offset:3px;border-radius:10px}
.m2-tag{font-weight:900;font-size:15px;background:#fff;border-radius:10px;padding:2px 8px;text-align:center}

/* ---------- 2D 后备：计数器 ---------- */
.adv-a2{display:flex;gap:clamp(14px,5vw,40px);justify-content:center;width:100%;padding:4px 0}
.a2-rod{--bc:var(--adv-o);display:flex;flex-direction:column;align-items:center;gap:4px;position:relative;cursor:pointer;min-width:78px}
.a2-rod.pl-h{--bc:var(--adv-h)}.a2-rod.pl-t{--bc:var(--adv-t)}.a2-rod.pl-o{--bc:var(--adv-o)}
.a2-name{font-weight:900;font-size:15px;color:var(--ink2);order:3}
.a2-beads{order:1;position:relative;display:flex;flex-direction:column-reverse;align-items:center;gap:3px;min-height:206px;width:78px;justify-content:flex-start;padding-bottom:4px;border-bottom:8px solid #F2D9B6}
.a2-beads::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:6px;margin-left:-3px;border-radius:3px;background:#B88A57;z-index:0}
.a2-beads b{position:relative;z-index:1;display:block;width:50px;height:17px;border-radius:9px;background:var(--bc);box-shadow:inset 0 -3px 0 rgba(0,0,0,.14)}
.a2-beads.full{outline:3px dashed #F5A524;outline-offset:4px;border-radius:8px}
.a2-dig{order:2;font-weight:900;font-size:24px;min-height:30px;color:var(--bc)}
.a2-msg{position:absolute;top:-6px;left:50%;transform:translateX(-50%);white-space:nowrap;background:#FFF1C9;color:#9A5A00;font-weight:900;font-size:14px;border-radius:10px;padding:2px 8px;z-index:3}

/* ---------- 2D 后备：数卡 ---------- */
.adv-r2{perspective:900px;display:grid;place-items:center;padding:14px;width:100%}
.r2-card{position:relative;width:min(340px,86%);height:168px;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.3,1.4,.5,1)}
.adv-r2.flipped .r2-card{transform:rotateY(180deg)}
.r2-face{position:absolute;inset:0;display:grid;place-items:center;font-size:64px;font-weight:900;border-radius:20px;border:3px solid #E7DDD1;background:#fff;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:var(--shadow-sm);text-align:center;line-height:1.2;padding:0 10px}
.r2-face.back{transform:rotateY(180deg);background:#FFF6DC;font-size:44px}
.zero{color:#E4572E;font-style:normal}

/* ---------- 2D 后备：跷跷板 ---------- */
.adv-s2{position:relative;width:100%;height:290px}
.s2-beam{--tilt:0deg;position:absolute;left:2%;right:2%;top:160px;height:16px;background:#E8B96B;border-radius:8px;transform:rotate(var(--tilt));transform-origin:50% 50%;transition:transform .9s cubic-bezier(.3,1.5,.5,1)}
.s2-pan{position:absolute;bottom:16px;width:44%;display:flex;flex-direction:column;align-items:center;gap:6px}
.s2-pan.l{left:2%}.s2-pan.r{right:2%}
.s2-num{font-size:28px;font-weight:900;color:var(--ink)}
.s2-pile{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;align-items:flex-end;min-height:44px;max-width:100%}
.s2-post{position:absolute;left:50%;top:176px;transform:translateX(-50%);border-left:34px solid transparent;border-right:34px solid transparent;border-bottom:80px solid #F4B183}

/* ---------- 2D 后备：排一排 ---------- */
.adv-sl2{width:100%;display:flex;flex-direction:column;gap:16px;align-items:center}
.sl-slots{display:flex;gap:12px;justify-content:center;align-items:flex-end;width:100%}
.sl-slot{flex:1;max-width:170px;min-height:92px;border-radius:18px;border:3px dashed #E0CFA9;background:#FFF8E6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px}
.adv-sl2.podium .sl-slot:nth-child(1){min-height:128px;background:#FFF1C6}
.adv-sl2.podium .sl-slot:nth-child(2){min-height:108px;background:#EEF1F6}
.adv-sl2.podium .sl-slot:nth-child(3){min-height:92px;background:#F9E5D4}
.sl-slot.pl-h{border-color:var(--adv-h)}.sl-slot.pl-t{border-color:var(--adv-t)}.sl-slot.pl-o{border-color:var(--adv-o)}
.sl-l{font-size:14px;font-weight:800;color:var(--ink2)}
.sl-v{font-size:30px;font-weight:900;min-height:38px;color:var(--ink)}
.sl-pool{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.sl-item{min-width:92px;min-height:60px;border-radius:16px;background:#fff;border:3px solid #E7DDD1;font-size:30px;font-weight:900;box-shadow:0 4px 0 #EDE4D9}
.sl-item.sel{border-color:var(--accent);background:#FFF4EE;transform:translateY(-4px)}
.sl-item.used{opacity:.35}
.sl-slot:focus-visible,.sl-item:focus-visible{outline:3px solid #4D96FF;outline-offset:3px}

/* ---------- 2D 后备：数线 ---------- */
.adv-nl2{width:100%;max-width:640px;display:block;margin:0 auto}
.nl-hop{font-size:13px;font-weight:900;fill:#2B77E4;text-anchor:middle}
.nl-gap{stroke:#B7C6DC;stroke-width:5;stroke-linecap:round}
.nl-gap.win{stroke:#35CBAD}

/* ---------- 题目页：宽屏左边 3D、右边答题 ---------- */
.adv-on .qbox .visual{margin-bottom:14px}
.screen:has(.adv-on){max-width:1180px}
@media (min-width:900px){
  .adv-on .qbox{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);grid-template-areas:"tags tags" "stem stem" "vis ans" "fb fb";column-gap:26px;align-items:start}
  .adv-on .qbox>.qtags{grid-area:tags}
  .adv-on .qbox>.stem-row{grid-area:stem}
  .adv-on .qbox>.visual{grid-area:vis;margin:0}
  .adv-on .qbox>.answer-area{grid-area:ans;margin:0}
  .adv-on .qbox>.fbwrap{grid-area:fb}
  .adv-on .qbox:not(:has(.visual))>.answer-area{grid-column:1/-1}
  .adv-on .answer-area.has-kp{display:block}
  .adv-on .answer-area.has-kp .keypad{max-width:340px;margin:12px auto 0}
  .adv-on .answer-area.has-kp .keypad .knum,.adv-on .answer-area.has-kp .keypad .kfn{height:56px}
  .adv-on .answer-area.has-kp .eq .fieldrow{justify-content:center}
  .adv-on .adv-view{max-height:min(52vh,440px)}
  /* 动手题（答题区是空的）：3D 视图 + 右边一列按钮占满，不再让一个按钮孤零零地留在右半边 */
  .adv-on .qbox:has(>.answer-area:empty){grid-template-columns:minmax(0,1fr);grid-template-areas:"tags" "stem" "vis" "fb"}
  .adv-on .qbox:has(>.answer-area:empty)>.visual{max-width:800px;margin:0 auto;width:100%}
  .adv-on .qbox>.answer-area:empty{display:none}
  /* 宽屏：按钮竖着排在 3D 视图右边，整个题目不用往下滚就能操作 */
  .adv-on .adv-wrap:has(>.adv-ctl:not(:empty)){display:grid;grid-template-columns:minmax(0,1fr) 150px;grid-template-areas:"view ctl" "read ctl";gap:8px 12px;align-items:start}
  .adv-on .adv-wrap>.adv-view{grid-area:view}
  .adv-on .adv-wrap>.adv-read{grid-area:read}
  .adv-on .adv-wrap>.adv-ctl{grid-area:ctl;flex-direction:column;flex-wrap:nowrap;justify-content:flex-start;gap:7px}
  .adv-on .adv-wrap>.adv-ctl>.adv-btn{width:100%;min-width:0;height:46px;padding:0 6px;font-size:15px}
  .adv-on .adv-wrap>.adv-ctl .adv-steppers{flex-direction:column;flex-wrap:nowrap;gap:6px}
  .adv-on .adv-wrap>.adv-ctl .adv-stepper{width:100%;justify-content:space-between;padding:3px 6px 3px 10px}
  .adv-on .adv-wrap>.adv-ctl .adv-step-b{width:46px;height:46px}
}
.qbox.locked .adv-ctl{pointer-events:none;opacity:.55}
.qbox.locked .adv-view canvas,.qbox.locked .adv-view .sl-slot,.qbox.locked .adv-view .sl-item,.qbox.locked .a2-rod{pointer-events:none}

@media (prefers-reduced-motion:reduce){
  .r2-card,.s2-beam{transition:none}
  .b2-g .pop,.m2-pile .pop,.a2-beads .pop{animation:none}
}
@media (max-width:560px){
  .adv-view{min-height:240px;border-radius:20px}
  .adv-btn{min-width:calc(33.3% - 8px);padding:0 8px;font-size:15px}
  .b2-flat{width:64px;height:64px}.b2-rod{height:64px}
  .b2-g.o{grid-template-columns:repeat(5,16px)}
  .adv-a2{gap:12px}
  .a2-rod{min-width:72px}
  .a2-beads{width:70px}
  .r2-face{font-size:52px}.r2-face.back{font-size:36px}
  .adv-s2{height:260px}
  .s2-beam{top:140px}
  .s2-post{top:156px}
  .sl-v{font-size:26px}
}

/* ===========================================================
   关卡地图：6 个站点连成一条小路（宽屏两排蛇形，手机一列）
   =========================================================== */
.adv-map{padding:24px 26px 26px;background:linear-gradient(180deg,#F1F7FF 0%,#FFF8EC 62%,#FFF3E2 100%)}
.adv-map-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.adv-map-emo{font-size:48px;line-height:1}
.adv-map-t{flex:1 1 260px;min-width:0}
.adv-map-t h2{margin:0;font-size:27px;color:#2B4F8C}
.adv-map-t p{margin:4px 0 0;color:var(--ink2);font-weight:700;font-size:15.5px;line-height:1.6}
.adv-map-sum{background:#fff;border-radius:999px;padding:7px 18px;font-weight:900;color:var(--sun-d);box-shadow:var(--shadow-sm);white-space:nowrap}
.adv-map-sum b{font-size:20px}
.adv-path{list-style:none;margin:30px 0 6px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 14px;position:relative}
.adv-node{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:3px;min-width:0}
.adv-node:nth-child(4){grid-column:3;grid-row:2}
.adv-node:nth-child(5){grid-column:2;grid-row:2}
.adv-node:nth-child(6){grid-column:1;grid-row:2}
.adv-node::after{content:"";position:absolute;z-index:0;pointer-events:none;border:0 dotted #B9CDEE}
/* 连接线：1→2→3 往右，3 往下，4→5→6 往左 */
.adv-node:nth-child(1)::after,.adv-node:nth-child(2)::after{top:42px;left:calc(50% + 56px);width:calc(100% - 112px + 14px);border-top-width:5px}
.adv-node:nth-child(3)::after{top:calc(100% + 6px);left:50%;height:28px;margin-left:-2px;border-left-width:5px}
.adv-node:nth-child(4)::after,.adv-node:nth-child(5)::after{top:42px;right:calc(50% + 56px);width:calc(100% - 112px + 14px);border-top-width:5px}
.adv-node:nth-child(6)::after{display:none}
.adv-node.done::after{border-color:#7ED9C3}
.adv-stop{
  position:relative;z-index:1;width:88px;height:88px;min-width:44px;min-height:44px;border-radius:50%;
  display:grid;place-items:center;background:linear-gradient(160deg,#7DB4FF,#4D96FF);color:#fff;
  box-shadow:0 7px 0 #2B77E4,0 12px 22px rgba(43,119,228,.25);transition:transform .12s,box-shadow .12s;
}
.adv-stop:active{transform:translateY(6px);box-shadow:0 1px 0 #2B77E4}
.adv-stop .adv-ico{font-size:38px;line-height:1;filter:drop-shadow(0 2px 2px rgba(0,0,0,.12))}
.adv-stop .adv-num{position:absolute;left:-4px;top:-4px;width:30px;height:30px;border-radius:50%;background:#fff;color:#2B77E4;font-size:16px;font-weight:900;display:grid;place-items:center;box-shadow:var(--shadow-sm)}
.adv-node.done .adv-stop{background:linear-gradient(160deg,#6FE0C4,#2FC2A4);box-shadow:0 7px 0 #1FA58B,0 12px 22px rgba(31,165,139,.25)}
.adv-node.done .adv-stop .adv-num{color:#1FA58B}
.adv-node.lock .adv-stop{background:#E8E3DB;color:#9A9288;box-shadow:0 7px 0 #CFC8BD;cursor:pointer}
.adv-node.lock .adv-stop .adv-num{color:#9A9288}
.adv-node.cur .adv-stop{animation:advRing 1.8s ease-in-out infinite}
@keyframes advRing{0%,100%{box-shadow:0 7px 0 #2B77E4,0 0 0 0 rgba(77,150,255,.45)}50%{box-shadow:0 7px 0 #2B77E4,0 0 0 14px rgba(77,150,255,0)}}
.adv-stop.shake{animation:shake .4s}
.adv-meta{display:flex;flex-direction:column;align-items:center;gap:3px;margin-top:8px;min-width:0}
.adv-line{display:flex;flex-direction:column;align-items:center;gap:2px}
.adv-nm{font-size:17px;font-weight:900;color:var(--ink);line-height:1.3}
.adv-sub{font-size:13px;font-weight:800;color:#2B77E4;background:#E4EEFF;border-radius:999px;padding:1px 11px}
.adv-node.lock .adv-nm{color:var(--ink3)}
.adv-node.lock .adv-sub{color:#9A9288;background:#F0ECE5}
.adv-stars{font-size:19px;letter-spacing:1px;line-height:1.2}
.adv-map-foot{margin-top:18px;text-align:center;color:var(--ink2);font-weight:800;font-size:15.5px;line-height:1.7}

/* ---------- 锦囊页 ---------- */
.adv-lesson{padding:22px 24px 24px}
.adv-less-head{text-align:left}
.adv-pill{display:inline-block;background:#E4EEFF;color:#2B77E4;font-weight:900;font-size:14px;border-radius:999px;padding:3px 14px}
.adv-less-head h2{margin:8px 0 2px;font-size:26px;color:#2B4F8C}
.adv-lead{margin:0 0 4px;color:var(--ink2);font-weight:700;font-size:16px;line-height:1.6}
.adv-less-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin-top:12px;align-items:start}
.adv-less-side{min-width:0}
.adv-less-side .demo{margin-top:0}
.adv-less-acts{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-wrap:wrap;margin-top:18px}
.adv-lock{font-weight:800;font-size:15px;color:#8A6A1E}
@media (min-width:900px){
  .adv-less-grid{grid-template-columns:minmax(0,1.2fr) minmax(300px,1fr);gap:24px}
}

/* ---------- 结果页 ---------- */
.adv-result .racts{margin-top:20px}
.adv-result .adv-unlock{background:linear-gradient(120deg,#E4F8F1,#EAF6FF);border-color:#BDEBDD;color:#127C64}
.adv-result .adv-clear{background:linear-gradient(120deg,#FFF1C9,#FFE9F1);border-color:#FFD77A;color:#9A5A00}
.adv-next-tip{max-width:520px;margin:4px auto 14px;background:#F3EEFF;border-radius:16px;padding:10px 14px;font-weight:800;color:#5B3FC4;font-size:15.5px}

@media (max-width:640px){
  .adv-map{padding:18px 14px 20px}
  .adv-map-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 12px;align-items:start}
  .adv-map-emo{font-size:38px}
  .adv-map-sum{grid-column:1/-1;justify-self:start}
  .adv-map-t h2{font-size:23px}
  .adv-path{grid-template-columns:minmax(0,1fr);gap:26px;margin-top:22px}
  .adv-node,.adv-node:nth-child(n){grid-column:1;grid-row:auto;flex-direction:row;align-items:center;text-align:left;gap:14px;padding-left:4px}
  .adv-stop{width:76px;height:76px;flex:none}
  .adv-stop .adv-ico{font-size:32px}
  .adv-meta{align-items:flex-start;margin-top:0;flex:1}
  .adv-line{flex-direction:row;align-items:center;gap:10px}
  .adv-node:nth-child(n)::after{display:block;top:78px;left:42px;right:auto;width:0;height:calc(100% - 78px + 26px);border-top-width:0;border-left-width:5px;margin-left:0}
  .adv-node:nth-child(6)::after{display:none}
  .adv-lesson{padding:16px 14px 18px}
  .adv-less-head h2{font-size:22px}
  .adv-less-acts{justify-content:center}
}
@media (prefers-reduced-motion:reduce){
  .adv-node.cur .adv-stop,.adv-stop.shake{animation:none}
  .adv-stop{transition:none}
}
.adv-lab-cnt{font-size:13px;padding:1px 7px}
.adv-lab-cnt.pl-h{color:var(--adv-h-d)}.adv-lab-cnt.pl-t{color:var(--adv-t-d)}.adv-lab-cnt.pl-o{color:var(--adv-o-d)}

.adv-ok{background:var(--accent);color:#fff;box-shadow:0 4px 0 var(--accent-d);font-size:17px}
.adv-ctl>.adv-ok{margin-top:6px}
@media (max-width:899px){.adv-ctl>.adv-ok{flex:1 1 100%;height:54px;margin-top:8px}}
