/* ===== KA Nav v2 — menu mobile plein écran (standard 2026-08-25) ===== Panneau en position:fixed inset:0 → toujours visible, peu importe le scroll. Thémé par les tokens de l'app : --paper --ink --ink-2 --ink-3 --accent --on-accent --font-display --font-mono --z-modal. Préfixe ka-mnav (zéro collision). */ /* bouton hamburger (masqué en desktop) */ .ka-mnav-btn{display:none;width:44px;height:44px;margin-left:auto;flex:none; flex-direction:column;align-items:center;justify-content:center;gap:5px; background:var(--paper);border:1.5px solid var(--ink);border-radius:999px; cursor:pointer;padding:0} .ka-mnav-btn span{display:block;width:18px;height:2px;background:var(--ink); border-radius:2px;transition:transform .18s ease,opacity .14s ease} .ka-mnav-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)} .ka-mnav-btn[aria-expanded="true"] span:nth-child(2){opacity:0} .ka-mnav-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)} /* panneau plein écran */ .ka-mnav{position:fixed;inset:0;z-index:var(--z-modal,900);background:var(--paper); display:none;flex-direction:column;overflow-y:auto;overscroll-behavior:contain} .ka-mnav.open{display:flex;animation:ka-mnav-in .16s ease} @keyframes ka-mnav-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}} .ka-mnav-top{display:flex;align-items:center;justify-content:space-between;flex:none; min-height:64px;padding:0 18px;border-bottom:2px solid var(--ink);background:var(--paper)} .ka-mnav-close{width:44px;height:44px;flex:none;display:flex;align-items:center; justify-content:center;border:1.5px solid var(--ink);border-radius:999px; background:var(--ink);color:var(--accent,var(--paper));font-size:17px;font-weight:700; font-family:var(--font-display,inherit);cursor:pointer;padding:0;line-height:1} .ka-mnav-links{display:flex;flex-direction:column;justify-content:center;flex:1; padding:28px 24px} .ka-mnav-links a{display:flex;align-items:baseline;gap:14px;padding:17px 0; border-bottom:1.5px dashed color-mix(in srgb,var(--ink) 18%,transparent); text-decoration:none;color:var(--ink)} .ka-mnav-links a:last-child{border-bottom:0} .ka-mnav-links a i{font-style:normal;font-family:var(--font-mono,monospace); font-size:12px;font-weight:700;color:var(--accent-deep,var(--ink-3,#777))} .ka-mnav-links a b{font-family:var(--font-display,inherit);font-weight:700; font-size:27px;line-height:1;letter-spacing:-.03em;text-transform:uppercase} .ka-mnav-links a.active b{background:var(--ink);color:var(--accent,var(--paper)); border-radius:6px;padding:4px 10px 6px} .ka-mnav-foot{flex:none;border-top:2px solid var(--ink);padding:16px 24px; padding-bottom:max(20px,env(safe-area-inset-bottom))} .ka-mnav-foot .ka-mnav-sec{display:flex;flex-wrap:wrap;gap:6px 20px;margin-top:12px; font-family:var(--font-mono,monospace);font-size:10.5px;text-transform:uppercase; letter-spacing:.06em} .ka-mnav-foot .ka-mnav-sec a{color:var(--ink-3,var(--ink));text-decoration:none} /* verrou de scroll quand le panneau est ouvert */ html.ka-menu-locked,html.ka-menu-locked body{overflow:hidden} /* bascule mobile : masquer la nav inline, montrer le hamburger. ⚠️ PAR APP : remplacer `.nav` par le sélecteur réel de la nav desktop. */ @media(max-width:760px){ .ka-mnav-btn{display:flex} }