/* En-tête commun à toutes les pages de l'app (blanc, filet jaune CNB) */
[hidden]{display:none!important}
header.top{position:sticky;top:0;z-index:20;display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:12px;margin:0;
  background:#FFFFFF;color:#14164A;padding:calc(8px + env(safe-area-inset-top,0px)) 16px 8px;border-bottom:3px solid #E4D102;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;line-height:1.3}
header.top img{width:40px;height:40px;flex:none;display:block}
header.top a{display:flex;color:inherit;text-decoration:none}
header.top .ttl{display:flex;flex-direction:column;min-width:0}
header.top .ttl b{font-size:17px;font-weight:650;letter-spacing:.1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
header.top .ttl span{font-size:12.5px;color:#4B4F78;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
header.top .back{background:none;border:0;padding:8px;margin:-8px -4px -8px -8px;display:flex;align-items:center;color:#14164A;cursor:pointer;font:inherit}
header.top .back[hidden]{display:none}
header.top .back svg{width:24px;height:24px}
/* Crédit en bas de toutes les pages */
footer.credit{max-width:760px;margin:28px auto 0;padding:14px 16px 6px;border-top:1px solid #E3E4EE;text-align:center;
  font:12px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:#7A7D9C}
footer.credit b{font-weight:600;color:#4B4F78}
footer.credit a{color:#4B4F78;font-weight:600;text-decoration:none;border-bottom:1px solid #E4D102}
footer.credit .sep{margin:0 6px;color:#C4C6D6}
footer.credit .nw{display:inline-block;white-space:nowrap}
@media (max-width:520px){footer.credit .sep{display:none}footer.credit .nw{display:block}}
footer.credit .cr{display:block;margin-top:4px;color:#9A9CB5}
footer.credit details.priv{margin-top:6px}
footer.credit details.priv summary{display:inline;cursor:pointer;color:#4B4F78;font-weight:600;list-style:none;border-bottom:1px solid #E4D102}
footer.credit details.priv summary::-webkit-details-marker{display:none}
footer.credit details.priv>div{text-align:left;max-width:560px;margin:10px auto 0;padding:12px 14px;background:#F6F7FB;border:1px solid #E3E4EE;border-radius:10px;color:#4B4F78;font-size:13px;line-height:1.5}
footer.credit details.priv p{margin:0 0 8px;max-width:none}
footer.credit details.priv p:last-child{margin:0}
footer.credit details.priv b{color:#14164A}

/* ===== Sommaire des cas (commun à toutes les rubriques) ===== */
.toc-head{margin:2px 0 14px}
.toc-head p{margin:0;font-size:15px;color:#4B4F78;line-height:1.45}
.toc-head .cnt{margin-top:6px;font-size:12.5px;color:#4B4F78}
.toc-head .cnt b{color:#14164A}
.toc-g{margin:0 0 18px}
.toc-g>h2{display:flex;align-items:center;gap:10px;margin:0 0 8px;font:700 12.5px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:.6px;text-transform:uppercase;color:#4B4F78}
.toc-g>h2::after{content:"";flex:1;height:1px;background:#DCDFEC}
.toc-l{border:1px solid #DCDFEC;border-radius:14px;overflow:hidden;background:#FFFFFF}
.toc-i{display:flex;align-items:center;gap:10px;width:100%;min-height:52px;padding:11px 12px 11px 14px;border:0;border-top:1px solid #ECEDF4;background:#FFFFFF;color:#14164A;text-align:left;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent;
  font:550 15.5px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;border-radius:0;box-shadow:none}
.toc-i:first-child{border-top:0}
.toc-i:active{background:#F2F3F8}
@media (hover:hover){.toc-i:hover{background:#F7F8FC}}
.toc-i .n{flex:1;min-width:0}
.toc-i .n small{display:block;margin-top:2px;font-size:12px;font-weight:600;color:#9A7F00;letter-spacing:.2px}
.tg{display:inline-block;flex:none;font:600 11.5px/1.2 ui-monospace,"SF Mono",Menlo,Consolas,monospace;padding:4px 7px;border-radius:6px;background:#F2F3F8;color:#4B4F78;white-space:nowrap}
.tg.new{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-weight:700;font-size:10.5px;letter-spacing:.4px;text-transform:uppercase;background:#E4D102;color:#14164A}
.toc-i .st{flex:none;width:20px;height:20px;display:grid;place-items:center;color:#B4B7CB}
.toc-i .st svg{width:18px;height:18px}
.toc-i.seen .st{color:#17866A}
.toc-i.seen .n{color:#3A3D66;font-weight:500}
.toc-i.last{background:#FFFBE0;box-shadow:inset 4px 0 0 #E4D102}
.toc-i.cur{background:#14164A;color:#FFFFFF;box-shadow:inset 4px 0 0 #E4D102}
.toc-i.cur .n{color:#FFFFFF}
.toc-i.cur .tg{background:rgba(255,255,255,.14);color:#FFFFFF}
.toc-i.cur .st{color:#E4D102}
@media (max-width:420px){.toc-i .tg{max-width:38vw;overflow:hidden;text-overflow:ellipsis}}

/* En-tête d'un cas : fil d'Ariane, titre, étiquettes */
.crumb{display:inline-block;margin:0 0 6px;padding:0;border:0;background:none;cursor:pointer;text-decoration:none;
  font:600 12.5px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:.3px;text-transform:uppercase;color:#4B4F78;text-align:left}
.crumb svg{width:14px;height:14px;vertical-align:-2px;margin-right:4px}
.crumb i{font-style:normal;color:#B4B7CB;margin:0 6px}
.crumb:hover b{text-decoration:underline}
.crumb b{font-weight:700;color:#14164A}
h1.case{margin:0 0 6px;font:700 21px/1.25 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:#14164A;letter-spacing:-.1px}
.case-tags{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.case-tags .tg{font-size:12px}

/* Barre du bas : noms des cas voisins */
.bar .nb{display:flex;align-items:stretch;gap:8px;max-width:728px;margin:0 auto;width:100%}
.bar .nb button{flex:1 1 0;min-width:0;height:auto;min-height:54px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1px;padding:6px 12px;border-radius:12px;text-align:left;border:1px solid #DCDFEC;background:#FFFFFF;color:#14164A;box-shadow:none}
.bar .nb button.next{align-items:flex-end;text-align:right;background:#14164A;border-color:#14164A;color:#FFFFFF}
.bar .nb button small{font:600 11px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;letter-spacing:.4px;text-transform:uppercase;opacity:.7}
.bar .nb button span{font:600 14px/1.25 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:100%}
.bar .nb button.toc-b{flex:0 0 54px;padding:0;align-items:center;justify-content:center;background:#F2F3F8;border-color:#F2F3F8;color:#14164A}
.bar .nb button.toc-b svg{width:22px;height:22px}
.bar .nb button[disabled]{visibility:hidden}

/* Grand écran : le sommaire reste à gauche du cas */
.side-toc{display:none}
@media (min-width:1100px){
  .with-side{display:grid;grid-template-columns:300px minmax(0,1fr);gap:28px;align-items:start}
  .with-side .side-toc{display:block;position:sticky;top:76px;max-height:calc(100vh - 170px);overflow:auto;padding-right:4px}
  .side-toc .toc-g{margin-bottom:14px}
  .side-toc .toc-i{min-height:42px;padding:8px 10px;font-size:14px}
  .side-toc .tg{font-size:10.5px;padding:3px 5px}
}
@media (min-width:1100px){.side-toc .tg:not(.new){display:none}}
/* Barre du bas des pages de tactique */
.bar.tbar{position:fixed;left:0;right:0;bottom:0;z-index:30;background:#FFFFFF;border-top:1px solid #DCDFEC;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px))}
.wrap.in-case ~ footer.credit{margin-bottom:calc(84px + env(safe-area-inset-bottom,0px))}
.chead{margin:0 0 2px}
@media (min-width:1100px){.wrap.in-case{max-width:1440px}}
/* Swiss Sailing System : pastilles de niveau */
.sss-b{font-style:normal;display:inline-flex;align-items:center;justify-content:center;flex:none;border-radius:50%;background:var(--c);font-weight:800;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;line-height:1;box-shadow:inset 0 0 0 2px rgba(255,255,255,.55),0 0 0 1px rgba(20,22,74,.12)}
.sss-wrap{max-width:760px;margin:24px auto 0;padding:0 16px}
.sss-foot{display:flex;align-items:center;gap:12px;margin:22px 0 0;padding:12px 14px;border:1px solid #E3E4EE;border-radius:14px;background:#fff;text-decoration:none;color:#14164A}
.sss-foot:hover{border-color:#C9CCE0}
.sss-bs{display:flex;gap:4px}
.sss-t{display:flex;flex-direction:column;gap:1px;min-width:0}
.sss-t small{font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#6B6F94}
.sss-t b{font-size:15px}
.sss-t span{font-size:13px;color:#4B4F78}
.sss-mini{font-style:normal;display:inline-flex!important;gap:3px;vertical-align:middle;margin-left:6px}
.sss-card{background:#fff;border:1px solid #E3E4EE;border-radius:16px;padding:14px 16px}
.sss-card p{margin:0 0 10px;font-size:14.5px;line-height:1.5;color:#2B2E5C}
.sss-lv{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:8px}
.sss-lv li{display:flex;align-items:center;gap:10px}
.sss-lv li span{display:flex;flex-direction:column}
.sss-lv b{font-size:14px;color:#14164A}
.sss-lv small{font-size:12.5px;color:#6B6F94}
.sss-links{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0!important}
.sss-links a{font-size:13.5px;font-weight:600;color:#14164A;text-decoration:none;border-bottom:1px solid #E4D102}
.sec.part{font-size:15px;color:#14164A;margin-top:30px}
.sec.sub{margin-left:12px}
.sss-card summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;font-size:14.5px;line-height:1.5;color:#2B2E5C}
.sss-card summary::-webkit-details-marker{display:none}
.sss-more{margin-left:auto;flex:none;font-size:12.5px;font-weight:700;color:#14164A;border:1px solid #DCDFEC;border-radius:999px;padding:3px 10px}
.sss-more::after{content:" ▾"}
.sss-card[open] .sss-more::after{content:" ▴"}
.sss-card[open] summary{margin-bottom:10px}
.lv{display:inline-flex;gap:3px;flex:none;vertical-align:middle}
.toc-i .lv{margin-right:2px}
h1.case .lv,.step .head h2 .lv{margin:0 10px 3px 0}
