/* =====================================================================
   War-Documentary.info: "Contents" button and panel for phones and tablets (added 2026-10-09)
   Loaded by assets/js/wd-article-nav.min.js, only on articles that have a list of contents,
   so these styles cost nothing on other pages. The button appears below 1200px.
   ===================================================================== */
.wd-toc-fab{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom, 0px));z-index:1010;display:flex;align-items:center;height:56px;min-width:56px;margin:0;padding:0;border:0;border-radius:28px;background:#1a2334;color:#fff;font-family:Transat,sans-serif;font-size:14px;font-weight:700;line-height:1;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 6px 18px rgba(11,21,36,.35);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(18px);transition:opacity .25s ease,transform .25s ease,visibility .25s,box-shadow .2s ease;-webkit-tap-highlight-color:transparent}
.wd-toc-fab.is-visible{opacity:1;visibility:visible;transform:none}
.wd-toc-fab:focus-visible{outline:3px solid #ffc107;outline-offset:3px}
.wd-toc-fab__icon{position:relative;display:flex;align-items:center;justify-content:center;flex:0 0 56px;width:56px;height:56px}
.wd-toc-fab__icon > svg{width:24px;height:24px;fill:currentColor}
.wd-toc-fab__icon > .wd-toc-fab__ring{position:absolute;left:0;top:0;width:56px;height:56px;transform:rotate(-90deg);transition:opacity .2s ease}
.wd-toc-fab__ring circle{fill:none;stroke-width:3}
.wd-toc-fab__track{stroke:rgba(255,255,255,.16)}
.wd-toc-fab__bar{stroke:#ffc107;stroke-linecap:round;transition:stroke-dashoffset .15s linear}
.wd-toc-fab__label{display:block;max-width:0;overflow:hidden;white-space:nowrap;opacity:0;transition:max-width .3s ease,opacity .2s ease,padding .3s ease}
.wd-toc-fab.is-extended .wd-toc-fab__label{max-width:140px;padding-right:22px;opacity:1}
.wd-toc-fab.is-extended .wd-toc-fab__ring{opacity:0}
.wd-toc-lock .wd-toc-fab{opacity:0;pointer-events:none}
.wd-toc[hidden]{display:none!important}
/* the panel lies above the fixed site header, which has z-index 9999999 */
.wd-toc{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000000;font-family:Transat,sans-serif}
.wd-toc:not(.is-open){pointer-events:none}
.wd-toc__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(11,21,36,.55);opacity:0;transition:opacity .25s ease;touch-action:none}
.wd-toc__sheet{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;max-height:80vh;max-height:min(80dvh,680px);margin:0 auto;background:#fff;border-radius:18px 18px 0 0;box-shadow:0 -10px 30px rgba(11,21,36,.3);padding-bottom:env(safe-area-inset-bottom, 0px);transform:translateY(100%);transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.wd-toc.is-open .wd-toc__backdrop{opacity:1}
.wd-toc.is-open .wd-toc__sheet{transform:none}
.wd-toc.is-dragging .wd-toc__sheet{transition:none}
.wd-toc__head{position:relative;flex:none;padding:22px 60px 14px 20px;border-bottom:1px solid #e9ecef;touch-action:none;cursor:grab}
.wd-toc__grab{position:absolute;top:8px;left:50%;width:40px;height:4px;margin-left:-20px;border-radius:2px;background:#ced4da}
.wd-toc__title{margin:0 0 4px;color:#0b1524;font-size:18px;font-weight:700;line-height:1.2;letter-spacing:.06em;text-transform:uppercase}
.wd-toc__meta{margin:0;color:#6c757d;font-size:13px;line-height:1.4;letter-spacing:.02em}
.wd-toc__close{position:absolute;top:12px;right:8px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0;padding:0;border:0;border-radius:50%;background:transparent;color:#424c55;cursor:pointer;transition:background-color .2s ease}
.wd-toc__close:focus-visible{outline:2px solid #3b82ec;outline-offset:0}
.wd-toc__close svg{width:22px;height:22px;fill:currentColor}
.wd-toc__progress{position:absolute;left:0;right:0;bottom:-1px;height:3px;background:#e9ecef;overflow:hidden}
.wd-toc__progress span{display:block;width:100%;height:100%;background:#3b82ec;transform-origin:0 50%;transform:scaleX(0)}
.wd-toc__list{flex:1 1 auto;min-height:0;margin:0;padding:6px 0;list-style:none;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.wd-toc__list li{margin:0;padding:0;list-style:none}
.wd-toc__list li::before,.wd-toc__list li::after{content:none}
.wd-toc__list a{display:flex;align-items:flex-start;gap:12px;min-height:48px;padding:11px 20px 11px 17px;border-left:3px solid transparent;color:#424c55;font-size:15px;line-height:1.35;letter-spacing:.02em;text-decoration:none;transition:background-color .15s ease}
.wd-toc__list a:focus-visible{outline:2px solid #3b82ec;outline-offset:-2px}
.wd-toc__num{display:flex;align-items:center;justify-content:center;flex:0 0 26px;height:26px;margin-top:-3px;border:1px solid #adb5bd;border-radius:50%;color:#6c757d;font-size:12px;letter-spacing:0}
.wd-toc__list a.is-read{color:#6c757d}
.wd-toc__list a.is-read .wd-toc__num{border-color:#dee2e6;background:#f1f3f5}
.wd-toc__list a[aria-current]{border-left-color:#3b82ec;background:#eef4fd;color:#0b1524;font-weight:700}
.wd-toc__list a[aria-current] .wd-toc__num{border-color:#3b82ec;background:#3b82ec;color:#fff}
.wd-toc__actions{display:flex;flex:none;gap:8px;padding:12px 16px 14px;border-top:1px solid #e9ecef}
.wd-toc__btn{display:flex;flex:1 1 auto;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:44px;margin:0;padding:8px;border:1px solid #ced4da;border-radius:8px;background:#fff;color:#0b1524;font-family:inherit;font-size:12px;font-weight:700;line-height:1.2;letter-spacing:.06em;text-align:center;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease}
.wd-toc__btn:focus-visible{outline:2px solid #3b82ec;outline-offset:2px}
.wd-toc__btn svg{flex:none;width:16px;height:16px;fill:currentColor}
.wd-toc__btn--main{border-color:#1a2334;background:#1a2334;color:#fff}
@media (hover: hover){
.wd-toc-fab:hover{background:#0b1524;box-shadow:0 8px 22px rgba(11,21,36,.45)}
.wd-toc__close:hover{background:#f1f3f5}
.wd-toc__list a:hover{background:#f6f8fa;color:#0b1524}
.wd-toc__list a[aria-current]:hover{background:#eef4fd}
.wd-toc__btn:hover{border-color:#3b82ec;color:#3b82ec}
.wd-toc__btn--main:hover{border-color:#0b1524;background:#0b1524;color:#fff}
}
html.wd-toc-lock{overflow:hidden;scrollbar-gutter:stable}
html.wd-toc-lock body{overflow:hidden}
@media (min-width: 576px){
.wd-toc__sheet{bottom:16px;width:calc(100% - 32px);max-width:520px;border-radius:18px}
}
@media (min-width: 992px){
.wd-toc-fab{right:auto;left:24px;bottom:24px}
}
@media (min-width: 1200px){
.wd-toc-fab,.wd-toc{display:none!important}
}
@media (prefers-reduced-motion: reduce){
.wd-toc-fab,.wd-toc-fab__label,.wd-toc-fab__bar,.wd-toc__sheet,.wd-toc__backdrop{transition:none}
}
@media print{
.wd-toc-fab,.wd-toc{display:none!important}
}
