/* ==========================================================================
   Le wiki du serveur (reglement.html) : menu des pages, page, sommaire.
   Les blocs (.wk-block…) servent aussi à l'aperçu du builder de la console.
   ========================================================================== */

/* ---------- La coque : menu | page | sommaire ---------- */
.wk-page .nw-space-bar { gap: var(--nw-sp-3); }
.wk-searchbtn {
    display: inline-flex; align-items: center; gap: var(--nw-sp-2);
    min-width: 230px; padding: 7px 10px 7px 12px;
    border: 1px solid var(--nw-border); border-radius: var(--nw-radius-sm);
    background: var(--nw-glass); color: var(--nw-text-faint);
    font: inherit; font-size: 14px; cursor: pointer;
    transition: border-color var(--nw-fast), background var(--nw-fast);
}
.wk-searchbtn:hover { border-color: var(--nw-border-strong); background: var(--nw-glass-hover); color: var(--nw-text-dim); }
.wk-searchbtn svg { width: 16px; height: 16px; flex: none; }
.wk-searchbtn span { flex: 1; text-align: left; }
.wk-searchbtn kbd, .wk-search kbd { padding: 1px 6px; border: 1px solid var(--nw-border-soft); border-radius: 5px; background: rgba(255, 255, 255, .04); font-family: var(--nw-font-mono); font-size: 11px; color: var(--nw-text-faint); }

.wk-shell {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr) 230px;
    gap: var(--nw-sp-6);
    width: 100%; max-width: 1440px;
    margin-inline: auto;
    padding: 0 var(--nw-sp-5);
    flex: 1;
}

/* ---------- Le menu des pages ---------- */
.wk-side {
    position: sticky; top: var(--wk-top, 73px);
    align-self: start;
    max-height: calc(100vh - var(--wk-top, 73px));
    overflow: auto;
    padding: var(--nw-sp-5) var(--nw-sp-2) var(--nw-sp-6) 0;
    scrollbar-width: thin;
}
.wk-side-head { display: flex; align-items: center; gap: var(--nw-sp-2); margin: 0 0 var(--nw-sp-4); padding: 0 var(--nw-sp-2); }
.wk-side-head b { font-family: var(--nw-font-display); font-size: 17px; font-weight: 900; letter-spacing: -.01em; }
.wk-side-close { display: none; margin-left: auto; }
.wk-group + .wk-group { margin-top: var(--nw-sp-4); }
.wk-group-title { margin: 0 0 6px; padding: 0 var(--nw-sp-2); font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--nw-text-faint); }
.wk-nav { display: grid; gap: 1px; margin: 0; padding: 0; list-style: none; }
.wk-nav a {
    position: relative;
    display: flex; align-items: center; gap: 9px;
    padding: 7px 10px;
    border-radius: var(--nw-radius-sm);
    color: var(--nw-text-dim);
    font-size: 14px; font-weight: 500; line-height: 1.35;
    text-decoration: none;
    transition: background var(--nw-fast), color var(--nw-fast);
}
.wk-nav a:hover { background: var(--nw-glass-hover); color: var(--nw-text); }
.wk-nav a[aria-current="page"] { background: rgba(var(--st-rgb, 168, 85, 247), .16); color: #fff; font-weight: 700; }
.wk-nav a[aria-current="page"]::before { content: ''; position: absolute; left: -1px; top: 8px; bottom: 8px; width: 3px; border-radius: 3px; background: var(--nw-primary); box-shadow: var(--nw-glow); }
.wk-nav-ico { width: 20px; flex: none; text-align: center; font-size: 15px; }
.wk-nav-text { flex: 1; min-width: 0; }
.wk-nav-fold { flex: none; display: grid; place-items: center; width: 22px; height: 22px; margin: -4px -6px -4px 0; border: 0; border-radius: 6px; background: none; color: var(--nw-text-faint); cursor: pointer; }
.wk-nav-fold:hover { background: rgba(255, 255, 255, .08); color: var(--nw-text); }
.wk-nav-fold svg { width: 14px; height: 14px; transition: transform var(--nw-fast); }
.wk-nav li.is-open > a .wk-nav-fold svg { transform: rotate(90deg); }
.wk-nav .wk-nav { margin: 1px 0 4px 19px; padding-left: 8px; border-left: 1px solid var(--nw-hairline); }
.wk-nav li:not(.is-open) > .wk-nav { display: none; }
.wk-side-foot { margin-top: var(--nw-sp-5); padding: var(--nw-sp-3); border: 1px solid var(--nw-border-soft); border-radius: var(--nw-radius); background: var(--nw-glass); font-size: 13px; color: var(--nw-text-dim); }
.wk-side-foot a { color: var(--nw-primary-light); font-weight: 700; }

/* ---------- La page ---------- */
.wk-main { min-width: 0; padding: var(--nw-sp-6) 0 var(--nw-sp-8); }
.wk-mobilebar { display: none; }
.wk-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0 0 var(--nw-sp-3); font-size: 13px; color: var(--nw-text-faint); }
.wk-crumbs a { color: var(--nw-text-dim); text-decoration: none; }
.wk-crumbs a:hover { color: var(--nw-primary-light); }
.wk-crumbs i { font-style: normal; opacity: .6; }
.wk-crumbs b { color: var(--nw-primary-light); font-weight: 700; }
.wk-head { display: flex; align-items: center; gap: var(--nw-sp-3); margin: 0 0 var(--nw-sp-3); }
.wk-head-ico { flex: none; display: grid; place-items: center; width: 52px; height: 52px; border: 1px solid var(--nw-border); border-radius: var(--nw-radius); background: radial-gradient(circle at 30% 20%, rgba(var(--st-rgb, 168, 85, 247), .3), transparent 70%), var(--nw-bg-elev); font-size: 26px; box-shadow: var(--nw-inset); }
.wk-head h1 { margin: 0; font-family: var(--nw-font-display); font-size: clamp(30px, 4.4vw, 44px); font-weight: 900; letter-spacing: -.02em; line-height: 1.08; }
.wk-desc { max-width: 760px; margin: 0 0 var(--nw-sp-3); color: var(--nw-text-dim); font-size: 17px; line-height: 1.65; }
.wk-meta { display: flex; flex-wrap: wrap; gap: var(--nw-sp-2); margin: 0 0 var(--nw-sp-6); padding-bottom: var(--nw-sp-5); border-bottom: 1px solid var(--nw-hairline); }
.wk-meta span { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border: 1px solid var(--nw-border-soft); border-radius: var(--nw-radius-pill); background: var(--nw-glass); font-size: 12px; color: var(--nw-text-faint); }
.wk-meta svg { width: 13px; height: 13px; }
.wk-empty { padding: var(--nw-sp-7) var(--nw-sp-5); border: 1px dashed var(--nw-border); border-radius: var(--nw-radius-lg); text-align: center; color: var(--nw-text-dim); }
.wk-empty a { color: var(--nw-primary-light); }

.wk-pager { display: grid; grid-template-columns: 1fr 1fr; gap: var(--nw-sp-3); margin-top: var(--nw-sp-7); }
.wk-pager a { display: grid; gap: 2px; padding: var(--nw-sp-3) var(--nw-sp-4); border: 1px solid var(--nw-border-soft); border-radius: var(--nw-radius); background: var(--nw-glass); text-decoration: none; transition: border-color var(--nw-fast), transform var(--nw-fast); }
.wk-pager a:hover { border-color: var(--nw-border-strong); transform: translateY(-2px); }
.wk-pager a.is-next { grid-column: 2; text-align: right; }
.wk-pager span { font-size: 12px; color: var(--nw-text-faint); }
.wk-pager b { color: var(--nw-text); font-size: 15px; }
.wk-foot { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--nw-sp-3); margin-top: var(--nw-sp-6); padding-top: var(--nw-sp-4); border-top: 1px solid var(--nw-hairline); font-size: 13px; color: var(--nw-text-faint); }
.wk-foot a { color: var(--nw-primary-light); }

/* ---------- Le sommaire de la page ---------- */
.wk-toc { position: sticky; top: var(--wk-top, 73px); align-self: start; max-height: calc(100vh - var(--wk-top, 73px)); overflow: auto; padding: var(--nw-sp-6) 0; scrollbar-width: thin; }
.wk-toc p { display: flex; align-items: center; gap: 8px; margin: 0 0 var(--nw-sp-2); font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--nw-text-faint); }
.wk-toc p svg { width: 14px; height: 14px; }
.wk-toc nav { display: grid; border-left: 1px solid var(--nw-hairline); }
.wk-toc a { margin-left: -1px; padding: 5px 0 5px 12px; border-left: 2px solid transparent; color: var(--nw-text-faint); font-size: 13px; line-height: 1.4; text-decoration: none; transition: color var(--nw-fast), border-color var(--nw-fast); }
.wk-toc a.is-sub { padding-left: 24px; font-size: 12.5px; }
.wk-toc a:hover { color: var(--nw-text); }
.wk-toc a.is-on { border-left-color: var(--nw-primary); color: var(--nw-primary-light); font-weight: 600; }

/* ---------- La recherche ---------- */
.wk-search { position: fixed; inset: 0; z-index: 200; display: grid; place-items: start center; padding: 10vh var(--nw-sp-4) var(--nw-sp-4); background: rgba(4, 2, 10, .7); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.wk-search-box { width: min(640px, 100%); max-height: 72vh; display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--nw-border-strong); border-radius: var(--nw-radius-lg); background: var(--nw-bg-elev); box-shadow: var(--nw-shadow-lg), var(--nw-glow); }
.wk-search-field { display: flex; align-items: center; gap: var(--nw-sp-3); padding: var(--nw-sp-3) var(--nw-sp-4); border-bottom: 1px solid var(--nw-hairline); }
.wk-search-field svg { width: 18px; height: 18px; flex: none; color: var(--nw-primary-light); }
.wk-search-field input { flex: 1; min-width: 0; padding: 6px 0; border: 0; outline: 0; background: none; color: var(--nw-text); font: inherit; font-size: 16px; }
.wk-search-list { overflow: auto; padding: var(--nw-sp-2); }
.wk-search-list a { display: grid; gap: 2px; padding: 9px 12px; border-radius: var(--nw-radius-sm); color: var(--nw-text-dim); text-decoration: none; }
.wk-search-list a.is-on, .wk-search-list a:hover { background: rgba(var(--st-rgb, 168, 85, 247), .16); color: var(--nw-text); }
.wk-search-list a small { font-size: 11.5px; color: var(--nw-text-faint); }
.wk-search-list a b { color: var(--nw-text); font-size: 14px; }
.wk-search-list a span { font-size: 13px; line-height: 1.5; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.wk-search-list mark { padding: 0 2px; border-radius: 3px; background: rgba(var(--st-rgb, 168, 85, 247), .45); color: #fff; }
.wk-search-none { padding: var(--nw-sp-5); text-align: center; color: var(--nw-text-faint); font-size: 14px; }
.wk-search-hint { display: flex; gap: var(--nw-sp-3); padding: 8px var(--nw-sp-4); border-top: 1px solid var(--nw-hairline); font-size: 12px; color: var(--nw-text-faint); }

/* ---------- Les blocs ---------- */
.wk-content { display: flow-root; color: var(--nw-text-dim); font-size: 15.5px; line-height: 1.75; }
.wk-block + .wk-block { margin-top: var(--nw-sp-4); }
.wk-md > :first-child { margin-top: 0; }
.wk-md > :last-child { margin-bottom: 0; }
.wk-md p { margin: 0 0 .7em; }
.wk-md ul, .wk-md ol { margin: 0 0 .8em; padding-left: 1.35em; }
.wk-md li { margin: .25em 0; }
.wk-md li::marker { color: var(--nw-primary-light); }
.wk-md b, .wk-md strong { color: var(--nw-text); font-weight: 700; }
.wk-content a, .wk-md a { color: var(--nw-primary-light); text-decoration: underline; text-decoration-color: rgba(199, 139, 255, .4); text-underline-offset: 3px; }
.wk-content a:hover { text-decoration-color: currentColor; }
.wk-md mark { padding: 1px 5px; border-radius: 4px; background: rgba(var(--st-rgb, 168, 85, 247), .22); color: #f3e8ff; }
.wk-md code, .wk-table code { padding: 2px 6px; border: 1px solid var(--nw-border-soft); border-radius: 6px; background: rgba(255, 255, 255, .05); font-family: var(--nw-font-mono); font-size: .86em; color: #f0abfc; }
.wk-code { margin: 0 0 .8em; padding: var(--nw-sp-3) var(--nw-sp-4); overflow-x: auto; border: 1px solid var(--nw-border-soft); border-radius: var(--nw-radius-sm); background: #0a0614; }
.wk-code code { font-family: var(--nw-font-mono); font-size: 13.5px; color: #e9d5ff; }
.wk-md-h { margin: 1.3em 0 .5em; font-size: 16px; font-weight: 800; color: var(--nw-text); }
.wk-art { position: relative; padding-left: 3.4em; }
.wk-art + ul, .wk-art + ol { margin-left: 3.4em; }
.wk-artnum { position: absolute; left: 0; top: .2em; min-width: 2.9em; padding: 0 6px; border-radius: 6px; background: rgba(var(--st-rgb, 168, 85, 247), .14); font-family: var(--nw-font-mono); font-size: 12px; font-weight: 700; line-height: 1.75; text-align: center; color: var(--nw-primary-light); }

.wk-h { position: relative; margin: var(--nw-sp-6) 0 0; font-family: var(--nw-font-display); color: var(--nw-text); letter-spacing: -.01em; scroll-margin-top: 90px; }
h2.wk-h { font-size: 26px; font-weight: 900; }
h3.wk-h { font-size: 20px; font-weight: 800; }
.wk-b-heading + .wk-block { margin-top: var(--nw-sp-3); }
.wk-anchor { display: inline-grid; place-items: center; width: 24px; height: 24px; margin-left: 8px; vertical-align: middle; border-radius: 6px; color: var(--nw-text-faint); opacity: 0; transition: opacity var(--nw-fast); }
.wk-anchor svg { width: 15px; height: 15px; }
.wk-h:hover .wk-anchor, .wk-rule:hover .wk-anchor, .wk-anchor:focus-visible { opacity: 1; }
.wk-anchor:hover { background: rgba(255, 255, 255, .06); color: var(--nw-primary-light); }

.wk-hint { --wk-c: var(--nw-info); display: flex; gap: var(--nw-sp-3); padding: var(--nw-sp-3) var(--nw-sp-4); border: 1px solid color-mix(in srgb, var(--wk-c) 32%, transparent); border-left-width: 3px; border-radius: var(--nw-radius-sm); background: color-mix(in srgb, var(--wk-c) 9%, transparent); margin: 0 0 .8em; }
.wk-block > .wk-hint { margin: 0; }
.wk-hint.is-success { --wk-c: var(--nw-success); }
.wk-hint.is-warning { --wk-c: var(--nw-warning); }
.wk-hint.is-danger { --wk-c: var(--nw-danger); }
.wk-hint-ico { flex: none; color: var(--wk-c); }
.wk-hint-ico svg { width: 20px; height: 20px; margin-top: 3px; }
.wk-hint .wk-md { flex: 1; min-width: 0; color: var(--nw-text); }

.wk-quote { margin: 0 0 .8em; padding: var(--nw-sp-2) var(--nw-sp-4); border-left: 3px solid var(--nw-primary); border-radius: 0 var(--nw-radius-sm) var(--nw-radius-sm) 0; background: rgba(var(--st-rgb, 168, 85, 247), .06); color: var(--nw-text); }
.wk-block > .wk-quote { margin: 0; }
.wk-hr { height: 1px; margin: var(--nw-sp-5) 0; border: 0; background: var(--nw-gradient-line); opacity: .5; }
.wk-b-divider .wk-hr { margin: var(--nw-sp-3) 0; }

.wk-figure { margin: 0 auto; }
.wk-figure.is-small { max-width: 320px; }
.wk-figure.is-medium { max-width: 560px; }
.wk-figure.is-wide { max-width: 820px; }
.wk-figure img { display: block; width: 100%; height: auto; border: 1px solid var(--nw-border-soft); border-radius: var(--nw-radius); background: var(--nw-bg-elev); }
.wk-figure figcaption { margin-top: var(--nw-sp-2); font-size: 13.5px; line-height: 1.6; color: var(--nw-text-faint); text-align: center; }
.wk-figure.is-broken img { display: none; }
.wk-figure.is-broken::before { content: 'Image indisponible'; display: block; padding: var(--nw-sp-5); border: 1px dashed var(--nw-border); border-radius: var(--nw-radius); text-align: center; font-size: 13px; color: var(--nw-text-faint); }

.wk-tabs { overflow: hidden; border: 1px solid var(--nw-border-soft); border-radius: var(--nw-radius); background: var(--nw-glass); }
.wk-tabs-bar { display: flex; gap: 2px; overflow-x: auto; padding: 6px 6px 0; border-bottom: 1px solid var(--nw-hairline); background: rgba(0, 0, 0, .18); scrollbar-width: none; }
.wk-tabs-bar button { flex: none; padding: 9px 14px; border: 0; border-bottom: 2px solid transparent; border-radius: 8px 8px 0 0; background: none; color: var(--nw-text-faint); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
.wk-tabs-bar button:hover { color: var(--nw-text); background: rgba(255, 255, 255, .04); }
.wk-tabs-bar button[aria-selected="true"] { border-bottom-color: var(--nw-primary); color: #fff; background: rgba(var(--st-rgb, 168, 85, 247), .12); }
.wk-tab-panel { padding: var(--nw-sp-4) var(--nw-sp-5); }

.wk-steps { position: relative; display: grid; gap: var(--nw-sp-4); margin: 0; padding: 0; list-style: none; }
.wk-step { position: relative; display: flex; gap: var(--nw-sp-4); }
.wk-step:not(:last-child)::before { content: ''; position: absolute; left: 15px; top: 38px; bottom: calc(-1 * var(--nw-sp-4) + 4px); width: 2px; background: linear-gradient(var(--nw-border-strong), transparent); }
.wk-step-num { flex: none; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--nw-gradient); color: #fff; font-family: var(--nw-font-mono); font-size: 14px; font-weight: 700; box-shadow: var(--nw-glow); }
.wk-step-body { flex: 1; min-width: 0; padding-top: 3px; }
.wk-step-body h4 { margin: 0 0 4px; font-size: 16px; font-weight: 800; color: var(--nw-text); }

.wk-acc { display: grid; gap: var(--nw-sp-2); }
.wk-det { border: 1px solid var(--nw-border-soft); border-radius: var(--nw-radius-sm); background: var(--nw-glass); transition: border-color var(--nw-fast); }
.wk-det[open] { border-color: var(--nw-border-strong); background: rgba(var(--st-rgb, 168, 85, 247), .05); }
.wk-det summary { display: flex; align-items: center; gap: var(--nw-sp-3); padding: 12px var(--nw-sp-4); color: var(--nw-text); font-weight: 700; cursor: pointer; list-style: none; }
.wk-det summary::-webkit-details-marker { display: none; }
.wk-det summary span { flex: 1; }
.wk-det summary svg { width: 18px; height: 18px; flex: none; color: var(--nw-text-faint); transition: transform var(--nw-fast); }
.wk-det[open] summary svg { transform: rotate(180deg); color: var(--nw-primary-light); }
.wk-det-body { padding: 0 var(--nw-sp-4) var(--nw-sp-4); }

.wk-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(230px, 100%), 1fr)); gap: var(--nw-sp-3); }
.wk-card { position: relative; display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--nw-border-soft); border-radius: var(--nw-radius); background: var(--nw-bg-elev); color: inherit; text-decoration: none !important; transition: border-color var(--nw-base) var(--nw-ease), transform var(--nw-base) var(--nw-ease), box-shadow var(--nw-base); }
a.wk-card:hover { border-color: var(--nw-border-strong); transform: translateY(-3px); box-shadow: var(--nw-glow); }
.wk-card-cover { display: block; aspect-ratio: 16 / 8; overflow: hidden; background: #0c0718; }
.wk-card-cover img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform var(--nw-slow) var(--nw-ease); }
a.wk-card:hover .wk-card-cover img { transform: scale(1.04); }
.wk-card-body { display: grid; gap: 4px; padding: var(--nw-sp-3) var(--nw-sp-4) var(--nw-sp-4); }
.wk-card-body b { display: flex; align-items: center; gap: 8px; color: var(--nw-text); font-size: 15px; }
.wk-card-body b i { font-style: normal; font-size: 18px; }
.wk-card-body span { color: var(--nw-text-dim); font-size: 13.5px; line-height: 1.55; }
.wk-card-go { position: absolute; right: 12px; bottom: 12px; color: var(--nw-text-faint); transition: color var(--nw-fast), transform var(--nw-fast); }
.wk-card-go svg { width: 16px; height: 16px; }
a.wk-card:hover .wk-card-go { color: var(--nw-primary-light); transform: translateX(3px); }
.wk-card:not(.has-cover) .wk-card-body { padding-right: 36px; }

.wk-rule { position: relative; padding: var(--nw-sp-4) var(--nw-sp-5); border: 1px solid var(--nw-border-soft); border-radius: var(--nw-radius); background: linear-gradient(180deg, rgba(var(--st-rgb, 168, 85, 247), .06), transparent 60%), var(--nw-glass); scroll-margin-top: 90px; }
.wk-rule:target { border-color: var(--nw-primary); box-shadow: var(--nw-glow); }
.wk-rule header { display: flex; align-items: center; gap: var(--nw-sp-3); margin-bottom: var(--nw-sp-3); }
.wk-rule h2 { margin: 0; font-family: var(--nw-font-display); font-size: 19px; font-weight: 800; color: var(--nw-text); }
.wk-rule-num { flex: none; display: grid; place-items: center; min-width: 34px; height: 34px; padding: 0 8px; border-radius: 10px; background: var(--nw-gradient); color: #fff; font-family: var(--nw-font-mono); font-size: 14px; font-weight: 700; box-shadow: var(--nw-glow); }
.wk-rule .wk-anchor { margin-left: auto; }
.wk-sanction { display: inline-flex; align-items: center; gap: 8px; margin: var(--nw-sp-3) 0 0; padding: 4px 12px 4px 8px; border-radius: var(--nw-radius-pill); background: rgba(239, 68, 68, .12); color: #fca5a5; font-size: 13px; }
.wk-sanction svg { width: 16px; height: 16px; }
.wk-sanction b { color: #fecaca; }

.wk-table-wrap { overflow-x: auto; border: 1px solid var(--nw-border-soft); border-radius: var(--nw-radius-sm); margin: 0 0 .8em; }
.wk-block > .wk-table-wrap { margin: 0; }
.wk-table { width: 100%; border-collapse: collapse; font-size: 14.5px; }
.wk-table th { padding: 10px 14px; background: rgba(var(--st-rgb, 168, 85, 247), .12); color: var(--nw-text); font-weight: 700; text-align: left; white-space: nowrap; }
.wk-table td { padding: 9px 14px; border-top: 1px solid var(--nw-hairline); color: var(--nw-text-dim); }
.wk-table tbody tr:hover td { background: rgba(255, 255, 255, .025); }

/* ---------- Gravité, badges, bannière ---------- */
.wk-sev { --wk-c: var(--nw-info); flex: none; display: inline-flex; align-items: center; gap: 6px; padding: 2px 10px; border: 1px solid color-mix(in srgb, var(--wk-c) 45%, transparent); border-radius: var(--nw-radius-pill); background: color-mix(in srgb, var(--wk-c) 14%, transparent); color: color-mix(in srgb, var(--wk-c) 70%, #fff); font-size: 11.5px; font-weight: 700; letter-spacing: .02em; line-height: 1.6; white-space: nowrap; }
.wk-sev::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--wk-c); }
.wk-sev.is-medium { --wk-c: var(--nw-warning); }
.wk-sev.is-major { --wk-c: #f97316; }
.wk-sev.is-critical { --wk-c: var(--nw-danger); }
.wk-rule .wk-sev { margin-left: 2px; }

.wk-badge { --wk-c: var(--nw-primary); flex: none; align-self: center; padding: 3px 11px; border: 1px solid color-mix(in srgb, var(--wk-c) 50%, transparent); border-radius: var(--nw-radius-pill); background: color-mix(in srgb, var(--wk-c) 16%, transparent); color: color-mix(in srgb, var(--wk-c) 60%, #fff); font-size: 12px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.wk-badge.is-new { --wk-c: var(--nw-success); }
.wk-badge.is-updated { --wk-c: var(--nw-info); }
.wk-badge.is-important { --wk-c: var(--nw-danger); }
.wk-badge.is-wip { --wk-c: var(--nw-warning); }
.wk-nav-badge { flex: none; width: 7px; height: 7px; border-radius: 50%; background: var(--nw-success); box-shadow: 0 0 8px var(--nw-success); }
.wk-nav-badge.is-updated { background: var(--nw-info); box-shadow: 0 0 8px var(--nw-info); }
.wk-nav-badge.is-important { background: var(--nw-danger); box-shadow: 0 0 8px var(--nw-danger); }
.wk-banner { margin: 0 0 var(--nw-sp-4); }
.wk-banner .wk-hint { margin: 0; }
.wk-hint-title { margin: 0 0 .3em !important; color: var(--nw-text); font-weight: 800; }
.wk-quote cite { display: block; margin-top: .4em; font-size: 13.5px; font-style: normal; color: var(--nw-text-faint); }

/* ---------- Barème des sanctions ---------- */
.wk-scale { overflow: hidden; border: 1px solid var(--nw-border-soft); border-radius: var(--nw-radius); background: var(--nw-glass); }
.wk-scale-head, .wk-scale-row { display: grid; grid-template-columns: minmax(0, 1.4fr) 120px minmax(0, 1fr); gap: var(--nw-sp-3); align-items: center; padding: 10px var(--nw-sp-4); }
.wk-scale-head { background: rgba(var(--st-rgb, 168, 85, 247), .12); font-size: 11.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--nw-text); }
.wk-scale-row { --wk-c: var(--nw-info); position: relative; border-top: 1px solid var(--nw-hairline); font-size: 14.5px; }
.wk-scale-row::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--wk-c); }
.wk-scale-row.is-medium { --wk-c: var(--nw-warning); }
.wk-scale-row.is-major { --wk-c: #f97316; }
.wk-scale-row.is-critical { --wk-c: var(--nw-danger); }
.wk-scale-row:hover { background: rgba(255, 255, 255, .025); }
.wk-scale-what { color: var(--nw-text); font-weight: 600; }
.wk-scale-sanction { color: var(--nw-text-dim); }

/* ---------- Autorisé / interdit ---------- */
.wk-dodont { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: var(--nw-sp-3); }
.wk-dodont section { --wk-c: var(--nw-success); padding: var(--nw-sp-3) var(--nw-sp-4); border: 1px solid color-mix(in srgb, var(--wk-c) 30%, transparent); border-radius: var(--nw-radius); background: color-mix(in srgb, var(--wk-c) 7%, transparent); }
.wk-dodont section.is-no { --wk-c: var(--nw-danger); }
.wk-dodont h4 { display: flex; align-items: center; gap: 8px; margin: 0 0 var(--nw-sp-2); color: var(--nw-text); font-size: 15px; font-weight: 800; }
.wk-dodont h4 svg { width: 20px; height: 20px; padding: 3px; border-radius: 50%; background: var(--wk-c); color: #fff; }
.wk-dodont ul { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.wk-dodont li { position: relative; padding-left: 18px; line-height: 1.55; }
.wk-dodont li::before { content: ''; position: absolute; left: 2px; top: .62em; width: 7px; height: 7px; border-radius: 50%; background: var(--wk-c); }

/* ---------- Lexique ---------- */
.wk-glossary { display: grid; gap: 0; margin: 0; border: 1px solid var(--nw-border-soft); border-radius: var(--nw-radius); overflow: hidden; }
.wk-term { display: grid; grid-template-columns: minmax(120px, 220px) minmax(0, 1fr); gap: var(--nw-sp-4); padding: 11px var(--nw-sp-4); scroll-margin-top: 90px; }
.wk-term + .wk-term { border-top: 1px solid var(--nw-hairline); }
.wk-term:target { background: rgba(var(--st-rgb, 168, 85, 247), .1); }
.wk-term dt { color: var(--nw-primary-light); font-weight: 800; }
.wk-term dd { margin: 0; }

/* ---------- Colonnes et bouton ---------- */
.wk-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--nw-sp-5); }
.wk-cols.is-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.wk-cols.is-1 { grid-template-columns: 1fr; }
.wk-col h4 { margin: 0 0 6px; color: var(--nw-text); font-size: 16px; font-weight: 800; }
.wk-cta { margin: 0; }
.wk-cta.is-center { text-align: center; }
.wk-content .wk-btn { display: inline-flex; align-items: center; gap: 10px; padding: 11px 20px; border: 1px solid transparent; border-radius: var(--nw-radius-sm); color: #fff; font-weight: 700; text-decoration: none; transition: transform var(--nw-fast), box-shadow var(--nw-fast), background var(--nw-fast); }
.wk-btn svg { width: 16px; height: 16px; transition: transform var(--nw-fast); }
.wk-btn:hover svg { transform: translateX(3px); }
.wk-btn.is-primary { background: var(--nw-gradient); box-shadow: var(--nw-glow); }
.wk-btn.is-primary:hover { transform: translateY(-2px); }
.wk-btn.is-outline { border-color: var(--nw-border-strong); background: var(--nw-glass); color: var(--nw-text); }
.wk-btn.is-outline:hover { border-color: var(--nw-primary); }
.wk-btn.is-discord { background: #5865f2; box-shadow: 0 6px 24px rgba(88, 101, 242, .35); }
.wk-btn.is-discord:hover { background: #4752c4; transform: translateY(-2px); }

/* ---------- Étiquette d'article, récidive, vidéo ---------- */
.wk-flag { flex: none; padding: 2px 9px; border-radius: var(--nw-radius-pill); background: var(--nw-success); color: #052e13; font-size: 10.5px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; box-shadow: 0 0 12px color-mix(in srgb, var(--nw-success) 50%, transparent); }
.wk-flag.is-updated { background: var(--nw-info); color: #04203a; box-shadow: 0 0 12px color-mix(in srgb, var(--nw-info) 50%, transparent); }
.wk-scale.has-repeat .wk-scale-head, .wk-scale.has-repeat .wk-scale-row { grid-template-columns: minmax(0, 1.3fr) 120px minmax(0, 1fr) minmax(0, 1fr); }
.wk-scale-repeat { color: var(--nw-text-faint); font-size: 13.5px; }
.wk-scale-repeat i { display: none; font-style: normal; }
.wk-video-frame { position: relative; aspect-ratio: 16 / 9; overflow: hidden; border: 1px solid var(--nw-border-soft); border-radius: var(--nw-radius); background: #000; }
.wk-video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* ---------- Infobulles du lexique ---------- */
.wk-content a.wk-gl { position: relative; color: inherit; text-decoration: underline dotted; text-decoration-color: var(--nw-primary-light); text-underline-offset: 4px; cursor: help; }
.wk-content a.wk-gl:hover { color: var(--nw-primary-light); }
.wk-gl::after {
    content: attr(data-tip);
    position: absolute; left: 50%; bottom: calc(100% + 8px); z-index: 40;
    width: max-content; max-width: 280px; padding: 8px 11px;
    border: 1px solid var(--nw-border-strong); border-radius: 9px;
    background: var(--nw-bg-elev-2); box-shadow: var(--nw-shadow-lg);
    color: var(--nw-text); font-size: 12.5px; font-weight: 500; line-height: 1.45; text-align: left; white-space: normal;
    opacity: 0; pointer-events: none; transform: translate(-50%, 4px);
    transition: opacity var(--nw-fast), transform var(--nw-fast);
}
.wk-gl:hover::after, .wk-gl:focus-visible::after { opacity: 1; transform: translate(-50%, 0); }

/* ---------- Mis à jour récemment, impression, notification ---------- */
.wk-recent { margin-top: var(--nw-sp-5); }
.wk-recent .wk-group-title { display: flex; align-items: center; gap: 6px; }
.wk-recent .wk-group-title svg { width: 13px; height: 13px; color: var(--nw-success); }
.wk-recent a { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; padding: 5px 10px; border-radius: var(--nw-radius-sm); color: var(--nw-text-dim); font-size: 13px; text-decoration: none; }
.wk-recent a:hover { background: var(--nw-glass-hover); color: var(--nw-text); }
.wk-recent span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wk-recent time { flex: none; font-size: 11px; color: var(--nw-success); }
.wk-meta-btn { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border: 1px solid var(--nw-border-soft); border-radius: var(--nw-radius-pill); background: var(--nw-glass); color: var(--nw-text-faint); font: inherit; font-size: 12px; cursor: pointer; }
.wk-meta-btn:hover { border-color: var(--nw-border-strong); color: var(--nw-text); }
.wk-meta-btn svg { width: 13px; height: 13px; }
.wk-notice { position: fixed; left: 50%; bottom: 24px; z-index: 250; padding: 9px 16px; border: 1px solid var(--nw-border-strong); border-radius: var(--nw-radius-pill); background: var(--nw-bg-elev-2); box-shadow: var(--nw-shadow-lg); color: var(--nw-text); font-size: 13.5px; transform: translateX(-50%); animation: wk-pop .2s var(--nw-ease); }
@keyframes wk-pop { from { opacity: 0; transform: translate(-50%, 8px); } }

/* ---------- Quiz ---------- */
.wk-quiz { overflow: hidden; border: 1px solid var(--nw-border); border-radius: var(--nw-radius-lg); background: radial-gradient(80% 60% at 0% 0%, rgba(var(--st-rgb, 168, 85, 247), .14), transparent 70%), var(--nw-glass); }
.wk-quiz > header { display: flex; align-items: center; gap: 10px; padding: var(--nw-sp-3) var(--nw-sp-4); border-bottom: 1px solid var(--nw-hairline); }
.wk-quiz > header b { flex: 1; color: var(--nw-text); font-family: var(--nw-font-display); font-size: 17px; font-weight: 900; }
.wk-quiz-ico { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 10px; background: var(--nw-gradient); color: #fff; box-shadow: var(--nw-glow); }
.wk-quiz-ico svg { width: 18px; height: 18px; }
.wk-quiz-score { padding: 3px 11px; border-radius: var(--nw-radius-pill); background: rgba(var(--st-rgb, 168, 85, 247), .18); font-family: var(--nw-font-mono); font-size: 13px; font-weight: 700; color: var(--nw-primary-light); }
.wk-quiz-q { padding: var(--nw-sp-4); }
.wk-quiz-q + .wk-quiz-q { border-top: 1px solid var(--nw-hairline); }
.wk-quiz-title { display: flex; gap: 10px; margin: 0 0 var(--nw-sp-3); color: var(--nw-text); font-weight: 700; }
.wk-quiz-title i { flex: none; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: rgba(var(--st-rgb, 168, 85, 247), .2); font-family: var(--nw-font-mono); font-size: 12px; font-style: normal; color: var(--nw-primary-light); }
.wk-quiz-choices { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); gap: 8px; }
.wk-quiz-choices button { padding: 10px 14px; border: 1px solid var(--nw-border-soft); border-radius: var(--nw-radius-sm); background: rgba(255, 255, 255, .03); color: var(--nw-text-dim); font: inherit; font-size: 14.5px; text-align: left; cursor: pointer; transition: border-color var(--nw-fast), background var(--nw-fast), transform var(--nw-fast); }
.wk-quiz-choices button:hover:not(:disabled) { border-color: var(--nw-primary); background: rgba(var(--st-rgb, 168, 85, 247), .1); color: var(--nw-text); transform: translateY(-1px); }
.wk-quiz-choices button:disabled { cursor: default; opacity: .55; }
.wk-quiz-choices button.is-good { border-color: var(--nw-success); background: color-mix(in srgb, var(--nw-success) 16%, transparent); color: var(--nw-text); opacity: 1; }
.wk-quiz-choices button.is-good::before { content: '✓ '; color: var(--nw-success); font-weight: 900; }
.wk-quiz-choices button.is-bad { border-color: var(--nw-danger); background: color-mix(in srgb, var(--nw-danger) 14%, transparent); color: var(--nw-text); opacity: 1; animation: wk-shake .35s; }
.wk-quiz-choices button.is-bad::before { content: '✗ '; color: var(--nw-danger); font-weight: 900; }
@keyframes wk-shake { 25% { transform: translateX(-4px); } 75% { transform: translateX(4px); } }
.wk-quiz-why { margin-top: var(--nw-sp-3); padding: 10px 14px; border-left: 3px solid var(--nw-primary); border-radius: 0 var(--nw-radius-sm) var(--nw-radius-sm) 0; background: rgba(var(--st-rgb, 168, 85, 247), .07); font-size: 14px; }
.wk-quiz > footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; padding: var(--nw-sp-3) var(--nw-sp-4); border-top: 1px solid var(--nw-hairline); background: rgba(var(--st-rgb, 168, 85, 247), .08); color: var(--nw-text); font-weight: 700; }
.wk-quiz > footer[hidden] { display: none; }
.wk-quiz > footer button { padding: 7px 14px; border: 1px solid var(--nw-border-strong); border-radius: var(--nw-radius-sm); background: none; color: var(--nw-text); font: inherit; font-size: 13px; cursor: pointer; }
.wk-quiz > footer button:hover { border-color: var(--nw-primary); }

/* ---------- Depuis ta dernière visite, barre de lecture ---------- */
.wk-nav-fresh { flex: none; padding: 1px 5px; border-radius: 4px; background: var(--nw-success); color: #052e13; font-size: 9px; font-style: normal; font-weight: 900; letter-spacing: .06em; }
.wk-fresh { display: flex; align-items: center; gap: 8px; margin: 0 0 var(--nw-sp-3); padding: 8px 12px; border: 1px solid color-mix(in srgb, var(--nw-success) 35%, transparent); border-radius: var(--nw-radius-sm); background: color-mix(in srgb, var(--nw-success) 8%, transparent); font-size: 13.5px; color: var(--nw-text-dim); }
.wk-fresh svg { width: 16px; height: 16px; flex: none; color: var(--nw-success); }
.wk-fresh b { color: var(--nw-text); }
.wk-progress { position: fixed; left: 0; right: 0; top: var(--wk-top, 73px); z-index: 60; height: 2px; pointer-events: none; }
.wk-progress i { display: block; height: 100%; background: var(--nw-gradient); box-shadow: var(--nw-glow); transform: scaleX(0); transform-origin: 0 50%; }

@media print {
    .wk-progress, .wk-fresh, .wk-quiz { display: none !important; }
    body { background: #fff !important; color: #111 !important; }
    .nw-aurora, .nw-space-bar, .wk-side, .wk-toc, .wk-pager, .wk-mobilebar, .wk-meta-btn, .wk-anchor, .wk-foot a, .wk-search, .wk-notice, [data-legal], .wk-video { display: none !important; }
    .wk-shell { display: block; max-width: none; padding: 0; }
    .wk-main { padding: 0; }
    .wk-content, .wk-desc, .wk-md, .wk-head h1, .wk-rule h2, .wk-h, .wk-md b, .wk-scale-what, .wk-term dd { color: #111 !important; }
    .wk-rule, .wk-hint, .wk-scale, .wk-dodont section, .wk-det, .wk-tabs, .wk-glossary, .wk-table-wrap, .wk-card { break-inside: avoid; border-color: #bbb !important; background: none !important; box-shadow: none !important; }
    .wk-tabs-bar { display: none; }
    .wk-tab-panel[hidden] { display: block !important; }
    .wk-gl::after { display: none; }
    a { color: #111 !important; text-decoration: none !important; }
}

/* ---------- Écrans étroits ---------- */
@media (max-width: 1180px) {
    .wk-shell { grid-template-columns: 260px minmax(0, 1fr); }
    .wk-toc { display: none; }
}
@media (max-width: 860px) {
    .wk-shell { grid-template-columns: minmax(0, 1fr); padding: 0 var(--nw-sp-4); }
    .wk-searchbtn { min-width: 0; }
    .wk-searchbtn span, .wk-searchbtn kbd { display: none; }
    .wk-side {
        position: fixed; inset: 0 auto 0 0; z-index: 150;
        width: min(320px, 86vw); max-height: none;
        padding: var(--nw-sp-4);
        border-right: 1px solid var(--nw-border);
        background: var(--nw-bg-alt);
        box-shadow: var(--nw-shadow-lg);
        transform: translateX(-105%);
        transition: transform var(--nw-base) var(--nw-ease);
    }
    .wk-page.is-menu .wk-side { transform: none; }
    .wk-side-close { display: inline-flex; }
    .wk-scrim { position: fixed; inset: 0; z-index: 140; background: rgba(4, 2, 10, .6); }
    .wk-mobilebar { position: sticky; top: var(--wk-top, 64px); z-index: 30; display: flex; align-items: center; gap: var(--nw-sp-2); margin: 0 calc(-1 * var(--nw-sp-4)) var(--nw-sp-4); padding: 8px var(--nw-sp-4); border-bottom: 1px solid var(--nw-border-soft); background: rgba(12, 7, 24, .86); backdrop-filter: blur(var(--nw-blur)); -webkit-backdrop-filter: blur(var(--nw-blur)); font-size: 14px; color: var(--nw-text-dim); }
    .wk-mobilebar b { overflow: hidden; color: var(--nw-text); text-overflow: ellipsis; white-space: nowrap; }
    .wk-main { padding-top: 0; }
    .wk-head-ico { width: 44px; height: 44px; font-size: 22px; }
    .wk-rule { padding: var(--nw-sp-4); }
    .wk-tab-panel { padding: var(--nw-sp-4); }
    .wk-art { padding-left: 0; }
    .wk-art + ul, .wk-art + ol { margin-left: 0; }
    .wk-artnum { position: static; display: inline-block; min-width: 0; margin-right: 4px; }
    .wk-scale-head { display: none; }
    .wk-scale-row { grid-template-columns: 1fr auto; gap: 4px var(--nw-sp-3); }
    .wk-scale-sanction, .wk-scale-repeat { grid-column: 1 / -1; font-size: 13.5px; }
    .wk-scale.has-repeat .wk-scale-row { grid-template-columns: 1fr auto; }
    .wk-scale-repeat i { display: inline; }
    .wk-scale-repeat:empty { display: none; }
    .wk-term { grid-template-columns: 1fr; gap: 2px; }
    .wk-cols, .wk-cols.is-3 { grid-template-columns: 1fr; }
    .wk-rule header { flex-wrap: wrap; }
}
@media (max-width: 560px) {
    .wk-page .sp-bar-nav { display: none; }
    .wk-pager { grid-template-columns: 1fr; }
    .wk-pager a.is-next { grid-column: 1; }
}
@media (prefers-reduced-motion: reduce) {
    .wk-card, .wk-card-cover img, .wk-side, .wk-pager a { transition: none; }
}
