/* Раздел «ПДД РБ» /pdd/ (redesign/pdd.py): текст правил, поиск, тесты. Остальное — классы v2-doc-* и poi-q. */
.pdd-hero h1{max-width:900px}
.pdd-search{display:flex;align-items:center;gap:10px;max-width:720px;margin-top:22px;padding:0 16px;border-radius:18px;background:#fff;box-shadow:var(--shadow-sm);color:var(--muted)}
.pdd-search input{flex:1;min-width:0;border:0;background:transparent;box-shadow:none;padding:16px 0;font:500 16px var(--font);color:var(--ink);outline:0}
.pdd-results{max-width:720px;margin-top:10px;background:#fff;border-radius:18px;box-shadow:var(--shadow);max-height:460px;overflow:auto;padding:6px}
.pdd-results a{display:block;padding:10px 14px;border-radius:12px;font-size:14.5px;line-height:1.45;color:var(--ink-2)}
.pdd-results a:hover,.pdd-results a.on{background:#f4f6fa}
.pdd-results a b{display:inline-block;min-width:64px;margin-right:6px;color:var(--violet);font-weight:800}
.pdd-results mark{background:#fff1b8;color:inherit;border-radius:3px}
.pdd-results p{margin:0;padding:12px 14px;color:var(--muted);font-size:14px}

.pdd-sec{margin-top:46px}
.pdd-h2-sm{font-size:24px!important;margin-top:30px!important}
.pdd-ch-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.pdd-ch-card{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:14px;align-items:center;padding:14px 16px;background:#fff;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s}
.pdd-ch-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.pdd-ch-card i{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:#efeaff;color:#5b3fe0;font:800 16px var(--font);font-style:normal}
.pdd-ch-card.appx i{background:#fff4dc;color:#b56a00}
.pdd-ch-card > span{display:grid;gap:3px}
.pdd-ch-card b{font-size:15px;line-height:1.3;color:var(--ink)}
.pdd-ch-card small{font-size:12.5px;color:var(--muted)}
.pdd-promo{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;padding:30px 34px}
.pdd-promo h2{margin:4px 0 8px!important}
.pdd-promo p{margin:0;color:var(--ink-2);max-width:560px}

/* текст правил */
.pdd-toc ol{counter-reset:none}
.pdd-toc ol a{display:flex;gap:8px}
.pdd-toc a i{flex:none;min-width:24px;font-style:normal;color:var(--muted);font-weight:700}
.pdd-toc a.on i{color:#5b3fe0}
.pdd-toc .pdd-toc-test{display:flex;justify-content:center;margin-top:10px;padding:11px 14px;font-size:14px;font-weight:700;border-radius:12px;transition:transform .2s,box-shadow .2s,background .2s}
.pdd-toc .pdd-toc-test.dark,.pdd-toc .pdd-toc-test.dark:hover{background:#1c2333;color:#fff}
.pdd-toc .pdd-toc-test.dark:hover{background:#2c3550;transform:translateY(-1px)}
.pdd-toc .pdd-toc-test.light{background:#f4f6fa;color:var(--ink);box-shadow:none}
.pdd-toc .pdd-toc-test.light:hover{background:#ebeef6;color:var(--ink)}
.pdd-text{font-size:16px;line-height:1.7}
.pdd-pt,.pdd-sub{position:relative;margin:0 0 12px;scroll-margin-top:calc(var(--nav-h) + 20px);border-radius:10px;transition:background .6s}
.pdd-pt{margin-top:22px;color:var(--ink-2)}
.pdd-pt:first-child,.pdd-mini + .pdd-pt{margin-top:0}
.pdd-sub{margin-left:8px;padding:2px 0 2px 18px;border-left:2px solid #e8ebf3}
.pdd-term{color:var(--ink);font-weight:700}
.pdd-text > p{margin:0 0 12px}
.pdd-n{display:inline-block;min-width:34px;margin-right:6px;padding:1px 9px;border-radius:999px;background:#efeaff;color:#5b3fe0!important;
  font-weight:800;font-size:13.5px;line-height:1.7;text-align:center;text-decoration:none!important;white-space:nowrap;vertical-align:1px;transition:background .2s,color .2s}
.pdd-n:hover{background:#5b3fe0;color:#fff!important}
.pdd-sub .pdd-n{background:#f1f3f8;color:var(--ink-2)!important;font-weight:700}
.pdd-sub .pdd-n:hover{background:var(--ink);color:#fff!important}
.pdd-text a:not(.pdd-n):not(.pdd-quiz-chip){color:#4a5cf0;text-decoration:underline;text-decoration-color:rgba(74,92,240,.3);text-underline-offset:2px}
.pdd-pt:target,.pdd-sub:target,.pdd-row:target,.pdd-flash{background:#fff6d6;box-shadow:0 0 0 8px #fff6d6}
.pdd-quiz-chip{display:inline-block;margin-left:8px;padding:1px 9px;border-radius:999px;background:#eaf8f0;color:#0f8a4c!important;font-size:12.5px;font-weight:700;white-space:nowrap;vertical-align:1px}
.pdd-quiz-chip:hover{background:#d5f2e2}
.pdd-par,.pdd-ch{font-size:19px!important;margin:30px 0 12px!important;letter-spacing:-.01em}
.pdd-ch:first-child{margin-top:0!important}
.pdd-note{font-size:14px;color:var(--muted)}
.pdd-img{padding:12px 16px;border-radius:12px;background:#f4f6fa;font-size:14px;color:var(--muted)}
.pdd-row{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;padding:10px 0;border-top:1px dashed #e3e7ef;scroll-margin-top:calc(var(--nav-h) + 20px)}
.pdd-after{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:18px}
.pdd-after-t{display:flex;align-items:center;gap:14px;padding:18px 20px}
.pdd-after-t b{display:block;font-size:15.5px;line-height:1.3}
.pdd-after-t div span{font-size:13px;color:var(--muted)}
.pdd-pns{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
.pdd-pns a{display:block;padding:14px 18px;background:#fff;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}
.pdd-pns a.next{text-align:right}
.pdd-pns small{display:block;font-size:12px;color:var(--muted)}
.pdd-pns b{font-size:14.5px;line-height:1.3}
.pdd-src{margin-top:34px}
.pdd-src p{margin:0;font-size:13.5px;color:var(--muted);max-width:900px}
.pdd-src a{text-decoration:underline}
.pdd-main{min-width:0}

/* тесты */
.pdd-themes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.pdd-theme{display:grid;gap:6px;align-content:start;padding:20px}
.pdd-theme b{font-size:15.5px;line-height:1.3;margin-top:6px}
.pdd-theme > span:not(.v2-ico){font-size:13px;color:var(--muted)}
.pdd-theme em{font-style:normal;font-size:12.5px;font-weight:700;color:var(--green)}
.pdd-theme em:empty{display:none}
.pdd-theme[aria-current]{box-shadow:inset 0 0 0 2px var(--violet),var(--shadow-sm)}
.pdd-qlist{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.pdd-q{background:#fff;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);padding:22px 24px;scroll-margin-top:calc(var(--nav-h) + 20px)}
.pdd-q-t{margin:0 0 10px;font-weight:700;font-size:17px;line-height:1.45;color:var(--ink)}
.pdd-q-t span{color:var(--muted)}
.pdd-q-a{margin:0 0 10px;padding-left:22px}
.pdd-q-ans summary{cursor:pointer;font-weight:700;color:var(--violet)}
.pdd-q-ref{font-size:14px;color:var(--muted)}
.pdd-q-ref a{text-decoration:underline}

.pdd-run{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:28px 32px;max-width:860px}
.pdd-run-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;font-size:14px;font-weight:700;color:var(--muted)}
.pdd-dots{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:18px}
.pdd-dots i{width:22px;height:6px;border-radius:3px;background:#e6e9f0}
.pdd-dots i.cur{background:var(--ink)}
.pdd-dots i.ok{background:var(--green)}
.pdd-dots i.bad{background:var(--red)}
.pdd-timer{font-variant-numeric:tabular-nums;color:var(--ink)}
.pdd-timer.low{color:var(--red)}
.pdd-run h2{font-size:21px!important;line-height:1.4!important;letter-spacing:-.01em!important;margin:0 0 16px!important}
.pdd-opts{display:grid;gap:10px}
.pdd-opt{display:flex;align-items:flex-start;gap:12px;width:100%;padding:14px 16px;border:0;border-radius:14px;background:#f4f6fa;font:500 16px/1.45 var(--font);color:var(--ink);text-align:left;cursor:pointer;transition:background .2s,transform .15s}
.pdd-opt:hover:not([disabled]){background:#eaeef6}
.pdd-opt i{flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:#fff;font:800 13px var(--font);font-style:normal;color:var(--ink-2)}
.pdd-opt[disabled]{cursor:default}
.pdd-opt.ok{background:#e3f7ec;box-shadow:inset 0 0 0 2px var(--green)}
.pdd-opt.ok i{background:var(--green);color:#fff}
.pdd-opt.bad{background:#fde8ed;box-shadow:inset 0 0 0 2px var(--red)}
.pdd-opt.bad i{background:var(--red);color:#fff}
.pdd-expl{margin-top:16px;padding:16px 18px;border-radius:14px;background:#f7f8fb;font-size:15px;line-height:1.55}
.pdd-expl b.ok{color:var(--green)} .pdd-expl b.bad{color:var(--red)}
.pdd-expl p{margin:0 0 8px}
.pdd-expl q{display:block;margin-top:6px;padding-left:12px;border-left:3px solid #d9def0;color:var(--ink-2);font-size:14px;quotes:"«" "»"}
.pdd-expl a{text-decoration:underline;color:#4a5cf0}
.pdd-run .v2-btns{margin-top:18px}
.pdd-scene{display:block;width:100%;max-width:560px;margin:0 auto 16px;border-radius:16px;background:#22392e}
.pdd-scene .badge{font:800 26px var(--font)}
.pdd-result{text-align:center}
.pdd-result .big{font-size:56px;font-weight:900;letter-spacing:-.04em;line-height:1}
.pdd-result .verdict{display:inline-block;margin:12px 0 4px;padding:6px 16px;border-radius:999px;font-weight:800;color:#fff}
.pdd-result .verdict.pass{background:var(--green)} .pdd-result .verdict.fail{background:var(--red)}
.pdd-review{margin-top:24px;text-align:left;display:grid;gap:10px}
.pdd-review details{padding:12px 16px;border-radius:14px;background:#f7f8fb}
.pdd-review summary{cursor:pointer;font-weight:700;line-height:1.4}
.pdd-review summary i{font-style:normal;margin-right:6px}
.pdd-start{max-width:820px;padding:32px 36px;position:relative;overflow:hidden}
.pdd-start h2{margin:0 0 18px!important}
.pdd-start-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:24px}
.pdd-start-stats div{padding:18px;border-radius:16px;background:linear-gradient(135deg,#f6f4ff,#f3f8ff)}
.pdd-start-stats b{display:block;font-size:40px;font-weight:900;letter-spacing:-.04em;line-height:1;color:#5b3fe0}
.pdd-start-stats div:nth-child(2) b{color:#e48a00} .pdd-start-stats div:nth-child(3) b{color:var(--green)}
.pdd-start-stats span{display:block;margin-top:8px;font-size:14px;line-height:1.4;color:var(--ink-2)}
@media (max-width:640px){.pdd-start{padding:22px 18px}.pdd-start-stats{grid-template-columns:1fr}.pdd-start-stats div{display:flex;align-items:center;gap:14px;padding:14px}.pdd-start-stats span{margin:0}}

@media (max-width:1020px){.pdd-ch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pdd-themes{grid-template-columns:repeat(2,minmax(0,1fr))}.pdd-toc ol{max-height:260px!important}}
@media (max-width:640px){
  .pdd-ch-grid,.pdd-themes{grid-template-columns:1fr}
  .pdd-run{padding:20px 16px}
  .pdd-run h2{font-size:18px!important}
  .pdd-promo{padding:22px 18px}
  .pdd-sub{padding-left:10px}
  .pdd-pns{grid-template-columns:1fr}
  .pdd-q{padding:18px}
  .pdd-row{grid-template-columns:48px minmax(0,1fr)}
}
@media print{.pdd-toc,.pdd-after,.pdd-pns,.pdd-quiz-chip,.pdd-src{display:none!important}}
.pdd-sign{margin:0 0 10px;scroll-margin-top:calc(var(--nav-h) + 20px);border-radius:10px;transition:background .6s}
.pdd-sign:target{background:#fff6d6;box-shadow:0 0 0 8px #fff6d6}

/* знаки: картинки (Wikimedia Commons, content/pdd/znaki.json) */
.pdd-sign.has-img{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:start;padding:6px 0}
.pdd-sign.has-img p{margin:0}
.pdd-znaki{display:flex;flex-wrap:wrap;gap:6px;max-width:220px}
.pdd-znak{width:52px;height:52px;object-fit:contain}
.pdd-gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin-bottom:10px}
.pdd-gal-i{display:grid;justify-items:center;gap:4px;padding:10px 8px;border-radius:14px;background:#f7f8fb;text-align:center;text-decoration:none!important;transition:background .2s}
.pdd-gal-i:hover{background:#eef1f8}
.pdd-gal-img{width:64px;height:64px;object-fit:contain}
.pdd-gal-i b{font-size:13px;color:var(--ink)} .pdd-gal-i span{font-size:12px;line-height:1.3;color:var(--muted)}
.pdd-credits{margin-top:18px;font-size:13px;color:var(--muted)}
.pdd-credits summary{cursor:pointer;font-weight:700;color:var(--ink-2)}
.pdd-credits ul{columns:2;column-gap:24px;padding-left:18px;margin:10px 0 0}
.pdd-credits li{break-inside:avoid;margin:0 0 4px}
.pdd-credits a{text-decoration:underline}
.pdd-zgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.pdd-zg{display:grid;gap:6px;align-content:start;padding:22px}
.pdd-zg-row{display:flex;gap:6px;flex-wrap:wrap;min-height:56px}
.pdd-zg-img{width:48px;height:48px;object-fit:contain}
.pdd-zg b{font-size:17px;line-height:1.3;margin-top:6px}
.pdd-zg > span{font-size:14px;color:var(--ink-2)}
.pdd-zg small{font-size:12.5px;font-weight:700;color:var(--violet)}
.pdd-zg-nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.pdd-zg-nav .on{background:var(--ink);color:#fff}
.pdd-zintro{padding:20px 24px;margin-bottom:16px;color:var(--ink-2)}
.pdd-zintro p{margin:0}
.pdd-zlist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.pdd-zc{display:grid;grid-template-columns:132px minmax(0,1fr);gap:18px;align-items:start;padding:20px;background:#fff;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);scroll-margin-top:calc(var(--nav-h) + 20px)}
.pdd-zc:target{box-shadow:0 0 0 3px var(--yellow),var(--shadow-sm)}
.pdd-zc-imgs{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.pdd-zc-img{width:120px;height:120px;object-fit:contain}
.pdd-zc-imgs .pdd-zc-img:not(:only-child){width:60px;height:60px}
.pdd-zc-noimg{display:grid;place-items:center;width:120px;height:90px;border-radius:12px;background:#f4f6fa;font-size:12px;color:var(--muted);text-align:center}
.pdd-zc h2{font-size:17px!important;line-height:1.35!important;margin:0 0 6px!important;letter-spacing:-.01em!important}
.pdd-zc h2 span{color:var(--violet)}
.pdd-zc p{margin:0 0 8px;font-size:14.5px;line-height:1.55;color:var(--ink-2)}
.pdd-zc p a{text-decoration:underline}
.pdd-zc-src{font-size:13px;font-weight:700;color:#4a5cf0!important}
.pdd-znotes{margin-top:16px;padding:22px 26px;font-size:14.5px;color:var(--ink-2)}
.pdd-znotes h2{font-size:19px!important}
.pdd-q-img{display:flex;justify-content:center;gap:10px;margin:0 0 14px}
.pdd-q-img img{width:110px;height:110px;object-fit:contain}
.pdd-q .pdd-q-img{justify-content:flex-start}
.pdd-q .pdd-q-img img{width:80px;height:80px}
@media (max-width:1020px){.pdd-zgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.pdd-zlist{grid-template-columns:1fr}}
@media (max-width:640px){
  .pdd-zgrid{grid-template-columns:1fr}
  .pdd-zc{grid-template-columns:84px minmax(0,1fr);gap:12px;padding:16px}
  .pdd-zc-img{width:80px;height:80px}
  .pdd-sign.has-img{grid-template-columns:1fr}
  .pdd-credits ul{columns:1}
}

/* ── Лоск 09.11: краткое содержание, анимации ── */
.pdd-mini{margin:0 0 28px;padding:20px 22px;border-radius:18px;background:linear-gradient(135deg,#f6f4ff,#f3f8ff)}
.pdd-mini-h{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.pdd-mini-h b{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:#5b3fe0}
.pdd-mini-h small{padding:1px 8px;border-radius:999px;background:#fff;font-size:12px;font-weight:700;color:var(--muted)}
.pdd-mini ol{list-style:none;margin:0;padding:0;columns:2;column-gap:22px}
.pdd-mini li{break-inside:avoid;margin:0 0 2px}
.pdd-mini a{display:flex;gap:10px;align-items:baseline;padding:6px 8px;border-radius:10px;font-size:14px;line-height:1.35;color:var(--ink-2)!important;text-decoration:none!important;transition:background .2s,transform .2s}
.pdd-mini a:hover{background:#fff;transform:translateX(3px);color:var(--ink)!important}
.pdd-mini a b{flex:none;min-width:42px;font-size:12.5px;font-weight:800;color:#5b3fe0}
.pdd-mini.long ol{max-height:360px;overflow:hidden;-webkit-mask:linear-gradient(#000 75%,transparent);mask:linear-gradient(#000 75%,transparent)}
.pdd-mini.long.open ol{max-height:none;-webkit-mask:none;mask:none}
.pdd-mini-more{margin-top:10px;padding:8px 14px;border:0;border-radius:10px;background:#fff;font:700 13px var(--font);color:#5b3fe0;cursor:pointer;box-shadow:var(--shadow-sm)}
.pdd-mini-more:hover{background:#5b3fe0;color:#fff}
.pdd-ch-card{transition:transform .25s,box-shadow .25s,background .25s}
.pdd-ch-card:hover i{background:#5b3fe0;color:#fff}
.pdd-ch-card i{transition:background .25s,color .25s,transform .25s}
.pdd-ch-card:hover i{transform:scale(1.08) rotate(-4deg)}
.pdd-theme .v2-ico,.pdd-after-t .v2-ico{transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.pdd-theme:hover .v2-ico,.pdd-after-t:hover .v2-ico{transform:scale(1.12) rotate(-6deg)}
.pdd-zg-img,.pdd-gal-img,.pdd-zc-img{transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.pdd-zg:hover .pdd-zg-img{transform:translateY(-3px)}
.pdd-gal-i:hover .pdd-gal-img,.pdd-zc:hover .pdd-zc-img{transform:scale(1.07)}
.pdd-pns a{transition:transform .2s,box-shadow .2s}
.pdd-pns a:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.pdd-opt{transition:background .2s,transform .2s,box-shadow .2s}
.pdd-opt:hover:not([disabled]){transform:translateX(4px)}
.pdd-dots i{transition:background .3s,transform .3s}
.pdd-dots i.cur{transform:scaleY(1.5)}
@media (prefers-reduced-motion:no-preference){
  html.js .pdd-ch-card.v2-reveal,html.js .pdd-theme.v2-reveal{transition-delay:calc(var(--i, 0) * 45ms)}
  .pdd-run.anim h2,.pdd-run.anim .pdd-q-img,.pdd-run.anim [data-sc]{animation:pddIn .45s cubic-bezier(.2,.8,.2,1) both}
  .pdd-run.anim .pdd-opt{animation:pddIn .45s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(80ms + var(--k, 0) * 60ms)}
  .pdd-opt.ok{animation:pddPop .45s cubic-bezier(.2,.8,.2,1)!important}
  .pdd-opt.bad{animation:pddShake .4s ease!important}
  .pdd-expl{animation:pddIn .4s ease both}
  .pdd-result .big{animation:pddPop .6s cubic-bezier(.2,.8,.2,1) both}
  .pdd-result .verdict{animation:pddIn .5s .2s ease both}
  .pdd-review details{animation:pddIn .4s ease both;animation-delay:calc(var(--k, 0) * 50ms)}
  .pdd-pt:target,.pdd-sub:target,.pdd-row:target,.pdd-sign:target{animation:pddFlash 2.4s ease}
}
@keyframes pddIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes pddPop{0%{transform:scale(.96)}55%{transform:scale(1.03)}100%{transform:scale(1)}}
@keyframes pddShake{0%,100%{transform:none}20%{transform:translateX(-7px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(3px)}}
@keyframes pddFlash{0%{background:#ffe999}100%{background:#fff6d6}}
@media (max-width:760px){.pdd-mini ol{columns:1}.pdd-mini{padding:16px}}
.pdd-text > p.pdd-cont{margin:0 0 10px}
.pdd-text > p.pdd-cont.in-sub{margin:-6px 0 12px 8px;padding:0 0 0 18px;border-left:2px solid #e8ebf3}
.pdd-text > p.pdd-cont.in-sub + p.pdd-cont.in-sub{margin-top:-12px;padding-top:6px}
.pdd-mini.mid .pdd-mini-more{display:none}
@media (max-width:760px){
  .pdd-mini.mid .pdd-mini-more{display:inline-block}
  .pdd-mini.mid:not(.open) ol{max-height:300px;overflow:hidden;-webkit-mask:linear-gradient(#000 70%,transparent);mask:linear-gradient(#000 70%,transparent)}
  .pdd-mini a{font-size:14px;padding:5px 4px}
}
